:root{--navy:#150b36;--navy-2:#1d1045;--purple:#4e2e91;--purple-deep:#361970;--pink:#e42b9c;--cyan:#82b9e8;--lime:#8cf664;--orange:#e99b2d;--white:#fff;--ink:#231a3e;--muted:#c9c1db;--heading:"Bahnschrift Condensed","Arial Narrow",Impact,sans-serif;--body:"Montserrat","Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:#fff;font-family:var(--body);line-height:1.55}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:.98}h1,h2{font-family:var(--heading);font-weight:900;letter-spacing:-.025em;text-transform:uppercase}h1{font-size:clamp(4.7rem,9.5vw,10rem)}h2{font-size:clamp(3.4rem,6.2vw,6.9rem)}h3{font-size:clamp(1.45rem,2.3vw,2.25rem)}p{line-height:1.6}.wrap{width:min(100% - 64px,1320px);margin-inline:auto}.section-pad{padding:110px 0}.eyebrow{font-size:.81rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;line-height:1.3}.muted{opacity:.7}.centre{text-align:center}.section-heading{margin-bottom:58px}.section-heading h2{margin-bottom:16px}.section-heading p:last-child{max-width:770px;margin-inline:auto}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:45px}.split-heading>p{max-width:380px;margin:0 0 10px}.split-heading h2{margin:0}
.site-header{position:relative;z-index:50;background:var(--navy);height:100px}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{flex:0 0 auto;width:205px}.brand img{width:100%;height:auto}.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,1.65vw,28px);font-size:.88rem;font-weight:700}.site-nav>a:not(.button):not(.ticket-cta){white-space:nowrap;transition:color .2s}.site-nav>a:not(.button):not(.ticket-cta):hover,.site-nav>a[aria-current=page]{color:var(--lime)}.site-nav .button{padding:12px 18px;font-size:.72rem;white-space:nowrap}.menu-toggle{display:none;border:0;background:transparent;padding:10px}.menu-toggle span{display:block;width:27px;height:3px;margin:5px;background:#fff}.announcement{position:relative;z-index:40;background:var(--lime);color:#16152e;text-align:center;padding:13px 20px;font-weight:900;font-size:.91rem;letter-spacing:.015em;line-height:1.25}.announcement strong{white-space:nowrap}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:53px;padding:14px 23px;border:2px solid transparent;border-radius:2px;text-transform:uppercase;font-size:.8rem;font-weight:900;letter-spacing:.07em;line-height:1.1;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:1.25rem;line-height:.7}.button-pink{background:var(--pink);color:white}.button-lime{background:var(--lime);color:var(--navy)}.button-outline{border-color:white;color:white;background:transparent}.button-outline:hover{background:#fff;color:var(--navy)}.button-dark{background:var(--navy);color:white}.button-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.hero{position:relative;min-height:780px;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;background:#32176f}.home-hero{background-image:linear-gradient(180deg,rgba(64,18,88,.72),rgba(42,20,100,.88)),url("assets/event-stage.png");background-size:cover;background-position:center}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 36%,rgba(212,45,189,.18),transparent 45%)}.hero-shade{position:absolute;inset:auto 0 0;height:50%;background:linear-gradient(transparent,#2b145f)}.hero-content{position:relative;z-index:1;padding:75px 0 95px}.hero-logo{width:min(380px,62vw);max-height:145px;object-fit:contain;margin:0 auto 28px;filter:drop-shadow(0 7px 18px #170837)}.hero h1{max-width:1100px;margin:0 auto 18px;font-size:clamp(5rem,8.4vw,8.8rem);line-height:.83;text-shadow:0 3px 14px rgba(16,6,43,.3)}.hero h1 span{color:#fff}.hero-sub{font-family:var(--heading);font-size:clamp(1.45rem,2.4vw,2.4rem);font-weight:900;text-transform:uppercase;margin:28px 0 14px}.ribbon{display:table;margin:0 auto 16px;padding:8px 48px;background:var(--orange);color:#fff;font-size:clamp(.9rem,1.35vw,1.25rem);line-height:1.15;font-weight:900;letter-spacing:.06em;clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%)}.hero-detail{max-width:750px;margin:0 auto 26px;font-size:1.05rem;font-weight:600}.scroll-hint{position:absolute;z-index:2;bottom:23px;left:50%;transform:translateX(-50%);font-size:.65rem;letter-spacing:.18em;font-weight:800}.scroll-hint span{display:block;font-size:1.25rem;margin-top:3px}
.speaker-section{background:var(--navy)}.speaker-section h2{font-size:clamp(3.5rem,5.2vw,6rem)}.speaker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.speaker-card{text-align:center}.speaker-photo{width:min(100%,205px);aspect-ratio:1;border-radius:50%;margin:0 auto 18px;position:relative;overflow:hidden;background:linear-gradient(135deg,#812b9a,#de45a5);border:5px solid rgba(255,255,255,.15);display:grid;place-items:center}.speaker-photo span{font-family:var(--heading);font-size:4rem;color:#fff}.speaker-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.speaker-card h3{font-size:clamp(1.45rem,2vw,2rem);text-transform:uppercase;margin:0 0 5px}.speaker-card p{font-size:.85rem;color:#d4cfe0;margin:0}.section-action{margin-top:48px}
.statement-section{background:#4d2a90}.statement-section h2{font-family:var(--body);font-size:clamp(3.1rem,5.6vw,6rem);letter-spacing:-.07em;line-height:1.05;max-width:1200px}.statement-section h2 em{font-style:normal;color:#ef4baa}.statement-section h2 span{color:#92d8ff}.statement-bottom{display:flex;justify-content:space-between;gap:35px;align-items:end}.statement-bottom p{max-width:680px;margin:0;font-size:1.2rem}.brands-section{background:#09090d}.brands-section h2{font-size:clamp(3.5rem,5.2vw,6rem)}.brand-context{text-transform:uppercase;font-size:.76rem;letter-spacing:.12em;color:#ac9fb9;font-weight:800}.brand-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.brand-tile{aspect-ratio:2.5/1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border:1px solid #ddd;border-radius:8px;padding:18px}.brand-tile img{max-height:65px;width:100%;object-fit:contain}.brand-tile strong{color:#292036;font-weight:900;font-size:1.4rem;text-align:center}
.network-section{background:var(--pink)}.network-section>div>h2{margin-bottom:45px}.network-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.network-card{padding:44px 46px;min-height:375px;color:var(--navy)}.pink-card{background:#f6b9df}.blue-card{background:#8bc2e9}.network-number{font-family:var(--heading);font-size:5.6rem;line-height:.9;font-weight:900}.network-card h3{max-width:420px;margin:10px 0 20px;font-size:2.6rem}.network-card p{max-width:500px}.network-card .button{margin-top:12px}
.experience-section{background:#f2eff5;color:var(--ink)}.experience-section .eyebrow,.experience-section h2{color:var(--purple-deep)}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.experience-card{background:#fff;box-shadow:0 16px 35px rgba(28,14,52,.1);display:flex;flex-direction:column}.experience-image{aspect-ratio:1.3/1;background-image:linear-gradient(180deg,rgba(45,24,91,.1),rgba(45,24,91,.18)),var(--photo);background-position:center;background-size:cover;background-color:#5b388e}.experience-copy{padding:25px 26px 30px;display:flex;flex-direction:column;flex:1}.experience-copy>span{font-size:.67rem;letter-spacing:.15em;font-weight:900;color:var(--pink)}.experience-copy h3{font-size:clamp(1.9rem,2.45vw,2.5rem);color:var(--purple-deep);margin:16px 0 13px}.experience-copy p{font-size:.92rem}.experience-copy a{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;border-top:1px solid #ddd;color:var(--purple-deep);font-size:.77rem;letter-spacing:.06em;font-weight:900;text-transform:uppercase}
.ticket-callout{background:radial-gradient(circle at 80% 50%,#8a35b2,transparent 46%),linear-gradient(120deg,#421a81,#1b0d45)}.ticket-callout-inner{display:flex;justify-content:space-between;align-items:center;gap:60px}.ticket-callout h2{margin-bottom:16px}.ticket-callout p:last-child{font-size:1.1rem}.ticket-callout-cta{text-align:center;flex:0 0 260px}.free-stamp{font-family:var(--heading);font-size:5.5rem;line-height:.75;font-weight:900;color:var(--lime);transform:rotate(-8deg);margin-bottom:40px}.free-stamp span{display:block;margin-top:12px;font:900 .78rem var(--body);letter-spacing:.22em;transform:rotate(8deg)}
.inner-hero{min-height:530px;display:flex;align-items:end;position:relative;background-image:linear-gradient(90deg,rgba(27,8,66,.97),rgba(48,15,100,.76) 58%,rgba(37,10,78,.45)),var(--photo);background-size:cover;background-position:center;padding:95px 0 75px}.inner-hero:after{content:"";position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(transparent,rgba(25,10,57,.5))}.inner-hero>.wrap{position:relative;z-index:1}.inner-hero h1{font-size:clamp(5rem,7.5vw,8rem);margin:12px 0 20px;max-width:1000px}.inner-hero p:last-child{font-size:1.1rem;max-width:700px;font-weight:600}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.two-col>div:last-child{padding-top:20px}.two-col p{font-size:1.08rem}.two-col .button{margin-top:14px}.about-intro,.speaker-page-section,.schedule-section,.travel-section,.involved-section,.tickets-section{background:#f2eff6;color:var(--ink)}.about-intro h2,.speaker-page-section h2,.schedule-section h2,.travel-section h2{color:var(--purple-deep)}.about-intro .eyebrow,.speaker-page-section .eyebrow,.schedule-section .eyebrow,.travel-section .eyebrow,.involved-section .eyebrow,.tickets-section .eyebrow{color:var(--pink)}.stats-strip{padding:55px 0;background:var(--pink)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}.stats-grid div{display:grid;gap:3px;border-right:1px solid rgba(255,255,255,.35)}.stats-grid div:last-child{border:0}.stats-grid strong{font-family:var(--heading);font-size:3.9rem;line-height:1}.stats-grid span{font-size:.72rem;letter-spacing:.16em;font-weight:900}.values-section{background:var(--navy)}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.three-grid article{background:#24134d;padding:35px}.three-grid b{color:var(--pink);font-size:.86rem}.three-grid h3{margin:22px 0 15px}.three-grid p{color:#d4cce0}.large-grid{margin-top:40px}.large-grid .speaker-photo{width:min(100%,250px)}.purple-panel{background:linear-gradient(120deg,#4c258b,#271354)}.purple-panel h2{margin-bottom:0}.purple-panel .eyebrow{color:var(--lime)}.purple-panel .two-col>div:last-child{padding-top:50px}
.notice-card{display:grid;grid-template-columns:220px 1fr auto;gap:32px;align-items:center;background:var(--navy);color:#fff;padding:35px 40px;margin-bottom:100px}.notice-card>span{font-family:var(--heading);font-size:2.3rem;line-height:.95;color:var(--lime)}.notice-card h2{color:#fff;font-size:2.4rem;margin:0 0 6px}.notice-card p{margin:0}.notice-card .button{min-width:160px}.topics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.topics-grid article{min-height:245px;background:white;padding:30px;border-top:7px solid var(--pink);box-shadow:0 12px 25px rgba(25,10,57,.07)}.topics-grid article:nth-child(3n+2){border-color:var(--cyan)}.topics-grid article:nth-child(3n){border-color:var(--purple)}.topics-grid span{color:var(--pink);font-size:.8rem;font-weight:900}.topics-grid h3{color:var(--purple-deep);margin:18px 0 10px}.topics-grid p{font-size:.9rem}.sponsors-page{background:#eae6f0;color:var(--ink)}.sponsors-page h2{color:var(--purple-deep)}.sponsors-page .eyebrow{color:var(--pink)}.travel-photo{min-height:370px;background-image:var(--photo);background-color:#65419d;background-size:cover;background-position:center}.travel-section .two-col>div:last-child{padding:0}.history-section{background:var(--purple-deep)}.history-section .eyebrow{color:var(--lime)}.history-section .two-col>div:last-child{padding-top:35px}.experiences-page{background:#eeeaf3;color:var(--ink)}.experiences-page h2{color:var(--purple-deep)}.experiences-page .eyebrow{color:var(--pink)}.six-grid{grid-template-columns:repeat(3,1fr)}.involved-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.involved-grid article{background:#fff;padding:40px;border-top:8px solid var(--purple)}.involved-grid article:nth-child(2n){border-color:var(--pink)}.involved-grid span{font-size:.82rem;color:var(--pink);font-weight:900}.involved-grid h2{font-size:3rem;color:var(--purple-deep);margin:20px 0 10px}.contact-panel{margin-top:60px;padding:50px;background:var(--navy);color:#fff}.contact-panel h2{font-size:4rem}.contact-panel p{max-width:650px}.contact-panel .button{margin-top:12px}
.tickets-layout{display:grid;grid-template-columns:1.02fr .98fr;gap:30px;align-items:start}.ticket-card{background:linear-gradient(150deg,#49228c,#230e4c);color:white;padding:42px;box-shadow:0 22px 45px rgba(26,11,60,.2);position:relative;overflow:hidden}.ticket-card:after{content:"";position:absolute;width:300px;height:300px;border:55px solid rgba(228,43,156,.15);border-radius:50%;right:-120px;top:-150px}.ticket-card .eyebrow{color:var(--lime)}.ticket-top{display:flex;justify-content:space-between;gap:15px;align-items:start}.ticket-top h2{font-size:3.6rem;max-width:300px}.price{color:var(--lime);font-family:var(--heading);font-size:4.3rem;font-weight:900;line-height:.8;text-align:right}.price span{display:block;margin-top:12px;font:900 .76rem var(--body);letter-spacing:.15em}.check-list{list-style:none;margin:28px 0 50px;padding:0;position:relative;z-index:1}.check-list li{padding:11px 0 11px 32px;border-bottom:1px solid rgba(255,255,255,.24);position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--lime);font-weight:900}.ticket-bottom{border-top:2px dashed rgba(255,255,255,.5);padding-top:25px;display:flex;justify-content:space-between;gap:15px;font-size:.7rem;font-weight:900;letter-spacing:.13em}.ticket-form-card{padding:42px;background:#fff;box-shadow:0 22px 45px rgba(26,11,60,.09)}.ticket-form-card h2{color:var(--purple-deep);font-size:3.9rem;margin:10px 0 15px}.ticket-form-card>p:not(.eyebrow){font-size:.93rem}.ticket-form-card form{margin-top:25px}.ticket-form-card label{display:block;text-transform:uppercase;font-size:.71rem;font-weight:900;letter-spacing:.09em;margin-bottom:17px}.ticket-form-card input,.ticket-form-card select{width:100%;display:block;margin-top:7px;padding:14px 13px;border:1px solid #c6bfd1;border-radius:2px;background:#fff;color:var(--ink);outline-color:var(--pink);font-size:.94rem;font-weight:400;letter-spacing:0}.full-button{width:100%;margin-top:8px}.form-note{font-size:.76rem;color:#655b71;margin:15px 0 0}.form-message{margin-top:15px;color:#b62d4f;font-size:.85rem;font-weight:800}.form-message.success{color:#207b3a}
.site-footer{background:#100827;padding:100px 0 25px}.footer-lead{padding-bottom:80px;border-bottom:1px solid #564d70;display:flex;flex-direction:column;align-items:start}.footer-lead h2{font-size:clamp(4rem,6.4vw,7.2rem)}.footer-lead h2 em{font-style:normal;color:var(--pink)}.footer-lead .eyebrow{color:var(--lime)}.footer-grid{display:grid;grid-template-columns:2.3fr 1fr 1fr 1.3fr;gap:50px;padding:60px 0}.footer-logo{display:block;width:220px;margin-bottom:20px}.footer-grid p{color:#bbb2cc;font-size:.85rem;max-width:330px}.footer-grid h3{font:900 .8rem var(--body);letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px}.footer-grid a:not(.footer-logo){display:block;color:#d3cbe0;font-size:.85rem;margin-bottom:11px}.footer-grid a:hover{color:var(--lime)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #403759;padding-top:22px;color:#9489a8;text-transform:uppercase;font-size:.62rem;letter-spacing:.1em}
@media(max-width:1100px){.site-header{height:85px}.brand{width:170px}.site-nav{gap:12px;font-size:.73rem}.site-nav .button{font-size:.65rem;padding:11px}.experience-grid{gap:16px}.experience-copy{padding:20px}.notice-card{grid-template-columns:170px 1fr}.notice-card .button{grid-column:2;justify-self:start}.ticket-top h2{font-size:3rem}}
@media(max-width:800px){.wrap{width:min(100% - 38px,1320px)}.section-pad{padding:75px 0}.site-header{height:78px}.brand{width:172px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--navy);padding:20px;box-shadow:0 18px 30px #10082770;flex-direction:column;align-items:stretch;gap:0;font-size:1rem}.site-nav.is-open{display:flex}.site-nav>a:not(.button):not(.ticket-cta){padding:12px;border-bottom:1px solid #3a2a66}.site-nav .button{margin-top:16px;justify-content:center}.announcement{font-size:.72rem}.hero{min-height:680px}.hero-content{padding:60px 0 90px}.hero h1{font-size:clamp(4.2rem,12vw,7rem)}.speaker-grid{grid-template-columns:repeat(2,1fr)}.statement-bottom,.split-heading,.ticket-callout-inner{display:block}.statement-bottom .button,.split-heading .button{margin-top:24px}.brand-wall{grid-template-columns:repeat(2,1fr)}.network-grid,.two-col,.tickets-layout{grid-template-columns:1fr}.network-card{min-height:0}.experience-grid,.six-grid,.topics-grid,.three-grid{grid-template-columns:repeat(2,1fr)}.ticket-callout-cta{margin-top:45px;text-align:left}.free-stamp{display:inline-block;margin-right:30px}.footer-grid{grid-template-columns:repeat(2,1fr)}.inner-hero{min-height:480px}.inner-hero h1{font-size:clamp(4.5rem,10vw,7rem)}.notice-card{grid-template-columns:1fr}.notice-card .button{grid-column:auto}.travel-section .two-col>div:last-child{padding:0}.history-section .two-col>div:last-child{padding-top:0}}
@media(max-width:560px){.wrap{width:min(100% - 30px,1320px)}.section-pad{padding:62px 0}.eyebrow{font-size:.68rem}.announcement{font-size:.62rem;padding:10px 12px}.announcement strong{display:block}.hero{min-height:710px}.hero-logo{width:235px;margin-bottom:20px}.hero h1{font-size:clamp(4rem,15.5vw,5.8rem);line-height:.88}.hero-sub{font-size:1.42rem}.ribbon{padding:9px 24px;font-size:.75rem}.hero-detail{font-size:.89rem}.hero .button-row{flex-direction:column;align-items:stretch}.button-row .button{justify-content:space-between}.scroll-hint{display:none}.section-heading{margin-bottom:35px}h2{font-size:clamp(3.25rem,13vw,4.5rem)}.speaker-grid{gap:24px 14px}.speaker-photo{width:145px}.speaker-card h3{font-size:1.35rem}.speaker-card p{font-size:.75rem}.statement-section h2{font-size:clamp(2.6rem,10vw,4rem)}.statement-bottom p{font-size:1rem}.brand-wall{gap:8px}.brand-tile{padding:10px;aspect-ratio:1.9/1}.brand-tile img{max-height:45px}.network-card{padding:30px}.network-number{font-size:4.7rem}.network-card h3{font-size:2.1rem}.experience-grid,.six-grid,.topics-grid,.three-grid,.involved-grid{grid-template-columns:1fr}.experience-image{aspect-ratio:1.6/1}.ticket-callout h2{font-size:3.8rem}.free-stamp{font-size:4.7rem}.inner-hero{min-height:420px;padding:70px 0 55px}.inner-hero h1{font-size:clamp(4rem,13vw,5.8rem)}.inner-hero p:last-child{font-size:.91rem}.about-intro .two-col>div:last-child,.purple-panel .two-col>div:last-child{padding-top:0}.stats-grid{gap:8px}.stats-grid strong{font-size:2.5rem}.stats-grid span{font-size:.55rem}.ticket-card,.ticket-form-card{padding:27px}.ticket-top h2{font-size:2.6rem}.price{font-size:3.4rem}.ticket-bottom{display:block}.ticket-bottom span{display:block;margin-top:6px}.footer-lead{padding-bottom:55px}.footer-grid{gap:30px 15px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.inquiry-panel{display:grid;grid-template-columns:.88fr 1.12fr;gap:48px;align-items:start;margin-top:60px;padding:48px;background:var(--navy);color:#fff;scroll-margin-top:30px}.inquiry-panel h2{font-size:clamp(3.3rem,4.6vw,5.3rem);margin:15px 0 20px}.inquiry-panel>div>p:last-child{max-width:430px}.inquiry-panel form{background:#fff;color:var(--ink);padding:32px}.inquiry-panel label{display:block;text-transform:uppercase;font-size:.71rem;font-weight:900;letter-spacing:.09em;margin-bottom:17px}.inquiry-panel input,.inquiry-panel select,.inquiry-panel textarea{width:100%;display:block;margin-top:7px;padding:14px 13px;border:1px solid #c6bfd1;border-radius:2px;background:#fff;color:var(--ink);outline-color:var(--pink);font-size:.94rem;font-weight:400;letter-spacing:0;resize:vertical}.inquiry-panel .form-message{margin-bottom:0}
@media(max-width:800px){.inquiry-panel{grid-template-columns:1fr;gap:28px;padding:35px}}
@media(max-width:560px){.inquiry-panel{padding:25px}.inquiry-panel form{padding:23px}}

/* Original conference footage sits beneath the existing hero content. */
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; pointer-events: none; }
.home-hero.has-video .hero-video { opacity: 1; }
.home-hero::before { z-index: 1; pointer-events: none; }
.home-hero .hero-shade { z-index: 1; pointer-events: none; }
.home-hero.has-video .hero-shade { inset: 0; height: 100%; background: linear-gradient(180deg, #27113b70, #251157aa 65%, #2b145f); }
.home-hero .hero-content { z-index: 2; }
.hero-video-toggle { position: absolute; z-index: 3; right: 24px; bottom: 22px; display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 10px 14px; border: 1px solid #ffffff50; border-radius: 999px; background: #150b3699; color: white; font: 600 11px/1.2 var(--body); cursor: pointer; backdrop-filter: blur(10px); }
.hero-video-toggle[hidden] { display: none; }
.hero-video-toggle svg { width: 13px; height: 13px; }
.hero-video-toggle .hero-video-pause, .hero-video-toggle.is-playing .hero-video-play { display: none; }
.hero-video-toggle.is-playing .hero-video-pause { display: block; }
.hero-video-toggle:hover { background: #281451; border-color: #ffffffaa; }
.hero-video-toggle:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }
@media (max-width: 560px) { .hero-video-toggle { right: 15px; bottom: 18px; } }

/* Ticket actions share one visual language across the site. */
.ticket-cta {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: fit-content;
  max-width: 100%;
  min-height: 58px;
  padding: 11px 13px 11px 21px;
  border: 1px solid #b7ff99;
  border-radius: 8px;
  background: linear-gradient(115deg, #b4ff8c, var(--lime) 65%);
  color: var(--navy);
  box-shadow: 0 4px 0 #4b953c, 0 0 24px #8cf66470, 0 12px 28px #09051d40;
  font-family: var(--body);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.015em;
  text-transform: none;
  white-space: nowrap;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.ticket-cta::before { content: ""; position: absolute; z-index: -1; inset: -4px; border-radius: inherit; background: var(--lime); filter: blur(15px); opacity: .28; pointer-events: none; }
.ticket-cta--hero::before, .ticket-cta--dock::before, .ticket-cta--popup::before { animation: ticket-halo 3s ease-in-out infinite; }
@keyframes ticket-halo { 0%, 100% { opacity: .24; } 50% { opacity: .6; } }
.ticket-cta-icon { width: 24px; height: 24px; flex: 0 0 auto; }
.ticket-cta-label { flex: 1 1 auto; }
.ticket-cta-arrow {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  margin-left: 7px;
  border-radius: 5px;
  background: var(--navy);
  color: var(--lime);
  font: 500 24px/1 Arial, sans-serif;
  transition: transform .18s ease;
}
.ticket-cta--header { min-height: 46px; gap: 8px; padding: 8px 9px 8px 13px; font-size: 12px; box-shadow: 0 3px 0 #4b953c, 0 0 22px #8cf66466; }
.ticket-cta--header .ticket-cta-icon { width: 18px; height: 18px; }
.ticket-cta--header .ticket-cta-arrow { width: 27px; height: 27px; flex-basis: 27px; margin-left: 2px; font-size: 20px; }
.ticket-cta--hero { min-height: 68px; padding: 15px 16px 15px 25px; font-size: 17px; gap: 14px; box-shadow: 0 5px 0 #4b953c, 0 0 34px #8cf66480, 0 12px 50px #8cf66430; }
.ticket-cta--hero .ticket-cta-arrow { width: 36px; height: 36px; flex-basis: 36px; margin-left: 18px; }
.hero-actions { margin-top: 30px; }
.hero-actions .button-row { align-items: stretch; gap: 18px; }
.hero-actions .button-outline { min-height: 68px; border-radius: 8px; border-color: #ffffff66; background: #150b362e; }
.claim-support { margin: 20px 0 0; color: #e4ddec; font-size: 12px; font-weight: 600; letter-spacing: .025em; }
.claim-support>span:first-child { color: var(--lime); margin-right: 5px; }
.claim-support-dot { display: inline-block; margin: 0 10px; opacity: .65; }
.claim-pass {
  flex: 0 0 390px;
  padding: 30px;
  border: 1px solid #ffffff3d;
  border-radius: 16px;
  background: linear-gradient(145deg, #24124ce8, #130a30f5);
  box-shadow: 0 24px 60px #0c052a55;
}
.claim-pass-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--lime); font-size: 11px; letter-spacing: .13em; font-weight: 800; }
.claim-pass-price { margin: 28px 0; font-family: var(--heading); font-size: 86px; font-weight: 900; line-height: .85; }
.claim-pass-price>span { display: block; margin-top: 13px; color: #c9bddb; font: 600 10px/1.3 var(--body); letter-spacing: .17em; }
.claim-pass-details { display: flex; justify-content: space-between; gap: 12px; padding: 21px 0; margin-bottom: 22px; border-top: 1px dashed #9482b3; border-bottom: 1px dashed #9482b3; font-size: 10px; font-weight: 800; letter-spacing: .07em; }
.ticket-cta--pass { width: 100%; }
.claim-pass>p:last-child { margin: 17px 0 0; text-align: center; color: #c9bddb; font-size: 11px; }
.travel-section .ticket-cta { margin-top: 14px; }
#claim-ticket { scroll-margin-top: 28px; }
body { padding-bottom: calc(116px + env(safe-area-inset-bottom, 0px)); }
.ticket-dock { display: flex; position: fixed; z-index: 55; inset: auto 0 0; justify-content: center; padding: 15px 24px calc(19px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #b98deb66; background: linear-gradient(110deg, #29124ff7, #150b36fa 60%); box-shadow: 0 -8px 35px #0d052b66, 0 -1px 18px #e42b9c22; backdrop-filter: blur(18px); }
.ticket-dock::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--pink), var(--cyan), var(--lime), transparent); }
.ticket-dock-inner { display: grid; grid-template-columns: minmax(0,1fr) 240px auto; width: min(1160px,100%); align-items: center; gap: 30px; }
.ticket-dock-details { display: flex; align-items: center; gap: 13px; }
.ticket-dock-details>div:last-child { display: grid; gap: 5px; }
.ticket-dock-details strong { font-size: 12px; letter-spacing: .035em; line-height: 1.3; }
.ticket-dock-details span { color: #cec1de; font-size: 11px; }
.ticket-dock-mark { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid #bd96f455; border-radius: 11px; background: #b885ed14; color: var(--lime); }
.ticket-cta--dock { min-height: 56px; font-size: 15px; padding: 10px 12px 10px 19px; box-shadow: 0 4px 0 #4b953c, 0 0 28px #8cf66480; }
.button:focus-visible, .menu-toggle:focus-visible, .site-nav>a:focus-visible { outline: 3px solid var(--cyan); outline-offset: 5px; }
.ticket-cta:focus-visible { outline: 3px solid white; outline-offset: 4px; box-shadow: 0 0 0 7px var(--purple-deep); }
@media (hover: hover) {
  .ticket-cta:hover { background: #baff9e; color: var(--navy); transform: translateY(-2px); box-shadow: 0 6px 0 #4b953c, 0 0 42px #8cf664aa, 0 16px 30px #09051d35; }
  .ticket-cta:hover .ticket-cta-arrow { transform: translateX(2px); }
  .hero-actions .button-outline:hover { background: white; color: var(--navy); }
}
.ticket-cta:active { transform: translateY(2px); box-shadow: 0 1px 0 #4b953c; }
@media (max-width: 1100px) {
  .notice-card>.ticket-cta { grid-column: 2; justify-self: start; }
  .claim-pass { flex-basis: 350px; padding: 26px; }
}
@media (max-width: 1180px) {
  .site-header { height: 78px; }
  .menu-toggle { display: block; }
  .site-nav { display: none; position: absolute; top: 78px; left: 0; right: 0; padding: 20px; background: var(--navy); box-shadow: 0 18px 30px #10082770; flex-direction: column; align-items: stretch; gap: 0; font-size: 1rem; }
  .site-nav.is-open { display: flex; }
  .site-nav>a:not(.button):not(.ticket-cta) { padding: 12px; border-bottom: 1px solid #3a2a66; }
  .site-nav>.ticket-cta { width: 100%; margin-top: 18px; min-height: 50px; font-size: 14px; }
  .site-nav.is-open { max-height: calc(100dvh - 215px); overflow-y: auto; }
  .ticket-dock-inner { gap: 22px; }
  .ticket-dock-mark { display: none; }
}
@media (max-width: 980px) {
  .ticket-callout-inner { display: block; }
  .claim-pass { width: 100%; max-width: 420px; margin-top: 38px; }
}
@media (max-width: 800px) {
  .claim-pass { width: 100%; max-width: 420px; margin-top: 38px; }
  .notice-card>.ticket-cta { grid-column: auto; }
}
@media (max-width: 560px) {
  .hero-actions .ticket-cta { width: 100%; min-height: 64px; padding-left: 20px; }
  .hero-actions .ticket-cta-label { text-align: left; }
  .hero-actions .button-outline { min-height: 50px; border-color: #ffffff3d; }
  .hero-actions .button-row { gap: 14px; }
  .claim-support { font-size: 11px; margin-top: 17px; }
  .claim-support-dot { margin-inline: 7px; }
  .claim-pass { padding: 26px 22px; }
  .claim-pass-details { font-size: 9px; }
  .ticket-cta--pass { font-size: 14px; gap: 10px; padding-left: 15px; }
  .notice-card { padding: 26px 22px; }
  .notice-card>.ticket-cta { width: 100%; min-width: 0; font-size: 14px; gap: 9px; padding-inline: 12px; }
  .ticket-dock { padding: 11px 15px calc(16px + env(safe-area-inset-bottom, 0px)); }
  .ticket-dock-details { display: none; }
  .ticket-cta--dock { width: 100%; }
  .ticket-cta--dock .ticket-cta-label { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .ticket-cta, .ticket-cta-arrow { transition: none; }
  .ticket-cta::before { animation: none; }
  .ticket-cta:hover, .ticket-cta:hover .ticket-cta-arrow, .ticket-cta:active { transform: none; }
}

/* Organizer-provided ticket availability. */
.ticket-availability { text-align: left; }
.ticket-availability-copy { display: flex; align-items: baseline; gap: 6px; color: #eee5fa; font-size: 12px; font-weight: 600; }
.ticket-availability-copy>strong { color: var(--lime); font-size: 20px; font-weight: 900; line-height: 1; }
.ticket-availability-copy>small { margin-left: auto; color: #c3b4d9; font-size: 10px; white-space: nowrap; }
.ticket-availability-track { height: 6px; margin-top: 10px; border-radius: 10px; overflow: hidden; background: #ffffff1c; }
.ticket-availability-track>span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--pink), #d669e8 40%, var(--lime)); box-shadow: 0 0 12px #8cf66488; }
.ticket-availability--hero { width: min(350px,100%); margin: 25px auto 0; }
.ticket-availability--pass { margin: 0 0 26px; }
.ticket-availability--dock .ticket-availability-copy { font-size: 11px; }
.ticket-availability--dock .ticket-availability-copy>strong { font-size: 18px; }
.ticket-availability--dock .ticket-availability-copy>small { display: none; }
.ticket-availability--dock .ticket-availability-track { height: 4px; margin-top: 9px; }

/* A dismissible invitation, shown once per browsing session. */
.ticket-popup { width: min(550px,calc(100% - 28px)); max-width: none; max-height: calc(100dvh - 28px); padding: 0; border: 1px solid #b996ec80; border-radius: 20px; color: #fff; background: #1b0d3a; box-shadow: 0 30px 100px #09031acc, 0 0 65px #bb42d633; overflow: visible; }
.ticket-popup::backdrop { background: #090319bf; backdrop-filter: blur(7px); }
.ticket-popup-content { position: relative; max-height: calc(100dvh - 30px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 40px 34px 23px; border-radius: inherit; text-align: center; background: radial-gradient(ellipse at 90% 0%, #983eb755, transparent 53%), linear-gradient(155deg, #361759, #170b36 70%); }
.ticket-popup-content:before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--pink), var(--cyan), var(--lime)); }
.ticket-popup-content>.eyebrow { position: relative; z-index: 1; color: #d9baf4; margin: 5px 30px 20px; font-size: 10px; letter-spacing: .13em; }
.ticket-popup h2 { position: relative; font-size: clamp(2.25rem,5vw,3.1rem); line-height: 1; letter-spacing: -.025em; margin-bottom: 17px; }
.ticket-popup h2 em { color: var(--lime); font-style: normal; }
#ticket-popup-description { position: relative; color: #d8cce8; font-size: 13px; line-height: 1.65; max-width: 400px; margin: 0 auto 23px; }
.ticket-popup-emblem { position: absolute; top: 50px; right: -14px; color: #dc8bf7; opacity: .065; transform: rotate(-18deg); pointer-events: none; }
.ticket-popup-emblem .ticket-cta-icon { width: 180px; height: 180px; }
.ticket-availability--popup { position: relative; padding: 18px 19px; margin-bottom: 26px; border: 1px solid #a882cd4d; border-radius: 11px; background: #10052255; }
.ticket-availability--popup .ticket-availability-copy>strong { font-size: 30px; }
.ticket-availability--popup .ticket-availability-track { height: 7px; margin-top: 12px; }
.ticket-cta--popup { width: 100%; min-height: 62px; font-size: 17px; }
.ticket-popup-note { margin: 19px 0 0; color: #c1b3d3; font-size: 11px; }
.ticket-popup-close { position: absolute; z-index: 5; top: 9px; right: 9px; display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid #d3bcea44; border-radius: 50%; color: #eee5fa; background: #1b0d3ae6; }
.ticket-popup-close svg { width: 21px; height: 21px; }
.ticket-popup-close:hover { background: #4d2c68; }
.ticket-popup-dismiss { display: block; min-height: 44px; margin: 5px auto 0; padding: 8px 16px; border: 0; background: none; color: #d5c8e4; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.ticket-popup-close:focus-visible, .ticket-popup-dismiss:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
body.ticket-popup-open { overflow: hidden; }
body.ticket-popup-open .ticket-dock { visibility: hidden; }
@media (max-width: 860px) {
  .ticket-dock-details { display: none; }
  .ticket-dock-inner { grid-template-columns: minmax(0,1fr) auto; max-width: 680px; gap: 28px; }
}
@media (max-width: 560px) {
  body { padding-bottom: calc(138px + env(safe-area-inset-bottom, 0px)); }
  .ticket-dock-inner { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
  .ticket-availability--dock .ticket-availability-copy { justify-content: center; font-size: 11px; }
  .ticket-availability--dock .ticket-availability-copy>strong { font-size: 15px; }
  .ticket-availability--dock .ticket-availability-track { margin-top: 6px; height: 3px; }
  .ticket-cta--dock { min-height: 52px; }
  .ticket-popup-content { padding: 34px 23px 15px; }
  .ticket-popup-content>.eyebrow { max-width: 190px; margin: 6px auto 20px; line-height: 1.5; }
  .ticket-availability--popup { padding: 16px 13px; }
  .ticket-availability--popup .ticket-availability-copy { flex-wrap: wrap; font-size: 11px; }
  .ticket-availability--popup .ticket-availability-copy>small { display: none; }
  .ticket-cta--popup { min-height: 58px; padding-left: 15px; gap: 9px; font-size: 15px; }
  .ticket-cta--popup .ticket-cta-arrow { margin-left: 0; }
}

/* One question at a time, with the same ticket palette as the invitation. */
.ticket-questionnaire {
  position: fixed;
  width: min(620px, calc(100% - 28px));
  max-width: none;
  max-height: calc(100dvh - 28px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid #b996ec80;
  border-radius: 20px;
  color: #fff;
  background: #1b0d3a;
  box-shadow: 0 30px 100px #09031acc, 0 0 65px #bb42d633;
  color-scheme: dark;
}
.ticket-questionnaire::backdrop { background: #090319c9; backdrop-filter: blur(7px); }
.ticket-questionnaire [hidden] { display: none !important; }
.questionnaire-shell {
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 30px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #7652a0 #1b0d3a;
  background: radial-gradient(ellipse at 95% 0%, #a343b92e, transparent 50%), linear-gradient(155deg, #301750, #170b36 70%);
}
.questionnaire-header { flex: 0 0 auto; padding: 32px 34px 0; border-top: 3px solid var(--lime); }
.questionnaire-header>.eyebrow { color: var(--lime); margin: 0 38px 12px 0; font-size: 10px; letter-spacing: .15em; }
.questionnaire-header h2 { max-width: 460px; margin: 0 25px 12px 0; font-size: clamp(2rem, 5vw, 2.7rem); line-height: 1.03; }
.questionnaire-intro { color: #e2d7ef; font-size: 14px; line-height: 1.55; margin: 0 0 11px; }
.questionnaire-preview { display: block; color: #c2b0d7; font-size: 11px; line-height: 1.5; margin: 0 0 20px; }
.questionnaire-progress-label { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--lime); font-size: 11px; font-weight: 800; letter-spacing: .035em; }
.questionnaire-progress-label>span:last-child { color: #c7b7db; font-weight: 500; text-align: right; }
.questionnaire-progress-track { height: 4px; margin-top: 10px; border-radius: 10px; overflow: hidden; background: #ffffff18; }
.questionnaire-progress-track>span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--pink), #c585e9 45%, var(--lime)); }
.questionnaire-close { position: absolute; z-index: 5; top: 10px; right: 10px; display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid #d3bcea44; border-radius: 50%; background: #1b0d3af2; color: #eee5fa; }
.questionnaire-close svg { width: 21px; height: 21px; }
.questionnaire-close:hover { background: #4d2c68; }
#questionnaire-form { display: flex; flex-direction: column; flex: 1 0 auto; margin: 0; }
.questionnaire-body { padding: 27px 34px 20px; }
.questionnaire-step { min-width: 0; }
.questionnaire-question { margin: 0 0 17px; font-family: var(--body); font-size: clamp(1.2rem, 3.4vw, 1.42rem); font-weight: 750; line-height: 1.3; letter-spacing: -.02em; text-transform: none; }
.questionnaire-question:focus { outline: none; }
.questionnaire-hint { margin: -6px 0 19px; color: #c8b9db; font-size: 12px; line-height: 1.6; }
.questionnaire-options { display: grid; gap: 10px; }
.questionnaire-option { display: grid; grid-template-columns: 21px minmax(0, 1fr); align-items: center; gap: 13px; min-height: 56px; padding: 13px 16px; border: 1px solid #ac8fce4f; border-radius: 10px; background: #10072144; color: #eee7f6; font-size: 14px; line-height: 1.45; cursor: pointer; }
.questionnaire-option input[type="radio"] { width: 19px; height: 19px; margin: 0; accent-color: var(--lime); cursor: pointer; }
.questionnaire-option:has(input:checked) { border-color: var(--lime); background: #8cf66412; box-shadow: inset 3px 0 0 var(--lime); color: #fff; }
.questionnaire-option:has(input:focus-visible) { outline: 2px solid var(--cyan); outline-offset: 3px; }
.questionnaire-option input:focus-visible { outline: none; }
.questionnaire-textarea, .questionnaire-field>input, .questionnaire-phone { display: block; width: 100%; border: 1px solid #ac8fce70; border-radius: 9px; background: #10072180; color: #fff; font: 400 16px/1.5 var(--body); }
.questionnaire-textarea { min-height: 140px; padding: 14px 15px; resize: vertical; }
.questionnaire-textarea::placeholder, .questionnaire-field input::placeholder { color: #a998bc; opacity: 1; }
.questionnaire-fields { display: grid; gap: 18px; }
.questionnaire-field { display: block; min-width: 0; }
.questionnaire-field>span:not(.questionnaire-phone) { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; color: #e4d9ef; }
.questionnaire-field>input { min-height: 50px; padding: 12px 14px; }
.questionnaire-phone { display: flex; align-items: center; min-height: 50px; overflow: hidden; }
.questionnaire-phone>span { flex: 0 0 auto; padding: 0 14px; border-right: 1px solid #ac8fce4f; color: #e4d9ef; font-size: 16px; font-weight: 600; }
.questionnaire-phone>input { flex: 1 1 auto; width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 0; border-radius: 0; background: transparent; color: #fff; font: 400 16px/1.5 var(--body); }
.questionnaire-field>small { display: block; margin-top: 7px; color: #bba9cf; font-size: 11px; line-height: 1.5; }
.questionnaire-textarea:focus-visible, .questionnaire-field>input:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; border-color: var(--lime); }
.questionnaire-phone:focus-within { outline: 2px solid var(--lime); outline-offset: 3px; border-color: var(--lime); }
.questionnaire-phone>input:focus { outline: none; }
.questionnaire-error { margin: 14px 0 0; padding: 11px 13px; border-left: 3px solid #ff9bc5; border-radius: 4px; color: #ffd2e5; background: #e42b9c12; font-size: 12px; line-height: 1.5; }
.questionnaire-error:empty { display: none; }
.questionnaire-fields>.questionnaire-error { margin: -8px 0 0; }
.questionnaire-submission-error { margin: 0 34px 20px; }
.questionnaire-submission-error a { color: var(--lime); text-decoration: underline; overflow-wrap: anywhere; }
.questionnaire-next:disabled { opacity: .65; cursor: wait; }
#questionnaire-form[aria-busy="true"] .questionnaire-fields { opacity: .7; }
.questionnaire-actions { position: sticky; z-index: 2; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: auto; padding: 18px 34px 22px; border-top: 1px solid #af8ed333; background: #1b0d3af5; backdrop-filter: blur(14px); }
.questionnaire-back { flex: 0 0 auto; min-height: 48px; padding: 10px 12px; border: 1px solid #ac8fce66; border-radius: 8px; color: #e4d9ef; background: transparent; font-size: 13px; font-weight: 650; }
.questionnaire-back:hover { background: #ffffff0d; }
.questionnaire-back:disabled { opacity: .4; cursor: default; }
.questionnaire-next, .questionnaire-done { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 50px; margin-left: auto; padding: 13px 24px; border: 1px solid #bcffa3; border-radius: 8px; background: linear-gradient(115deg, #b4ff8c, var(--lime)); color: var(--navy); box-shadow: 0 3px 0 #4b953c, 0 0 20px #8cf66428; font-size: 14px; font-weight: 800; line-height: 1.35; }
.questionnaire-next>span:last-child { font-size: 19px; line-height: 1; }
.questionnaire-next { min-width: 0; white-space: normal; text-align: center; }
.questionnaire-next>span { flex: 0 0 auto; }
.questionnaire-next:hover, .questionnaire-done:hover { background: #baff9e; }
.questionnaire-close:focus-visible, .questionnaire-back:focus-visible, .questionnaire-next:focus-visible, .questionnaire-done:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
.questionnaire-success { padding: 32px 34px 36px; text-align: center; }
.questionnaire-success-icon { display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 24px; border: 1px solid #8cf66488; border-radius: 50%; color: var(--lime); background: #8cf66412; font-size: 30px; }
.questionnaire-success-icon svg { width: 30px; height: 30px; }
.questionnaire-success h3 { font-family: var(--body); font-size: 25px; line-height: 1.25; margin: 0 0 16px; }
.questionnaire-success p { color: #d2c4e0; font-size: 14px; overflow-wrap: anywhere; }
.questionnaire-success .questionnaire-done { margin: 15px auto 0; min-width: 160px; }
body.questionnaire-open { overflow: hidden; }
body.questionnaire-open .ticket-dock { visibility: hidden; }
.ticket-questionnaire-summary { margin: 25px 0 31px; }
.ticket-questionnaire-summary li { border-bottom-color: #ded6e8; font-size: 14px; }
.ticket-questionnaire-summary li::before { color: var(--purple-deep); }
@media (hover: hover) {
  .questionnaire-option:hover { border-color: #c5a5e5; background: #ffffff09; }
  .questionnaire-option:has(input:checked):hover { border-color: var(--lime); background: #8cf6641a; }
}
@media (max-width: 560px) {
  .ticket-questionnaire { width: calc(100% - 20px); max-height: calc(100dvh - 20px); border-radius: 16px; }
  .questionnaire-shell { max-height: calc(100dvh - 22px); }
  .questionnaire-header { padding: 26px 21px 0; }
  .questionnaire-header h2 { font-size: 2rem; margin-right: 18px; }
  .questionnaire-header>.eyebrow { font-size: 9px; margin-right: 34px; }
  .questionnaire-intro { font-size: 13px; }
  .questionnaire-preview { font-size: 10px; margin-bottom: 17px; }
  .questionnaire-progress-label { font-size: 10px; gap: 8px; }
  .questionnaire-body { padding: 23px 21px 18px; }
  .questionnaire-submission-error { margin-inline: 21px; }
  .questionnaire-option { min-height: 54px; padding: 12px; gap: 10px; font-size: 13px; }
  .questionnaire-actions { gap: 11px; padding: 15px 21px max(19px, env(safe-area-inset-bottom, 0px)); }
  .questionnaire-back { padding-inline: 11px; }
  .questionnaire-next { padding-inline: 17px; gap: 10px; }
  .questionnaire-success { padding: 25px 21px 30px; }
  .hero-actions .ticket-cta--hero { min-width: 0; padding-inline: 15px; gap: 10px; font-size: 15px; }
  .hero-actions .ticket-cta--hero .ticket-cta-arrow { margin-left: 4px; }
}
@media (max-height: 560px) {
  .questionnaire-header { padding-top: 18px; }
  .questionnaire-header h2 { font-size: 1.7rem; margin-bottom: 8px; }
  .questionnaire-header>.eyebrow { margin-bottom: 8px; }
  .questionnaire-preview { margin-bottom: 13px; }
  .questionnaire-body { padding-top: 20px; }
}
@media (max-width: 380px) {
  .questionnaire-actions { flex-wrap: wrap; gap: 10px; }
  .questionnaire-back { flex: 1 1 100%; min-height: 44px; }
  .questionnaire-next { flex: 1 1 100%; width: 100%; min-height: 50px; }
}

/* Keep a ticket action visible above the hero when navigation is collapsed. */
.announcement-ticket, .announcement-mobile { display: none; }
.ticket-cta--banner { width: fit-content; min-height: 32px; padding: 5px 10px; gap: 7px; border: 1px solid #aaff85; border-radius: 5px; background: #8cf6640a; color: #bdffa2; font-size: 12px; font-weight: 700; line-height: 18px; box-shadow: 0 0 12px #8cf66438, inset 0 0 9px #8cf6640c; }
.ticket-cta--banner::before { inset: -1px; filter: blur(7px); opacity: .16; }
/* Extend the touch target while keeping the visible button thin. */
.ticket-cta--banner::after { content: ""; position: absolute; inset: -6px 0; }
.ticket-cta--banner .ticket-cta-icon { display: none; }
.ticket-cta--banner .ticket-cta-arrow { width: 13px; height: 18px; flex-basis: 13px; margin-left: 0; border-radius: 0; background: transparent; color: inherit; font-size: 16px; }
@media (hover: hover) {
  .ticket-cta--banner:hover { background: #8cf66418; color: #d4ffbf; transform: none; box-shadow: 0 0 18px #8cf66466, inset 0 0 9px #8cf66412; }
}
.ticket-cta--banner:active { transform: none; background: #8cf66424; box-shadow: 0 0 12px #8cf66444; }
@media (max-width: 1180px) {
  .announcement { display: flex; justify-content: center; align-items: center; gap: 18px; padding: 7px 20px; border-top: 1px solid #af86d82e; border-bottom: 1px solid #af86d847; color: #e2d4f1; background: linear-gradient(110deg, #29133f, #1b0d35); }
  .announcement-inner { font-size: 12px; line-height: 1.4; letter-spacing: .035em; }
  .announcement strong { color: var(--lime); }
  .announcement-ticket { display: inline-flex; flex: 0 0 auto; }
}
@media (max-width: 700px) {
  .announcement { flex-direction: row; justify-content: space-between; gap: 10px; padding: 7px 15px; }
  .announcement-inner { display: none; }
  .announcement-mobile { display: grid; gap: 3px; min-width: 0; text-align: left; line-height: 1.2; }
  .announcement-mobile>b { color: #f0e7f8; font-size: 10px; letter-spacing: .06em; }
  .announcement-mobile>span { color: #beaed1; font-size: 9px; font-weight: 600; letter-spacing: .025em; }
  .announcement-ticket { width: fit-content; max-width: 100%; }
  .ticket-cta--banner { min-width: 0; }
}
