/* VALE VIDRACARIA - estilo.css - VERSAO 16 */
:root{
    --navy:#07173F; --navy-2:#0E2668; --royal:#1F44C4; --claro:#5AA0F5; --gelo:#F2F6FD;
    --linha:#DEE7F6; --tinta:#0A1428; --tinta-2:#45536F; --tinta-3:#79869D;
    --grad:linear-gradient(135deg,#07173F 0%,#16339B 55%,#2450C6 100%);
    --sh-1:0 1px 2px rgba(8,20,48,.05), 0 6px 16px -6px rgba(8,20,48,.14);
    --sh-2:0 2px 4px rgba(8,20,48,.06), 0 18px 44px -12px rgba(8,20,48,.26);
    --sh-3:0 4px 8px rgba(5,14,38,.10), 0 40px 80px -20px rgba(5,14,38,.45);
    --r:16px; --r-s:10px;
    --e:cubic-bezier(.22,.9,.28,1);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{-webkit-text-size-adjust:100%; text-size-adjust:100%;}
  body{background:#fff; color:var(--tinta);
    font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;
    font-size:16.5px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  h1,h2,h3{font-family:Manrope,sans-serif; font-weight:800; letter-spacing:-.034em;
    line-height:1.02; text-wrap:balance;}
  em{font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:400; letter-spacing:-.01em;}
  :focus-visible{outline:3px solid var(--claro); outline-offset:3px; border-radius:4px;}
  .wrap{max-width:1200px; margin:0 auto; padding-inline:22px;}
  .lbl{font-family:"IBM Plex Mono",monospace; font-size:10.5px; letter-spacing:.24em;
    text-transform:uppercase; color:var(--royal); display:inline-flex; align-items:center; gap:8px;}
  .on-dark .lbl{color:var(--claro);}
  .nota-hero{font-family:Manrope,sans-serif; font-size:13px; letter-spacing:0;
    text-transform:none; font-weight:600; color:#CBDCF6; gap:8px;}
  .nota-hero .est{color:#F2B441; font-size:13px; letter-spacing:2px;}
  svg.ic{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.6;
    stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto;}

  /* ---------- reveal ---------- */
  .rv{opacity:0; transform:translateY(26px); transition:opacity .75s var(--e), transform .75s var(--e);
    transition-delay:var(--d,0ms);}
  .rv.in{opacity:1; transform:none;}
  @media (prefers-reduced-motion:reduce){
    .rv{opacity:1 !important; transform:none !important; transition:none !important;}
    *{animation:none !important;}
    html{scroll-behavior:auto;}
  }
  html{scroll-behavior:smooth;}

  /* Alvos de âncora: o cabeçalho é fixo, então sem esta margem o topo da
     seção (ou do formulário) fica escondido atrás dele ao chegar pelo link. */
  #topo,#orcamento,#dores,#produtos,#obras,#processo,#porque,#avaliacoes,#duvidas{
    scroll-margin-top:104px;
  }
  @media(min-width:980px){
    #topo,#orcamento,#dores,#produtos,#obras,#processo,#porque,#avaliacoes,#duvidas{
      scroll-margin-top:126px;
    }
  }
  #topo{scroll-margin-top:0;}

  /* ---------- botões ---------- */
  .btn{position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
    font-weight:700; font-size:15px; padding:16px 30px; border:0; border-radius:999px;
    cursor:pointer; overflow:hidden; isolation:isolate;
    transition:transform .35s var(--e), box-shadow .35s var(--e), color .25s;}
  .btn::before{content:""; position:absolute; inset:0; z-index:-1;
    background:linear-gradient(135deg,#2450C6,#1B3AAE); transition:transform .45s var(--e);}
  .btn-p{color:#fff; box-shadow:0 8px 22px -6px rgba(31,68,196,.55);}
  .btn-p:hover{transform:translateY(-2px); box-shadow:0 16px 34px -8px rgba(31,68,196,.6);}
  .btn-p:hover::before{transform:scale(1.08);}
  .btn-g{color:var(--tinta); background:#fff; box-shadow:var(--sh-1);}
  .btn-g::before{display:none;}
  .btn-g:hover{transform:translateY(-2px); box-shadow:var(--sh-2);}
  .btn-o{color:#fff; border:1.5px solid rgba(255,255,255,.4); background:rgba(255,255,255,.07);
    backdrop-filter:blur(10px);}
  .btn-o::before{display:none;}
  .btn-o:hover{background:rgba(255,255,255,.16); transform:translateY(-2px);}
  .btn-block{width:100%;}
  .btn .seta{transition:transform .35s var(--e);}
  .btn:hover .seta{transform:translateX(4px);}

  .leg{font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.05em; color:var(--tinta-3);}
  @media(min-width:760px){ .leg{font-size:10.5px; letter-spacing:.1em;} }

  /* ---------- aviso ---------- */
  .prev{position:fixed; left:14px; bottom:14px; z-index:70; max-width:330px;
    background:rgba(5,15,44,.92); backdrop-filter:blur(14px); color:#9DB4E0;
    border-radius:12px; padding:12px 15px; font-family:"IBM Plex Mono",monospace;
    font-size:10px; line-height:1.55; box-shadow:0 14px 40px -10px rgba(0,0,0,.55);}
  .prev b{display:block; color:#fff; letter-spacing:.2em; text-transform:uppercase; margin-bottom:5px;}
  @media(max-width:979px){ .prev{display:none;} }

  /* ---------- header ---------- */
  header{position:fixed; top:0; left:0; right:0; z-index:50; padding-block:18px;
    transition:background .4s var(--e), box-shadow .4s var(--e), padding .4s var(--e);}
  header.solto{background:rgba(255,255,255,.82); backdrop-filter:blur(16px) saturate(1.4);
    box-shadow:0 1px 0 rgba(10,20,40,.08), 0 8px 30px -14px rgba(10,20,40,.3); padding-block:11px;}
  .nav{display:flex; align-items:center; justify-content:space-between; gap:18px;}
  .nav .logo img{height:42px; width:auto; transition:height .4s var(--e), filter .4s;}
  header.solto .logo img{height:34px; filter:brightness(0) saturate(100%) invert(9%) sepia(58%) saturate(3600%) hue-rotate(216deg) brightness(95%) contrast(101%);}
  .nav nav{display:none; gap:4px;}
  .nav nav a{position:relative; font-size:14px; font-weight:600; color:#fff; opacity:.86;
    padding:8px 14px; border-radius:999px; transition:.3s var(--e);}
  header.solto nav a{color:var(--tinta-2); opacity:1;}
  .nav nav a:hover{opacity:1; background:rgba(255,255,255,.12);}
  header.solto nav a:hover{background:var(--gelo); color:var(--royal);}
  .nav .cta{display:none;}
  header.solto .cta.btn-o{color:#fff; border-color:transparent; background:none;}
  header.solto .cta.btn-o::before{display:block;}
  .burger{display:inline-flex; align-items:center; gap:9px; border:1.5px solid rgba(255,255,255,.42);
    background:rgba(255,255,255,.08); padding:12px 17px; border-radius:999px; cursor:pointer;
    font-family:"IBM Plex Mono",monospace; font-size:10.5px; letter-spacing:.18em;
    text-transform:uppercase; color:#fff; backdrop-filter:blur(10px); transition:.3s;}
  header.solto .burger{border-color:var(--linha); color:var(--tinta); background:#fff;}
  .mmenu{position:absolute; top:calc(100% + 8px); left:22px; right:22px; background:#fff;
    padding:10px 22px; border-radius:var(--r); box-shadow:var(--sh-3);
    opacity:0; transform:translateY(-10px) scale(.98); pointer-events:none;
    transition:.35s var(--e);}
  .mmenu.on{opacity:1; transform:none; pointer-events:auto;}
  .mmenu a{display:flex; justify-content:space-between; align-items:center; padding:16px 0;
    border-bottom:1px solid var(--linha); font-size:17px; font-weight:700;}
  .mmenu a:last-child{border-bottom:0; color:var(--royal);}
  @media(min-width:980px){ .nav nav{display:flex;} .nav .cta{display:inline-flex;} .burger{display:none;} }

  /* ---------- hero ---------- */
  .heroblk{position:relative;}
  .hero{position:relative; background:var(--navy); color:#fff; overflow:hidden;
    padding-top:104px; padding-bottom:0;}
  .hero-bg{position:absolute; inset:0; overflow:hidden;}
  .hero-bg img{width:100%; height:110%; object-fit:cover; opacity:.85;
    transform:scale(1.06); animation:kb 22s var(--e) forwards;}
  @keyframes kb{to{transform:scale(1);}}
  .hero-bg::after{content:""; position:absolute; inset:0;
    background:
      radial-gradient(120% 90% at 78% 18%, rgba(90,160,245,.28), transparent 58%),
      linear-gradient(98deg, rgba(5,15,44,.96) 12%, rgba(7,23,63,.8) 46%, rgba(14,38,104,.42) 100%);}
  .hero .wrap{position:relative; z-index:3;}
  .hero h1{font-size:clamp(35px,7.4vw,74px); margin:18px 0 0; max-width:680px;}
  .hero h1 em{color:var(--claro); display:block;}
  .hero .sub{color:#BDD0F0; font-size:16px; max-width:46ch; margin-top:18px;}
  @media(min-width:760px){ .hero .sub{font-size:17.5px; margin-top:24px;} }
  .hero-foot{display:grid; grid-template-columns:1fr; gap:10px; margin-top:26px; padding-bottom:86px;}
  @media(min-width:560px){ .hero-foot{grid-template-columns:repeat(3,1fr);} }
  .hf{display:flex; gap:12px; align-items:center; padding:14px 18px; border-radius:var(--r);
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
    backdrop-filter:blur(14px); transition:.35s var(--e);}
  .hf:hover{background:rgba(255,255,255,.14); transform:translateY(-3px);}
  .hf svg{width:22px; height:22px; color:var(--claro);}
  .hf b{display:block; font-size:14.5px; font-weight:700; line-height:1.2;}
  .hf span{font-size:12px; color:#9DB4E0;}
  @media(min-width:980px){
    .hero{padding-top:172px;}
    .hero .wrap{display:grid; grid-template-columns:1.2fr .8fr; gap:52px; align-items:end;}
    .hero h1{font-size:clamp(46px,4.4vw,60px);}
    .hero-foot{grid-column:1/-1; grid-template-columns:repeat(3,1fr);
      gap:14px; margin-top:44px; padding-bottom:120px;}
    .hero-form-col{grid-row:1/2; grid-column:2/3; align-self:center;}
    .hf{padding:17px 22px;}
    .hf b{font-size:15.5px;}
    .hf span{font-size:12.5px;}
  }

  .onda-wrap{background:var(--navy); line-height:0; position:relative; z-index:2;}
  .onda-sep{display:block; width:100%; height:clamp(48px,7vw,96px); margin-bottom:-2px;}
  .onda-sep path{fill:#fff;}
  .onda-sep.para-navy path{fill:var(--navy);}

  /* ---------- formulário ---------- */
  .form{background:#fff; padding:30px 28px 28px; color:var(--tinta); border-radius:var(--r);
    box-shadow:var(--sh-3); position:relative; z-index:4; margin-top:32px; overflow:hidden;}
  .form::before{content:""; position:absolute; top:0; left:0; right:0; height:4px;
    background:linear-gradient(90deg,var(--royal),var(--claro));}
  @media(min-width:980px){ .form{margin-top:0;} }
  .form h3{font-size:23px;}
  .form .fp{font-size:13.5px; color:var(--tinta-3); margin-top:6px;}
  .fld{margin-top:16px; position:relative;}
  .fld label{display:block; font-family:"IBM Plex Mono",monospace; font-size:10px;
    letter-spacing:.2em; text-transform:uppercase; color:var(--tinta-3); margin-bottom:8px;}
  .fld input{width:100%; padding:14px 16px; border:1.5px solid var(--linha); border-radius:var(--r-s);
    background:var(--gelo); font-family:inherit; font-size:16.5px; font-weight:600; color:var(--tinta);
    transition:.3s var(--e);}
  .fld input::placeholder{font-weight:400; color:#A3AFC2;}
  .fld input:focus{outline:0; border-color:var(--royal); background:#fff;
    box-shadow:0 0 0 4px rgba(31,68,196,.12);}
  .err{display:none; color:#B4232A; font-size:12.5px; margin-top:7px; font-weight:600;}
  .err.on{display:block;}
  .aviso-lgpd{display:flex; align-items:flex-start; gap:8px;
    margin-top:18px; padding-top:15px; border-top:1px solid var(--linha);
    font-size:11.5px; line-height:1.5; color:var(--tinta-3);}
  .aviso-lgpd svg{width:14px; height:14px; margin-top:1px; color:var(--claro); opacity:.85;}
  .aviso-lgpd a{color:var(--tinta-2); text-decoration:underline; text-underline-offset:2px;
    white-space:nowrap; transition:color .25s;}
  .aviso-lgpd a:hover{color:var(--royal);}
  .form .btn{margin-top:20px;}
  .ok{display:none; text-align:center; padding:14px 0;}
  .ok.on{display:block; animation:pop .5s var(--e);}
  @keyframes pop{from{opacity:0; transform:scale(.94);}}
  .ok .ck{width:62px; height:62px; border-radius:50%; background:var(--gelo);
    display:grid; place-items:center; margin:0 auto 16px; color:var(--royal);}
  .ok .ck svg{width:30px; height:30px; stroke-width:2.2;}
  .ok h3{font-size:24px;} .ok p{font-size:15px; color:var(--tinta-3); margin-top:8px;}
  .ok .wa{margin-top:22px;} .ok .wa::before{background:linear-gradient(135deg,#25D366,#1CB755);} .ok .wa{color:#042a13;}

  /* ---------- marquee ---------- */
  .mq{background:var(--gelo); border-block:1px solid var(--linha); overflow:hidden; padding-block:18px;}
  .mq-in{display:flex; gap:44px; width:max-content; animation:corre 42s linear infinite;}
  .mq:hover .mq-in{animation-play-state:paused;}
  @keyframes corre{to{transform:translateX(-50%);}}
  .mq span{display:flex; align-items:center; gap:44px; font-size:15px; font-weight:700;
    color:var(--tinta-2); white-space:nowrap; letter-spacing:-.02em;}
  .mq span::after{content:""; width:7px; height:7px; border-radius:50%; background:var(--royal); opacity:.6;}

  /* ---------- seções ---------- */
  section{padding-block:clamp(60px,8.5vw,116px); position:relative;}
  section.gelo{background:var(--gelo);}
  section.escuro{background:var(--grad); color:#fff; overflow:hidden;}
  section.escuro::before{content:""; position:absolute; inset:0;
    background:radial-gradient(90% 70% at 88% 8%, rgba(90,160,245,.24), transparent 60%);}
  section.escuro .wrap{position:relative; z-index:2;}
  .sh{max-width:1120px;}
  .sh h2{font-size:clamp(33px,5.6vw,60px); margin:16px 0 0;}
  .sh h2 em{color:var(--royal);}
  .escuro .sh h2 em{color:var(--claro);}
  .sh .desc{color:var(--tinta-2); font-size:17px; margin-top:20px; max-width:54ch;}
  .escuro .sh .desc{color:#BDD0F0;}

  /* identificação */
  .sint{margin-top:48px; display:grid; grid-template-columns:1fr; gap:12px;}
  @media(min-width:760px){ .sint{grid-template-columns:1fr 1fr; gap:14px;} }
  .sint div{display:flex; align-items:center; gap:16px; padding:20px 22px; border-radius:var(--r);
    background:#fff; border:1px solid var(--linha); font-size:17px; font-weight:700;
    letter-spacing:-.02em; box-shadow:var(--sh-1); transition:.4s var(--e);}
  .sint div:hover{transform:translateY(-4px); box-shadow:var(--sh-2); border-color:#C5D6F2;}
  .sint i{font-family:"IBM Plex Mono",monospace; font-size:11px; color:#fff; font-style:normal;
    background:var(--royal); width:30px; height:30px; border-radius:9px;
    display:grid; place-items:center; flex:0 0 auto;}
  .fecha{margin-top:46px; font-size:clamp(23px,3.2vw,36px); line-height:1.24; max-width:1120px;
    font-weight:800; letter-spacing:-.032em; text-wrap:balance;}
  .fecha em{color:var(--royal); font-weight:400;}

  /* produtos */
  .dest{display:grid; grid-template-columns:1fr; gap:26px; margin-top:54px;}
  @media(min-width:860px){ .dest{grid-template-columns:1fr 1fr; gap:30px;} }
  .dcard{border-radius:var(--r); overflow:hidden; background:#fff; box-shadow:var(--sh-1);
    transition:.45s var(--e);}
  .dcard:hover{transform:translateY(-6px); box-shadow:var(--sh-2);}
  .dcard figure{position:relative; overflow:hidden;}
  .dcard img{width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .8s var(--e);}
  .dcard:hover img{transform:scale(1.05);}
  .dcard figcaption{position:absolute; left:16px; bottom:14px; color:#E2ECFB; z-index:2;}
  .dcard figure::after{content:""; position:absolute; inset:auto 0 0 0; height:46%;
    background:linear-gradient(to top, rgba(5,15,44,.82), transparent);}
  .dcard .txt{padding:24px 24px 26px;}
  .dcard h3{font-size:clamp(22px,2.8vw,28px);}
  .dcard p{color:var(--tinta-2); font-size:15.5px; margin-top:11px;}
  .dcard .lk{display:inline-flex; align-items:center; gap:9px; margin-top:10px;
    padding:9px 0; font-weight:700; font-size:14.5px; color:var(--royal);}
  .dcard .lk svg{width:17px; height:17px; transition:transform .35s var(--e);}
  .dcard:hover .lk svg{transform:translateX(5px);}

  .lista{margin-top:34px; display:grid; grid-template-columns:1fr; gap:12px;}
  @media(min-width:700px){ .lista{grid-template-columns:1fr 1fr;} }
  .lista a{display:grid; grid-template-columns:62px 1fr 20px; gap:16px; align-items:center;
    padding:12px 16px 12px 12px; border-radius:var(--r); background:#fff; border:1px solid var(--linha);
    transition:.4s var(--e);}
  .lista a:hover{transform:translateY(-3px); box-shadow:var(--sh-2); border-color:#C5D6F2;}
  .lista img{width:62px; height:62px; border-radius:11px; object-fit:cover;}
  .lista b{font-size:16.5px; font-weight:800; letter-spacing:-.025em; display:block;}
  .lista span{font-size:13px; color:var(--tinta-3); display:block; line-height:1.35; margin-top:2px;}
  .lista svg{width:18px; height:18px; color:var(--royal); transition:transform .35s var(--e);}
  .lista a:hover svg{transform:translateX(4px);}

  /* obras */
  .mosaico{margin-top:44px; display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  .mosaico .m-big{grid-column:1/-1;}
  @media(min-width:760px){
    .mosaico{grid-template-columns:repeat(4,1fr); gap:14px;}
    .mosaico .m-big{grid-column:span 2; grid-row:span 2;}
  }
  .mosaico figure{position:relative; overflow:hidden; border-radius:var(--r); background:var(--gelo);
    box-shadow:var(--sh-1); transition:.45s var(--e);}
  .mosaico figure:hover{transform:translateY(-5px); box-shadow:var(--sh-2);}
  .mosaico img{width:100%; height:100%; object-fit:cover; aspect-ratio:3/2; transition:transform .85s var(--e);}
  .mosaico figure:hover img{transform:scale(1.06);}
  .mosaico .m-big img{aspect-ratio:auto; height:100%; min-height:280px;}
  .mosaico figure::after{content:""; position:absolute; inset:auto 0 0 0; height:52%;
    background:linear-gradient(to top, rgba(5,15,44,.85), transparent); pointer-events:none;}
  .mosaico figcaption{position:absolute; left:11px; right:11px; bottom:10px; z-index:2;
    color:#DCE8FA; line-height:1.35; text-wrap:balance;}
  @media(min-width:760px){ .mosaico figcaption{left:16px; right:16px; bottom:13px;} }
  .tira{margin-top:14px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
  @media(min-width:760px){ .tira{gap:14px;} }
  .tira figure{position:relative; overflow:hidden; border-radius:var(--r); box-shadow:var(--sh-1);}
  .tira img{width:100%; aspect-ratio:1; object-fit:cover; transition:transform .8s var(--e);}
  .tira figure:hover img{transform:scale(1.07);}
  .tira figcaption{position:absolute; left:11px; bottom:9px; z-index:2;
    font-family:"IBM Plex Mono",monospace; font-size:9px; letter-spacing:.12em;
    text-transform:uppercase; color:#fff;}
  @media(min-width:760px){ .tira figcaption{left:14px; bottom:11px; font-size:10px; letter-spacing:.18em;} }
  .tira figure::after{content:""; position:absolute; inset:auto 0 0 0; height:54%;
    background:linear-gradient(to top, rgba(5,15,44,.8), transparent);}

  /* antes e depois arrastável */
  .ba{margin-top:44px; position:relative; border-radius:var(--r); overflow:hidden;
    box-shadow:var(--sh-2); cursor:ew-resize; user-select:none; touch-action:none;}
  .ba img{width:100%; aspect-ratio:16/9; object-fit:cover; display:block;}
  .ba .depois{position:absolute; inset:0; clip-path:inset(0 0 0 50%);}
  .ba .depois img{width:100%; height:100%;}
  .ba .puxa{position:absolute; top:0; bottom:0; left:50%; width:3px; background:#fff; z-index:3;
    box-shadow:0 0 20px rgba(0,0,0,.4);}
  .ba .puxa::after{content:""; position:absolute; top:50%; left:50%; width:48px; height:48px;
    transform:translate(-50%,-50%); background:#fff; border-radius:50%; box-shadow:var(--sh-2);}
  .ba .puxa svg{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:22px; height:22px; color:var(--royal); z-index:4;}
  .ba .tag{position:absolute; top:16px; z-index:3; font-family:"IBM Plex Mono",monospace;
    font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#fff;
    background:rgba(5,15,44,.6); backdrop-filter:blur(8px); padding:7px 13px; border-radius:999px;}
  .ba .t-a{left:16px;} .ba .t-d{right:16px;}

  /* processo */
  .passos{margin-top:52px; display:grid; grid-template-columns:1fr; gap:16px;}
  @media(min-width:900px){ .passos{grid-template-columns:repeat(4,1fr);} }
  .passo{padding:28px 24px; border-radius:var(--r); background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(12px); transition:.45s var(--e);}
  .passo:hover{background:rgba(255,255,255,.13); transform:translateY(-6px);}
  .passo .n{font-size:40px; font-weight:800; line-height:1; letter-spacing:-.05em;
    background:linear-gradient(135deg,#fff,#7FB4F8); -webkit-background-clip:text;
    background-clip:text; color:transparent;}
  .passo h3{font-size:20px; margin:14px 0 8px; color:#fff;}
  .passo p{font-size:14.5px; color:#BDD0F0;}

  /* por que */
  .pq{display:grid; grid-template-columns:1fr; gap:16px; margin-top:52px;}
  @media(min-width:760px){ .pq{grid-template-columns:1fr 1fr;} }
  .pq div{padding:28px; border-radius:var(--r); background:#fff; border:1px solid var(--linha);
    box-shadow:var(--sh-1); transition:.45s var(--e); position:relative; overflow:hidden;}
  .pq div::before{content:""; position:absolute; top:0; left:0; width:100%; height:3px;
    background:linear-gradient(90deg,var(--royal),var(--claro)); transform:scaleX(0);
    transform-origin:left; transition:transform .5s var(--e);}
  .pq div:hover::before{transform:scaleX(1);}
  .pq div:hover{transform:translateY(-5px); box-shadow:var(--sh-2);}
  .pq h3{font-size:22px;}
  .pq p{font-size:15.5px; color:var(--tinta-2); margin-top:11px;}

  /* faixa */
  .faixa{position:relative; overflow:hidden;}
  .faixa img{width:100%; height:clamp(240px,36vw,460px); object-fit:cover;}
  .faixa .cap{position:absolute; left:0; right:0; bottom:0; padding-block:26px;
    background:linear-gradient(to top, rgba(5,15,44,.86), transparent); color:#fff;
    font-family:"IBM Plex Mono",monospace; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;}

  /* procedência */
  .bx{display:grid; grid-template-columns:1fr; gap:24px; align-items:center; margin-top:52px;
    padding:30px; border-radius:var(--r); background:#fff; border:1px solid var(--linha); box-shadow:var(--sh-1);}
  @media(min-width:760px){ .bx{grid-template-columns:120px 1fr; gap:36px; padding:36px 40px;} }
  .bx img{width:98px; border-radius:10px;}
  .bx h3{font-size:clamp(21px,2.6vw,27px);}
  .bx p{font-size:15.5px; color:var(--tinta-2); margin-top:13px; max-width:58ch;}
  .pv{margin-top:26px; padding:36px 32px; border-radius:var(--r); background:var(--grad); color:#fff;
    position:relative; overflow:hidden; box-shadow:var(--sh-2);}
  .pv::before{content:""; position:absolute; inset:0;
    background:radial-gradient(80% 100% at 92% 0%, rgba(90,160,245,.3), transparent 60%);}
  .pv > *{position:relative; z-index:2;}
  .pv h3{font-size:clamp(25px,3.6vw,36px);}
  .pv h3 em{color:var(--claro);}
  .pv p{font-size:16px; color:#C6D8F5; margin-top:16px; max-width:54ch;}
  @media(min-width:900px){
    .pv{padding:44px 40px; display:grid; grid-template-columns:1fr 1fr; gap:0 44px; align-items:start;}
    .pv h3{grid-column:1/-1;}
    .pv p{max-width:none; margin-top:22px;}
  }

  /* avaliações */
  .nota{display:flex; align-items:center; gap:clamp(18px,3vw,36px); margin-top:46px; flex-wrap:wrap;
    padding:32px; border-radius:var(--r); background:#fff; box-shadow:var(--sh-1); border:1px solid var(--linha);}
  .nota b{font-size:clamp(66px,11vw,116px); font-weight:800; line-height:.8; letter-spacing:-.06em;
    background:linear-gradient(135deg,var(--royal),var(--claro)); -webkit-background-clip:text;
    background-clip:text; color:transparent;}
  .nota .est{color:#F2B441; font-size:20px; letter-spacing:4px;}
  .nota .np span{display:block; font-size:15px; color:var(--tinta-2); margin-top:6px;}
  .revs{display:grid; grid-template-columns:1fr; gap:16px; margin-top:20px;}
  @media(min-width:820px){ .revs{grid-template-columns:repeat(3,1fr);} }
  .rev{background:#fff; border:1px solid var(--linha); border-radius:var(--r); padding:26px;
    box-shadow:var(--sh-1); transition:.45s var(--e);}
  .rev:hover{transform:translateY(-5px); box-shadow:var(--sh-2);}
  .rev .asp{font-family:"Playfair Display",serif; font-style:italic; font-size:46px;
    color:var(--claro); line-height:.6; display:block; margin-bottom:12px;}
  .rev p{font-size:16px; line-height:1.48;}
  .rev b{display:block; margin-top:18px; font-size:14.5px;}
  .rev small{font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--tinta-3);}

  /* faq */
  .faq{margin-top:46px; display:grid; gap:12px;}
  .faq details{background:#fff; border:1px solid var(--linha); border-radius:var(--r);
    box-shadow:var(--sh-1); overflow:hidden; transition:.35s var(--e);}
  .faq details[open]{box-shadow:var(--sh-2); border-color:#C5D6F2;}
  .faq summary{cursor:pointer; list-style:none; padding:22px 24px; display:flex;
    justify-content:space-between; gap:20px; align-items:center;
    font-weight:700; font-size:17px; letter-spacing:-.022em;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary i{flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:var(--gelo);
    color:var(--royal); display:grid; place-items:center; font-style:normal; font-size:19px;
    font-weight:400; line-height:1; transition:.4s var(--e);}
  .faq details[open] summary i{transform:rotate(45deg); background:var(--royal); color:#fff;}
  .faq .ans{padding:0 24px 24px; font-size:16px; color:var(--tinta-2); max-width:64ch;}

  /* cta final */
  .band{background:var(--navy); color:#fff; padding-block:clamp(66px,9vw,120px); text-align:center;
    position:relative; overflow:hidden;}
  .band::before{content:""; position:absolute; inset:0;
    background:radial-gradient(70% 90% at 50% 0%, rgba(36,80,198,.55), transparent 65%);}
  .band .wrap{position:relative; z-index:2;}
  .band h2{font-size:clamp(33px,6vw,64px); max-width:1000px; margin-inline:auto;}
  .band h2 em{color:var(--claro);}
  .band p{color:#A9C0E8; font-size:17.5px; margin-top:22px; max-width:48ch; margin-inline:auto;}
  .band .btn{margin-top:32px;}

  footer{background:var(--navy); color:#8FA8D8; padding-block:0 36px;}
  @media(max-width:979px){ footer{padding-bottom:110px;} }
  .fg{display:grid; grid-template-columns:1fr; gap:32px; padding-top:48px;
    border-top:1px solid rgba(255,255,255,.12);}
  @media(min-width:760px){ .fg{grid-template-columns:1.6fr 1fr 1fr;} }
  .fg img{height:48px; width:auto; margin-bottom:18px;}
  .fg p{font-size:14px; color:#8FA8D8; display:block; margin-bottom:8px;}
  .fg a{font-size:14px; color:#8FA8D8; display:block; padding:7px 0; transition:color .25s;}
  .fg a:hover{color:#fff;}
  .fg h4{font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.22em;
    text-transform:uppercase; color:#5F7CB5; margin-bottom:16px;}
  .fb{border-top:1px solid rgba(255,255,255,.1); margin-top:38px; padding-top:24px;
    display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
    font-family:"IBM Plex Mono",monospace; font-size:10.5px; letter-spacing:.1em; color:#5F7CB5;}

  /* barra fixa de conversão no celular */
  .barra{position:fixed; left:0; right:0; bottom:0; z-index:55; padding:12px 16px;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));
    background:rgba(255,255,255,.9); backdrop-filter:blur(18px);
    box-shadow:0 -2px 30px -8px rgba(8,20,48,.28); display:flex; gap:12px; align-items:center;
    transform:translateY(120%); transition:transform .5s var(--e);}
  .barra.on{transform:none;}
  .barra .t{flex:1; min-width:0;}
  .barra .t b{display:block; font-size:14px; font-weight:800; letter-spacing:-.02em;}
  .barra .t span{font-size:11.5px; color:var(--tinta-3);}
  .barra .btn{padding:13px 22px; font-size:14px; flex:0 0 auto;}
  @media(min-width:980px){ .barra{display:none;} }

  /* ---------- páginas legais ---------- */
  .legal{padding-block:118px 80px; max-width:820px;}
  @media(min-width:760px){ .legal{padding-block:150px 96px;} }
  .legal h1{font-size:clamp(32px,5vw,52px); margin-bottom:10px;}
  .legal .atual{font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--tinta-3); margin-bottom:38px; display:block;}
  .legal h2{font-size:clamp(20px,2.6vw,26px); margin:40px 0 12px;}
  .legal p,.legal li{color:var(--tinta-2); font-size:16.5px; margin-bottom:12px;}
  .legal ul{padding-left:22px; margin-bottom:14px;}
  .legal li{margin-bottom:8px;}
  .legal a{color:var(--royal); text-decoration:underline;}
  .legal .nota{background:var(--gelo); border:1px solid var(--linha); border-radius:var(--r);
    padding:20px 22px; margin-top:34px;}
  .legal .nota p{margin:0; font-size:15px;}
  .voltar{display:inline-flex; align-items:center; gap:9px; margin-top:46px;
    font-weight:700; color:var(--royal); padding:8px 0;}
  header.legal-hd{position:static; background:#fff; border-bottom:1px solid var(--linha);}
  header.legal-hd .logo img{height:36px;
    filter:brightness(0) saturate(100%) invert(9%) sepia(58%) saturate(3600%) hue-rotate(216deg) brightness(95%) contrast(101%);}
