/* =====================================================================
   Fontes locais (Fontsource, licença SIL Open Font License 1.1)
   Jost 400/500/600 · Cormorant Garamond 500/600 e 500 itálico · EB Garamond 400 e 400 itálico
   Subconjuntos latin e latin-ext; os ficheiros estão em /fonts.
   ===================================================================== */
@font-face{font-family:'Jost';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/jost/jost-latin-ext-400-normal.woff2') format('woff2'),url('../fonts/jost/jost-latin-ext-400-normal.woff') format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/jost/jost-latin-400-normal.woff2') format('woff2'),url('../fonts/jost/jost-latin-400-normal.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-display:swap;font-weight:500;src:url('../fonts/jost/jost-latin-ext-500-normal.woff2') format('woff2'),url('../fonts/jost/jost-latin-ext-500-normal.woff') format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-display:swap;font-weight:500;src:url('../fonts/jost/jost-latin-500-normal.woff2') format('woff2'),url('../fonts/jost/jost-latin-500-normal.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-display:swap;font-weight:600;src:url('../fonts/jost/jost-latin-ext-600-normal.woff2') format('woff2'),url('../fonts/jost/jost-latin-ext-600-normal.woff') format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-display:swap;font-weight:600;src:url('../fonts/jost/jost-latin-600-normal.woff2') format('woff2'),url('../fonts/jost/jost-latin-600-normal.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-display:swap;font-weight:500;src:url('../fonts/cormorant-garamond/cormorant-garamond-latin-ext-500-normal.woff2') format('woff2'),url('../fonts/cormorant-garamond/cormorant-garamond-latin-ext-500-normal.woff') format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-display:swap;font-weight:500;src:url('../fonts/cormorant-garamond/cormorant-garamond-latin-500-normal.woff2') format('woff2'),url('../fonts/cormorant-garamond/cormorant-garamond-latin-500-normal.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-display:swap;font-weight:600;src:url('../fonts/cormorant-garamond/cormorant-garamond-latin-ext-600-normal.woff2') format('woff2'),url('../fonts/cormorant-garamond/cormorant-garamond-latin-ext-600-normal.woff') format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-display:swap;font-weight:600;src:url('../fonts/cormorant-garamond/cormorant-garamond-latin-600-normal.woff2') format('woff2'),url('../fonts/cormorant-garamond/cormorant-garamond-latin-600-normal.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-display:swap;font-weight:500;src:url('../fonts/cormorant-garamond/cormorant-garamond-latin-ext-500-italic.woff2') format('woff2'),url('../fonts/cormorant-garamond/cormorant-garamond-latin-ext-500-italic.woff') format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-display:swap;font-weight:500;src:url('../fonts/cormorant-garamond/cormorant-garamond-latin-500-italic.woff2') format('woff2'),url('../fonts/cormorant-garamond/cormorant-garamond-latin-500-italic.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/eb-garamond/eb-garamond-latin-ext-400-normal.woff2') format('woff2'),url('../fonts/eb-garamond/eb-garamond-latin-ext-400-normal.woff') format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'EB Garamond';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/eb-garamond/eb-garamond-latin-400-normal.woff2') format('woff2'),url('../fonts/eb-garamond/eb-garamond-latin-400-normal.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:italic;font-display:swap;font-weight:400;src:url('../fonts/eb-garamond/eb-garamond-latin-ext-400-italic.woff2') format('woff2'),url('../fonts/eb-garamond/eb-garamond-latin-ext-400-italic.woff') format('woff');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'EB Garamond';font-style:italic;font-display:swap;font-weight:400;src:url('../fonts/eb-garamond/eb-garamond-latin-400-italic.woff2') format('woff2'),url('../fonts/eb-garamond/eb-garamond-latin-400-italic.woff') format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Base: margens de segurança dos telemóveis com recorte (viewport-fit=cover) */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}

/* =====================================================================
   AF CONTAS & PARCEIROS – PRESTAÇÃO DE SERVIÇOS, LDA — Website v2
   Marinho institucional + azul vivo AF + branco; dourado só em detalhe.
   Cormorant Garamond (títulos) · Jost (texto e interface).
   Tema único claro com secções marinho, por opção de identidade.
   ===================================================================== */
:root{
  --navy:#0A1A38;--navy-2:#0F2548;--navy-3:#081733;--navy-4:#16305E;--navy-deep:#050D20;
  --cyan:#0FA1E5;--cyan-2:#5DC4F2;--cyan-ink:#0A6FAE;--cyan-wash:rgba(15,161,229,.10);
  --blue:#2F5D9E;--blue-2:#6F95C9;
  --paper:#FFFFFF;--mist:#F4F7FB;--mist-2:#EAF0F7;--rule:#E2E8F1;--rule-2:#CBD6E4;
  --gold:#C6A35A;--gold-2:#DCC48E;--gold-ink:#8A6A2B;--gold-wash:rgba(198,163,90,.13);
  --ink:#0B1730;--ink-2:#3F4F6A;--ink-3:#65738B;
  --on-navy:#F3F6FB;--on-navy-2:rgba(243,246,251,.80);--on-navy-3:rgba(243,246,251,.58);--rule-navy:rgba(243,246,251,.14);
  --ok:#1F7A55;--err:#B4322A;
  --f-display:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --f-text:"Jost","Futura","Century Gothic","Segoe UI",Arial,sans-serif;
  --f-ui:"Jost","Futura","Century Gothic","Segoe UI",Arial,sans-serif;
  --maxw:1240px;--gut:clamp(16px,4vw,40px);--header-h:80px;
  --r-sm:10px;--r:18px;--r-lg:28px;--r-xl:40px;
  --sh-1:0 1px 2px rgba(10,26,56,.05),0 12px 32px -16px rgba(10,26,56,.22);
  --sh-2:0 2px 8px rgba(10,26,56,.06),0 30px 64px -26px rgba(10,26,56,.38);
  --ease:cubic-bezier(.2,.7,.2,1);
  --sbg:var(--paper);
  color-scheme:light;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-text);font-size:16.5px;line-height:1.65;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
@media (min-width:1000px){body{font-size:17px}}
[hidden]{display:none!important}
img,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
dl,dd{margin:0}
h1,h2,h3,h4{margin:0;font-family:var(--f-display);font-weight:500;line-height:1.12;text-wrap:balance}
h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:none}
button{font:inherit;color:inherit}
::selection{background:var(--cyan-2);color:var(--navy)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.wrap{width:100%;max-width:calc(var(--maxw) + 2 * var(--gut));margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--cyan);color:var(--navy);font-family:var(--f-ui);font-size:.9rem;padding:.6rem 1rem;border-radius:999px;text-decoration:none}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:clamp(2rem,4vw,3rem)}

/* ---------- Tipografia ---------- */
.kicker{display:flex;align-items:center;gap:.8rem;font-family:var(--f-ui);font-size:.74rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan-ink);line-height:1.3}
.kicker::before{content:"";flex:none;width:26px;height:1px;background:var(--gold)}
.dark .kicker{color:var(--cyan-2)}
.h1{font-size:clamp(2.6rem,1.3rem + 4.6vw,5.2rem);line-height:1.02;letter-spacing:-.014em}
.h2{font-size:clamp(2.05rem,1.3rem + 2.4vw,3.4rem);line-height:1.06;letter-spacing:-.01em}
.h3{font-size:clamp(1.45rem,1.2rem + .7vw,1.8rem);line-height:1.15;font-weight:600}
.h1 em,.h2 em,.h3 em{font-style:italic;color:var(--cyan-ink)}
.dark .h1 em,.dark .h2 em,.dark .h3 em{color:var(--cyan-2)}
.lead{font-size:clamp(1.08rem,1rem + .35vw,1.24rem);line-height:1.6;color:var(--ink-2);max-width:38em}
.dark .lead{color:var(--on-navy-2)}
.copy{display:grid;gap:1em;color:var(--ink-2);max-width:62ch}
.dark .copy{color:var(--on-navy-2)}
.num{font-family:var(--f-ui);font-variant-numeric:tabular-nums lining-nums}
.note{font-family:var(--f-ui);font-size:.8rem;line-height:1.55;color:var(--ink-3)}
.dark .note{color:var(--on-navy-3)}

