@font-face{font-family:Articulat;src:url('assets/regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Articulat;src:url('assets/bold.otf') format('opentype');font-weight:700;font-display:swap}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;background:#111 url('assets/background.jpg') center/cover fixed;color:#080808;font-family:Articulat,Arial,sans-serif}
.masthead{height:222px;max-width:1920px;margin:auto;padding:18px 4.6% 50px;display:flex;align-items:center;gap:32px}
.masthead span{height:1px;background:#888;flex:1}
.masthead img{width:164px;height:154px;object-fit:contain}
.stage{position:relative;min-height:667px;overflow:hidden;padding:0 24px}
.registration-card{position:relative;z-index:1;width:889px;min-height:667px;margin:0 auto;display:grid;grid-template-columns:372px 1fr;border-radius:44px;overflow:hidden;background:#eaeaea;transform:translateX(38px)}
.hero-art{background:#000 url('assets/hero.png') center center/cover no-repeat}
.form-panel{padding:24px 18px 38px 24px}
h1{font-size:50px;line-height:.92;letter-spacing:-1.2px;font-weight:400;margin:0}
h1 strong{font-weight:700}
.event-type{text-align:right;font-size:32px;line-height:1.15;letter-spacing:-.8px;margin:5px 16px 33px 0}
.description{margin:0 4px 38px}
.description h2{font-size:12px;font-weight:400;margin:0 0 6px}
.description p{font-size:10px;line-height:1.18;margin:0}
.fields{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px 20px}
.first,.last{grid-column:span 5}.age{grid-column:span 3}.email{grid-column:span 7}
input{display:block;width:100%;height:35px;min-width:0;border:1px solid transparent;border-radius:24px;background:#fff;padding:0 23px;font:400 12px Articulat,Arial,sans-serif;color:#111}
input::placeholder{color:#777;opacity:1}
input:focus-visible{outline:2px solid #ff4f00;outline-offset:3px}
input[aria-invalid=true]{border-color:#ad2600}
.fine-print{font-size:10px;line-height:1.2;color:#555;margin:37px 5px 0}
.submit-area{position:relative;width:170px;margin:110px auto 0}
button{position:relative;z-index:1;width:170px;height:50px;border:0;border-radius:30px;background:#ff4f00;color:#fff;font:700 25px Articulat,Arial,sans-serif;cursor:pointer}
button:hover{background:#e94700}button:active{transform:translateY(1px)}button:focus-visible{outline:3px solid #111;outline-offset:4px}
.submit-area img{position:absolute;pointer-events:none;width:174px;height:174px;object-fit:contain;left:103px;top:-88px;z-index:2}
#form-status{font-size:13px;line-height:1.4;margin:16px 0 0;text-align:center}#form-status:empty{display:none}
.side-art{position:absolute;top:0;height:667px;width:1267px;object-fit:cover;border-radius:44px}
.side-left{right:calc(50% + 629px)}.side-right{left:calc(50% + 707px)}
.preview-note{text-align:center;color:#bbb;font:12px Arial,sans-serif;margin:26px 16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Desktop revision: 80% logo, 85% artwork/form, closer static side panels. */
@media(min-width:941px){
 .masthead img{width:131.2px;height:123.2px}
 .stage{min-height:566.95px}
 .registration-card{zoom:.85}
 /* Compensate for the card's 85% scale: rendered text 14px, inputs 40px. */
 .registration-card input{font-size:16.4706px;height:47.0588px;padding-inline:18.8235px}
 .description{margin-bottom:24px}
 .description h2{font-size:16.4706px}
 .description p,.fine-print{font-size:14.1176px;line-height:1.35}
 .event-type{margin-bottom:22px}
 .fine-print{margin-top:24px}
 .submit-area{margin-top:48px}
 .registration-card button{font-size:21.1765px;height:51.7647px}
 .submit-area img{width:150px;height:150px;left:110px;top:-65px}
 .side-art{width:1076.95px;height:566.95px;border-radius:37.4px}
 .side-left{right:calc(50% + 450px)}
 .side-right{left:calc(50% + 515px)}
}
@media(min-width:1921px){.stage{max-width:2200px;margin:auto}}
@media(max-width:1100px){.registration-card{transform:none}.side-art{display:none}.masthead{height:190px;padding-bottom:30px}}
@media(max-width:940px){
 body{background-attachment:scroll;background-size:auto 100%;}
 .masthead{height:136px;padding:20px 22px 24px;gap:20px}.masthead img{width:98px;height:92px}
 .stage{padding:0 18px;min-height:0}.registration-card{width:100%;max-width:480px;min-height:0;grid-template-columns:1fr;border-radius:28px}
 .hero-art{height:240px;background-size:cover;background-position:center 44%}
 .form-panel{padding:26px 22px 28px}h1{font-size:clamp(36px,9vw,48px);letter-spacing:-.7px;line-height:.98}
 .event-type{font-size:25px;margin:10px 0 28px}.description{margin:0 0 26px}.description h2{font-size:14px;margin-bottom:8px}.description p{font-size:13px;line-height:1.45}
 .fields{grid-template-columns:1fr;gap:10px}.fields label{grid-column:auto}input{height:44px;font-size:16px;padding:0 16px}
 .fine-print{font-size:12px;line-height:1.45;margin:24px 0 0}.submit-area{margin-top:48px}.submit-area img{width:125px;height:125px;left:111px;top:-49px}
 button{height:48px;font-size:18px}.preview-note{line-height:1.5;margin:22px 16px 30px}
}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,transform .15s}}
