:root{--font-serif:"Playfair Display", "Cormorant Garamond", "Times New Roman", serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Consolas, monospace;--color-bg:oklch(15% .012 62);--color-bg-deep:oklch(10% .011 62);--color-bg-raised:oklch(20% .018 62);--color-bg-card:oklch(24% .022 62);--color-bg-elev:oklch(30% .024 62);--color-ink:oklch(91% .022 84);--color-ink-dim:oklch(72% .036 82);--color-ink-mute:oklch(66% .032 82);--color-rule:oklch(33% .026 64);--color-rule-strong:oklch(66% .038 69);--color-accent:oklch(77% .105 84);--color-accent-warm:oklch(83% .112 86);--color-accent-deep:oklch(55% .086 80);--color-copper:oklch(63% .095 54);--max-w:1440px;--gutter:clamp(20px, 4vw, 64px)}*{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.5}body{background:radial-gradient(circle at top left, oklch(26% .036 58/.65), transparent 34rem), linear-gradient(135deg, oklch(13% .012 62), var(--color-bg) 40%, var(--color-bg-deep));min-height:100vh;color:var(--color-ink);margin:0}body:before{content:"";pointer-events:none;z-index:-1;opacity:.11;background-image:linear-gradient(90deg, var(--color-ink) 1px, transparent 1px), linear-gradient(var(--color-ink) 1px, transparent 1px);background-size:88px 88px;position:fixed;inset:0;mask-image:radial-gradient(circle at 50% 15%,#000,#0000 72%)}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[contenteditable=true]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible,.btn:focus-visible,.nav-link:focus-visible,.review-card:focus-visible,.category-row:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}::selection{background:var(--color-accent);color:var(--color-bg)}.skip-link{left:var(--gutter);z-index:1000;background:var(--color-accent);color:var(--color-bg);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;padding:12px 16px;font-size:11px;transition:transform .2s;position:fixed;top:12px;transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}.container-jr{width:100%;max-width:var(--max-w);padding-inline:var(--gutter);margin-inline:auto}.display{font-family:var(--font-serif);letter-spacing:-.025em;font-weight:500;line-height:.96}.display-italic{font-style:italic;font-weight:400}.kicker{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.meta{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-mute);font-size:11px}.italic{font-style:italic}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-center{text-align:center}.muted{color:var(--color-ink-dim)}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--color-ink);background:color-mix(in oklch, var(--color-bg-elev), transparent 8%);outline:1px solid color-mix(in oklch, var(--color-accent), transparent 52%);cursor:pointer;align-items:center;gap:10px;padding:14px 20px;font-size:11px;transition:transform .25s cubic-bezier(.22,1,.36,1),color .25s,outline-color .25s,background-color .25s;display:inline-flex}.btn:hover{outline-color:var(--color-accent);color:var(--color-accent-warm);transform:translateY(-2px)}.btn:focus-visible{color:var(--color-accent-warm);transform:translateY(-2px)}.btn-primary{color:var(--color-bg);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-deep));outline-color:#0000}.btn-primary:hover,.btn-primary:focus-visible{color:var(--color-bg)}.arrow{transition:transform .25s;display:inline-block}.btn:hover .arrow,.btn:focus-visible .arrow,a:hover>.arrow,a:focus-visible>.arrow{transform:translate(3px)}.photo{background:var(--color-bg-card);position:relative;overflow:hidden}.photo:after{content:"";box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--color-ink), transparent 90%);pointer-events:none;position:absolute;inset:0}.photo img{object-fit:cover;filter:saturate(.92)contrast(1.03);width:100%;height:100%;transition:transform .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1)}.group:hover .photo img,.photo.hover:hover img{filter:saturate(1.04)contrast(1.05);transform:scale(1.045)}.score-disc{outline:1px solid var(--color-accent);width:84px;height:84px;color:var(--color-accent);font-family:var(--font-serif);background:radial-gradient(circle, color-mix(in oklch, var(--color-accent), transparent 88%), var(--color-bg) 72%);border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;display:inline-flex}.score-disc .score{letter-spacing:-.02em;font-size:28px;font-weight:500;line-height:1}.score-disc .of{font-family:var(--font-mono);letter-spacing:.2em;color:var(--color-ink-mute);text-transform:uppercase;margin-top:3px;font-size:8px}.score-disc.sm{width:58px;height:58px}.score-disc.sm .score{font-size:19px}.score-disc.lg{width:132px;height:132px}.score-disc.lg .score{font-size:44px}.site-header{z-index:20;position:relative}.issue-bar{border-bottom:1px solid color-mix(in oklch, var(--color-rule), transparent 30%);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink-mute);font-size:10px}.issue-inner{flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:10px;display:flex}.nav-jr{z-index:50;background:color-mix(in oklch, var(--color-bg), transparent 10%);backdrop-filter:blur(18px)saturate(120%);border-bottom:1px solid color-mix(in oklch, var(--color-rule), transparent 20%);position:sticky;top:0}.nav-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(18px,3vw,34px);padding-block:15px;display:grid}.nav-cluster{align-items:center;gap:clamp(18px,2.5vw,32px);display:flex}.nav-cluster-right{justify-content:flex-end}.nav-link{font-family:var(--font-mono);letter-spacing:.19em;text-transform:uppercase;color:var(--color-ink-dim);padding:4px 0;font-size:11px;transition:color .25s;position:relative}.nav-link:after{content:"";background:var(--color-accent);transform-origin:0;height:1px;transition:transform .25s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-3px;left:0;right:.18em;transform:scaleX(0)}.nav-link:hover,.nav-link:focus-visible{color:var(--color-ink)}.nav-link:hover:after,.nav-link:focus-visible:after{transform:scaleX(1)}.brand-lockup{justify-items:center;gap:4px;min-width:clamp(180px,24vw,320px);display:grid}.brand-logo{width:clamp(180px,24vw,300px);height:auto}.brand-sub{font-family:var(--font-mono);letter-spacing:.42em;color:var(--color-ink-mute);text-transform:uppercase;font-size:9px}.mobile-nav{flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:20px;display:flex}.page-body{overflow:hidden}.hero-section{padding:clamp(56px,7vw,94px) 0 clamp(84px,10vw,140px)}.hero-grid{grid-template-columns:minmax(0,.95fr) minmax(280px,.82fr);align-items:center;gap:clamp(42px,7vw,110px);display:grid}.hero-logo-mark{width:min(520px,100%);margin-bottom:clamp(26px,4vw,44px)}.hero-title{max-width:9.5ch;margin:0;font-size:clamp(54px,7.8vw,124px)}.hero-copy{font-family:var(--font-serif);color:var(--color-ink-dim);max-width:620px;margin-top:28px;font-size:clamp(20px,2vw,28px);line-height:1.45}.hero-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:42px;display:flex}.hero-proof{background:var(--color-rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:760px;margin-top:50px;display:grid}.proof-cell{background:color-mix(in oklch, var(--color-bg-raised), transparent 15%);padding:18px}.proof-value{font-family:var(--font-serif);color:var(--color-ink);font-size:clamp(28px,4vw,46px);line-height:.95}.proof-label{margin-top:8px}.feature-frame{grid-template-columns:minmax(0,1fr);display:grid;position:relative}.feature-photo{aspect-ratio:4/5;min-height:460px}.feature-card{background:color-mix(in oklch, var(--color-bg-elev), transparent 5%);justify-self:start;width:min(420px,88%);margin-top:-100px;margin-left:-28px;padding:28px;position:relative;box-shadow:0 34px 100px oklch(6% .01 62/.42)}.verdict-line{align-items:center;gap:18px;margin-top:18px;display:flex}.stat-band{border-block:1px solid var(--color-rule);background:color-mix(in oklch, var(--color-bg-raised), transparent 16%);padding:22px 0}.stat-band-inner{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.section-pad{padding:clamp(82px,10vw,138px) 0}.section-pad-tight{padding:clamp(64px,8vw,104px) 0}.section-head{grid-template-columns:minmax(0,.78fr) minmax(240px,.38fr);align-items:end;gap:34px;margin-bottom:clamp(42px,6vw,76px);display:grid}.section-title{margin:0;font-size:clamp(40px,5.5vw,82px)}.section-note{color:var(--color-ink-dim);max-width:46ch;margin:0}.grid{gap:clamp(24px,4vw,48px);display:grid}.review-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.method-panel{background:linear-gradient(135deg, color-mix(in oklch, var(--color-bg-elev), transparent 12%), color-mix(in oklch, var(--color-bg-raised), transparent 6%));border-block:1px solid var(--color-rule)}.method-layout{grid-template-columns:minmax(0,.34fr) minmax(0,.66fr);align-items:start;gap:clamp(36px,7vw,110px);display:grid}.method-number{font-family:var(--font-serif);color:color-mix(in oklch, var(--color-accent), transparent 38%);font-size:clamp(92px,12vw,180px);line-height:.8}.method-quote{margin:0;font-size:clamp(30px,4vw,62px);line-height:1.08}.principle-list{background:var(--color-rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:54px;display:grid}.principle{background:var(--color-bg);padding:28px}.principle h3{font-family:var(--font-serif);margin:12px 0 8px;font-size:25px;font-weight:500}.principle p{color:var(--color-ink-dim);margin:0}.category-list{background:var(--color-rule);gap:1px;display:grid}.category-row{background:color-mix(in oklch, var(--color-bg), transparent 2%);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(18px,4vw,56px);padding:clamp(22px,4vw,42px);transition:background-color .25s,color .25s;display:grid}.category-row:hover,.category-row:focus-visible{background:var(--color-bg-card);color:var(--color-accent-warm)}.category-index{font-family:var(--font-mono);letter-spacing:.18em;color:var(--color-ink-mute);font-size:11px}.category-name{font-family:var(--font-serif);font-size:clamp(30px,5vw,66px);line-height:.95}.category-count{justify-self:end}.archive-cta{background:radial-gradient(circle at 50% 0, color-mix(in oklch, var(--color-accent), transparent 86%), transparent 32rem);padding:clamp(90px,11vw,150px) 0}.page-header{border-bottom:1px solid var(--color-rule);padding:clamp(72px,9vw,128px) 0 clamp(54px,7vw,90px)}.page-header-grid{grid-template-columns:minmax(0,.76fr) minmax(230px,.32fr);align-items:end;gap:34px;display:grid}.page-title{margin:0;font-size:clamp(54px,8vw,118px)}.not-found-page{overflow:hidden}.not-found-hero{border-top:1px solid color-mix(in oklch, var(--color-rule), transparent 20%);background:radial-gradient(circle at 74% 24%, color-mix(in oklch, var(--color-accent), transparent 84%), transparent 28rem);padding:clamp(86px,11vw,154px) 0 clamp(96px,12vw,170px)}.not-found-grid{grid-template-columns:minmax(0,.74fr) minmax(280px,.34fr);align-items:center;gap:clamp(34px,6vw,86px);display:grid}.not-found-grid .prose{max-width:620px;margin-top:28px}.not-found-card{border:1px solid color-mix(in oklch, var(--color-accent), transparent 42%);background:color-mix(in oklch, var(--color-bg-elev), transparent 7%);padding:clamp(26px,4vw,40px);box-shadow:0 34px 100px oklch(6% .01 62/.36)}.not-found-card .display{margin:18px 0 24px;font-size:clamp(34px,4vw,58px)}.not-found-card .prose{margin:0;font-size:clamp(18px,1.6vw,21px)}.review-card{cursor:pointer;color:inherit;gap:18px;display:grid}.review-card .photo{aspect-ratio:4/5}.review-card .cat{font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.review-card h3{font-family:var(--font-serif);letter-spacing:-.015em;margin:0 0 8px;font-size:clamp(27px,3vw,38px);font-weight:500;line-height:1;transition:color .25s}.review-card .location{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-mute);font-size:11px}.archive-controls{border:1px solid var(--color-rule);background:color-mix(in oklch, var(--color-bg-raised), transparent 12%);grid-template-columns:minmax(260px,1.2fr) repeat(2,minmax(180px,.5fr)) auto;align-items:end;gap:18px;margin-bottom:22px;padding:22px;display:grid}.archive-controls label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);gap:8px;font-size:10px;display:grid}.archive-controls input,.archive-controls select{border:1px solid var(--color-rule-strong);background:var(--color-bg-deep);width:100%;min-height:46px;color:var(--color-ink);font:500 14px/1.2 var(--font-sans);letter-spacing:normal;text-transform:none;border-radius:0;padding:12px 14px}.archive-controls input:focus-visible,.archive-controls select:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.archive-apply{white-space:nowrap;border:0;min-height:46px}.archive-chips{flex-wrap:wrap;gap:10px;margin:0 0 22px;display:flex}.archive-chip{border:1px solid color-mix(in oklch, var(--color-accent), transparent 58%);min-height:34px;color:var(--color-ink-dim);background:color-mix(in oklch, var(--color-bg-elev), transparent 22%);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;padding:9px 12px;font-size:10px;transition:color .25s,border-color .25s,background-color .25s;display:inline-flex}.archive-chip:hover{color:var(--color-accent-warm);border-color:var(--color-accent);background:color-mix(in oklch, var(--color-bg-elev), transparent 6%)}.archive-count{margin:0 0 28px}.archive-empty{margin-top:34px}.review-result[hidden]{display:none}.review-card .blurb{font-family:var(--font-serif);color:var(--color-ink-dim);margin:0;font-size:17px;font-style:italic;line-height:1.48}.review-card:hover h3,.review-card:focus-visible h3{color:var(--color-accent-warm)}.review-card-body{gap:14px;padding-inline:2px;display:grid}.review-card-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.prose{font-family:var(--font-serif);color:var(--color-ink);font-size:clamp(19px,1.8vw,23px);line-height:1.68}.prose p+p{text-indent:1.5em;margin-top:1.2em}.prose p:first-child{text-indent:0}.drop-cap:first-letter{float:left;font-size:5.2em;line-height:.85;font-family:var(--font-serif);color:var(--color-accent);padding:.08em .18em 0 0;font-weight:600}.review-article-shell{background:color-mix(in oklch, var(--color-bg-raised), transparent 10%);border-top:1px solid var(--color-rule);padding:clamp(74px,9vw,120px) 0}.review-article{max-width:900px}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.footer-jr{background:var(--color-bg-deep);border-top:1px solid var(--color-rule);padding:80px 0 40px}.footer-grid{grid-template-columns:minmax(0,2fr) repeat(3,minmax(140px,1fr));gap:48px;display:grid}.footer-logo{width:min(360px,100%);height:auto}.footer-brand p{max-width:520px;margin-top:20px}.footer-col h4{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--color-ink-mute);margin:0 0 18px;font-size:10px;font-weight:500}.footer-col ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.footer-col a{font-family:var(--font-serif);color:var(--color-ink);font-size:17px;transition:color .25s}.footer-col a:hover{color:var(--color-accent)}.footer-bottom{border-top:1px solid var(--color-rule);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink-mute);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:60px;padding-top:28px;font-size:10px;display:flex}.legal-page{max-width:920px}.legal-page h2{font-family:var(--font-serif);margin:2.2em 0 .5em;font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.08}.legal-page h3{font-family:var(--font-serif);margin:1.7em 0 .4em;font-size:clamp(23px,2.5vw,31px);font-weight:500}.legal-page ul{padding-left:1.3em}.legal-page li+li{margin-top:.55em}.approval-gate{border:1px solid var(--color-accent);background:color-mix(in oklch, var(--color-accent), transparent 90%);margin:0 0 34px;padding:22px}.cookie-consent{z-index:999;border:1px solid var(--color-rule-strong);background:color-mix(in oklch, var(--color-bg-deep), transparent 4%);width:min(520px,100vw - 32px);padding:22px;position:fixed;bottom:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px);box-shadow:0 28px 80px oklch(6% .01 62/.5)}.cookie-consent[hidden]{display:none}.cookie-consent p{color:var(--color-ink-dim);margin:8px 0 0}.cookie-consent-actions{flex-wrap:wrap;gap:14px;margin-top:18px;display:flex}@media (width<=980px){.hero-grid,.section-head,.method-layout,.page-header-grid,.archive-controls,.not-found-grid{grid-template-columns:minmax(0,1fr)}.feature-photo{aspect-ratio:4/3;width:100%;min-width:0;max-width:100%;min-height:clamp(210px,65vw,340px)}.feature-card{justify-self:center;margin-left:0}.principle-list{grid-template-columns:minmax(0,1fr)}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(140px,1fr)}}@media (width<=860px){.desktop-nav{display:none!important}.nav-inner{grid-template-columns:1fr;justify-items:center}.hero-proof{grid-template-columns:minmax(0,1fr)}}@media (width>=861px){.mobile-only{display:none!important}}@media (width<=620px){.issue-inner{text-align:center;justify-content:center}.hero-actions,.verdict-line{align-items:flex-start}.category-row{grid-template-columns:minmax(0,1fr)}.category-count{justify-self:start}.footer-grid{grid-template-columns:minmax(0,1fr)}}.trust-panel{border:1px solid var(--color-rule);background:#ffffff0a;border-radius:28px;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px;padding:28px;display:grid}.trust-panel h2{margin:10px 0 12px;font-size:clamp(24px,3vw,36px)}.trust-panel p{color:var(--color-muted);line-height:1.65}@media (width<=760px){.trust-panel{grid-template-columns:1fr}}
