/* QuiverField – archery gear reviews */
:root{
  --forest-950:#0b1711;--forest-900:#0f1f17;--forest-800:#15291f;--forest-700:#1c3a2b;--forest-600:#25503a;--moss:#6f8b57;--sage:#a9b99a;
  --bone:#f4efe4;--bone-2:#ebe3d2;--paper:#fbf8f2;--white:#fff;
  --ink:#16201a;--ink-2:#2c3830;--muted:#5f6a62;--line:rgba(22,32,26,.12);--line-2:rgba(22,32,26,.2);
  --blaze:#e8622a;--blaze-600:#c44c19;--blaze-100:#fde7dc;--gold:#e0b04a;--silver:#b9c0c4;--bronze:#c47e4a;
  --f-display:"Archivo",system-ui,sans-serif;--f-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"JetBrains Mono",ui-monospace,monospace;
  --r:14px;--r-lg:22px;
  --sh-1:0 1px 2px rgba(15,31,23,.06),0 2px 8px rgba(15,31,23,.06);
  --sh-2:0 10px 30px -10px rgba(15,31,23,.25),0 4px 12px rgba(15,31,23,.06);
  --sh-3:0 30px 60px -20px rgba(11,23,17,.45);
  --ease:cubic-bezier(.2,.7,.2,1);--wrap:1240px;--hdr:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;font-family:var(--f-body);font-size:16px;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.08;margin:0;letter-spacing:-.01em;font-stretch:88%}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--blaze);outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--blaze);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
