*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:#e8ddc4;color:#2b2c25}body{font-family:Arial,sans-serif}html{scrollbar-gutter:stable;overflow-x:clip;overflow-y:auto}body{overflow-x:clip}html.application-open{overflow:hidden}main{position:relative}.hero{height:100svh;min-height:440px;position:relative;overflow:hidden}.event-brand{position:absolute;top:4%;left:3.6%;z-index:2;pointer-events:none}h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(48px,6.2vw,106px);line-height:.92;letter-spacing:-.065em}.event-brand p{margin:16px 0 0 3px;font-size:clamp(16px,1.1vw,20px);line-height:1.3;letter-spacing:.01em}
button{color:inherit;cursor:pointer;background:none;font:inherit}button:focus-visible,a:focus-visible{outline:2px solid #8c794d;outline-offset:5px}nav{position:absolute;right:3.6%;top:4%;z-index:5;display:flex;align-items:center;gap:22px}.header-apply{display:inline-flex;align-items:center;min-height:44px;border:0;padding:12px 0;font-size:13px}.header-apply span{display:inline-block;margin-left:14px;transition:transform .2s}.header-apply:hover span{transform:translate(2px,-2px)}
#scene{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:manipulation}#letter-controls{position:absolute;left:0;top:0;pointer-events:none}#letter-controls button{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}#letter-controls button:focus-visible{clip-path:none;width:auto;height:auto;top:150px;left:40px;padding:10px 14px;background:#f1e8d6;pointer-events:auto;z-index:5;border:1px solid #a69a7e;border-radius:6px}
#error{position:absolute;top:48%;left:10%;right:10%;text-align:center;font-size:14px}
@media(max-width:650px){html,body{background:#e3e0cf}#scene{top:30%;mask-image:linear-gradient(to bottom,transparent,#000 24%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 24%)}h1{font-size:clamp(42px,10.5vw,65px)}.event-brand p{font-size:14px;margin-top:13px}nav{top:4%;gap:14px}}@media(prefers-reduced-motion:reduce){.header-apply span{transition:none}.header-apply:hover span{transform:none}}

@media(prefers-reduced-motion:no-preference){.event-brand,.buildathon-invite{animation:arrive 1s cubic-bezier(.2,.7,.3,1) both}.buildathon-invite{animation-delay:.12s}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
