/* Core Rise — página inicial (conceito Estratos)
   A página desce do lado de fora (Google) até o núcleo (aplicações sob medida).
   O hero é o símbolo da marca aberto em paisagem. Depende das variáveis de site.css. */

:root{
  --layer-1:#E9E0D4;            /* camada externa: Google */
  --layer-2:#DCDFCF;            /* camada do meio: sites (sálvia clara) */
  --layer-3:var(--espresso);    /* núcleo: sistemas */
  --st-1:var(--espresso);
  --label-on-dark:#D8B98C;      /* ocre claro para rótulos sobre espresso (8:1) */
}
[data-theme="dark"]{
  --layer-1:#2A231E;
  --layer-2:#2B2D24;
  --layer-3:#120E0B;
  --st-1:var(--areia);
}

.home .reveal{opacity:1;transform:none;}
.sec-title{font-size:clamp(2.1rem,4.4vw,3.7rem);line-height:1.02;letter-spacing:-0.035em;max-width:18ch;}
.sec-lead{color:var(--ink-soft);font-size:1.12rem;line-height:1.55;max-width:52ch;margin-top:18px;}

/* ---------------------------------------------------------------- hero */
.hx{position:relative;padding-top:150px;overflow:hidden;}
.hx-copy{position:relative;z-index:2;}
.hx-title{font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:1.04;letter-spacing:-0.035em;max-width:960px;}
.hx-title em{color:var(--accent-text);}
.hx-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:34px;}

.strata-wrap{position:relative;z-index:1;margin-top:-16vw;}
.strata{display:block;width:100%;height:auto;position:relative;pointer-events:none;transition:opacity .6s ease;}
/* Versão 3D (assets/js/hero3d.js): o canvas ocupa o lugar do SVG */
.strata-3d{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;opacity:0;transition:opacity .8s ease;}
.strata-wrap.is-3d .strata-3d{opacity:1;}
.strata-wrap.is-3d .strata{opacity:0;}
.st3d-labels{position:absolute;inset:0;pointer-events:none;opacity:var(--st3d-alpha,0);}
.st3d-labels.is-narrow{display:none;}
.st3d-label{position:absolute;left:0;top:0;font-family:var(--sans);font-size:0.92rem;font-weight:600;letter-spacing:0.01em;white-space:nowrap;will-change:transform;}
.st3d-core{font-family:var(--serif);font-size:1.3rem;color:var(--ink);}
.st1{stroke:var(--st-1);}
.st2{stroke:var(--salvia);}
.st3{stroke:var(--ocre);}
.st-core{fill:var(--terracota);}
.st-labels text{font-family:var(--sans);font-size:19px;font-weight:600;letter-spacing:0.02em;}
.st-labels .lb1{fill:var(--bg);}
.st-labels .lb2,.st-labels .lb3{fill:var(--espresso);}
.st-labels .st-core-label{fill:var(--ink);font-family:var(--serif);font-size:24px;}
@media (prefers-reduced-motion:no-preference){
  .st{animation:st-rise 1.1s cubic-bezier(.16,.84,.32,1) both;}
  .st1{animation-delay:.15s;} .st2{animation-delay:.3s;} .st3{animation-delay:.45s;}
  .st-core{transform-box:fill-box;transform-origin:center;animation:st-core .7s cubic-bezier(.2,1.4,.4,1) .9s both;}
  .st-labels{animation:st-fade .6s ease 1.2s both;}
}
@keyframes st-rise{from{transform:translateY(90px);opacity:0;}to{transform:none;opacity:1;}}
@keyframes st-core{from{transform:scale(0);}to{transform:scale(1);}}
@keyframes st-fade{from{opacity:0;}to{opacity:1;}}
@media(max-width:900px){.strata-wrap{margin-top:8px;}.strata{height:clamp(240px,62vw,420px);}}
@media(max-width:640px){
  .hx{padding-top:120px;}
  .st-labels{display:none;}
}