/* ---------- Botões e ligações ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--f-ui);font-weight:500;font-size:.93rem;letter-spacing:.02em;line-height:1.2;padding:.95rem 1.55rem;border-radius:999px;border:1px solid transparent;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s,color .25s,border-color .25s}
.btn svg{width:18px;height:18px;flex:none}
.btn .arr{transition:transform .25s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover .arr{transform:translateX(3px)}
.btn:active{transform:translateY(0)}
.btn-cyan{background:var(--cyan);color:#06122B;box-shadow:0 10px 26px -12px rgba(15,161,229,.75)}
.btn-cyan:hover{background:#39B3EC;box-shadow:0 16px 34px -14px rgba(15,161,229,.85)}
.btn-navy{background:var(--navy);color:var(--on-navy);box-shadow:0 10px 26px -14px rgba(10,26,56,.6)}
.btn-navy:hover{background:var(--navy-4);box-shadow:0 16px 34px -16px rgba(10,26,56,.7)}
.btn-line{border-color:var(--rule-2);color:var(--ink);background:rgba(255,255,255,.6)}
.btn-line:hover{border-color:var(--navy);box-shadow:var(--sh-1)}
.dark .btn-line{border-color:rgba(243,246,251,.32);color:var(--on-navy);background:rgba(255,255,255,.04)}
.dark .btn-line:hover{border-color:var(--cyan-2);box-shadow:0 12px 30px -16px rgba(15,161,229,.6)}
.btn-sm{padding:.68rem 1.1rem;font-size:.86rem}
.link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-ui);font-weight:500;font-size:.92rem;color:var(--navy);text-decoration:none;padding-bottom:4px;background:linear-gradient(var(--cyan),var(--cyan)) 0 100%/0 1.5px no-repeat;transition:background-size .35s var(--ease)}
.link:hover{background-size:100% 1.5px}
.link svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.link:hover svg{transform:translateX(3px)}
.dark .link{color:var(--on-navy)}
.actions{display:flex;flex-wrap:wrap;gap:.75rem}

/* ---------- Placeholders ---------- */
.ph{font-family:var(--f-ui);font-size:.82em;font-weight:500;font-style:normal;letter-spacing:.04em;line-height:1.5;color:var(--gold-ink);background:var(--gold-wash);border:1px dashed rgba(138,106,43,.55);border-radius:4px;padding:.02em .42em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.dark .ph,.foot .ph,.topbar .ph{color:var(--gold-2);background:rgba(198,163,90,.12);border-color:rgba(198,163,90,.5)}
body.review .ph{outline:2px solid var(--gold);outline-offset:2px;background:rgba(198,163,90,.3)}
[data-note]{position:relative}
body.review [data-note]::after{content:attr(data-note);position:absolute;top:0;left:0;transform:translateY(-55%);z-index:6;font-family:var(--f-ui);font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1;color:#fff;background:var(--blue);padding:.38rem .55rem;border-radius:4px;pointer-events:none;white-space:nowrap}

/* ---------- Barra superior e cabeçalho ---------- */
.topbar{position:relative;z-index:3;background:var(--navy-deep);color:var(--on-navy-3);font-family:var(--f-ui);font-size:.78rem;letter-spacing:.03em}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:38px}
.tb-group{display:flex;align-items:center;gap:1.2rem}
.topbar a{color:var(--on-navy-2);text-decoration:none}
.topbar a:hover{color:var(--cyan-2)}
.tb-sep{width:1px;height:12px;background:var(--rule-navy)}
.lang{display:flex;align-items:center;gap:.35rem}
.lang button{background:none;border:0;padding:.2rem .1rem;cursor:pointer;color:var(--on-navy-3);letter-spacing:.14em;font-size:.72rem}
.lang button[aria-pressed="true"]{color:var(--cyan-2)}
@media (max-width:1180px){.tb-xl{display:none}}
@media (max-width:760px){.tb-wide{display:none}}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;margin-bottom:calc(-1 * var(--header-h));--hc:var(--on-navy);--hc-2:var(--on-navy-2);transition:background-color .35s var(--ease),box-shadow .35s var(--ease),backdrop-filter .35s}
.site-header > .wrap{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.4rem);height:var(--header-h);transition:height .35s var(--ease)}
.site-header.is-solid{background:rgba(255,255,255,.84);-webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);box-shadow:0 1px 0 rgba(10,26,56,.08),0 10px 30px -22px rgba(10,26,56,.45);--hc:var(--ink);--hc-2:var(--ink-2)}
.site-header.is-solid > .wrap{height:66px}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--hc);flex:none;min-width:0}
.brand .mono{width:44px;height:44px;flex:none;transition:width .35s var(--ease),height .35s var(--ease)}
.site-header.is-solid .brand .mono{width:38px;height:38px}
.wm{display:flex;flex-direction:column;gap:.28rem;line-height:1;min-width:0}
.wm-1{font-family:var(--f-ui);font-weight:500;font-size:.8rem;letter-spacing:.15em;white-space:nowrap}
.wm-2{font-family:var(--f-ui);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan-2);white-space:nowrap}
.site-header.is-solid .wm-2{color:var(--cyan-ink)}
.nav{margin-left:auto;display:flex;align-items:center;gap:clamp(1rem,1.8vw,2rem)}
.nav a,.nav button{position:relative;display:inline-flex;align-items:center;gap:.35rem;font-family:var(--f-ui);font-size:.92rem;font-weight:500;color:var(--hc-2);text-decoration:none;background:none;border:0;padding:.5rem 0;cursor:pointer;white-space:nowrap}
.nav a::after,.nav button::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover,.nav button:hover,.nav [aria-current="page"],.nav button[aria-expanded="true"]{color:var(--hc)}
.nav a:hover::after,.nav [aria-current="page"]::after{transform:scaleX(1)}
.nav .chev{width:12px;height:12px;transition:transform .25s var(--ease)}
.nav button[aria-expanded="true"] .chev{transform:rotate(180deg)}
.header-cta{flex:none}
.burger{display:none;margin-left:auto;align-items:center;gap:.6rem;background:rgba(255,255,255,.06);border:1px solid var(--rule-navy);color:var(--hc);font-family:var(--f-ui);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:.55rem .85rem;border-radius:999px;cursor:pointer}
.site-header.is-solid .burger{border-color:var(--rule-2);background:transparent}
.burger svg{width:18px;height:18px}
@media (max-width:1040px){.nav,.header-cta{display:none}.burger{display:inline-flex}}
@media (max-width:420px){.wm-1{font-size:.7rem;letter-spacing:.1em}.wm-2{display:none}.brand .mono{width:38px;height:38px}.burger span{display:none}}

/* Mega-menu */
.mega{position:absolute;left:0;right:0;top:100%;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--ink);border-top:1px solid var(--rule);box-shadow:0 40px 70px -40px rgba(10,26,56,.45)}
.mega-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,3fr);gap:2.5rem;padding-block:2.2rem 2.4rem}
.mega-intro{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.mega-intro p:not(.kicker){font-size:.98rem;color:var(--ink-2);line-height:1.55}
.mega-links{display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1.4rem;align-content:start}
.mega-links a{display:grid;grid-template-columns:34px minmax(0,1fr);align-content:start;gap:.1rem .8rem;padding:.7rem .8rem;margin-inline:-.8rem;text-decoration:none;border-radius:14px;transition:background-color .2s}
.mega-links a:hover{background:var(--mist)}
.mega-links .i{grid-row:span 2;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--cyan-wash);color:var(--cyan-ink)}
.mega-links .i svg{width:19px;height:19px}
.mega-links b{font-weight:500;font-size:.93rem;color:var(--ink)}
.mega-links span.t{font-size:.84rem;color:var(--ink-3);line-height:1.4}
.mega-aside{display:flex;flex-direction:column;gap:.8rem}
.mega-card{display:block;border-radius:18px;padding:1.1rem 1.2rem;text-decoration:none;background:var(--navy);color:var(--on-navy);box-shadow:var(--sh-1);transition:transform .25s var(--ease)}
.mega-card:hover{transform:translateY(-3px)}
.mega-card.alt{background:var(--mist);color:var(--ink);box-shadow:none;border:1px solid var(--rule)}
.mega-card b{display:block;font-family:var(--f-display);font-size:1.28rem;font-weight:600;line-height:1.15;margin-bottom:.3rem}
.mega-card span{display:block;font-size:.8rem;line-height:1.45;color:var(--on-navy-2)}
.mega-card.alt span{color:var(--ink-3)}

/* Menu móvel */
.drawer{position:fixed;inset:0;z-index:90;background:var(--navy-deep);color:var(--on-navy);overflow-y:auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
.drawer-top{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.drawer .brand{--hc:var(--on-navy)}
.drawer-close{display:inline-flex;align-items:center;gap:.5rem;background:none;border:1px solid var(--rule-navy);color:var(--on-navy);font-family:var(--f-ui);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:.55rem .85rem;border-radius:999px;cursor:pointer}
.drawer-close svg{width:18px;height:18px}
.drawer-nav{margin-top:.6rem;border-top:1px solid var(--rule-navy)}
.drawer-nav > a,.drawer-nav summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--rule-navy);font-family:var(--f-display);font-size:1.7rem;font-weight:500;color:var(--on-navy);text-decoration:none;cursor:pointer;list-style:none}
.drawer-nav summary::-webkit-details-marker{display:none}
.drawer-nav summary .chev{width:18px;height:18px;transition:transform .25s}
.drawer-nav details[open] summary .chev{transform:rotate(180deg)}
.drawer-sub{padding:.4rem 0 1rem;border-bottom:1px solid var(--rule-navy)}
.drawer-sub a{display:block;padding:.5rem 0;font-size:1rem;color:var(--on-navy-2);text-decoration:none}
.drawer-contacts{display:grid;gap:.8rem;margin-top:1.8rem;font-size:.95rem}
.drawer-contacts a{color:var(--on-navy-2);text-decoration:none;overflow-wrap:anywhere}
.drawer .btn{width:100%;margin-top:1.4rem}

/* ---------- Estrutura ---------- */
main{position:relative}
.page{display:block;position:relative}
.sec{position:relative;z-index:2;padding-block:clamp(76px,9vw,128px);background:var(--sbg)}
.sec.tight{padding-block:clamp(56px,7vw,92px)}
.bg-mist{--sbg:var(--mist)}
.dark{--sbg:var(--navy);background:var(--navy);color:var(--on-navy)}
.sec-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:1.3rem 4rem;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.sec-head .t{display:flex;flex-direction:column;gap:1.1rem}
.sec-head .a{display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start}
@media (max-width:900px){.sec-head{grid-template-columns:minmax(0,1fr)}}

/* ---------- Globo (página inicial) ---------- */
.globe-slot{position:relative;aspect-ratio:1 / 1;width:100%;max-width:100%;isolation:isolate}
.globe-slot > img.gstatic{position:absolute;left:-6%;top:-6%;width:112%;height:112%;max-width:none;object-fit:contain;transition:opacity 1s var(--ease)}
.globe-slot canvas{position:absolute;left:-10%;top:-10%;width:120%;height:120%;display:block;opacity:0;transition:opacity 1.1s var(--ease);touch-action:pan-y}
.globe-slot.live canvas{opacity:1}
.globe-slot.live > img.gstatic{opacity:0!important}
.globe-slot.glhide canvas{opacity:0!important}
.globe-label{position:absolute;left:0;top:0;z-index:3;display:flex;align-items:center;gap:.45rem;padding:.34rem .7rem;border-radius:999px;background:rgba(5,13,32,.66);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(220,196,142,.42);font-family:var(--f-ui);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#F3E6C6;white-space:nowrap;pointer-events:none;opacity:0;will-change:transform,opacity}
.globe-label i{width:6px;height:6px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 10px var(--gold)}
.globe-cap{position:absolute;left:50%;bottom:-2%;transform:translateX(-50%);font-family:var(--f-ui);font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:var(--on-navy-3);white-space:nowrap;pointer-events:none}

/* ---------- Herói ---------- */
.hero{position:relative;z-index:1;overflow:hidden;color:var(--on-navy);background:radial-gradient(60% 70% at 76% 42%,rgba(23,74,140,.55) 0%,rgba(23,74,140,0) 70%),linear-gradient(180deg,#0A1A38 0%,#071430 100%);padding-top:calc(var(--header-h) + clamp(28px,5vw,64px));padding-bottom:clamp(28px,4vw,56px)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(93,196,242,0),rgba(93,196,242,.35),rgba(93,196,242,0))}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:1.5rem;padding-block:clamp(16px,3vw,40px)}
.hero-brand{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;font-family:var(--f-ui);font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--on-navy-2)}
@media (max-width:560px){.hero-brand i,.hero-brand span{display:none}}
.hero-brand b{font-weight:500;color:var(--on-navy)}
.hero-brand i{width:30px;height:1px;background:var(--gold)}
.hero .actions{margin-top:.4rem}
.pills{display:flex;flex-wrap:wrap;gap:.45rem}
.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--rule-navy);background:rgba(255,255,255,.04);font-family:var(--f-ui);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy-2)}
.pill.gold{border-color:rgba(220,196,142,.55);color:var(--gold-2)}
.hero-facts{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(12px,2vw,24px);border-top:1px solid var(--rule-navy)}
.hero-facts > div{padding:1.1rem 1.2rem 1.2rem 0}
.hero-facts > div + div{padding-left:1.2rem;border-left:1px solid var(--rule-navy)}
.hero-facts dt{font-family:var(--f-ui);font-size:.64rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan-2);margin-bottom:.35rem}
.hero-facts dd{font-size:.92rem;color:var(--on-navy);font-variant-numeric:tabular-nums}
@media (max-width:900px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero .globe-slot{width:min(88vw,440px);margin-inline:auto}
  .hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-facts > div:nth-child(3){padding-left:0;border-left:0}
  .hero-facts > div:nth-child(n+3){border-top:1px solid var(--rule-navy)}
}

