:root { --ink:#202c26; --green:#1e4b3b; --deep:#12382d; --sage:#9aab91; --cream:#f5f0e5; --paper:#fbfaf6; --copper:#bd704a; --line:#d9d8ce; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; font-size:17px; line-height:1.7; }
img { display:block; max-width:100%; }
a { color:inherit; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:100; top:8px; left:8px; padding:10px 16px; background:white; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.site-header { height:86px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,5vw,76px); background:rgba(251,250,246,.96); position:absolute; z-index:10; width:100%; border-bottom:1px solid rgba(255,255,255,.25); }
.brand { display:flex; align-items:center; gap:13px; text-decoration:none; line-height:1.15; }
.brand img { width:55px; height:55px; border-radius:50%; object-fit:cover; }
.brand strong,.brand small { display:block; }
.brand strong { font:25px/1.1 "Libre Caslon Display",serif; }
.brand small { margin-top:5px; color:#66736b; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
nav { display:flex; align-items:center; gap:34px; }
nav a { font-size:14px; font-weight:600; text-decoration:none; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:54px; padding:0 25px; border:1px solid var(--green); background:var(--green); color:white; font-size:14px; font-weight:700; text-decoration:none; transition:.2s ease; }
.button:hover { background:var(--deep); transform:translateY(-2px); }
.button-small { min-height:43px; padding:0 18px; gap:16px; }
.nav-toggle { display:none; border:0; background:none; padding:8px; }
.nav-toggle span:not(.sr-only) { display:block; width:25px; height:2px; margin:5px; background:var(--ink); }
.hero { position:relative; min-height:760px; height:100vh; color:white; display:grid; align-items:center; overflow:hidden; }
.hero-image,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-image { object-fit:cover; object-position:center 55%; }
.hero-shade { background:linear-gradient(90deg,rgba(13,27,22,.91) 0%,rgba(17,35,29,.69) 43%,rgba(13,25,20,.08) 76%),linear-gradient(0deg,rgba(7,18,14,.35),transparent 45%); }
.hero-content { position:relative; width:min(720px,85vw); margin-left:clamp(24px,9vw,150px); padding-top:80px; }
.eyebrow { margin:0 0 16px; color:var(--green); text-transform:uppercase; letter-spacing:.2em; font-size:12px; font-weight:700; }
.eyebrow.light { color:#d0d9ca; }
h1,h2 { font-family:"Libre Caslon Display",serif; font-weight:400; letter-spacing:-.025em; line-height:1.06; }
h1 { margin:0 0 25px; font-size:clamp(52px,6.1vw,90px); }
h2 { margin:0 0 27px; font-size:clamp(40px,4.5vw,67px); }
.hero-intro { max-width:610px; font-size:19px; color:#e5e8e4; line-height:1.65; }
.hero-actions { display:flex; align-items:center; gap:34px; margin-top:38px; }
.text-link { font-size:14px; font-weight:700; text-decoration:none; }
.light-link { color:white; }
.scroll-cue { position:absolute; bottom:33px; left:clamp(24px,9vw,150px); display:flex; align-items:center; gap:12px; text-transform:uppercase; letter-spacing:.14em; font-size:10px; opacity:.8; }
.scroll-cue span { display:block; width:34px; height:1px; background:white; }
.section { width:min(1180px,calc(100% - 48px)); margin-inline:auto; padding:120px 0; }
.section-heading { display:grid; grid-template-columns:1fr 2fr; align-items:start; gap:7%; margin-bottom:75px; }
.section-heading h2 { max-width:820px; }
.intro-grid { display:grid; grid-template-columns:1.05fr .75fr; gap:12%; align-items:start; }
.story-copy { padding-left:8%; }
.story-copy p { margin:0 0 25px; color:#4f5a54; }
.story-copy .lead { color:var(--ink); font-size:22px; line-height:1.55; }
.portrait-card { margin:0; position:relative; }
.portrait-card img { width:100%; height:660px; object-fit:cover; }
.portrait-card figcaption { position:absolute; bottom:-1px; left:-42px; padding:19px 25px; min-width:220px; background:var(--cream); }
.portrait-card span,.portrait-card small { display:block; }
.portrait-card span { font:21px "Libre Caslon Display",serif; }
.portrait-card small { color:#718077; font-size:12px; }
.timeline-section { background:var(--deep); color:white; }
.timeline-wrap { display:grid; grid-template-columns:.7fr 1.3fr; gap:12%; }
.timeline-intro { position:sticky; top:120px; align-self:start; }
.timeline-intro p:last-child { color:#c1cec7; }
.timeline { border-top:1px solid rgba(255,255,255,.22); }
.timeline-item { display:grid; grid-template-columns:130px 1fr; gap:28px; padding:36px 0; border-bottom:1px solid rgba(255,255,255,.22); }
.year { color:#bdcfbd; font:31px "Libre Caslon Display",serif; }
.timeline h3 { margin:0 0 6px; font:27px "Libre Caslon Display",serif; font-weight:400; }
.timeline p { margin:0; color:#b9c5bf; font-size:15px; }
.legacy { display:grid; grid-template-columns:.85fr 1fr; gap:12%; align-items:center; }
.plaque-wrap { position:relative; }
.plaque-wrap img { width:100%; height:670px; object-fit:cover; }
.image-label { position:absolute; bottom:18px; left:18px; padding:9px 13px; color:white; background:rgba(18,56,45,.9); font-size:11px; }
.legacy-copy p { color:#59645e; }
blockquote { margin:38px 0 0; padding:15px 0 15px 28px; border-left:3px solid var(--copper); color:var(--green); font:27px/1.45 "Libre Caslon Display",serif; }
.today { background:linear-gradient(115deg,rgba(18,56,45,.98),rgba(23,72,56,.92)),url("images/conduit-photo-wide.jpeg") center/cover; color:white; }
.today-inner { display:grid; grid-template-columns:1.15fr .85fr; gap:11%; }
.today-copy { padding-top:32px; color:#d6dfda; }
.today-copy p:first-child { margin-top:0; font-size:21px; color:white; }
.button-cream { margin-top:24px; color:var(--deep); background:var(--cream); border-color:var(--cream); }
.button-cream:hover { color:white; }
footer { min-height:160px; padding:42px clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; background:#eef0e9; }
footer p { color:#6d7871; font-size:12px; }
.footer-brand img { width:64px; height:64px; }
.application-site-header { position:relative; border-bottom:1px solid var(--line); }
.application-body { background:#f7f6f1; }
.application-hero { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:8%; padding:74px max(24px,calc((100% - 1180px)/2)) 68px; color:white; background:linear-gradient(110deg,rgba(18,56,45,.98),rgba(26,78,59,.91)),url("images/conduit-photo-wide.jpeg") center 46%/cover; }
.application-hero h1 { margin-bottom:20px; font-size:clamp(52px,6vw,80px); }
.application-hero > div > p:last-child { max-width:690px; margin:0; color:#dce5df; font-size:19px; }
.deadline-card { display:flex; gap:18px; padding:23px 24px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.09); }
.deadline-icon { font-size:27px; line-height:1; }
.deadline-card strong,.deadline-card small { display:block; }
.deadline-card strong { margin-bottom:5px; font-size:14px; }
.deadline-card small { color:#d5dfd8; font-size:12px; line-height:1.5; }
.application-layout { display:grid; grid-template-columns:300px minmax(0,760px); gap:clamp(50px,8vw,110px); width:min(1180px,calc(100% - 64px)); margin:0 auto; padding:86px 0 110px; align-items:start; }
.application-guidance { position:sticky; top:32px; }
.application-guidance h2 { margin-bottom:18px; color:var(--green); font-size:39px; }
.application-guidance > p:not(.eyebrow) { color:#5a665f; font-size:15px; }
.check-list { list-style:none; margin:26px 0; padding:0; }
.check-list li { position:relative; padding:10px 0 10px 32px; border-bottom:1px solid var(--line); font-size:14px; line-height:1.45; }
.check-list li::before { content:"✓"; position:absolute; left:0; top:10px; color:var(--green); font-weight:700; }
.application-guidance details { margin:25px 0; padding:0 0 18px; border-bottom:1px solid var(--line); }
.application-guidance summary { cursor:pointer; color:var(--green); font-size:14px; font-weight:700; }
.application-guidance details ul { padding-left:20px; color:#5a665f; font-size:13px; }
.contact-card { display:flex; flex-direction:column; margin-top:28px; padding:22px; background:#ebe8dd; font-size:13px; }
.contact-card strong { margin-bottom:5px; color:var(--green); font-size:15px; }
.contact-card a { margin-top:4px; color:#56645c; }
.grant-form { width:100%; padding:0 48px 48px; border-top:4px solid var(--green); background:white; box-shadow:0 18px 55px rgba(32,44,38,.08); }
.form-heading { display:flex; justify-content:space-between; gap:20px; margin:0 -48px 8px; padding:22px 48px; border-bottom:1px solid var(--line); color:#6b756f; font-size:11px; text-transform:uppercase; letter-spacing:.09em; }
.form-heading span:first-child { color:var(--green); font-weight:700; }
.grant-form b { color:#a9492d; }
.grant-form fieldset { min-width:0; margin:0; padding:38px 0 16px; border:0; border-bottom:1px solid var(--line); }
.grant-form legend { display:flex; align-items:center; gap:13px; width:100%; margin-bottom:28px; color:var(--green); font:29px/1.2 "Libre Caslon Display",serif; }
.grant-form legend span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--green); color:white; font:700 11px "DM Sans",sans-serif; letter-spacing:.06em; }
.form-field { position:relative; width:100%; margin:0 0 24px; }
.form-field label { display:block; margin-bottom:8px; color:var(--ink); font-size:15px; font-weight:700; }
.field-label { display:block; margin-bottom:7px; font-size:15px; font-weight:700; }
.field-question { margin:0 0 13px; color:#5a665f; font-size:14px; }
.form-field input,.form-field textarea { display:block; width:100%; max-width:none; margin:0; border:1px solid #bdc4bd; border-radius:0; padding:12px 14px; background:#fcfcf9; color:var(--ink); font:inherit; line-height:1.4; transition:border-color .2s,box-shadow .2s; }
.form-field input { min-height:52px; }
.form-field textarea { min-height:112px; resize:vertical; }
.form-field input:focus,.form-field textarea:focus { outline:0; border-color:var(--green); box-shadow:0 0 0 3px rgba(30,75,59,.13); }
.form-field small { display:block; margin-top:8px; color:#68736d; font-size:12px; line-height:1.5; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.field-meta { display:flex; justify-content:space-between; gap:18px; }
.field-meta small:last-child { flex:none; }
.money-field input { padding-left:38px; }
.input-prefix { position:absolute; z-index:1; left:14px; top:43px; color:#637068; font-weight:700; }
.radio-group { display:flex; gap:12px; }
.radio-group label { cursor:pointer; }
.radio-group input { position:absolute; opacity:0; }
.radio-group span { display:block; min-width:86px; padding:11px 20px; border:1px solid #bdc4bd; text-align:center; font-size:14px; font-weight:600; }
.radio-group input:checked + span { border-color:var(--green); background:var(--green); color:white; }
.radio-group input:focus-visible + span { box-shadow:0 0 0 3px rgba(30,75,59,.18); }
.declaration { display:grid; grid-template-columns:20px 1fr; gap:12px; align-items:start; cursor:pointer; font-size:14px; line-height:1.55; }
.declaration input { width:19px; height:19px; margin:2px 0 0; accent-color:var(--green); }
.submit-area { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-top:34px; }
.submit-area p { margin:0; font-size:13px; }
.submit-area p strong,.submit-area p span { display:block; }
.submit-area p span { margin-top:3px; color:#6d7771; }
.form-submit { flex:none; margin:0; cursor:pointer; }
.demo-message { margin-top:28px; padding:20px 22px; border-left:4px solid var(--green); background:#e8f0eb; font-size:14px; }
.demo-message strong,.demo-message span { display:block; }
.demo-message span { margin-top:3px; color:#536159; }
.application-footer { min-height:160px; }
.application-footer a { color:#6d7871; font-size:12px; text-decoration:none; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none} }
@media (max-width:800px) {
  .site-header { height:74px; padding:0 18px; }
  .brand strong { font-size:20px; }.brand small{display:none}.brand img{width:46px;height:46px}
  .nav-toggle { display:block; }
  nav { display:none; position:absolute; top:74px; left:0; right:0; padding:22px; background:var(--paper); flex-direction:column; align-items:stretch; gap:18px; }
  nav.open { display:flex; }.button-small{width:100%}
  .hero { min-height:700px; }.hero-shade{background:linear-gradient(90deg,rgba(12,29,23,.9),rgba(12,29,23,.45))}.hero-content{margin:0 24px;width:auto}.hero-intro{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.scroll-cue{left:24px}
  .section { width:min(100% - 40px,1180px); padding:80px 0; }
  .section-heading,.intro-grid,.timeline-wrap,.legacy,.today-inner { grid-template-columns:1fr; }
  .section-heading { gap:0; margin-bottom:45px; }.story-copy{padding-left:0}.portrait-card{margin-top:30px}.portrait-card img{height:520px}.portrait-card figcaption{left:0}
  .timeline-intro{position:static}.timeline-wrap.section{padding-bottom:120px}.timeline-item{grid-template-columns:85px 1fr}.timeline-item:last-child{padding-bottom:30px;border-bottom:0}.legacy{gap:55px}.plaque-wrap img{height:520px}.today-inner{gap:20px}
  footer { flex-direction:column; align-items:flex-start; gap:25px; }
  .application-hero { grid-template-columns:1fr; gap:35px; padding:56px 24px; }
  .deadline-card { max-width:480px; }
  .application-layout { grid-template-columns:1fr; gap:45px; width:min(100% - 48px,760px); padding:62px 0 80px; }
  .application-guidance { position:static; }
  .check-list { display:grid; grid-template-columns:1fr 1fr; gap:0 25px; }
}
@media (max-width:560px) {
  h1{font-size:45px}.hero-content br{display:none}.timeline-item{grid-template-columns:1fr;gap:8px}.portrait-card img,.plaque-wrap img{height:440px}.footer-brand strong{font-size:18px}
  .application-hero { padding:44px 20px; }.application-hero > div > p:last-child{font-size:16px}.deadline-card{padding:19px}
  .application-layout{width:calc(100% - 32px);padding-top:48px}.application-guidance h2{font-size:34px}.check-list{grid-template-columns:1fr}
  .grant-form{padding:0 22px 32px}.form-heading{margin:0 -22px 5px;padding:18px 22px;flex-direction:column;gap:5px}.grant-form fieldset{padding-top:30px}.grant-form legend{font-size:25px}
  .field-row{grid-template-columns:1fr;gap:0}.submit-area{align-items:stretch;flex-direction:column}.form-submit{width:100%}.application-footer{padding-inline:20px}
}
