/*
 * Câmara Internacional Brasil – África Atlântica — shared stylesheet
 * One file for every page on the site (header/nav, page-type
 * components — hero variants, tile grids, cards, forms — and the
 * footer). Organized top to bottom roughly in the order components
 * appear on the page; component blocks are labelled with a comment.
 */

  :root{
    --azul-marinho:#0E2A52;
    --azul-profundo:#16345F;
    --dourado:#C9A227;
    --ouro-claro:#D9B95B;
    --marfim:#F4F0E6;
    --marfim-2:#ECE6D6;
    --carvao:#111312;
    --verde:#0B3D2E;
    --linha: rgba(14,42,82,0.18);
    --linha-clara: rgba(244,240,230,0.22);
    --bg: var(--marfim);
    --fg: var(--carvao);
    --surface:#FFFFFF;
    --r-ui: 20px;
    --r-ui-sm: 12px;
    --r-card: 24px;
    --r-hero: 32px;
    --r-pill: 999px;
    --shadow-sm: 0 2px 10px rgba(14,42,82,0.07), 0 1px 2px rgba(14,42,82,0.06);
    --shadow-md: 0 10px 30px rgba(14,42,82,0.10), 0 2px 8px rgba(14,42,82,0.06);
    --shadow-lg: 0 24px 60px rgba(14,42,82,0.16), 0 6px 16px rgba(14,42,82,0.08);
    --bg-wash: radial-gradient(1100px 560px at 50% -8%, rgba(217,185,91,0.10), transparent 62%);
    --maxw: 1180px;
    --serif: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif;
    --sans: 'Manrope', -apple-system, 'Segoe UI', sans-serif;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0B1526;
      --fg:#ECE7DA;
      --surface:#0F1F38;
      --linha: rgba(217,185,91,0.22);
      --marfim-2:#132747;
      --shadow-sm: 0 2px 10px rgba(0,0,0,0.28), 0 1px 2px rgba(0,0,0,0.22);
      --shadow-md: 0 10px 30px rgba(0,0,0,0.34), 0 2px 8px rgba(0,0,0,0.22);
      --shadow-lg: 0 24px 60px rgba(0,0,0,0.42), 0 6px 16px rgba(0,0,0,0.26);
      --bg-wash: radial-gradient(1100px 560px at 50% -8%, rgba(217,185,91,0.07), transparent 62%);
    }
  }
  :root[data-theme="dark"]{
    --bg:#0B1526;
    --fg:#ECE7DA;
    --surface:#0F1F38;
    --linha: rgba(217,185,91,0.22);
    --marfim-2:#132747;
    --shadow-sm: 0 2px 10px rgba(0,0,0,0.28), 0 1px 2px rgba(0,0,0,0.22);
    --shadow-md: 0 10px 30px rgba(0,0,0,0.34), 0 2px 8px rgba(0,0,0,0.22);
    --shadow-lg: 0 24px 60px rgba(0,0,0,0.42), 0 6px 16px rgba(0,0,0,0.26);
    --bg-wash: radial-gradient(1100px 560px at 50% -8%, rgba(217,185,91,0.07), transparent 62%);
  }

  *{box-sizing:border-box;}
  body{
    margin:0;
    background:var(--bg-wash), var(--bg);
    background-attachment:fixed;
    color:var(--fg);
    font-family:var(--sans);
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;}
  img{display:block;}
  ::selection{background:var(--dourado);color:var(--azul-marinho);}

  h1,h2,h3,h4{
    font-family:var(--serif);
    font-weight:500;
    line-height:1.12;
    margin:0;
    text-wrap:balance;
    color:var(--fg);
  }
  :root[data-theme="dark"] h1, :root[data-theme="dark"] h2, :root[data-theme="dark"] h3, :root[data-theme="dark"] h4{color:#F4F0E6;}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) h1, :root:not([data-theme="light"]) h2, :root:not([data-theme="light"]) h3, :root:not([data-theme="light"]) h4{color:#F4F0E6;} }

  .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:24px;}
  .eyebrow{
    font-family:var(--sans);
    font-size:11px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--dourado);
  }
  .eyebrow.on-light{color:var(--azul-profundo);}
  /* on-light labels assume a light backdrop; in dark mode the page itself
     goes dark, so the navy text must flip to gold or it disappears */
  :root[data-theme="dark"] .eyebrow.on-light{color:var(--ouro-claro);}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .eyebrow.on-light{color:var(--ouro-claro);} }
  .hairline{border:none;border-top:1px solid var(--linha);margin:0;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    font-family:var(--sans);font-weight:600;font-size:14px;
    padding:14px 28px;border-radius:var(--r-pill);
    border:1px solid transparent;cursor:pointer;
    text-decoration:none;white-space:nowrap;
    transition:opacity .15s ease, transform .15s ease, box-shadow .2s ease;
    min-height:48px;
    box-shadow:var(--shadow-sm);
  }
  .btn:hover{opacity:.85;}
  .btn:focus-visible{outline:2px solid var(--dourado);outline-offset:2px;}
  .btn-primary{background:var(--azul-marinho);color:var(--marfim);}
  :root[data-theme="dark"] .btn-primary, .btn-primary{background:var(--azul-marinho);color:#F4F0E6;}
  .btn-ghost{background:transparent;color:inherit;border:1px solid var(--linha);box-shadow:none;}
  .btn-ghost.on-dark{border-color:var(--linha-clara);color:#F4F0E6;}
  .btn-gold{background:transparent;color:var(--ouro-claro);border:1px solid var(--linha-clara);box-shadow:none;}

  .section{padding-block:88px;}
  .section.tight{padding-block:56px;}
  @media(max-width:720px){ .section{padding-block:56px;} .section.tight{padding-block:40px;} }

  .grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;}
  @media(max-width:900px){.grid-12{grid-template-columns:repeat(4,1fr);}}

  /* ---------- HEADER (floating pill nav; transparent overlay while the
     Início hero is in view, per header.site.on-hero below) ---------- */
  header.site{
    position:sticky;top:calc(env(safe-area-inset-top,0px) + 14px);z-index:50;
    background:transparent;
    border-bottom:none;
    padding-inline:16px;
    transition:top .25s ease;
  }
  header.site.on-hero{top:env(safe-area-inset-top,0px);}
  .header-inner{
    /* wider than the page content max-width (--maxw): the hierarchical nav
       (4 dropdown groups + 4 flat links + language switch + CTA) needs more
       room than the old 7-link flat nav did, even on the pill/non-hero header */
    max-width:1500px;margin:0 auto;padding-inline:14px 14px;
    display:flex;align-items:center;justify-content:space-between;
    min-height:72px;padding-block:10px;gap:20px;
    background:var(--surface);
    border-radius:var(--r-pill);
    border:1px solid var(--linha);
    box-shadow:var(--shadow-md);
    transition:background-color .3s ease, border-color .3s ease, box-shadow .3s ease, border-radius .3s ease;
  }
  header.site.on-hero .header-inner{
    background:transparent;border-color:transparent;box-shadow:none;
    max-width:none;border-radius:0;min-height:96px;
  }
  .header-inner .brand{padding-left:10px;}
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
  .brand img{height:52px;width:auto;flex-shrink:0;}
  .brand-word{display:flex;flex-direction:column;line-height:1.2;max-width:300px;}
  .brand-word b{font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:.01em;transition:color .3s ease;}
  .brand-word span{font-family:var(--sans);font-size:10px;letter-spacing:.03em;color:var(--dourado);transition:color .3s ease;}
  header.site.on-hero .brand-word b{color:#F4F0E6;}
  header.site.on-hero .brand-word span{color:var(--ouro-claro);}
  @media(max-width:480px){ .brand img{display:none;} }
  @media(max-width:1660px){ .header-inner .brand-word{max-width:190px;} }
  @media(max-width:400px){ .header-inner .brand-word{max-width:150px;font-size:9px;} }

  nav.primary{display:flex;align-items:center;gap:24px;}
  nav.primary a{
    font-size:13.5px;font-weight:600;text-decoration:none;color:inherit;
    padding-block:6px;border-bottom:2px solid transparent;
    letter-spacing:.01em;transition:color .3s ease, border-color .3s ease;
  }
  nav.primary a.active{border-color:var(--dourado);color:var(--azul-marinho);}
  :root[data-theme="dark"] nav.primary a.active{color:var(--ouro-claro);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) nav.primary a.active{color:var(--ouro-claro);}}
  header.site.on-hero nav.primary a{color:#F4F0E6;}
  header.site.on-hero nav.primary a.active{color:var(--ouro-claro);border-color:var(--ouro-claro);}
  @media(max-width:1660px){ nav.primary{display:none;} }

  /* ---------- Hierarchical nav: dropdown / mega-menu groups ---------- */
  .nav-item{position:relative;}
  .nav-trigger{
    display:flex;align-items:center;gap:6px;
    font-family:inherit;font-size:13.5px;font-weight:600;letter-spacing:.01em;color:inherit;
    background:transparent;border:none;border-bottom:2px solid transparent;
    padding-block:6px;cursor:pointer;
    transition:color .3s ease, border-color .3s ease;
  }
  .nav-trigger:hover{border-color:var(--linha);}
  .nav-trigger:focus-visible{outline:2px solid var(--dourado);outline-offset:3px;}
  .nav-item.is-open .nav-trigger, .nav-trigger.active{border-color:var(--dourado);color:var(--azul-marinho);}
  :root[data-theme="dark"] .nav-item.is-open .nav-trigger, :root[data-theme="dark"] .nav-trigger.active{color:var(--ouro-claro);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .nav-item.is-open .nav-trigger, :root:not([data-theme="light"]) .nav-trigger.active{color:var(--ouro-claro);}}
  header.site.on-hero .nav-trigger{color:#F4F0E6;}
  header.site.on-hero .nav-item.is-open .nav-trigger, header.site.on-hero .nav-trigger.active{color:var(--ouro-claro);border-color:var(--ouro-claro);}
  .mnav-trigger.active{color:var(--dourado);}
  .nav-caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .25s ease;flex-shrink:0;margin-top:-2px;}
  .nav-item.is-open .nav-caret{transform:rotate(225deg);margin-top:2px;}
  @media (prefers-reduced-motion: reduce){ .nav-caret{transition:none;} }

  .nav-dropdown{
    position:absolute;top:calc(100% + 16px);left:50%;
    transform:translate(-50%,6px);
    min-width:264px;background:var(--surface);border:1px solid var(--linha);border-radius:var(--r-ui-sm);
    box-shadow:var(--shadow-lg);padding:10px;display:flex;flex-direction:column;gap:2px;
    max-height:calc(100vh - 130px);overflow-y:auto;
    opacity:0;visibility:hidden;pointer-events:none;z-index:90;
    transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
  }
  .nav-item.is-open .nav-dropdown{
    opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);
    transition:opacity .2s ease, transform .2s ease, visibility 0s linear 0s;
  }
  @media (prefers-reduced-motion: reduce){ .nav-dropdown{transition:opacity .12s linear;} }
  .nav-dropdown a{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    padding:11px 13px;border-radius:8px;font-size:13.5px;font-weight:600;text-decoration:none;
    color:var(--fg)!important;border-bottom:none!important;
    transition:background-color .18s ease;
  }
  .nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:rgba(14,42,82,.06);}
  :root[data-theme="dark"] .nav-dropdown a:hover,:root[data-theme="dark"] .nav-dropdown a:focus-visible{background:rgba(217,185,91,.10);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .nav-dropdown a:hover{background:rgba(217,185,91,.10);}}
  .nav-dropdown a:focus-visible{outline:2px solid var(--dourado);outline-offset:-2px;}
  .nav-dropdown a.is-prepared{cursor:default;opacity:.6;}
  .nav-dropdown a.is-prepared:hover{background:transparent;}
  .dd-badge{
    font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
    padding:3px 8px;border-radius:999px;background:var(--dourado);color:var(--azul-marinho);white-space:nowrap;flex-shrink:0;
  }
  .dd-badge.is-muted{background:var(--linha-clara,var(--linha));color:var(--fg);opacity:.85;}
  .nav-dropdown-note{font-size:11px;line-height:1.5;opacity:.6;padding:6px 13px 2px;max-width:230px;}
  .nav-dropdown a.has-badge,#mobileNav .mnav-panel-inner a.has-badge{flex-direction:column;align-items:flex-start;gap:6px;}
  .nav-dropdown a.has-badge .dd-badge,#mobileNav .mnav-panel-inner a.has-badge .dd-badge{margin-left:0;}

  .head-actions{display:flex;align-items:center;gap:10px;}
  .langdropdown select{
    display:block;border:1px solid var(--linha);border-radius:999px;
    background:var(--surface);color:inherit;cursor:pointer;
    padding:9px 12px;min-height:44px;font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.04em;
    transition:color .3s ease, background-color .3s ease, border-color .3s ease;
  }
  .langdropdown select:focus-visible{outline:2px solid var(--dourado);outline-offset:2px;}
  header.site.on-hero .langdropdown select{border-color:var(--linha-clara);background:transparent;color:#F4F0E6;}
  .burger{display:none;background:transparent;border:1px solid var(--linha);border-radius:var(--r-ui-sm);width:48px;height:48px;align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s ease, color .3s ease;}
  .burger span,.burger::before,.burger::after{content:"";display:block;width:20px;height:2px;background:currentColor;}
  .burger{flex-direction:column;gap:5px;}
  header.site.on-hero .burger{border-color:var(--linha-clara);color:#F4F0E6;}
  @media(max-width:1660px){ .burger{display:flex;} }

  .nav-cta{margin-left:6px;}
  @media(max-width:1660px){ .nav-cta.desktop-only{display:none;} }
  @media(max-width:400px){
    header.site{padding-inline:8px;}
    .header-inner{padding-inline:8px 8px;gap:8px;}
    .head-actions{gap:6px;}
    .langdropdown select{padding:9px 6px;font-size:11px;}
  }

  #mobileNav .wrap{display:flex;flex-direction:column;padding-block:12px;}
  #mobileNav > .wrap a{padding:14px 4px;text-decoration:none;color:inherit;font-weight:600;font-size:15px;border-bottom:1px solid var(--linha);min-height:48px;display:flex;align-items:center;}
  #mobileNav > .wrap > a:last-child{border-bottom:none;}

  /* mobile accordion groups (A Câmara / Eixos Estratégicos / Fórum / Centro de Estudos) */
  .mnav-group{border-bottom:1px solid var(--linha);}
  .mnav-trigger{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
    background:transparent;border:none;font-family:inherit;color:inherit;cursor:pointer;
    padding:14px 4px;font-weight:600;font-size:15px;min-height:48px;
  }
  .mnav-trigger .nav-caret{margin-top:0;}
  .mnav-group.is-open .mnav-trigger .nav-caret{transform:rotate(225deg);}
  .mnav-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease;}
  .mnav-panel-inner{overflow:hidden;}
  .mnav-group.is-open .mnav-panel{grid-template-rows:1fr;}
  .mnav-panel-inner{display:flex;flex-direction:column;padding-left:14px;}
  #mobileNav .mnav-panel-inner a{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:11px 4px;font-size:13.5px;font-weight:600;opacity:.82;text-decoration:none;color:inherit;
    border-bottom:1px solid var(--linha);min-height:44px;
  }
  #mobileNav .mnav-panel-inner a:last-child{border-bottom:none;}
  #mobileNav .mnav-panel-inner a.is-prepared{opacity:.5;}
  @media (prefers-reduced-motion: reduce){ .mnav-panel{transition:none;} }

  /* ---------- HERO (legacy solid-block variant — no longer used by the
     Início page, kept in case another page needs a plain hero band) ---------- */
  .hero{
    background:var(--azul-marinho);color:#F4F0E6;
    padding-block:96px 80px;position:relative;overflow:hidden;
  }
  .hero .wrap{position:relative;z-index:2;}
  .hero-routes{position:absolute;inset:0;z-index:1;opacity:.5;pointer-events:none;}
  .hero-tall{padding-block:130px 100px;}
  @media(max-width:720px){.hero-tall{padding-block:88px 64px;}}
  .hero h1{font-size:clamp(34px,5vw,58px);color:#F4F0E6;margin-block:18px 20px;}
  .hero h1.display-xl{font-size:clamp(42px,7.4vw,104px);max-width:15ch;letter-spacing:-.01em;}
  .hero p.lead{font-size:18px;max-width:46ch;color:#D9D2BE;margin:0 0 30px;}
  .hero-cta-row{display:flex;flex-wrap:wrap;gap:14px;}
  .btn-solid-dark{background:var(--azul-marinho);color:#F4F0E6;border:1px solid var(--linha-clara);}

  /* ---------- cinematic video hero (Início) — full-bleed, edge-to-edge,
     min-height:100svh. Pulled up under the floating header's reserved flow
     space (header-inner is 72px tall) via negative margin so the video
     starts at the very top of the viewport, with the header (z-index:50,
     transparent while .on-hero) floating over it. Legibility is carried by
     two layered gradient overlays in brand navy, not solid text boxes. ---------- */
  .cine-hero-frame{position:relative;}
  .cine-hero{
    position:relative;overflow:hidden;background:var(--azul-marinho);
    min-height:100svh;
    display:flex;align-items:center;
    margin-top:-104px; /* matches header.site's on-hero rendered height
      (96px header-inner + a small reserved allowance below it), since the
      hero is always in view — and the header therefore in its taller
      on-hero state — at initial paint */
  }
  .cine-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
  .cine-overlay-left{
    position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(90deg, rgba(9,26,51,.82) 0%, rgba(9,26,51,.55) 32%, rgba(9,26,51,.15) 58%, rgba(9,26,51,0) 78%);
  }
  .cine-overlay-bottom{
    position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(180deg, rgba(9,26,51,.35) 0%, rgba(9,26,51,0) 22%, rgba(9,26,51,0) 62%, rgba(9,26,51,.75) 100%);
  }
  .cine-pause{
    position:absolute;bottom:28px;right:28px;z-index:4;
    display:flex;align-items:center;gap:10px;cursor:pointer;
    background:transparent;border:none;padding:0;color:#F4F0E6;
  }
  .cine-pause-circle{
    width:44px;height:44px;border-radius:50%;flex-shrink:0;
    background:rgba(9,26,51,.45);border:1px solid rgba(244,240,230,.4);
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    display:flex;align-items:center;justify-content:center;
    transition:background-color .2s ease, transform .15s ease;
  }
  .cine-pause:hover .cine-pause-circle{background:rgba(9,26,51,.7);}
  @media (prefers-reduced-motion: no-preference){ .cine-pause:hover .cine-pause-circle{transform:translateY(-2px);} }
  .cine-pause svg{width:16px;height:16px;}
  .cine-pause-label{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 1px 6px rgba(9,26,51,.7);}
  .cine-pause-label span{display:none;}
  .cine-pause-label span.is-shown{display:inline;}
  @media(max-width:640px){ .cine-pause-label{display:none;} }

  .cine-hero-content{
    position:relative;z-index:3;width:100%;
    padding:150px 0 100px;
  }
  /* text sits directly on the footage — legibility carried by the overlay
     gradients above plus a soft drop shadow on the text itself */
  .cine-boxed{
    color:#F4F0E6;display:block;width:fit-content;max-width:100%;
    text-shadow:0 2px 14px rgba(9,26,51,.6), 0 1px 4px rgba(9,26,51,.7);
  }
  span.eyebrow.cine-boxed{color:var(--ouro-claro);}
  h1.cine-boxed-h1{line-height:1.14;font-weight:500;font-size:clamp(38px,6.6vw,88px);letter-spacing:-.01em;max-width:16ch;margin-top:16px;}
  h1.cine-boxed-h1 .hl-line{display:block;}
  h1.cine-boxed-h1 .hl-gold{color:var(--ouro-claro);}
  p.cine-boxed-lead{color:#F4F0E6;font-size:17px;max-width:46ch;margin-top:20px;}

  .hero-indicators{margin-top:38px;display:flex;gap:36px;flex-wrap:wrap;}
  .hero-indicator{display:flex;align-items:center;gap:10px;color:#F4F0E6;text-shadow:0 2px 10px rgba(9,26,51,.6);}
  .hero-indicator .hi-icon{
    width:34px;height:34px;border-radius:50%;flex-shrink:0;
    border:1px solid rgba(244,240,230,.45);
    display:flex;align-items:center;justify-content:center;
  }
  .hero-indicator .hi-icon svg{width:16px;height:16px;}
  .hero-indicator span{font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;}

  /* decorative right-side panel — reuses only existing territory names
     (Brasil/África/Europa) plus non-factual tagline copy, hidden on
     narrower screens rather than reflowing awkwardly */
  .cine-side-info{
    position:absolute;z-index:3;right:48px;top:50%;transform:translateY(-50%);
    color:#F4F0E6;text-align:right;max-width:220px;
    text-shadow:0 2px 10px rgba(9,26,51,.6);
  }
  .cine-side-tagline{font-family:var(--serif);font-size:14px;font-style:italic;line-height:1.5;margin:0 0 16px;}
  .cine-side-rule{width:100%;height:1px;background:rgba(244,240,230,.35);margin-bottom:16px;}
  .cine-side-list{display:flex;flex-direction:column;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;opacity:.85;}
  @media(max-width:1080px){ .cine-side-info{display:none;} }

  .cine-scrollcue{
    position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:3;
    display:flex;flex-direction:column;align-items:center;gap:8px;
    color:#F4F0E6;text-shadow:0 2px 8px rgba(9,26,51,.6);
    font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  }
  .cine-scrollcue-icon{width:18px;height:28px;border:1.5px solid rgba(244,240,230,.6);border-radius:10px;position:relative;}
  .cine-scrollcue-icon::before{
    content:"";position:absolute;top:5px;left:50%;width:3px;height:6px;
    background:#F4F0E6;border-radius:2px;transform:translateX(-50%);
  }
  @media (prefers-reduced-motion: no-preference){
    .cine-scrollcue-icon::before{animation:scrollcueDrop 1.8s ease-in-out infinite;}
  }
  @keyframes scrollcueDrop{
    0%{opacity:1;top:5px;} 60%{opacity:0;top:15px;} 61%{opacity:0;top:5px;} 100%{opacity:1;top:5px;}
  }
  @media(max-width:640px){ .cine-scrollcue{display:none;} }

  @media (prefers-reduced-motion: no-preference){
    .cine-hero-content .eyebrow,
    .cine-hero-content h1,
    .cine-hero-content p.lead,
    .cine-hero-content .hero-cta-row,
    .cine-hero-content .hero-indicators{
      opacity:0;animation:heroReveal .7s ease forwards;
    }
    .cine-hero-content .eyebrow{animation-delay:.1s;}
    .cine-hero-content h1{animation-delay:.22s;}
    .cine-hero-content p.lead{animation-delay:.36s;}
    .cine-hero-content .hero-cta-row{animation-delay:.5s;}
    .cine-hero-content .hero-indicators{animation-delay:.62s;}
  }
  @keyframes heroReveal{
    from{opacity:0;transform:translateY(14px);}
    to{opacity:1;transform:translateY(0);}
  }

  @media(max-width:720px){
    .cine-hero{min-height:100svh;}
    .cine-hero-content{padding:130px 0 90px;}
  }

  /* ---------- EDITORIAL SPLIT (A Instituição) — two-column layout with an
     existing project photo + a small overlay quote, reusing card tokens ---------- */
  .editorial-split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
  @media(max-width:900px){ .editorial-split{grid-template-columns:1fr;gap:34px;} }
  .editorial-copy p{font-size:16px;line-height:1.7;opacity:.85;margin-top:16px;max-width:56ch;}
  .editorial-copy p:first-of-type{margin-top:22px;}
  .editorial-media{
    position:relative;border-radius:var(--r-card);overflow:hidden;
    box-shadow:var(--shadow-md);aspect-ratio:4/3;
  }
  .editorial-media img{width:100%;height:100%;object-fit:cover;display:block;}
  .editorial-quote{
    position:absolute;left:18px;right:18px;bottom:18px;z-index:2;
    background:rgba(14,42,82,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    color:#F4F0E6;padding:18px 20px;border-radius:calc(var(--r-card) - 12px);
    font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.55;
  }

  /* ---------- IMPACT STRIP — confirmed figures only ---------- */
  .impact-strip{
    display:flex;flex-wrap:wrap;gap:16px 56px;
    padding:44px 0;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);
  }
  .impact-stat{flex:1 1 180px;}
  .impact-stat .num{
    font-family:var(--serif);font-size:clamp(38px,4.6vw,58px);line-height:1;
    color:var(--dourado);display:block;font-variant-numeric:tabular-nums;
  }
  .impact-stat .label{display:block;margin-top:10px;font-size:12.5px;text-transform:uppercase;letter-spacing:.09em;opacity:.7;max-width:24ch;}

  /* ---------- AREA CARDS — small, restrained, not SaaS-looking ---------- */
  .areas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  @media(max-width:980px){ .areas-grid{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:520px){ .areas-grid{grid-template-columns:1fr;} }
  .area-card{
    position:relative;background:var(--surface);border:1px solid var(--linha);
    border-radius:var(--r-card);padding:26px 22px 46px;
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
  @media (prefers-reduced-motion: no-preference){ .area-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);} }
  .area-card:hover{border-color:var(--dourado);}
  .area-card .ai-icon{width:30px;height:30px;color:var(--dourado);display:block;margin-bottom:20px;}
  .area-card .ai-icon svg{width:100%;height:100%;}
  .area-card p{font-size:14.5px;font-weight:600;line-height:1.4;margin:0;}
  .area-card small{display:block;margin-top:8px;font-size:12.5px;font-weight:400;line-height:1.5;opacity:.65;}
  .area-card .arrow{
    position:absolute;right:20px;bottom:18px;color:var(--dourado);
    opacity:0;transform:translateX(-4px);
    transition:opacity .25s ease, transform .25s ease;
  }
  .area-card:hover .arrow{opacity:1;transform:translateX(0);}

  /* ---------- VISION — SVG connection graphic reusing the hero-routes motif ---------- */
  .vision-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
  @media(max-width:900px){ .vision-split{grid-template-columns:1fr;gap:34px;} }
  .vision-graphic{
    position:relative;aspect-ratio:1/1;max-width:400px;margin:0 auto;
  }
  .vision-graphic svg{width:100%;height:100%;}
  .vision-node-label{
    position:absolute;
    font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    color:var(--dourado);white-space:nowrap;
  }
  .vision-node-label.vnl-top{transform:translate(-50%,-170%);}
  .vision-node-label.vnl-bottom{transform:translate(-50%,55%);}
  .vision-copy p{font-size:16px;line-height:1.7;opacity:.85;margin-top:16px;max-width:54ch;}

  /* ---------- TERRITORY — country pills beside an existing project map still ---------- */
  .territory-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
  @media(max-width:900px){ .territory-split{grid-template-columns:1fr;gap:32px;} }
  .territory-media{border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:16/10;}
  .territory-media img{width:100%;height:100%;object-fit:cover;display:block;}

  /* ---------- GLOBAL CONNECTIONS — cinematic closing section (Home), real
     globe asset, sits immediately before the footer as the Home's final
     visual beat. Deep-navy background gradient resolves into the footer's
     own --azul-marinho so the transition reads as one continuous fade to
     dark rather than two stacked blocks. ---------- */
  .global-connections{
    background:linear-gradient(180deg, #071426 0%, #0D203B 55%, var(--azul-marinho) 100%);
    position:relative;overflow:hidden;
    padding-block:clamp(90px,12vw,150px) 0;
    min-height:75vh;
    display:flex;flex-direction:column;align-items:center;
    text-align:center;
  }
  .gc-copy{position:relative;z-index:3;max-width:640px;margin:0 auto;padding-inline:24px;}
  .gc-copy .eyebrow{color:#E5C65A;}
  .gc-places{
    font-family:var(--serif);font-size:clamp(17px,2vw,21px);letter-spacing:.04em;
    color:#F4F0E7;margin-top:16px;
  }
  .gc-quote{
    font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.4vw,26px);
    color:#A8B1BE;margin-top:14px;max-width:30ch;margin-inline:auto;line-height:1.4;
  }
  .gc-media{
    position:relative;width:min(92%, 1160px);margin:44px auto 0;
    aspect-ratio:1536/1024;
  }
  .gc-media img{width:100%;height:100%;object-fit:contain;display:block;position:relative;z-index:1;}
  /* the image dissolves into the section on every side, and its bottom
     specifically resolves into the same navy the footer opens with, so the
     planet appears to fade into darkness right before the footer reveals */
  .gc-media::after{
    content:"";position:absolute;inset:-6%;z-index:2;pointer-events:none;
    background:
      radial-gradient(ellipse at center, rgba(7,20,38,0) 44%, rgba(7,20,38,.55) 72%, #0D203B 96%),
      linear-gradient(180deg, rgba(7,20,38,0) 58%, var(--azul-marinho) 100%);
  }
  @media(max-width:720px){
    .global-connections{min-height:0;padding-block:clamp(64px,14vw,100px) 0;}
    .gc-media{width:100%;margin-top:32px;}
  }

  /* ---------- CARDS / TILES (soft rounded cards with depth) ---------- */
  .card{
    border-top:none;padding:26px 24px;background:var(--surface);
    border-radius:var(--r-card);box-shadow:var(--shadow-sm);
    transition:box-shadow .2s ease, transform .2s ease;
  }
  @media (prefers-reduced-motion: no-preference){ .card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);} }
  .tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  @media(max-width:860px){.tile-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.tile-grid{grid-template-columns:1fr;}}
  .tile-grid.tiles-5{grid-template-columns:repeat(5,1fr);}
  @media(max-width:1180px){.tile-grid.tiles-5{grid-template-columns:repeat(3,1fr);}}
  @media(max-width:760px){.tile-grid.tiles-5{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.tile-grid.tiles-5{grid-template-columns:1fr;}}
  .tile{background:var(--surface);padding:26px 24px;border-radius:var(--r-card);box-shadow:var(--shadow-sm);}
  .tile .eyebrow{display:block;margin-bottom:10px;}
  .tile strong{display:block;font-family:var(--serif);font-size:20px;font-weight:600;}
  .tile small{display:block;margin-top:6px;font-size:13px;color:var(--fg);opacity:.65;}

  .pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media(max-width:860px){.pillars{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.pillars{grid-template-columns:1fr;}}
  .pillar{border-top:none;padding:24px 22px;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-sm);}
  .pillar .num{font-family:var(--serif);font-size:30px;color:var(--dourado);display:block;margin-bottom:14px;}
  .pillar h3{font-size:23px;margin-bottom:8px;}
  .pillar p{font-size:14px;opacity:.75;margin:0;}

  .section-head{max-width:720px;margin-bottom:44px;}
  .section-head h2{font-size:clamp(26px,3.4vw,38px);margin-top:14px;}
  .section-head p{font-size:16px;opacity:.75;margin-top:14px;max-width:60ch;}

  .chip-row{display:flex;flex-wrap:wrap;gap:10px;}
  .chip{
    border:1px solid var(--linha);border-radius:999px;padding:9px 16px;
    font-size:13px;font-weight:600;background:var(--surface);
    color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:8px;
  }
  .chip.is-prepared{opacity:.55;cursor:default;}
  .chip.dark{background:var(--azul-marinho);color:#F4F0E6;border-color:var(--azul-marinho);}
  .chip.green{background:var(--verde);color:#F4F0E6;border-color:var(--verde);}
  .chip.gold{background:var(--dourado);color:var(--azul-marinho);border-color:var(--dourado);font-weight:700;}
  /* on a dark page background these solid-navy/green chips otherwise blend
     straight into the surroundings — give them a visible edge in dark mode */
  :root[data-theme="dark"] .chip.dark, :root[data-theme="dark"] .chip.green{border-color:var(--linha-clara);}
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]) .chip.dark, :root:not([data-theme="light"]) .chip.green{border-color:var(--linha-clara);}
  }

  .areas-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;}
  @media(max-width:700px){.areas-list{grid-template-columns:1fr;}}
  .areas-list a, .areas-list div{
    display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--linha);font-size:15px;
  }
  .areas-list .dash{color:var(--dourado);font-family:var(--serif);font-size:18px;}

  .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
  @media(max-width:860px){.steps{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.steps{grid-template-columns:1fr;}}
  .steps.steps-3{grid-template-columns:repeat(3,1fr);}
  @media(max-width:640px){.steps.steps-3{grid-template-columns:1fr;}}
  .steps.steps-6{grid-template-columns:repeat(6,1fr);}
  @media(max-width:1100px){.steps.steps-6{grid-template-columns:repeat(3,1fr);}}
  @media(max-width:640px){.steps.steps-6{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:400px){.steps.steps-6{grid-template-columns:1fr;}}
  .step{background:var(--surface);padding:22px 18px;border-radius:var(--r-card);box-shadow:var(--shadow-sm);}
  .step.active{background:linear-gradient(155deg, var(--azul-marinho), var(--azul-profundo));color:#F4F0E6;box-shadow:var(--shadow-md);}
  .step .n{font-family:var(--serif);font-size:22px;color:var(--dourado);display:block;margin-bottom:10px;}
  .step p{font-size:13.5px;margin:0;opacity:.85;font-weight:600;}
  .step small{display:block;margin-top:6px;font-size:12px;font-weight:400;opacity:.75;line-height:1.5;}

  .darkpanel{background:linear-gradient(155deg, var(--azul-marinho), var(--azul-profundo));color:#F4F0E6;padding:44px 40px;border-radius:var(--r-card);box-shadow:var(--shadow-md);}
  .darkpanel .eyebrow{color:var(--ouro-claro);}
  .darkpanel p.big{font-family:var(--serif);font-size:clamp(22px,2.8vw,32px);line-height:1.3;margin-top:16px;color:#F4F0E6;}
  .lightpanel{border-left:3px solid var(--dourado);padding:24px 24px 24px 32px;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-sm);}
  .lightpanel p.big{font-family:var(--serif);font-size:clamp(22px,2.8vw,32px);line-height:1.3;margin-top:16px;}

  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  @media(max-width:800px){.two-col{grid-template-columns:1fr;}}

  .manifesto{background:linear-gradient(160deg, var(--azul-marinho) 0%, var(--azul-profundo) 100%);color:#F4F0E6;padding-block:96px;position:relative;overflow:hidden;}
  .manifesto .wrap{position:relative;z-index:2;}
  .manifesto h2{font-size:clamp(28px,4vw,44px);color:#F4F0E6;max-width:16ch;}
  .manifesto p{font-size:17px;max-width:56ch;color:#D9D2BE;margin-top:20px;}
  .manifesto .sign{margin-top:40px;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--ouro-claro);border-top:1px solid var(--linha-clara);padding-top:26px;max-width:44ch;}

  .quote-block{border-left:2px solid var(--dourado);padding-left:26px;margin-top:8px;}
  .quote-block q{font-family:var(--serif);font-style:italic;font-size:24px;display:block;margin:0 0 12px;}
  .quote-block cite{font-style:normal;font-size:13px;opacity:.7;display:block;line-height:1.6;}

  .symbol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  @media(max-width:800px){.symbol-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:480px){.symbol-grid{grid-template-columns:1fr;}}
  .symbol{background:var(--surface);padding:24px 22px;border-radius:var(--r-card);box-shadow:var(--shadow-sm);}
  .symbol strong{display:block;font-family:var(--serif);font-size:17px;margin-bottom:8px;}
  .symbol p{font-size:13.5px;opacity:.72;margin:0;}

  .voice-list div{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--linha);align-items:baseline;}
  .voice-list .tag{width:130px;flex-shrink:0;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--dourado);font-weight:700;}
  .voice-list p{font-family:var(--serif);font-size:19px;margin:0;}

  .partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media(max-width:900px){.partner-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:480px){.partner-grid{grid-template-columns:1fr;}}
  .partner-card{border:1px solid var(--linha);border-radius:var(--r-card);padding:24px;background:var(--surface);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease, transform .2s ease;}
  @media (prefers-reduced-motion: no-preference){ .partner-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);} }
  .partner-card h3{font-size:18px;margin-bottom:8px;}
  .partner-card p{font-size:13.5px;opacity:.72;margin:0;}

  .logo-slot{
    border:1px dashed var(--linha);border-radius:var(--r-ui-sm);
    height:88px;display:flex;align-items:center;justify-content:center;
    font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg);opacity:.4;text-align:center;padding:8px;
    background:var(--surface);
  }
  .logo-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  @media(max-width:700px){.logo-slots{grid-template-columns:repeat(2,1fr);}}

  .note-box{border:1px solid var(--linha);border-radius:var(--r-card);padding:20px 24px;font-size:13.5px;opacity:.8;background:var(--marfim-2);box-shadow:var(--shadow-sm);}

  /* FAQ accordion */
  .faq-item{border-bottom:1px solid var(--linha);}
  .faq-item:first-child{border-top:1px solid var(--linha);}
  .faq-q{
    width:100%;text-align:left;background:transparent;border:none;cursor:pointer;
    padding:24px 0;display:flex;justify-content:space-between;align-items:baseline;gap:16px;
    font-family:var(--serif);font-weight:500;font-size:clamp(17px,2vw,21px);color:inherit;min-height:48px;
  }
  .faq-q .plus{font-family:var(--serif);font-size:24px;color:var(--dourado);flex-shrink:0;transition:transform .2s ease;}
  .faq-item[open] .plus{transform:rotate(45deg);}
  .faq-a{padding:0 0 24px;font-size:15px;opacity:.75;max-width:68ch;font-family:var(--sans);}
  .faq-q::-webkit-details-marker{display:none;}

  /* Contact form */
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  @media(max-width:700px){.form-grid{grid-template-columns:1fr;}}
  .field{display:flex;flex-direction:column;gap:8px;}
  .field.full{grid-column:1 / -1;}
  .field label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fg);opacity:.7;}
  .field input, .field select, .field textarea{
    border:1px solid var(--linha);border-radius:var(--r-ui-sm);
    padding:13px 14px;font-family:var(--sans);font-size:14.5px;background:var(--surface);color:inherit;
    min-height:48px;
  }
  .field textarea{min-height:120px;resize:vertical;}
  .field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--dourado);outline-offset:1px;}
  #contactSuccess{display:none;}
  #contactSuccess.show{display:block;}
  #contactForm.hide{display:none;}

  /* ---------- FORM STATES — loading/error (Contato) ---------- */
  .btn[disabled]{opacity:.6;cursor:not-allowed;}
  .form-error{
    border:1px solid #B3492F;border-radius:var(--r-card);padding:16px 20px;
    font-size:13.5px;background:rgba(179,73,47,.08);color:inherit;margin-top:16px;display:none;
  }
  .form-error.show{display:block;}
  .spinner-dot{
    display:inline-block;width:14px;height:14px;border-radius:50%;
    border:2px solid rgba(244,240,230,.4);border-top-color:#F4F0E6;
    margin-right:8px;vertical-align:-2px;animation:spin .7s linear infinite;
  }
  @keyframes spin{to{transform:rotate(360deg);}}
  @media (prefers-reduced-motion: reduce){ .spinner-dot{animation:none;} }

  /* ---------- INTERNAL PAGE HERO — shared hero pattern for inner pages ---------- */
  .breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.03em;opacity:.55;margin-bottom:20px;font-family:var(--sans);}
  .breadcrumb a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;}
  .breadcrumb a:hover{border-bottom-color:currentColor;}
  .breadcrumb .sep{opacity:.6;}
  .ipage-hero-mark{display:block;width:44px;height:3px;background:var(--dourado);margin-top:18px;border-radius:2px;}
  .ipage-hero h1{margin-top:16px;}

  /* ---------- TIMELINE (Sobre — Trajetória) ---------- */
  .timeline{position:relative;padding-left:30px;border-left:2px solid var(--linha);}
  .timeline-item{position:relative;padding-bottom:38px;}
  .timeline-item:last-child{padding-bottom:0;}
  .timeline-item::before{
    content:"";position:absolute;left:-37px;top:4px;width:10px;height:10px;
    border-radius:50%;background:var(--dourado);box-shadow:0 0 0 4px var(--bg);
  }
  .timeline-item .t-year{font-family:var(--serif);font-size:24px;color:var(--dourado);display:block;margin-bottom:6px;}
  .timeline-item p{font-size:15px;opacity:.8;max-width:56ch;margin:0;}

  /* ---------- VALUE ITEMS (Sobre — O Que Nos Move) ---------- */
  .values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  @media(max-width:900px){.values-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.values-grid{grid-template-columns:1fr;}}
  .value-item{border-top:2px solid var(--dourado);padding-top:16px;}
  .value-item strong{display:block;font-family:var(--serif);font-size:19px;margin-bottom:6px;}
  .value-item p{font-size:13.5px;opacity:.72;margin:0;}

  /* ---------- ECOSYSTEM GRID (Parceiros) ---------- */
  .eco-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  @media(max-width:900px){.eco-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.eco-grid{grid-template-columns:1fr;}}
  .eco-card{background:var(--surface);border:1px solid var(--linha);border-radius:var(--r-card);padding:22px 20px;box-shadow:var(--shadow-sm);}
  .eco-card strong{display:block;font-family:var(--serif);font-size:17px;margin-bottom:8px;}
  .eco-card p{font-size:13.5px;opacity:.72;margin:0;}

  /* ---------- ACCORDION — accessible, replaces native <details> FAQ markup ---------- */
  .accordion-item{border-bottom:1px solid var(--linha);}
  .accordion-item:first-child{border-top:1px solid var(--linha);}
  .accordion-trigger{
    width:100%;text-align:left;background:transparent;border:none;cursor:pointer;
    padding:24px 0;display:flex;justify-content:space-between;align-items:baseline;gap:16px;
    font-family:var(--serif);font-weight:500;font-size:clamp(17px,2vw,21px);color:inherit;min-height:48px;
  }
  .accordion-trigger .plus{font-family:var(--serif);font-size:24px;color:var(--dourado);flex-shrink:0;transition:transform .2s ease;}
  .accordion-trigger[aria-expanded="true"] .plus{transform:rotate(45deg);}
  .accordion-trigger:focus-visible{outline:2px solid var(--dourado);outline-offset:2px;}
  .accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease;}
  .accordion-panel-inner{overflow:hidden;}
  .accordion-item.is-open .accordion-panel{grid-template-rows:1fr;}
  .accordion-a{padding:0 0 24px;font-size:15px;opacity:.75;max-width:68ch;font-family:var(--sans);margin:0;}
  @media (prefers-reduced-motion: reduce){ .accordion-panel{transition:none;} }

  /* ---------- COUNTRY TABS (Sobre — Presença: clickable country tabs revealing a photo) ---------- */
  .country-tabs{display:flex;flex-wrap:wrap;gap:10px;}
  .country-tab{
    border:1px solid var(--linha);border-radius:999px;padding:11px 20px;
    font-size:13.5px;font-weight:600;background:var(--surface);color:inherit;cursor:pointer;
    min-height:44px;transition:border-color .2s ease, background-color .2s ease, color .2s ease;
  }
  .country-tab:hover{border-color:var(--dourado);}
  .country-tab:focus-visible{outline:2px solid var(--dourado);outline-offset:2px;}
  .country-tab.is-active{background:var(--azul-marinho);color:#F4F0E6;border-color:var(--azul-marinho);}
  .country-tab.is-priority{border-color:var(--dourado);border-width:1.5px;display:flex;flex-direction:column;align-items:center;gap:2px;}
  .country-tab .tab-badge{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--dourado);font-weight:700;}
  .country-tab.is-priority.is-active .tab-badge{color:var(--ouro-claro);}
  .country-panels{margin-top:24px;}
  .country-panel{border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:16/9;}
  .country-panel[hidden]{display:none;}
  .country-panel img{width:100%;height:100%;object-fit:cover;display:block;}
  .country-photo-slot{
    width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;
    background:var(--marfim-2);border:1px dashed var(--linha);padding:24px;
    font-size:13px;letter-spacing:.04em;text-transform:uppercase;opacity:.5;
  }
  @media(max-width:600px){ .country-tab{padding:10px 16px;font-size:13px;} }

  /* ---------- FÓRUM — Oportunidades (3-col grid) and Países (text-content
     tab panels, reusing .country-tabs/.country-tab above for the tab strip
     but with their own panel styling since these hold text, not photos) ---------- */
  .opp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  @media(max-width:900px){ .opp-grid{grid-template-columns:1fr;} }
  .fcountry-panel{
    background:var(--surface);border:1px solid var(--linha);border-radius:var(--r-card);
    padding:28px 26px;box-shadow:var(--shadow-sm);
  }
  .fcountry-panel[hidden]{display:none;}
  .fcountry-panel p{font-size:15px;line-height:1.7;opacity:.85;margin:0 0 14px;max-width:62ch;}
  .fcountry-panel p:last-child{margin-bottom:0;}
  .fcountry-panel .fc-link{
    display:inline-flex;align-items:center;gap:6px;margin-top:4px;
    font-size:13.5px;font-weight:700;color:var(--azul-marinho);text-decoration:none;
    border-bottom:1px solid var(--dourado);padding-bottom:2px;
  }
  :root[data-theme="dark"] .fcountry-panel .fc-link{color:var(--ouro-claro);}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fcountry-panel .fc-link{color:var(--ouro-claro);}}

  /* FOOTER */
  footer.site{background:linear-gradient(160deg, var(--azul-marinho) 0%, var(--azul-profundo) 100%);color:#D9D2BE;padding-block:64px 32px;border-radius:var(--r-hero) var(--r-hero) 0 0;margin-top:8px;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;}
  @media(max-width:780px){.footer-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:480px){.footer-grid{grid-template-columns:1fr;}}
  footer.site h4{color:#F4F0E6;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--sans);font-weight:700;margin-bottom:16px;}
  footer.site a{display:block;color:#D9D2BE;text-decoration:none;font-size:14px;margin-bottom:10px;}
  footer.site .brand-word span{color:var(--ouro-claro);}
  footer.site p{font-size:13.5px;color:#B9B49E;max-width:34ch;margin-top:14px;}
  .footer-bottom{border-top:1px solid var(--linha-clara);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:#9C977F;}

  .skip-link{position:absolute;left:-9999px;top:0;background:var(--azul-marinho);color:#fff;padding:12px 18px;border-radius:0 0 8px 0;z-index:100;}
  .skip-link:focus{left:0;}

  /* ---------- UX / motion layer ---------- */
  @media (prefers-reduced-motion: no-preference){
    html{scroll-behavior:smooth;}
  }
  :focus-visible{outline:2px solid var(--dourado);outline-offset:2px;}

  /* in-page anchor targets reached from the header dropdowns (#pagina?to=id) —
     offset so content doesn't land underneath the sticky header */
  #numeros,#presenca,#geci{
    scroll-margin-top:112px;
  }

  .scroll-progress{
    position:fixed;top:0;left:0;height:3px;width:0%;
    background:var(--ouro-claro);z-index:70;
    transition:width .08s linear;
  }

  .back-to-top{
    position:fixed;right:22px;bottom:22px;z-index:60;
    width:48px;height:48px;border-radius:var(--r-ui-sm);
    background:var(--azul-marinho);color:#F4F0E6;border:1px solid var(--azul-marinho);
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    opacity:0;transform:translateY(10px);pointer-events:none;
    transition:opacity .25s ease, transform .25s ease, background-color .2s ease;
  }
  .back-to-top.show{opacity:1;transform:translateY(0);pointer-events:auto;}
  .back-to-top:hover{background:var(--azul-profundo);}
  .back-to-top svg{width:18px;height:18px;}
  @media print{.back-to-top,.scroll-progress{display:none;}}

  /* custom cursor — fine pointers only, opt-in via JS after feature detection */
  .cursor-dot,.cursor-ring{
    position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:9999;
    transform:translate(-50%,-50%);will-change:transform;
  }
  .cursor-dot{width:6px;height:6px;background:var(--ouro-claro);}
  .cursor-ring{
    width:34px;height:34px;border:1px solid var(--ouro-claro);opacity:.65;
    transition:width .2s ease,height .2s ease,opacity .2s ease,border-color .2s ease;
  }
  .cursor-ring.is-hover{width:56px;height:56px;opacity:1;border-color:var(--dourado);}
  body.has-custom-cursor, body.has-custom-cursor a, body.has-custom-cursor button, body.has-custom-cursor summary{cursor:none;}
  .cursor-dot,.cursor-ring{display:none;}
  body.has-custom-cursor .cursor-dot, body.has-custom-cursor .cursor-ring{display:block;}

  /* page transition */
  @media (prefers-reduced-motion: no-preference){
    main > .page{animation:pageIn .28s cubic-bezier(.22,.61,.36,1) both;}
  }
  @keyframes pageIn{
    from{opacity:0;transform:translateY(8px);}
    to{opacity:1;transform:translateY(0);}
  }

  /* button / link micro-interactions */
  .btn{transition:opacity .15s ease, transform .15s ease, background-color .2s ease, border-color .2s ease;}
  @media (prefers-reduced-motion: no-preference){ .btn:hover{transform:translateY(-2px);} }
  .btn:hover{opacity:1;}
  .btn-primary:hover{background:var(--azul-profundo);}
  .btn-ghost:hover{border-color:var(--dourado);}
  .btn-ghost.on-dark:hover{border-color:var(--ouro-claro);}
  .btn-gold:hover{border-color:var(--ouro-claro);background:rgba(217,185,91,0.1);}

  nav.primary a{transition:border-color .25s ease, color .2s ease;}
  nav.primary a:hover{border-color:var(--linha);}

  .chip{transition:border-color .2s ease, transform .15s ease;}
  @media (prefers-reduced-motion: no-preference){ .chip-row a.chip:hover, .chip-row button.chip:hover{transform:translateY(-1px);} }

  /* mobile nav open/close */
  #mobileNav{
    max-width:var(--maxw);margin:8px auto 0;padding-inline:16px;
    max-height:0;overflow:hidden;opacity:0;visibility:hidden;
    transition:max-height .35s ease, opacity .3s ease, visibility 0s linear .35s;
  }
  #mobileNav .wrap{
    background:var(--surface);border:1px solid var(--linha);border-radius:var(--r-card);
    box-shadow:var(--shadow-md);padding-inline:14px;
  }
  #mobileNav.open{
    max-height:min(680px, calc(100vh - 120px));opacity:1;visibility:visible;overflow-y:auto;
    transition:max-height .35s ease, opacity .3s ease, visibility 0s linear 0s;
  }
  #mobileNav .wrap > a, #mobileNav .wrap > .mnav-group{
    opacity:0;transform:translateY(-6px);
    transition:opacity .3s ease, transform .3s ease;
  }
  #mobileNav.open .wrap > a, #mobileNav.open .wrap > .mnav-group{opacity:1;transform:translateY(0);}
  #mobileNav .wrap > *:nth-child(1){transition-delay:.03s;}
  #mobileNav .wrap > *:nth-child(2){transition-delay:.06s;}
  #mobileNav .wrap > *:nth-child(3){transition-delay:.09s;}
  #mobileNav .wrap > *:nth-child(4){transition-delay:.12s;}
  #mobileNav .wrap > *:nth-child(5){transition-delay:.15s;}
  #mobileNav .wrap > *:nth-child(6){transition-delay:.18s;}
  #mobileNav .wrap > *:nth-child(7){transition-delay:.21s;}
  #mobileNav .wrap > *:nth-child(8){transition-delay:.24s;}
  #mobileNav .wrap > *:nth-child(9){transition-delay:.27s;}
  #mobileNav .wrap > *:nth-child(10){transition-delay:.3s;}
  @media (prefers-reduced-motion: reduce){
    #mobileNav, #mobileNav .wrap > a, #mobileNav .wrap > .mnav-group{transition:none!important;}
  }
  .burger::before,.burger::after{transition:transform .25s ease, opacity .2s ease;}
  .burger.open::before{transform:translateY(3.5px) rotate(45deg);}
  .burger.open::after{transform:translateY(-3.5px) rotate(-45deg);}

  /* ---------- editorial / documentary devices ---------- */
  .chapter{position:relative;}
  .ghost-num{
    display:block;font-family:var(--serif);font-weight:500;
    font-size:clamp(70px,10vw,130px);line-height:.8;
    color:transparent;-webkit-text-stroke:1px var(--linha);
    margin-bottom:14px;user-select:none;
  }
  :root[data-theme="dark"] .ghost-num, .hero .ghost-num, .manifesto .ghost-num{-webkit-text-stroke:1px var(--linha-clara);}

  .pull{position:relative;padding-left:.1em;}
  .pull .mark{
    display:block;font-family:var(--serif);font-size:clamp(60px,9vw,120px);
    line-height:.4;color:var(--dourado);opacity:.55;margin-bottom:8px;
  }
  .pull q{font-family:var(--serif);font-style:italic;font-weight:500;
    font-size:clamp(26px,4vw,44px);line-height:1.22;display:block;quotes:none;max-width:20ch;}
  .pull q::before,.pull q::after{content:"";}

  .ed-row{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:28px 0;border-bottom:1px solid var(--linha);}
  .ed-row:first-child{border-top:1px solid var(--linha);}
  @media(max-width:700px){.ed-row{grid-template-columns:1fr;gap:10px;}}
  .ed-row .label{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dourado);padding-top:4px;}
  .ed-row .value{font-family:var(--serif);font-size:clamp(19px,2.2vw,24px);line-height:1.35;}
  .ed-row .value small{display:block;font-family:var(--sans);font-size:13.5px;opacity:.65;margin-top:6px;font-style:normal;}

  .seal{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;}
  .seal img{width:96px;height:auto;opacity:.92;}
  .seal .ring{width:132px;height:132px;border:1px solid var(--linha-clara);border-radius:50%;display:flex;align-items:center;justify-content:center;}
  .seal .cap{font-family:var(--sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro-claro);opacity:.8;}

  .masthead-rule{border-top:1px solid var(--linha);}

  /* Scroll-reveal: visible by default (no-JS / reduced-motion fallback).
     JS arms elements only when it can observe them, so nothing is ever
     stuck invisible. */
  .reveal-armed{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease;}
  .reveal-armed.reveal-in{opacity:1;transform:translateY(0);}
  /* modifier for elements that should fade+scale in rather than rise —
     used by the Global Vision globe image; slow and subtle by design */
  .reveal-armed.reveal-scale{transform:scale(.97);transition:opacity 1s ease, transform 1s ease;}
  .reveal-armed.reveal-scale.reveal-in{transform:scale(1);}
  @media (prefers-reduced-motion: reduce){
    .reveal-armed{opacity:1!important;transform:none!important;transition:none!important;}
  }