/* ---------- Secção cinematográfica ---------- */
.cine{position:relative;z-index:1;height:300vh;color:var(--on-navy);background:var(--navy-deep)}
.cine-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:radial-gradient(55% 55% at 50% 44%,rgba(18,58,112,.55) 0%,rgba(18,58,112,0) 70%),var(--navy-deep)}
.cine-in{position:relative;width:100%;height:100%}
.cine .globe-slot{position:absolute;left:50%;top:44%;width:min(58vh,64vw);transform:translate(-50%,-50%)}
.cine-copy{position:absolute;left:0;right:0;bottom:clamp(36px,8vh,88px);display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center;padding-inline:var(--gut);pointer-events:none}
.cine-kick{font-family:var(--f-ui);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-2)}
.cine-title{font-family:var(--f-display);font-weight:500;font-size:clamp(2.2rem,1.1rem + 4.4vw,5.2rem);line-height:.98;letter-spacing:.035em;text-transform:uppercase;color:var(--on-navy);text-shadow:0 10px 40px rgba(5,13,32,.85)}
.cine-title span{display:block}
.cine-title em{font-style:italic;text-transform:none;letter-spacing:.01em;color:var(--cyan-2)}
.cine-sub{max-width:31em;font-size:clamp(1rem,.94rem + .3vw,1.2rem);line-height:1.55;color:var(--on-navy-2);text-shadow:0 6px 24px rgba(5,13,32,.95)}
.cine [data-cine]{opacity:0;transform:translateY(18px);filter:blur(6px);will-change:opacity,transform,filter}
.cine-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;font-family:var(--f-ui);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--on-navy-3);transition:opacity .4s}
.cine-hint i{width:1px;height:26px;background:linear-gradient(var(--cyan-2),rgba(93,196,242,0))}
.cine-geo{position:absolute;right:var(--gut);top:calc(var(--header-h) + 18px);font-family:var(--f-ui);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--on-navy-3);text-align:right;line-height:1.7}
.cine-geo b{display:block;font-weight:500;color:var(--gold-2)}
@media (max-width:760px){.cine{height:230vh}.cine .globe-slot{width:min(84vw,46vh);top:38%}.cine-geo{display:none}}
.cine.static{height:auto}
.cine.static .cine-sticky{position:relative;height:auto;padding-block:clamp(70px,10vw,120px)}
.cine.static .cine-in{display:flex;flex-direction:column;align-items:center;gap:2rem}
.cine.static .globe-slot{position:relative;left:auto;top:auto;transform:none;width:min(80vw,480px)}
.cine.static .cine-copy{position:relative;bottom:auto}
.cine.static [data-cine]{opacity:1;transform:none;filter:none}
.cine.static .cine-hint,.cine.static .cine-geo{display:none}

