:root{
  --ob-ground:#101B25; --ob-ground-deep:#0B141C;
  --ob-paper:#F4EFE3; --ob-paper-alt:#ECE5D2;
  --ob-ink:#26292B; --ob-ink-muted:#5C5A50;
  --ob-cream:#F4EFE3; --ob-cream-muted:rgba(244,239,227,.68);
  --ob-rule:#D8CFBA; --ob-rule-dark:rgba(244,239,227,.18);
  --ob-accent:#8F6A26; --ob-accent-dark:#C69A4C;
  --ob-cta-bg:#B98F3F; --ob-cta-fg:#1A1710; --ob-cta-hover:#A67C2E;
}

*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--ob-ground);color:var(--ob-ink);font-family:'Source Serif 4',Georgia,serif;font-size:19px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--ob-accent-dark);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
::selection{background:#C69A4C;color:#0B141C}
:focus-visible{outline:2px solid var(--ob-accent-dark);outline-offset:2px}
input{font:inherit}
input::placeholder{color:rgba(244,239,227,.4)}
@keyframes obReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}

.hero{min-height:92svh;display:flex;flex-direction:column;background:var(--ob-ground);color:var(--ob-cream)}
.topbar{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:28px clamp(20px,5vw,56px);border-bottom:1px solid var(--ob-rule-dark)}
.wordmark,.invitation{font-family:'Source Sans 3',sans-serif;text-transform:uppercase}
.wordmark{font-size:14px;font-weight:600;letter-spacing:.22em}
.invitation{font-size:12px;font-weight:500;letter-spacing:.18em;color:var(--ob-cream-muted)}
.hero-main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,9vw,110px) clamp(20px,5vw,56px);animation:obReveal .9s cubic-bezier(.16,1,.3,1) both}
h1,h2{font-family:'Libre Caslon Display',serif;font-weight:400}
h1{margin:0;max-width:12ch;font-size:clamp(58px,12.5vw,172px);line-height:.98;letter-spacing:-.01em;text-wrap:balance}
.hero-rule{width:64px;height:1px;background:var(--ob-accent-dark);margin:clamp(28px,4vw,44px) 0}
.hero-sub{max-width:34ch;margin:0;font-size:clamp(19px,2.2vw,23px);line-height:1.55;color:var(--ob-cream-muted)}
.hero-action{display:flex;margin-top:clamp(32px,5vw,48px)}
.cta{display:inline-block;background:var(--ob-cta-bg);color:var(--ob-cta-fg);font-family:'Source Sans 3',sans-serif;font-size:16px;font-weight:600;letter-spacing:.03em;padding:16px 30px;border-radius:2px;text-decoration:none}
.cta:hover{background:var(--ob-cta-hover);text-decoration:none}

.photo-band{height:clamp(220px,38vw,440px);background:var(--ob-ground-deep)}
.photo-placeholder{width:100%;height:100%;background:#17232d}

.about,.interviews{padding:clamp(64px,10vw,112px) clamp(20px,5vw,56px)}
.about{background:var(--ob-paper)}
.interviews{background:var(--ob-paper-alt)}
.light-column{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.eyebrow{display:flex;align-items:center;gap:14px;font-family:'Source Sans 3',sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ob-ink-muted)}
.eyebrow-rule{width:28px;height:1px;flex:0 0 28px;background:var(--ob-accent)}
.light-column h2,.request-inner h2{margin:0;font-size:clamp(32px,4.5vw,44px);line-height:1.12}
.light-column h2{letter-spacing:-.01em}
.light-column p{margin:0}
.setoff{border-top:1px solid var(--ob-rule);border-bottom:1px solid var(--ob-rule);padding:24px 0;font-family:'Source Serif 4',serif;font-style:italic;font-size:21px;line-height:1.6;color:var(--ob-ink)}
.interview-intro{max-width:56ch}
.interview-list{display:flex;flex-direction:column;border-top:1px solid #CDC3A9}
.interview-row{display:flex;align-items:baseline;gap:20px;padding:22px 0;border-bottom:1px solid #CDC3A9;flex-wrap:wrap}
.interview-number{font-family:'Source Sans 3',sans-serif;font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--ob-accent);font-variant-numeric:tabular-nums}
.interview-description{flex:1 1 260px;font-size:19px}
.interview-years{font-family:'Source Sans 3',sans-serif;font-size:15px;font-weight:500;color:var(--ob-ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap}

.bio{background:var(--ob-ground);color:var(--ob-cream);padding:clamp(64px,10vw,112px) clamp(20px,5vw,56px)}
.bio-inner{max-width:880px;margin:0 auto;display:flex;flex-wrap:wrap;gap:clamp(32px,6vw,64px);align-items:flex-start}
.portrait-wrap{flex:0 1 280px;min-width:220px}
.portrait{display:block;width:100%;height:340px;object-fit:cover;filter:grayscale(1) sepia(.22) contrast(1.04) brightness(.95)}
.bio-copy{flex:1 1 380px;display:flex;flex-direction:column;gap:24px}
.eyebrow-dark{color:var(--ob-cream-muted)}
.eyebrow-dark .eyebrow-rule{background:var(--ob-accent-dark)}
.bio-lead{margin:0;font-family:'Libre Caslon Display',serif;font-size:clamp(24px,3vw,30px);line-height:1.35}
.bio-body{margin:0;color:var(--ob-cream-muted)}
.signoff{margin:0;font-family:'Source Serif 4',serif;font-style:italic;font-size:20px;color:var(--ob-accent-dark)}

footer{background:var(--ob-ground-deep);color:var(--ob-cream);padding:clamp(64px,10vw,112px) clamp(20px,5vw,56px) 40px}
.request-inner{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:24px}
.request-inner h2{font-size:clamp(30px,4vw,40px);line-height:1.15}
.request-intro{margin:0;color:var(--ob-cream-muted)}
.request-fields{display:flex;flex-direction:column;gap:16px}
.request-fields label{display:flex;flex-direction:column;gap:8px;font-family:'Source Sans 3',sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ob-cream-muted)}
.field-input{width:100%;background:transparent;border:1px solid var(--ob-rule-dark);border-radius:2px;color:var(--ob-cream);padding:14px 16px;font-size:17px;letter-spacing:normal;text-transform:none;font-weight:400}
.years-input{font-variant-numeric:tabular-nums}
.request-cta{display:block;margin-top:8px;text-align:center}
.reassurance{margin:0;font-family:'Source Sans 3',sans-serif;font-size:14px;color:var(--ob-cream-muted)}
.bottom-row{max-width:880px;margin:64px auto 0;padding-top:24px;border-top:1px solid var(--ob-rule-dark);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:'Source Sans 3',sans-serif;font-size:13px;color:var(--ob-cream-muted)}
