@font-face{font-family:"Rivo Ploni";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/ploni-regular.woff") format("woff")}
@font-face{font-family:"Rivo Ploni";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/ploni-bold.woff") format("woff")}
/* Presentation-only layer. Original markup, content and scripts are preserved. */
:root{
 --f-body:"Rivo Ploni","Heebo","Segoe UI",system-ui,sans-serif;
 --bone:#F7F6F1;--bone-lift:#FDFCF8;--bone-dim:#F0EDE5;--bone-deep:#E6E1D6;
 --esp:#21363B;--esp-deep:#172B30;--esp-soft:#38545A;
 --brass:#66777A;--brass-lift:#E6E1D6;--brass-dim:#21363B;
 --sage:#66777A;--sage-deep:#21363B;
 --ink:#21363B;--ink-2:#3E4D50;--ink-3:#505D5F;
 --on-esp:#F7F6F1;--on-esp-2:#E4E3DC;--on-esp-3:#C9CECC;
 --rule:#DEDCD3;--rule-2:#BFBFB4;--rule-esp:#486065;
 --f-disp:var(--f-body);--shell:1320px;--gut:clamp(20px,4.5vw,64px);--r:16px;
 --lift-1:0 6px 22px -16px rgba(23,43,48,.24);
 --lift-2:0 18px 60px -30px rgba(23,43,48,.26);
}
body{font-size:1.03125rem;line-height:1.75}
h1,h2,h3{letter-spacing:-.035em;line-height:1.3;font-weight:500}
h2{font-size:clamp(1.75rem,3.4vw,2.75rem)}
.nav{background:rgba(247,246,241,.97)!important;border-bottom:1px solid var(--rule)}
.nav-in{min-height:82px}.brand .wm,.lock .wm{font-family:var(--f-body);letter-spacing:.06em;font-weight:500}
.brand .wm{font-size:1.75rem}.brand .mark{height:32px}
.ann{background:var(--esp-deep);font-size:.875rem}.ann .shell{min-height:38px}
.btn{border-radius:100px;padding:14px 24px;font-size:.9375rem;font-weight:500;letter-spacing:0}
.btn-lg{padding:17px 30px;font-size:1rem}.btn-wa{background:var(--esp);box-shadow:var(--lift-1)}
.btn-wa:hover{background:var(--esp-deep)}.btn-2{background:transparent;border-color:var(--rule-2)}
.burger,#panel .x{border-radius:50%}.nav-links a{border-radius:100px}
.hero-in{padding-block:clamp(34px,5vw,74px) 24px;gap:clamp(32px,5vw,72px)}
.hero-copy{gap:24px}.hero h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.3;letter-spacing:-.04em}
.hero .lede{font-size:clamp(1rem,1.35vw,1.125rem);line-height:1.85}
.stage{background:#F2EBE0;border-radius:24px;padding:24px 12px;overflow:hidden}
.shot img.prod{max-block-size:min(68vh,580px);border-radius:12px}
.tp .tx{background:#F2EBE0!important;color:#4E5654;font-size:.875rem}
.price-now{font-family:var(--f-body);font-weight:500;font-size:3.25rem}
.pill{border-radius:100px;font-size:.8125rem;letter-spacing:.02em;padding:5px 10px}
.price-fine,.under,.cal li{font-size:.875rem}.crumb{font-size:.8125rem;letter-spacing:.04em}
.strip{margin-block-start:28px}.strip-cell{padding-block:24px}.strip-cell .k{font-size:.875rem}.strip-cell .v{font-family:var(--f-body);font-weight:500}
section:not(.hero){padding-block:clamp(56px,7vw,100px)}
.sec-head{gap:18px;margin-block-end:42px}.eyebrow{font-size:.875rem;letter-spacing:.07em}
.kit-grid{gap:16px;border:0;background:transparent;border-radius:0;overflow:visible}
.part{border:1px solid var(--rule);border-radius:16px;background:var(--bone-lift);padding:28px;overflow:hidden;box-shadow:none;transition:background .2s,box-shadow .2s,border-color .2s}
.part:hover,.part:focus-visible,.part[aria-current="true"]{background:#fff;border-color:var(--brass);box-shadow:var(--lift-2)}
.part-art{height:180px;background:#F2EBE0;border-radius:12px;margin-block:12px 20px;padding:12px}
.part-art img{max-height:156px;max-width:100%;height:100%;width:auto;border-radius:8px}
.part-body b{font-size:1.0625rem}.part-body span{font-size:.9375rem;line-height:1.75}
.part-no,.part-qty{font-size:.8125rem;letter-spacing:.04em}
.filtviz,.spraybox{border-radius:22px;border:1px solid var(--rule-esp)}
.filtviz{padding:clamp(24px,3vw,40px)}.segs,.segs button{border-radius:100px}.segs button{font-size:.875rem}
.claim b{font-size:1rem}.claim span,.viz-note{font-size:.9375rem}
.mode-list{gap:12px}.mode{padding:20px;border:1px solid var(--rule);border-radius:14px;transition:background .2s,border-color .2s}
.mode:last-of-type{border:1px solid var(--rule)}.mode[aria-current="true"]{background:#fff;border-color:var(--brass);box-shadow:var(--lift-1)}
.mode .t b{font-size:1.375rem}.mode .t span{font-size:.9375rem;line-height:1.7}.mode .idx{font-size:.8125rem}
.demo-band{position:relative;overflow:hidden;background:var(--esp-deep)}
.demo-grid{display:grid;align-items:center;gap:clamp(36px,7vw,96px)}
.demo-copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px;max-width:34rem}
.demo-copy h2{color:var(--on-esp);font-size:clamp(2rem,4.2vw,3.5rem)}
.demo-copy .lede{font-size:clamp(1rem,1.5vw,1.1875rem)}
.demo-note{display:flex;align-items:center;gap:10px;color:var(--on-esp-3);font-size:.9375rem}
.demo-note span{width:7px;height:7px;border-radius:50%;background:var(--on-esp-2);box-shadow:0 0 0 6px rgba(228,227,220,.08)}
.demo-frame{width:min(100%,390px);justify-self:center;padding:10px;background:#0F2328;border:1px solid var(--rule-esp);border-radius:24px;box-shadow:0 28px 70px -34px rgba(0,0,0,.58)}
.demo-frame video{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:16px;background:#0F2328}
@media(min-width:800px){.demo-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)}}
@media(max-width:799px){.demo-copy{text-align:center;align-items:center;margin-inline:auto}.demo-frame{width:min(88vw,360px)}}
.spec-row .sv{font-size:1rem}.cmp{border-radius:18px}.col-me{background:#F0EDE5}
.faq{max-width:900px}.faq details{border:1px solid var(--rule);border-radius:14px;background:var(--bone-lift);padding-inline:24px;margin-bottom:12px}
.faq details[open]{background:#fff;border-color:var(--brass)}.ans{font-size:1rem;line-height:1.8}
.card{border-radius:20px;border-color:var(--rule)}.card-head{padding-block:22px;background:var(--bone-dim)}
.card-body{padding:clamp(22px,3vw,36px);gap:22px}.field input,.field textarea{border-radius:10px;background:#fff;font-size:1rem}
.field label{font-size:.9375rem}.field input::placeholder{color:#697873}.consent{font-size:.875rem}
.field input:focus,.field textarea:focus{box-shadow:0 0 0 3px rgba(59,108,99,.16)}
.assure{border-radius:14px}.as span{font-size:.875rem}.step span{font-size:1rem}
#dock{background:var(--esp-deep)}#dock .btn-1{background:var(--bone-lift);color:var(--esp)}
.dock-txt span{font-size:.8125rem}.f-col h4{font-size:.875rem;letter-spacing:.04em}.legal{font-size:.875rem}
footer{padding-block-start:72px}.topbar{background:var(--bone-lift)}.topbar .shell{min-height:80px}
.doc{max-width:80ch;padding:clamp(28px,4vw,56px);margin-block:clamp(24px,4vw,52px);background:var(--bone-lift);border:1px solid var(--rule);border-radius:20px;box-shadow:var(--lift-1)}
.doc h1{font-size:clamp(1.75rem,3.8vw,2.625rem);line-height:1.35}.doc h2{font-size:1.375rem;font-weight:500;line-height:1.5}
.doc p,.doc li{font-size:1rem;line-height:1.9}.doc .updated{font-size:.8125rem}.doc-more a{font-size:.9375rem}
.doc-contact{background:var(--bone-dim);padding:24px;border:0;border-radius:12px}.doc-more ul{gap:14px 24px}
:focus-visible{outline:3px solid var(--brass-dim);outline-offset:4px}
.band-esp :focus-visible,footer :focus-visible,#panel :focus-visible{outline-color:var(--brass-lift)}
@media(min-width:940px){.hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero h1{font-size:clamp(2.25rem,3.65vw,3.125rem)}}
@media(max-width:600px){.nav-in{min-height:70px}.hero-copy{gap:20px}.stage{padding:14px;border-radius:18px}.hero h1{font-size:clamp(1.875rem,7.5vw,2.5rem)}.part{padding:18px}.part-art{height:145px}.part-art img{max-height:120px}.part-body b{font-size:1rem}.part-body span{font-size:.875rem}.mode{padding:16px;gap:12px}.doc{padding:24px 20px;margin-block:20px}.faq details{padding-inline:18px}.price-now{font-size:2.75rem}.doc-contact{padding:18px}}
@media(max-width:360px){.kit-grid{grid-template-columns:1fr}.cta-row .btn{width:100%}.doc{padding-inline:16px}.segs,.segs button{border-radius:12px}}

/* Restrained interaction polish; the original product photograph stays still. */
.hero h1 em{color:var(--esp);font-weight:700}
.hero .pill{background:transparent;color:var(--ink-2);border:1px solid var(--rule);font-family:var(--f-body);letter-spacing:0}
.hero .price-row{align-items:center;gap:20px}
.hero .price-side{padding-block-end:0}
.hero .cta-row{align-items:center;gap:16px 24px}
.hero .cta-row .btn-1{flex:1 1 220px}
.hero .cta-row .btn-2{flex:0 1 auto;min-width:0;padding-inline:4px;border-color:transparent;border-radius:4px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--rule-2);box-shadow:none}
.hero .cta-row .btn-2:hover{background:transparent;text-decoration-color:var(--esp)}
.nav-links a[href="#spec"],.nav-links a[href="#value"]{display:none}
.nav-links{gap:14px}
.nav-price{display:none}
.nav-in{gap:28px}
@media(max-width:600px){.hero .cta-row .btn-1{flex-basis:100%}.hero .cta-row .btn-2{margin-inline:auto}.hero .cta-row{gap:8px}.nav-in{gap:16px}}
@media (prefers-reduced-motion:no-preference){
 .btn{transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}
 .part,.mode{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}
 .faq details{transition:background-color .22s ease,border-color .22s ease}
 .faq details[open] .ans{animation:rivo-answer-in .25s ease-out}
 @keyframes rivo-answer-in{from{opacity:.5;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
}