/* ---------- Fotografia ---------- */
.photo{position:relative;margin:0;overflow:hidden;border-radius:var(--r-lg);background:var(--navy-2);box-shadow:var(--sh-2);isolation:isolate;max-width:100%}
.photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),clip-path 1.1s var(--ease)}
.photo:hover img{transform:scale(1.035)}
.photo.arch{border-radius:999px 999px var(--r-lg) var(--r-lg)}
.photo.circle{border-radius:50%}
.photo.r4-5{aspect-ratio:4 / 5}.photo.r1{aspect-ratio:1 / 1}.photo.r4-3{aspect-ratio:4 / 3}.photo.r3-4{aspect-ratio:3 / 4}.photo.r16-10{aspect-ratio:16 / 10}
.pf{position:absolute;inset:0;display:flex;align-items:flex-end;padding:clamp(.9rem,2vw,1.3rem);background:radial-gradient(90% 70% at 22% 18%,rgba(93,196,242,.42),rgba(93,196,242,0) 60%),radial-gradient(70% 60% at 88% 92%,rgba(198,163,90,.28),rgba(198,163,90,0) 62%),linear-gradient(155deg,#16386E 0%,#0C2046 55%,#081733 100%)}
.pf::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(243,246,251,.35) 1.1px,transparent 1.6px);background-size:26px 26px;background-position:13px 13px;mask-image:linear-gradient(160deg,#000 10%,transparent 75%);-webkit-mask-image:linear-gradient(160deg,#000 10%,transparent 75%)}
.pf-cap{position:relative;display:flex;gap:.6rem;align-items:flex-start;max-width:36ch;padding:.65rem .8rem;border-radius:14px;background:rgba(5,13,32,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(243,246,251,.16);font-size:.74rem;line-height:1.45;color:var(--on-navy-2)}
.pf-cap svg{flex:none;width:17px;height:17px;color:var(--cyan-2);margin-top:.1rem}
.pf-cap b{display:block;font-weight:500;color:var(--on-navy);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;margin-bottom:.15rem}
.credit{position:absolute;right:.8rem;bottom:.7rem;z-index:2;font-family:var(--f-ui);font-size:.62rem;letter-spacing:.04em;color:rgba(255,255,255,.72);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.glass{background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);border:1px solid rgba(255,255,255,.7);box-shadow:var(--sh-2);border-radius:20px}
.dark .glass,.glass.dk{background:rgba(8,23,51,.62);border-color:rgba(243,246,251,.14);color:var(--on-navy)}

/* ---------- Revelação ao scroll ---------- */
[data-reveal].prep{opacity:.12;transform:translateY(24px)}
[data-reveal].prep.on{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease)}
[data-stagger].prep > *{opacity:.12;transform:translateY(18px)}
[data-stagger].prep.on > *{opacity:1;transform:none;transition:opacity .65s var(--ease),transform .65s var(--ease);transition-delay:calc(var(--i,0) * 80ms)}
.photo.prep > img,.photo.prep > .comp{transform:scale(1.08);clip-path:inset(8% 8% 8% 8% round 24px)}
.photo.prep.on > img,.photo.prep.on > .comp{transform:scale(1);clip-path:inset(0 0 0 0 round 0);transition:transform 1.2s var(--ease),clip-path 1.1s var(--ease)}

/* ---------- Serviços (explorador) ---------- */
.svx{display:grid;grid-template-columns:minmax(0,5.2fr) minmax(0,6fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.svx-list{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.svx-item{position:relative;border-bottom:1px solid var(--rule)}
.svx-btn{display:grid;grid-template-columns:44px minmax(0,1fr) 22px;gap:1rem;align-items:center;width:100%;padding:1.15rem .6rem 1.15rem 0;background:none;border:0;cursor:pointer;text-align:left;color:var(--ink);transition:padding .35s var(--ease)}
.svx-btn .i{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--mist);color:var(--cyan-ink);transition:background-color .3s,color .3s,transform .35s var(--ease)}
.svx-btn .i svg{width:22px;height:22px}
.svx-btn b{font-family:var(--f-display);font-weight:500;font-size:clamp(1.4rem,1.2rem + .6vw,1.8rem);line-height:1.1}
.svx-btn .pm{position:relative;width:18px;height:18px}
.svx-btn .pm::before,.svx-btn .pm::after{content:"";position:absolute;left:2px;right:2px;top:50%;height:1.5px;background:var(--ink-3);transition:transform .3s var(--ease),background-color .3s}
.svx-btn .pm::after{transform:rotate(90deg)}
.svx-item.on .svx-btn .pm::after{transform:rotate(0)}
.svx-item.on .svx-btn .pm::before,.svx-item.on .svx-btn .pm::after{background:var(--cyan)}
.svx-item.on .svx-btn .i,.svx-btn:hover .i{background:var(--navy);color:var(--cyan-2);transform:rotate(-6deg)}
.svx-item::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:linear-gradient(90deg,var(--cyan),var(--gold));transition:width .6s var(--ease)}
.svx-item.on::before{width:100%}
.svx-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.svx-item.on .svx-body{grid-template-rows:1fr}
.svx-body > div{overflow:hidden}
.svx-body .in{display:flex;flex-direction:column;gap:.8rem;padding:0 0 1.35rem 60px}
.svx-body p{color:var(--ink-2)}
.svx-body ul{display:flex;flex-wrap:wrap;gap:.4rem}
.svx-body li{font-size:.78rem;letter-spacing:.02em;padding:.32rem .7rem;border-radius:999px;background:var(--mist);color:var(--ink-2)}
.svx-media{position:sticky;top:calc(var(--header-h) + 16px)}
.svx-stack{position:relative;aspect-ratio:5 / 5.4;max-width:100%}
.svx-stack .photo{position:absolute;inset:0;opacity:0;transform:scale(.97);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.svx-stack .photo.on{opacity:1;transform:none}
.svx-chip{position:absolute;left:-28px;bottom:32px;z-index:3;display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;max-width:280px}
.svx-chip .i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:var(--cyan-2);flex:none}
.svx-chip .i svg{width:20px;height:20px}
.svx-chip b{display:block;font-family:var(--f-display);font-size:1.15rem;font-weight:600;line-height:1.15}
.svx-chip span{display:block;font-size:.76rem;color:var(--ink-3);line-height:1.35}
.svx-orb{position:absolute;right:-22px;top:-22px;z-index:0;width:104px;height:104px;border-radius:50%;background:radial-gradient(circle at 34% 30%,rgba(143,216,248,.55),rgba(15,161,229,.18) 55%,rgba(10,94,151,.05) 100%);border:1px solid rgba(93,196,242,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 24px 44px -24px rgba(15,161,229,.55)}
.svx-mob{display:none}
@media (max-width:900px){
  .svx{grid-template-columns:minmax(0,1fr)}
  .svx-media{display:none}
  .svx-mob{display:block;margin:0 0 1rem 60px}
  .svx-mob .photo{aspect-ratio:16 / 10}
}

/* ---------- Porquê a AF ---------- */
.why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5.5rem);align-items:center}
.why-copy{display:flex;flex-direction:column;gap:1.4rem}
.why-media{position:relative;padding:0 0 40px 40px}
.why-media .photo{aspect-ratio:4 / 4.6}
.why-media .deco{position:absolute;left:0;bottom:0;width:62%;height:62%;border-radius:var(--r-lg);background:linear-gradient(150deg,var(--navy) 0%,#123264 100%);z-index:-1}
.why-media .deco svg{position:absolute;left:18px;bottom:18px;width:120px;opacity:.55}
.why-badge{position:absolute;right:-18px;top:34px;z-index:3;padding:1rem 1.1rem;max-width:230px}
.why-badge b{display:block;font-family:var(--f-display);font-size:1.3rem;font-weight:600;line-height:1.1;color:var(--ink)}
.why-badge span{display:block;margin-top:.35rem;font-size:.78rem;color:var(--ink-3);line-height:1.4}
.why-words{display:flex;flex-direction:column}
.why-word{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem;padding:1.1rem 0;border-bottom:1px solid var(--rule)}
.why-word:first-child{border-top:1px solid var(--rule)}
.why-word b{font-family:var(--f-display);font-weight:500;font-size:clamp(2.1rem,1.4rem + 2.4vw,3.5rem);line-height:1;letter-spacing:-.01em}
.why-word b i{font-style:normal;color:var(--cyan)}
.why-word span{color:var(--ink-2);max-width:40ch}
@media (max-width:900px){.why{grid-template-columns:minmax(0,1fr)}.why-media{padding:0 0 28px 24px}.why-badge{right:8px}}

/* ---------- Números ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.stat{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.6rem;padding:1.6rem 1.5rem 1.7rem;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid var(--rule-navy);transition:transform .35s var(--ease),border-color .35s,background-color .35s}
.stat:hover{transform:translateY(-5px);border-color:rgba(93,196,242,.45);background:rgba(255,255,255,.06)}
.stat .v{font-family:var(--f-display);font-weight:500;font-size:clamp(2.8rem,2rem + 2.6vw,4.4rem);line-height:.95;color:var(--on-navy);font-variant-numeric:lining-nums}
.stat .v small{font-size:.5em;color:var(--cyan-2);margin-left:.05em}
.stat .v .ph{font-size:.42em;vertical-align:middle}
.stat .l{font-size:.95rem;color:var(--on-navy-2);line-height:1.4}
.stat .tag{align-self:flex-start;font-family:var(--f-ui);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);border:1px solid rgba(220,196,142,.4);padding:.25rem .5rem;border-radius:999px}
.stat::after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(15,161,229,.22),rgba(15,161,229,0) 70%)}
@media (max-width:980px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.stats{grid-template-columns:minmax(0,1fr)}}

/* ---------- Angola ---------- */
.ao{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.ao-map{position:relative;border-radius:var(--r-xl);background:radial-gradient(90% 70% at 30% 20%,#123264 0%,rgba(18,50,100,0) 60%),var(--navy);padding:clamp(1rem,3vw,2rem);box-shadow:var(--sh-2);overflow:hidden}
.ao-map svg{width:100%;height:auto}
svg[data-ao-map] .outline{fill:rgba(15,161,229,.06);stroke:rgba(93,196,242,.55);stroke-width:1}
svg[data-ao-map] .dots{stroke:rgba(93,196,242,.55);stroke-width:3.4;stroke-linecap:round}
svg[data-ao-map] .city circle.core{fill:var(--on-navy)}
svg[data-ao-map] .city.main circle.core{fill:#F6E3B4}
svg[data-ao-map] .city .ring{fill:none;stroke:var(--gold-2);stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:ring 2.8s var(--ease) infinite}
.map-card svg[data-ao-map] .city text{font-size:15px}
svg[data-ao-map] .city text{font-family:var(--f-ui);font-size:12px;letter-spacing:.12em;text-transform:uppercase;fill:var(--on-navy-2)}
svg[data-ao-map] .city.main text{fill:#F3E6C6;font-weight:500}
@keyframes ring{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.4);opacity:0}}
.ao-map .legend{position:absolute;left:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,1.6rem);font-family:var(--f-ui);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--on-navy-3)}
.ao-copy{display:flex;flex-direction:column;gap:1.3rem}
.ao-photo{position:relative;margin-top:.6rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:end}
.ao-photo .photo{aspect-ratio:4 / 3}
.ao-photo .photo.circle{aspect-ratio:1 / 1}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chip{display:inline-flex;align-items:center;font-family:var(--f-ui);font-size:.8rem;padding:.42rem .85rem;border:1px solid var(--rule-2);border-radius:999px;color:var(--ink-2);background:var(--paper)}
button.chip{cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
button.chip:hover{border-color:var(--navy)}
button.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
@media (max-width:900px){.ao{grid-template-columns:minmax(0,1fr)}}

/* ---------- Tecnologia: dispositivos ---------- */
.tech{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6.2fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.tech-copy{display:flex;flex-direction:column;gap:1.3rem}
.tlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.tlist li{display:flex;align-items:center;gap:.7rem;padding:.8rem .9rem;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--rule-navy);font-size:.92rem;color:var(--on-navy);transition:border-color .3s,transform .3s var(--ease)}
.tlist li:hover{border-color:rgba(93,196,242,.5);transform:translateY(-2px)}
.tlist li svg{width:18px;height:18px;color:var(--cyan-2);flex:none}
.devices{position:relative;height:clamp(380px,44vw,560px);perspective:1500px;--rx:0deg;--ry:0deg;--sy:0deg}
.devices .floor{position:absolute;left:8%;right:8%;bottom:4%;height:28px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.45),rgba(0,0,0,0));filter:blur(6px)}
.laptop{position:absolute;right:0;top:6%;width:84%;transform-style:preserve-3d;transform:rotateX(calc(8deg + var(--rx))) rotateY(calc(-16deg + var(--ry) + var(--sy)));transition:transform .6s var(--ease)}
.laptop-screen{position:relative;aspect-ratio:16 / 10;border-radius:14px 14px 4px 4px;background:#0B1122;padding:2.2%;box-shadow:0 40px 80px -30px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.08)}
.laptop-screen::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 32%);pointer-events:none}
.laptop-base{height:14px;margin:0 -5%;border-radius:0 0 18px 18px;background:linear-gradient(180deg,#C9D2DF,#8792A5);box-shadow:0 18px 30px -12px rgba(0,0,0,.55)}
.phone{position:absolute;left:4%;bottom:5%;width:30%;min-width:150px;max-width:230px;transform-style:preserve-3d;transform:rotateX(calc(6deg + var(--rx))) rotateY(calc(14deg + var(--ry) + var(--sy))) translateZ(60px);transition:transform .6s var(--ease);animation:floaty 7s ease-in-out infinite}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -12px}}
.phone-body{position:relative;aspect-ratio:9 / 19;border-radius:34px;padding:9px;background:linear-gradient(145deg,#2A3346,#0B0F19 60%);box-shadow:0 50px 70px -30px rgba(0,0,0,.7),inset 0 0 0 1.5px rgba(255,255,255,.14)}
.phone-body::after{content:"";position:absolute;inset:9px;border-radius:26px;background:linear-gradient(120deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,0) 30%);pointer-events:none}
.phone-screen{position:relative;height:100%;border-radius:26px;overflow:hidden;background:#F4F7FB}
.phone-cam{position:absolute;left:50%;top:9px;width:9px;height:9px;border-radius:50%;background:#05070D;transform:translateX(-50%);z-index:3;box-shadow:inset 0 0 0 2px #151B29}
.phone-screen{container-type:inline-size}
.ui{font-family:var(--f-ui);color:var(--ink);font-size:10px;font-size:5.4cqw;line-height:1.3;height:100%;display:flex;flex-direction:column}
.ui-top{display:flex;justify-content:space-between;align-items:center;padding:2.3em 1.2em .5em;font-size:.82em;color:var(--ink-3)}
.ui-top i{display:inline-flex;gap:2px;align-items:flex-end}
.ui-top i b{display:block;width:3px;border-radius:1px;background:var(--ink-3)}
.ui-head{display:flex;align-items:center;gap:.6em;padding:.2em 1.2em .8em}
.ui-head .mk{flex:none;width:2.1em;height:2.1em;border-radius:50%;background:var(--navy);display:grid;place-items:center;color:#F3E6C6;font-family:var(--f-display);font-weight:600;font-size:.95em}
.ui-head b{display:block;font-size:1.02em;font-weight:600;line-height:1.2}
.ui-head span{display:block;font-size:.78em;color:var(--ink-3)}
.ui-kpis{display:grid;grid-template-columns:1fr 1fr;gap:.55em;padding:0 1em}
.ui-kpi{background:#fff;border-radius:.9em;padding:.65em .75em;box-shadow:0 4px 10px -6px rgba(10,26,56,.35)}
.ui-kpi span{display:block;font-size:.72em;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.ui-kpi b{display:block;font-size:1.15em;font-weight:600;margin-top:.15em;font-variant-numeric:tabular-nums}
.ui-kpi i{font-style:normal;font-size:.72em;color:var(--ok)}
.ui-kpi i.neg{color:var(--err)}
.ui-kpi.dk{background:var(--navy);color:var(--on-navy)}
.ui-kpi.dk span{color:var(--on-navy-3)}
.ui-kpi.dk i{color:var(--cyan-2)}
.ui-card{margin:.65em 1em 0;background:#fff;border-radius:.9em;padding:.75em;box-shadow:0 4px 10px -6px rgba(10,26,56,.35)}
.ui-card h5{margin:0 0 .35em;font-size:.84em;font-weight:600;display:flex;justify-content:space-between}
.ui-card h5 em{font-style:normal;font-weight:400;color:var(--ink-3)}
.ui-card svg{width:100%;height:auto;display:block}
.ui-row{display:flex;justify-content:space-between;align-items:center;gap:.5em;padding:.38em 0;border-top:1px solid var(--rule);font-size:.84em}
.ui-row:first-of-type{border-top:0}
.ui-row b{font-weight:600;font-variant-numeric:tabular-nums}
.ui-st{font-size:.82em;padding:.15em .6em;border-radius:999px;background:rgba(31,122,85,.12);color:var(--ok)}
.ui-st.wip{background:rgba(15,161,229,.12);color:var(--cyan-ink)}
.ui-foot{margin-top:auto;padding:.6em 1.2em 1em;font-size:.7em;color:var(--ink-3);text-align:center;letter-spacing:.08em;text-transform:uppercase}
.laptop-screen{container-type:inline-size}
.desk{display:grid;grid-template-columns:11% 1fr;height:100%;border-radius:8px;overflow:hidden;background:#F4F7FB;font-family:var(--f-ui);color:var(--ink);font-size:8px;font-size:1.85cqw;line-height:1.3}
.desk-side{background:var(--navy);display:flex;flex-direction:column;align-items:center;gap:1.4em;padding-top:1.6em}
.desk-side i{width:1.9em;height:1.9em;border-radius:.6em;background:rgba(255,255,255,.12)}
.desk-side i.on{background:var(--cyan)}
.desk-side .mk{width:2.6em;height:2.6em;border-radius:50%;border:1px solid var(--gold-2);display:grid;place-items:center;color:#F3E6C6;font-family:var(--f-display);font-weight:600;font-size:1.05em}
.desk-main{padding:1.6em 1.8em;display:flex;flex-direction:column;gap:1.1em;min-width:0}
.desk-top{display:flex;justify-content:space-between;align-items:baseline;gap:1em;font-size:1.35em;font-weight:600}
.desk-top span{font-weight:400;color:var(--ink-3);font-size:.62em;letter-spacing:.04em}
.desk-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.9em}
.desk-kpis div{background:#fff;border-radius:.7em;padding:.8em .9em;box-shadow:0 3px 8px -5px rgba(10,26,56,.3);font-size:.85em;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}
.desk-kpis b{display:block;margin-top:.3em;font-size:1.6em;color:var(--ink);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}
.desk-kpis div:first-child{background:var(--navy);color:var(--on-navy-3)}
.desk-kpis div:first-child b{color:var(--on-navy)}
.desk-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:.9em;flex:1;min-height:0}
.desk-grid > div{background:#fff;border-radius:.7em;padding:.9em 1em;box-shadow:0 3px 8px -5px rgba(10,26,56,.3);min-height:0}
.desk-grid svg{width:100%;height:auto;display:block}
.desk-grid h6{margin:0 0 .5em;font-size:1em;font-weight:600;display:flex;justify-content:space-between;gap:.5em}
.desk-grid h6 em{font-style:normal;font-weight:400;color:var(--ink-3)}
.lg{display:flex;flex-wrap:wrap;gap:.3em .9em;margin-top:.4em;font-size:.85em;color:var(--ink-3)}
.lg span{display:inline-flex;align-items:center;gap:.35em}
.lg i{width:.8em;height:.8em;border-radius:.2em;display:inline-block}
.chart-bar{transform-box:fill-box;transform-origin:50% 100%;transition:transform 1.1s var(--ease)}
.chart-line{transition:stroke-dashoffset 1.6s var(--ease)}
.prep:not(.on) .chart-bar{transform:scaleY(.05)}
.prep:not(.on) .chart-line{stroke-dashoffset:var(--len,400)}
.scr{container-type:inline-size}
@media (max-width:900px){.tech{grid-template-columns:minmax(0,1fr)}.devices{height:auto;aspect-ratio:1 / .82}}
@media (max-width:560px){.tlist{grid-template-columns:minmax(0,1fr)}.phone{min-width:0;width:44%;left:0;bottom:2%}.laptop{width:90%;top:2%}}

/* ---------- Passos ---------- */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.step{position:relative;display:flex;flex-direction:column;gap:.7rem;padding:1.5rem 1.4rem 1.6rem;border-radius:22px;background:var(--paper);box-shadow:var(--sh-1);border:1px solid var(--rule);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.step:hover{transform:translateY(-5px);box-shadow:var(--sh-2);border-color:rgba(15,161,229,.35)}
.step-n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--cyan-2);font-family:var(--f-ui);font-size:.84rem;font-weight:500;font-variant-numeric:tabular-nums;box-shadow:0 8px 18px -8px rgba(10,26,56,.6)}
.step h3{font-size:1.45rem;font-weight:600}
.step p{font-size:.95rem;line-height:1.55;color:var(--ink-2)}
.step:not(:last-child)::after{content:"";position:absolute;top:44px;right:-1.2rem;width:1.2rem;height:1px;background:linear-gradient(90deg,var(--rule-2),var(--cyan))}
@media (max-width:980px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.step::after{display:none}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}}

/* ---------- Tipos de cliente ---------- */
.types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.type{display:flex;flex-direction:column;gap:.5rem;padding:1.4rem 1.4rem 1.5rem;border-radius:20px;background:var(--paper);border:1px solid var(--rule);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.type:hover{transform:translateY(-4px);box-shadow:var(--sh-1);border-color:rgba(15,161,229,.3)}
.type h3{font-size:1.38rem;font-weight:600}
.type p{font-size:.95rem;line-height:1.55;color:var(--ink-2)}
@media (max-width:900px){.types{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.types{grid-template-columns:minmax(0,1fr)}}

/* ---------- Simulador ---------- */
.sim-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.sim-intro{display:flex;flex-direction:column;gap:1.2rem;position:sticky;top:calc(var(--header-h) + 24px)}
@media (max-width:900px){.sim-wrap{grid-template-columns:minmax(0,1fr)}.sim-intro{position:static}}
.sim{display:grid;gap:1.35rem;background:var(--paper);border:1px solid var(--rule);border-radius:24px;box-shadow:var(--sh-2);padding:clamp(1.2rem,3vw,2rem)}
.sim-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.sim-top .kicker{font-size:.68rem}
.tag{font-family:var(--f-ui);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-ink);background:var(--cyan-wash);padding:.3rem .6rem;border-radius:999px}
.fld label,.fld .lbl{display:block;font-family:var(--f-ui);font-size:.8rem;font-weight:500;letter-spacing:.02em;color:var(--ink-2);margin-bottom:.45rem}
.money{display:flex;align-items:stretch;border:1px solid var(--rule-2);border-radius:14px;background:var(--paper);transition:border-color .2s,box-shadow .2s}
.money:focus-within{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(15,161,229,.15)}
.money input{flex:1;min-width:0;border:0;background:transparent;padding:.8rem 1rem;font-family:var(--f-ui);font-size:1.3rem;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:14px}
.money input:focus{outline:none}
.money span{display:grid;place-items:center;padding:0 1rem;font-size:.9rem;color:var(--ink-3);border-left:1px solid var(--rule)}
.sim-opts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem}
@media (max-width:560px){.sim-opts{grid-template-columns:minmax(0,1fr)}}
.seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--rule-2);border-radius:999px;overflow:hidden;width:100%;padding:3px;gap:3px;background:var(--mist)}
.seg button{border:0;background:transparent;padding:.55rem .5rem;font-size:.88rem;color:var(--ink-2);cursor:pointer;border-radius:999px;font-variant-numeric:tabular-nums;transition:background-color .2s,color .2s}
.seg button:hover{background:rgba(255,255,255,.8)}
.seg button[aria-pressed="true"]{background:var(--navy);color:var(--on-navy)}
.switch{position:relative;display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.88rem;color:var(--ink-2);min-height:42px}
.fld .switch{display:flex;margin-bottom:0;font-weight:400;letter-spacing:0;font-size:.88rem}
.switch input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:0}
.switch .track{flex:none;width:42px;height:24px;border-radius:999px;background:var(--rule-2);position:relative;transition:background-color .2s}
.switch .track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--paper);box-shadow:0 2px 5px rgba(10,26,56,.3);transition:transform .25s var(--ease)}
.switch input:checked + .track{background:var(--cyan)}
.switch input:checked + .track::after{transform:translateX(18px)}
.switch input:focus-visible + .track{outline:2px solid var(--cyan);outline-offset:2px}
.sim-lines{display:grid;font-variant-numeric:tabular-nums lining-nums}
.sim-line{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.48rem 0;font-size:.92rem;color:var(--ink-2)}
.sim-line b{font-weight:500;color:var(--ink);white-space:nowrap}
.sim-line.sub{border-top:1px solid var(--rule);margin-top:.2rem;padding-top:.7rem}
.sim-line.total{border-top:1px solid var(--ink);margin-top:.4rem;padding-top:.9rem;font-size:1rem;color:var(--ink)}
.sim-line.total b{font-size:1.4rem;color:var(--navy);border-bottom:3px double var(--gold);padding-bottom:3px}
.sim-bar{display:flex;height:10px;border-radius:999px;background:var(--mist-2);overflow:hidden}
.sim-bar i{display:block;height:100%;transition:width .45s var(--ease)}
.sim-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.76rem;color:var(--ink-3)}
.sim-legend span{display:inline-flex;align-items:center;gap:.45rem}
.sim-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.sim-note{font-size:.78rem;line-height:1.55;color:var(--ink-3);border-top:1px solid var(--rule);padding-top:1rem}

/* ---------- Cartões de conhecimento ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.card{display:flex;flex-direction:column;gap:.8rem;padding:1.5rem 1.5rem 1.6rem;border-radius:22px;background:var(--paper);border:1px solid var(--rule);text-decoration:none;color:inherit;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.card:hover{transform:translateY(-5px);box-shadow:var(--sh-2);border-color:rgba(15,161,229,.35)}
.card .cat{font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan-ink)}
.card h3{font-size:1.45rem;font-weight:600;line-height:1.2}
.card p{font-size:.95rem;line-height:1.55;color:var(--ink-2)}
.card .more{margin-top:auto;padding-top:.3rem;display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:500;color:var(--navy)}
.card .more svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.card:hover .more svg{transform:translateX(3px)}
@media (max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cards{grid-template-columns:minmax(0,1fr)}}
.news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.5rem 3rem;align-items:center;border-radius:28px;background:radial-gradient(80% 120% at 0% 0%,#15386D 0%,rgba(21,56,109,0) 60%),var(--navy);color:var(--on-navy);padding:clamp(1.5rem,3.5vw,2.6rem);margin-top:clamp(40px,5vw,64px);box-shadow:var(--sh-2)}
.news h3{font-size:clamp(1.5rem,1.2rem + .8vw,1.95rem)}
.news p:not(.kicker){color:var(--on-navy-2);font-size:.98rem;margin-top:.5rem}
.news form{display:grid;gap:.7rem}
.news .inline{display:flex;gap:.6rem;flex-wrap:wrap}
.news .inline input{flex:1 1 220px}
@media (max-width:900px){.news{grid-template-columns:minmax(0,1fr)}}

/* ---------- Contacto final ---------- */
.cta{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.cta-copy{display:flex;flex-direction:column;gap:1.3rem}
.cta-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.4rem}
.cta-list div{padding:1rem 1.1rem;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--rule-navy)}
.cta-list dt{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan-2);margin-bottom:.35rem}
.cta-list dd{font-size:.92rem;color:var(--on-navy);overflow-wrap:anywhere;line-height:1.5}
.cta-list dd a{text-decoration:none;border-bottom:1px solid rgba(93,196,242,.4)}
.cta-media{position:relative}
.cta-media .photo{aspect-ratio:4 / 4.8;border-radius:var(--r-xl) var(--r-xl) var(--r-xl) 180px}
.cta-media .glass{position:absolute;left:-26px;bottom:28px;z-index:3;padding:.9rem 1rem;display:flex;gap:.8rem;align-items:center;max-width:260px}
.cta-media .glass b{display:block;font-family:var(--f-display);font-size:1.15rem;font-weight:600;line-height:1.15;color:var(--on-navy)}
.cta-media .glass span{display:block;font-size:.76rem;color:var(--on-navy-2)}
.cta-media .glass .dot{width:10px;height:10px;border-radius:50%;background:#2BD37A;box-shadow:0 0 0 4px rgba(43,211,122,.2);flex:none}
@media (max-width:900px){.cta{grid-template-columns:minmax(0,1fr)}.cta-list{grid-template-columns:minmax(0,1fr)}.cta-media .glass{left:12px}}

/* ---------- Rodapé ---------- */
.foot{position:relative;z-index:2;background:var(--navy-deep);color:var(--on-navy-2);font-size:.9rem;padding-bottom:env(safe-area-inset-bottom,0px)}
.foot-top{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2.5fr));gap:2.5rem;padding-block:clamp(56px,7vw,88px) clamp(40px,5vw,56px)}
.foot-brand{display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start}
.foot-brand .brand{--hc:var(--on-navy)}
.foot-brand p{font-size:.95rem;line-height:1.6;color:var(--on-navy-2);max-width:34ch}
.foot-sig{display:flex;align-items:center;gap:.7rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy-3)}
.foot-sig svg{width:54px;height:auto}
.foot h4{font-family:var(--f-ui);font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan-2);margin-bottom:1.1rem}
.foot a{color:var(--on-navy-2);text-decoration:none;overflow-wrap:anywhere}
.foot a:hover{color:var(--on-navy)}
.foot li + li{margin-top:.55rem}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem 2rem;background:linear-gradient(var(--rule-navy),var(--rule-navy)) var(--gut) 0 / calc(100% - 2 * var(--gut)) 1px no-repeat;padding-block:1.4rem 1.6rem;font-size:.76rem;line-height:1.6;color:var(--on-navy-3)}
.foot-bottom nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
@media (max-width:900px){.foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1 / -1}}
@media (max-width:520px){.foot-top{grid-template-columns:minmax(0,1fr)}}

