:root { --pink:#cc397a; --pink-dark:#a91f5d; --black:#080808; --ivory:#fffffa; --ink:#171315; --muted:#70686c; --line:#d9d0d4; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100vh; font-family:"DM Sans",Arial,sans-serif; }
.registration-page { background:var(--black); color:var(--ivory); }

.site-header { min-height:92px; padding:18px clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; background:var(--black); border-bottom:1px solid rgba(255,255,250,.14); }
.brand { color:var(--ivory); text-decoration:none; display:flex; align-items:center; }
.brand-logo { display:block; width:118px; height:58px; object-fit:cover; object-position:center; border-radius:2px; }
.header-cta { color:var(--ivory); text-decoration:none; font-size:.78rem; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; padding-bottom:5px; border-bottom:2px solid var(--pink); }

.event-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr); min-height:calc(100vh - 92px); }
.event-intro { position:relative; overflow:hidden; display:flex; align-items:center; min-height:780px; padding:clamp(68px,8vw,120px) clamp(32px,7vw,100px); background:var(--black); }
.intro-content { position:relative; z-index:1; max-width:710px; }
.eyebrow,.form-kicker { margin:0 0 20px; color:var(--pink); font-size:.76rem; font-weight:700; letter-spacing:2.6px; text-transform:uppercase; }
h1 { margin:0; font-family:"Playfair Display",Georgia,serif; font-size:clamp(3.4rem,6.5vw,7rem); line-height:.96; letter-spacing:-.04em; font-weight:600; }
h1 em { color:var(--pink); font-weight:600; }
.event-summary { max-width:630px; margin:34px 0 42px; color:#c9c2c5; font-size:1.02rem; line-height:1.8; }
.event-highlights { display:flex; flex-wrap:wrap; gap:10px 24px; margin:-14px 0 36px; color:var(--ivory); font-size:.78rem; font-weight:700; letter-spacing:.5px; text-transform:uppercase; }
.event-highlights span { display:flex; align-items:center; gap:10px; }
.event-highlights span::before { content:""; width:6px; height:6px; flex:0 0 auto; border-radius:50%; background:var(--pink); }
.event-facts { display:grid; grid-template-columns:1fr 1fr 1.35fr; margin:0; padding:28px 0; border-top:1px solid rgba(255,255,250,.18); border-bottom:1px solid rgba(255,255,250,.18); }
.event-facts>div { padding-right:20px; }
.event-facts>div+div { padding-left:24px; border-left:1px solid rgba(255,255,250,.18); }
.event-facts dt { color:var(--pink); font-size:.7rem; font-weight:700; letter-spacing:1.7px; text-transform:uppercase; margin-bottom:9px; }
.event-facts dd { margin:0; font-size:.88rem; line-height:1.55; }
.ticket-note { margin:25px 0 0; color:#aba3a7; font-size:.84rem; }
.ticket-note strong { color:var(--ivory); }
.decorative-word { position:absolute; bottom:-18px; right:-8px; color:rgba(255,255,250,.025); font-family:"Playfair Display",Georgia,serif; font-size:clamp(8rem,18vw,18rem); line-height:.8; }

.registration-section { background:var(--ivory); color:var(--ink); display:flex; align-items:center; padding:clamp(64px,7vw,110px) clamp(32px,6vw,84px); }
.form-wrap { width:100%; max-width:650px; margin:auto; }
.form-wrap h2 { margin:0; font-family:"Playfair Display",Georgia,serif; font-size:clamp(2.7rem,4.5vw,4.6rem); line-height:1; letter-spacing:-.035em; }
.form-intro { margin:18px 0 38px; color:var(--muted); line-height:1.7; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.field { margin-bottom:25px; }
label { display:flex; justify-content:space-between; gap:15px; margin-bottom:9px; color:var(--ink); font-size:.78rem; font-weight:700; letter-spacing:.3px; }
label span { color:#9a9296; font-weight:400; }
input[type="text"],input[type="email"],select,textarea { width:100%; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:12px 0 13px; background:transparent; color:var(--ink); font:500 1rem "DM Sans",Arial,sans-serif; }
input::placeholder,textarea::placeholder { color:#aaa2a6; }
input:focus,select:focus,textarea:focus { outline:0; border-color:var(--pink); }
textarea { resize:vertical; min-height:72px; }
.field-note { margin:9px 0 0; color:#8d8589; font-size:.72rem; line-height:1.5; }
.checkbox-row { display:grid; grid-template-columns:20px 1fr; gap:12px; align-items:start; margin:5px 0 30px; }
.checkbox-row input { width:18px; height:18px; margin:2px 0 0; accent-color:var(--pink); }
.checkbox-row label { margin:0; color:var(--muted); font-size:.82rem; font-weight:500; line-height:1.55; }
button[type="submit"] { width:100%; min-height:62px; border:0; border-radius:0; padding:0 24px; display:flex; align-items:center; justify-content:space-between; background:var(--pink); color:var(--ivory); font:700 .9rem "DM Sans",Arial,sans-serif; letter-spacing:.5px; text-transform:uppercase; cursor:pointer; transition:background 180ms ease; }
button[type="submit"]:hover { background:var(--pink-dark); }
button[type="submit"]:disabled { opacity:.55; cursor:wait; }
.error { display:none; margin-top:12px; color:#a00038; font-size:.84rem; }
.footnote { margin:17px 0 0; color:#8d8589; font-size:.73rem; line-height:1.5; text-align:center; }

body:not(.registration-page) { background:var(--black); color:var(--ivory); padding:3rem 1.5rem; }
.card.status-page { max-width:680px; margin:10vh auto 0; text-align:center; }
.status-page h1 { color:var(--pink); font-family:"Playfair Display",Georgia,serif; font-size:3rem; }
.status-page a { color:var(--pink); }
table { width:100%; border-collapse:collapse; background:#111; font-size:.85rem; }
th,td { padding:.6rem .8rem; border-bottom:1px solid #2a2a2a; text-align:left; }
th { color:var(--pink); text-transform:uppercase; font-size:.72rem; letter-spacing:.5px; }

@media (max-width:1050px) { .event-layout{grid-template-columns:1fr;} .event-intro{min-height:auto;} .registration-section{min-height:auto;} }
@media (max-width:650px) {
  .site-header{min-height:78px;padding:11px 20px;} .brand-logo{width:100px;height:54px;}
  .event-intro{padding:60px 22px;} .event-summary{font-size:.95rem;} .event-facts{grid-template-columns:1fr;}
  .event-highlights{display:grid;gap:12px;margin-top:-12px;}
  .event-facts>div{padding:15px 0;} .event-facts>div+div{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,250,.14);}
  .registration-section{padding:62px 22px;} .field-row{grid-template-columns:1fr;gap:0;}
}
