@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@500;600&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root{
  --font-display:"Instrument Serif",Georgia,"Times New Roman",serif;
  --font-reading:"Instrument Serif",Georgia,"Times New Roman",serif;
  --font-type:"JetBrains Mono",Consolas,monospace;
  --font-ui:"Plus Jakarta Sans","Segoe UI",Arial,Helvetica,sans-serif;
  --accent:#a3211a;
  --max:1520px;
}
html[data-theme="light"]{
  --bg:#ffffff;--paper:#ffffff;--paper2:#f5f6f7;--ink:#09131d;--muted:#4d5862;
  --line:#a8b0b7;--line-soft:#d9dde1;--navy:#10283d;--photo-overlay:rgba(3,15,25,.08);
}
html[data-theme="dark"]{
  --bg:#071019;--paper:#091722;--paper2:#0d1d29;--ink:#f1eee5;--muted:#a8b2bb;
  --line:#445563;--line-soft:#243642;--navy:#d8e6ef;--photo-overlay:rgba(2,8,13,.32);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg);color-scheme:light dark}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-type);-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input{font:inherit}
.site-header{
  position:sticky;top:0;z-index:50;min-height:76px;display:grid;grid-template-columns:minmax(320px,1fr) auto minmax(320px,1fr);
  gap:26px;align-items:center;padding:12px max(24px,3vw);background:color-mix(in srgb,var(--paper) 96%,transparent);
  border-bottom:1px solid var(--line);backdrop-filter:blur(12px)
}
.brand{display:flex;align-items:center;gap:18px;text-decoration:none;min-width:0}
.brand b{font:700 44px/.85 var(--font-display);letter-spacing:-.08em}
.brand span{display:grid;gap:1px;padding-left:16px;border-left:1px solid var(--line);font:700 13px/1.05 var(--font-reading);letter-spacing:.11em}
.site-header nav{display:flex;gap:26px;align-items:center}
.site-header nav a,.sign-in{font:700 10px/1 var(--font-type);letter-spacing:.07em;text-decoration:none;white-space:nowrap}
.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}
.header-actions{justify-self:end;display:flex;align-items:center;gap:14px}
.sign-in{border:1px solid var(--line);padding:11px 13px}
.sign-in:hover{background:var(--ink);color:var(--bg)}

.theme-switch{display:flex;align-items:center;border:1px solid var(--line);min-height:36px;background:var(--paper)}
.theme-label{padding:0 8px;color:var(--muted);font-size:8px;letter-spacing:.1em}
.theme-switch button{border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);padding:9px 10px;font:700 8px/1 var(--font-type);cursor:pointer}
.theme-switch button.active{background:var(--ink);color:var(--bg)}
.theme-switch button:hover{color:var(--ink)}
.theme-switch button.active:hover{color:var(--bg)}

main{width:min(var(--max),calc(100% - 56px));margin:0 auto}
.hero{display:grid;grid-template-columns:minmax(470px,.9fr) minmax(520px,1.35fr);min-height:520px;border-bottom:1px solid var(--line)}
.hero-copy{padding:72px 48px 52px 6px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.kicker{margin:0;color:var(--muted);font:700 9px/1.3 var(--font-type);letter-spacing:.14em}
.hero h1{margin:12px 0 5px;font:700 clamp(72px,9vw,144px)/.82 var(--font-display);letter-spacing:-.065em}
.strap{margin:18px 0 10px;font:400 clamp(28px,3vw,48px)/1.02 var(--font-type);letter-spacing:-.035em}
.lede{max-width:720px;margin:0;color:var(--muted);font:400 15px/1.62 var(--font-type)}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.button{border:1px solid var(--line);padding:12px 16px;text-decoration:none;font:700 10px/1 var(--font-type);letter-spacing:.05em}
.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.button:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.hero-note{display:flex;gap:0;flex-wrap:wrap;margin-top:30px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.hero-note span{padding:9px 15px 8px 0;margin-right:15px;color:var(--muted);font-size:8px;letter-spacing:.08em}

.hero-media{
  position:relative;min-height:520px;overflow:hidden;border-left:1px solid var(--line);
  background-image:linear-gradient(90deg,var(--bg) 0%,transparent 16%),linear-gradient(var(--photo-overlay),var(--photo-overlay)),url("https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1900&q=84");
  background-size:cover;background-position:center
}
.hero-media:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(3,10,15,.2))
}
.media-note{position:absolute;z-index:2;right:28px;color:#fff;font:700 11px/1.45 var(--font-type);letter-spacing:.05em;text-shadow:0 1px 5px #000}
.media-note.top{top:28px}.media-note.bottom{bottom:28px;text-align:right}

.folio{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line-soft);font:700 8px/1.2 var(--font-type);letter-spacing:.08em;color:var(--muted)}
.trace{display:grid;grid-template-columns:repeat(11,auto);align-items:stretch;border-bottom:1px solid var(--line)}
.trace a{min-width:135px;padding:22px 16px;text-decoration:none}
.trace a b,.trace a strong,.trace a span{display:block}
.trace a b{color:var(--muted);font-size:8px}.trace a strong{margin-top:9px;font:700 19px/1 var(--font-display)}.trace a span{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}
.trace a:hover{background:var(--paper2)}
.trace i{display:grid;place-items:center;color:var(--muted);font-style:normal}

