:root{--ink:#101820;--ink-soft:#303030;--muted:#636363;--muted-2:#8b8b8b;--line:#e3e3e3;--line-soft:#eee;--bg:#fff;--bg-soft:#f7f7f7;--bg-tint:#f4f1ea;--accent:#ffc400;--accent-hi:#ffd84d;--accent-deep:#7c6627;--teal:#2f7d6e;--teal-soft:#dff0eb;--sale:#d8361f;--green:#17864f;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--sh-1:0 1px 2px #1018200f, 0 4px 12px #1018200d;--sh-2:0 8px 24px #10182017;--sh-3:0 18px 44px #10182024;--page:1320px;--gutter:20px;--topbar-h:38px;--header-h:68px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);overflow-x:hidden}body.is-locked{overflow:hidden}.app-status{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:24px;display:flex}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,p{margin:0}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}.wrap{width:100%;max-width:var(--page);padding-inline:var(--gutter);margin-inline:auto}.wrap-wide{max-width:1560px}.section{padding-block:54px}.section--tint{background:var(--bg-soft)}.section-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.section-title{letter-spacing:-.02em;font-size:clamp(22px,2.4vw,32px);font-weight:800;line-height:1.15}.section-title em{color:var(--accent-deep);font-style:normal}.section-sub{color:var(--muted);margin-top:6px;font-size:14.5px}.link-all{border-bottom:2px solid var(--accent);white-space:nowrap;flex:none;padding-bottom:2px;font-size:14px;font-weight:700}.btn{border-radius:var(--r-pill);letter-spacing:.01em;justify-content:center;align-items:center;gap:8px;height:46px;padding-inline:22px;font-size:14.5px;font-weight:700;transition:transform .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--dark{background:var(--ink);color:#fff}.btn--dark:hover{background:#23303c}.btn--accent,.btn--neon{background:var(--accent);color:var(--ink)}.btn--accent:hover,.btn--neon:hover{background:var(--accent-hi)}.btn--light{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:#fff}.btn--light:hover{background:var(--ink);color:#fff}.btn--ghost{box-shadow:inset 0 0 0 1.5px var(--line)}.btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}.btn--block{width:100%}.btn--lg{height:54px;padding-inline:30px;font-size:15.5px}.btn--sm{height:38px;padding-inline:16px;font-size:13px}.badge{letter-spacing:.06em;text-transform:uppercase;border-radius:6px;align-items:center;height:22px;padding-inline:9px;font-size:10.5px;font-weight:800;display:inline-flex}.badge--sale{background:var(--sale);color:#fff}.badge--new{background:var(--teal);color:#fff}.badge--best{background:var(--accent);color:var(--ink)}.badge--soft{background:var(--bg-soft);color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scroller{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;gap:16px;padding-bottom:4px;display:flex;overflow-x:auto}.scroller::-webkit-scrollbar{display:none}.scroller>*{scroll-snap-align:start;flex:none}.rail-nav{gap:8px;display:flex}.rail-btn{width:38px;height:38px;box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;border-radius:50%;place-items:center;transition:background .15s,color .15s,box-shadow .15s;display:grid}.rail-btn:hover:not(:disabled){background:var(--ink);color:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}.rail-btn:disabled{opacity:.35;cursor:not-allowed}@media (width<=900px){:root{--gutter:16px}.section{padding-block:38px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}