/* ---------------------------------------------------------------- qual é o seu momento */
.mm{padding:120px 0;background:var(--bg);}
.mm-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.mm-options{border:0;margin-top:40px;}
.mm-opt{display:block;position:relative;border-top:1px solid var(--line);cursor:pointer;}
.mm-opt:last-child{border-bottom:1px solid var(--line);}
.mm-opt input{position:absolute;opacity:0;width:1px;height:1px;}
.mm-opt span{display:block;padding:22px 16px 22px 54px;font-family:var(--serif);font-size:clamp(1.1rem,1.6vw,1.32rem);line-height:1.3;letter-spacing:-0.01em;color:var(--ink-soft);transition:color .25s, background .25s;position:relative;}
.mm-opt span::before{content:"";position:absolute;left:14px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;border:2px solid var(--ink-soft);box-sizing:border-box;transition:all .25s;}
.mm-opt:hover span{color:var(--ink);}
.mm-opt input:checked + span{color:var(--ink);background:var(--bg-alt);}
.mm-opt input:checked + span::before{border-color:var(--terracota);background:var(--terracota);box-shadow:inset 0 0 0 4px var(--bg-alt);}
.mm-opt input:focus-visible + span{outline:2px solid var(--accent);outline-offset:-2px;}

.mm-result{position:sticky;top:110px;}
.mm-plan{background:var(--espresso);color:var(--areia);padding:44px 44px 40px;border-radius:4px 4px 120px 4px;position:relative;overflow:hidden;}
[data-theme="dark"] .mm-plan{background:var(--cacau);}
.mm-plan[hidden]{display:none;}
.mm-plan::after{content:"";position:absolute;right:38px;bottom:30px;width:46px;height:46px;border-radius:50%;background:var(--terracota);}
.mm-for{color:var(--muted-dark);font-size:0.95rem;}
.mm-plan h3{font-size:clamp(2.4rem,4vw,3.4rem);letter-spacing:-0.04em;margin:6px 0 16px;color:var(--areia);}
.mm-why{color:#E3D9CC;max-width:44ch;line-height:1.55;}
.mm-lists{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px 0 34px;}
.mm-lists h4{font-family:var(--sans);font-size:0.9rem;font-weight:600;color:var(--label-on-dark);margin-bottom:10px;}
.mm-lists li{font-size:0.95rem;line-height:1.45;color:var(--areia);padding:7px 0 7px 18px;position:relative;border-top:1px solid rgba(244,238,230,0.12);}
.mm-lists li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%;background:var(--ocre);}
@media(max-width:980px){
  .mm-grid{grid-template-columns:minmax(0,1fr);gap:40px;}
  .mm-result{position:static;}
}
@media(max-width:560px){
  .mm{padding:80px 0;}
  .mm-plan{padding:32px 24px 90px;border-radius:4px 4px 80px 4px;}
  .mm-lists{grid-template-columns:minmax(0,1fr);gap:18px;}
}

/* ---------------------------------------------------------------- serviços em camadas */
.sv-intro{padding:120px 40px 150px;}
.layer{position:relative;background:var(--lbg);}
.layer-1{--lbg:var(--layer-1);--lline:var(--st-1);}
.layer-2{--lbg:var(--layer-2);--lline:var(--salvia);}
.layer-3{--lbg:var(--layer-3);--lline:var(--ocre);color:var(--areia);}
.layer-edge{position:absolute;left:0;right:0;bottom:calc(100% - 1px);width:100%;height:clamp(50px,8vw,120px);display:block;}
.edge-fill{fill:var(--lbg);}
.edge-line{fill:none;stroke:var(--lline);stroke-width:12;stroke-linecap:round;}
.layer-body{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:56px;padding-top:30px;padding-bottom:150px;}
.layer-3 .layer-body{padding-bottom:170px;}
.layer-head h3{font-size:clamp(2rem,3.6vw,3.2rem);letter-spacing:-0.04em;line-height:1.02;}
.layer-head p{margin-top:16px;color:var(--ink-soft);max-width:34ch;line-height:1.55;}
.layer-3 .layer-head h3{color:var(--areia);}
.layer-3 .layer-head p{color:var(--muted-dark);}
.svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;}
.svc li{padding:20px 0 22px;border-top:1px solid var(--line);}
.layer-3 .svc li{border-top-color:rgba(244,238,230,0.14);}
.svc strong{display:block;font-family:var(--serif);font-weight:600;font-size:1.16rem;letter-spacing:-0.015em;margin-bottom:6px;}
.svc span{display:block;font-size:0.95rem;line-height:1.5;color:var(--ink-soft);}
.layer-3 .svc span{color:var(--muted-dark);}
.core-mark{position:absolute;left:70%;bottom:-64px;width:128px;height:128px;margin-left:-64px;border-radius:50%;background:var(--terracota);z-index:3;}
@media(max-width:900px){
  .layer-body{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:110px;}
  .sv-intro{padding:90px 22px 90px;}
}
@media(max-width:600px){
  .svc{grid-template-columns:minmax(0,1fr);}
  .core-mark{width:84px;height:84px;margin-left:-42px;bottom:-42px;}
}

