@font-face{font-family:DM Sans;src:url('/fonts/dm-sans.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Source Serif;src:url('/fonts/source-serif-4.woff2') format('woff2');font-weight:200 900;font-display:swap}
:root{color-scheme:light;--navy:#17384c;--ink:#1d3747;--muted:#586672;--gold:#99722e;--cream:#fbf9f3;--line:#dfddd3}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font:20.4px/1.55 'DM Sans',system-ui,sans-serif;background:radial-gradient(ellipse at 8% 28%,#eadfbc45,transparent 40%),radial-gradient(ellipse at 95% 60%,#deeceb55,transparent 42%),var(--cream)}
.welcome-shell{max-width:1360px;margin:auto;padding:0 56px}.welcome-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}.team-label{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;letter-spacing:2px;color:#5c665f}.team-label>span{width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}.event-date{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:550}.event-date svg{width:21px;height:21px;stroke:var(--gold);stroke-width:1.6;fill:none}
.welcome-hero{text-align:center;padding:24px 0 36px}.festival-banner{display:block;width:min(620px,100%);height:auto;margin:0 auto 10px}.flourish{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:17px}.flourish span{width:40px;height:1px;background:#bfa568}.flourish svg{width:17px;height:17px;fill:var(--gold)}h1{font:500 clamp(40px,4.5vw,62px)/1.08 'Source Serif',Georgia,serif;letter-spacing:-1.5px;margin:0}h1 em{font-style:italic;color:#8b6828;font-weight:500}.hero-copy>p{margin:20px 0 0;color:var(--muted);font-size:20.4px}.mobile-break{display:none}
.entrances{display:grid;grid-template-columns:1fr 1fr;gap:24px}.entrance{display:flex;flex-direction:column;text-decoration:none;border-radius:24px;padding:32px 36px 25px;position:relative;isolation:isolate;transition:box-shadow .2s ease,border-color .2s ease;overflow:hidden}.entrance:before{content:'';position:absolute;width:240px;height:240px;border-radius:50%;top:-115px;right:-110px;border:1px solid #ffffff16;box-shadow:0 0 0 28px #ffffff05,0 0 0 56px #ffffff03;z-index:-1}.committee-entrance{color:#fff;background:linear-gradient(120deg,#173b50,#102d40);border:1px solid #173b50;box-shadow:0 12px 28px #142f481c}.organizer-entrance{color:var(--ink);background:#fffefa;border:1px solid #ddd7c8;box-shadow:0 8px 24px #3b422908}.organizer-entrance:before{border-color:#cdb5722c;box-shadow:0 0 0 28px #cdb57209,0 0 0 56px #cdb57206}.card-top{display:flex;gap:18px;align-items:center;margin-bottom:23px}.card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;flex-shrink:0;background:#ffffff0d;border:1px solid #e4c78345;color:#f5d99b}.card-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.organizer-entrance .card-icon{color:#8c682a;background:#f3eddd;border-color:#e4d8be}.card-audience{font-size:13px;font-weight:700;letter-spacing:1.5px;color:#e4cb95}.organizer-entrance .card-audience{color:#7a5d2b}.entrance h2{font-size:30px;line-height:1.22;font-weight:600;letter-spacing:-.65px;margin:0 0 16px}.entrance p{margin:0 0 26px;max-width:430px;font-size:20.4px;line-height:1.55;color:#d3dfe6}.organizer-entrance p{color:var(--muted)}.card-foot{margin-top:auto;padding-top:22px;border-top:1px solid #ffffff26;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:20.4px;font-weight:650}.organizer-entrance .card-foot{border-color:#e5dfd0}.arrow-circle{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:#e4c78c;color:#16384c;transition:background .2s}.arrow-circle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.organizer-entrance .arrow-circle{background:var(--navy);color:white}.committee-entrance:hover{box-shadow:0 16px 36px #142f4830;border-color:#b39966}.committee-entrance:hover .arrow-circle{background:#f3dcae}.organizer-entrance:hover{border-color:#b19863;box-shadow:0 12px 28px #353c2a14}.entrance:active{box-shadow:0 3px 10px #142f4820}.entrance:focus-visible{outline:3px solid #94681c;outline-offset:6px}.welcome-note{display:flex;align-items:center;justify-content:center;gap:12px;font-size:17px;color:#64716f;margin:28px 0 34px}.welcome-note svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:#8d794a;stroke-width:1.5;stroke-linejoin:round}footer{border-top:1px solid var(--line);padding:22px 0 26px;display:flex;justify-content:space-between;gap:18px;font-size:14px;color:#64716f}.preview-note{color:#657078;text-align:right}.footer-dot{padding:0 5px}.skip{position:absolute;top:-90px;left:20px;background:white;color:var(--navy);padding:12px 16px;z-index:5;border-radius:6px}.skip:focus{top:12px;outline:3px solid var(--gold)}
@media(min-width:1400px){.welcome-hero{padding-top:24px}.entrance{padding:36px 40px 28px}}
@media(max-width:1000px){.welcome-shell{padding:0 28px}.entrance{padding:26px 26px 22px}.card-top{gap:12px}.card-audience{font-size:12px;letter-spacing:1px}.entrance h2{font-size:27px}.card-foot{font-size:19px}.entrance p{font-size:20.4px}footer{flex-direction:column;gap:6px;text-align:center}.preview-note{text-align:center}}
@media(max-width:700px){.welcome-shell{padding:0 20px}.welcome-header{padding:20px 0;gap:14px;flex-wrap:wrap}.team-label{font-size:12px;letter-spacing:1.2px}.event-date{font-size:15px}.event-date svg{width:18px;height:18px}.welcome-hero{padding:18px 0 28px}.festival-banner{margin-bottom:18px;width:min(560px,100%)}.flourish{margin-bottom:18px}h1{font-size:clamp(36px,7.4vw,48px);letter-spacing:-1px}.hero-copy>p{margin-top:17px;font-size:20.4px}.mobile-break{display:block}.entrances{grid-template-columns:1fr;gap:20px}.entrance{padding:26px 24px 23px;border-radius:20px}.card-top{margin-bottom:20px;gap:14px}.card-audience{font-size:12px;letter-spacing:1.1px}.entrance h2{font-size:29px}.entrance p{margin-bottom:22px}.card-foot{font-size:20.4px;gap:12px}.welcome-note{font-size:16px;align-items:flex-start;text-align:center;margin:26px 8px}.welcome-note svg{margin-top:3px}footer{font-size:13px}.footer-dot{display:none}footer>span:first-child{max-width:300px;margin:auto}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
