:root{
    --graphite:#15171c;
    --graphite-2:#1d2027;
    --graphite-3:#2a2e37;
    --porcelain:#eef1f1;
    --porcelain-2:#e3e8e8;
    --paper:#f7f8f8;
    --ink:#14161a;
    --ink-soft:#565b63;
    --text-dark:#ece9e2;
    --text-dark-soft:#9ba0aa;
    --amber:#c9932e;
    --amber-bright:#e3ae47;
    --teal:#2fb8ae;
    --teal-dark:#1f8f87;
    --line-dark:rgba(236,233,226,.1);
    --line-light:rgba(20,22,26,.12);
    --radius:14px;
    --radius-lg:22px;
    --disp:'Space Grotesk',sans-serif;
    --body:'Inter',sans-serif;
    --mono:'IBM Plex Mono',monospace;
    /* type scale — shared steps across families; role = family + weight + tracking, not size alone */
    --fs-2xs:.75rem;   /* 12px — mono labels + compact mono chrome */
    --fs-xs:.8125rem;  /* 13px — mono readout (running technical text) */
    --fs-sm:.875rem;   /* 14px — compact secondary body */
    --fs-md:.9375rem;  /* 15px — comfortable secondary body */
    --fs-stat:2.25rem; /* big numbers — kit total, stat highlight */
    --container:1220px;
    --pad-in:clamp(1.25rem,4vw,3rem);
    --sec-pad:clamp(4rem,9vw,7.5rem);
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  }
  body{
    font-family:var(--body);
    background:var(--paper);
    color:var(--ink);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img,svg{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
  ul{list-style:none}
  .container{max-width:var(--container);margin-inline:auto;padding-inline:var(--pad-in)}
  :focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}

  /* light-on-dark reading compensation: slightly more air and tracking than the light-mode default */
  section.on-dark p,section.on-dark li{line-height:1.62;letter-spacing:.004em}

  .eyebrow{
    font-family:var(--mono);
    font-weight:500;
    font-size:var(--fs-2xs);
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--amber);
    display:inline-flex;
    align-items:center;
    gap:.55em;
  }
  .eyebrow::before{content:'';width:1.4em;height:1px;background:var(--amber)}

  h1,h2,h3{font-family:var(--disp);font-weight:600;letter-spacing:-.01em;line-height:1.08}
  h2{font-size:clamp(2rem,4vw,3rem)}
  h3{font-size:clamp(1.15rem,1.6vw,1.4rem)}
  .lede{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ink-soft);max-width:44ch}
  section.on-dark .lede{color:var(--text-dark-soft)}

  .btn{
    display:inline-flex;align-items:center;gap:.6em;
    padding:.9em 1.6em;border-radius:100px;
    font-family:var(--body);font-weight:600;font-size:.95rem;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--amber);color:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.15) inset, 0 8px 20px -8px rgba(201,147,46,.65)}
  .btn-primary:hover{background:var(--amber-bright);transform:translateY(-2px)}
  .btn-primary:disabled{background:#5b5f66;color:rgba(255,255,255,.6);box-shadow:none;cursor:not-allowed;transform:none}
  .btn-primary:disabled:hover{background:#5b5f66;transform:none}
  .btn-ghost{border:1px solid var(--line-light);color:var(--ink)}
  section.on-dark .btn-ghost{border-color:var(--line-dark);color:var(--text-dark)}
  .btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
  .btn svg{width:1.1em;height:1.1em}
  .btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}

  /* ---------- header ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:1.1rem 0;
    transition:background .3s ease, padding .3s ease, border-color .3s ease;
    border-bottom:1px solid transparent;
  }
  header.scrolled{background:rgba(21,23,28,.86);backdrop-filter:blur(10px);padding:.7rem 0;border-color:var(--line-dark)}
  header .container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
  .logo{display:flex;align-items:center}
  .logo-mark{height:30px;aspect-ratio:4292/774;display:block;background-color:var(--text-dark);-webkit-mask:url('assets/logo-branca.png') left center/contain no-repeat;mask:url('assets/logo-branca.png') left center/contain no-repeat;transition:background-color .2s ease}
  .logo:hover .logo-mark{background-color:var(--amber-bright)}
  .footer-brand .logo-mark{height:34px}
  nav.main-nav{display:flex;gap:2rem}
  nav.main-nav a{font-size:var(--fs-sm);color:var(--text-dark-soft);transition:color .2s}
  nav.main-nav a:hover,nav.main-nav a.active{color:var(--text-dark)}
  .header-cta{display:flex;align-items:center;gap:1rem}
  .nav-toggle{display:none;width:2.2rem;height:2.2rem;position:relative}
  .nav-toggle span{position:absolute;left:.4rem;right:.4rem;height:2px;background:var(--text-dark);transition:transform .25s,opacity .25s}
  .nav-toggle span:nth-child(1){top:.7rem}
  .nav-toggle span:nth-child(2){top:1.1rem}
  .nav-toggle span:nth-child(3){top:1.5rem}
  .nav-toggle.open span:nth-child(1){transform:translateY(.4rem) rotate(45deg)}
  .nav-toggle.open span:nth-child(2){opacity:0}
  .nav-toggle.open span:nth-child(3){transform:translateY(-.4rem) rotate(-45deg)}

  /* ---------- sections base ---------- */
  section{padding:var(--sec-pad) 0}
  section.on-dark{background:var(--graphite);color:var(--text-dark)}
  section.on-light{background:var(--paper);color:var(--ink)}
  section.on-porcelain{background:var(--porcelain);color:var(--ink)}
  .sec-head{max-width:640px;margin-bottom:clamp(2.5rem,5vw,4rem)}
  .sec-head .eyebrow{margin-bottom:1rem}
  .sec-head h2{margin-bottom:1rem}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal-stagger > *{transition-delay:calc(var(--i,0) * 80ms)}

  /* ---------- hero ---------- */
  #hero{
    position:relative;background:radial-gradient(120% 90% at 78% 8%, #1c2530 0%, var(--graphite) 46%);
    color:var(--text-dark);padding-top:clamp(8.5rem,16vw,11rem);overflow:hidden;
  }
  #hero .container{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
  .hero-copy .eyebrow{margin-bottom:1.6rem}
  .voice-line{font-family:var(--disp);font-weight:700;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.04;letter-spacing:-.02em}
  .voice-line .say{color:var(--teal)}
  .voice-line .do{color:var(--text-dark)}
  .hero-copy .lede{margin:1.5rem 0 2.2rem;color:var(--text-dark-soft)}
  .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.2rem}
  .hero-trust{display:flex;gap:1.6rem;flex-wrap:wrap;font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft);letter-spacing:.02em}
  .hero-trust span{display:flex;align-items:center;gap:.5em}
  .hero-trust svg{width:1em;height:1em;color:var(--teal)}

  .panel-wrap{position:relative;display:flex;justify-content:center}
  .glass-panel{
    width:min(320px,80vw);border-radius:28px;
    background:linear-gradient(155deg,#2b3038 0%,#191c22 65%);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 40px 80px -30px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.06);
    padding:1.5rem;display:flex;flex-direction:column;
    position:relative;
  }
  .glass-panel::after{content:'';position:absolute;inset:0;border-radius:28px;background:linear-gradient(115deg,rgba(255,255,255,.14),transparent 40%);pointer-events:none}
  .scene-buttons{display:flex;flex-direction:column;gap:.6rem;margin-top:1.1rem}
  .panel-key{width:100%;text-align:left;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.85rem 1rem;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft);transition:border-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1)}
  .panel-key:hover{border-color:rgba(255,255,255,.25);color:var(--text-dark)}
  .panel-key .led{width:.5rem;height:.5rem;border-radius:50%;background:var(--amber);opacity:.4;box-shadow:0 0 10px 2px rgba(201,147,46,.7);transform-box:fill-box;transition:opacity .25s,background .25s,box-shadow .25s}
  .panel-key.active{border-color:var(--teal);color:var(--text-dark)}
  .panel-key.active .led{background:var(--teal);opacity:1;box-shadow:0 0 10px 2px rgba(47,184,174,.8);animation:ledConfirm .5s cubic-bezier(.34,1.56,.64,1)}
  @keyframes ledConfirm{0%{transform:scale(1)}45%{transform:scale(1.7)}100%{transform:scale(1)}}

  /* ---------- scene stage (hero) ----------
     Motion staging: sweep (signal) leads → lamp/blinds react → TV or pose settle last.
     Custom cubic-bezier throughout; blinds get a slight settle-overshoot (heavier object);
     poses cross-fade with blur+translateY ("materializing"); one-shot only, no loops. */
  .stage{width:100%;height:auto;overflow:visible;display:block}
  .stage .rm{fill:none;stroke:rgba(236,233,226,.22);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

  .stage .blinds rect{fill:#12151a;transform:translateY(-40px);transition:transform .6s cubic-bezier(.22,1.12,.36,1);transition-delay:.1s}
  .stage[data-scene="noite"] .blinds rect,.stage[data-scene="cinema"] .blinds rect{transform:translateY(0)}

  .stage .lamp-bulb{fill:var(--amber);opacity:1;transition:opacity .4s cubic-bezier(.4,0,.2,1),fill .4s cubic-bezier(.4,0,.2,1)}
  .stage .lamp-rays line{stroke:var(--amber);stroke-width:2;stroke-linecap:round;opacity:1;transition:opacity .4s cubic-bezier(.4,0,.2,1)}
  .stage[data-scene="noite"] .lamp-bulb,.stage[data-scene="fora"] .lamp-bulb{fill:rgba(236,233,226,.18);opacity:.5;transition-timing-function:cubic-bezier(.6,0,1,.4);transition-delay:.28s}
  .stage[data-scene="noite"] .lamp-rays line,.stage[data-scene="fora"] .lamp-rays line{opacity:0;transition-delay:.28s}
  .stage[data-scene="cinema"] .lamp-bulb{opacity:.4;transition-delay:.06s}
  .stage[data-scene="cinema"] .lamp-rays line{opacity:.25;transition-delay:.06s}

  .stage .tv-screen{fill:rgba(236,233,226,.06);transform-box:fill-box;transform-origin:center;transition:fill .3s cubic-bezier(.4,0,.2,1)}
  .stage[data-scene="cinema"] .tv-screen{fill:var(--teal);animation:tvPowerOn .5s cubic-bezier(.2,.9,.3,1) .2s backwards}

  .stage .pose{opacity:0;filter:blur(3px);transform:translateY(4px);transform-box:fill-box;transition:opacity .45s cubic-bezier(.22,.8,.3,1),filter .45s cubic-bezier(.22,.8,.3,1),transform .45s cubic-bezier(.22,.8,.3,1)}
  .stage .pose circle,.stage .pose rect{fill:var(--text-dark)}
  .stage[data-scene="idle"] .pose-sit,.stage[data-scene="cinema"] .pose-sit{opacity:1;filter:blur(0);transform:translateY(0);transition-delay:.32s}
  .stage[data-scene="noite"] .pose-lie{opacity:1;filter:blur(0);transform:translateY(0);transition-delay:.36s}

  .stage .pose-leave{transform-box:fill-box;transform-origin:center}
  .stage[data-scene="fora"] .pose-leave{opacity:1;filter:blur(0);animation:leaveWalk .7s cubic-bezier(.4,0,.7,.3) forwards}

  /* walking figure — legs/arms pivot from hip/shoulder, mid-stride by default, step once on exit */
  .walk-leg,.walk-arm{transform-box:fill-box;transform-origin:50% 0%}
  .walk-leg-back{transform:rotate(-18deg)}
  .walk-leg-front{transform:rotate(22deg)}
  .walk-arm-back{transform:rotate(-20deg)}
  .walk-arm-front{transform:rotate(25deg)}
  .stage[data-scene="fora"] .walk-leg-back{animation:stepBack .7s cubic-bezier(.4,0,.6,1) forwards}
  .stage[data-scene="fora"] .walk-leg-front{animation:stepFront .7s cubic-bezier(.4,0,.6,1) forwards}
  .stage[data-scene="fora"] .walk-arm-back{animation:armStepBack .7s cubic-bezier(.4,0,.6,1) forwards}
  .stage[data-scene="fora"] .walk-arm-front{animation:armStepFront .7s cubic-bezier(.4,0,.6,1) forwards}

  .stage .door-swing{stroke:rgba(236,233,226,.28);stroke-width:2;stroke-dasharray:70;stroke-dashoffset:70;transition:stroke-dashoffset .5s cubic-bezier(.3,.7,.3,1),stroke .3s}
  .stage[data-scene="fora"] .door-swing{stroke-dashoffset:0;stroke:var(--teal)}

  .stage .sweep{stroke:var(--teal);stroke-width:2;opacity:0}
  .stage.firing .sweep{animation:sweepMove .5s cubic-bezier(.16,1,.3,1)}

  @keyframes tvPowerOn{0%{transform:scaleY(.02);opacity:0}40%{transform:scaleY(1.08);opacity:1}70%{transform:scaleY(.96)}100%{transform:scaleY(1);opacity:1}}
  @keyframes leaveWalk{0%{opacity:1;filter:blur(0);transform:translateX(0)}65%{opacity:1;transform:translateX(-14px)}100%{opacity:0;filter:blur(2px);transform:translateX(-24px)}}
  @keyframes stepFront{0%{transform:rotate(22deg)}50%{transform:rotate(-20deg)}100%{transform:rotate(6deg)}}
  @keyframes stepBack{0%{transform:rotate(-18deg)}50%{transform:rotate(24deg)}100%{transform:rotate(-4deg)}}
  @keyframes armStepFront{0%{transform:rotate(25deg)}50%{transform:rotate(-18deg)}100%{transform:rotate(8deg)}}
  @keyframes armStepBack{0%{transform:rotate(-20deg)}50%{transform:rotate(22deg)}100%{transform:rotate(-6deg)}}
  @keyframes sweepMove{0%{opacity:0;transform:translateX(0)}10%{opacity:.9}100%{opacity:0;transform:translateX(280px)}}

  .stage-caption{display:flex;align-items:center;gap:.55em;margin-top:1rem;font-family:var(--mono);font-size:var(--fs-xs);color:var(--text-dark-soft);min-height:2.6em}
  .stage-caption svg{width:1em;height:1em;color:var(--teal);flex:none}
  .float-chip{
    position:absolute;font-family:var(--mono);font-size:var(--fs-2xs);color:var(--ink);
    background:var(--porcelain);border-radius:100px;padding:.5rem .9rem;
    box-shadow:0 14px 30px -12px rgba(0,0,0,.5);display:flex;align-items:center;gap:.5em;
  }
  .float-chip svg{width:.9em;height:.9em;color:var(--teal-dark)}
  .chip-1{top:6%;left:-8%}
  .chip-2{bottom:14%;right:-10%}
  .waveform{display:flex;align-items:flex-end;gap:3px;height:22px}
  .waveform i{display:block;width:3px;background:var(--teal);border-radius:2px;animation:wave 1.1s ease-in-out infinite}
  .waveform i:nth-child(1){height:40%;animation-delay:0s}
  .waveform i:nth-child(2){height:80%;animation-delay:.1s}
  .waveform i:nth-child(3){height:55%;animation-delay:.2s}
  .waveform i:nth-child(4){height:100%;animation-delay:.3s}
  .waveform i:nth-child(5){height:65%;animation-delay:.4s}
  .waveform i:nth-child(6){height:35%;animation-delay:.5s}
  @keyframes wave{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}

  /* ---------- ticker ---------- */
  .ticker{background:var(--graphite-2);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);overflow:hidden;padding:.9rem 0}
  .ticker-track{display:flex;gap:3rem;width:max-content;animation:ticker 26s linear infinite}
  .ticker:hover .ticker-track{animation-play-state:paused}
  @keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .ticker-item{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft);display:flex;align-items:center;gap:.7rem;white-space:nowrap}
  .ticker-item svg{width:.9em;height:.9em;color:var(--amber)}

  /* ---------- como funciona ---------- */
  .command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}
  .command-card{
    background:var(--graphite-2);border:1px solid var(--line-dark);border-radius:var(--radius-lg);
    padding:1.75rem;display:flex;flex-direction:column;gap:1.1rem;
  }
  .bubble{
    align-self:flex-start;background:var(--graphite-3);border-radius:16px 16px 16px 4px;
    padding:.7rem 1rem;font-family:var(--mono);font-size:.85rem;color:var(--teal);
    display:flex;align-items:center;gap:.6em;
  }
  .bubble svg{width:1em;height:1em}
  .command-card p{color:var(--text-dark-soft);font-size:var(--fs-md)}
  .mini-ico{width:36px;height:36px;color:rgba(236,233,226,.3);overflow:visible}
  .mini-ico [class^="mi-"],.mini-ico [class*=" mi-"]{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .mi-bulb{fill:rgba(236,233,226,.18);stroke:none;transition:fill .35s cubic-bezier(.4,0,.2,1) .25s}
  .command-card.in .mi-bulb{fill:var(--amber)}
  .mi-blind{stroke:rgba(236,233,226,.3);transform:translateY(-9px);transform-box:fill-box;transition:transform .5s cubic-bezier(.22,1.12,.36,1)}
  .command-card.in .mi-blind-1{transform:translateY(0);transition-delay:.32s}
  .command-card.in .mi-blind-2{transform:translateY(0);transition-delay:.4s}
  .command-card.in .mi-blind-3{transform:translateY(0);transition-delay:.48s}
  .mi-tv-frame{stroke:rgba(236,233,226,.3)}
  .mi-tv-screen{fill:rgba(236,233,226,.07);stroke:none;transform-box:fill-box;transform-origin:center}
  .command-card.in .mi-tv-screen{fill:var(--teal);animation:tvPowerOn .5s cubic-bezier(.2,.9,.3,1) .3s backwards}
  .mi-door-frame{stroke:rgba(236,233,226,.3)}
  .mi-door-arc{stroke:rgba(236,233,226,.3);stroke-dasharray:40;stroke-dashoffset:40;transition:stroke-dashoffset .5s cubic-bezier(.3,.7,.3,1) .25s,stroke .3s .25s}
  .command-card.in .mi-door-arc{stroke-dashoffset:0;stroke:var(--teal)}
  .mi-toggle-track{fill:rgba(236,233,226,.08);stroke:rgba(236,233,226,.3);transition:fill .3s ease .3s}
  .command-card.in .mi-toggle-track{fill:rgba(47,184,174,.25)}
  .mi-toggle-knob{fill:rgba(236,233,226,.5);stroke:none;transform-box:fill-box;transition:transform .4s cubic-bezier(.34,1.4,.64,1) .3s,fill .3s ease .3s}
  .command-card.in .mi-toggle-knob{transform:translateX(18px);fill:var(--teal)}
  .command-card .result{font-size:var(--fs-xs);color:var(--text-dark);font-family:var(--mono)}
  .command-note{margin-top:2.5rem;display:flex;gap:2.5rem;flex-wrap:wrap}
  .command-note div{max-width:280px}
  .command-note .eyebrow{margin-bottom:.5rem}
  .command-note p{color:var(--text-dark-soft);font-size:var(--fs-md)}

  /* ---------- funciona em qualquer residencia ---------- */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
  .bullet-list li{display:flex;gap:.85rem;margin-bottom:1.05rem;font-size:var(--fs-md);color:var(--ink-soft)}
  .bullet-list svg{width:1.2rem;height:1.2rem;color:var(--teal-dark);flex:none;margin-top:.15rem}
  .compare{border:1px solid var(--line-light);border-radius:var(--radius-lg);overflow:hidden;background:#fff}
  .compare-head{display:grid;grid-template-columns:1.1fr 1fr 1fr}
  .compare-head div{padding:1rem 1.1rem;font-family:var(--mono);font-weight:500;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}
  .compare-head .col-wifi{color:var(--teal-dark);font-weight:600}
  .compare-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-top:1px solid var(--line-light)}
  .compare-row div{padding:1rem 1.1rem;font-size:var(--fs-md)}
  .compare-row .crit{color:var(--ink-soft);font-family:var(--mono);font-size:var(--fs-2xs)}
  .compare-foot{padding:1.1rem;background:var(--porcelain);font-size:var(--fs-sm);color:var(--ink-soft);border-top:1px solid var(--line-light)}

  /* ---------- calculadora ---------- */
  #monte-kit{background:var(--graphite);color:var(--text-dark)}
  /* ---------- product showcase (illustrated, original — no real photos) ---------- */
  .showcase{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:.9rem}
  .showcase-item{background:var(--graphite-2);border:1px solid var(--line-dark);border-radius:var(--radius);padding:1.3rem 1rem 1.1rem;display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center}
  .showcase-item svg{width:52px;height:52px;overflow:visible}
  .showcase-item .label{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft)}
  .showcase-item .label em{display:block;font-style:normal;opacity:.6;font-size:.9em;margin-top:.1em}
  .showcase-photo{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;background:var(--porcelain)}
  .showcase-photo img{width:100%;height:100%;object-fit:cover}
  .showcase-photo-cutout{background:transparent;border-radius:0}
  .showcase-photo-cutout img{object-fit:contain}
  .showcase-note{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text-dark-soft);opacity:.75;margin-bottom:1.1rem}
  .kit-callout{display:flex;align-items:center;gap:.7em;background:var(--graphite-2);border:1px solid var(--line-dark);border-radius:var(--radius);padding:.9rem 1.2rem;margin-bottom:2.5rem;font-size:var(--fs-sm);color:var(--text-dark-soft)}
  .kit-callout svg{width:1.2rem;height:1.2rem;color:var(--amber);flex:none}
  .kit-callout strong{color:var(--text-dark)}

  .sw-frame{fill:none;stroke:rgba(236,233,226,.3);stroke-width:2}
  .sw-zone{fill:rgba(236,233,226,.07)}
  .sw-led{fill:var(--amber);opacity:.25;transition:opacity .35s cubic-bezier(.4,0,.2,1) .3s}
  .showcase-item.in .sw-led{opacity:1}
  .sw-ripple{fill:none;stroke:var(--teal);stroke-width:1.6;opacity:0;transform-box:fill-box;transform-origin:center}
  .showcase-item.in .sw-ripple{animation:swRipple .7s cubic-bezier(.2,.8,.3,1) .5s backwards}
  @keyframes swRipple{0%{opacity:.8;transform:scale(.3)}100%{opacity:0;transform:scale(2.6)}}

  .ax-dome{fill:rgba(236,233,226,.06);stroke:rgba(236,233,226,.3);stroke-width:2}
  .ax-ring{fill:none;stroke:var(--teal);stroke-width:2;stroke-linecap:round;stroke-dasharray:46;stroke-dashoffset:46;transition:stroke-dashoffset .6s cubic-bezier(.3,.7,.3,1) .3s}
  .showcase-item.in .ax-ring{stroke-dashoffset:0}
  .ax-screen-round{fill:rgba(236,233,226,.1);transition:fill .4s cubic-bezier(.4,0,.2,1) .3s}
  .showcase-item.in .ax-screen-round{fill:var(--teal)}
  .ax-base{fill:rgba(236,233,226,.12)}
  .ax-screen-rect{fill:rgba(236,233,226,.07);transform-box:fill-box;transform-origin:center}
  .showcase-item.in .ax-screen-rect{fill:var(--teal);animation:tvPowerOn .5s cubic-bezier(.2,.9,.3,1) .35s backwards}
  .ax-body{fill:rgba(236,233,226,.1);stroke:rgba(236,233,226,.3);stroke-width:2}
  .ax-grille{stroke:rgba(236,233,226,.3);stroke-width:1.6;stroke-linecap:round}
  .ax-wave{fill:none;stroke:var(--teal);stroke-width:1.6;opacity:0;transform-box:fill-box;transform-origin:center}
  .showcase-item.in .ax-wave-1{animation:axWave .9s cubic-bezier(.2,.8,.3,1) .3s backwards}
  .showcase-item.in .ax-wave-2{animation:axWave .9s cubic-bezier(.2,.8,.3,1) .48s backwards}
  .showcase-item.in .ax-wave-3{animation:axWave .9s cubic-bezier(.2,.8,.3,1) .66s backwards}
  @keyframes axWave{0%{opacity:.65;transform:scale(.5)}100%{opacity:0;transform:scale(2)}}

  .kit-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:start}
  .kit-list{display:flex;flex-direction:column;gap:.9rem}
  .kit-row{
    display:grid;grid-template-columns:auto 1fr auto;gap:1.1rem;align-items:center;
    background:var(--graphite-2);border:1px solid var(--line-dark);border-radius:var(--radius);
    padding:1.1rem 1.25rem;
  }
  .kit-group-heading{display:flex;align-items:baseline;gap:.7em;padding:1.4rem .2rem .3rem;font-family:var(--disp);font-weight:600;font-size:1rem;color:var(--text-dark)}
  .kit-group-heading:first-child{padding-top:0}
  .kit-group-heading em{font-family:var(--mono);font-style:normal;font-size:var(--fs-2xs);color:var(--text-dark-soft)}
  .kit-note{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text-dark-soft);padding:.3rem .2rem .1rem;display:flex;align-items:center;gap:.6em}
  .kit-note svg{width:1em;height:1em;color:var(--teal);flex:none}
  .kit-icon{width:2.6rem;height:2.6rem;border-radius:10px;background:var(--graphite-3);display:flex;align-items:center;justify-content:center;color:var(--amber);overflow:hidden;flex:none}
  .kit-icon svg{width:1.3rem;height:1.3rem}
  .kit-icon-photo{background:var(--porcelain)}
  .kit-icon-photo img{width:100%;height:100%;object-fit:cover}
  .kit-icon-cutout{background:var(--graphite-3)}
  .kit-icon-cutout img{width:100%;height:100%;object-fit:contain;padding:.3rem}
  .kit-info .name{font-weight:600;font-size:1rem}
  .kit-info .desc{font-size:var(--fs-xs);color:var(--text-dark-soft);margin-top:.15rem}
  .kit-info select{
    margin-top:.5rem;background:var(--graphite-3);border:1px solid var(--line-dark);color:var(--text-dark);
    font-family:var(--mono);font-size:var(--fs-2xs);border-radius:6px;padding:.35rem .5rem;
  }
  .stepper{display:flex;align-items:center;gap:.7rem;background:var(--graphite-3);border-radius:100px;padding:.3rem}
  .stepper button{width:1.9rem;height:1.9rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-dark);font-size:1.1rem;transition:background .15s}
  .stepper button:hover{background:rgba(255,255,255,.08)}
  .stepper span{min-width:1.4rem;text-align:center;font-family:var(--mono);font-size:var(--fs-sm)}

  .kit-summary{
    position:sticky;top:6.5rem;background:var(--graphite-2);border:1px solid var(--line-dark);
    border-radius:var(--radius-lg);padding:1.9rem;
  }
  .kit-summary .eyebrow{margin-bottom:1rem}
  .kit-summary .count{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text-dark-soft);margin-bottom:1.4rem}
  .kit-summary .count b{color:var(--amber)}
  .kit-total{display:none;margin-bottom:1.4rem}
  .kit-total.show{display:block}
  .kit-total .label{font-family:var(--mono);font-weight:500;font-size:var(--fs-2xs);color:var(--text-dark-soft);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.35rem}
  .kit-total .value{font-family:var(--disp);font-size:var(--fs-stat);font-weight:700;color:var(--text-dark)}
  .kit-total .note{font-size:var(--fs-sm);color:var(--text-dark-soft);margin-top:.5rem}
  .kit-empty{font-size:var(--fs-sm);color:var(--text-dark-soft);margin-bottom:1.2rem;display:none}
  .kit-empty.show{display:block}
  .kit-summary .btn-primary{width:100%;justify-content:center}
  .pickup-note{margin-top:.9rem;font-size:var(--fs-sm);color:var(--text-dark-soft);text-align:center}
  .toast{
    position:fixed;bottom:1.8rem;left:50%;transform:translateX(-50%) translateY(120%);
    background:var(--ink);color:var(--text-dark);padding:.9rem 1.4rem;border-radius:100px;
    font-size:var(--fs-sm);box-shadow:0 20px 40px -14px rgba(0,0,0,.5);z-index:300;transition:transform .35s cubic-bezier(.2,.8,.2,1);
    display:flex;align-items:center;gap:.6em;white-space:nowrap;
  }
  .toast svg{width:1.05em;height:1.05em;color:var(--teal)}
  .toast.show{transform:translateX(-50%) translateY(0)}

  /* ---------- antes de comprar ---------- */
  .req-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;margin-bottom:3rem}
  .req-card{background:#fff;border:1px solid var(--line-light);border-radius:var(--radius);padding:1.5rem}
  .req-card svg{width:1.5rem;height:1.5rem;color:var(--teal-dark);margin-bottom:.9rem}
  .req-card h3{font-size:1rem;margin-bottom:.4rem}
  .req-card p{font-size:var(--fs-md);color:var(--ink-soft)}
  .callout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}
  .callout{border-left:3px solid var(--amber);background:var(--porcelain);border-radius:0 var(--radius) var(--radius) 0;padding:1.4rem 1.6rem}
  .callout .eyebrow{margin-bottom:.6rem}
  .callout p{font-size:var(--fs-md);color:var(--ink-soft)}

  /* ---------- instalacao profissional ---------- */
  #instalacao{background:var(--graphite);color:var(--text-dark)}
  .install-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
  .stat-row{display:flex;gap:2.5rem;margin:2rem 0;flex-wrap:wrap}
  .stat b{display:block;font-family:var(--disp);font-size:var(--fs-stat);color:var(--amber)}
  .stat span{font-family:var(--mono);font-weight:500;font-size:var(--fs-2xs);color:var(--text-dark-soft);text-transform:uppercase;letter-spacing:.07em}
  .warranty-note{font-size:var(--fs-sm);color:var(--text-dark-soft);border-top:1px solid var(--line-dark);padding-top:1.2rem;margin-top:.5rem;max-width:46ch}
  .install-card{background:var(--graphite-2);border:1px solid var(--line-dark);border-radius:var(--radius-lg);padding:2rem}
  .install-card ul{display:flex;flex-direction:column;gap:1rem}
  .install-card li{display:flex;gap:.8rem;font-size:var(--fs-md);color:var(--text-dark-soft)}
  .install-card svg{width:1.15rem;height:1.15rem;color:var(--teal);flex:none;margin-top:.1rem}
  .km-calc{margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid var(--line-dark)}
  .km-calc label{display:block;font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem}
  .km-calc-row{display:flex;gap:.8rem;align-items:stretch}
  .km-calc-row input{
    width:5.5rem;background:var(--graphite-3);border:1px solid var(--line-dark);border-radius:8px;color:var(--text-dark);
    font-family:var(--mono);font-size:var(--fs-sm);padding:.6rem .7rem;text-align:center;
  }
  .km-calc-row input:focus{outline:2px solid var(--teal);outline-offset:1px}
  .km-calc-value{flex:1;display:flex;flex-direction:column;justify-content:center;background:var(--graphite-3);border-radius:8px;padding:.5rem .9rem}
  .km-calc-label{font-family:var(--mono);font-size:.68rem;color:var(--text-dark-soft);text-transform:uppercase;letter-spacing:.05em}
  .km-calc-amount{font-family:var(--disp);font-weight:700;font-size:1.3rem;color:var(--amber)}
  .km-calc-amount-empty{font-family:var(--body);font-weight:600;font-size:.85rem;color:var(--text-dark-soft)}
  .km-calc-note{font-size:var(--fs-2xs);color:var(--text-dark-soft);margin-top:.7rem}
  /* ---------- indisponível (fora de estoque) ---------- */
  .kit-row.indisponivel{opacity:.55}
  .kit-row.indisponivel .kit-icon{filter:grayscale(1)}
  .kit-badge-indisponivel{
    font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft);
    border:1px solid var(--line-dark);border-radius:100px;padding:.5rem 1rem;white-space:nowrap;
  }

  /* ---------- parceiros ---------- */
  .partner-block{background:var(--ink);color:var(--text-dark);border-radius:var(--radius-lg);padding:clamp(2rem,5vw,4rem);display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:start}
  .partner-block blockquote{font-family:var(--disp);font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:500;line-height:1.3}
  .partner-block .attrib{margin-top:1.5rem;font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft)}
  .partner-form{display:flex;flex-direction:column;gap:.9rem;background:var(--graphite-2);border:1px solid var(--line-dark);border-radius:var(--radius);padding:1.5rem}
  .partner-form .field{display:flex;flex-direction:column;gap:.4rem}
  .partner-form label{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft);text-transform:uppercase;letter-spacing:.05em}
  .partner-form label span{text-transform:none;letter-spacing:0;opacity:.7}
  .partner-form input,.partner-form select,.partner-form textarea{
    background:var(--graphite-3);border:1px solid var(--line-dark);border-radius:8px;color:var(--text-dark);
    font-family:var(--body);font-size:var(--fs-sm);padding:.65rem .8rem;resize:vertical;
  }
  .partner-form input:focus,.partner-form select:focus,.partner-form textarea:focus{outline:2px solid var(--teal);outline-offset:1px}
  .partner-form .field.invalid input{outline:2px solid var(--amber);outline-offset:1px}
  .partner-form .btn{justify-content:center;margin-top:.3rem}
  .form-note{font-size:var(--fs-2xs);color:var(--text-dark-soft);text-align:center}

  /* ---------- pagamento ---------- */
  .pay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}
  .pay-card{background:#fff;border:1px solid var(--line-light);border-radius:var(--radius);padding:1.5rem;text-align:left}
  .pay-card svg{width:1.5rem;height:1.5rem;color:var(--amber);margin-bottom:.9rem}
  .pay-card h3{font-size:1rem;margin-bottom:.4rem}
  .pay-card p{font-size:var(--fs-md);color:var(--ink-soft)}

  /* ---------- faq ---------- */
  .faq-list{border-top:1px solid var(--line-light)}
  .faq-item{border-bottom:1px solid var(--line-light)}
  .faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 0;text-align:left;font-family:var(--disp);font-weight:500;font-size:1.05rem}
  .faq-q svg{width:1.1rem;height:1.1rem;flex:none;transition:transform .3s ease;color:var(--teal-dark)}
  .faq-item.open .faq-q svg{transform:rotate(45deg)}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
  .faq-a p{padding-bottom:1.35rem;color:var(--ink-soft);font-size:var(--fs-md);max-width:62ch}

  /* ---------- footer ---------- */
  footer{background:var(--graphite);color:var(--text-dark-soft);padding:4.5rem 0 2rem}
  .footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:2rem;padding-bottom:3rem;border-bottom:1px solid var(--line-dark)}
  .footer-brand .logo{margin-bottom:1rem}
  .footer-brand p{font-size:var(--fs-sm);max-width:32ch}
  .footer-col h4{font-family:var(--mono);font-weight:500;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.07em;color:var(--text-dark);margin-bottom:1rem}
  .footer-col li{margin-bottom:.65rem;font-size:var(--fs-sm)}
  .footer-col a:hover{color:var(--text-dark)}
  .footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;font-family:var(--mono);font-size:var(--fs-2xs)}

  .wa-float{
    position:fixed;bottom:1.6rem;right:1.6rem;z-index:200;
    width:3.4rem;height:3.4rem;border-radius:50%;background:var(--teal);color:var(--ink);
    display:flex;align-items:center;justify-content:center;box-shadow:0 16px 30px -10px rgba(47,184,174,.55);
    transition:transform .2s ease;
  }
  .wa-float:hover{transform:scale(1.08)}
  .wa-float svg{width:1.6rem;height:1.6rem}

  /* ---------- checkout / legal pages ---------- */
  .page-hero{padding:clamp(7.5rem,14vw,9.5rem) 0 2.5rem}
  .page-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:.7rem}
  .breadcrumb{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft);margin-bottom:1.2rem;display:flex;gap:.5em;align-items:center}
  .breadcrumb a:hover{color:var(--text-dark)}
  .legal-content{max-width:74ch}
  .legal-content h2{font-size:1.25rem;margin:2.2rem 0 .8rem}
  .legal-content h2:first-child{margin-top:0}
  .legal-content p{margin-bottom:1rem;color:var(--text-dark-soft);font-size:var(--fs-md)}
  .legal-content ul{margin:0 0 1rem 1.2rem;list-style:disc}
  .legal-content li{margin-bottom:.5rem;color:var(--text-dark-soft);font-size:var(--fs-md)}
  .legal-content strong{color:var(--text-dark)}
  .legal-updated{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft);margin-bottom:2.5rem;opacity:.75}

  .checkout-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:start}
  .checkout-card{background:var(--graphite-2);border:1px solid var(--line-dark);border-radius:var(--radius-lg);padding:1.9rem}
  .checkout-card + .checkout-card{margin-top:1.5rem}
  .checkout-card h3{font-size:1rem;margin-bottom:1.1rem}
  .co-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
  .co-field label{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft);text-transform:uppercase;letter-spacing:.05em}
  .co-field input,.co-field select{
    background:var(--graphite-3);border:1px solid var(--line-dark);border-radius:8px;color:var(--text-dark);
    font-family:var(--body);font-size:var(--fs-sm);padding:.65rem .8rem;
  }
  .co-field input:focus,.co-field select:focus{outline:2px solid var(--teal);outline-offset:1px}
  .co-field.invalid input{outline:2px solid var(--amber);outline-offset:1px}
  .co-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .radio-group{display:flex;flex-direction:column;gap:.7rem}
  .radio-option{display:flex;align-items:flex-start;gap:.7em;background:var(--graphite-3);border:1px solid var(--line-dark);border-radius:10px;padding:.85rem 1rem;cursor:pointer;transition:border-color .2s}
  .radio-option:has(input:checked){border-color:var(--teal)}
  .radio-option input{margin-top:.2rem;accent-color:var(--teal)}
  .radio-option .opt-title{font-weight:600;font-size:var(--fs-sm);color:var(--text-dark)}
  .radio-option .opt-desc{font-size:var(--fs-xs);color:var(--text-dark-soft);margin-top:.15rem}
  .co-summary-list{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line-dark)}
  .co-summary-item{display:flex;justify-content:space-between;gap:1rem;font-size:var(--fs-sm);color:var(--text-dark-soft)}
  .co-summary-item b{color:var(--text-dark);font-weight:500}
  .co-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.6rem}
  .co-total-row .label{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text-dark-soft);text-transform:uppercase;letter-spacing:.07em}
  .co-total-row .value{font-family:var(--disp);font-size:1.8rem;font-weight:700;color:var(--text-dark)}
  .co-note{font-size:var(--fs-2xs);color:var(--text-dark-soft);text-align:center;margin-top:.9rem}
  .co-empty{background:var(--graphite-2);border:1px solid var(--line-dark);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center}
  .co-empty p{color:var(--text-dark-soft);margin-bottom:1.3rem}

  @media (max-width:920px){
    nav.main-nav{position:fixed;inset:0 0 0 auto;top:0;height:100vh;width:min(320px,80vw);background:var(--graphite);
      flex-direction:column;padding:6.5rem 2rem 2rem;gap:1.6rem;transform:translateX(100%);transition:transform .3s ease;border-left:1px solid var(--line-dark)}
    nav.main-nav.open{transform:translateX(0)}
    nav.main-nav a{font-size:1.05rem}
    .nav-toggle{display:block}
    #hero .container{grid-template-columns:1fr}
    .panel-wrap{order:-1;margin-bottom:1rem}
    .glass-panel{width:min(280px,70vw)}
    .split,.install-grid{grid-template-columns:1fr}
    .kit-layout{grid-template-columns:1fr}
    .kit-summary{position:static}
    .showcase{grid-template-columns:repeat(3,1fr)}
    .partner-block{grid-template-columns:1fr}
    .footer-top{grid-template-columns:1fr 1fr}
    .compare-head div,.compare-row div{padding:.85rem .7rem;font-size:var(--fs-2xs)}
    .logo-mark{height:26px}
    .checkout-layout{grid-template-columns:1fr}
    .co-row{grid-template-columns:1fr}
  }
  @media (max-width:560px){
    .showcase{grid-template-columns:repeat(2,1fr)}
    .footer-top{grid-template-columns:1fr}
    .kit-row{grid-template-columns:auto 1fr;row-gap:.8rem}
    .kit-row .stepper{grid-column:1/-1;justify-self:start}
  }
