/* apple-polish v1 — camada de acabamento (fluidez, materiais, tipografia). Só aparência: não altera conteúdo. */
:root{color-scheme:dark;--ap-ease:cubic-bezier(.22,1,.36,1);--ap-press:cubic-bezier(.2,0,0,1)}
@supports (transition-timing-function:linear(0,1)){:root{--ap-ease:linear(0,.178 3.1%,.495 7.2%,.769 11.6%,.923 16.3%,.99 22.6%,1.012 28.9%,1.014 35.5%,1.003 49%,1)}}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
/* tipografia: tracking por tamanho, leading inverso */
h1{letter-spacing:-.028em;line-height:1.1;text-wrap:balance}
h3,h4,.cs-h3{letter-spacing:-.012em;text-wrap:balance}
.lead{letter-spacing:-.006em;line-height:1.58;text-wrap:pretty}
p,.item,.faq-a,.passo,.texto{text-wrap:pretty}
.fone{letter-spacing:-.01em;font-variant-numeric:tabular-nums}
/* materiais: vidro com borda superior clara = luz batendo na borda */
section.card,.services-section{background:linear-gradient(180deg,rgba(24,52,88,.66),rgba(14,34,60,.62));-webkit-backdrop-filter:blur(18px) saturate(165%);backdrop-filter:blur(18px) saturate(165%);border:1px solid rgba(255,255,255,.08);border-top-color:rgba(255,255,255,.22);border-radius:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.3),0 22px 48px -14px rgba(0,0,0,.6)}
.local-box iframe{border-radius:18px}
/* barra do topo das landings: pílula translúcida fixa */
.topbar{position:sticky;top:10px;z-index:60;padding:10px 16px;border:1px solid rgba(255,255,255,.1);border-top-color:rgba(255,255,255,.2);border-radius:22px;background:rgba(11,29,51,.55);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);box-shadow:0 10px 30px -12px rgba(0,0,0,.6)}
/* resposta imediata: feedback no toque, mola ao soltar */
.cta-inline,.cta-button,.nav-zap,.hub,.wa-fixo,.gr-nav,.gr-dot,.nav-toggle,.service-item,.item,.testimonial-item,.faq summary,.gr-head,.gr-link,a.bf,.trust-seal{transition:transform .5s var(--ap-ease),box-shadow .35s ease,background-color .25s ease,border-color .25s ease,color .2s ease;-webkit-tap-highlight-color:transparent}
.cta-inline:active,.cta-button:active,.nav-zap:active,.hub:active,.wa-fixo:active,.gr-nav:active,.nav-toggle:active,a.bf:active,.trust-seal:active{transform:scale(.965);transition-duration:.09s;transition-timing-function:var(--ap-press)}
.service-item:active,.item:active,.testimonial-item:active{transform:scale(.988);transition-duration:.09s;transition-timing-function:var(--ap-press)}
.faq summary:active{background:rgba(255,255,255,.05)}
@media (hover:hover) and (pointer:fine){
 .cta-inline:hover,.cta-button:hover,.nav-zap:hover{transform:translateY(-2px) scale(1.012)}
 .service-item:hover,.testimonial-item:hover{transform:translateY(-2px);background:rgba(255,255,255,.06);border-color:rgba(0,210,255,.3)}
 .wa-fixo:hover{transform:scale(1.07)}
 .hub:hover{transform:translateY(-1px);background:rgba(0,210,255,.12)}
}
.cta-inline,.cta-button{box-shadow:0 1px 0 rgba(255,255,255,.28) inset,0 8px 22px -6px rgba(37,211,102,.5)}
.cta-ghost{box-shadow:none}
.wa-fixo{box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 10px 26px -6px rgba(0,0,0,.6)}
/* foco visível */
:focus-visible{outline:2px solid var(--blue-glow,#00d2ff);outline-offset:3px;border-radius:10px}
/* FAQ: abre e fecha com altura animada */
@supports (interpolate-size:allow-keywords){
 details.faq{interpolate-size:allow-keywords}
 details.faq::details-content{block-size:0;overflow:clip;transition:block-size .45s var(--ap-ease),content-visibility .45s allow-discrete}
 details.faq[open]::details-content{block-size:auto}
}
/* entrada por rolagem: sem JS, sem esconder conteúdo se o navegador não suportar */
@keyframes ap-rise{from{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:none}}
@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){
 section.card,.services-section,.local-box,.site-case,.cs-result,.app{animation:ap-rise linear both;animation-timeline:view();animation-range:entry 0px entry 260px}
}}
/* acessibilidade: movimento, transparência e contraste — versões mais suaves, não ausência de feedback */
@keyframes ap-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
 .cta-inline,.cta-button,.nav-zap,.hub,.wa-fixo,.gr-nav,.gr-dot,.nav-toggle,.service-item,.item,.testimonial-item,.faq summary,.gr-head,.gr-link,a.bf,.trust-seal{transition:background-color .2s ease,border-color .2s ease,color .2s ease,opacity .15s ease,box-shadow .2s ease!important}
 .cta-inline:active,.cta-button:active,.nav-zap:active,.hub:active,.wa-fixo:active,.gr-nav:active,.nav-toggle:active,a.bf:active,.trust-seal:active,.service-item:active,.item:active,.testimonial-item:active{transform:none!important;opacity:.82}
 .cta-inline:hover,.cta-button:hover,.nav-zap:hover,.service-item:hover,.testimonial-item:hover,.wa-fixo:hover,.hub:hover{transform:none!important}
 details.faq::details-content{transition:none!important}
 html{scroll-behavior:auto!important}
}
@supports (animation-timeline:view()){@media (prefers-reduced-motion:reduce){
 section.card,.services-section,.local-box,.site-case,.cs-result,.app{animation:ap-fade linear both!important;animation-timeline:view()!important;animation-range:entry 0px entry 200px!important}
}}
@media (prefers-reduced-transparency:reduce){section.card,.services-section{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(180deg,#183458,#10294a)}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0d2240}}
@media (prefers-contrast:more){section.card,.services-section,.topbar{background:#0f2540;border-color:rgba(255,255,255,.5)}.lead,.faq-a,.item{color:#fff}}
@media print{.topbar{position:static;backdrop-filter:none}section.card,.services-section{backdrop-filter:none;box-shadow:none}}
