/* =========================================================
   MGM HOMEPAGE MASTER BASELINE v1.0
   APPROVED — DO NOT MODIFY WITHOUT EXPLICIT AUTHORIZATION
   Componenti protetti: header, nav, dropdown, lingua,
   Area Riservata, footer, tipografia globale, colori, griglia.
   ========================================================= */
/* ══ MGM CAPE VERDE — MASTER STYLESHEET v4.16 · fonte unica autorevole ══ */

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --dark: #1B1B1A;
    --dark2: #22211F;
    --dark3: #2B2925;
    --light: #F7F5F1;
    --ivory2: #F2EFE8;
    --ivory3: #E9E4D8;
    --mustard: #C6A75E;
    --mustard-light: #B9953F;
    --text-dark: #1B1B1A;
    --text-muted: #7A766E;
    --text-muted2: #6E6A63;
    --border-light: #E9E4D8;
    --border-dark: #3A3833;
  }
  html { scroll-behavior: smooth; }
  /* ── FOCUS & ACCESSIBILITY ── */
  a:focus-visible, button:focus-visible { outline: 2px solid var(--mustard); outline-offset: 3px; }

/* ══ HEADER MASTER v4.20 — implementazione unica, scope .site-header ══ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--dark);border-bottom:1px solid #262523}
.header-inner{max-width:1720px;margin:0 auto;height:72px;padding:0 40px;display:flex;align-items:center;gap:32px}
.header-logo{display:flex;align-items:center;flex:0 0 auto}
.header-logo img{height:34px;width:auto;display:block}
.header-navigation{flex:1 1 auto;display:flex;justify-content:center}
.header-menu{display:flex;align-items:center;gap:clamp(22px,1.8vw,28px);list-style:none;margin:0;padding:0}
.header-menu>li{position:relative;display:flex;align-items:center}
.header-menu>li>a{font-size:14px;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;color:#B7B2A8;text-decoration:none;padding:6px 0;transition:color .2s ease;white-space:nowrap}
.header-menu>li>a:hover,.header-menu>li:focus-within>a{color:var(--light)}
.header-menu>li>a.active{color:var(--light);font-weight:600;border-bottom:2px solid var(--mustard);padding-bottom:4px}
.dropdown-toggle{background:none;border:none;color:var(--mustard);font-size:11px;cursor:pointer;padding:6px 2px;display:none;min-width:44px;min-height:44px}
.dropdown{display:none;position:absolute;top:calc(100% + 20px);left:-20px;background:var(--dark2);border:1px solid #33312D;min-width:230px;list-style:none;margin:0;padding:8px 0;z-index:1001}
.dropdown::before{content:'';position:absolute;top:-21px;left:0;right:0;height:21px}
.dropdown a{display:block;padding:12px 22px;font-size:14px;font-weight:500;letter-spacing:0.02em;color:#CFCAC0;text-decoration:none;line-height:1.5;white-space:nowrap}
.dropdown a:hover{color:var(--mustard);background:var(--dark)}
.dropdown a.active{color:var(--mustard);font-weight:600}
.header-menu>li.has-dropdown:hover>.dropdown,.header-menu>li.has-dropdown:focus-within>.dropdown{display:block}
.menu-reserved{display:none}
.header-actions{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.language-selector{position:relative}
.language-toggle{height:38px;padding:0 14px;background:transparent;border:1px solid #4A4740;color:#CFCAC0;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:500;letter-spacing:0.04em;cursor:pointer;display:flex;align-items:center;gap:7px}
.language-toggle:hover{border-color:var(--mustard);color:var(--light)}
.language-menu{display:none;position:absolute;top:calc(100% + 10px);right:0;background:var(--dark2);border:1px solid #33312D;min-width:190px;padding:6px 0;z-index:1001}
.language-selector.open .language-menu{display:block}
.language-menu a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 18px;font-size:14px;color:#CFCAC0;text-decoration:none}
.language-menu a:hover{color:var(--mustard);background:var(--dark)}
.language-menu a.active{color:var(--mustard);font-weight:600}
.language-menu a.soon{color:#6E6A63;cursor:default}
.language-menu a.soon span{font-size:12px;letter-spacing:0.1em;color:#6E6A63}
.reserved-area{height:38px;display:flex;align-items:center;padding:0 18px;border:1px solid rgba(247,245,241,0.5);color:var(--light);font-size:13px;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:all .2s ease}
.reserved-area:hover{border-color:var(--mustard);color:var(--mustard)}
.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:10px;min-width:44px;min-height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.mobile-menu-toggle span{display:block;width:22px;height:2px;background:var(--light);transition:transform .25s ease,opacity .25s ease}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1279px){
.header-inner{gap:22px;padding:0 32px}
.header-menu{gap:20px}
.header-menu>li>a{font-size:13px}
}
@media(max-width:1179px){
.header-inner{padding:0 22px}
.header-navigation{position:fixed;top:72px;left:0;right:0;bottom:auto;max-height:calc(100svh - 72px);overflow-y:auto;background:var(--dark);border-bottom:1px solid #262523;display:none}
.header-navigation.open{display:block}
.header-menu{flex-direction:column;align-items:stretch;gap:0;padding:8px 0 16px}
.header-menu>li{width:100%;flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,0.06)}
.header-menu>li>a{font-size:16px;padding:0 24px;min-height:52px;display:inline-flex;align-items:center;flex:1}
.header-menu>li>a.active{border-bottom:none;color:var(--mustard)}
.dropdown-toggle{display:flex;align-items:center;justify-content:center;font-size:14px}
.dropdown{position:static;display:none;border:none;background:rgba(255,255,255,0.03);min-width:0;width:100%;padding:0 0 8px}
.dropdown::before{display:none}
.header-menu>li.open>.dropdown{display:block}
.dropdown a{padding:13px 44px;font-size:15px;min-height:44px;display:flex;align-items:center}
.menu-reserved{display:block}
.menu-reserved>a{color:var(--mustard)}
.reserved-area{display:none}
.mobile-menu-toggle{display:flex}
}
@media(max-width:430px){
.header-inner{padding:0 16px}
.language-toggle{height:36px;padding:0 11px}
}

  .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }body { font-family: 'Montserrat', sans-serif; background: var(--dark); color: var(--light); overflow-x: hidden; overflow-wrap: break-word; }

  /* ── NAVBAR ── */

  /* ── SECTION LABEL ── */
  .section-label {
    display: flex; align-items: center; gap: 12px;
    font-size: 12px; font-weight: 600; color: var(--mustard);
    letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 32px;
  }
  .section-label::before { content: ''; display: block; width: 32px; height: 1px; background: var(--mustard); }

  /* ── HERO ── */
  .hero { min-height: 78svh; position: relative; display: flex; flex-direction: column; justify-content: flex-end;
    padding: 88px 80px 48px;
    background: var(--dark);
    overflow: hidden;
  }
  .hero-bg { position: absolute; inset: 0; z-index: 0; filter: grayscale(100%) brightness(0.78); }
  .hero-overlay { position: absolute; inset: 0; background: rgba(27,27,26,0.62); z-index: 1; }
  .hero-content { position: relative; z-index: 2; max-width: 700px; }
  .hero-geo {
    display: flex; align-items: center; gap: 12px; margin-bottom: 18px;
    font-size: 12px; font-weight: 500; color: #B3AEA3; letter-spacing: 0.3em; text-transform: uppercase;
  }
  .hero-geo::before { content: ''; display: block; width: 32px; height: 1px; background: var(--mustard); }
  .hero-title { font-size: clamp(46px, 5.5vw, 80px); line-height: 1.04; margin-bottom: 24px; }
  .hero-title .t1 { font-weight: 300; display: block; }
  .hero-title .t2 { font-weight: 600; display: block; }
  .hero-title .t3 { font-weight: 300; display: block; }
  .hero-desc { font-size: 17px; font-weight: 400; line-height: 1.8; color: rgba(247,245,241,0.85); max-width: 560px; margin-bottom: 28px; }
  em { font-style: normal; }
  .hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
  .btn-bordered-white { font-size: 13px; font-weight: 600; color: var(--light); letter-spacing: 0.2em; text-transform: uppercase; border: 1px solid rgba(247,245,241,0.68); padding: 15px 30px; text-decoration: none; transition: all .25s ease; display: inline-flex; align-items: center; gap: 8px; }.btn-bordered-white:hover { border-color: var(--mustard); background: rgba(255,255,255,0.05); color: var(--mustard); }
  .hero-scroll { position: absolute; right: 48px; bottom: 80px; z-index: 2; writing-mode: vertical-rl; font-size: 12px; font-weight: 500; color: #B3AEA3; letter-spacing: 0.3em; text-transform: uppercase; }

  /* ── STATS BAR ── */
  .stats-bar { background: var(--dark2); padding: 48px 80px; display: grid; grid-template-columns: repeat(5, 1fr); }
  .stat-item { text-align: center; padding: 0 24px; border-right: 1px solid var(--border-dark); }
  .stat-item:last-child { border-right: none; }
  .stat-num { font-size: 36px; font-weight: 300; color: var(--light); letter-spacing: -0.02em; margin-bottom: 8px; }.stat-label { font-size: 15px; font-weight: 600; color: rgba(247,245,241,0.82); letter-spacing: 0.25em; text-transform: uppercase; }

  /* ── SECTIONS COMMON ── */
  section { padding: 120px 80px; }
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
  .section-title { font-size: clamp(32px, 4vw, 57px); line-height: 1.1; letter-spacing: -0.01em; margin-bottom: 32px; }

  /* ── VISIONE (light) ── */
  .s-visione { background: var(--light); color: var(--text-dark); }
  .s-visione .section-label { color: var(--mustard); }
  .s-visione .section-label::before { background: var(--mustard); }
  .s-visione .section-title .reg { font-weight: 300; color: var(--text-dark); }
  .s-visione .section-title .bold { font-weight: 600; color: var(--text-dark); }
  .s-visione .section-title .accent { font-weight: 600; color: var(--mustard); }
  .s-visione .body-text { font-size: 17.5px; line-height: 1.75; color: #4A4740; margin-bottom: 24px; }
  .s-visione .body-text strong { color: var(--text-dark); font-weight: 600; }
  .s-visione blockquote { border-left: 2px solid var(--mustard); padding-left: 24px; margin-top: 32px; font-size: 16px; line-height: 1.8; color: #4A4740; }
  .s-visione blockquote .accent { color: var(--mustard); }.link-mustard { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: var(--mustard); letter-spacing: 0.2em; text-transform: uppercase; text-decoration: none; margin-top: 24px; transition: color .25s ease; }
  .link-mustard:hover { opacity: 0.8; }

  /* ── ECOSISTEMA (dark) ── */
  .s-ecosistema { padding-top: 92px; padding-bottom: 92px;  background: var(--dark2); }
  .s-ecosistema .section-title .reg { font-weight: 300; }
  .s-ecosistema .section-title .muted { font-weight: 300; color: var(--text-muted2); }
  .s-ecosistema .body-text { font-size: 17px; line-height: 1.85; color: rgba(247,245,241,0.78); }
  .eco-card { border: 1px solid var(--border-dark); padding: 28px 32px; margin-top: 48px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
  .eco-card-text { font-size: 16px; line-height: 1.7; color: rgba(247,245,241,0.8); }
  .eco-card-text strong { color: var(--light); font-weight: 600; }
  .link-white { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; font-weight: 600; color: var(--light); letter-spacing: 0.2em; text-transform: uppercase; text-decoration: none; }
  .link-white:hover { color: var(--mustard); }

  /* ── CONTESTO MACRO (light) ── */
  .s-macro { background: var(--light); color: var(--text-dark); }
  .s-macro .section-label { color: var(--mustard); }
  .s-macro .section-label::before { background: var(--mustard); }
  .s-macro .section-title .reg { font-weight: 300; color: var(--text-dark); }
  .s-macro .section-title .accent { font-weight: 600; color: var(--mustard); }
  .s-macro .body-text { font-size: 17px; line-height: 1.85; color: #4A4740; margin-bottom: 20px; }
  .macro-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .macro-stat { padding: 32px 0; border-bottom: 1px solid var(--border-light); }
  .macro-stat:nth-child(odd) { padding-right: 40px; border-right: 1px solid var(--border-light); }
  .macro-stat:nth-child(even) { padding-left: 40px; }
  .macro-stat:nth-last-child(-n+2) { border-bottom: none; }
  .macro-stat-num { font-size: 42px; font-weight: 300; color: var(--text-dark); letter-spacing: -0.02em; margin-bottom: 4px; }
  .macro-stat-label { font-size: 12px; font-weight: 600; color: var(--text-muted); letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 12px; }.macro-stat-desc { font-size: 16px; line-height: 1.7; color: var(--text-muted2); }
  .macro-cards { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 48px; border: 1px solid var(--border-light); }
  .macro-card { padding: 32px 28px; border-right: 1px solid var(--border-light); }
  .macro-card:last-child { border-right: none; }
  .macro-card-num { font-size: 12px; font-weight: 600; color: var(--text-muted); letter-spacing: 0.2em; margin-bottom: 20px; }
  .macro-card-title { font-size: 16px; font-weight: 600; color: var(--text-dark); margin-bottom: 16px; line-height: 1.3; }
  .macro-card-text { font-size: 16px; line-height: 1.7; color: #666; }
  .macro-card-text strong { color: var(--text-dark); font-weight: 600; }

  /* ── PROGETTI (light) ── */
  .s-progetti { background: var(--light); color: var(--text-dark); padding-top: 0; }
  .s-progetti .section-label { color: var(--mustard); }
  .s-progetti .section-label::before { background: var(--mustard); }
  .progetti-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; }
  .progetti-title .t1 { font-size: clamp(28px, 3.5vw, 48px); font-weight: 600; color: var(--text-dark); display: block; }
  .progetti-title .t2 { font-size: clamp(28px, 3.5vw, 48px); font-weight: 300; color: var(--text-muted2); display: block; }
  .progetti-grid-top { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 2px; margin-bottom: 2px; }
  .progetti-grid-bot { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 2px; }
  .project-card { position: relative; overflow: hidden; cursor: pointer; }
  .project-card-top { height: 340px; }
  .project-card-bot { height: 340px; }.project-card-bg { position: absolute; inset: 0; background: var(--dark2); filter: grayscale(100%); transition: filter .75s ease,transform .75s ease; }
    .project-card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 60%, transparent 100%); }
  .project-card-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 28px; }
  .project-card-arrow { position: absolute; top: 20px; right: 20px; width: 32px; height: 32px; border: 1px solid rgba(247,245,241,0.68); display: flex; align-items: center; justify-content: center; font-size: 14px; color: white; }
  .project-badge { display: flex; align-items:flex-start; min-height: 40px; font-size: 12px; font-weight: 600; color: var(--mustard); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 8px; }
  .project-name { font-size: 20px; font-weight: 600; color: white; margin-bottom: 4px; }
  .project-location { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 15px; font-weight: 400; color: rgba(247,245,241,0.78); }
  .project-detail { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; color: rgba(247,245,241,0.8); margin-top: 4px; }

  /* ── INVESTMENT PLATFORM (dark) ── */
  .s-invest { background: var(--dark2); }
  .s-invest .section-title .t1 { font-weight: 300; display: block; }
  .s-invest .section-title .t2 { font-weight: 300; color: var(--mustard); display: block; }
  .s-invest .section-title .t3 { font-weight: 300; color: var(--text-muted2); display: block; }
  .s-invest .body-text { font-size: 17px; line-height: 1.85; color: rgba(247,245,241,0.78); }
  .invest-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border-dark); margin-top: 48px; }
  .invest-card { background: var(--dark2); padding: 40px 36px; }
  .invest-card-title { font-size: 28px; font-weight: 300; color: var(--light); margin-bottom: 8px; }
  .invest-card-label { font-size: 12px; font-weight: 600; color: var(--mustard); letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
  .invest-card-label::before { content: ''; display: block; width: 24px; height: 1px; background: var(--mustard); }
  .invest-card-text { font-size: 16px; line-height: 1.7; color: rgba(247,245,241,0.72); }
  .invest-disclaimer { font-size: 16px; line-height: 1.7; color: rgba(247,245,241,0.72); border-left: 2px solid var(--border-dark); padding-left: 16px; margin-top: 40px; }
  .invest-features { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; background: var(--border-dark); margin-top: 1px; }
  .invest-feature { background: var(--dark2); padding: 32px 28px; }
  .invest-feature-title { font-size: 16px; font-weight: 600; color: var(--light); margin-bottom: 12px; }
  .invest-feature-text { font-size: 16px; line-height: 1.7; color: rgba(247,245,241,0.72); }
  .invest-ctas { display: flex; gap: 12px; margin-top: 48px; flex-wrap: wrap; }
  .btn-filled-dark { font-size: 13px; font-weight: 600; color: var(--light); letter-spacing: 0.2em; text-transform: uppercase; background: var(--dark); border: 1px solid var(--border-dark); padding: 15px 30px; text-decoration: none; transition: all .25s ease; display: inline-flex; align-items: center; gap: 8px; }
  .btn-filled-dark:hover { border-color: var(--light); }

  /* ── PARTNERSHIPS (light) ── */
  .s-partner { background: var(--light); color: var(--text-dark); padding-top: 92px; padding-bottom: 92px; }
  .s-partner .section-label { color: var(--mustard); }
  .s-partner .section-label::before { background: var(--mustard); }
  .s-partner .section-title .t1 { font-weight: 600; color: var(--text-dark); display: block; }
  .s-partner .section-title .t2 { font-weight: 300; color: var(--mustard); display: block; }
  .s-partner .body-text { font-size: 17px; line-height: 1.85; color: #4A4740; }
  .partner-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 48px; }
  .partner-card { padding: 32px 24px; border: 1px solid var(--border-light); border-right: none; position: relative; }
  .partner-card:last-child { border-right: 1px solid var(--border-light); }
  .partner-card-num { font-size: 12px; font-weight: 600; color: var(--text-muted); letter-spacing: 0.2em; margin-bottom: 24px; }
  .partner-card-icon { font-size: 18px; margin-bottom: 16px; color: var(--mustard); }
  .partner-card-title { font-size: 16px; font-weight: 600; color: var(--text-dark); margin-bottom: 12px; }
  .partner-card-text { font-size: 16px; line-height: 1.7; color: #666; }
  .partner-note { margin-top: 40px; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-top: 40px; border-top: 1px solid var(--border-light); }
  .partner-note-text { font-size: 16px; line-height: 1.7; color: #5A574F; max-width: 560px; }
  .btn-filled-light { font-size: 13px; font-weight: 600; color: var(--light); letter-spacing: 0.2em; text-transform: uppercase; background: var(--dark); padding: 14px 28px; text-decoration: none; transition: all .25s ease; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
  .btn-filled-light:hover { background: var(--dark2); }

  /* ── FOOTER ── */.footer-top { display: grid; grid-template-columns: 280px 1fr; gap: 64px; margin-bottom: 40px; }
  .footer-logo { display: flex; flex-direction: column; gap: 16px; }
  .footer-logo-mark { width: 180px; height: auto; display: block; }
  .footer-logo-mark svg { width: 40px; height: 40px; fill: white; }
  .footer-brand { font-size: 14px; font-weight: 600; color: var(--mustard); letter-spacing: 0.25em; text-transform: uppercase; }
  .footer-tagline { font-size: 16px; font-weight: 300; color: rgba(247,245,241,0.78); line-height: 1.6; margin-top: 8px; }
  .footer-url { font-size: 15px; color: var(--text-muted); margin-top: 12px; }
  .footer-nav { display: grid; grid-template-columns: repeat(5, 1fr); gap: 40px; }.footer-col-title { font-size: 13px; font-weight: 600; color: var(--light); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 20px; }
  .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }.footer-col ul li a { font-size: 15px; color: #A9A49B; text-decoration: none; transition: color 0.2s; }
  .footer-col ul li a:hover { color: var(--light); }
.footer-copy { font-size: 14px; color: #A9A49B; }
  .footer-links { display: flex; gap: 24px; }
  .footer-links a { font-size: 14px; color: #A9A49B; text-decoration: none; }
  .footer-links a:hover { color: var(--light); }

/* ── BW EFFECT: tutte le foto in bianco e nero, colore all'hover ── */
/* Immagini generiche con classe .bw-img */
.bw-img{filter:grayscale(100%) brightness(0.85);transition:filter .75s ease}
.bw-img:hover{filter:grayscale(0%) brightness(1)}

/* Project cards (home + progetti) */
.project-card .project-card-bg{filter:grayscale(100%) brightness(0.8);transition:filter .75s ease,transform .75s ease}

/* Gallery pagine progetto */
.project-gallery > div{filter:grayscale(100%) brightness(0.85);transition:filter .75s ease}
.project-gallery > div:hover{filter:grayscale(0%) brightness(1)}

/* Hero section di tutte le pagine — BW fisso, nessun hover color */
.page-hero-bg{filter:grayscale(100%) brightness(0.72)}

/* Hero inline nelle pagine progetto — classe dedicata */
.hero-project-inner{filter:grayscale(100%) brightness(0.72);transition:none}

/* Sezione macro cards con background */
.macro-img{filter:grayscale(100%) brightness(0.85);transition:filter .75s ease}
.macro-img:hover{filter:grayscale(0%) brightness(1)}


  /* ── MOBILE TABLET (max 1024px) ── */
  @media (max-width: 1024px) {

    .hero { min-height: 74svh; padding: 84px 40px 48px; }

    .hero-content { max-width: 100%; }

    .two-col { grid-template-columns: 1fr; gap: 40px; }

    .stats-bar { grid-template-columns: repeat(3, 1fr); gap: 16px; }

    .eco-grid { grid-template-columns: repeat(2, 1fr); }

    .macro-stats { grid-template-columns: repeat(2, 1fr); }

    .invest-cards { grid-template-columns: 1fr 1fr; }
}

  /* ── MOBILE SMARTPHONE (max 768px) ── */
  @media (max-width: 768px) {

    .footer-nav { grid-template-columns: 1fr 1fr !important; gap: 24px 20px; }

    .footer-col-title { margin-bottom: 12px; }

    .footer-col ul { gap: 8px; }

    .hero { padding: 0 20px 40px; min-height: 70svh; }

    .hero-geo { margin-bottom: 16px; }

    .hero-title { margin-bottom: 16px; }

    .hero-desc { margin-bottom: 20px; }

    .hero-geo { font-size: 12px; }

    .hero-title { font-size: clamp(38px, 9.5vw, 48px); }

    .hero-desc { font-size: 16px; line-height: 1.65; }

    .hero-ctas { flex-direction: column; gap: 12px; }

    .btn-bordered-white { width: 100%; text-align: center; justify-content: center; letter-spacing: 0.05em; padding: 14px 8px; }

    .stats-bar { grid-template-columns: repeat(2, 1fr); padding: 24px 20px; gap: 20px; }

    section, .s-visione, .s-ecosistema, .s-macro, .s-progetti, .s-invest, .s-partner { padding: 60px 20px; }

    .two-col { grid-template-columns: 1fr; gap: 32px; }

    .eco-grid { grid-template-columns: 1fr; }

    .progetti-grid-top { grid-template-columns: 1fr; }

    .progetti-grid-bot { grid-template-columns: 1fr; }

    .project-card-top { height: 280px; }

    .project-card-bot { height: 280px; }

    .macro-stats { grid-template-columns: 1fr 1fr; }

    .invest-cards { grid-template-columns: 1fr; }

    .footer-nav { grid-template-columns: 1fr 1fr; gap: 32px; }


    .footer-links { flex-wrap: wrap; justify-content: center; gap: 12px; }

    /* font label mobile — MGM standard *//* typography mobile — MGM standard */
    .stat-label, .macro-stat-label, .project-badge,
.project-location, .project-detail { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; }

    .footer-copy, .footer-url, 
    .invest-disclaimer { font-size: 16px; }

    .partner-cards { grid-template-columns: 1fr 1fr; }
}

  /* ── MOBILE SMALL (max 480px) ── */
  @media (max-width: 480px) {

    .stats-bar { grid-template-columns: 1fr 1fr; }

    .stat-num { font-size: 24px; }

    .partner-cards { grid-template-columns: 1fr; }

    .footer-nav { grid-template-columns: 1fr; }

    .invest-cards { grid-template-columns: 1fr; }

    .macro-stats { grid-template-columns: 1fr; }
}

/* Language selector */

/* Sprint 2.3 — deep navigation */

/* Sprint 2.3.1 — mobile layer */
html,body{overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
@media(max-width:1024px){

 section{padding:80px 40px}

 .footer-nav{grid-template-columns:repeat(3,1fr);gap:32px 24px}
}
@media(max-width:900px){

 section{padding:64px 22px}

 .two-col{grid-template-columns:1fr;gap:44px}

 .footer-top{grid-template-columns:1fr;gap:40px}

 .footer-nav{grid-template-columns:1fr 1fr;gap:30px 20px}

.footer-bottom{flex-direction:column;gap:14px;align-items:flex-start}

 .footer-links{flex-wrap:wrap;gap:12px 18px}

 .card-grid-4,.card-grid-3{grid-template-columns:1fr}

 .card-item,.card-item-dark{border-right:none !important;border-bottom:1px solid var(--border-light)}

 .card-item-dark{border-bottom-color:var(--border-dark)}

 .stats-bar{grid-template-columns:1fr !important;padding:28px 22px !important}

 .stat-item{border-right:none !important;border-bottom:1px solid var(--border-dark);padding:18px 8px}

 .stat-item:last-child{border-bottom:none}

 .macro-stats,.invest-cards,.eco-divisions,.ops-stats,.ops-grid,.giurisdizioni{grid-template-columns:1fr !important}

 .progetti-header{flex-direction:column;align-items:flex-start;gap:18px}

 .section-title{font-size:clamp(26px,7.5vw,38px)}

 .page-hero{padding-left:22px;padding-right:22px}

 .page-hero-title{font-size:clamp(34px,10vw,56px)}
}
@media(max-width:520px){

 section{padding:52px 18px}

 .footer-nav{grid-template-columns:1fr}

 .footer-col{border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:18px}

 .btn-bordered-white,.btn-filled-dark,.btn-filled-light{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:100%;text-align:center}

 .hero-ctas a{width:100%}

 .page-hero{min-height:auto !important;padding-top:110px;padding-bottom:48px}
}


/* ══ PAGE HERO — sistema a 4 classi (A=home .hero) ══ */
.page-hero{min-height:48vh;display:flex;flex-direction:column;justify-content:flex-end;padding:110px 80px 64px;position:relative;overflow:hidden;background:var(--dark)}
.page-hero-overlay{position:absolute;inset:0;background:rgba(27,27,26,0.66);z-index:1}
.page-hero-content{position:relative;z-index:2;max-width:800px}
.page-hero-geo{display:flex;align-items:center;gap:12px;margin-bottom:28px;font-size:12px;font-weight:500;color:#B3AEA3;letter-spacing:0.3em;text-transform:uppercase}
.page-hero-geo::before{content:'';display:block;width:32px;height:1px;background:var(--mustard)}
.page-hero-title{font-size:clamp(32px,3.8vw,58px);line-height:1.06;margin-bottom:24px}
.page-hero-title .t1{font-weight:300;display:block}
.page-hero-title .t2{font-weight:600;display:block}
.page-hero-desc{font-size:17px;line-height:1.8;color:rgba(247,245,241,0.85);max-width:560px;margin-bottom:40px}
.page-hero--b{min-height:64vh}
.page-hero--b .page-hero-title{font-size:clamp(36px,4.4vw,64px)}
.page-hero--d{min-height:32vh;padding:100px 80px 44px}
.page-hero--d .page-hero-title{font-size:clamp(28px,3.2vw,48px)}
.body-text{font-size:17px;line-height:1.8;margin-bottom:20px;max-width:640px}
.light-section .body-text{color:#4A4740}
.dark-section .body-text{color:rgba(247,245,241,0.78)}
@media(max-width:1024px){

.page-hero{min-height:44vh;padding:100px 40px 52px}

.page-hero--b{min-height:58vh}

.page-hero--d{min-height:28vh}
}
@media(max-width:768px){

.page-hero{min-height:38svh !important;padding:96px 22px 44px}

.page-hero--b{min-height:52svh !important}

.page-hero--d{min-height:26svh !important;padding:88px 22px 36px}

.page-hero-desc{font-size:16px}
}



.xlinks{background:var(--light);border-top:1px solid var(--border-light);padding:44px 80px}
.xlinks-in{max-width:1360px;margin:0 auto;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.xlinks-l{font-size:13px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--mustard);margin-right:12px}
.xlinks a{font-size:15px;font-weight:600;color:var(--text-dark);text-decoration:none;border-bottom:1px solid var(--mustard);padding-bottom:4px}
.xlinks a:hover{color:var(--mustard)}
@media(max-width:768px){
.xlinks{padding:36px 22px}
.xlinks-in{gap:18px}
}

/* ══ FOOTER MASTER v4.16 — wrapper unico, griglie sedi corrette ══ */
footer{background:var(--dark);border-top:1px solid #1f1f1f;padding:0}
.footer-inner{max-width:1720px;margin:0 auto;padding:88px 80px 44px}
.footer-locations{border-top:1px solid #2B2925;border-bottom:1px solid #2B2925;padding:44px 0;margin-bottom:36px}
.footer-locations-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.footer-location-group{display:block}
.footer-location-title{font-size:12px;font-weight:600;color:var(--mustard);letter-spacing:0.25em;text-transform:uppercase;margin-bottom:16px}
.footer-address-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.footer-addr-label{font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:8px}
.footer-addr{font-size:15px;color:rgba(247,245,241,0.72);line-height:1.7}
.footer-legal{margin-bottom:32px}
.footer-disclaimer{font-size:15px;line-height:1.7;color:rgba(247,245,241,0.72);margin:0}
.footer-disclaimer strong{font-weight:600;color:var(--mustard)}
.footer-bottom{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-top:1px solid #2B2925;padding-top:28px}
@media(max-width:1024px){

.footer-inner{padding:56px 40px 32px}
.footer-top{grid-template-columns:1fr;gap:44px}

.footer-locations-grid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:768px){

.footer-inner{padding:44px 22px 28px}
.footer-top{grid-template-columns:1fr;gap:36px}

.footer-address-grid{grid-template-columns:1fr;gap:18px}

.footer-bottom{flex-direction:column;align-items:flex-start;gap:14px;text-align:left}

.footer-links{flex-wrap:wrap;gap:12px 18px}

.footer-copy,.footer-links a{font-size:14px}

.footer-disclaimer{font-size:15px}
}


/* ══ MUSTARD TITLE SYSTEM v4.16 ══ */
.page-hero--b .page-hero-title .t2{color:var(--mustard)}
.page-hero-title .t2 em, .section-title .accent{color:var(--mustard);font-style:normal}

/* ── SEZIONI LIGHT/DARK (fix classi mancanti) ── */
.light-section { background: var(--light); color: var(--text-dark); }
.light-section .section-label { color: var(--mustard); }
.light-section .section-label::before { background: var(--mustard); }
.light-section .section-title { color: var(--text-dark); }
.dark-section { background: var(--dark); color: var(--light); }
.dark-section .section-label { color: var(--mustard); }

/* ══ MGM MASTER VISUAL STANDARD — homepage ══ */
.btn-hero-primary{display:inline-block;background:var(--light);color:var(--dark);border:1px solid var(--light);font-size:13px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;padding:15px 30px;text-decoration:none;transition:all .25s ease}
.btn-hero-primary:hover{background:transparent;color:var(--light);border-color:var(--mustard)}
.project-card:hover .project-card-bg{filter:grayscale(0%);transform:scale(1.02)}
@media(max-width:900px){

 .hero-desc{font-size:16px}

 .body-text{font-size:17px}
}

/* ===== END MGM HOMEPAGE MASTER BASELINE v1.0 (shared) ===== */
