
:root{--ink:#33243d;--purple:#573365;--muted:#786e7c;--line:#e9e1ea;--cream:#fcf9fc}*{box-sizing:border-box}body{margin:0;background:#faf7fb;color:var(--ink);font:15px system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}header{background:linear-gradient(130deg,#f7e6f3,#eae1fb 60%,#fff5f6);border-bottom:1px solid #e9dbea}.topbar{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:16px 24px}.brand{font-weight:850;letter-spacing:.12em;font-size:15px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#865b8e;text-transform:uppercase}.topright{display:flex;align-items:center;gap:12px}.topright button{background:transparent;color:#6b4a76;border:1px solid #bda9c5;border-radius:100px;padding:9px 15px}.hero{max-width:1120px;margin:auto;padding:28px 24px 48px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:38px}.hero img{width:100%;max-height:340px;object-fit:contain;filter:drop-shadow(0 15px 24px #76508818)}.hero h1{font-size:clamp(38px,5vw,66px);line-height:1.05;letter-spacing:-.055em;margin:14px 0}.hero p{font-size:17px;line-height:1.6;color:#62566c;max-width:480px}.hero .tag{display:inline-block;background:#ffffffaa;border:1px solid #decde5;border-radius:100px;padding:8px 13px;font-size:12px;font-weight:750;color:#64436e}.hero .dates{font-weight:750;color:#65416f;margin-top:20px}main{max-width:1120px;margin:0 auto;padding:28px 24px 70px}.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 12px 30px #36244008}h2{font-size:26px;letter-spacing:-.035em;margin:0 0 8px}p{line-height:1.55;color:#736879}.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.benefits{padding:24px}.benefits p{margin-bottom:20px}.benefits div{padding:11px 0;border-bottom:1px solid var(--line)}.benefits strong{display:block;margin-bottom:4px}.login-card{max-width:500px}label{display:block;font-weight:700;margin:17px 0 8px}input{width:100%;padding:13px 14px;border:1px solid #d7c9db;border-radius:10px;background:#fff}button.primary{background:#583567;color:white;border:0;border-radius:10px;padding:13px 20px;font-weight:750}form button{width:100%;margin-top:16px}.secondary{border:0;background:#f3ecf5;color:#583567;padding:12px 16px;border-radius:10px}.hidden{display:none!important}.message{margin-top:13px;color:#685c72}.error{color:#b32743}.small{font-size:12px}.dashboard{display:none}.authenticated .dashboard{display:block}.authenticated .public-login{display:none}.authenticated .hero{padding-bottom:30px}.authenticated .hero h1{font-size:clamp(34px,4vw,50px)}.authenticated .hero p{display:none}.authenticated .hero img{max-height:210px}.authenticated .topright{display:flex}.topright{display:none}.account{color:#765b7c;font-size:12px}.dashhead{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.dashhead h2{margin:0}.dashhead p{margin:5px 0 0}.refresh{border:1px solid #cbbbd1;background:white;border-radius:10px;padding:10px 16px;color:#583567;font-weight:750}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 12px}.chip{border:1px solid #ddd1e1;background:#fff;color:#694c73;border-radius:100px;padding:9px 16px}.chip.selected{background:#583567;color:#fff;border-color:#583567}.searchbox{max-width:520px}.day{margin-top:32px}.day h2{font-size:21px;margin-bottom:12px}.section{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:18px 4px;border-bottom:1px solid #eee7ef}.section-time{font-weight:800;color:#764e82;font-size:19px}.section h3{margin:0 0 6px;font-size:16px}.muted{color:#776c7e;font-size:13px}.count{font-size:12px;color:#907d94;margin-top:7px}.footnote{color:#8b7d8f;font-size:12px;margin-top:22px}@media(max-width:720px){.hero{grid-template-columns:1fr;gap:0;padding:22px 20px 28px}.hero img{grid-row:1;max-height:190px}.hero h1{font-size:39px}.login-grid{grid-template-columns:1fr}.benefits{display:none}main{padding:18px 14px 50px}.panel{padding:20px}.section{grid-template-columns:66px 1fr;gap:8px}.section-time{font-size:15px}.topbar{padding:14px 20px}.account{display:none}}

.navlinks{display:flex;gap:14px;align-items:center}.navlinks a{font-size:13px;color:#583567;text-decoration:none;font-weight:750}.navlinks .cta{background:#583567;color:white;padding:11px 19px;border-radius:30px}.hero-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.hero-actions a{padding:13px 22px;text-decoration:none;border-radius:12px;font-weight:800;background:#583567;color:white}.hero-actions a.outline{background:#fff;color:#583567;border:1px solid #c9b6d2}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.feature{background:#fff;padding:24px;border-radius:18px;border:1px solid #eee3ef}.feature h3{margin:5px 0}.login-wrap{max-width:520px;margin:30px auto}.login-wrap .panel{padding:34px}.program-main{padding-top:34px}.dashboard{display:block}.section{background:white;padding:16px 14px;border-radius:12px;margin-bottom:8px;border:1px solid #eee7ef}.day{margin-top:34px}.section-time{font-variant-numeric:tabular-nums}.status{font-size:13px;color:#735e7b}.navlinks button{border:1px solid #cdbbd4;border-radius:100px;padding:9px 14px;background:transparent;color:#583567;font-weight:750}@media(max-width:720px){.features{grid-template-columns:1fr}.navlinks{gap:8px}.navlinks a{font-size:12px}.brand{font-size:12px}.login-wrap .panel{padding:22px}}

/* Official event title and tagline */
.hero{grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:22px;padding-top:42px;padding-bottom:58px}
.hero h1{font-size:clamp(54px,6.8vw,105px);font-weight:950;line-height:.98;letter-spacing:-.075em;color:#472650;margin:22px 0 24px;text-wrap:balance}
.hero h1 .event-year{color:#a16bad;font-size:1.08em}
.hero .event-tagline{font-size:clamp(18px,2vw,27px);font-weight:800;letter-spacing:.01em;color:#684172;margin:0 0 20px}
.hero img{max-height:390px}
@media(max-width:720px){.hero{grid-template-columns:1fr;padding-top:18px}.hero h1{font-size:clamp(48px,11vw,72px)}.hero img{max-height:220px}}

.session-group{margin:20px 0 30px;border:1px solid #e9e1ea;border-radius:16px;background:#fff;padding:12px 20px}.session-heading{font-size:17px!important;font-weight:800;color:#583567;margin:4px 0 10px;padding:10px 0;border-bottom:2px solid #eaddec}.session-group .section:last-child{border-bottom:0}

/* Editorial homepage — isolated from login and live-program styles */
.landing-page{min-height:100vh;background:#16101e;color:#fff;display:flex;flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
.landing-page .landing-header{background:#16101e;border-bottom:1px solid #ffffff19;position:relative;z-index:2}
.landing-page .topbar{max-width:1440px;padding:20px clamp(24px,5vw,76px)}
.landing-page .brand{font-size:17px;letter-spacing:.22em;color:#f6e5f6}
.landing-page .brand-sub{display:block;font-size:9px;font-weight:500;letter-spacing:.32em;margin-top:4px;color:#cbb9d3}
.landing-page .navlinks a{color:#ded1e3;font-weight:600;letter-spacing:.04em}
.landing-main{max-width:none;flex:1;width:100%;margin:0;padding:0}
.landing-stage{position:relative;isolation:isolate;min-height:min(800px,calc(100vh - 140px));overflow:hidden;background:radial-gradient(ellipse at 77% 32%,#634168 0%,#2b1b35 43%,#160f1e 78%);display:flex;align-items:center;padding:80px clamp(24px,8vw,128px) 100px}
.stage-glow{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 68% 65%,#e9b4d72a,transparent 48%),linear-gradient(90deg,#1a1024 0%,#211329ee 43%,transparent 80%)}
.stage-art{position:absolute;z-index:-1;top:-10%;right:-4%;width:min(61vw,900px);height:118%;background-image:url('./states-logo.png');background-size:contain;background-position:center;background-repeat:no-repeat;opacity:.76;filter:drop-shadow(0 0 70px #d68ed84d);mask-image:linear-gradient(to right,transparent 0%,black 28%,black 86%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 28%,black 86%,transparent 100%)}
.stage-content{position:relative;max-width:1000px;z-index:1}
.stage-kicker{font-size:11px;letter-spacing:.26em;color:#e4c5e9;font-weight:700;display:flex;align-items:center;gap:12px}
.stage-dot{width:7px;height:7px;background:#d7a3cf;border-radius:50%;box-shadow:0 0 16px #d7a3cf}
.stage-content h1{font-size:clamp(53px,7.1vw,112px);line-height:.94;letter-spacing:-.075em;margin:34px 0 25px;color:#fff;font-weight:850;text-shadow:0 2px 30px #1b0d20a6}
.stage-content h1 span{font-size:.82em;letter-spacing:-.068em;color:#f0cce9}
.stage-content h1 strong{display:block;font-size:1.18em;letter-spacing:-.08em;font-weight:850;background:linear-gradient(115deg,#fff,#e9b9e2 55%,#bd9de6);background-clip:text;-webkit-background-clip:text;color:transparent}
.stage-rule{height:1px;width:95px;background:linear-gradient(90deg,#dca8d7,transparent);margin:27px 0}
.stage-tagline{font-size:clamp(17px,2vw,24px);color:#f4dff1;font-weight:650;letter-spacing:.035em;margin:0 0 16px}
.stage-dates{font-size:14px;letter-spacing:.035em;color:#d7c7d9;margin:0 0 36px}
.stage-button{display:inline-flex;align-items:center;gap:28px;border-radius:4px;background:#e7b8dc;color:#26152d;text-decoration:none;padding:17px 25px;font-weight:800;letter-spacing:.02em;box-shadow:0 16px 45px #0005;transition:transform .2s,background .2s}
.stage-button:hover{transform:translateY(-2px);background:#f7d5ef}
.stage-button span{font-size:20px;font-weight:500}
.stage-bottom{position:absolute;bottom:27px;left:clamp(24px,8vw,128px);right:clamp(24px,8vw,128px);border-top:1px solid #ffffff32;padding-top:17px;color:#d1b9d3;font-size:10px;letter-spacing:.23em;display:flex;gap:20px}
.stage-bottom span{color:#e4b3d6}
.landing-footer{display:flex;justify-content:space-between;gap:20px;padding:22px clamp(24px,5vw,76px);color:#bbaac0;font-size:11px;letter-spacing:.035em;background:#16101e}
@media(max-width:800px){.landing-stage{min-height:740px;align-items:flex-end;padding:290px 24px 100px}.stage-art{width:110%;height:420px;top:-40px;right:-10%;opacity:.57;mask-image:linear-gradient(to bottom,black 0%,black 56%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 0%,black 56%,transparent 100%)}.stage-glow{background:linear-gradient(to top,#180f21 30%,#180f2177 72%,transparent)}.stage-content h1{font-size:clamp(43px,10.4vw,76px);margin:20px 0}.stage-kicker{font-size:9px;letter-spacing:.17em}.stage-bottom{left:24px;right:24px;font-size:9px}.landing-footer{flex-direction:column;gap:6px}}
@media(max-width:400px){.stage-content h1{font-size:43px}.stage-dates{font-size:12px}}

/* Approved visual homepage, responsive artwork and real interactive links. */
body.visual-home{margin:0;background:#68537b;min-height:100vh}
.visual-home .hero-wrap{width:min(100%,1536px);margin:0 auto;position:relative;line-height:0}
.visual-home .hero-picture,.visual-home .hero-picture img{display:block;width:100%;height:auto}
.visual-home .hotspot{position:absolute;display:block;z-index:2;border-radius:40px;outline-offset:3px}
.visual-home .hotspot:focus-visible{outline:4px solid #fff;box-shadow:0 0 0 7px #6d4a91}
.visual-home .hotspot-login{left:84.7%;top:4%;width:10.5%;height:7%}
.visual-home .hotspot-program{left:33.4%;top:63.9%;width:36.7%;height:11.1%}
.visual-home .hotspot-email{left:36%;top:91.3%;width:31%;height:7.2%}
.visual-home .hotspot-facebook{left:86.7%;top:91%;width:3.4%;height:7.1%}
.visual-home .hotspot-instagram{left:90.7%;top:91%;width:3.4%;height:7.1%}
@media(max-width:650px){
 .visual-home .hero-wrap{max-width:100%;}
 .visual-home .hotspot-login{left:72%;top:7%;width:23%;height:7%}
 .visual-home .hotspot-program{left:14%;top:55.7%;width:75%;height:8.3%}
 .visual-home .hotspot-email{left:13%;top:93.1%;width:61%;height:5.5%}
 .visual-home .hotspot-facebook{left:77%;top:92.5%;width:8%;height:6%}
 .visual-home .hotspot-instagram{left:87%;top:92.5%;width:8%;height:6%}
}
