
  :root{
    --ground:#FBFAF7; --surface:#FFFFFF; --tint:#EEF3EC; --tint-2:#F4F2EC;
    --ink:#16211F; --ink-soft:#586562; --line:#E4E0D7;
    --accent:#2F7552; --accent-fill:#2F7552; --accent-ink:#1E4430; --accent-deep:#163224;
    --bad:#B4443A;
    color-scheme:light;
    --serif:"Fraunces", ui-serif, Georgia, serif;
    --sans:"Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    --pad: clamp(1.25rem, 5vw, 2.5rem);
    --col: 760px;
  }
  :root[data-theme="dark"]{
    --ground:#0E1413; --surface:#151E1C; --tint:#12312D; --tint-2:#1B2624;
    --ink:#ECEFEC; --ink-soft:#9AA8A4; --line:#26302E;
    --accent:#6FCB93; --accent-fill:#57B075; --accent-ink:#BEE6CB; --accent-deep:#0F2419;
    --bad:#E0776C;
  }

  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%; scroll-behavior:smooth;}
  body{margin:0; background:var(--ground); color:var(--ink); font-family:var(--sans); font-size:1rem; line-height:1.6; -webkit-font-smoothing:antialiased; font-synthesis:none;}
  h1,h2,h3{font-family:var(--serif); font-weight:500; line-height:1.12; text-wrap:balance; margin:0; letter-spacing:-.012em;}
  p{margin:0;}
  a{color:inherit;}
  svg{display:block;}
  button{font:inherit; color:inherit;}

  .wrap{max-width:var(--col); margin-inline:auto; padding-inline:var(--pad);}
  .wrap-wide{max-width:1200px; margin-inline:auto; padding-inline:var(--pad);}
  .eyebrow{font-weight:700; font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; color:var(--accent);}

  header.nav{position:sticky; top:0; z-index:20; background:color-mix(in srgb, var(--ground) 90%, transparent); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
  .nav .wrap-wide{display:flex; align-items:center; gap:1.4rem; height:62px;}
  .brand{display:flex; align-items:center; gap:.5rem; font-family:var(--serif); font-weight:600; font-size:1.12rem;}
  .brand .mark{width:25px; height:25px; border-radius:7px; background:var(--accent-fill); color:#fff; display:grid; place-items:center; font-size:.78rem; font-weight:700; font-family:var(--sans); flex:none;}
  .nav nav{margin-left:auto; display:flex; align-items:center; gap:1.3rem;}
  .nav nav a.lnk{font-size:.9rem; color:var(--ink-soft); text-decoration:none;}
  .nav nav a.lnk:hover{color:var(--ink);}
  @media (max-width:700px){ .nav nav a.lnk{display:none;} }
  .nav .btn{white-space:nowrap;}
  @media (max-width:480px){ .nav .wrap-wide{gap:.7rem;} .nav nav{gap:.5rem;} .nav .btn-sm{padding:.5rem .7rem; font-size:.8rem;} }

  .btn{display:inline-flex; align-items:center; gap:.5rem; justify-content:center; font-family:var(--sans); font-weight:600; font-size:.92rem; line-height:1; padding:.82rem 1.2rem; border-radius:9px; text-decoration:none; cursor:pointer; border:1px solid transparent; transition:transform .12s ease, background .12s ease, border-color .12s ease;}
  .btn-primary{background:var(--accent-fill); color:var(--tint);}
  .btn-primary:hover{transform:translateY(-1px);}
  .btn-ghost{background:transparent; color:inherit; border-color:currentColor; opacity:.9;}
  .btn-ghost:hover{opacity:1;}
  .btn-sm{padding:.55rem .9rem; font-size:.85rem;}
  :focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:4px;}

  /* hero */
  .hero{background:var(--tint); border-bottom:1px solid var(--line); padding:clamp(3rem,8vw,4.5rem) 0 clamp(2rem,5vw,2.75rem);}
  .hero .wrap-wide{max-width:1280px;}
  .hero-inner{display:grid; gap:2.6rem; align-items:center;}
  @media (min-width:960px){ .hero-inner{grid-template-columns:1.05fr .95fr;} }
  .hero h1{font-size:clamp(2.1rem,5.6vw,3.15rem); margin:.9rem 0 1rem; max-width:20ch;}
  .hero p.lede{font-size:clamp(1.02rem,1.7vw,1.15rem); color:var(--ink-soft); max-width:46ch;}
  .hero .actions{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.6rem;}
  .hero .fine{margin-top:.9rem; font-size:.82rem; color:var(--ink-soft);}

  /* colagem de fotos do hero */
  .hero-visual{display:grid; grid-template-columns:1fr 1fr; gap:.75rem; width:100%; max-width:460px; margin-inline:auto;}
  @media (min-width:960px){ .hero-visual{margin-inline:0 0 0 auto;} }
  .hv-photo{position:relative; border-radius:16px; overflow:hidden; box-shadow:0 16px 34px -18px rgba(11,59,55,.28); background:#04211E;}
  .hv-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .hv-main{grid-column:1/3; aspect-ratio:16/10;}
  .hv-tag{position:absolute; left:.7rem; bottom:.7rem; background:rgba(4,33,30,.78); color:#fff; font-size:.7rem; font-weight:700; letter-spacing:.02em; padding:.32rem .6rem; border-radius:999px; backdrop-filter:blur(3px);}
  .hv-a, .hv-b{aspect-ratio:1/1;}
  .hv-card{grid-column:1/3; background:#fff; color:#16211F; border-radius:14px; padding:.9rem 1.05rem; box-shadow:0 16px 34px -18px rgba(0,0,0,.45); display:flex; align-items:center; justify-content:space-between; gap:.75rem;}
  .hv-card .hv-info{display:flex; flex-direction:column; gap:.15rem;}
  .hv-card .hv-lbl{font-size:.72rem; color:#586562;}
  .hv-card .hv-val{font-size:.95rem; font-weight:700;}
  .hv-card .pill{font-size:.68rem; font-weight:700; padding:.28rem .6rem; border-radius:999px; background:#EEF3EC; color:#1E4430; white-space:nowrap;}

  /* screenshot — cantos arredondados, sombra suave */
  .shot{
    width:100%; aspect-ratio:16/9; background:var(--tint-2);
    border:1px solid var(--line); border-radius:16px; overflow:hidden;
    box-shadow:0 20px 44px -24px rgba(11,59,55,.35);
    display:flex; align-items:center; justify-content:center;
    color:var(--ink-soft); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; text-align:center; padding:1rem;
    background-image:repeating-linear-gradient(45deg, transparent 0 14px, color-mix(in srgb, var(--ink-soft) 6%, transparent) 14px 15px);
  }
  .shot img{width:100%; height:100%; object-fit:cover; object-position:top;}
  /* quando o print é mais alto que largo (ex.: documento de orçamento), a caixa deixa de forçar 16:9
     e a imagem aparece inteira, sem cortar. */
  .shot.has-img{aspect-ratio:auto; background:var(--tint-2); padding:1.4rem; min-height:200px;}
  .shot.has-img img{width:auto; height:auto; max-width:100%; max-height:600px; display:block;}

  /* mockup de portatil com foto real (nao desenhado), com o screenshot encaixado no ecra */
  .laptop-mock{position:relative; width:min(100%, 780px); margin-inline:auto; aspect-ratio:800/476;}
  .laptop-mock .laptop-photo{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block; pointer-events:none;}
  .laptop-mock .screen-overlay{position:absolute; left:11.625%; top:6.303%; width:76.75%; height:80.46%; overflow:hidden; background:#f8fafb;}
  .laptop-mock .screen-overlay img{width:100%; height:100%; object-fit:contain; object-position:top; display:block;}

  /* arrastar/scroll dentro do ecrã do mockup, como se a app estivesse a mexer */
  .pan-wrap{cursor:grab; touch-action:pan-y;}
  .pan-wrap.dragging{cursor:grabbing;}
  .pan-wrap img.pan-img{position:absolute; top:0; left:0; width:100%; height:auto; max-width:none; max-height:none; object-fit:unset; display:block; -webkit-user-drag:none; user-select:none; will-change:transform;}
  .laptop-mock .screen-overlay.pan-wrap img.pan-img{left:50%; width:116%; transform:translate(-50%,0);}

  /* zonas tocáveis invisíveis (ex: barra de navegação) e feedback de toque */
  .nav-hotspot{position:absolute; left:0; top:0; background:transparent; border:0; padding:0; margin:0; cursor:pointer; -webkit-tap-highlight-color:transparent; z-index:2;}
  .tap-ripple{position:absolute; border-radius:50%; background:rgba(61,139,95,.32); transform:translate(-50%,-50%) scale(0); opacity:1; pointer-events:none; animation:tapRipple .55s ease-out forwards; z-index:3;}

  /* barra de navegação do telemóvel fixa por cima do conteúdo que desliza */
  .phone-navbar{position:absolute; left:0; bottom:0; width:100%; aspect-ratio:780/148; z-index:5; overflow:hidden;}
  .phone-navbar img{width:100%; height:100%; display:block; pointer-events:none; -webkit-user-drag:none; user-select:none;}
  .phone-navbar .nav-hotspot{height:100%;}
  @keyframes tapRipple{to{transform:translate(-50%,-50%) scale(1); opacity:0;}}


  .shot.is-mobile{aspect-ratio:auto; background:transparent; border:none; box-shadow:none; padding:1rem 0; min-height:0;}
  .phone-frame{width:min(380px,90%); margin-inline:auto; aspect-ratio:9/19.3; background:#111816; border-radius:34px; padding:9px; box-shadow:0 20px 44px -18px rgba(11,59,55,.4); position:relative;}
  @media (max-width:480px){ .phone-frame{width:min(320px,92%);} }
  .phone-frame::before{content:""; position:absolute; top:9px; left:50%; transform:translateX(-50%); width:64px; height:16px; background:#111816; border-radius:0 0 10px 10px; z-index:2;}
  .phone-screen{position:relative; width:100%; height:100%; border-radius:24px; overflow:hidden; background:var(--tint-2); display:flex; align-items:center; justify-content:center;}
  .phone-screen img{width:100%; height:100%; object-fit:cover; display:block;}
  .phone-screen.placeholder{color:var(--ink-soft); font-size:.68rem; letter-spacing:.03em; text-align:center; padding:1.2rem; line-height:1.5; background-image:repeating-linear-gradient(45deg, transparent 0 10px, color-mix(in srgb, var(--ink-soft) 10%, transparent) 10px 11px);}

  .tap-hint{display:flex; align-items:center; justify-content:center; gap:.45rem; width:max-content; max-width:90%; margin:1rem auto 0; font-size:.78rem; font-weight:600; color:var(--accent-ink); background:var(--tint); border:1px solid var(--line); border-radius:999px; padding:.45rem 1rem; text-align:center;}
  .tap-hint[hidden]{display:none;}
  .tap-hint .dot{width:8px; height:8px; flex:none; border-radius:50%; background:var(--accent); animation:tapHintPulse 1.6s ease-in-out infinite;}
  @keyframes tapHintPulse{0%,100%{transform:scale(1); opacity:1;} 50%{transform:scale(1.7); opacity:.45;}}

  /* como funciona */
  .como{padding:clamp(3rem,7vw,4.5rem) 0; border-top:1px solid var(--line); text-align:center;}
  .como .wrap-wide{max-width:1040px;}
  .como h2{font-size:clamp(1.6rem,3.4vw,2.2rem); margin:.6rem auto 0; max-width:20ch;}
  .como ol{list-style:none; margin:2.2rem 0 0; padding:0; display:grid; gap:1rem; text-align:left;}
  @media (min-width:800px){ .como ol{grid-template-columns:repeat(3,1fr); gap:1.4rem;} }
  .como li{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.5rem; overflow:hidden;}
  .como .n{display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:var(--tint); color:var(--accent-ink); font-weight:700; font-size:.95rem; margin-bottom:.9rem;}
  .como-photo{position:relative; aspect-ratio:4/3; margin:-1.5rem -1.5rem 1.1rem -1.5rem; overflow:hidden; background:var(--tint);}
  .como-art{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:1rem;}
  .como-art > svg{width:100%; height:100%; display:block;}
  .art-card{background:var(--surface); border:1px solid var(--line); border-radius:12px; overflow:hidden; box-shadow:0 10px 22px -12px rgba(11,59,55,.4);}
  .art-card img{display:block; width:100%; height:auto;}
  .art-flow{width:100%; display:flex; flex-direction:column; gap:.3rem;}
  .art-flow .a1{width:80%; align-self:flex-start;}
  .art-flow .a2{width:80%; align-self:flex-end;}
  .art-flow .arrow{align-self:center; width:26px; height:26px; color:var(--accent);}
  .art-kpi{width:100%; display:flex; flex-direction:column; align-items:center; gap:.55rem;}
  .art-kpi .art-card{width:66%;}
  .art-kpi .bars{width:46%; height:auto;}
  .art-pill{display:inline-flex; align-items:center; gap:.4rem; font-size:.72rem; font-weight:700; color:var(--accent-ink); background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:.25rem .65rem;}
  .art-pill .dot{width:7px; height:7px; border-radius:50%; background:var(--accent); animation:tapHintPulse 1.6s ease-in-out infinite;}
  .como-photo .n{position:absolute; left:.9rem; bottom:-.9rem; margin:0; border:3px solid var(--surface); box-shadow:0 4px 10px rgba(0,0,0,.18);}
  .como h3{font-size:1.08rem; margin-bottom:.4rem;}
  .como p{color:var(--ink-soft); font-size:.92rem;}

  /* funcionalidade em destaque — abas + 1 print grande */
  .destaque{padding:clamp(3rem,7vw,4.5rem) 0; border-top:1px solid var(--line); background:var(--tint);}
  .destaque .wrap-wide{max-width:1200px;}
  .destaque .eyebrow{display:block; text-align:center;}
  .destaque h2.head{text-align:center; font-size:clamp(1.6rem,3.4vw,2.2rem); margin:.6rem auto 2.2rem; max-width:22ch;}
  .destaque-grid{display:grid; gap:2rem;}
  .dgrid{display:grid; gap:1.6rem; margin-top:1.6rem;}
  @media (min-width:641px){ .dgrid{grid-template-columns:200px 1fr; gap:1.8rem; align-items:start;} }
  .tabs{display:flex; flex-direction:column; gap:.5rem;}
  .tabs button{all:unset; box-sizing:border-box; cursor:pointer; width:100%; padding:.82rem 1.2rem; font-family:var(--sans); font-size:.92rem; font-weight:600; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:9px; transition:transform .12s ease, background .12s ease, border-color .12s ease;}
  .tabs button:hover{transform:translateY(-1px); border-color:var(--accent);}
  @media (max-width:640px){
    .tabs{position:relative; flex-direction:row; overflow-x:auto; gap:.5rem; margin-inline:calc(var(--pad) * -1); padding:.2rem var(--pad) .5rem; scroll-snap-type:x proximity; scrollbar-width:none;}
    .tabs::-webkit-scrollbar{display:none;}
    .tabs button{width:auto; flex:none; white-space:nowrap; padding:.62rem 1.05rem; scroll-snap-align:start;}
  }
  .tabs button[aria-selected="true"]{background:var(--accent-fill); color:var(--tint); border-color:var(--accent-fill);}
  .dpane h3{font-size:1.35rem; line-height:1.2; margin-bottom:.6rem;}
  .dpane p{color:var(--ink-soft); max-width:56ch; margin-bottom:1.4rem;}
  @media (max-width:859px){
    .dpane h3{min-height:3.2em;}
    .dpane p{min-height:6.4em;}
  }
  @media (min-width:860px){
    .destaque-grid{grid-template-columns:minmax(480px,1fr) minmax(320px,420px); column-gap:2.4rem; align-items:start;}
    .destaque-left .eyebrow, .destaque-left h2.head{text-align:left; margin-left:0; margin-right:0;}
    .destaque-right{grid-column:2; grid-row:1;}
  }

  /* antes/depois + transformação */
  .transf{padding:clamp(3rem,7vw,4.5rem) 0; border-top:1px solid var(--line);}
  .transf .wrap-wide{max-width:1000px;}
  .transf .head{text-align:center; margin-bottom:2rem;}
  .transf h2{font-size:clamp(1.6rem,3.4vw,2.2rem);}
  .transf .sub{color:var(--ink-soft); margin-top:.5rem;}
  .cols{display:grid; gap:1rem;}
  @media (min-width:740px){ .cols{grid-template-columns:1fr 1fr; gap:1.4rem;} }
  .tcard{border:1px solid var(--line); border-radius:14px; padding:1.4rem 1.5rem; background:var(--surface); overflow:hidden;}
  .tcard-photo{aspect-ratio:16/9; margin:-1.4rem -1.5rem 1.1rem -1.5rem; overflow:hidden;}
  .tcard-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .tcard.before .tcard-photo img{filter:grayscale(1) contrast(.95) brightness(.92);}
  .tcard h3{font-size:1.05rem; margin-bottom:.9rem; font-family:var(--sans); font-weight:700; letter-spacing:0;}
  .tcard ul{list-style:none; margin:0; padding:0; display:grid; gap:.6rem; font-size:.95rem; color:var(--ink-soft);}
  .tcard li{display:flex; gap:.6rem; align-items:flex-start;}
  .tcard.before li::before{content:"✗"; color:var(--bad); font-weight:700; flex:none;}
  .tcard.after{border-color:color-mix(in srgb, var(--accent) 40%, var(--line)); background:var(--tint);}
  .tcard.after li::before{content:"✓"; color:var(--accent); font-weight:700; flex:none;}
  .transf .cta{text-align:center; margin-top:2.2rem;}
  .transf .cta p{margin-top:.7rem; font-size:.85rem; color:var(--ink-soft);}

  /* vídeo / testemunho */
  .video-sec[hidden]{display:none;}
  .video-sec{background:var(--tint); border-top:1px solid var(--line); padding:clamp(3rem,7vw,4.5rem) 0;}
  .video-sec .wrap-wide{max-width:1120px; text-align:center;}
  .video-sec h2{font-size:clamp(1.6rem,3.4vw,2.2rem); margin:.6rem auto 2rem; max-width:22ch;}
  .video-grid{display:grid; gap:1.3rem; max-width:820px; margin-inline:auto;}
  @media (min-width:700px){ .video-grid.n2{grid-template-columns:1fr 1fr;} }
  .video-slot{
    aspect-ratio:16/10; border:1.5px dashed color-mix(in srgb, var(--accent) 40%, var(--line)); border-radius:16px; overflow:hidden;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.7rem;
    background:var(--surface); color:var(--ink-soft); text-align:center; padding:1.2rem;
  }
  .video-slot .play{width:46px; height:46px; border-radius:50%; background:var(--tint-2); color:var(--accent-ink); display:grid; place-items:center; flex:none;}
  .video-slot .lbl{font-size:.86rem; letter-spacing:.02em; color:var(--ink);}
  .video-slot .cap{font-size:.76rem; color:var(--ink-soft);}

  /* preço */
  .pricing{padding:clamp(3rem,7vw,4.5rem) 0; border-top:1px solid var(--line);}
  .pricing .wrap{max-width:1000px;}
  .price-grid{display:grid; gap:2rem; align-items:center;}
  @media (min-width:800px){ .price-grid{grid-template-columns:1fr 1fr;} }
  .price-card{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:clamp(1.6rem,4vw,2.4rem); box-shadow:0 14px 40px -20px rgba(11,59,55,.28);}
  .price-card .amount{font-family:var(--serif); font-weight:600; font-size:2.7rem; letter-spacing:-.02em;}
  .price-card .amount small{font-size:1rem; color:var(--ink-soft); font-family:var(--sans); font-weight:500;}
  .price-card .setup{color:var(--ink-soft); font-size:.9rem; margin-top:.2rem;}
  .price-card ul{list-style:none; padding:0; margin:1.3rem 0 1.4rem; display:grid; gap:.6rem; font-size:.92rem;}
  .price-card li{display:flex; gap:.55rem; align-items:flex-start;}
  .price-card li svg{flex:none; margin-top:.15rem; color:var(--accent);}
  .price-card .lbl-u{font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-ink); margin-top:1.3rem;}
  .price-card ul.per-user{margin-top:.7rem;}
  .bonus{background:var(--tint); border:1px dashed color-mix(in srgb, var(--accent) 45%, var(--line)); border-radius:12px; padding:1rem 1.1rem; margin-bottom:1.4rem;}
  .bonus .lbl{font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:.5rem;}
  .bonus ul{list-style:none; margin:0; padding:0; display:grid; gap:.45rem; font-size:.87rem; color:var(--ink-soft);}
  .price-note{color:var(--ink-soft); font-size:.95rem; max-width:30ch;}

  /* garantia */
  .guar{background:var(--tint); border-top:1px solid var(--line);}
  .guar .wrap{max-width:760px; padding-block:clamp(2.6rem,6vw,3.4rem); text-align:center;}
  .guar .ico{width:44px; height:44px; margin:0 auto 1rem; border-radius:50%; background:var(--surface); border:1px solid var(--line); color:var(--accent-ink); display:grid; place-items:center;}
  .guar h2{font-size:clamp(1.4rem,3vw,1.85rem); margin-bottom:.7rem;}
  .guar p.desc{color:var(--ink-soft); max-width:48ch; margin-inline:auto;}
  .guar .marks{display:flex; flex-wrap:wrap; justify-content:center; gap:1.4rem; margin-top:1.6rem; font-size:.85rem; color:var(--ink-soft);}
  .guar .marks span{display:flex; align-items:center; gap:.4rem;}
.guar-cta{margin-top:1.6rem;}

  /* quem somos */
  .quem{background:var(--surface); border-top:1px solid var(--line); padding:clamp(3rem,7vw,4.5rem) 0;}
  .quem .wrap-wide{max-width:1200px;}
  .quem-grid{display:grid; gap:2.4rem; align-items:center;}
  @media (min-width:860px){ .quem-grid{grid-template-columns:1fr 1fr;} }
  .quem .pill{display:inline-flex; align-items:center; gap:.5rem; background:var(--tint); border:1px solid var(--line); padding:.5rem 1rem; border-radius:999px; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-ink);}
  .quem .pill .dot{width:7px; height:7px; border-radius:50%; background:var(--accent-fill); flex:none;}
  .quem h2{font-size:clamp(1.9rem,4vw,2.5rem); margin:1.1rem 0 1.2rem;}
  .quem p.bio{color:var(--ink-soft); max-width:52ch; font-size:1.02rem; margin-bottom:.9rem;}
  .quem .btn{margin-top:1.1rem;}
  .quem-photo{position:relative; border-radius:16px; overflow:hidden; aspect-ratio:3/4; max-width:420px; margin-inline:auto; box-shadow:0 20px 44px -20px rgba(0,0,0,.45);}
  @media (min-width:860px){ .quem-photo{margin-inline:0; margin-left:auto;} }
  .quem-photo img{width:100%; height:100%; object-fit:cover;}
  .quem-photo .tag{position:absolute; left:1rem; bottom:1rem; background:rgba(10,20,18,.75); backdrop-filter:blur(4px); color:#fff; padding:.5rem .9rem; border-radius:8px; font-size:.9rem; font-weight:600;}

  /* faq */
  .faq{padding:clamp(3rem,7vw,4.5rem) 0; border-top:1px solid var(--line);}
  .faq .wrap{max-width:760px;}
  .faq h2{font-size:clamp(1.6rem,3.4vw,2.1rem);}
  .faq dl{margin:1.6rem 0 0;}
  .faq dt{font-family:var(--serif); font-weight:500; font-size:1.1rem; padding:1.1rem 0 .35rem; border-top:1px solid var(--line);}
  .faq dd{margin:0 0 1rem; color:var(--ink-soft); max-width:58ch;}

  /* cta final */
  .final{background-image:linear-gradient(135deg, color-mix(in srgb, var(--accent-deep) 92%, transparent), color-mix(in srgb, var(--accent-fill) 85%, transparent)), url("/img/44da4aa13917.jpg"); background-size:cover; background-position:center; color:#fff;}
  .final .wrap{max-width:760px; padding-block:clamp(3rem,7vw,4rem); text-align:center;}
  .final h2{font-size:clamp(1.7rem,3.8vw,2.3rem); max-width:22ch; margin:0 auto .7rem;}
  .final p{color:#dff3ef; margin-bottom:1.5rem;}
  .lead-form{background:var(--surface); color:var(--ink); border-radius:16px; padding:1.5rem; max-width:440px; margin:0 auto; text-align:left; box-shadow:0 24px 50px -24px rgba(0,0,0,.55);}
  .lead-form .fld{margin-bottom:1rem;}
  .lead-form label.l{display:block; font-size:.82rem; font-weight:600; margin-bottom:.35rem; color:var(--ink);}
  .lead-form input[type=text], .lead-form input[type=tel], .lead-form select{width:100%; min-height:48px; padding:.7rem .85rem; font:inherit; font-size:16px; color:var(--ink); background:var(--ground); border:1px solid #B9B4A8; border-radius:9px; appearance:none; -webkit-appearance:none;}
  .lead-form select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%23586562' stroke-width='1.8' stroke-linecap='round'/></svg>"); background-repeat:no-repeat; background-position:right .95rem center; padding-right:2.4rem;}
  .lead-form input:focus-visible, .lead-form select:focus-visible{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent);}
  .lead-form .invalid{border-color:var(--bad)!important;}
  .lead-form .err{display:block; color:var(--bad); font-size:.8rem; margin-top:.3rem; min-height:0;}
  .lead-form .consent{display:flex; gap:.65rem; align-items:flex-start; font-size:.82rem; color:var(--ink-soft); line-height:1.45; margin-bottom:1.1rem;}
  .lead-form .consent input{width:20px; height:20px; margin:.1rem 0 0; flex:none; accent-color:var(--accent);}
  .lead-form .consent a{color:var(--accent-ink); text-decoration:underline;}
  .lead-form .btn{width:100%; min-height:50px; font-size:1rem;}
  .lead-form .fine{font-size:.76rem; color:var(--ink-soft); text-align:center; margin:.8rem 0 0;}
  .lead-ok{background:var(--surface); color:var(--ink); border-radius:16px; padding:1.6rem 1.5rem; max-width:440px; margin:0 auto; text-align:left; box-shadow:0 24px 50px -24px rgba(0,0,0,.55);}
  .lead-ok h3{font-family:var(--serif); font-weight:500; font-size:1.3rem; margin:0 0 .5rem;}
  .lead-ok p{color:var(--ink-soft); margin:0 0 1rem; font-size:.92rem;}
  .lead-ok a.inline{color:var(--accent-ink); text-decoration:underline; font-weight:600;}

  footer{border-top:1px solid var(--line); padding:2.6rem 0 2rem; font-size:.86rem;}
  footer .wrap-wide{display:grid; gap:2rem;}
  @media (min-width:700px){ footer .wrap-wide{grid-template-columns:1.4fr 1fr 1fr;} }
  footer .fbrand p{color:var(--ink-soft); margin-top:.6rem; max-width:32ch;}
  footer h4{font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin-bottom:.8rem; font-family:var(--sans);}
  footer ul{list-style:none; margin:0; padding:0; display:grid; gap:.55rem;}
  footer a{text-decoration:none; color:var(--ink-soft);}
  footer a:hover{color:var(--ink);}
  .fbottom{border-top:1px solid var(--line); margin-top:2.2rem; padding-top:1.2rem; font-size:.8rem; color:var(--ink-soft); display:flex; flex-wrap:wrap; gap:.6rem 1.2rem;}
  .fbottom .sp{margin-left:auto;}

  /* páginas legais */
  .legal{padding:clamp(2.5rem,6vw,3.5rem) 0 4rem;}
  .legal .wrap{max-width:760px;}
  .legal .back{font-size:.86rem; color:var(--ink-soft); text-decoration:none; display:inline-flex; align-items:center; gap:.4rem; margin-bottom:1.8rem;}
  .legal .back:hover{color:var(--ink);}
  .legal h1{font-size:clamp(1.8rem,4vw,2.3rem); margin-bottom:.4rem;}
  .legal .updated{color:var(--ink-soft); font-size:.85rem; margin-bottom:2rem;}
  .legal h2{font-size:1.15rem; margin:2rem 0 .7rem; font-family:var(--sans); font-weight:700;}
  .legal h2.legal-title{font-size:clamp(1.8rem,4vw,2.3rem); margin:0 0 .4rem; font-family:var(--serif); font-weight:500;}
  .legal p{color:var(--ink-soft); margin-bottom:.9rem; max-width:65ch;}
  .legal ul{color:var(--ink-soft); margin:0 0 .9rem; padding-left:1.2rem;}
  .legal li{margin-bottom:.3rem;}
  .legal a.inline{color:var(--accent-ink); text-decoration:underline;}
  .legal .tablewrap{overflow-x:auto; margin:1rem 0 1.6rem;}
  .legal table{width:100%; border-collapse:collapse; font-size:.85rem; min-width:480px;}
  .legal th{text-align:left; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); padding:.6rem .7rem; border-bottom:2px solid var(--line);}
  .legal td{padding:.7rem; border-bottom:1px solid var(--line); color:var(--ink-soft); vertical-align:top;}
  .legal .callout{background:var(--tint); border:1px dashed color-mix(in srgb, var(--accent) 45%, var(--line)); border-radius:10px; padding:1rem 1.2rem; font-size:.86rem; margin-bottom:1.8rem; color:var(--ink);}
  .legal .callout strong{display:block; margin-bottom:.3rem;}

  /* banner de cookies */
  .cookiebar{position:fixed; inset-inline:0; bottom:0; z-index:50; background:var(--accent-deep); color:#e7f5f1; padding:1rem var(--pad); display:flex; flex-wrap:wrap; gap:.9rem 1.2rem; align-items:center; box-shadow:0 -10px 28px rgba(0,0,0,.18);}
  .cookiebar[hidden]{display:none;}
  .cookiebar p{flex:1 1 320px; font-size:.85rem; max-width:640px; color:#dcefe9;}
  .cookiebar p a{color:#fff;}
  .cookiebar .actions{display:flex; gap:.6rem; flex-wrap:wrap; align-items:center;}
  .btn-outline{background:transparent; border:1px solid rgba(255,255,255,.4); color:#fff;}
  .cookie-prefs{display:none; flex-basis:100%; border-top:1px solid rgba(255,255,255,.15); padding-top:.9rem; margin-top:.2rem;}
  .cookie-prefs.open{display:block;}
  .cookie-prefs .row{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.5rem 0; font-size:.85rem; max-width:520px;}
  .cookie-prefs .row small{display:block; color:#a9d6cc; font-weight:400;}
  .switch{position:relative; width:38px; height:22px; flex:none;}
  .switch input{position:absolute; inset:0; opacity:0; cursor:pointer; margin:0;}
  .switch .track{position:absolute; inset:0; background:rgba(255,255,255,.25); border-radius:99px; transition:background .15s;}
  .switch .track::after{content:""; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; transition:transform .15s;}
  .switch input:checked + .track{background:var(--accent-fill);}
  .switch input:checked + .track::after{transform:translateX(16px);}
  .switch input:disabled + .track{opacity:.55; cursor:not-allowed;}

  @media (prefers-reduced-motion:reduce){ *{transition:none!important; scroll-behavior:auto;} }

  /* botao flutuante whatsapp */
  .wa-float{position:fixed; right:1.25rem; bottom:1.25rem; z-index:40; width:58px; height:58px; border-radius:50%; background:#25D366; display:grid; place-items:center; box-shadow:0 10px 26px -8px rgba(0,0,0,.45); text-decoration:none; transition:transform .15s ease, box-shadow .15s ease;}
  .wa-float:hover{transform:scale(1.07); box-shadow:0 14px 30px -8px rgba(0,0,0,.5);}
  .wa-float svg{width:29px; height:29px; fill:#fff;}
  @media (max-width:640px){ .wa-float{right:1rem; bottom:1rem; width:52px; height:52px;} .wa-float svg{width:26px; height:26px;} }

  /* mobile: elementos e espaçamentos mais compactos */
  @media (max-width:600px){
    .como, .destaque, .transf, .video-sec, .pricing, .quem, .faq{padding-top:2.25rem; padding-bottom:2.25rem;}
    .hero{padding-top:2rem; padding-bottom:1.75rem;}
    .hero-inner{gap:1.6rem;}
    .hero-visual{gap:.5rem;}
    .hv-main{aspect-ratio:16/9;}
    .hv-a, .hv-b{aspect-ratio:4/3;}
    .como ol{margin-top:1.4rem;}
    .como-photo{aspect-ratio:16/10;}
    .tcard-photo{aspect-ratio:2/1;}
    .phone-frame{width:min(280px,82%);}
    .quem-grid{gap:1.4rem;}
    .quem-photo{aspect-ratio:4/3; width:100%; max-width:100%;}
    .quem-photo img{object-position:center 10%;}
    .guar .wrap, .final .wrap{padding-block:2.25rem;}

    /* alvos de toque maiores (mín. ~44px) e texto pequeno legível */
    .nav .btn-sm{min-height:40px;}
    .cookiebar .actions .btn{min-height:44px;}
    footer ul{gap:0;}
    footer li a{display:inline-flex; align-items:center; min-height:40px;}
    .fbottom a{display:inline-block; padding:.6rem 0;}
    .eyebrow, .hv-tag, .hv-card .hv-lbl, .hv-card .pill, .pill, .quem .pill, .price-card .bonus .lbl, .price-card .lbl-u, .art-pill{font-size:.76rem;}
  }
