/* X Digital — azul e branco do logo, com verde, vermelho e amarelo nos detalhes */
:root{
  --azul:#006fb0;        /* anel do logo */
  --azul-2:#0a82c9;
  --marinho:#063a5e;     /* texto e seções fortes */
  --marinho-2:#0b4a75;
  --ceu:#eaf4fb;         /* fundo alternado */
  --ceu-2:#d4e8f6;
  --branco:#ffffff;
  --verde:#00a650;
  --vermelho:#ee1c25;
  --amarelo:#fde500;
  --texto:#0d2b45;
  --suave:#4f6b84;
  --linha:#d7e4ee;
  --r-s:10px; --r-m:18px; --r-l:28px;
  --max:1200px;
  --f-d:"Bricolage Grotesque",system-ui,sans-serif;
  --f-b:"Figtree",system-ui,sans-serif;
  --x:linear-gradient(90deg,var(--verde) 0 25%,var(--vermelho) 25% 50%,var(--amarelo) 50% 75%,var(--azul) 75%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{margin:0;background:var(--branco);color:var(--texto);font-family:var(--f-b);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
.xart img,.board img,.gallery img,.page-photo img{color:transparent;font-size:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--amarelo);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--f-d);line-height:1.05;letter-spacing:-.025em;margin:0 0 .45em;color:var(--marinho);font-weight:700}
h1{font-size:clamp(2.4rem,5.6vw,4.6rem);font-variation-settings:"wdth" 90}
h2{font-size:clamp(1.8rem,3.6vw,2.9rem)}
h3{font-size:1.3rem;font-weight:650}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:300}
.kicker{display:inline-block;font-weight:600;color:var(--azul);margin-bottom:.8em;font-size:1rem}
.on-blue .kicker,.on-navy .kicker{color:var(--amarelo)}
.xbar{display:block;height:5px;width:84px;border-radius:5px;background:var(--x);margin-bottom:18px}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--f-d);font-weight:650;font-size:1.02rem;padding:.9em 1.45em;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;line-height:1.1;transition:background .15s,transform .15s}
.btn:active{transform:scale(.98)}
.btn svg{width:20px;height:20px;flex:none}
.btn-azul{background:var(--azul);color:#fff}.btn-azul:hover{background:var(--azul-2)}
.btn-zap{background:var(--verde);color:#fff}.btn-zap:hover{background:#00b85a}
.btn-amarelo,.btn-volt{background:var(--amarelo);color:var(--marinho)}.btn-amarelo:hover,.btn-volt:hover{background:#fff04a}
.btn-linha,.btn-ghost{border-color:currentColor;background:transparent;color:inherit}
.btn-linha:hover,.btn-ghost:hover{background:rgba(0,111,176,.08)}
.on-blue .btn-ghost:hover,.on-navy .btn-ghost:hover,.on-blue .btn-linha:hover,.on-navy .btn-linha:hover{background:rgba(255,255,255,.12)}
.btn-dark{background:var(--marinho);color:#fff}

/* Header */
.top{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--x)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:18px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:50px;height:50px;border-radius:50%}
.brand .name{font-family:var(--f-d);font-weight:800;font-size:1.3rem;letter-spacing:-.01em;color:var(--marinho);line-height:1}
.brand .name small{display:block;font-family:var(--f-b);font-weight:500;font-size:.78rem;color:var(--suave);letter-spacing:0;margin-top:3px}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center}
nav.main a{text-decoration:none;font-weight:600;font-size:.97rem;padding:.55em .85em;border-radius:999px;color:var(--marinho)}
nav.main a:hover{background:var(--ceu)}
nav.main a[aria-current]{background:var(--azul);color:#fff}
nav.main .has-sub{position:relative}
nav.main .sub{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid var(--linha);border-radius:var(--r-m);padding:8px;min-width:270px;display:none;flex-direction:column;box-shadow:0 24px 50px -24px rgba(6,58,94,.35)}
nav.main .has-sub:hover .sub,nav.main .has-sub:focus-within .sub{display:flex}
nav.main .sub a{border-radius:var(--r-s);font-weight:500}
.top .cta-top{padding:.75em 1.15em;font-size:.95rem;background:var(--verde);color:#fff}
.burger{display:none;background:var(--ceu);border:0;color:var(--marinho);width:46px;height:46px;border-radius:50%;cursor:pointer}
.burger svg{width:24px;height:24px;margin:auto}

/* Hero */
.hero{position:relative;background:#fff}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:56px;padding-bottom:64px}
.hero .lead{font-size:1.2rem;color:var(--suave);max-width:33em}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 26px}
.facts{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.facts li{display:flex;align-items:center;gap:8px;background:var(--ceu);color:var(--marinho);font-weight:600;font-size:.95rem;padding:.5em .9em;border-radius:999px}
.facts li::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--c,var(--azul));transform:rotate(45deg)}

/* O X do logo como composição */
.xart{position:relative;aspect-ratio:1/1;max-width:560px;margin-left:auto;width:100%}
.xart .ring{position:absolute;inset:0;border-radius:50%;border:22px solid var(--azul)}
.xart .photo{position:absolute;inset:44px;border-radius:50%;overflow:hidden;background:var(--ceu-2)}
.xart .photo img{width:100%;height:100%;object-fit:cover}
.xart .blade{position:absolute;width:30%;height:13%;transform:skewX(-28deg);border-radius:6px;box-shadow:0 14px 30px -14px rgba(0,0,0,.4)}
.xart .b1{background:var(--verde);left:-4%;top:9%}
.xart .b2{background:var(--vermelho);right:-2%;top:13%;transform:skewX(28deg)}
.xart .b3{background:var(--amarelo);left:2%;bottom:16%;transform:skewX(28deg)}
.xart .tri{position:absolute;right:6%;bottom:4%;width:0;height:0;border-left:58px solid transparent;border-right:58px solid transparent;border-bottom:100px solid var(--azul);filter:drop-shadow(0 12px 18px rgba(6,58,94,.35))}
.xart .tri b{position:absolute;left:-17px;top:52px;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--azul);display:grid;place-items:center;font-family:var(--f-d);font-weight:800;font-size:1.1rem}

/* Ticket "fica pronto às" */
.ticket{position:absolute;left:-6%;bottom:-4%;width:min(300px,62%);background:#fff;border-radius:var(--r-m);box-shadow:0 30px 60px -24px rgba(6,58,94,.5);padding:18px 20px 16px;z-index:2}
.ticket::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:var(--r-m) var(--r-m) 0 0;background:var(--x)}
.ticket .t-label{font-size:.85rem;color:var(--suave);font-weight:600}
.ticket .clock{font-family:var(--f-d);font-weight:800;font-size:2.8rem;color:var(--marinho);line-height:1;margin:.15em 0 .25em;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.ticket .clock small{font-size:.32em;font-weight:600;color:var(--suave);letter-spacing:0}
.ticket .seg{display:flex;gap:5px;flex-wrap:wrap}
.ticket .seg button{flex:1 1 auto;background:var(--ceu);border:0;color:var(--marinho);padding:.5em .6em;border-radius:999px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}
.ticket .seg button[aria-pressed=true]{background:var(--azul);color:#fff}
.ticket .note{font-size:.78rem;color:var(--suave);margin:.7em 0 0}
.ticket .bar,.ticket .leds{display:none}

/* Marcas */
.brands{background:var(--ceu);padding:22px 0 30px}
.brands .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 34px;justify-content:center}
.brands span{font-family:var(--f-d);font-weight:700;font-size:1.25rem;color:var(--marinho);opacity:.62}
.brands p{width:100%;text-align:center;margin:0 0 4px;color:var(--suave);font-size:.95rem}

/* Seções */
section.block{padding:92px 0}
section.alt{background:var(--ceu)}
.on-blue{background:var(--azul);color:#fff}
.on-navy{background:var(--marinho);color:#fff}
.on-blue h2,.on-blue h3,.on-navy h2,.on-navy h3,.on-blue h1,.on-navy h1{color:#fff}
.on-blue p,.on-navy p{color:#d6e9f7}
.head{max-width:700px;margin-bottom:44px}
.head p{color:var(--suave);font-size:1.1rem}
.on-blue .head p,.on-navy .head p{color:#d6e9f7}

/* Quadro de serviços (estilo balcão) */
.board{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:stretch}
.board .feature{position:relative;border-radius:var(--r-l);overflow:hidden;min-height:460px;background:var(--marinho);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;text-decoration:none}
.board .feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.board .feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,58,94,0) 30%,rgba(6,58,94,.92) 100%)}
.board .feature>*{position:relative;z-index:1}
.board .feature h3{color:#fff;font-size:1.9rem}
.board .feature p{color:#d6e9f7;margin:0}
.rows{list-style:none;margin:0;padding:0;border-top:2px solid var(--marinho)}
.rows li{border-bottom:1px solid var(--linha)}
.rows a{display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:center;padding:16px 6px;text-decoration:none}
.rows a:hover{background:var(--ceu)}
.rows .ico{width:44px;height:44px;border-radius:12px;background:var(--ceu);color:var(--azul);display:grid;place-items:center}
.rows a:hover .ico{background:var(--azul);color:#fff}
.rows .ico svg{width:24px;height:24px}
.rows b{font-family:var(--f-d);font-size:1.15rem;color:var(--marinho);display:block;line-height:1.2}
.rows small{color:var(--suave);font-size:.9rem}
.rows .tempo{font-weight:700;color:var(--marinho);background:var(--ceu);padding:.35em .8em;border-radius:999px;font-size:.85rem;white-space:nowrap}
.rows .tempo.hot{background:var(--vermelho);color:#fff}
.rows .tempo.fast{background:var(--amarelo)}

/* Cards (páginas internas e blog) */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--linha);border-radius:var(--r-m);padding:24px;text-decoration:none;display:flex;flex-direction:column;gap:6px}
a.card:hover{border-color:var(--azul)}
.card .ico{width:46px;height:46px;border-radius:12px;background:var(--ceu);color:var(--azul);display:grid;place-items:center;margin-bottom:8px}
.card .ico svg{width:24px;height:24px}
.card h3{margin:0;font-size:1.2rem}
.card p{color:var(--suave);font-size:.96rem;margin:0}
.card .more{margin-top:auto;padding-top:10px;color:var(--azul);font-weight:650;font-size:.95rem}
.card.hot .ico{background:var(--vermelho);color:#fff}

/* Diagnóstico */
.diag{display:grid;grid-template-columns:.95fr 1.05fr;gap:30px;align-items:start}
.sym{display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start}
.sym button{background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:.75em 1.15em;font:inherit;font-weight:600;cursor:pointer}
.sym button:hover{border-color:#fff}
.sym button[aria-pressed=true]{background:var(--amarelo);border-color:var(--amarelo);color:var(--marinho)}
.sym button span{display:none}
.result{background:#fff;color:var(--texto);border-radius:var(--r-l);padding:30px;box-shadow:0 30px 60px -30px rgba(0,0,0,.45);min-height:300px}
.result h3{color:var(--marinho);font-size:1.55rem}
.result p{color:var(--suave)}
.result ul{padding-left:1.1em;color:var(--texto)}
.result b{color:var(--marinho)!important}
.result .tag{display:inline-block;font-size:.8rem;font-weight:700;padding:.35em .8em;border-radius:999px;background:var(--ceu);color:var(--azul);margin-right:6px}
.result .tag.urg{background:var(--vermelho);color:#fff}
.result .btn-volt{background:var(--verde);color:#fff}
.result .btn-ghost{color:var(--azul)}

/* Ordem de serviço (orçamento) */
.os-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
.quote{position:relative;background:#fff;color:var(--texto);border-radius:var(--r-m);padding:0 30px 26px;box-shadow:0 40px 80px -40px rgba(6,58,94,.55);border:1px solid var(--linha)}
.quote::before{content:"";display:block;margin:0 -30px 0;height:8px;border-radius:var(--r-m) var(--r-m) 0 0;background:var(--x)}
.os-head{display:flex;justify-content:space-between;align-items:center;padding:16px 0 14px;border-bottom:2px dashed var(--linha);margin-bottom:20px}
.os-head b{font-family:var(--f-d);font-size:1.15rem;color:var(--marinho)}
.os-head span{font-size:.85rem;color:var(--suave)}
.quote .steps{display:flex;gap:6px;margin-bottom:22px}
.quote .steps i{flex:1;height:6px;border-radius:9px;background:var(--ceu-2)}
.quote .steps i.on{background:var(--azul)}
.quote fieldset{border:0;padding:0;margin:0;display:none}
.quote fieldset.on{display:block}
.quote legend{font-family:var(--f-d);font-size:1.5rem;font-weight:700;color:var(--marinho);margin-bottom:16px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chips label{cursor:pointer;position:relative}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:.6em 1.05em;border-radius:999px;border:2px solid var(--linha);background:#fff;font-weight:600;font-size:.95rem;color:var(--marinho)}
.chips label:hover span{border-color:var(--azul)}
.chips input:checked+span{background:var(--azul);border-color:var(--azul);color:#fff}
.chips input:focus-visible+span{outline:3px solid var(--amarelo);outline-offset:2px}
.quote label{color:var(--suave)}
.quote input[type=text],.quote textarea{width:100%;background:var(--ceu);border:2px solid transparent;color:var(--texto);border-radius:12px;padding:.85em 1em;font:inherit;margin-top:6px}
.quote input[type=text]:focus,.quote textarea:focus{outline:none;border-color:var(--azul);background:#fff}
.quote .nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px}
.quote [data-prev]{color:var(--azul)}
.quote [data-next]{background:var(--azul);color:#fff}
.quote .preview{font-size:.9rem;background:var(--ceu);border-radius:12px;padding:14px 16px;white-space:pre-wrap;color:var(--marinho);margin-top:12px;border-left:4px solid var(--verde)}
.quote .err{color:var(--vermelho);font-size:.9rem;font-weight:600;min-height:1.3em;margin-top:8px}
.quote .note-light{color:var(--suave)!important;font-size:.88rem}

/* Processo (sequência real) */
.process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:p;position:relative}
.process::before{content:"";position:absolute;left:22px;right:22px;top:22px;height:3px;background:var(--x);border-radius:3px}
.process li{position:relative;padding:0 18px 0 0}
.process li::before{counter-increment:p;content:counter(p);position:relative;z-index:1;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;border:3px solid var(--azul);color:var(--azul);font-family:var(--f-d);font-weight:800;font-size:1.2rem;margin-bottom:18px}
.process h3{font-size:1.2rem}
.process p{color:var(--suave);font-size:.97rem;margin:0}
.on-navy .process li::before{background:var(--marinho);border-color:var(--amarelo);color:var(--amarelo)}

/* Números */
.seals{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:56px}
.seals div{border-left:4px solid var(--c,var(--azul));padding:4px 0 4px 16px}
.seals b{display:block;font-family:var(--f-d);font-weight:800;font-size:2.4rem;line-height:1;color:var(--marinho)}
.seals span{color:var(--suave);font-size:.95rem}

/* Galeria da loja */
.gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:150px;gap:12px}
.gallery figure{margin:0;border-radius:var(--r-m);overflow:hidden;background:var(--ceu-2);position:relative}
.gallery figure{grid-column:span 3}
.gallery figure:first-child{grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover}

/* Avaliações e mapa */
.trust{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.reviews{background:var(--azul);color:#fff;border-radius:var(--r-l);padding:34px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;position:relative;overflow:hidden}
.reviews h2{color:#fff}.reviews p{color:#d6e9f7;margin:0}
.reviews::after{content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;border:22px solid rgba(255,255,255,.12)}
.stars{color:var(--amarelo);font-size:1.7rem;letter-spacing:4px}
.reviews .btn-ghost{color:#fff}
.map{border-radius:var(--r-l);overflow:hidden;background:var(--ceu-2);min-height:340px;border:1px solid var(--linha)}
.map iframe{width:100%;height:100%;min-height:360px;border:0;display:block}
.addr{background:#fff;border:1px solid var(--linha);border-radius:var(--r-l);padding:30px}

/* Páginas internas */
.phero{background:var(--azul);color:#fff;padding:54px 0 62px;position:relative;overflow:hidden}
.phero::after{content:"";position:absolute;right:-90px;top:50%;transform:translateY(-50%);width:380px;height:380px;border-radius:50%;border:40px solid rgba(255,255,255,.1)}
.phero .wrap{position:relative;z-index:1}
.phero h1{color:#fff;max-width:17em}
.crumbs{font-size:.92rem;color:#cfe5f5;margin-bottom:16px}
.crumbs a{color:#fff;text-decoration:none;font-weight:600}
.crumbs a:hover{text-decoration:underline}
.phero .lead{color:#e1f0fa;font-size:1.18rem;max-width:40em}
.phero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.phero .btn-ghost{color:#fff}
.phero .btn-volt{background:var(--amarelo);color:var(--marinho)}
.layout{display:grid;grid-template-columns:1fr 340px;gap:52px;padding:64px 0 80px}
.prose{max-width:720px}
.prose .fig{margin:0 0 1.6em;background:#fff;border:1px solid rgba(6,58,94,.12);border-radius:16px;padding:18px;text-align:center}
.prose .fig img{max-width:100%;width:420px;height:auto;display:inline-block}
.prose h2{font-size:1.85rem;margin-top:1.5em}
.prose h2:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin-bottom:.45em}
.prose a{color:var(--azul);font-weight:600}
.answer{background:var(--ceu);border-radius:var(--r-m);padding:22px 24px;margin-bottom:34px;border-left:6px solid var(--azul)}
.answer strong{display:block;font-family:var(--f-d);color:var(--azul);font-size:1rem;margin-bottom:4px}
.answer p{margin:0;font-size:1.06rem}
.side{display:flex;flex-direction:column;gap:16px}
.side .box{background:var(--marinho);color:#fff;border-radius:var(--r-m);padding:26px;position:sticky;top:96px}
.side .box h3{color:#fff}
.side .box p{color:#cfe5f5;font-size:.95rem}
.side .box .btn{width:100%;margin-top:8px}
.side .box .btn-volt{background:var(--verde);color:#fff}
.side .box .btn-ghost{color:#fff}
.side .box .kicker{color:var(--amarelo)}
.side .links{background:#fff;border-radius:var(--r-m);padding:22px;border:1px solid var(--linha)}
.side .links h4{font-size:1.05rem;margin-bottom:6px}
.side .links a{display:block;padding:9px 0;text-decoration:none;border-bottom:1px solid var(--linha);font-weight:500}
.side .links a:hover{color:var(--azul)}
.check{list-style:none;padding:0!important}
.check li{padding-left:32px;position:relative}
.check li::before{content:"";position:absolute;left:0;top:.28em;width:20px;height:20px;border-radius:50%;background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
.on-blue .check li,.on-navy .check li{color:#e1f0fa}
.warn{background:#fff1f1;border:2px solid #ffc9cb;border-radius:var(--r-m);padding:18px 20px;margin:26px 0}
.warn strong{color:#c4121a}
table.t{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:.98rem}
table.t th,table.t td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--linha)}
table.t th{background:var(--marinho);color:#fff;font-weight:600}
table.t tr:first-child th:first-child{border-radius:10px 0 0 0}table.t tr:first-child th:last-child{border-radius:0 10px 0 0}
.page-photo{border-radius:var(--r-l);overflow:hidden;margin:0 0 30px;aspect-ratio:16/8;background:var(--ceu-2)}
.page-photo img{width:100%;height:100%;object-fit:cover}

/* Pacotes */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{background:#fff;color:var(--texto);border-radius:var(--r-l);padding:30px;display:flex;flex-direction:column;border:2px solid transparent}
.plan.feat{border-color:var(--amarelo);box-shadow:0 30px 60px -30px rgba(0,0,0,.5);transform:translateY(-10px)}
.plan .tier{display:inline-block;font-weight:700;font-size:.85rem;color:var(--azul);background:var(--ceu);border-radius:999px;padding:.3em .8em;align-self:flex-start}
.plan.feat .tier{background:var(--amarelo);color:var(--marinho)}
.plan h3{font-size:1.8rem;color:var(--marinho);margin:.5em 0 .4em}
.plan ul{list-style:none;padding:0;margin:0 0 22px;color:var(--texto);font-size:.98rem}
.plan li{padding:10px 0 10px 28px;border-bottom:1px solid var(--linha);position:relative}
.plan li::before{content:"";position:absolute;left:2px;top:17px;width:12px;height:12px;border-radius:3px;background:var(--azul);transform:rotate(45deg)}
.plan .btn{margin-top:auto;width:100%}
.plan .btn-ghost{color:var(--azul)!important}
.plan.feat .btn-volt{background:var(--verde);color:#fff}

/* FAQ */
.faq details{border-bottom:1px solid var(--linha)}
.faq details:first-child{border-top:2px solid var(--marinho)}
.faq summary{cursor:pointer;padding:20px 50px 20px 0;font-family:var(--f-d);font-weight:650;font-size:1.15rem;color:var(--marinho);list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:14px;height:14px;border-right:3px solid var(--azul);border-bottom:3px solid var(--azul);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details>div{padding:0 0 20px;color:var(--suave)}

/* CTA final */
.final{background:var(--azul);color:#fff;padding:72px 0;position:relative;overflow:hidden}
.final::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--x)}
.final .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.final h2{color:#fff;margin:0;max-width:17em}
.final .btn-dark{background:var(--verde)}

/* Rodapé */
footer.foot{background:var(--marinho);color:#bcd6ea;padding:60px 0 28px;font-size:.96rem}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px}
footer h4{color:#fff;font-size:1.05rem}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:9px}
footer a{text-decoration:none}
footer a:hover{color:#fff;text-decoration:underline}
footer .brand .name{color:#fff}
footer .brand .name small{color:#bcd6ea}
footer .legal{border-top:1px solid rgba(255,255,255,.15);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.86rem}

/* WhatsApp flutuante */
.wa-float{position:fixed;right:18px;bottom:104px;z-index:120;width:56px;height:56px;border-radius:50%;background:var(--verde);color:#fff;display:grid;place-items:center;box-shadow:0 12px 26px -8px rgba(0,0,0,.4);text-decoration:none}
.wa-float svg{width:30px;height:30px}

.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rv{opacity:1}

/* Responsivo */
@media (max-width:1040px){
  .hero .wrap,.diag,.layout,.board,.os-wrap,.trust{grid-template-columns:1fr}
  .xart{max-width:460px;margin:10px auto 30px}
  .ticket{left:0}
  .process{grid-template-columns:repeat(2,1fr);gap:30px 0}.process::before{display:none}
  .seals,.g4{grid-template-columns:repeat(2,1fr)}
  .g3,.plans,.posts{grid-template-columns:repeat(2,1fr)}
  .plan.feat{transform:none}
  footer .cols{grid-template-columns:1fr 1fr}
  .side .box{position:static}
  nav.main{position:fixed;inset:76px 0 0 0;background:#fff;padding:20px;transform:translateX(100%);visibility:hidden;transition:transform .25s,visibility .25s;overflow:auto}
  nav.main.open{transform:none;visibility:visible}
  nav.main ul{flex-direction:column;align-items:stretch;gap:4px}
  nav.main a{font-size:1.15rem;padding:.8em 1em}
  nav.main .sub{position:static;display:flex;border:0;box-shadow:none;padding:0 0 0 14px}
  .burger{display:grid}
  .top .cta-top{display:none}
  .board .feature{min-height:320px}
}
@media (max-width:640px){
  body{font-size:16px}
  section.block{padding:64px 0}
  .brand .name small{display:none}
  .g2,.g3,.g4,.plans,.posts,.process,footer .cols{grid-template-columns:1fr}
  .seals{grid-template-columns:1fr 1fr}
  .quote{padding:0 18px 20px}.quote::before{margin:0 -18px}
  .hero .wrap{padding-top:34px}
  .xart .ring{border-width:14px}.xart .photo{inset:28px}
  .xart .tri{border-left-width:40px;border-right-width:40px;border-bottom-width:70px}.xart .tri b{left:-13px;top:36px;width:26px;height:26px;font-size:.9rem}
  .xart{width:86%;margin:0 auto 150px}
  .ticket{left:-8%;right:-8%;width:auto;bottom:-140px}
  .xart .blade{height:11%}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:130px}
  .gallery figure:nth-child(n){grid-column:span 1;grid-row:span 1}
  .gallery figure:nth-child(1){grid-column:span 2;grid-row:span 2}
  .rows a{grid-template-columns:40px 1fr}.rows .tempo{grid-column:2;justify-self:start}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Avaliações reais */
.revs{columns:3 300px;column-gap:18px}
.rev{break-inside:avoid;margin:0 0 18px;background:#fff;border:1px solid var(--linha);border-top:5px solid var(--azul);border-radius:var(--r-m);padding:22px}
.rev:nth-child(4n+2){border-top-color:var(--verde)}.rev:nth-child(4n+3){border-top-color:var(--amarelo)}.rev:nth-child(4n+4){border-top-color:var(--vermelho)}
.rev .stars{font-size:1.15rem;letter-spacing:2px;color:#f5b301}
.rev blockquote{margin:10px 0 14px;font-size:1.02rem;line-height:1.55;color:var(--texto)}
.rev figcaption{font-size:.9rem;color:var(--suave)}
.rev figcaption b{color:var(--marinho)}
.page-photo.banner{aspect-ratio:auto;background:#fff;border:1px solid var(--linha)}
.page-photo.banner img{height:auto;object-fit:contain}
.page-photo.banner{max-width:820px;margin:0 auto 40px}