.section{padding:82px 0;border-bottom:1px solid var(--line)}
.split-feature{display:grid;grid-template-columns:.82fr 1.05fr .86fr;gap:28px;align-items:stretch}
.section-copy h2,.section-head h2{margin:10px 0 16px;font:700 clamp(40px,4.4vw,70px)/.94 var(--font-display);letter-spacing:-.045em}
.section-copy>p:not(.kicker):not(.editorial-caption),.section-head>p{color:var(--muted);font:400 14px/1.65 var(--font-type)}
.editorial-caption{margin-top:22px;color:var(--muted);font:700 9px/1.4 var(--font-type);letter-spacing:.08em}

.review-register{border:1px solid var(--line);align-self:start}
.register-head{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line);background:var(--paper2);font-size:8px;letter-spacing:.08em}
.review-register a{display:grid;grid-template-columns:36px 145px 1fr 20px;align-items:center;gap:10px;min-height:50px;padding:0 12px;border-bottom:1px solid var(--line-soft);text-decoration:none}
.review-register a:last-child{border-bottom:0}
.review-register a:hover{background:var(--paper2)}
.review-register a b{font-size:8px;color:var(--muted)}.review-register a strong{font:700 16px/1.1 var(--font-display)}.review-register a span{color:var(--muted);font-size:9px;line-height:1.35}.review-register a i{font-style:normal}

.editorial-collage{position:relative;min-height:410px;border:1px solid var(--line);overflow:hidden;background:var(--paper2)}
.collage-photo{position:absolute;inset:0 0 92px 0;background:
 linear-gradient(var(--photo-overlay),var(--photo-overlay)),
 url("https://images.unsplash.com/photo-1541888946425-d81bb19240f5?auto=format&fit=crop&w=1200&q=78") center/cover}
.collage-sheet{position:absolute;left:18px;right:18px;bottom:52px;padding:13px 14px;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent);font-size:9px;letter-spacing:.06em}
.collage-caption{position:absolute;left:19px;right:19px;bottom:15px;color:var(--muted);font:italic 13px/1.3 var(--font-reading)}