/* ---------- Heróis interiores ---------- */
.phero{position:relative;z-index:1;overflow:hidden;background:radial-gradient(90% 120% at 85% 0%,#123264 0%,rgba(18,50,100,0) 55%),var(--navy);color:var(--on-navy);padding-top:calc(var(--header-h) + clamp(40px,5.5vw,76px));padding-bottom:clamp(52px,6vw,88px)}
.phero .wrap{position:relative;z-index:1}
.phero-in{display:flex;flex-direction:column;gap:1.3rem;max-width:52rem}
.phero .lusona{position:absolute;right:-60px;bottom:-70px;width:min(460px,40vw);height:auto;z-index:0;opacity:.7}
@media (max-width:900px){.phero .lusona{display:none}}
.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;font-family:var(--f-ui);font-size:.78rem;color:var(--on-navy-3)}
.crumbs a{color:var(--on-navy-2);text-decoration:none}
.crumbs a:hover{color:var(--cyan-2)}
.crumbs span[aria-hidden]{color:var(--gold)}
.lusona{--lu-line:var(--gold);--lu-dot:var(--on-navy);overflow:visible}
.lusona .lu-line{fill:none;stroke:var(--lu-line);stroke-width:1.5;stroke-linejoin:round;opacity:.9}
.lusona .lu-dot{fill:var(--lu-dot)}
.lusona.light{--lu-line:var(--navy);--lu-dot:var(--gold-ink)}
.lusona.faint .lu-line{opacity:.32}
.lusona.faint .lu-dot{opacity:.45}

/* ---------- Páginas de serviço ---------- */
.svc-full{display:grid;gap:1rem}
.svc-full article{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3.6fr);gap:1.2rem 2.6rem;padding:1.8rem 1.8rem 2rem;border-radius:24px;background:var(--paper);border:1px solid var(--rule);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.svc-full article:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:rgba(15,161,229,.3)}
.svc-full .hd{display:flex;flex-direction:column;gap:.85rem;align-items:flex-start}
.svc-full .hd .i{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--navy);color:var(--cyan-2)}
.svc-full .hd .i svg{width:24px;height:24px}
.svc-full h2{font-size:clamp(1.55rem,1.3rem + .8vw,1.95rem);font-weight:500;line-height:1.12}
.svc-full .ld{font-size:1rem;line-height:1.6;color:var(--ink-2)}
.svc-full ul{display:grid;gap:.45rem;font-size:.88rem;line-height:1.45;color:var(--ink-2)}
.svc-full ul li{display:flex;gap:.6rem}
.svc-full ul li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--cyan);margin-top:.5em}
@media (max-width:980px){.svc-full article{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-full .hd{grid-column:1 / -1}}
@media (max-width:640px){.svc-full article{grid-template-columns:minmax(0,1fr)}}
.svc-body{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.toc{position:sticky;top:calc(var(--header-h) + 28px);display:flex;flex-direction:column;gap:.15rem;font-size:.86rem;border-left:1px solid var(--rule)}
.toc b{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan-ink);font-weight:500;padding:0 0 .7rem 1rem}
.toc button{text-align:left;background:none;border:0;border-left:2px solid transparent;margin-left:-1px;padding:.4rem 0 .4rem 1rem;color:var(--ink-3);cursor:pointer}
.toc button:hover{color:var(--navy);border-left-color:var(--cyan)}
.svc-main{display:flex;flex-direction:column;gap:clamp(48px,6vw,72px)}
.svc-block{display:flex;flex-direction:column;gap:1.3rem;scroll-margin-top:calc(var(--header-h) + 24px)}
.blk-t{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);line-height:1.1;font-weight:500}
.ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.ticks li{display:flex;gap:.75rem;padding:.9rem 1rem;border-radius:14px;background:var(--mist);font-size:.97rem;line-height:1.45}
.ticks li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--cyan);margin-top:.5em}
.deliver{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.deliver li{display:flex;flex-direction:column;gap:.45rem;padding:1.3rem 1.3rem 1.5rem;border-radius:20px;background:var(--paper);border:1px solid var(--rule);box-shadow:var(--sh-1)}
.deliver b{font-family:var(--f-display);font-size:1.28rem;font-weight:600;line-height:1.2}
.deliver span{font-size:.93rem;line-height:1.5;color:var(--ink-2)}
.refs{display:flex;flex-wrap:wrap;gap:.5rem}
.refs li{font-size:.8rem;color:var(--navy);background:var(--mist-2);padding:.45rem .85rem;border-radius:999px}
.who{display:grid;gap:.6rem}
.who li{display:flex;gap:.8rem;align-items:flex-start;font-size:1rem;line-height:1.45;color:var(--ink-2)}
.who li svg{flex:none;width:18px;height:18px;color:var(--cyan);margin-top:.2rem}
@media (max-width:900px){.svc-body{grid-template-columns:minmax(0,1fr)}.toc{display:none}.deliver{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.ticks{grid-template-columns:minmax(0,1fr)}}
.svc-photo{margin-bottom:.5rem}
.svc-photo .photo{aspect-ratio:16 / 8}
.faq{display:grid;gap:.6rem}
.faq details{border-radius:16px;background:var(--paper);border:1px solid var(--rule);padding:0 1.2rem;transition:box-shadow .3s}
.faq details[open]{box-shadow:var(--sh-1)}
.faq summary{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.05rem 0;cursor:pointer;list-style:none;font-family:var(--f-display);font-size:1.28rem;font-weight:600;line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq .pm{position:relative;flex:none;width:20px;height:20px;margin-top:.25rem}
.faq .pm::before,.faq .pm::after{content:"";position:absolute;left:2px;right:2px;top:50%;height:1.5px;background:var(--cyan-ink);transition:transform .25s var(--ease)}
.faq .pm::after{transform:rotate(90deg)}
.faq details[open] .pm::after{transform:rotate(0)}
.faq .ans{padding:0 0 1.2rem;color:var(--ink-2);max-width:62ch}
.more-svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.more-svc a{display:flex;flex-direction:column;gap:.5rem;padding:1.3rem 1.3rem 1.4rem;border-radius:20px;background:var(--paper);border:1px solid var(--rule);text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.more-svc a:hover{transform:translateY(-4px);box-shadow:var(--sh-1);border-color:rgba(15,161,229,.35)}
.more-svc .i{color:var(--cyan-ink)}
.more-svc b{font-family:var(--f-display);font-size:1.28rem;font-weight:600;line-height:1.2}
.more-svc span{font-size:.93rem;color:var(--ink-2);line-height:1.45}
@media (max-width:760px){.more-svc{grid-template-columns:minmax(0,1fr)}}

/* ---------- Sobre ---------- */
.pillars5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.pillars5 li{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.6rem 1.3rem 1.8rem}
.pillars5 li:first-child{padding-left:0}
.pillars5 li + li{border-left:1px solid var(--rule)}
.pillars5 li + li::before{content:"+";position:absolute;left:0;top:1.5rem;transform:translateX(-50%);background:var(--paper);color:var(--cyan);font-family:var(--f-ui);font-size:1.1rem;line-height:1;padding:.15rem .25rem}
.pillars5 h3{font-size:1.55rem;font-weight:500}
.pillars5 p{font-size:.95rem;line-height:1.5;color:var(--ink-2)}
@media (max-width:1000px){.pillars5{grid-template-columns:minmax(0,1fr);border-bottom:0}.pillars5 li,.pillars5 li:first-child{padding:1.1rem 0 1.2rem 2rem;border-bottom:1px solid var(--rule)}.pillars5 li + li{border-left:0}.pillars5 li::before,.pillars5 li + li::before{content:"+";position:absolute;left:0;top:1.1rem;transform:none;background:none;padding:0;color:var(--cyan)}}
.purpose{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:clamp(1.9rem,1.3rem + 2.2vw,3.1rem);line-height:1.12;color:var(--navy);max-width:24em;text-wrap:balance}
.mvv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.mvv > div{padding:1.4rem 1.4rem 1.5rem;border-radius:20px;background:var(--mist);display:flex;flex-direction:column;gap:.6rem}
.mvv h3{font-family:var(--f-ui);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan-ink)}
.mvv p{font-size:1rem;color:var(--ink-2)}
@media (max-width:760px){.mvv{grid-template-columns:minmax(0,1fr)}}
.principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.principles li{display:flex;flex-direction:column;gap:.55rem;padding:1.4rem 1.3rem 1.5rem;border-radius:20px;background:var(--paper);border:1px solid var(--rule);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.principles li:hover{transform:translateY(-4px);box-shadow:var(--sh-1)}
.principles .i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:var(--cyan-2)}
.principles .i svg{width:20px;height:20px}
.principles h3{font-size:1.32rem;font-weight:600;line-height:1.2}
.principles p{font-size:.95rem;color:var(--ink-2);line-height:1.5}
@media (max-width:980px){.principles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.principles{grid-template-columns:minmax(0,1fr)}}
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.member{display:flex;flex-direction:column;gap:.7rem}
.member .photo{aspect-ratio:4 / 5;border-radius:24px}
.member b{font-family:var(--f-display);font-size:1.3rem;font-weight:600;line-height:1.2}
.member span.role{font-size:.84rem;color:var(--ink-3)}
@media (max-width:980px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
.facts-table{display:grid;border-radius:20px;background:var(--paper);border:1px solid var(--rule);padding:.4rem 1.4rem}
.facts-table > div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--rule)}
.facts-table > div:last-child{border-bottom:0}
.facts-table dt{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding-top:.2rem}
.facts-table dd{font-size:.98rem;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media (max-width:560px){.facts-table > div{grid-template-columns:minmax(0,1fr);gap:.2rem}}
.aside-art{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:2rem 3rem;align-items:center;border-radius:24px;background:var(--mist);padding:clamp(1.4rem,3.5vw,2.6rem)}
.aside-art .lusona{width:100%;max-width:260px;height:auto;justify-self:center}
@media (max-width:760px){.aside-art{grid-template-columns:minmax(0,1fr)}}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split-copy{display:flex;flex-direction:column;gap:1.3rem}
@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}

/* ---------- Formulários ---------- */
.form{display:grid;gap:1.1rem}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
@media (max-width:640px){.row2{grid-template-columns:minmax(0,1fr)}}
.fld .req{color:var(--cyan-ink)}
.fld input,.fld select,.fld textarea{width:100%;font-family:var(--f-ui);font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--rule-2);border-radius:12px;padding:.78rem .9rem;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.fld select{appearance:none;-webkit-appearance:none;padding-right:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230A6FAE' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}
.fld textarea{min-height:140px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 4px rgba(15,161,229,.15)}
.fld input[type="file"]{padding:.6rem;font-size:.9rem;background:var(--mist)}
.fld.invalid input,.fld.invalid select,.fld.invalid textarea,.fld.invalid .tel{border-color:var(--err)}
.fld .err{display:none;font-size:.8rem;color:var(--err);margin-top:.4rem}
.fld.invalid .err{display:block}
.tel{display:flex;border:1px solid var(--rule-2);border-radius:12px;background:var(--paper);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.tel:focus-within{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(15,161,229,.15)}
.tel span{display:grid;place-items:center;padding:0 .85rem;font-size:.95rem;color:var(--ink-2);background:var(--mist);border-right:1px solid var(--rule)}
.fld .tel input{border:0;box-shadow:none;border-radius:0}
.check{display:flex;gap:.75rem;align-items:flex-start;font-size:.84rem;line-height:1.55;color:var(--ink-2);cursor:pointer}
.fld .check{display:flex;margin-bottom:0;font-weight:400;letter-spacing:0;font-size:.84rem}
.check input{flex:none;width:18px;height:18px;margin-top:.15rem;accent-color:var(--navy)}
.dark .fld label,.dark .fld .lbl,.dark .check,.dark .fld .check{color:var(--on-navy-2)}
.dark .check a{color:var(--cyan-2)}
.dark .fld .err{color:#F4B2AA}
.pick{display:flex;flex-wrap:wrap;gap:.5rem}
.pick label{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;border:1px solid var(--rule-2);border-radius:999px;font-size:.88rem;color:var(--ink-2);cursor:pointer;user-select:none;transition:background-color .2s,color .2s,border-color .2s}
.pick input,.fld .pick input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:0;padding:0;border:0}
.pick label:hover{border-color:var(--navy)}
.pick label:has(input:checked){background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
.pick label:focus-within{outline:2px solid var(--cyan);outline-offset:2px}
.form-card{background:var(--paper);border:1px solid var(--rule);border-radius:24px;box-shadow:var(--sh-2);padding:clamp(1.3rem,3.5vw,2.4rem)}
.ok-box{display:grid;gap:1rem;background:var(--mist);border-radius:18px;border-left:3px solid var(--cyan);padding:1.4rem 1.5rem}
.ok-box h3{font-size:1.6rem;font-weight:600}
.ok-box p{font-size:.98rem;color:var(--ink-2)}
.ok-box pre{white-space:pre-wrap;font-family:var(--f-ui);font-size:.84rem;line-height:1.6;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:1rem;margin:0;max-height:260px;overflow:auto}
.hp{position:absolute;left:-5000px}
.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--rule);margin-bottom:2rem}
.stepper li{position:relative;display:flex;align-items:center;gap:.65rem;padding-bottom:1rem;font-size:.84rem;color:var(--ink-3)}
.stepper .n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--rule-2);font-size:.78rem;font-variant-numeric:tabular-nums}
.stepper li[aria-current="step"]{color:var(--ink)}
.stepper li[aria-current="step"] .n{background:var(--cyan);border-color:var(--cyan);color:#06122B}
.stepper li[aria-current="step"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--cyan)}
.stepper li.done .n{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
@media (max-width:640px){.stepper li .t{display:none}.stepper li[aria-current="step"] .t{display:inline}}
.form-nav{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-top:.6rem;padding-top:1.4rem;border-top:1px solid var(--rule)}
.summary{display:grid;border-top:1px solid var(--rule)}
.summary > div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--rule);font-size:.92rem}
.summary dt{color:var(--ink-3)}
.summary dd{color:var(--ink);overflow-wrap:anywhere}
@media (max-width:560px){.summary > div{grid-template-columns:minmax(0,1fr);gap:.15rem}}
.prop-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}
.prop-aside{position:sticky;top:calc(var(--header-h) + 24px);display:flex;flex-direction:column;gap:1.3rem}
.next-list{display:grid;gap:.6rem;counter-reset:n}
.next-list li{counter-increment:n;display:grid;grid-template-columns:38px minmax(0,1fr);gap:.2rem .7rem;padding:1rem 1.1rem;border-radius:16px;background:var(--mist)}
.next-list li::before{content:counter(n,decimal-leading-zero);grid-row:span 2;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--cyan-2);font-size:.74rem;font-variant-numeric:tabular-nums}
.next-list b{font-family:var(--f-display);font-size:1.22rem;font-weight:600;line-height:1.2}
.next-list span{font-size:.93rem;color:var(--ink-2);line-height:1.5}
.prop-alt{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.prop-alt .note{width:100%}
@media (max-width:900px){.prop-grid{grid-template-columns:minmax(0,1fr)}.prop-aside{position:static}}

/* ---------- Contactos ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
.clist{display:grid;gap:.6rem}
.clist > div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.15rem 1rem;padding:1rem 1.1rem;border-radius:16px;background:var(--paper);border:1px solid var(--rule)}
.clist .i{grid-row:span 2;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:var(--cyan-2)}
.clist .i svg{width:20px;height:20px}
.clist dt{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.clist dd{display:flex;flex-direction:column;gap:.25rem;font-size:.98rem;color:var(--ink)}
.clist dd .ln{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .7rem}
.clist dd a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(15,161,229,.45);overflow-wrap:anywhere}
.clist dd small{font-size:.76rem;color:var(--ink-3)}
.copy-btn{display:inline-flex;align-items:center;gap:.35rem;background:var(--paper);border:1px solid var(--rule-2);border-radius:999px;padding:.2rem .6rem;font-size:.72rem;color:var(--ink-3);cursor:pointer}
.copy-btn:hover{border-color:var(--navy);color:var(--navy)}
.copy-btn svg{width:13px;height:13px}

/* ---------- Conhecimento, artigo, legal, carreiras ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.article{max-width:44rem;margin-inline:auto;display:flex;flex-direction:column;gap:1.4rem}
.article .lede{font-size:clamp(1.15rem,1.02rem + .5vw,1.35rem);line-height:1.55;color:var(--ink)}
.skeleton{display:grid;gap:.9rem;border:1px dashed var(--rule-2);border-radius:18px;padding:1.4rem 1.5rem;background:var(--mist)}
.skeleton ol{display:grid;gap:.45rem;counter-reset:k}
.skeleton li{counter-increment:k;display:flex;gap:.8rem;font-size:.9rem;color:var(--ink-2)}
.skeleton li::before{content:counter(k,decimal-leading-zero);color:var(--cyan-ink);font-variant-numeric:tabular-nums}
.share{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding-top:1.2rem;border-top:1px solid var(--rule);font-size:.82rem;color:var(--ink-3)}
.meta-line{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-size:.82rem;color:var(--on-navy-3)}
.benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.benefits li{display:flex;flex-direction:column;gap:.55rem;padding:1.4rem;border-radius:20px;background:var(--paper);border:1px solid var(--rule)}
.benefits h3{font-size:1.32rem;font-weight:600}
.benefits p{font-size:.95rem;color:var(--ink-2);line-height:1.5}
@media (max-width:900px){.benefits{grid-template-columns:minmax(0,1fr)}}
.jobs{display:grid;gap:.6rem}
.job{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1rem;align-items:center;padding:1.1rem 1.2rem;border-radius:16px;background:var(--mist)}
.job b{font-family:var(--f-display);font-size:1.3rem;font-weight:600}
.job span{font-size:.85rem;color:var(--ink-3)}
@media (max-width:640px){.job{grid-template-columns:minmax(0,1fr)}}
.legal{max-width:46rem;display:flex;flex-direction:column;gap:1.2rem}
.legal h2{font-size:1.9rem;font-weight:600;margin-top:1.4rem;scroll-margin-top:calc(var(--header-h) + 20px)}
.legal p,.legal li{color:var(--ink-2)}
.legal ul{display:grid;gap:.45rem}
.legal ul li{position:relative;padding-left:1.2rem}
.legal ul li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--cyan)}

/* ---------- Guia do protótipo ---------- */
.guide-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.4rem}
@media (max-width:900px){.guide-grid{grid-template-columns:minmax(0,1fr)}}
.gcard{border:1px solid var(--rule);border-radius:22px;background:var(--paper);padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:.9rem}
.gcard{min-width:0}
.gcard .code{max-width:100%}
.gcard h3{font-size:1.45rem;font-weight:600}
.gcard p:not(.kicker),.gcard li{font-size:.95rem;color:var(--ink-2);line-height:1.5}
.gcard ul{display:grid;gap:.4rem}
.gcard ul li{position:relative;padding-left:1.1rem}
.gcard ul li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--cyan)}
.sitemap{font-size:.88rem;line-height:1.5;display:grid;gap:.3rem}
.sitemap a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--rule-2)}
.sitemap .lvl2{padding-left:1.4rem;position:relative;color:var(--ink-2)}
.sitemap .lvl2::before{content:"";position:absolute;left:.4rem;top:.72em;width:.6rem;height:1px;background:var(--rule-2)}
.sitemap code,.gcard code{font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;font-size:.8em;color:var(--cyan-ink)}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem}
.swatch{border:1px solid var(--rule);border-radius:14px;overflow:hidden;font-size:.76rem;color:var(--ink-2);background:var(--paper)}
.swatch i{display:block;height:64px}
.swatch div{padding:.55rem .65rem;display:grid;gap:.1rem}
.swatch b{font-weight:500;color:var(--ink)}
.typespec{display:grid;gap:1rem}
.typespec > div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1rem;align-items:baseline;padding-bottom:1rem;border-bottom:1px solid var(--rule)}
.typespec small{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
@media (max-width:560px){.typespec > div{grid-template-columns:minmax(0,1fr)}}
.inv{display:grid;gap:1.2rem}
.inv-group h4{font-family:var(--f-ui);font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.5rem}
.inv-group ul{display:flex;flex-wrap:wrap;gap:.4rem}
.code{font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;font-size:.78rem;line-height:1.55;background:var(--navy-deep);color:#E7EAF1;padding:1rem 1.1rem;border-radius:14px;overflow-x:auto;margin:0;white-space:pre}
.credits li{font-size:.86rem}

/* ---------- Elementos flutuantes ---------- */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:58;display:none;grid-template-columns:repeat(3,minmax(0,1fr));background:rgba(5,13,32,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--rule-navy);padding-bottom:env(safe-area-inset-bottom,0px)}
.mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:60px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-navy-2);text-decoration:none}
.mbar a + a{border-left:1px solid var(--rule-navy)}
.mbar a svg{width:20px;height:20px}
.mbar a.primary{background:var(--cyan);color:#06122B;border-left:0}
@media (max-width:760px){.mbar{display:grid}body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:120;transform:translate(-50%,16px);opacity:0;pointer-events:none;max-width:calc(100vw - 32px);background:var(--navy);color:var(--on-navy);border-radius:14px;border-left:3px solid var(--cyan);padding:.8rem 1.1rem;font-size:.88rem;line-height:1.45;box-shadow:var(--sh-2);transition:opacity .25s,transform .25s var(--ease)}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:760px){.toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}
.dock{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;font-family:var(--f-ui)}
.dock-btn{display:inline-flex;align-items:center;gap:.55rem;background:var(--paper);color:var(--ink);border:1px solid var(--rule-2);border-radius:999px;padding:.45rem .8rem .45rem .6rem;font-size:.76rem;letter-spacing:.04em;cursor:pointer;box-shadow:0 10px 28px -14px rgba(10,26,56,.45)}
.dock-btn .dot{width:8px;height:8px;border-radius:50%;background:var(--cyan)}
.dock-btn .count{background:var(--gold-wash);color:var(--gold-ink);border-radius:999px;padding:.08rem .45rem;font-variant-numeric:tabular-nums}
.dock-panel{position:absolute;left:0;bottom:calc(100% + 10px);width:min(330px,calc(100vw - 32px));background:var(--paper);border:1px solid var(--rule);border-radius:18px;box-shadow:var(--sh-2);padding:1.15rem;display:grid;gap:.85rem;font-size:.84rem;color:var(--ink-2);line-height:1.5}
.dock-panel b{font-family:var(--f-display);font-size:1.25rem;font-weight:600;color:var(--ink)}
.dock-panel .switch{min-height:0}
@media (max-width:760px){.dock{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}
body.cookie-open .dock{display:none}
.cookie{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:75;width:min(390px,calc(100vw - 32px));display:grid;gap:.9rem;background:rgba(5,13,32,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--on-navy-2);border-radius:18px;border:1px solid var(--rule-navy);padding:1.15rem 1.2rem;font-size:.82rem;line-height:1.55;box-shadow:0 24px 56px -24px rgba(0,0,0,.5)}
.cookie b{color:var(--on-navy);font-weight:500}
.cookie a{color:var(--cyan-2)}
@media (max-width:760px){.cookie{left:16px;right:16px;width:auto;bottom:calc(72px + env(safe-area-inset-bottom,0px))}}

/* ---------- Composições (substituem fotografias ainda não disponíveis) ---------- */
.comp{position:absolute;inset:0;width:100%;height:100%;display:block}
.photo .brief{position:absolute;left:.8rem;right:.8rem;bottom:.8rem;z-index:4;display:none;gap:.55rem;align-items:flex-start;padding:.6rem .75rem;border-radius:12px;background:rgba(5,13,32,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px dashed rgba(220,196,142,.6);font-size:.72rem;line-height:1.45;color:var(--on-navy-2)}
.photo .brief svg{flex:none;width:16px;height:16px;color:var(--gold-2);margin-top:.1rem}
.photo .brief b{display:block;font-weight:500;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);margin-bottom:.1rem}
body.review .photo .brief{display:flex}
.photo.portrait .brief{display:flex;position:absolute}

/* ---------- Herói: pormenores ---------- */
.hero-copy .h1{max-width:12.5em}
.hero-copy .lead{max-width:33em}
.hero-note{display:flex;align-items:center;gap:.7rem;font-family:var(--f-ui);font-size:.8rem;color:var(--on-navy-3)}
.hero-note i{width:7px;height:7px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 0 4px rgba(198,163,90,.18)}
.hero-visual{position:relative}
.hero-visual .globe-slot{max-width:560px;margin-left:auto}
@media (max-width:900px){.hero-visual .globe-slot{margin-inline:auto}}

/* ---------- Posicionamento (cinco competências) ---------- */
.pos-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1rem;padding:1.1rem 1.4rem;border-radius:999px;border:1px solid var(--rule);background:var(--paper);box-shadow:var(--sh-1);margin-bottom:clamp(36px,5vw,56px)}
.pos-row span{font-family:var(--f-ui);font-size:.74rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--navy)}
.pos-row i{font-style:normal;font-family:var(--f-ui);font-size:1rem;color:var(--cyan);line-height:1}
.pos-row span:last-child{color:var(--cyan-ink)}
@media (max-width:760px){.pos-row{border-radius:20px;justify-content:center}.pos-row i{display:none}.pos-row span{padding:.25rem .55rem;border-radius:999px;background:var(--mist)}}

