:root{
  --ink:#111111;
  --paper:#f4f1eb;
  --soft:#e9e4dc;
  --muted:#6d6963;
  --line:rgba(17,17,17,.18);
  --accent:#2746ff;
  --white:#ffffff;
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
p{margin:0}
button,input,select{font:inherit}
img{max-width:100%;display:block}
.shell{width:min(var(--max),calc(100% - 64px));margin:0 auto}
.kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rule{height:1px;background:var(--line);width:100%}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:16px;top:16px;z-index:1000;background:var(--ink);color:#fff;padding:12px 16px}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(244,241,235,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1;white-space:nowrap}
.nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.nav a{padding:28px 0 25px;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--ink)}
.nav .nav-accent{color:var(--accent)}
.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid var(--accent);color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.header-cta:hover{background:var(--accent);color:#fff}
.mobile-menu{display:none}

/* shared buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:.18s ease}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn-accent{border-color:var(--accent);color:var(--accent)}
.btn-accent:hover{background:var(--accent);color:#fff}
.btn-dark{border-color:var(--paper);color:var(--paper)}
.btn-dark:hover{background:var(--paper);color:var(--ink)}
.actions{display:flex;gap:10px;flex-wrap:wrap}

/* homepage */
.notice-strip{border-bottom:1px solid var(--line)}
.notice-strip .shell{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.notice-strip a{color:var(--accent)}
.hero{min-height:calc(100vh - 118px);border-bottom:1px solid var(--line)}
.hero-inner{min-height:calc(100vh - 118px);display:flex;flex-direction:column;justify-content:space-between;padding:34px 0 42px}
.hero-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}
.hero-location{text-align:right;color:var(--muted)}
.hero-main{padding:7vh 0 6vh}
.title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(72px,12vw,190px);font-weight:400;letter-spacing:-.065em;line-height:.77;text-transform:uppercase}
.title span{display:block}
.tagline{margin-top:42px;display:grid;grid-template-columns:.9fr 1.4fr;gap:60px;align-items:start}
.tagline-big{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,48px);line-height:1.02;letter-spacing:-.035em}
.intro{max-width:730px;font-size:clamp(17px,1.45vw,22px);line-height:1.55}
.hero-bottom{display:flex;justify-content:space-between;gap:40px;align-items:flex-end}
.three{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:clamp(18px,2vw,30px);font-weight:800;letter-spacing:-.03em}
.three span::after{content:"/";padding-left:24px;color:var(--accent)}
.three span:last-child::after{display:none}
.section{padding:112px 0}
.section-grid{display:grid;grid-template-columns:.7fr 2fr;gap:60px}
.statement{margin:0;max-width:1050px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6vw,92px);font-weight:400;line-height:.94;letter-spacing:-.055em}
.body-copy{margin-top:42px;max-width:780px;font-size:18px;line-height:1.72}
.body-copy p+p{margin-top:20px}
.values{margin-top:90px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.value{display:grid;grid-template-columns:90px 1fr;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.value:last-child{border-bottom:0}
.value-num{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.14em}
.value-word{font-size:clamp(38px,6.6vw,105px);font-weight:800;letter-spacing:-.065em;line-height:.88}
.dark{background:var(--ink);color:var(--paper)}
.dark .kicker{color:rgba(244,241,235,.62)}
.section-title{margin:0 0 22px;max-width:1100px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6vw,92px);font-weight:400;line-height:.94;letter-spacing:-.055em}
.section-intro{max-width:780px;margin-bottom:56px;font-size:18px;line-height:1.7}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.path-card{min-height:390px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.path-card .num{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--muted)}
.path-card h3{margin:0;font-size:clamp(32px,3vw,50px);line-height:.95;letter-spacing:-.045em}
.path-card h3.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.path-card p{margin-top:20px;font-size:15px;line-height:1.65;max-width:470px}
.path-card .link{margin-top:26px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.path-card .link:hover{text-decoration:underline}
.focus-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;align-items:start}
.focus-copy{font-size:18px;line-height:1.7;max-width:760px}
.focus-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(244,241,235,.18)}
.focus-list li{display:grid;grid-template-columns:75px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid rgba(244,241,235,.18);align-items:baseline}
.focus-list span:first-child{font-size:10px;font-weight:700;letter-spacing:.14em;color:rgba(244,241,235,.55)}
.focus-list span:last-child{font-size:clamp(28px,3.5vw,48px);font-weight:800;letter-spacing:-.045em}
.founder-note{background:var(--soft)}
.founder-grid{display:grid;grid-template-columns:.8fr 1.6fr;gap:60px;align-items:start}
.founder-grid h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,6vw,88px);font-weight:400;line-height:.94;letter-spacing:-.055em}
.founder-copy{max-width:760px;font-size:17px;line-height:1.7}
.founder-copy .actions{margin-top:28px}
.cta-band{background:var(--accent);color:#fff;padding:90px 0}
.cta-band-inner{display:grid;grid-template-columns:1.5fr .8fr;gap:60px;align-items:end}
.cta-band h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6.8vw,100px);font-weight:400;line-height:.9;letter-spacing:-.06em}
.cta-band p{font-size:17px;line-height:1.65;margin-bottom:26px}
.cta-band .btn{border-color:#fff;color:#fff}.cta-band .btn:hover{background:#fff;color:var(--accent)}

/* internal pages */
.page-hero{padding:92px 0 58px;border-bottom:1px solid var(--line)}
.page-title{margin:16px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(62px,10vw,150px);font-weight:400;letter-spacing:-.065em;line-height:.82;text-transform:uppercase}
.page-deck{display:grid;grid-template-columns:1fr 1.35fr;gap:55px;margin-top:48px;align-items:start}
.page-deck .lead{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,48px);line-height:1.02;letter-spacing:-.035em}
.page-deck p{font-size:18px;line-height:1.7;max-width:760px}
.content-section{padding:86px 0}
.content-grid{display:grid;grid-template-columns:.65fr 1.6fr;gap:60px;align-items:start}
.prose{max-width:820px;font-size:18px;line-height:1.75}
.prose p+p{margin-top:22px}
.prose h2,.prose h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em}
.prose h2{font-size:clamp(42px,5vw,72px);line-height:.98;margin:0 0 28px}.prose h3{font-size:32px;margin:42px 0 14px}
.pill-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
.pill{padding:10px 13px;border:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:55px}
.info-card{min-height:250px;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.info-card .num{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--muted)}
.info-card h3{font-size:28px;line-height:1;margin:65px 0 14px;letter-spacing:-.035em}
.info-card p{font-size:14px;line-height:1.6}