.section-head{max-width:980px}.section-head>p{max-width:800px}
.review-sheet{margin-top:36px;border-top:1px solid var(--line)}
.review-row{display:grid;grid-template-columns:52px 260px 1fr;gap:18px;padding:17px 4px;border-bottom:1px solid var(--line-soft)}
.review-row b{font-size:10px}.review-row strong{font:700 18px/1.1 var(--font-display)}.review-row span{color:var(--muted);font-size:11px;line-height:1.5}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.audience-grid article{min-height:220px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.audience-grid article>span{font-size:8px;letter-spacing:.08em;color:var(--muted)}.audience-grid h3{margin:22px 0 10px;font:700 26px/1.05 var(--font-display)}.audience-grid p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.system-pair{display:grid;grid-template-columns:1fr 1fr;margin-top:36px;border:1px solid var(--line)}
.system-pair article{padding:28px;background:var(--paper)}.system-pair article+article{border-left:1px solid var(--line)}
.system-pair article>span{font-size:8px;letter-spacing:.08em;color:var(--muted)}.system-pair h3{margin:16px 0 8px;font:700 38px/1 var(--font-display)}.system-pair p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.system-pair a{display:inline-block;margin-top:22px;text-decoration:none;border-bottom:1px solid var(--ink);font-size:9px;font-weight:700}

footer{display:grid;grid-template-columns:1fr 1.1fr auto;gap:28px;align-items:center;padding:24px max(24px,3vw);border-top:1px solid var(--line);background:var(--paper)}
.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand b{font:700 32px/1 var(--font-display)}.footer-brand span{font:700 10px/1.2 var(--font-reading);letter-spacing:.08em}
footer>div:nth-child(2){display:grid;gap:4px}footer>div:nth-child(2) strong{font:700 10px/1.2 var(--font-type)}footer>div:nth-child(2) span{color:var(--muted);font-size:8px}
.footer-links{display:flex;gap:18px}.footer-links a{text-decoration:none;font-size:8px;font-weight:700}.footer-links a:hover{text-decoration:underline}

@media(max-width:1120px){
  .site-header{grid-template-columns:1fr auto}.site-header nav{display:none}
  .hero{grid-template-columns:1fr}.hero-media{min-height:360px;border-left:0;border-top:1px solid var(--line)}
  .split-feature{grid-template-columns:1fr 1fr}.editorial-collage{grid-column:1/-1;min-height:340px}
  .trace{overflow:auto}
}
@media(max-width:720px){
  main{width:calc(100% - 24px)}
  .site-header{padding:10px 12px;gap:10px}.brand span{display:none}.brand b{font-size:38px}
  .header-actions{gap:8px}.sign-in{display:none}.theme-label{display:none}
  .theme-switch button{padding:9px 8px}
  .hero-copy{padding:52px 0 36px}.hero h1{font-size:64px}.strap{font-size:28px}.hero-media{min-height:280px}
  .folio{display:block}.folio span{display:block;margin-top:4px}
  .trace a{min-width:155px}
  .split-feature{grid-template-columns:1fr}.editorial-collage{grid-column:auto}
  .review-row{grid-template-columns:34px 1fr}.review-row span{grid-column:2}
  .audience-grid,.system-pair{grid-template-columns:1fr}.system-pair article+article{border-left:0;border-top:1px solid var(--line)}
  footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.private-entry{max-width:960px;min-height:calc(100vh - 210px);display:flex;flex-direction:column;justify-content:center}
.private-entry h2{margin:12px 0 18px;font:700 clamp(48px,7vw,96px)/.92 var(--font-display);letter-spacing:-.05em}
.private-entry .lede{max-width:720px}

/* 2026-10-06 refinement — typography, scale, breathing room */
body{font-family:var(--font-ui);font-size:16px;line-height:1.65}
.site-header{
  min-height:96px;
  grid-template-columns:minmax(350px,1fr) auto minmax(350px,1fr);
  gap:32px;
  padding:16px max(28px,3.4vw)
}
.brand{gap:20px}
.brand b{font:400 52px/.9 var(--font-display);letter-spacing:-.045em}
.brand span{
  gap:3px;padding-left:18px;
  font:600 14px/1.16 var(--font-ui);
  letter-spacing:.09em
}
.site-header nav{gap:34px}
.site-header nav a,.sign-in{
  font:600 12px/1 var(--font-ui);
  letter-spacing:.045em
}
.sign-in{
  min-height:48px;
  display:flex;align-items:center;
  padding:0 18px
}
.theme-switch{min-height:46px}
.theme-label{padding:0 11px;font:500 10px/1 var(--font-ui);letter-spacing:.08em}
.theme-switch button{
  min-height:44px;padding:0 13px;
  font:600 10px/1 var(--font-ui)
}

main{width:min(var(--max),calc(100% - 64px))}
.hero{
  grid-template-columns:minmax(560px,.95fr) minmax(620px,1.3fr);
  min-height:650px
}
.hero-copy{padding:96px 58px 74px 8px}
.kicker{
  font:600 11px/1.4 var(--font-ui);
  letter-spacing:.12em
}
.hero h1{
  margin:16px 0 8px;
  max-width:100%;
  font:400 clamp(70px,6.6vw,112px)/.9 var(--font-display);
  letter-spacing:-.035em;
  white-space:nowrap
}
.strap{
  margin:22px 0 14px;
  font:400 clamp(38px,3.5vw,58px)/1.02 var(--font-display);
  letter-spacing:-.018em
}
.lede{
  max-width:760px;
  font:400 17px/1.75 var(--font-ui)
}
.hero-actions{gap:12px;margin-top:34px}
.button{
  min-height:52px;
  display:inline-flex;align-items:center;
  padding:0 20px;
  font:600 12px/1 var(--font-ui);
  letter-spacing:.035em
}
.hero-note{margin-top:40px}
.hero-note span{
  padding:13px 18px 12px 0;margin-right:18px;
  font:500 10px/1.25 var(--font-ui);
  letter-spacing:.06em
}
.hero-media{min-height:650px}
.media-note{
  font:600 12px/1.5 var(--font-ui);
  letter-spacing:.035em
}
.media-note.top{top:34px;right:34px}
.media-note.bottom{bottom:34px;right:34px}

.folio{
  padding:13px 0;
  font:500 10px/1.3 var(--font-ui);
  letter-spacing:.055em
}
.trace a{min-width:150px;padding:28px 18px}
.trace a b{font:600 10px/1 var(--font-type)}
.trace a strong{
  margin-top:10px;
  font:600 15px/1.1 var(--font-ui);
  letter-spacing:.02em
}
.trace a span{
  margin-top:7px;
  font:400 12px/1.45 var(--font-ui)
}

.section{padding:106px 0}
.section-copy h2,.section-head h2{
  margin:12px 0 20px;
  font:400 clamp(46px,4.8vw,76px)/.98 var(--font-display);
  letter-spacing:-.025em
}
.section-copy>p:not(.kicker):not(.editorial-caption),.section-head>p{
  font:400 16px/1.75 var(--font-ui)
}
.editorial-caption{
  margin-top:28px;
  font:600 11px/1.5 var(--font-ui);
  letter-spacing:.07em
}

.register-head{
  padding:15px 16px;
  font:600 10px/1.3 var(--font-ui);
  letter-spacing:.06em
}
.review-register a{
  grid-template-columns:42px 165px 1fr 24px;
  min-height:66px;
  padding:0 16px;
  gap:12px
}
.review-register a b{font:600 10px/1 var(--font-type)}
.review-register a strong{font:600 15px/1.2 var(--font-ui)}
.review-register a span{font:400 12px/1.5 var(--font-ui)}

.editorial-collage{min-height:470px}
.collage-sheet{padding:16px 17px;font:500 11px/1.4 var(--font-ui)}
.collage-caption{
  font:400 italic 18px/1.3 var(--font-display)
}

.review-sheet{margin-top:44px}
.review-row{
  grid-template-columns:62px 290px 1fr;
  gap:22px;
  padding:22px 6px
}
.review-row b{font:600 11px/1 var(--font-type)}
.review-row strong{font:600 16px/1.2 var(--font-ui)}
.review-row span{font:400 13px/1.6 var(--font-ui)}

.audience-grid{margin-top:44px}
.audience-grid article{min-height:270px;padding:32px}
.audience-grid article>span{font:600 10px/1 var(--font-ui);letter-spacing:.07em}
.audience-grid h3{
  margin:26px 0 14px;
  font:400 34px/1.04 var(--font-display)
}
.audience-grid p{font:400 14px/1.7 var(--font-ui)}

.system-pair{margin-top:44px}
.system-pair article{padding:36px}
.system-pair article>span{font:600 10px/1 var(--font-ui)}
.system-pair h3{font:400 48px/1 var(--font-display)}
.system-pair p{font:400 14px/1.7 var(--font-ui)}
.system-pair a{font:600 11px/1 var(--font-ui)}

footer{
  min-height:120px;
  padding:30px max(28px,3.4vw)
}
.footer-brand b{font:400 40px/1 var(--font-display)}
.footer-brand span{font:600 12px/1.25 var(--font-ui);letter-spacing:.07em}
footer>div:nth-child(2) strong{font:600 12px/1.3 var(--font-ui)}
footer>div:nth-child(2) span{font:400 10px/1.4 var(--font-ui)}
.footer-links a{font:600 10px/1 var(--font-ui)}

.private-entry{min-height:calc(100vh - 240px)}
.private-entry h2{
  font:400 clamp(58px,7vw,104px)/.95 var(--font-display);
  letter-spacing:-.03em
}

@media(max-width:1120px){
  .site-header{min-height:88px}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-copy{padding:78px 8px 58px}
  .hero h1{font-size:clamp(66px,11vw,104px)}
  .hero-media{min-height:430px}
}
@media(max-width:720px){
  .site-header{min-height:78px;padding:12px}
  .brand b{font-size:44px}
  .theme-switch{min-height:42px}
  .theme-switch button{min-height:40px;padding:0 10px}
  .hero-copy{padding:62px 0 48px}
  .hero h1{font-size:clamp(56px,17vw,78px);white-space:normal}
  .strap{font-size:36px}
  .lede{font-size:16px}
  .hero-media{min-height:340px}
  .section{padding:78px 0}
  .review-row{grid-template-columns:40px 1fr}
  .review-row span{grid-column:2}
}