/* ---------- Diferencial (livro-razão) ---------- */
.ledger{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:24px;overflow:hidden;border:1px solid var(--rule);background:var(--paper);box-shadow:var(--sh-1)}
.ledger > div{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.3rem;font-size:.97rem;line-height:1.5;border-top:1px solid var(--rule)}
.ledger .lh{font-family:var(--f-ui);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;border-top:0;padding-block:1.1rem}
.ledger .c{color:var(--ink-3)}
.ledger .a{background:rgba(15,161,229,.05);color:var(--ink);border-left:1px solid var(--rule)}
.ledger .lh.a{color:var(--cyan-ink)}
.ledger .mk{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;margin-top:.05rem}
.ledger .c .mk{border:1px solid var(--rule-2)}
.ledger .a .mk{background:var(--cyan);color:#06122B}
.ledger .mk svg{width:13px;height:13px}
.ledger .lab{display:none}
@media (max-width:700px){.ledger{grid-template-columns:minmax(0,1fr)}.ledger .lh{display:none}.ledger .a{border-left:0}.ledger .lab{display:block;font-family:var(--f-ui);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);min-width:6.5rem}}

/* ---------- Mensagem da Gerência ---------- */
.letter{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.letter-media{position:relative;padding:0 0 26px 26px}
.letter-media .photo{aspect-ratio:4 / 5}
.letter-media::before{content:"";position:absolute;left:0;bottom:0;width:70%;height:70%;border-radius:var(--r-lg);background:var(--mist-2);z-index:-1}
.letter-copy{display:flex;flex-direction:column;gap:1.2rem}
.letter-copy blockquote{margin:0;display:grid;gap:1em;font-family:"EB Garamond",Garamond,"Times New Roman",serif;font-size:clamp(1.12rem,1.04rem + .35vw,1.3rem);line-height:1.6;color:var(--ink)}
.sig{display:flex;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid var(--rule)}
.sig b{display:block;font-family:var(--f-display);font-size:1.5rem;font-weight:600;line-height:1.1;color:var(--navy)}
.sig span{display:block;font-family:var(--f-ui);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-top:.25rem}
@media (max-width:900px){.letter{grid-template-columns:minmax(0,1fr)}.letter-media{max-width:360px}}

/* ---------- Serviço: herói com fotografia ---------- */
.phero.has-media .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.phero-media .photo{aspect-ratio:4 / 4.4;border-radius:200px 200px var(--r-lg) var(--r-lg);box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
@media (max-width:900px){.phero.has-media .wrap{grid-template-columns:minmax(0,1fr)}.phero-media{max-width:420px}.phero-media .photo{aspect-ratio:16 / 11;border-radius:var(--r-lg)}}
.tagline{font-family:var(--f-display);font-style:italic;font-size:clamp(1.3rem,1.1rem + .7vw,1.7rem);line-height:1.25;color:var(--cyan-2)}

/* ---------- Soluções ---------- */
.small-scale{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.scale-card{position:relative;border-radius:var(--r-lg);background:var(--navy);color:var(--on-navy);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--sh-2);overflow:hidden}
.scale-card p.big{font-family:var(--f-display);font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem);line-height:1.15;font-style:italic;color:var(--on-navy)}
.scale-card .bars{display:flex;align-items:flex-end;gap:10px;height:120px;margin-top:1.4rem}
.scale-card .bars i{flex:1;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--cyan-2),rgba(15,161,229,.25));transform-origin:bottom;transition:transform 1s var(--ease)}
.scale-card .bars i:nth-child(4){background:linear-gradient(180deg,var(--gold-2),rgba(198,163,90,.25))}
.scale-card.prep:not(.on) .bars i{transform:scaleY(.2)}
@media (max-width:900px){.small-scale{grid-template-columns:minmax(0,1fr)}}
.closing{font-family:var(--f-display);font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem);line-height:1.25;color:var(--navy);max-width:34em;text-wrap:balance}
.closing em{color:var(--cyan-ink)}
.celeste{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,4rem);align-items:center}
@media (max-width:900px){.celeste{grid-template-columns:minmax(0,1fr)}}
.shot-ph{position:relative;border-radius:22px;background:var(--navy);padding:clamp(.8rem,2vw,1.2rem);box-shadow:var(--sh-2)}
.shot-ph .bar{display:flex;gap:6px;padding:.2rem .2rem .8rem}
.shot-ph .bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18)}
.shot-ph .scr{position:relative;aspect-ratio:16 / 10;border-radius:12px;overflow:hidden}
.shot-ph figcaption{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.8rem .2rem .1rem;font-size:.76rem;color:var(--on-navy-3)}

/* ---------- Contactos: mapa de Luanda ---------- */
.map-card{position:relative;margin-top:1rem;border-radius:22px;overflow:hidden;background:var(--navy);box-shadow:var(--sh-1);color:var(--on-navy)}
.map-card svg.mini{width:100%;height:auto;display:block;background:radial-gradient(80% 90% at 30% 40%,#123264 0%,rgba(18,50,100,0) 70%)}
.map-card .mc{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.8rem 1rem}
.map-card .mc b{display:block;font-weight:500;font-size:.92rem}
.map-card .mc span{display:block;font-size:.78rem;color:var(--on-navy-2)}
.clist dd .ln .lbl2{flex-basis:100%;margin-bottom:-.25rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.clist dd .ln + .ln{margin-top:.35rem}

/* ---------- Conhecimento: cartão do simulador ---------- */
.card.tool{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}
.card.tool .cat{color:var(--cyan-2)}
.card.tool p{color:var(--on-navy-2)}
.card.tool .more{color:var(--on-navy)}
.card.tool .kz{font-family:var(--f-ui);font-size:1.5rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--on-navy);border-bottom:3px double var(--gold);align-self:flex-start;padding-bottom:2px}

/* ---------- Paralaxe discreta ---------- */
[data-par]{will-change:transform}

/* Ícones */
.i{display:inline-flex}
.i svg{width:24px;height:24px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