/* opportunities */
.opp-hero{padding:85px 0 55px;border-bottom:1px solid var(--line)}
.opp-title{margin:15px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(64px,11vw,165px);font-weight:400;letter-spacing:-.065em;line-height:.82;text-transform:uppercase}
.opp-deck{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;margin-top:50px;align-items:start}
.opp-deck .lead{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,48px);line-height:1.02;letter-spacing:-.035em}
.opp-deck p{font-size:18px;line-height:1.65;max-width:760px}
.opp-toolbar{padding:28px 0;border-bottom:1px solid var(--line);position:sticky;top:76px;background:rgba(244,241,235,.97);backdrop-filter:blur(10px);z-index:40}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filter-btn{border:1px solid var(--line);background:transparent;padding:10px 13px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.filter-btn:hover,.filter-btn.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.filter-btn.featured{border-color:var(--accent);color:var(--accent)}
.filter-btn.featured.is-active,.filter-btn.featured:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.opp-status{display:flex;justify-content:space-between;gap:20px;margin-top:16px;color:var(--muted);font-size:12px;line-height:1.5}
.opportunities{padding:28px 0 110px}
.opp-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.opp-card{position:relative;min-height:430px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;background:var(--paper)}
.opp-card[hidden]{display:none!important}
.opp-card-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.opp-type{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.opp-badge{display:inline-flex;padding:7px 9px;border:1px solid var(--accent);color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.opp-card h2{margin:28px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,3vw,50px);font-weight:400;line-height:.98;letter-spacing:-.045em}
.opp-org{font-size:14px;font-weight:700}
.opp-summary{margin-top:24px;font-size:15px;line-height:1.65;max-width:650px}
.opp-meta{margin-top:30px;border-top:1px solid var(--line)}
.meta-row{display:grid;grid-template-columns:115px 1fr;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.45}
.meta-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.opp-card-actions{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.deadline-soon{color:#9b2c1d;font-weight:700}
.empty-state{display:none;padding:80px 20px;text-align:center;border:1px solid var(--line)}
.empty-state.show{display:block}
.empty-state h2{font-family:Georgia,"Times New Roman",serif;font-size:48px;font-weight:400;margin:0 0 12px}
.empty-state p{color:var(--muted);line-height:1.6}
.submit-call{margin-top:70px;padding:50px;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.submit-call h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,4vw,62px);font-weight:400;line-height:1;margin:0;letter-spacing:-.04em}
.submit-call p{font-size:16px;line-height:1.65}
.updated{font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:18px}

/* footer */
.footer{background:var(--ink);color:var(--paper);padding:88px 0 36px}
.footer-top{display:grid;grid-template-columns:1.2fr .8fr;gap:60px}
.footer-statement{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6.5vw,95px);font-weight:400;line-height:.92;letter-spacing:-.055em}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;align-content:start;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.footer-links a{padding:8px 0;color:rgba(244,241,235,.82)}.footer-links a:hover{color:#fff;text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-top:70px;padding-top:24px;border-top:1px solid rgba(244,241,235,.18)}
.footer-brand{font-family:Georgia,"Times New Roman",serif;font-size:25px}
.footer-meta{text-align:right;font-size:12px;line-height:1.7;color:rgba(244,241,235,.62)}
.footer-meta a:hover{text-decoration:underline;color:#fff}

/* 404 */
.not-found{min-height:75vh;display:grid;place-items:center;text-align:center;padding:80px 20px}
.not-found h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(80px,18vw,220px);line-height:.8;margin:0;font-weight:400;letter-spacing:-.07em}
.not-found p{font-size:18px;line-height:1.6;margin:30px auto;max-width:560px}

@media(max-width:1050px){
  .nav{gap:15px}.nav a{font-size:10px}.header-cta{font-size:10px}
}
@media(max-width:900px){
  .shell{width:min(100% - 34px,var(--max))}
  .nav,.header-cta{display:none}.site-header-inner{min-height:66px}.mobile-menu{display:block;position:relative}
  .mobile-menu summary{list-style:none;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:10px 12px}.mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu[open] .mobile-panel{position:absolute;right:0;top:44px;width:min(82vw,360px);background:var(--paper);border:1px solid var(--line);padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.12)}
  .mobile-panel a{display:block;padding:14px 12px;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.mobile-panel a:last-child{border-bottom:0;color:var(--accent)}
  .notice-strip .shell{padding:9px 0;align-items:flex-start;flex-direction:column;gap:4px}
  .hero,.hero-inner{min-height:auto}.hero-inner{padding-bottom:34px}.hero-main{padding:70px 0 55px}
  .hero-top,.hero-bottom{flex-direction:column;align-items:flex-start}.hero-location{text-align:left}.actions{margin-top:20px}
  .tagline,.section-grid,.focus-grid,.founder-grid,.cta-band-inner,.page-deck,.content-grid,.footer-top,.opp-deck,.submit-call{grid-template-columns:1fr;gap:28px}
  .section{padding:78px 0}.values{margin-top:60px}.value{grid-template-columns:60px 1fr}
  .path-grid,.info-grid{grid-template-columns:1fr}.path-card{min-height:280px}.focus-list li{grid-template-columns:55px 1fr}
  .cta-band{padding:72px 0}.footer-links{margin-top:10px}.footer-bottom{align-items:flex-start;flex-direction:column}.footer-meta{text-align:left}
  .opp-toolbar{position:relative;top:0}.opp-grid{grid-template-columns:1fr}.opp-card{min-height:auto}.submit-call{padding:32px}
}
@media(max-width:560px){
  .title{font-size:clamp(58px,20vw,105px)}.three{gap:8px 12px}.three span::after{padding-left:12px}.btn{width:100%}.actions{width:100%}
  .page-title,.opp-title{font-size:clamp(56px,18vw,105px)}.filters{display:grid;grid-template-columns:1fr 1fr}.filter-btn{width:100%}.opp-status{flex-direction:column}.meta-row{grid-template-columns:92px 1fr}.submit-call{padding:24px}
  .footer-links{grid-template-columns:1fr}.footer-statement{font-size:46px}
}
