:root { --ink:#11110f; --night:#090b0d; --paper:#eee9de; --paper-2:#f5f1e8; --muted:#625e56; --acid:#b8ff62; --line:rgba(17,17,15,.16); --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif; --sans:Inter,"Helvetica Neue",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--night); }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.skip-link { position:fixed; z-index:100; top:10px; left:10px; padding:10px 14px; color:var(--night); background:var(--acid); font-size:12px; font-weight:700; text-decoration:none; transform:translateY(-160%); transition:transform .2s; }
.skip-link:focus { transform:translateY(0); outline:2px solid #fff; outline-offset:2px; }
.site-nav { position:absolute; z-index:20; inset:0 0 auto; height:82px; padding:0 clamp(22px,4.2vw,68px); display:flex; align-items:center; justify-content:space-between; color:#f4f0e6; border-bottom:1px solid rgba(255,255,255,.12); }
.site-nav--paper { position:relative; color:var(--ink); border-bottom-color:var(--line); background:var(--paper); }
.wordmark { font-size:16px; font-weight:600; letter-spacing:-.04em; text-decoration:none; }
.site-nav nav { display:flex; align-items:center; gap:clamp(18px,2.4vw,38px); }
.site-nav nav a { font-size:12px; font-weight:500; text-decoration:none; letter-spacing:.02em; }
.site-nav nav a:not(.contact-link):not(.search-link) { position:relative; padding:8px 0; }
.site-nav nav a:not(.contact-link):not(.search-link)::after { content:""; position:absolute; left:0; right:100%; bottom:2px; height:1px; background:currentColor; transition:right .35s cubic-bezier(.22,1,.36,1); }
.site-nav nav a:hover::after,.site-nav nav a[aria-current]::after { right:0; }
.contact-link { border:1px solid currentColor; border-radius:99px; padding:10px 17px; transition:background .25s,color .25s; }
.contact-link:hover { background:#f4f0e6; color:var(--night); }
.site-nav--paper .contact-link:hover { background:var(--ink); color:var(--paper); }
.search-link { width:44px; height:44px; display:grid; place-items:center; margin:-12px; }
.search-link span { width:12px; height:12px; border:1.5px solid currentColor; border-radius:50%; position:relative; }
.search-link span::after { content:""; position:absolute; width:6px; height:1.5px; background:currentColor; transform:rotate(45deg); right:-5px; bottom:-2px; }

.dark-hero { min-height:720px; height:min(78vw,820px); position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(380px,.88fr) 1.12fr; padding:148px clamp(22px,4.2vw,68px) 64px; color:#f2eee5; background:radial-gradient(circle at 68% 40%,#182026 0,transparent 34%),var(--night); }
.ambient-canvas { position:absolute; inset:0; width:100%; height:100%; opacity:.58; pointer-events:none; }
.hero-copy,.constellation-shell { position:relative; z-index:2; }
.hero-copy { align-self:center; max-width:610px; }
.hero-kicker,.section-label { text-transform:uppercase; letter-spacing:.17em; font-size:10px; font-weight:600; }
.hero-kicker { color:rgba(244,240,230,.57); margin:0 0 24px; }
.hero-copy h1 { margin:0; font-family:var(--serif); font-weight:400; font-size:clamp(72px,8vw,132px); line-height:.75; letter-spacing:-.055em; }
.hero-copy h1 em,.search-main h1 em { color:var(--acid); font-weight:400; }
.hero-deck { max-width:430px; margin:34px 0 28px; color:rgba(244,240,230,.64); font:400 clamp(15px,1.3vw,18px)/1.55 var(--sans); }
.text-action { display:inline-flex; gap:14px; align-items:center; text-decoration:none; font-size:12px; padding-bottom:7px; border-bottom:1px solid rgba(255,255,255,.45); }
.text-action span { color:var(--acid); }
.constellation-shell { min-width:0; display:flex; flex-direction:column; justify-content:center; padding-top:30px; }
.constellation-shell svg { width:100%; height:100%; max-height:600px; overflow:visible; }
.constellation-fallback { align-self:center; margin:auto; max-width:260px; color:rgba(244,240,230,.76); font:400 18px/1.45 var(--serif); text-align:center; }
.constellation-shell.is-enhanced .constellation-fallback { display:none; }
.constellation-shell:not(.is-enhanced) svg { display:none; }
.constellation-caption { align-self:flex-end; max-width:280px; margin:0 4% 0 0; color:rgba(244,240,230,.68); font-size:10px; line-height:1.5; }
.constellation-caption strong { color:rgba(244,240,230,.82); }
.constellation-link { stroke:rgba(214,228,219,.32); stroke-width:.85; }
.constellation-node circle { fill:#dbe7df; filter:drop-shadow(0 0 5px rgba(196,255,214,.55)); transition:r .3s,fill .3s; }
.constellation-node text { fill:rgba(239,243,237,.6); font:500 9px var(--sans); letter-spacing:.05em; text-transform:uppercase; pointer-events:none; }
.constellation-node.is-active circle,.constellation-node:focus circle { fill:var(--acid); }
.constellation-node { cursor:pointer; outline:none; }
.constellation-node:focus-visible circle { stroke:#fff; stroke-width:2.5; }
.constellation-node:focus-visible text { fill:#fff; }

.paper-section { background:linear-gradient(130deg,var(--paper-2),var(--paper)); padding:clamp(80px,9vw,138px) clamp(22px,7.5vw,120px) clamp(90px,10vw,150px); }
.section-intro { display:grid; grid-template-columns:.5fr 1.4fr .65fr; align-items:end; gap:40px; margin-bottom:78px; }
.section-label { color:#625e56; margin:0 0 12px; align-self:start; }
.section-intro h2 { font:400 clamp(48px,5.8vw,88px)/.9 var(--serif); letter-spacing:-.045em; margin:0; }
.section-intro>p:last-child { font-size:13px; line-height:1.6; color:var(--muted); max-width:260px; }
.section-intro--compact { grid-template-columns:.5fr 2.05fr; }
.catalog-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,.58fr); gap:clamp(48px,8vw,130px); align-items:start; }
.editorial-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.editorial-list li { border-bottom:1px solid var(--line); }
.editorial-list a { display:grid; grid-template-columns:42px minmax(180px,1.05fr) minmax(190px,1fr) auto; gap:24px; align-items:center; padding:21px 4px; text-decoration:none; transition:padding .35s cubic-bezier(.22,1,.36,1),background .2s; }
.editorial-list a:hover,.editorial-list a:focus-visible { padding-left:15px; padding-right:15px; background:rgba(17,17,15,.075); outline:none; }
.editorial-list a:focus-visible { box-shadow:inset 4px 0 0 var(--ink); }
.editorial-list a.is-constellation-active { padding-left:15px; padding-right:15px; background:rgba(17,17,15,.075); box-shadow:inset 4px 0 0 var(--acid); }
.editorial-list span { font-size:9px; color:#625e56; }
.editorial-list strong { font:400 clamp(20px,2vw,30px)/1.05 var(--serif); }
.editorial-list em { color:#6d685f; font-size:11px; font-style:normal; line-height:1.45; }
.editorial-list b { border:1px solid rgba(17,17,15,.22); border-radius:99px; padding:5px 9px; text-transform:uppercase; letter-spacing:.1em; font-size:7px; font-weight:600; }
.context-card { position:sticky; top:40px; border-top:1px solid var(--ink); padding-top:15px; }
.context-card>p { margin:0 0 60px; font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.context-card blockquote { margin:0 0 35px; font:400 clamp(25px,2.35vw,38px)/1.08 var(--serif); letter-spacing:-.02em; }
.context-card a { display:flex; justify-content:space-between; padding-top:14px; border-top:1px solid var(--line); text-decoration:none; font-size:11px; }
footer { min-height:130px; display:grid; grid-template-columns:1fr 2fr auto; gap:30px; align-items:center; background:var(--night); color:rgba(244,240,230,.72); padding:30px clamp(22px,4.2vw,68px); font-size:11px; }
footer span { color:#fff; font-weight:600; } footer p { margin:0; } footer a { text-underline-offset:4px; }

.search-page { min-height:100vh; background:var(--paper); }
.search-main { min-height:calc(100vh - 82px); padding:clamp(70px,9vw,130px) clamp(22px,12vw,190px); }
.search-main h1 { margin:18px 0 65px; font:400 clamp(70px,10vw,154px)/.78 var(--serif); letter-spacing:-.055em; }
.search-form { max-width:900px; }
.search-form label { display:block; margin-bottom:12px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.search-form div { display:grid; grid-template-columns:1fr auto; border-bottom:1px solid var(--ink); }
.search-form div:focus-within { border-bottom-color:#315d00; box-shadow:0 3px 0 #315d00; }
.search-form input { min-width:0; border:0; outline:0; background:transparent; padding:16px 0; font:400 clamp(22px,3vw,40px) var(--serif); color:var(--ink); }
.search-form button { border:0; background:transparent; padding:0 0 0 25px; font:600 11px var(--sans); cursor:pointer; }
.search-status { margin:20px 0 0; color:var(--muted); font-size:11px; }
.search-results { list-style:none; max-width:900px; padding:0; margin:55px 0 0; border-top:1px solid var(--line); }
.search-results li { border-bottom:1px solid var(--line); }
.search-results a { display:grid; grid-template-columns:80px 1fr auto; gap:25px; align-items:center; padding:22px 0; text-decoration:none; }
.search-results small,.search-results em { color:var(--muted); font-size:9px; font-style:normal; text-transform:uppercase; letter-spacing:.1em; }
.search-results strong { font:400 25px var(--serif); }
.search-results a:hover,.search-results a:focus-visible { padding-inline:12px; background:rgba(17,17,15,.075); outline:2px solid var(--ink); outline-offset:-2px; }
.search-browse { display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; max-width:900px; margin-top:48px; border-top:1px solid var(--line); padding-top:18px; color:var(--muted); font-size:11px; }
.search-browse a { color:var(--ink); font-weight:600; text-underline-offset:4px; }

@media (max-width:900px) {
  .dark-hero { height:auto; min-height:920px; grid-template-columns:1fr; grid-template-rows:auto 1fr; padding-top:130px; }
  .hero-copy h1 { font-size:clamp(70px,18vw,110px); }
  .constellation-shell { min-height:420px; padding-top:20px; }
  .section-intro { grid-template-columns:1fr; gap:18px; margin-bottom:55px; }
  .section-intro>p:last-child { max-width:420px; }
  .catalog-grid { grid-template-columns:1fr; }
  .context-card { position:static; }
}
@media (max-width:620px) {
  .site-nav { height:70px; padding:0 18px; }
  .site-nav nav { gap:14px; }
  .site-nav nav>a { font-size:10px; }
  .contact-link { padding:8px 11px; }
  .dark-hero { min-height:730px; padding:112px 20px 28px; }
  .hero-copy h1 { font-size:clamp(66px,21vw,92px); }
  .hero-deck { margin-top:26px; }
  .constellation-shell { min-height:260px; padding-top:10px; }
  .constellation-shell svg { max-height:270px; }
  .constellation-node text { font-size:11px; }
  .constellation-caption { margin-right:0; }
  .paper-section { padding:76px 20px 90px; }
  .section-intro h2 { font-size:54px; }
  .editorial-list a { grid-template-columns:28px 1fr auto; gap:12px; padding:19px 2px; }
  .editorial-list em { grid-column:2/4; grid-row:2; }
  .editorial-list strong { font-size:23px; }
  footer { grid-template-columns:1fr auto; } footer p { display:none; }
  .search-main { padding:70px 20px; }
  .search-main h1 { font-size:72px; margin-bottom:50px; }
  .search-results a { grid-template-columns:55px 1fr; } .search-results em { display:none; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} .ambient-canvas{display:none} *,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important} }
