:root { --ink:#1c073f; --teal:#005a60; --red:#a5112a; --gold:#c99625; --paper:#fffdf8; --soft:#f5f1e8; --border:#ddd3c3; --background:var(--paper); --foreground:var(--ink); --primary:var(--ink); --primary-foreground:#fff; --card:#fff; --card-foreground:var(--ink); --popover:#fff; --popover-foreground:var(--ink); --secondary:var(--soft); --secondary-foreground:var(--ink); --muted:var(--soft); --muted-foreground:#685f70; --accent:#e9f2f0; --accent-foreground:var(--teal); --destructive:#b42336; --input:var(--border); --ring:var(--gold); --radius:.75rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(1.25rem,5vw,5rem); border-bottom:1px solid var(--border); background:rgba(255,253,248,.95); position:sticky; top:0; z-index:20; backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:.8rem; font-family:Georgia,serif; font-weight:700; font-size:1.05rem; letter-spacing:.02em; }
.brand-mark { background:var(--ink); color:#fff; padding:.55rem .6rem; border-radius:50%; font-family:Arial,sans-serif; font-size:.7rem; letter-spacing:.08em; }
.header-cta,.primary-button,.submit-button { display:inline-flex; align-items:center; justify-content:center; gap:1rem; background:var(--red); color:white; border:0; border-radius:999px; font-weight:800; padding:.85rem 1.35rem; cursor:pointer; transition:.2s ease; }
.header-cta:hover,.primary-button:hover,.submit-button:hover { transform:translateY(-2px); background:#801022; }
.hero { min-height:calc(100vh - 76px); display:grid; grid-template-columns:1fr 1.03fr; align-items:center; gap:clamp(2rem,5vw,6rem); padding:clamp(2.75rem,5vw,4.75rem) clamp(1.25rem,5vw,5rem) clamp(2.5rem,4vw,4rem); background:radial-gradient(circle at 8% 15%,#f5e9bd 0,transparent 27%), var(--paper); overflow:hidden; }
.eyebrow { margin:0 0 1rem; color:var(--teal); font-size:.78rem; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { font-family:Georgia,serif; font-size:clamp(3.1rem,6.7vw,6.6rem); line-height:.94; letter-spacing:-.045em; margin-bottom:1.6rem; }
h1 em,.register-intro h2 em { color:var(--red); font-weight:400; }
.hero-lede { max-width:42rem; font-size:clamp(1.08rem,1.4vw,1.3rem); line-height:1.7; color:#4e4457; }
.schedule-banner { display:inline-flex; align-items:stretch; margin-top:.4rem; border:1px solid var(--gold); border-radius:.7rem; overflow:hidden; font-weight:800; box-shadow:0 8px 24px rgba(28,7,63,.08); }
.schedule-day { background:var(--ink); color:white; padding:.8rem 1rem; }
.schedule-time { background:#fff8df; color:var(--ink); padding:.8rem 1rem; }
.hero-actions { display:flex; align-items:center; gap:1.25rem; margin-top:2rem; flex-wrap:wrap; }
.primary-button { padding:1.1rem 1.7rem; }
.microcopy { color:#6a6170; font-size:.9rem; }
.hero-art { position:relative; }
.hero-art:before { content:""; position:absolute; inset:-2rem 3rem 2rem -2rem; background:var(--ink); border-radius:48% 48% 8% 8%; transform:rotate(-3deg); }
.image-frame { position:relative; background:white; padding:.65rem; border:1px solid var(--border); box-shadow:0 30px 80px rgba(28,7,63,.2); transform:rotate(1.5deg); }
.image-frame img { width:100%; height:auto; display:block; }
.founder-story { position:relative; margin:2.4rem 0 0; padding:2.2rem 2.35rem 2.35rem; background:#ffffff; border:1px solid #d7ccb9; border-top:6px solid var(--gold); border-radius:1rem; color:#30223d; font-family:Georgia,serif; font-size:1.08rem; line-height:1.75; box-shadow:0 18px 45px rgba(28,7,63,.16); }
.founder-story p { margin-bottom:1.15rem; }
.founder-story .story-lead { color:var(--ink); font-size:1.55rem; line-height:1.25; font-weight:700; }
.founder-story em { color:#004e53; font-weight:700; }
.founder-story .story-turn { color:var(--red); font-size:1.2rem; font-weight:700; }
.founder-story .story-close { color:var(--ink); font-weight:700; margin-bottom:0; }
.pathway { padding:clamp(2.75rem,5vw,4.5rem) clamp(1.25rem,7vw,7rem); }
.section-heading { max-width:56rem; margin-bottom:2rem; }
.section-heading h2,.register-intro h2 { font-family:Georgia,serif; font-size:clamp(2.4rem,4.5vw,4.8rem); line-height:1; letter-spacing:-.035em; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--border); }
.steps article { padding:1.65rem 2rem .35rem 0; border-right:1px solid var(--border); }
.steps article+article { padding-left:2rem; }
.steps article:last-child { border-right:0; }
.steps span { display:block; color:var(--gold); font-weight:900; font-size:.78rem; letter-spacing:.12em; margin-bottom:2rem; }
.steps h3 { font-family:Georgia,serif; font-size:2rem; margin-bottom:.7rem; }
.steps p { color:#5d5364; line-height:1.65; max-width:18rem; }
.register-section { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(3rem,7vw,7rem); padding:clamp(3rem,5vw,5rem) clamp(1.25rem,7vw,7rem); background:var(--ink); color:white; }
.gold { color:#e1b84e; }
.register-intro>p:not(.eyebrow) { color:#d9d0e4; font-size:1.1rem; line-height:1.75; max-width:33rem; }
.host-card { border-left:3px solid var(--gold); padding-left:1.25rem; margin-top:2.5rem; display:flex; flex-direction:column; gap:.25rem; }
.host-card span { color:#c4b8d1; font-size:.78rem; text-transform:uppercase; letter-spacing:.14em; }
.host-card strong { font-family:Georgia,serif; font-size:1.65rem; }
.host-card small { color:#d9d0e4; line-height:1.5; }
.signup-card { background:white; color:var(--ink); border-radius:1.5rem; padding:clamp(1.5rem,4vw,3rem); box-shadow:0 30px 70px rgba(0,0,0,.22); }
.form-title span { color:var(--red); font-size:.75rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.form-title h2 { font-family:Georgia,serif; font-size:2.35rem; margin:.4rem 0 .3rem; }
.form-title p { color:#6c6271; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.6rem; }
.form-grid label { font-size:.88rem; font-weight:800; display:flex; flex-direction:column; gap:.45rem; }
.form-grid small { color:#7b7380; font-weight:400; }
.form-grid input:not([type="checkbox"]),.form-grid select { width:100%; border:1px solid #cfc5d2; border-radius:.65rem; min-height:48px; padding:.75rem; background:white; color:var(--ink); font:inherit; }
.form-grid input:focus,.form-grid select:focus { outline:3px solid rgba(201,150,37,.28); border-color:var(--gold); }
.wide { grid-column:1/-1; }
.consent { flex-direction:row!important; align-items:flex-start; font-weight:500!important; line-height:1.45; margin:.25rem 0; }
.consent input { width:18px; height:18px; margin:.1rem .25rem 0 0; accent-color:var(--teal); }
.consent span { flex:1; }
.submit-button { width:100%; min-height:54px; margin-top:1.25rem; font-size:1rem; }
.submit-button:disabled { opacity:.65; cursor:wait; }
.form-message { min-height:1.5rem; margin:.85rem 0 0; font-weight:700; text-align:center; }
.form-message.success { color:var(--teal); }
.form-message.error { color:var(--red); }
.privacy-note { color:#7b7380; font-size:.78rem; text-align:center; margin:.4rem 0 0; }
footer { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:2rem; padding:2rem clamp(1.25rem,5vw,5rem); background:#100328; color:white; border-top:1px solid #39245d; }
footer strong { font-family:Georgia,serif; font-size:1.1rem; }
footer span { color:#d9c17c; font-size:.8rem; }
footer p { margin:0; color:#b9afc3; text-align:right; font-size:.85rem; }
@media (max-width:900px) { .hero,.register-section { grid-template-columns:1fr; } .hero { min-height:auto; } .hero-copy { max-width:50rem; } .steps { grid-template-columns:1fr; } .steps article,.steps article+article { border-right:0; border-bottom:1px solid var(--border); padding:1.75rem 0; } footer { grid-template-columns:1fr; gap:.6rem; text-align:center; } footer p { text-align:center; } }
@media (max-width:600px) { .site-header { height:68px; } .brand span:last-child { display:none; } .hero { padding-top:3.5rem; } h1 { font-size:3.2rem; } .schedule-banner { flex-direction:column; width:100%; text-align:center; } .founder-story { padding:1.6rem 1.35rem 1.75rem; font-size:1rem; } .form-grid { grid-template-columns:1fr; } .wide { grid-column:auto; } .header-cta { padding:.7rem 1rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