.after{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:150px;padding-bottom:120px;}
.after h3{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-0.03em;margin-bottom:22px;}
.tick li{padding:12px 0 12px 26px;border-top:1px solid var(--line);position:relative;line-height:1.5;}
.tick li::before{content:"";position:absolute;left:2px;top:20px;width:9px;height:9px;border-radius:50%;background:var(--terracota);}
@media(max-width:900px){.after{grid-template-columns:minmax(0,1fr);gap:48px;padding-top:110px;padding-bottom:90px;}}

/* ---------------------------------------------------------------- planos */
.pl{padding:120px 0;background:var(--bg-alt);}
.pl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:56px;border-top:2px solid var(--ink);}
.pl-col{padding:34px 28px 36px;border-left:1px solid var(--line);display:flex;flex-direction:column;}
.pl-col:first-child{border-left:0;padding-left:0;}
.pl-col h3{font-size:2rem;letter-spacing:-0.04em;}
.pl-who{color:var(--ink-soft);margin:8px 0 24px;line-height:1.45;min-height:2.9em;}
.pl-col h4{font-family:var(--sans);font-size:0.88rem;font-weight:600;color:var(--ink-soft);margin:18px 0 8px;}
.pl-col li{padding:6px 0 6px 16px;position:relative;font-size:0.97rem;line-height:1.4;}
.pl-col li::before{content:"";position:absolute;left:0;top:13px;width:6px;height:6px;border-radius:50%;background:var(--ink-soft);}
.pl-link{margin-top:auto;padding-top:28px;font-weight:600;color:var(--accent-text);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px;align-self:flex-start;}
.pl-link:hover{color:var(--ink);}
.pl-col-strong{background:var(--espresso);color:var(--areia);border-left:0;padding-left:28px;border-radius:0 0 90px 0;}
[data-theme="dark"] .pl-col-strong{background:var(--cacau);}
.pl-col-strong h3{color:var(--areia);}
.pl-col-strong .pl-who,.pl-col-strong h4{color:var(--muted-dark);}
.pl-col-strong li::before{background:var(--terracota);}
.pl-col-strong .pl-link{color:#E08A5E;}
.pl-col-strong .pl-link:hover{color:var(--areia);}
@media(max-width:900px){
  .pl{padding:80px 0;}
  .pl-grid{grid-template-columns:minmax(0,1fr);}
  .pl-col{border-left:0;padding-left:0;padding-right:0;}
  .pl-col-strong{padding:34px 24px 40px;}
  .pl-who{min-height:0;}
}

/* ---------------------------------------------------------------- processo */
.pr{padding:120px 0;}
.pr-steps{list-style:none;counter-reset:pr;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 40px;margin-top:56px;}
.pr-steps li{counter-increment:pr;border-top:2px solid var(--ink);padding-top:22px;position:relative;}
.pr-steps li::before{content:counter(pr,decimal-leading-zero);display:block;font-family:var(--serif);font-weight:600;font-size:2.6rem;letter-spacing:-0.04em;color:var(--accent-text);line-height:1;margin-bottom:14px;}
.pr-steps h3{font-size:1.35rem;letter-spacing:-0.02em;margin-bottom:8px;}
.pr-steps p{color:var(--ink-soft);line-height:1.55;}
@media(max-width:900px){.pr-steps{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.pr{padding:80px 0;}.pr-steps{grid-template-columns:minmax(0,1fr);gap:34px;}}

/* ---------------------------------------------------------------- sobre */
.ab{padding:120px 0;background:var(--bg-alt);}
.ab-grid{display:grid;grid-template-columns:minmax(220px,1fr) 1.6fr;gap:72px;align-items:center;}
.ab-mark svg{width:100%;max-width:340px;display:block;}
.ab-mark .m1{stroke:var(--st-1);} .ab-mark .m2{stroke:var(--salvia);} .ab-mark .m3{stroke:var(--ocre);}
.ab-mark .core{fill:var(--terracota);}
.ab-lead{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.35;letter-spacing:-0.015em;margin:22px 0 20px;max-width:40ch;}
.ab p{max-width:60ch;line-height:1.6;}
.ab p:not(.ab-lead){color:var(--ink-soft);}
.ab-promises{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:0 32px;}
.ab-promises li{padding:14px 0 14px 28px;border-top:1px solid var(--line);position:relative;font-weight:500;line-height:1.45;}
.ab-promises li::before{content:"";position:absolute;left:2px;top:19px;width:12px;height:7px;border-left:2px solid var(--terracota);border-bottom:2px solid var(--terracota);transform:rotate(-45deg);}
@media(max-width:900px){.ab-grid{grid-template-columns:minmax(0,1fr);gap:40px;}.ab-mark svg{max-width:180px;}}
@media(max-width:560px){.ab{padding:80px 0;}.ab-promises{grid-template-columns:minmax(0,1fr);}}

/* ---------------------------------------------------------------- blog, diagnóstico, dúvidas */
.bl-head{margin-bottom:48px;}
.dg{padding:120px 0;}
.dg-what{margin-top:26px;color:var(--ink-soft);line-height:1.6;max-width:46ch;padding-left:20px;border-left:3px solid var(--terracota);}
.faq-wrap{display:grid;grid-template-columns:1fr 1.8fr;gap:64px;align-items:start;}
@media(max-width:900px){.faq-wrap{grid-template-columns:minmax(0,1fr);gap:32px;}.dg{padding:80px 0;}}

/* cabeçalho: botão de diagnóstico */
.btn-sm{padding:11px 18px;font-size:0.85rem;}
@media(max-width:640px){.nav-cta{display:none;}}
.hx-kicker{margin-bottom:22px;}

/* ---------------------------------------------------------------- a nova busca (posts e stories) */
.nb{padding:120px 0 110px;background:var(--bg-alt);}
.nb-head .sec-title{max-width:16ch;}
.nb-where{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:56px;border-top:2px solid var(--ink);}
.nb-where li{padding:26px 28px 30px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:6px;}
.nb-where li:first-child{border-left:0;padding-left:0;}
.nb-where li:last-child{background:var(--espresso);color:var(--areia);border-left:0;border-radius:0 0 72px 0;padding-left:28px;}
[data-theme="dark"] .nb-where li:last-child{background:var(--cacau);}
.nb-tag{font-size:0.9rem;font-weight:600;color:var(--ink-soft);}
.nb-where li:last-child .nb-tag{color:var(--label-on-dark);}
.nb-where strong{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-0.035em;line-height:1.05;}
.nb-where li > span:last-child{color:var(--ink-soft);}
.nb-where li:last-child > span:last-child{color:#E3D9CC;}
.nb-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:72px;align-items:start;}
.nb-chat{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:30px;display:flex;flex-direction:column;gap:16px;}
.nb-q{align-self:flex-end;max-width:85%;background:var(--espresso);color:var(--areia);padding:14px 18px;border-radius:18px 18px 4px 18px;font-weight:500;}
[data-theme="dark"] .nb-q{background:var(--terracota);color:var(--on-accent);}
.nb-a{max-width:90%;background:var(--bg-alt);padding:14px 18px;border-radius:18px 18px 18px 4px;color:var(--ink);}
.nb-searches{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:18px;border-top:1px solid var(--line);}
.nb-searches li{font-size:0.9rem;padding:7px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);}
.nb-searches li::before{content:"";display:inline-block;width:9px;height:9px;border:2px solid currentColor;border-radius:50%;margin-right:8px;vertical-align:-1px;}
.nb-text h3{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-0.03em;line-height:1.15;margin-bottom:22px;}
.nb-sources li{padding:14px 0;border-top:1px solid var(--line);display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;}
.nb-sources strong{font-family:var(--serif);font-weight:600;font-size:1.15rem;min-width:9.5em;}
.nb-sources span{color:var(--ink-soft);}
.nb-text > p{margin-top:24px;line-height:1.6;max-width:52ch;}
.nb-test{margin-top:64px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:30px 34px;border:2px dashed var(--accent);border-radius:20px;}
.nb-test h3{font-size:1.5rem;letter-spacing:-0.025em;margin-bottom:10px;}
.nb-test ol{padding-left:1.3em;line-height:1.6;}
@media(max-width:900px){
  .nb{padding:80px 0;}
  .nb-where{grid-template-columns:minmax(0,1fr);}
  .nb-where li{border-left:0;padding-left:0;border-bottom:1px solid var(--line);}
  .nb-where li:last-child{padding:24px;border-radius:0 0 48px 0;}
  .nb-grid{grid-template-columns:minmax(0,1fr);gap:40px;margin-top:48px;}
  .nb-test{padding:24px;}
}

/* camada de desempenho e segurança (ocre) e ajustes das camadas */
.layer-4{--lbg:#EFE3CF;--lline:var(--ocre);}
[data-theme="dark"] .layer-4{--lbg:#2E271D;}
.layer-3{--lline:var(--terracota);}
.layer-cta{margin-top:26px;}
.after-text{color:var(--ink-soft);line-height:1.6;margin-bottom:22px;max-width:46ch;}

/* processo em 4 etapas */
.pr-steps.pr-4{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:1000px){.pr-steps.pr-4{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.pr-steps.pr-4{grid-template-columns:minmax(0,1fr);}}

/* sobre: significado do nome */
.ab-name{margin:26px 0 8px;display:grid;gap:14px;}
.ab-name div{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:18px;align-items:baseline;padding-top:14px;border-top:1px solid var(--line);}
.ab-name dt{font-family:var(--serif);font-weight:600;font-size:1.9rem;letter-spacing:-0.04em;line-height:1;}
.ab-pron{display:block;font-family:var(--sans);font-size:0.85rem;font-weight:400;letter-spacing:0;color:var(--ink-soft);margin-top:6px;}
.ab-name dd{margin:0;line-height:1.5;}
.ab-claim{margin-top:22px;font-family:var(--serif);font-weight:600;font-size:1.3rem;line-height:1.3;letter-spacing:-0.015em;background:var(--espresso);color:var(--areia) !important;padding:20px 24px;border-radius:14px;max-width:none !important;}
[data-theme="dark"] .ab-claim{background:var(--cacau);}
@media(max-width:560px){.ab-name div{grid-template-columns:minmax(0,1fr);gap:6px;}}
/* camada sob medida: só o convite, sem lista de exemplos */
.layer-3 .layer-body{grid-template-columns:minmax(0,1fr);}
.layer-3 .layer-head h3{max-width:20ch;}
.layer-3 .layer-head p{max-width:52ch;}

/* alto contraste (ver site.css): camadas sem cor de fundo, blocos escuros com contorno */
html[data-contrast="alto"]{--layer-1:#000;--layer-2:#000;--layer-3:#000;--st-1:#FFF;--label-on-dark:#FFD60A;}
html[data-contrast="alto"] .layer-4{--lbg:#000;}
html[data-contrast="alto"] .layer{border-top:2px solid #FFF;}
html[data-contrast="alto"] .mm-plan,html[data-contrast="alto"] .pl-col-strong,html[data-contrast="alto"] .nb-where li:last-child,
html[data-contrast="alto"] .ab-claim,html[data-contrast="alto"] .nb-q{background:#000;border:2px solid #FFF;}
html[data-contrast="alto"] .mm-why,html[data-contrast="alto"] .nb-where li:last-child > span:last-child{color:#FFF;}
html[data-contrast="alto"] .pl-col-strong .pl-link{color:#FFD60A;}
html[data-contrast="alto"] .nb-q{color:#FFF;}
