:root { --ink:#10282d; --ink-2:#193a40; --paper:#f5f6f2; --white:#fff; --mist:#e7ebe5; --yellow:#f4bf2a; --yellow-2:#d8a10c; --line:rgba(16,40,45,.16); --muted:#52676b; --radius:14px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial, Helvetica, sans-serif; line-height:1.5; }
a { color:inherit; text-underline-offset:3px; }
img { max-width:100%; }
.shell { width:min(1180px, calc(100% - 48px)); margin:auto; }
.site-header { background:var(--paper); border-bottom:1px solid var(--line); }
.nav-wrap { height:72px; display:flex; align-items:center; gap:28px; }
.brand { display:flex; align-items:center; gap:14px; text-decoration:none; font-size:12px; font-weight:800; line-height:1.12; letter-spacing:.02em; }
.brand img { display:block; width:138px; height:auto; }
nav { display:flex; align-items:center; gap:22px; margin-left:auto; font-size:14px; font-weight:700; }
nav a { text-decoration:none; }
nav a:hover { text-decoration:underline; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border-radius:var(--radius); font-weight:800; font-size:14px; text-decoration:none; transition:background .15s, color .15s, transform .15s; }
.button-primary:hover { background:var(--yellow); color:var(--ink); }
.button:active { transform:translateY(1px); }
.event-strip { background:var(--yellow); color:var(--ink); border-bottom:1px solid var(--ink); font-size:14px; font-weight:800; }
.event-strip .shell { min-height:43px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.event-strip a { white-space:nowrap; }
.event-strip-post { background:var(--mist); }
.hero { position:relative; isolation:isolate; min-height:590px; display:flex; align-items:center; color:white; overflow:hidden; }
.hero-image, .hero-overlay { position:absolute; inset:0; height:100%; width:100%; }
.hero-image { object-fit:cover; object-position:center; z-index:-2; }
.hero-overlay { z-index:-1; background:linear-gradient(90deg, rgba(8,26,31,.96) 0%, rgba(8,26,31,.82) 34%, rgba(8,26,31,.18) 72%, rgba(8,26,31,.03) 100%); }
.hero-content { padding:70px 0; }
.eyebrow { margin:0 0 16px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; color:var(--yellow); }
.eyebrow.ink { color:#a16d00; }
h1, h2, h3, p { margin-top:0; }
h1, h2, h3 { letter-spacing:-.035em; line-height:1.04; }
.hero h1 { max-width:720px; margin-bottom:20px; font-size:clamp(42px, 6vw, 76px); }
.hero-copy { max-width:620px; margin:0 0 30px; color:rgba(255,255,255,.88); font-size:20px; line-height:1.45; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.button-primary { background:var(--yellow); color:var(--ink); }
.button-ghost { border:1px solid rgba(255,255,255,.7); color:white; }
.button-ghost:hover { background:white; color:var(--ink); }
.numbers-section { background:var(--ink); color:white; }
.number-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.number-grid div { min-height:140px; padding:31px 28px; border-left:1px solid rgba(255,255,255,.2); display:grid; align-content:center; }
.number-grid div:first-child { border-left:none; }
.number-grid strong { font-size:43px; letter-spacing:-.05em; color:var(--yellow); }
.number-grid span { font-size:14px; color:rgba(255,255,255,.78); max-width:16ch; }
.intro-section { display:grid; grid-template-columns:90px minmax(0,1.2fr) minmax(240px,.7fr); gap:34px; padding-top:130px; padding-bottom:130px; }
.section-mark { font-size:13px; font-weight:800; color:var(--muted); }
.intro-copy h2, .impact-section h2, .centers-heading h2, .callout-grid h2 { max-width:750px; font-size:clamp(35px, 4vw, 57px); margin-bottom:27px; }
.large-copy { font-size:23px; line-height:1.35; max-width:27ch; }
.intro-copy > p:last-child { max-width:55ch; color:var(--muted); }
.association-card { align-self:end; padding:27px; background:var(--mist); border-top:4px solid var(--yellow); }
.association-card p { margin-bottom:30px; color:var(--muted); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.association-card strong { font-size:22px; letter-spacing:-.025em; line-height:1.18; }
.impact-section { padding:112px 0; background:#e7ebe5; }
.impact-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:55px; border-top:1px solid var(--line); }
.impact-item { padding:28px 25px 30px 0; border-right:1px solid var(--line); }
.impact-item:not(:first-child) { padding-left:25px; }
.impact-item:last-child { border-right:0; }
.impact-number { margin-bottom:27px; color:#a16d00; font-size:40px; font-weight:800; letter-spacing:-.055em; }
.impact-item h3 { margin-bottom:10px; font-size:24px; }
.impact-item p:last-child { color:var(--muted); font-size:15px; }
.impact-foot { display:flex; justify-content:space-between; align-items:end; gap:25px; padding-top:32px; border-top:1px solid var(--line); }
.impact-foot p { margin:0; max-width:65ch; }
.impact-foot a { font-weight:800; white-space:nowrap; }
.centers-section { padding-top:130px; padding-bottom:130px; }
.centers-heading { display:grid; grid-template-columns:1fr 330px; gap:45px; align-items:end; margin-bottom:60px; }
.centers-heading > p { margin:0; color:var(--muted); font-size:16px; }
.center-list { border-top:1px solid var(--line); }
.center-row { display:grid; grid-template-columns:55px 1fr 1.3fr 180px 56px; gap:24px; align-items:center; min-height:98px; border-bottom:1px solid var(--line); color:inherit; text-decoration:none; transition:border-color .2s ease, background-color .2s ease; }
.center-row:hover, .center-row:focus-visible { border-bottom-color:var(--accent); background:rgba(218, 239, 232, .35); }
.center-row > span { color:var(--muted); font-size:13px; font-weight:800; }
.center-row h3 { margin:0; font-size:25px; }
.center-row p { margin:0; color:var(--muted); font-size:15px; }
.center-row .city { text-align:left; color:var(--ink); }
.center-row > .center-link { align-self:start; justify-self:end; padding-top:17px; color:var(--ink); font-size:42px; font-weight:400; line-height:.8; text-align:right; text-decoration:none; transition:transform .2s ease, color .2s ease; }
.center-row:hover > .center-link, .center-row:focus-visible > .center-link { color:var(--accent); transform:translate(2px, -2px); }
.event-callout { padding:84px 0; background:var(--ink); color:white; }
.callout-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.callout-grid h2 { margin:0; }
.callout-grid > div:last-child { display:grid; align-content:start; gap:26px; }
.callout-grid > div:last-child p { max-width:48ch; color:rgba(255,255,255,.82); font-size:18px; }
.callout-grid .button { justify-self:start; }
.data-note { display:grid; grid-template-columns:160px 1fr; gap:30px; padding-top:52px; padding-bottom:52px; font-size:14px; color:var(--muted); }
.data-note p { margin:0; max-width:76ch; }
.site-footer { padding:45px 0; background:#dfe4de; border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns:1.4fr .65fr 1fr; gap:55px; font-size:14px; }
.footer-grid p { margin-bottom:10px; color:var(--muted); }
.footer-name { color:var(--ink)!important; font-weight:800; }
.footer-label { color:var(--ink)!important; text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:800; }
.footer-grid a { display:block; margin-bottom:8px; }
.source-note { font-size:12px; }
.event-page, .confirmation-page, .recap-page { min-height:calc(100vh - 72px); }
.event-intro { padding-top:75px; padding-bottom:70px; border-bottom:1px solid var(--line); }
.back-link { display:inline-block; margin-bottom:64px; font-size:14px; font-weight:800; }
.event-intro h1 { max-width:960px; margin-bottom:39px; font-size:clamp(42px, 5.4vw, 72px); }
.event-meta { display:flex; gap:65px; }
.event-meta div { padding-left:16px; border-left:3px solid var(--yellow); }
.event-meta span { display:block; margin-bottom:4px; color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.event-meta strong { font-size:17px; line-height:1.35; }
.registration-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:100px; padding-top:78px; padding-bottom:110px; }
.agenda h2 { font-size:36px; margin-bottom:20px; }
.agenda > p { max-width:38ch; color:var(--muted); }
.agenda ol { list-style:none; padding:8px 0 0; margin:39px 0 0; border-top:1px solid var(--line); }
.agenda li { display:grid; grid-template-columns:62px 1fr; gap:12px; padding:16px 0; border-bottom:1px solid var(--line); font-size:15px; }
.agenda time { color:#a16d00; font-weight:800; }
.form-panel { max-width:680px; padding:42px; background:white; border:1px solid var(--line); border-top:4px solid var(--yellow); }
.form-panel h2 { margin-bottom:8px; font-size:38px; }
.form-intro { color:var(--muted); font-size:14px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:grid; gap:7px; margin-top:21px; }
label { font-size:14px; font-weight:800; }
em { color:#a16d00; font-style:normal; }
input, select { width:100%; min-height:47px; padding:10px 12px; color:var(--ink); background:white; border:1px solid #87999a; border-radius:6px; font:inherit; font-size:16px; }
input:focus, select:focus { outline:3px solid rgba(244,191,42,.55); outline-offset:1px; border-color:var(--ink); }
.consent { display:grid; grid-template-columns:20px 1fr; gap:11px; margin:27px 0; align-items:start; }
.consent input { width:18px; height:18px; min-height:18px; margin:2px 0 0; accent-color:var(--ink); }
.consent label { color:#33494d; font-size:13px; line-height:1.42; font-weight:500; }
.button-submit { border:0; cursor:pointer; font-family:inherit; background:var(--ink); color:white; }
.button-submit:hover { background:var(--yellow); color:var(--ink); }
.honeypot { position:absolute; left:-10000px; height:1px; width:1px; overflow:hidden; }
.form-messages { margin:19px 0; padding:12px 15px; background:#fff3eb; border-left:3px solid #be4d19; font-size:14px; }
.form-messages p { margin:0; color:#7a3212; }
.confirmation-page { display:grid; align-items:center; padding:80px 0; }
.confirmation-card { max-width:800px; padding:56px; background:white; border-top:4px solid var(--yellow); }
.confirmation-card h1 { max-width:650px; margin-bottom:20px; font-size:clamp(42px, 5vw, 64px); }
.confirmation-card p:not(.eyebrow) { max-width:57ch; margin-bottom:34px; font-size:18px; color:var(--muted); }
.recap-hero { padding-top:108px; padding-bottom:95px; }
.recap-hero h1 { max-width:900px; font-size:clamp(48px, 6vw, 78px); margin-bottom:25px; }
.recap-hero > p:last-child { max-width:63ch; color:var(--muted); font-size:20px; }
.recap-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.recap-grid article { min-height:270px; padding:34px 30px 42px 0; border-right:1px solid var(--line); }
.recap-grid article:not(:first-child) { padding-left:30px; }
.recap-grid article:last-child { border:0; }
.recap-grid span { color:#a16d00; font-weight:800; }
.recap-grid h2 { margin:44px 0 11px; font-size:28px; }
.recap-grid p { color:var(--muted); font-size:15px; }
.recap-centers { padding-top:105px; padding-bottom:130px; }
.recap-centers h2 { font-size:clamp(39px, 5vw, 60px); }
.recap-centers div { display:flex; flex-wrap:wrap; gap:10px; margin:35px 0; }
.recap-centers span { padding:9px 12px; background:var(--mist); border-radius:var(--radius); font-size:14px; font-weight:800; }
@media (max-width:850px) { .shell { width:min(100% - 36px, 650px); } .nav-wrap { height:auto; min-height:72px; flex-wrap:wrap; padding:13px 0; } nav { order:3; width:100%; margin:0; overflow:auto; } .hero { min-height:600px; } .hero-overlay { background:linear-gradient(90deg, rgba(8,26,31,.95), rgba(8,26,31,.49)); } .number-grid { grid-template-columns:1fr 1fr; } .number-grid div:nth-child(3) { border-left:0; } .number-grid div { min-height:120px; border-bottom:1px solid rgba(255,255,255,.2); } .intro-section, .centers-heading, .callout-grid, .registration-layout { grid-template-columns:1fr; gap:30px; } .intro-section { padding-top:82px; padding-bottom:82px; } .section-mark { margin-bottom:-10px; } .association-card { max-width:460px; } .impact-grid, .recap-grid { grid-template-columns:1fr; } .impact-item, .impact-item:not(:first-child), .recap-grid article, .recap-grid article:not(:first-child) { padding:27px 0; border-right:0; border-bottom:1px solid var(--line); } .impact-item:last-child, .recap-grid article:last-child { border-bottom:0; } .impact-foot { align-items:start; flex-direction:column; } .centers-section { padding-top:82px; padding-bottom:82px; } .center-row { grid-template-columns:42px 1fr; gap:6px 15px; padding:19px 0; } .center-row p { grid-column:2; } .center-row .city { grid-column:2; text-align:left; font-size:13px; color:var(--muted); } .center-row .center-link { grid-column:2; text-align:right; } .data-note, .footer-grid { grid-template-columns:1fr; gap:22px; } .event-intro { padding-top:45px; padding-bottom:50px; } .back-link { margin-bottom:48px; } .event-meta { flex-direction:column; gap:20px; } .registration-layout { padding-top:55px; } .agenda { max-width:580px; } .form-panel { padding:30px 22px; } .recap-hero { padding-top:75px; padding-bottom:70px; } }
@media (max-width:540px) { .shell { width:calc(100% - 32px); } .brand img { width:102px; } .brand span { font-size:10px; } nav { gap:16px; font-size:13px; } .event-strip .shell { align-items:flex-start; flex-direction:column; padding:11px 0; gap:3px; } .hero { min-height:610px; } .hero-content { padding:57px 0; } .hero h1 { font-size:42px; } .hero-copy { font-size:18px; } .number-grid div { padding:23px 16px; } .number-grid strong { font-size:34px; } .form-grid { grid-template-columns:1fr; gap:0; } .event-intro h1 { font-size:41px; } .form-panel h2 { font-size:33px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } }
