:root { --ink:#000; --paper:#f4f3ef; --blue:#2257e8; --line:rgba(255,255,255,.2); --muted:rgba(255,255,255,.64); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Roboto,Arial,Helvetica,sans-serif; font-weight:400; -webkit-font-smoothing:antialiased; }
button,input { font:inherit; } button { cursor:pointer; } a { color:inherit; }
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.site-shell { min-height:100vh; overflow:hidden; position:relative; padding:0 clamp(1.25rem,4vw,4.5rem); background:radial-gradient(circle at 78% 13%,rgba(34,87,232,.16),transparent 21rem),var(--ink); }
.blue-orbit { position:absolute; border:1px solid rgba(34,87,232,.72); border-radius:50%; pointer-events:none; }
.blue-orbit-one { width:35rem; height:35rem; top:6rem; right:-18rem; } .blue-orbit-two { width:17rem; height:17rem; top:15rem; right:-3rem; border-color:rgba(34,87,232,.42); }
.site-header { position:relative; z-index:1; min-height:5.5rem; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; border-bottom:1px solid var(--line); }
.wordmark { font-size:1.4rem; line-height:1; letter-spacing:-.07em; text-decoration:none; font-weight:500; } .wordmark span { color:var(--blue); }
.header-partners { display:flex; gap:.65rem; color:var(--muted); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; } .header-partners i { color:var(--blue); font-style:normal; }
.edition-mark { justify-self:end; color:var(--muted); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.hero { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr); gap:clamp(3rem,8vw,10rem); align-items:end; min-height:42rem; padding:clamp(5rem,10vw,9rem) 0 clamp(5rem,10vw,8rem); }
.hero-copy { max-width:58rem; } .eyebrow,.strip-label { margin:0; color:var(--blue); font-size:.75rem; font-weight:500; letter-spacing:.14em; line-height:1.4; text-transform:uppercase; }
.hero h1 { margin:1.4rem 0 2.2rem; font-size:clamp(4.4rem,10.7vw,10.5rem); font-weight:300; letter-spacing:-.085em; line-height:.83; } em { color:var(--blue); font-style:normal; }
.hero-intro { max-width:35rem; margin:0; color:rgba(244,243,239,.78); font-size:clamp(1.05rem,1.5vw,1.3rem); font-weight:300; line-height:1.45; }
.hero-meta { display:flex; flex-wrap:wrap; gap:1.7rem; margin-top:3.5rem; color:var(--muted); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; } .hero-meta span+span::before { content:'·'; color:var(--blue); margin-right:1.7rem; }
.invite-card { max-width:31rem; justify-self:end; width:100%; padding:clamp(1.5rem,3vw,2.6rem); color:var(--paper); background:var(--blue); }
.card-topline,.card-footer { display:flex; justify-content:space-between; gap:1rem; font-size:.75rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; } .card-symbol { font-size:1.4rem; line-height:.6; }
.card-rule { height:1px; margin:2rem 0 1.65rem; background:rgba(0,0,0,.25); } .invite-card h2 { margin:0; font-size:clamp(2.7rem,5vw,4.5rem); font-weight:300; letter-spacing:-.07em; line-height:.9; }
.card-copy { max-width:21rem; margin:1.3rem 0 2.3rem; font-size:1rem; line-height:1.45; } .invite-card label { display:block; margin-bottom:.55rem; font-size:.875rem; font-weight:500; }
.email-row { display:flex; border:1px solid var(--ink); background:rgba(255,255,255,.1); } .email-row input { min-width:0; width:100%; border:0; padding:.85rem .8rem; color:var(--ink); outline:none; background:var(--paper); font-size:.9rem; } .email-row input::placeholder { color:rgba(0,0,0,.55); }
.email-row:focus-within { box-shadow:0 0 0 3px rgba(0,0,0,.2); } .email-row button { border:0; padding:.65rem .8rem; color:var(--paper); background:var(--ink); font-size:.875rem; font-weight:500; white-space:nowrap; } .email-row button span { margin-left:.35rem; font-size:1rem; }
.form-note { margin:.75rem 0 0; color:var(--paper); font-size:.75rem; line-height:1.35; } .form-error { margin:.55rem 0 0; color:#190006; font-size:.8rem; } .form-error[hidden],.success-state[hidden] { display:none; }
.privacy-short { max-width:24rem; margin:.8rem 0 0; color:var(--paper); font-size:.75rem; line-height:1.4; } .privacy-short a,.privacy-details a { text-decoration:underline; text-underline-offset:.2em; }
.honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.card-footer { margin-top:3.5rem; padding-top:1rem; border-top:1px solid rgba(0,0,0,.24); font-size:.75rem; } .success-state { display:block; min-height:10rem; padding:0; border:0; background:transparent; color:var(--paper); text-align:left; }
.success-mark { display:inline-grid; width:2rem; height:2rem; place-items:center; border:1px solid var(--ink); border-radius:50%; font-size:1.1rem; } .success-title { margin:1rem 0 .5rem; font-size:1.15rem; font-weight:500; } .success-copy { margin:0; font-size:1rem; line-height:1.45; overflow-wrap:anywhere; } .reset-button { margin-top:1.4rem; border:0; border-bottom:1px solid var(--ink); padding:0 0 .2rem; background:transparent; color:var(--paper); font-size:.875rem; }
.details { position:relative; z-index:1; display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,10vw,12rem); padding:6rem 0 7rem; border-top:1px solid var(--line); } .details h2 { margin:1.2rem 0 2.5rem; font-size:clamp(2.7rem,5vw,5rem); font-weight:300; letter-spacing:-.07em; line-height:.92; }
.program-link { display:inline-flex; align-items:center; gap:.5rem; color:var(--paper); font-size:.875rem; text-decoration:none; } .program-link span { color:var(--blue); font-size:1.15rem; } .program-link:hover { color:var(--blue); }
.perspective-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; align-self:end; } .perspective { min-height:13rem; padding-top:1.2rem; border-top:1px solid var(--blue); } .perspective-number { color:var(--blue); font-size:.75rem; letter-spacing:.1em; } .perspective h3 { margin:2.5rem 0 .9rem; font-size:1.2rem; font-weight:400; } .perspective p { margin:0; color:var(--muted); font-size:1rem; line-height:1.45; }
.privacy-details { position:relative; z-index:1; max-width:47rem; padding:1.2rem 0 2rem; color:var(--muted); font-size:.8rem; line-height:1.5; } .privacy-details summary { color:var(--paper); cursor:pointer; font-size:.875rem; } .privacy-details p { margin:.8rem 0 0; }
.event-strip { position:relative; z-index:1; display:grid; grid-template-columns:.65fr 1.7fr .65fr; gap:2rem; padding:1.4rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); } .event-strip div { display:flex; flex-direction:column; gap:.5rem; } .event-strip strong { font-size:.875rem; font-weight:400; line-height:1.4; }
.site-footer { position:relative; z-index:1; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2rem; padding:2rem 0 2.5rem; color:var(--muted); font-size:.75rem; line-height:1.4; } .footer-wordmark { color:var(--paper); }
@media (max-width:900px) { .site-header { grid-template-columns:auto 1fr; } .header-partners { justify-self:end; } .edition-mark { display:none; } .hero { grid-template-columns:1fr; gap:4rem; min-height:auto; } .invite-card { justify-self:start; } .details { grid-template-columns:1fr; gap:3rem; } .site-footer { grid-template-columns:1fr 1fr; } .site-footer>span:last-child { grid-column:1/-1; } }
@media (max-width:600px) { .site-shell { padding:0 1.1rem; } .site-header { min-height:4.8rem; } .header-partners { max-width:11rem; justify-content:flex-end; text-align:right; line-height:1.5; flex-wrap:wrap; } .header-partners i { display:none; } .hero { padding:4.5rem 0 5rem; } .hero h1 { margin-top:1rem; font-size:clamp(3.9rem,17vw,6rem); } .hero-meta { gap:.8rem; margin-top:2.5rem; font-size:.75rem; } .hero-meta span+span::before { margin-right:.8rem; } .invite-card { padding:1.35rem; } .email-row { display:block; } .email-row button { width:100%; padding:.8rem; } .card-footer { margin-top:2.5rem; } .details { padding:4.5rem 0; } .perspective-grid { grid-template-columns:1fr; gap:2.6rem; } .perspective { min-height:auto; } .perspective h3 { margin-top:1.2rem; } .event-strip { grid-template-columns:1fr; gap:1.3rem; } .site-footer { grid-template-columns:1fr; gap:1rem; padding-bottom:2rem; } .site-footer>span:last-child { grid-column:auto; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
