:root { --ink:#265860; --orange:#ff5b19; --cream:#fff6e5; --paper:#fffdf8; --muted:#48646a; --line:#d8cbb8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans", sans-serif; }
.hero { min-height:730px; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0, 1.08fr) minmax(420px, .92fr); background:radial-gradient(circle at 45% 18%, #fffdf7 0, #ffefd2 45%, #f5dfb9 100%); }
.hero__content { width:min(700px, 100%); padding:48px clamp(32px, 6vw, 112px) 58px; position:relative; z-index:2; }
.brand { display:block; position:absolute; right:8%; top:32px; width:116px; height:116px; text-decoration:none; transform:rotate(-8deg); filter:drop-shadow(5px 5px 0 #092f3652); }
.brand img { display:block; width:100%; height:100%; object-fit:contain; }
.eyebrow { color:var(--ink); display:flex; gap:9px; align-items:center; margin:26px 0 16px; font-size:13px; line-height:1; font-weight:700; letter-spacing:2.2px; text-transform:uppercase; }
.eyebrow span { display:inline-block; width:42px; height:4px; background:var(--orange); }
h1,h2,h3 { margin:0; font-family:"Barlow Condensed", sans-serif; line-height:.83; text-transform:uppercase; }
h1 { max-width:620px; font-size:clamp(62px, 7.7vw, 118px); letter-spacing:-2px; font-weight:900; }
h1 em,h2 em { color:var(--orange); font-style:normal; }
.hero__intro { max-width:430px; font-size:20px; line-height:1.2; margin:26px 0 20px; }
.learn-list { list-style:none; padding:0; margin:0; display:grid; gap:10px; max-width:505px; font-size:15px; font-weight:600; }
.learn-list li { display:flex; align-items:flex-start; gap:10px; }
.learn-list li::before { content:"✓"; display:grid; place-items:center; flex:0 0 19px; height:19px; color:var(--cream); background:var(--ink); border-radius:50%; font-size:12px; }
.event-details { border-top:1px solid var(--ink); margin-top:28px; padding-top:17px; display:flex; gap:clamp(15px, 2.5vw, 38px); }
.event-details > div { display:flex; align-items:center; gap:8px; }
.detail-icon { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; color:var(--cream); background:var(--ink); font-size:14px; }
.event-details p { margin:0; font-size:13px; line-height:1.05; text-transform:uppercase; }
.event-details b { display:block; font-family:"Barlow Condensed",sans-serif; font-size:20px; white-space:nowrap; }
.event-details small { display:block; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.5px; margin-top:2px; }
.hero__portrait { position:relative; overflow:hidden; }
.hero__portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:78% center; }
.hero__portrait::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, #ffedcf 0%, transparent 16%); pointer-events:none; }
.hero__shape { position:absolute; pointer-events:none; border-radius:50%; }
.hero__shape--orange { width:180px; height:180px; background:var(--orange); opacity:.92; bottom:-110px; left:34%; }
.hero__shape--teal { width:26px; height:26px; background:var(--ink); right:43%; top:35%; }
.register { padding:106px max(7vw, 32px); background:var(--paper); display:grid; grid-template-columns:1fr minmax(340px, 480px); gap:clamp(45px, 10vw, 145px); align-items:center; }
.register__copy { max-width:580px; }
.eyebrow--orange { color:var(--orange); }
.eyebrow--orange span { background:var(--ink); }
h2 { font-size:clamp(52px, 6vw, 86px); letter-spacing:-1px; }
.register__copy > p:not(.eyebrow) { font-size:18px; line-height:1.55; max-width:475px; margin:27px 0 35px; color:#315257; }
.host-note { display:flex; align-items:center; gap:12px; border-top:1px solid var(--line); padding-top:18px; }
.host-note span { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; color:var(--cream); background:var(--orange); font-family:"Barlow Condensed"; font-size:22px; font-weight:800; }
.host-note p { margin:0; color:var(--muted); font-size:13px; line-height:1.45; }.host-note strong { color:var(--ink); font-size:14px; }
.form-card { padding:0 34px 30px; border:1px solid #dfd1b9; background:var(--cream); box-shadow:12px 12px 0 var(--ink); }
.form-card__top { display:flex; justify-content:space-between; margin:0 -34px 31px; padding:13px 34px; color:var(--cream); background:var(--ink); font-family:"Barlow Condensed"; font-size:16px; font-weight:700; letter-spacing:1.2px; }
h3 { font-size:50px; letter-spacing:-.6px; }.form-card__lead { color:var(--muted); font-size:14px; line-height:1.4; margin:9px 0 25px; }
form { display:grid; gap:8px; } label { margin-top:4px; font-size:13px; font-weight:700; } input { width:100%; min-height:52px; padding:0 15px; border:1px solid #bcae98; border-radius:2px; color:var(--ink); background:#fffdf8; font:16px "DM Sans", sans-serif; } input:focus { outline:3px solid #ff5b1954; border-color:var(--orange); } button { cursor:pointer; margin-top:13px; min-height:57px; border:0; color:var(--cream); background:var(--orange); box-shadow:4px 4px 0 var(--ink); font:700 22px "Barlow Condensed"; letter-spacing:.5px; text-transform:uppercase; transition:transform .15s, box-shadow .15s; } button:hover { transform:translate(2px,2px); box-shadow:2px 2px 0 var(--ink); } button span { font-size:27px; margin-left:8px; }.form-footnote { color:#6e7b78; font-size:11px; line-height:1.4; margin:20px 0 0; }.form-error { min-height:16px; color:#ad2810; font-size:12px; font-weight:600; margin:0; }
.success-card { padding:48px 38px; border:1px solid #dfd1b9; background:var(--cream); box-shadow:12px 12px 0 var(--ink); }.success-card__check { display:grid; place-items:center; width:60px; height:60px; margin-bottom:25px; border-radius:50%; color:var(--cream); background:var(--orange); font-size:31px; font-weight:700; }.success-card h2 { font-size:57px; }.success-card h2 span { color:var(--orange); }.success-card p:not(.eyebrow) { font-size:16px; line-height:1.55; color:var(--muted); margin:22px 0 27px; }.success-card a { color:var(--ink); font-size:14px; font-weight:700; }.promise { padding:57px 25px 62px; text-align:center; color:var(--cream); background:var(--ink); }.promise p { max-width:760px; margin:0 auto 11px; font:clamp(35px, 4vw, 62px)/.94 "Barlow Condensed"; letter-spacing:.1px; text-transform:uppercase; }.promise span { color:#ffbf95; font:16px "Permanent Marker"; }
@media (max-width: 900px) { .hero { min-height:auto; grid-template-columns:1fr; }.hero__content { padding:38px 28px 45px; }.hero__portrait { display:none; }.brand { right:28px; top:22px; }.hero__shape--teal { right:21px; top:134px; }.event-details { flex-wrap:wrap; }.register { padding:70px 28px; grid-template-columns:1fr; }.form-card { max-width:500px; width:calc(100% - 12px); }.success-card { max-width:500px; width:calc(100% - 12px); } }
@media (max-width: 520px) { .brand { width:78px; height:78px; top:18px; }.eyebrow { font-size:10px; letter-spacing:1.6px; margin-top:24px; }.eyebrow span { width:28px; height:3px; } h1 { font-size:59px; letter-spacing:-1px; }.hero__intro { font-size:17px; max-width:270px; }.learn-list { font-size:13px; }.event-details { gap:13px 25px; }.event-details b { font-size:17px; }.event-details > div { gap:6px; }.detail-icon { width:24px; height:24px; }.form-card { padding:0 23px 25px; }.form-card__top { margin:0 -23px 27px; padding:12px 23px; } h3 { font-size:43px; }.register { gap:35px; }.success-card { padding:35px 26px; }.success-card h2 { font-size:48px; } }