[hidden]{display:none!important}
.ic{width:22px;height:22px;flex:none}.ic-sm{width:18px;height:18px;flex:none}.ic-xs{width:14px;height:14px;flex:none}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blaze-600)}
.eyebrow::before{content:"";width:18px;height:2px;background:currentColor}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:13px 22px;font-family:var(--f-display);font-weight:700;font-size:15px;letter-spacing:.02em;font-stretch:100%;line-height:1;transition:transform .2s var(--ease),box-shadow .2s,background .2s,color .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-blaze{background:var(--blaze);color:#fff;box-shadow:0 8px 20px -8px rgba(232,98,42,.7)}
.btn-blaze:hover{background:var(--blaze-600);box-shadow:0 14px 26px -10px rgba(232,98,42,.8)}
.btn-dark{background:var(--forest-800);color:var(--bone)}.btn-dark:hover{background:var(--forest-700)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-sm{padding:10px 16px;font-size:14px}.btn-lg{padding:16px 26px;font-size:16px}.btn-block{width:100%}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-family:var(--f-display);color:var(--blaze-600);font-size:15px}
.link-arrow svg{transition:transform .2s}.link-arrow:hover svg{transform:translateX(4px)}

/* score pill + stars */
.score{display:inline-flex;align-items:baseline;gap:1px;background:var(--forest-800);color:var(--bone);border-radius:10px;padding:6px 9px;font-family:var(--f-mono);line-height:1;flex:none}
.score>b{font-size:17px;font-weight:700;color:#fff}.score>small{font-size:11px;opacity:.7}
.score-sm{padding:5px 7px}.score-sm>b{font-size:14px}
.score-lg{padding:10px 14px;border-radius:14px}.score-lg>b{font-size:26px}
.stars{position:relative;display:inline-block;font-size:14px;letter-spacing:2px;line-height:1;white-space:nowrap}
.stars-bg{color:#d8d0bf}.stars-fg{position:absolute;inset:0 auto 0 0;overflow:hidden;color:var(--blaze);white-space:nowrap}

/* top bar + header */
.topbar{background:var(--forest-950);color:var(--sage);font-size:12.5px}
.topbar-in{display:flex;gap:22px;align-items:center;min-height:34px}
.topbar-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.topbar-item b{color:var(--bone)}
.tb-ic{width:14px;height:14px;color:var(--blaze)}
.topbar-disc{margin-left:auto;opacity:.8}
.site-header{position:sticky;top:0;z-index:60;isolation:isolate;border-bottom:1px solid var(--line);transition:box-shadow .25s}
/* blur lives on a pseudo-element: backdrop-filter on the header itself would trap the fixed mobile drawer */
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(251,248,242,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);transition:background .25s}
.site-header.is-stuck{box-shadow:0 8px 24px -14px rgba(11,23,17,.35)}
.site-header.is-stuck::before{background:rgba(251,248,242,.96)}
.header-in{display:flex;align-items:center;gap:28px;height:var(--hdr)}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none}
.brand-mark{width:40px;height:40px;transition:transform .5s var(--ease)}
.brand:hover .brand-mark{transform:rotate(-12deg) scale(1.05)}
.brand-word{font-family:var(--f-display);font-weight:900;font-size:23px;letter-spacing:-.01em;font-stretch:80%;text-transform:uppercase;color:var(--forest-800)}
.brand-word span{color:var(--blaze)}
.brand-light .brand-word{color:var(--bone)}
.main-nav{flex:1}
.nav-list{display:flex;align-items:center;gap:2px}
.nav-link{display:inline-flex;align-items:center;gap:5px;padding:10px 12px;white-space:nowrap;border-radius:10px;font-weight:600;font-size:15px;background:none;border:0;color:var(--ink-2);position:relative;transition:color .2s}
.nav-link::after{content:"";position:absolute;left:13px;right:13px;bottom:5px;height:2px;background:var(--blaze);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-link:hover,.nav-link[aria-current]{color:var(--forest-800)}
.nav-link:hover::after,.nav-link[aria-current]::after{transform:scaleX(1)}
.nav-chev{width:14px;height:14px;transition:transform .25s}
.has-mega{position:relative}
.mega{position:absolute;left:-20px;top:100%;padding-top:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .25s var(--ease),visibility .2s}
.has-mega:hover .mega,.has-mega.is-open .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none}
.has-mega:hover .nav-chev,.has-mega.is-open .nav-chev{transform:rotate(180deg)}
.mega-inner{display:grid;grid-template-columns:200px 1fr;gap:10px;width:640px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:12px}
.mega-head{color:var(--bone);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:8px;background:radial-gradient(circle at 115% 115%,rgba(232,98,42,.45) 0 22%,transparent 23%),radial-gradient(circle at 115% 115%,rgba(232,98,42,.2) 0 42%,transparent 43%),var(--forest-800)}
.mega-head .eyebrow{color:var(--blaze)}.mega-head p{font-size:14px;color:var(--sage);margin:0}
.mega-all{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:#fff}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;align-content:start}
.mega-link{display:flex;gap:12px;padding:12px;border-radius:12px;transition:background .2s}
.mega-link:hover{background:var(--bone)}
.mega-ic{width:36px;height:36px;padding:7px;border-radius:10px;background:var(--bone);color:var(--forest-700);flex:none;transition:background .2s,color .2s}
.mega-link:hover .mega-ic{background:var(--blaze);color:#fff}
.mega-link b{display:block;font-size:14.5px;font-family:var(--f-display);font-stretch:95%}
.mega-link small{display:block;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:2px}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.hdr-search{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 10px 0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--white);color:var(--muted);font-size:14px;transition:border-color .2s,box-shadow .2s}
.hdr-search:hover{border-color:var(--forest-700);box-shadow:var(--sh-1)}
.hdr-search .ic{width:18px;height:18px;color:var(--forest-700)}
.hdr-search kbd{font-family:var(--f-mono);font-size:11px;border:1px solid var(--line-2);border-radius:6px;padding:2px 6px;background:var(--bone)}
.burger{display:none;width:44px;height:44px;border:0;background:var(--forest-800);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.burger span{width:20px;height:2px;background:var(--bone);border-radius:2px;transition:transform .3s,opacity .3s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* search overlay + result rows */
.search-overlay{position:fixed;inset:0;z-index:90;background:rgba(11,23,17,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;animation:fade .2s}
.so-panel{width:100%;max-width:640px;background:var(--white);border-radius:var(--r-lg);box-shadow:var(--sh-3);overflow:hidden;animation:pop .3s var(--ease)}
.so-field{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.so-field .ic{color:var(--blaze)}
.so-field input{flex:1;border:0;outline:0;font-size:18px;background:none;font-family:var(--f-body);min-width:0}
.so-close{border:1px solid var(--line-2);background:var(--bone);border-radius:8px;font-size:12px;padding:4px 8px;font-family:var(--f-mono)}
.so-results{max-height:56vh;overflow:auto;padding:6px}
.so-hint{font-size:13px;color:var(--muted);padding:10px 18px 14px;margin:0}
.sr-row{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;color:var(--ink)}
.sr-row:hover,.sr-row.is-active{background:var(--bone)}
.sr-row img{width:46px;height:46px;border-radius:10px;object-fit:cover;flex:none}
.sr-row>span{flex:1;min-width:0}.sr-row b{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-row small{color:var(--muted);font-size:12.5px}
.sr-row mark{background:var(--blaze-100);color:inherit;border-radius:3px;padding:0 1px}
.sr-empty{padding:18px;color:var(--muted);font-size:14px}
.sr-all{display:block;text-align:center;padding:10px;font-weight:700;font-size:14px;color:var(--blaze-600);border-top:1px solid var(--line);margin-top:4px}

/* hero */
.hero{position:relative;color:var(--bone);background:var(--forest-950);overflow:hidden;isolation:isolate;padding:70px 0 0}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-bg img{width:100%;height:120%;object-fit:cover;object-position:60% 40%;opacity:.55;will-change:transform}
.hero-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,23,17,.97) 0%,rgba(11,23,17,.82) 42%,rgba(11,23,17,.35) 75%,rgba(11,23,17,.6) 100%),linear-gradient(0deg,var(--forest-950) 0%,transparent 35%)}
.hero-grain{position:absolute;inset:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");mix-blend-mode:overlay}
.wind{position:absolute;left:0;height:1px;width:220px;background:linear-gradient(90deg,transparent,rgba(244,239,228,.5),transparent);animation:wind 6s linear infinite;opacity:0}
.w1{top:22%;animation-delay:.4s}.w2{top:41%;animation-delay:2.2s;width:320px}.w3{top:63%;animation-delay:3.6s}.w4{top:78%;animation-delay:5s;width:160px}
@keyframes wind{0%{transform:translateX(-30vw);opacity:0}10%{opacity:1}70%{opacity:.8}100%{transform:translateX(110vw);opacity:0}}
.hero-in{display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center;padding-bottom:48px}
.hero-copy{min-width:0}
.hero-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 10px;border-radius:999px;background:rgba(244,239,228,.08);border:1px solid rgba(244,239,228,.16);font-size:13px;font-weight:600;color:var(--bone);margin-bottom:22px;animation:rise .8s var(--ease) both}
.hero-pill .dot{width:8px;height:8px;border-radius:50%;background:#5fd38d;animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(95,211,141,.6)}70%,100%{box-shadow:0 0 0 9px rgba(95,211,141,0)}}
.hero-title{font-size:clamp(42px,5.1vw,74px);font-weight:900;font-stretch:72%;text-transform:uppercase;line-height:.93;letter-spacing:-.015em;margin-bottom:24px;color:#fff}
.ht-line{display:block;animation:rise .9s var(--ease) both}
.ht-line:nth-child(2){animation-delay:.08s}.ht-line:nth-child(3){animation-delay:.16s}
.ht-accent{color:var(--blaze);position:relative;display:inline-block}
.ht-accent svg{position:absolute;left:0;bottom:-.14em;width:100%;height:.26em;overflow:visible}
.ht-accent path{fill:none;stroke:var(--bone);stroke-width:5;stroke-linecap:round;stroke-dasharray:320;stroke-dashoffset:320;animation:draw 1.1s .9s var(--ease) forwards;vector-effect:non-scaling-stroke}
@keyframes draw{to{stroke-dashoffset:0}}
.hero-lead{font-size:18px;color:rgba(244,239,228,.82);max-width:560px;margin-bottom:28px;animation:rise .9s .24s var(--ease) both}
.hero-search{position:relative;display:flex;align-items:center;gap:8px;max-width:580px;background:var(--white);border-radius:999px;padding:6px 6px 6px 18px;box-shadow:0 20px 40px -18px rgba(0,0,0,.6),0 0 0 6px rgba(244,239,228,.07);animation:rise .9s .32s var(--ease) both;z-index:5}
.hs-ic{width:20px;height:20px;color:var(--forest-700);flex:none}
.hero-search input{flex:1;min-width:0;border:0;outline:0;font-size:16px;font-family:var(--f-body);color:var(--ink);background:none;padding:10px 4px}
.hero-search input::placeholder{color:#8a918b}
.hs-results{position:absolute;left:0;right:0;top:calc(100% + 10px);background:var(--white);color:var(--ink);border-radius:18px;box-shadow:var(--sh-3);padding:6px;display:none;max-height:380px;overflow:auto}
.hs-results.is-open{display:block;animation:pop .25s var(--ease)}
.hero-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;animation:rise .9s .4s var(--ease) both}
.hc-label{font-size:13px;color:var(--sage);margin-right:2px}
.hero-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-size:13.5px;font-weight:600;background:rgba(244,239,228,.07);border:1px solid rgba(244,239,228,.16);transition:background .2s,border-color .2s,transform .2s}
.hero-chip:hover{background:var(--blaze);border-color:var(--blaze);transform:translateY(-2px)}
.hero-chip svg{color:var(--blaze)}.hero-chip:hover svg{color:#fff}
.hero-visual{position:relative;min-height:470px;display:flex;align-items:center;justify-content:center}
.hv-stage{position:relative;width:min(440px,100%);aspect-ratio:1}
.hv-target{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45));animation:target-in 1.1s .2s var(--ease) both}
@keyframes target-in{from{opacity:0;transform:scale(.8) rotate(-20deg)}to{opacity:1;transform:none}}
.hv-ticks{stroke:rgba(244,239,228,.5);stroke-width:1.6;transform-origin:200px 200px;animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hv-face{transform-origin:200px 200px;animation:thud 3.6s ease-out infinite}
.hv-cross{stroke:rgba(27,29,28,.55);stroke-width:1}
.h-arrow-in{animation:fly 3.6s var(--ease) infinite}
.h-arrow-2 .h-arrow-in{animation-delay:.25s}.h-arrow-3 .h-arrow-in{animation-delay:.5s}
.h-shaft{stroke:#e9e3d4;stroke-width:4;stroke-linecap:round}
.h-vane{fill:var(--blaze)}.h-arrow-2 .h-vane{fill:#f4efe4}.h-arrow-3 .h-vane{fill:#7fc4a0}
@keyframes fly{0%{transform:translateX(460px);opacity:0}6%{opacity:1}22%{transform:translateX(0)}24%{transform:translateX(-5px) rotate(-1.5deg)}27%{transform:translateX(0) rotate(1deg)}30%,86%{transform:none;opacity:1}96%,100%{transform:none;opacity:0}}
@keyframes thud{0%,21%{transform:none}23%{transform:scale(.985)}26%,100%{transform:none}}
.ripple{fill:none;stroke:#fff;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;animation:ripple 3.6s infinite}
.r2{animation-delay:.25s}.r3{animation-delay:.5s}
@keyframes ripple{0%,21%{opacity:0;transform:scale(.4)}22%{opacity:.9}40%,100%{opacity:0;transform:scale(4)}}
.hv-card{position:absolute;display:flex;align-items:center;gap:12px;background:rgba(251,248,242,.96);color:var(--ink);border-radius:16px;padding:10px 12px;box-shadow:0 20px 40px -18px rgba(0,0,0,.6);animation:float 6s ease-in-out infinite}
.hv-card-a{left:-36px;bottom:12%;max-width:290px}
.hv-card-a img{width:52px;height:52px;border-radius:10px;object-fit:cover}
.hv-card-a>span{min-width:0}
.hv-card-a small{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--blaze-600)}
.hv-card-a>span>b{display:block;font-family:var(--f-display);font-size:15px;line-height:1.15}
.hv-card-a em{font-style:normal;font-size:12.5px;color:var(--muted)}
.hv-card-b{right:-14px;top:9%;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 16px;animation-delay:-2s;background:var(--forest-800);color:var(--bone)}
.hv-k{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage)}
.hv-num{font-family:var(--f-mono);font-size:22px;color:#fff}
.hv-bar{width:120px;height:5px;border-radius:5px;background:rgba(244,239,228,.15);overflow:hidden}
.hv-bar i{display:block;height:100%;width:86%;background:linear-gradient(90deg,var(--blaze),var(--gold));animation:barfill 3.6s infinite}
@keyframes barfill{0%,15%{width:0}35%,100%{width:86%}}
.hv-card-c{right:-26px;bottom:-2%;flex-direction:column;align-items:flex-start;gap:4px;animation-delay:-4s;max-width:220px}
.hv-card-c .hv-k{color:var(--blaze-600)}.hv-card-c>b{font-family:var(--f-display);font-size:14.5px;line-height:1.15}
.hv-card:hover{animation-play-state:paused}
.hv-wind{position:absolute;left:-4%;top:-3%;display:flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11.5px;color:var(--sage);padding:6px 10px;border-radius:999px;border:1px dashed rgba(244,239,228,.25)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-top:1px solid rgba(244,239,228,.12)}
.hero-stats div{display:flex;flex-direction:column-reverse;padding:24px 18px;border-left:1px solid rgba(244,239,228,.12)}
.hero-stats div:first-child{border-left:0;padding-left:0}
.hero-stats dt{font-size:12px;color:var(--sage);font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.08em}
.hero-stats dd{margin:0 0 4px;font-family:var(--f-display);font-weight:900;font-stretch:75%;font-size:clamp(34px,4vw,50px);color:#fff;line-height:1}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}}
@keyframes pop{from{opacity:0;transform:translateY(-8px) scale(.98)}}

/* marquee */
.marquee{display:flex;align-items:center;background:var(--blaze);color:#fff;overflow:hidden}
.mq-label{flex:none;padding:16px 22px;background:var(--forest-900);font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;position:relative;z-index:2;white-space:nowrap}
.mq-label::after{content:"";position:absolute;right:-14px;top:0;bottom:0;width:14px;background:var(--forest-900);clip-path:polygon(0 0,100% 50%,0 100%)}
.mq-track{display:flex;overflow:hidden;flex:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq-row{display:flex;align-items:center;flex:none;animation:mq 110s linear infinite}
.marquee:hover .mq-row{animation-play-state:paused}
.mq-item{font-family:var(--f-display);font-weight:800;font-stretch:80%;text-transform:uppercase;font-size:19px;letter-spacing:.02em;padding:0 16px;white-space:nowrap}
.mq-sep{opacity:.55;font-size:12px}
@keyframes mq{to{transform:translateX(-100%)}}

/* sections */
.section{padding:96px 0;position:relative}
.section-paper{background:var(--bone)}
.section-dark{background:var(--forest-900);color:var(--bone);overflow:hidden}
.section-forest{background:radial-gradient(circle at 0% 100%,rgba(232,98,42,.14),transparent 40%),var(--forest-800);color:var(--bone);overflow:hidden}
.sec-head{max-width:760px;margin-bottom:44px}
.sec-title{font-size:clamp(32px,4.4vw,54px);font-weight:900;font-stretch:76%;text-transform:uppercase;margin:12px 0 0;color:var(--forest-800)}
.sec-head-light .sec-title{color:#fff}.sec-head-light .eyebrow{color:var(--blaze)}.sec-head-light .sec-sub{color:var(--sage)}
.sec-arrow{display:block;width:220px;height:14px;margin:16px 0 14px;overflow:visible}
.sec-arrow path{fill:none;stroke:var(--blaze);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:240;stroke-dashoffset:240;transition:stroke-dashoffset 1.2s var(--ease) .2s}
.sec-head.is-in .sec-arrow path{stroke-dashoffset:0}
.sec-sub{font-size:17.5px;color:var(--muted);margin:0;max-width:640px}
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--d,0) * 80ms)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* categories */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat-tile{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s,opacity .8s var(--ease)}
.cat-tile::before{content:"";position:absolute;right:-60px;top:-60px;width:170px;height:170px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 14px,rgba(28,58,43,.06) 14px 16px);transition:transform .6s var(--ease)}
.cat-tile:hover{transform:translateY(-6px);box-shadow:var(--sh-2);border-color:transparent}
.cat-tile:hover::before{transform:scale(1.35) rotate(30deg)}
.ct-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;position:relative}
.ct-ic{width:52px;height:52px;border-radius:14px;background:var(--forest-800);color:var(--bone);display:grid;place-items:center;transition:background .3s,transform .4s var(--ease)}
.ct-ic .ic{width:26px;height:26px}
.cat-tile:hover .ct-ic{background:var(--blaze);transform:rotate(-8deg)}
.ct-count{font-family:var(--f-mono);font-size:12px;color:var(--muted);background:var(--bone);padding:4px 9px;border-radius:999px}
.ct-count b{color:var(--ink)}
.cat-tile h3{font-size:22px;font-weight:800;font-stretch:85%;color:var(--forest-800)}
.cat-tile p{font-size:14px;color:var(--muted);margin:8px 0 18px;line-height:1.5}
.ct-best{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px dashed var(--line-2);font-size:13px;font-weight:600;line-height:1.25}
.ct-best img{width:38px;height:38px;border-radius:9px;object-fit:cover;flex:none}
.ct-best small{display:block;font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--blaze-600);font-weight:700}
.ct-best>span:nth-child(2){flex:1;min-width:0}
.ct-go{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--bone);flex:none;transition:background .3s,color .3s,transform .3s}
.cat-tile:hover .ct-go{background:var(--blaze);color:#fff;transform:translateX(3px)}

/* picks */
.picks-grid{display:grid;gap:22px}
.pick{background:var(--white);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);transition:box-shadow .35s,transform .35s var(--ease),opacity .8s var(--ease)}
.pick:hover{box-shadow:var(--sh-2);transform:translateY(-4px)}
.pick-media{position:relative;display:block;aspect-ratio:1;background:var(--bone-2);overflow:hidden}
.pick-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.pick:hover .pick-media img{transform:scale(1.06)}
.pick-feature{display:grid;grid-template-columns:minmax(0,440px) 1fr}
.pick-feature .pick-body{padding:34px 38px;justify-content:center}
.pick-badge{position:absolute;left:18px;top:18px;display:inline-flex;align-items:center;gap:8px;background:var(--forest-800);color:#fff;border-radius:999px;padding:5px 16px 5px 8px;font-family:var(--f-display);font-weight:800;font-size:14px;letter-spacing:.02em;text-transform:uppercase;font-stretch:85%;box-shadow:var(--sh-2)}
.medal{display:inline-block;width:26px;height:34px;flex:none}
.medal svg{width:100%;height:100%}
.m-rib{fill:var(--blaze)}.m-disc{fill:var(--gold)}.m-ring{fill:none;stroke:rgba(255,255,255,.6);stroke-width:1.5}.m-star{fill:#fff}
.pick-body{padding:26px 28px 28px;display:flex;flex-direction:column;flex:1}
.pick-brand{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pick-feature h3{font-size:clamp(26px,2.6vw,34px);font-weight:900;font-stretch:78%;text-transform:uppercase;margin:8px 0 12px;color:var(--forest-800)}
.pick h3 a:hover{color:var(--blaze-600)}
.pick-verdict{color:var(--ink-2);font-size:15.5px}
.pick-meters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:6px 0 22px}
.meter{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:12.5px;color:var(--muted)}
.meter b{font-family:var(--f-mono);color:var(--ink)}
.meter i,.lb-bar i,.cs-bar i,.sb i{display:block;border-radius:9px;position:relative;overflow:hidden}
.meter i{grid-column:1/-1;height:6px;background:var(--bone-2)}
.meter i::after,.lb-bar i::after,.cs-bar i::after,.sb i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--v);background:linear-gradient(90deg,var(--forest-600),var(--blaze));border-radius:inherit;transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .3s}
.is-in .meter i::after,.lb-row.is-in .lb-bar i::after,.cmp-wrap.is-in .cs-bar i::after,.is-in .sb i::after{transform:scaleX(1)}
.pick-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;flex-wrap:wrap}
.picks-side{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pick-mini{display:flex;flex-direction:column}
.pick-mini .pick-body{padding:18px 20px}
.pick-award{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-display);font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--blaze-600)}
.pick-award .medal{width:17px;height:22px}
.pick-mini h3{font-size:19px;font-weight:800;font-stretch:88%;margin:6px 0 8px;color:var(--forest-800)}
.pick-hl{display:grid;gap:4px;margin-bottom:12px}
.pick-hl li{display:flex;gap:6px;font-size:13.5px;color:var(--ink-2);align-items:flex-start}
.pick-hl svg{color:var(--forest-600);margin-top:4px}

/* leaderboard */
.lb-rings{position:absolute;right:-240px;top:-120px;width:720px;height:720px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 46px,rgba(244,239,228,.05) 46px 48px);pointer-events:none}
.lb{display:grid;gap:10px;position:relative}
.lb-link{display:grid;grid-template-columns:64px 72px minmax(0,1.6fr) minmax(0,1fr) 84px 36px;align-items:center;gap:18px;padding:14px 18px 14px 14px;border-radius:18px;background:rgba(244,239,228,.04);border:1px solid rgba(244,239,228,.08);transition:background .25s,border-color .25s,transform .3s var(--ease)}
.lb-link:hover{background:rgba(244,239,228,.09);border-color:rgba(232,98,42,.6);transform:translateX(6px)}
.lb-rank{font-family:var(--f-display);font-weight:900;font-stretch:70%;font-size:44px;line-height:1;color:rgba(244,239,228,.28);text-align:center}
.gold .lb-rank{color:var(--gold)}.silver .lb-rank{color:var(--silver)}.bronze .lb-rank{color:var(--bronze)}
.gold .lb-link{background:linear-gradient(90deg,rgba(224,176,74,.16),rgba(244,239,228,.03) 60%);border-color:rgba(224,176,74,.4)}
.lb-img{width:72px;height:72px;border-radius:14px;overflow:hidden}
.lb-img img{width:100%;height:100%;object-fit:cover}
.lb-main{min-width:0;display:grid;gap:3px}
.lb-cat{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--blaze)}
.lb-name{font-family:var(--f-display);font-size:19px;font-stretch:90%;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-spec{font-size:13px;color:var(--sage);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-meta{display:grid;gap:8px}
.lb-rev{font-size:12.5px;color:var(--sage)}
.lb-bar i{height:6px;background:rgba(244,239,228,.1)}
.lb-score{text-align:right}.lb-score b{display:block;font-family:var(--f-mono);font-size:28px;color:#fff;line-height:1}.lb-score small{font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--sage)}
.lb-go{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(244,239,228,.08);transition:background .25s,transform .25s}
.lb-link:hover .lb-go{background:var(--blaze);transform:rotate(-45deg)}

/* catalog */
.toolbar{position:sticky;top:calc(var(--hdr) + 8px);z-index:20;background:rgba(251,248,242,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;margin-bottom:26px;box-shadow:var(--sh-1)}
.tb-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tb-search{flex:1 1 260px;display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line-2);border-radius:12px;padding:0 12px;height:46px;transition:border-color .2s,box-shadow .2s}
.tb-search:focus-within{border-color:var(--forest-700);box-shadow:0 0 0 4px rgba(28,58,43,.1)}
.tb-search svg{color:var(--forest-700)}
.tb-search input{flex:1;border:0;outline:0;background:none;font:inherit;font-size:15px;min-width:0}
.tb-select{position:relative;display:flex;align-items:center;gap:8px;height:46px;border:1px solid var(--line-2);border-radius:12px;background:var(--white);padding:0 34px 0 12px;font-size:13px;color:var(--muted)}
.tb-select select{appearance:none;-webkit-appearance:none;border:0;background:none;font:inherit;font-size:15px;font-weight:600;color:var(--ink);outline:0;cursor:pointer;padding-right:4px}
.tb-select svg{position:absolute;right:12px;pointer-events:none}
.tb-reset{height:46px;border:0;background:none;color:var(--blaze-600);font-weight:700;padding:0 10px}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:12px 2px 4px}
.chip{display:inline-flex;align-items:center;gap:6px;flex:none;border:1px solid var(--line-2);background:var(--white);border-radius:999px;padding:8px 13px;font-size:14px;font-weight:600;color:var(--ink-2);transition:background .2s,border-color .2s,color .2s}
.chip span{font-family:var(--f-mono);font-size:11.5px;color:var(--muted);background:var(--bone);border-radius:999px;padding:1px 7px}
.chip:hover{border-color:var(--forest-700);color:var(--forest-800)}
.chip.is-on{background:var(--forest-800);border-color:var(--forest-800);color:#fff}
.chip.is-on span{background:var(--blaze);color:#fff}
.tb-status{margin:8px 2px 0;font-size:13.5px;color:var(--muted)}.tb-status b{color:var(--ink)}
.tb-status [data-active-filter]{color:var(--blaze-600);font-weight:600}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.card.is-new{animation:card-in .5s var(--ease) both;animation-delay:calc(var(--i,0) * 40ms)}
@keyframes card-in{from{opacity:0;transform:translateY(16px)}}
.card:hover{transform:translateY(-6px);box-shadow:var(--sh-2);border-color:transparent}
.card-media{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--bone-2)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .card-media img{transform:scale(1.07)}
.reticle{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s}
.reticle::before{content:"";position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border:2px solid var(--blaze);border-radius:50%;transform:scale(2.2);transition:transform .45s var(--ease)}
.reticle i{position:absolute;background:var(--blaze);transition:transform .45s var(--ease)}
.reticle i:nth-child(1){left:50%;top:calc(50% - 46px);width:2px;height:92px;margin-left:-1px;transform:scaleY(0)}
.reticle i:nth-child(2){top:50%;left:calc(50% - 46px);height:2px;width:92px;margin-top:-1px;transform:scaleX(0)}
.card:hover .reticle{opacity:.8}.card:hover .reticle::before{transform:none}.card:hover .reticle i{transform:none}
.card-tag{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:5px;background:rgba(251,248,242,.95);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700;color:var(--forest-700);max-width:calc(100% - 90px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-score{position:absolute;right:12px;top:12px}
.card-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.card-brand{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--blaze-600);font-weight:700}
.card-name{font-size:18px;font-weight:800;font-stretch:88%;margin:5px 0 8px;color:var(--forest-800);line-height:1.15}
.card-rating{display:flex;align-items:center;gap:8px;margin-bottom:12px}.card-rating small{font-size:12px;color:var(--muted)}
.card-hl{display:grid;gap:5px;margin-bottom:14px}
.card-hl li{display:flex;gap:7px;font-size:13.5px;line-height:1.35;color:var(--ink-2)}
.card-hl svg{color:var(--forest-600);margin-top:2px;flex:none}
.card-specs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}
.card-specs li{background:var(--bone);border-radius:10px;padding:7px 9px;min-width:0}
.card-specs span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-family:var(--f-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-specs b{font-size:12.5px;line-height:1.3;color:var(--ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.card-cta{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--f-display);font-weight:800;font-size:14px;color:var(--forest-700);transition:color .2s,gap .2s}
.card:hover .card-cta{color:var(--blaze-600);gap:10px}
.grid-fill,.grid-empty{border:2px dashed var(--line-2);border-radius:var(--r-lg);display:grid;place-items:center;text-align:center;padding:24px;color:var(--muted);min-height:200px}
.grid-fill>div{display:grid;justify-items:center;gap:6px;max-width:360px}
.grid-fill svg,.grid-empty svg{width:36px;height:36px;color:var(--blaze)}
.grid-fill b,.grid-empty b{color:var(--forest-800);font-family:var(--f-display);font-size:18px}
.grid-fill p{font-size:14px;margin:0 0 6px}
.grid-empty{grid-column:1/-1;gap:10px}
.more{display:flex;justify-content:center;margin-top:34px}

/* compare */
.cmp-wrap{overflow-x:auto;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);box-shadow:var(--sh-1)}
.cmp{width:100%;border-collapse:collapse;min-width:1000px;font-size:14.5px}
.cmp th{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--sage);text-align:left;padding:16px 11px;background:var(--forest-800);font-weight:700;white-space:nowrap}
.cmp td{padding:14px 11px;border-top:1px solid var(--line);vertical-align:middle;white-space:nowrap}
.cmp tbody tr{cursor:pointer;transition:background .2s;position:relative}
.cmp tbody tr:hover{background:#fff6ef}
.cmp tbody tr:hover .c-go span{background:var(--blaze);color:#fff;transform:translateX(3px)}
.c-rank span{font-size:22px;font-family:var(--f-display);font-weight:900;color:var(--muted)}
.c-name{min-width:230px;white-space:normal!important}
.c-name>*{vertical-align:middle}
.c-name img{display:inline-block;width:52px;height:52px;object-fit:cover;border-radius:10px;margin-right:12px}
.c-name>span{display:inline-block;max-width:170px}
.c-name a{font-family:var(--f-display);font-weight:800;font-size:16px;color:var(--forest-800);display:block;line-height:1.15}
.c-name a::after{content:"";position:absolute;inset:0}
.c-name small{color:var(--muted);font-size:12.5px}
.c-num{color:var(--muted)}.c-num b{font-family:var(--f-mono);font-size:16px;color:var(--ink)}
.c-score{min-width:120px}
.c-score .cs-bar{display:inline-block;width:64px;vertical-align:middle;margin-right:10px}
.c-score b{font-family:var(--f-mono);font-size:18px;vertical-align:middle}
.cs-bar i{height:7px;background:var(--bone-2)}
.c-go{width:46px}
.c-go span,.c-go svg{display:grid;place-items:center}
.c-go svg{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--bone);transition:background .2s,color .2s,transform .2s}
.cmp tbody tr:hover .c-go svg{background:var(--blaze);color:#fff;transform:translateX(3px)}
.cmp-note{font-size:13px;color:var(--muted);margin:14px 4px 0}

/* disciplines */
.disc{display:grid;grid-template-columns:260px 1fr;gap:26px;align-items:start}
.d-tabs{display:grid;gap:8px}
.d-tab{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;border:1px solid rgba(244,239,228,.12);background:rgba(244,239,228,.04);color:var(--bone);font-family:var(--f-display);font-weight:800;font-size:17px;font-stretch:88%;text-align:left;transition:background .25s,border-color .25s,color .25s;position:relative}
.d-tab svg{color:var(--blaze)}
.d-tab:hover{background:rgba(244,239,228,.09)}
.d-tab[aria-selected=true]{background:var(--blaze);border-color:var(--blaze);color:#fff}
.d-tab[aria-selected=true] svg{color:#fff}
.d-tab[aria-selected=true]::after{content:"";position:absolute;right:16px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.3)}
.d-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;background:rgba(11,23,17,.45);border:1px solid rgba(244,239,228,.1);border-radius:var(--r-lg);padding:28px;animation:panel .5s var(--ease)}
@keyframes panel{from{opacity:0;transform:translateX(16px)}}
.dp-intro h3{font-size:34px;font-weight:900;font-stretch:76%;text-transform:uppercase;margin:12px 0;color:#fff}
.dp-intro .eyebrow{color:var(--blaze)}
.dp-intro p{color:var(--sage);font-size:15.5px}
.dp-intro .link-arrow{color:var(--blaze)}
.kit{display:grid;gap:8px;position:relative}
.kit::before{content:"";position:absolute;left:20px;top:22px;bottom:22px;width:2px;background:repeating-linear-gradient(180deg,rgba(244,239,228,.25) 0 6px,transparent 6px 12px)}
.kit-step{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 0;border-radius:14px;transition:background .2s,transform .25s var(--ease)}
.kit-step:hover{background:rgba(244,239,228,.07);transform:translateX(4px)}
.ks-n{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--forest-700);border:2px solid rgba(244,239,228,.2);font-family:var(--f-mono);font-weight:700;color:#fff;flex:none;position:relative;z-index:1;transition:background .2s}
.kit-step:hover .ks-n{background:var(--blaze);border-color:var(--blaze)}
.ks-img{width:52px;height:52px;border-radius:12px;overflow:hidden;flex:none}
.ks-img img{width:100%;height:100%;object-fit:cover}
.ks-txt{flex:1;min-width:0}.ks-txt small{display:block;font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--blaze)}
.ks-txt b{display:block;font-size:15px;line-height:1.25;color:#fff}
.kit-step .score{background:rgba(244,239,228,.1)}

/* product page */
.p-hero{background:linear-gradient(180deg,var(--bone) 0%,var(--paper) 100%);padding:22px 0 56px;border-bottom:1px solid var(--line)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--muted);margin-bottom:24px}
.crumbs a:hover{color:var(--blaze-600)}
.crumbs [aria-current]{color:var(--ink);font-weight:600}
.crumbs-light{color:var(--sage)}.crumbs-light [aria-current]{color:#fff}
.p-top{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start}
.gallery{position:sticky;top:calc(var(--hdr) + 20px)}
.g-main{position:relative;aspect-ratio:1;background:var(--bone-2);border-radius:var(--r-lg);overflow:hidden;cursor:zoom-in}
.g-main img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease),opacity .25s}
.g-main.is-zoom img{transform:scale(1.8)}
.g-rank{position:absolute;left:16px;top:16px;background:var(--forest-800);color:#fff;font-family:var(--f-mono);font-size:12px;padding:6px 12px;border-radius:999px}
.g-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.g-thumb{aspect-ratio:1;border-radius:14px;border:0;padding:0;overflow:hidden;background:none;opacity:.7;transition:opacity .2s,transform .2s,box-shadow .2s}
.g-thumb img{width:100%;height:100%;object-fit:cover}
.g-thumb:hover{transform:translateY(-2px);opacity:1}.g-thumb.is-on{opacity:1;box-shadow:0 0 0 3px var(--blaze)}
.p-info{min-width:0}
.p-cat{display:inline-flex;align-items:center;gap:6px;background:var(--forest-800);color:#fff;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700}
.p-title{font-size:clamp(34px,4.2vw,54px);font-weight:900;font-stretch:74%;text-transform:uppercase;line-height:.98;margin:16px 0 8px;color:var(--forest-800)}
.p-brand{color:var(--muted);margin-bottom:18px}.p-brand b{color:var(--ink)}
.p-rating{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}
.p-rating small{display:block;font-size:13px;color:var(--muted);margin-top:4px}
.p-rating .stars{font-size:18px}
.p-tagline{font-size:17px;color:var(--ink-2)}
.p-hl{display:grid;gap:8px;margin-bottom:20px}
.p-hl li{display:flex;gap:10px;align-items:center;font-weight:600}
.p-hl svg{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--forest-800);color:#fff;flex:none}
.p-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}
.p-quick li{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:12px;min-width:0}
.p-quick span{display:block;font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}
.p-quick b{font-size:14px;line-height:1.3;display:block}
.p-cta{display:flex;gap:10px;flex-wrap:wrap}
.p-disc{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);margin:14px 0 0}
.p-tabs{position:sticky;top:var(--hdr);z-index:30;background:rgba(251,248,242,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.p-tabs .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.p-tabs a{flex:none;padding:16px 14px;font-weight:600;font-size:14.5px;color:var(--muted);border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.p-tabs a:hover{color:var(--ink)}.p-tabs a.is-on{color:var(--forest-800);border-color:var(--blaze)}
.p-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding-top:48px;padding-bottom:72px}
.p-sec{padding:0 0 44px;margin-bottom:44px;border-bottom:1px solid var(--line)}
.p-sec h2{font-size:clamp(28px,3vw,38px);font-weight:900;font-stretch:78%;text-transform:uppercase;margin:10px 0 22px;color:var(--forest-800)}
.p-h3{font-size:22px;font-weight:800;font-stretch:85%;margin:30px 0 14px;color:var(--forest-800)}
.prose{font-size:17px;line-height:1.75;color:var(--ink-2)}
.prose p{margin-bottom:1.1em}
.p-sec .prose p:first-child::first-letter{float:left;font-family:var(--f-display);font-weight:900;font-size:66px;line-height:.85;padding:6px 10px 0 0;color:var(--blaze)}
.p-feats{display:grid;gap:10px}
.p-feats li{display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-weight:500}
.fn{font-family:var(--f-mono);font-weight:700;color:var(--blaze-600);font-size:13px;padding-top:2px}
.spec-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.spec-table th,.spec-table td{text-align:left;padding:14px 18px;border-top:1px solid var(--line);font-size:15px;vertical-align:top}
.spec-table tr:first-child th,.spec-table tr:first-child td{border-top:0}
.spec-table th{width:40%;font-weight:600;color:var(--muted);background:var(--bone)}
.spec-table td{font-weight:600}
.score-box{display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px}
.gauge{position:relative;width:170px;height:170px}
.gauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.g-bg{fill:none;stroke:var(--bone-2);stroke-width:10}
.g-fg{fill:none;stroke:var(--blaze);stroke-width:10;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 1.6s var(--ease) .2s}
.is-in .g-fg{stroke-dashoffset:var(--off)}
.gauge>span{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.gauge b{font-family:var(--f-mono);font-size:40px;line-height:1;color:var(--forest-800)}
.gauge small{font-size:12px;color:var(--muted)}
.subs{display:grid;gap:14px}
.subs li{display:grid;grid-template-columns:130px 1fr 40px;align-items:center;gap:12px;font-size:14.5px;font-weight:600}
.subs b{font-family:var(--f-mono);text-align:right}
.sb i{height:9px;background:var(--bone-2)}
.score-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.score-facts div{background:var(--forest-800);color:var(--bone);border-radius:16px;padding:16px 18px}
.score-facts b{display:block;font-family:var(--f-display);font-weight:900;font-stretch:75%;font-size:32px;color:#fff;line-height:1}
.score-facts small{color:var(--sage);font-size:13px}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pc-col{border-radius:var(--r-lg);padding:22px;border:1px solid var(--line)}
.pc-pro{background:#eef4ea}.pc-con{background:#fbefe8}
.pc-col h3{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:800;font-stretch:88%;margin-bottom:14px}
.pc-pro h3{color:var(--forest-700)}.pc-con h3{color:var(--blaze-600)}
.pc-col ul{display:grid;gap:10px}
.pc-col li{display:flex;gap:10px;font-size:15px;line-height:1.45}
.pc-col li svg{width:20px;height:20px;padding:3px;border-radius:50%;flex:none;margin-top:1px;color:#fff}
.pc-pro li svg{background:var(--forest-600)}.pc-con li svg{background:var(--blaze)}
.verdict{display:grid;grid-template-columns:140px 1fr;gap:28px;align-items:center;background:var(--forest-800);color:var(--bone);border-radius:var(--r-lg);padding:32px;border:0;overflow:hidden;position:relative}
.verdict::after{content:"";position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 18px,rgba(244,239,228,.05) 18px 20px);pointer-events:none}
.verdict h2{color:#fff}.verdict .eyebrow{color:var(--blaze)}.verdict p{color:rgba(244,239,228,.85);font-size:16.5px}
.v-stamp{position:relative;width:140px;height:140px}
.v-mark{width:100%;height:100%;animation:spin 30s linear infinite}
.v-stamp span{position:absolute;right:-6px;bottom:4px;background:var(--blaze);color:#fff;font-family:var(--f-mono);font-weight:700;font-size:20px;padding:6px 10px;border-radius:12px}
.pn-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pn{display:block;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--white);transition:border-color .2s,transform .25s var(--ease)}
.pn:hover{border-color:var(--blaze);transform:translateY(-3px)}
.pn small{display:block;font-size:12px;color:var(--muted);font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.06em}
.pn b{font-family:var(--f-display);font-size:16px;color:var(--forest-800)}
.pn-next{text-align:right}
.p-side{display:grid;gap:18px;align-content:start;align-self:start;position:sticky;top:calc(var(--hdr) + 70px)}
.buybox{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-2);position:relative;overflow:hidden}
.buybox::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--forest-600),var(--blaze),var(--gold))}
.bb-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.bb-head img{width:60px;height:60px;border-radius:12px;object-fit:cover;flex:none}
.bb-head small{display:block;font-size:12px;color:var(--muted)}.bb-head b{font-family:var(--f-display);font-size:17px;line-height:1.2;color:var(--forest-800)}
.bb-score{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.bb-trust{display:grid;gap:8px;margin-bottom:16px;font-size:13.5px;color:var(--ink-2)}
.bb-trust li{display:flex;gap:8px;align-items:center}.bb-trust svg{color:var(--forest-600)}
.bb-note{font-size:12px;color:var(--muted);margin:10px 0 0;text-align:center}
.side-box{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}
.side-box h3{font-size:17px;font-weight:800;font-stretch:88%;text-transform:uppercase;margin-bottom:10px;color:var(--forest-800)}
.side-list{display:grid;gap:2px;margin-bottom:12px}
.side-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;transition:background .2s}
.side-row:hover{background:var(--bone)}
.side-row img{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:none}
.side-row span{flex:1;min-width:0}.side-row b{display:block;font-size:13.5px;line-height:1.25}.side-row small{font-size:12px;color:var(--muted)}
.side-row em{font-style:normal;font-family:var(--f-mono);font-weight:700;font-size:13px;background:var(--forest-800);color:#fff;border-radius:8px;padding:3px 7px}
.side-row:hover em{background:var(--blaze)}
.rel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rel-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.rel-card:hover{transform:translateY(-5px);box-shadow:var(--sh-2)}
.rel-img{aspect-ratio:1;overflow:hidden;background:var(--bone-2)}.rel-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.rel-card:hover .rel-img img{transform:scale(1.05)}
.rel-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.rel-body>small{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--blaze-600)}
.rel-body>b{font-family:var(--f-display);font-size:16px;line-height:1.2;color:var(--forest-800)}
.rel-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px}
.m-buy{display:none}

/* static pages */
.s-hero{position:relative;background:var(--forest-900);color:var(--bone);padding:40px 0 64px;overflow:hidden}
.s-hero h1{font-size:clamp(40px,6vw,72px);font-weight:900;font-stretch:72%;text-transform:uppercase;color:#fff;position:relative}
.s-hero p{color:var(--sage);font-size:18px;max-width:620px;margin:14px 0 0;position:relative}
.s-rings{position:absolute;right:-160px;top:-160px;width:520px;height:520px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 34px,rgba(232,98,42,.14) 34px 36px)}
.s-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;padding-top:48px;padding-bottom:80px}
.s-body{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:40px 44px}
.s-body h2{font-size:26px;font-weight:800;font-stretch:85%;color:var(--forest-800);margin:1.6em 0 .6em}
.s-body ul{display:grid;gap:8px;margin:0 0 1.2em}
.s-body ul li{position:relative;padding-left:22px}
.s-body ul li::before{content:"";position:absolute;left:2px;top:.6em;width:9px;height:9px;border-radius:50%;border:2px solid var(--blaze)}
.s-body a{color:var(--blaze-600);text-decoration:underline;text-underline-offset:3px}
.s-side{display:grid;gap:16px;align-content:start;align-self:start;position:sticky;top:calc(var(--hdr) + 20px)}
.toc{display:grid;gap:2px}
.toc a{display:block;padding:7px 10px;border-radius:10px;font-size:14px;color:var(--ink-2);transition:background .2s}
.toc a:hover{background:var(--bone);color:var(--forest-800)}
.side-cta p{font-size:14px;color:var(--muted)}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:30px}
.about-stats div{background:var(--forest-800);border-radius:16px;padding:16px;color:var(--sage)}
.about-stats b{display:block;font-family:var(--f-display);font-weight:900;font-stretch:75%;font-size:34px;color:#fff;line-height:1}
.about-stats small{font-size:12.5px}

/* footer */
.site-footer{position:relative;background:var(--forest-950);color:var(--sage);padding:72px 0 28px;overflow:hidden;font-size:14.5px}
.f-target{position:absolute;right:-140px;bottom:-140px;width:460px;height:460px;pointer-events:none}
.f-target span{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(232,98,42,.12)}
.f-target span:nth-child(2){inset:60px}.f-target span:nth-child(3){inset:120px}.f-target span:nth-child(4){inset:180px;background:rgba(232,98,42,.08)}
.f-top{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:36px;position:relative}
.f-brand p{margin:18px 0;max-width:340px;line-height:1.65}
.f-badges{display:flex;flex-wrap:wrap;gap:8px}
.f-badges span{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(244,239,228,.15);border-radius:999px;padding:6px 12px;font-size:12.5px;color:var(--bone)}
.fb-ic{width:15px;height:15px;color:var(--blaze)}
.f-col h4{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.f-col a{display:block;padding:5px 0;transition:color .2s,transform .2s}
.f-col a:hover{color:var(--blaze);transform:translateX(3px)}
.f-disc{margin-top:48px;padding:18px 20px;border-radius:16px;background:rgba(244,239,228,.04);border:1px solid rgba(244,239,228,.08);position:relative}
.f-disc p{margin:0;font-size:13.5px}.f-disc b{color:var(--bone)}
.f-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid rgba(244,239,228,.08);font-size:13px;position:relative}

/* cookie + to top */
#cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;max-width:520px;margin:0 auto;background:var(--forest-900);color:var(--bone);padding:16px 18px;border-radius:18px;box-shadow:var(--sh-3);display:none;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;z-index:80;border:1px solid rgba(244,239,228,.12)}
html.cookie-ask #cookie-banner{display:flex;animation:rise .5s var(--ease)}
#cookie-banner p{margin:0;font-size:14px}#cookie-banner a{color:var(--blaze);text-decoration:underline}
.cookie-btns{display:flex;gap:8px}
.cookie-btns button{border:0;border-radius:999px;padding:9px 16px;font-weight:700;font-size:14px}
#cookie-accept{background:var(--blaze);color:#fff}
#cookie-decline{background:transparent;color:var(--bone);box-shadow:inset 0 0 0 1.5px rgba(244,239,228,.35)}
.to-top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;border:0;background:var(--forest-800);color:#fff;display:grid;place-items:center;box-shadow:var(--sh-2);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,transform .3s,visibility .3s,background .2s;z-index:70}
.to-top svg{transform:rotate(-90deg)}
.to-top.is-on{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--blaze)}
html.cookie-ask .to-top{bottom:110px}

/* responsive */
@media (max-width:1320px){
  .hide-md{display:none}
}
@media (max-width:1180px){
  .lb-link{grid-template-columns:52px 64px minmax(0,1fr) 72px 32px}
  .lb-meta{display:none}
  .f-top{grid-template-columns:1fr 1fr 1fr}
  .f-brand{grid-column:1/-1}
  .nav-link{padding:10px 10px}
}
@media (max-width:1080px){
  :root{--hdr:66px}
  .burger{display:inline-flex}
  .hdr-search span,.hdr-search kbd{display:none}
  .hdr-search{width:44px;height:44px;padding:0;justify-content:center}
  .main-nav{position:fixed;left:0;right:0;bottom:0;top:var(--nav-top,100px);background:var(--paper);overflow-y:auto;padding:16px 20px 40px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s,transform .3s var(--ease),visibility .25s;z-index:59;border-top:1px solid var(--line)}
  body.nav-open .main-nav{opacity:1;visibility:visible;transform:none}
  body.nav-open{overflow:hidden}
  .nav-list{flex-direction:column;align-items:stretch;gap:4px}
  .nav-link{width:100%;justify-content:space-between;font-size:18px;padding:14px 12px;font-family:var(--f-display);font-weight:800}
  .nav-link::after{display:none}
  .mega{position:static;opacity:1;visibility:visible;transform:none;padding:0;display:none;transition:none}
  .has-mega:hover .mega,.has-mega:focus-within .mega{display:none}
  .has-mega.is-open .mega{display:block}
  .mega-inner{width:auto;grid-template-columns:1fr;box-shadow:none;border:0;padding:0 0 10px;background:none}
  .mega-head{display:none}
  .mega-grid{grid-template-columns:1fr}
  .hero-in{grid-template-columns:1fr}
  .hero-visual{min-height:0;margin:10px auto 0;width:100%;max-width:440px}
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .grid{grid-template-columns:repeat(3,1fr)}
  .picks-side{grid-template-columns:1fr}
  .pick-mini{display:grid;grid-template-columns:200px 1fr}
  .pick-mini .pick-media{align-self:center}
  .disc{grid-template-columns:1fr}
  .d-tabs{display:flex;overflow-x:auto;scrollbar-width:none}
  .d-tab{flex:none;padding:12px 16px}
  .d-tab[aria-selected=true]::after{display:none}
  .p-top{grid-template-columns:1fr;gap:28px}
  .gallery{position:static}
  .p-layout{grid-template-columns:1fr}
  .p-side{position:static}
  .s-layout{grid-template-columns:1fr}
  .s-side{position:static}
  .rel-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .hide-sm{display:none}
  .topbar-disc{display:none}
  .section{padding:68px 0}
  .wrap{padding:0 16px}
  .header-in{gap:12px}
  .brand-word{font-size:21px}
  .hero{padding-top:44px}
  .hero-lead{font-size:16.5px}
  .hero-search{padding-left:14px}
  .hero-search .btn{padding:12px 16px}
  .hv-card-a{left:-4px;max-width:250px}
  .hv-card-b{right:-4px}
  .hv-card-c{right:-4px}
  .hero-stats{grid-template-columns:1fr 1fr}
  .hero-stats div{padding:18px 14px;border-top:1px solid rgba(244,239,228,.12)}
  .hero-stats div:nth-child(odd){border-left:0;padding-left:0}
  .cat-grid{grid-template-columns:1fr 1fr;gap:10px}
  .cat-tile{padding:16px}.cat-tile p{display:none}.cat-tile h3{font-size:18px;margin-bottom:12px}
  .ct-top{margin-bottom:14px}.ct-ic{width:42px;height:42px}
  .ct-best img{display:none}
  .grid{grid-template-columns:1fr 1fr;gap:10px}
  .card-body{padding:12px}
  .card-name{font-size:15.5px}
  .card-hl li:nth-child(n+3){display:none}
  .card-specs{grid-template-columns:1fr}
  .card-specs li:nth-child(2){display:none}
  .card-rating small{display:none}
  .card-tag{display:none}
  .pick-feature{grid-template-columns:1fr}
  .pick-feature .pick-body{padding:22px}
  .pick-mini{grid-template-columns:110px 1fr}
  .pick-meters{grid-template-columns:1fr}
  .pick-body{padding:20px}
  .lb-link{grid-template-columns:40px 54px minmax(0,1fr) 54px;gap:10px;padding:10px}
  .lb-go{display:none}
  .lb-rank{font-size:30px}
  .lb-img{width:54px;height:54px}
  .lb-name{font-size:16px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .lb-spec{display:none}
  .lb-score b{font-size:22px}
  .toolbar{position:static;padding:12px}
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -12px;padding:12px 12px 4px}
  .tb-select{flex:1}
  .d-panel{grid-template-columns:1fr;padding:20px}
  .p-quick{grid-template-columns:1fr 1fr}
  .p-quick li:nth-child(3){grid-column:1/-1}
  .score-box{grid-template-columns:1fr;justify-items:center;padding:20px}
  .subs{width:100%}.subs li{grid-template-columns:110px 1fr 36px}
  .score-facts{gap:8px}.score-facts div{padding:12px}.score-facts b{font-size:24px}.score-facts small{font-size:12px}
  .pc{grid-template-columns:1fr}
  .verdict{grid-template-columns:1fr;padding:24px}
  .v-stamp{width:96px;height:96px}
  .pn-row{grid-template-columns:1fr}.pn-next{text-align:left}
  .rel-grid{gap:10px}
  .s-body{padding:24px 20px}
  .about-stats{grid-template-columns:1fr 1fr}
  .f-top{grid-template-columns:1fr 1fr;gap:28px}
  .m-buy{position:fixed;left:0;right:0;bottom:0;z-index:65;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(251,248,242,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s var(--ease)}
  .m-buy.is-on{transform:none}
  .m-buy span{min-width:0}.m-buy small{display:block;font-size:11.5px;color:var(--muted)}.m-buy b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .page-product .to-top{bottom:80px}
}
@media (max-width:420px){
  .hero-search .btn{padding:12px 14px}
  .hero-search .btn-label{display:none}
  .hv-card-c{display:none}
  .hv-wind{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1;transform:none}
}
