@font-face{font-family:Montserrat;src:url('fonts/Montserrat-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/Montserrat-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/Montserrat-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/Montserrat-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('fonts/Montserrat-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}

:root{
  --bg:#f7f1ed;
  --paper:#fffaf7;
  --paper-2:#f3ece7;
  --ink:#151515;
  --muted:#66605d;
  --teal:#42b7cf;
  --coral:#ed6547;
  --yellow:#ffbd19;
  --blue:#2d6df3;
  --line:rgba(21,21,21,.14);
  --radius:30px;
  --shadow:0 18px 50px rgba(42,28,19,.09);
  --shadow-strong:0 28px 80px rgba(42,28,19,.14);
  --shell:min(1180px,calc(100vw - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;font-family:Montserrat,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden}
body:before,body:after{content:"";position:fixed;z-index:-2;pointer-events:none;filter:blur(70px);opacity:.38}
body:before{width:420px;height:420px;border-radius:50%;background:rgba(66,183,207,.18);left:-140px;top:120px}
body:after{width:360px;height:360px;border-radius:50%;background:rgba(255,189,25,.18);right:-120px;top:820px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
button{color:inherit}
.shell{width:var(--shell);margin:0 auto}
.section-pad{padding:112px 0}.section-pad-sm{padding:82px 0}
.section-label{display:flex;align-items:center;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:700}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;border-bottom:1px solid transparent;transition:.25s ease;background:rgba(247,241,237,.76);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.site-header.scrolled{border-color:var(--line);box-shadow:0 8px 30px rgba(35,24,17,.05)}
.header-inner{height:84px;display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:26px}
.header-progress{height:2px;background:transparent}.header-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--coral),var(--yellow),var(--blue));border-radius:999px;transition:width .1s linear}
.brand{width:122px;display:block}.brand img{width:100%;height:auto}
.desktop-nav{display:flex;justify-content:center;gap:26px;font-size:13px;font-weight:600}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--ink);transition:.2s}.desktop-nav a:hover:after{right:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 27px;border-radius:999px;border:1.5px solid transparent;font-weight:700;font-size:14px;transition:.18s ease;cursor:pointer;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-small{min-height:46px;padding:0 20px;font-size:12px}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#2b2b2b}.btn-coral{background:var(--coral);color:#fff}.btn-coral:hover{background:#db5337}.btn-yellow{background:var(--yellow);color:var(--ink)}.btn-light{background:#fff;color:var(--ink)}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent}.menu-toggle span{width:18px;height:1.5px;background:var(--ink);display:block}.mobile-nav{display:none}
.hero{padding-top:150px;padding-bottom:60px;overflow:hidden;position:relative}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}.hero:before{width:540px;height:540px;background:radial-gradient(circle, rgba(66,183,207,.18) 0%, rgba(66,183,207,0) 68%);right:-180px;top:-120px}.hero:after{width:460px;height:460px;background:radial-gradient(circle, rgba(255,189,25,.16) 0%, rgba(255,189,25,0) 68%);left:-180px;bottom:-160px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;min-height:650px;position:relative;z-index:1}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:700;margin-bottom:25px}.eyebrow-dot{width:9px;height:9px;border-radius:50%;background:var(--coral);display:block}
.hero h1{margin:0;max-width:770px;font-size:clamp(46px,5vw,78px);line-height:.98;letter-spacing:-.048em;font-weight:800}.hero h1 span{font-weight:600}
.hero-lead{max-width:670px;margin:26px 0 30px;color:#49413e;font-size:18px;line-height:1.6}
.hero-meta{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}.meta-pill{display:flex;align-items:center;gap:11px;background:var(--yellow);border-radius:22px;padding:11px 17px;box-shadow:0 12px 20px rgba(255,189,25,.22)}.meta-pill strong{font-size:37px;line-height:1;font-weight:800}.meta-pill span{font-size:11px;font-weight:700;text-transform:uppercase;line-height:1.25}.meta-item{display:flex;flex-direction:column;justify-content:center;padding:11px 16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.48)}.meta-item strong{font-size:14px}.meta-kicker{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.hero-highlights{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.hero-highlights span{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.46);font-size:11px;font-weight:650}
.hero-actions{display:flex;align-items:center;gap:23px;margin-top:30px}.text-link{font-size:13px;font-weight:700}.text-link span{font-size:20px;margin-left:5px}
.hero-art{height:590px;position:relative;isolation:isolate}
.hero-core{position:absolute;z-index:5;inset:102px 55px 84px 48px;border:2px solid var(--ink);border-radius:42% 58% 50% 50% / 58% 45% 55% 42%;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-3deg);box-shadow:var(--shadow-strong)}
.hero-core img{width:70%;transform:rotate(3deg);margin-bottom:26px}.hero-core-copy{transform:rotate(3deg);text-align:center;text-transform:uppercase}.hero-core-copy span{font-size:9px;letter-spacing:.14em}.hero-core-copy strong{font-size:31px;letter-spacing:.08em;display:block;line-height:1.2}.hero-core-copy small{font-size:10px;letter-spacing:.13em}
.hero-photo-tile{position:absolute;z-index:2;left:18px;bottom:26px;width:178px;aspect-ratio:0.84;border:1.5px solid var(--ink);border-radius:28px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(-8deg);background:#fff}.hero-photo-tile img{width:100%;height:100%;object-fit:cover}
.hero-shape{position:absolute;border:2px solid var(--ink);z-index:1}.hero-shape-a{width:240px;height:250px;border-radius:50%;background:var(--teal);left:-4px;top:18px;animation:floatA 8s ease-in-out infinite}.hero-shape-b{width:220px;height:190px;border-radius:72px 72px 25px 72px;background:var(--yellow);right:-17px;bottom:18px;animation:floatB 9s ease-in-out infinite}.hero-shape-c{width:120px;height:170px;border-radius:72px 72px 72px 15px;background:var(--coral);right:12px;top:15px;transform:rotate(18deg);animation:floatC 7s ease-in-out infinite}
.hero-badge{position:absolute;z-index:8;border:1.5px solid var(--ink);border-radius:999px;padding:10px 15px;font-size:11px;font-weight:700;background:#fff;box-shadow:0 8px 18px rgba(0,0,0,.08)}.badge-blue{background:var(--blue);color:#fff;right:7px;top:176px;transform:rotate(5deg);animation:floatC 7.5s ease-in-out infinite}.badge-yellow{background:var(--yellow);left:-12px;bottom:125px;transform:rotate(-7deg);animation:floatB 8.5s ease-in-out infinite}.badge-coral{background:var(--coral);color:#fff;right:75px;bottom:37px;transform:rotate(4deg);animation:floatA 9.5s ease-in-out infinite}
.hero-orbit{position:absolute;z-index:0;border:1px solid rgba(21,21,21,.25);border-radius:50%}.hero-orbit span{width:11px;height:11px;background:var(--blue);border-radius:50%;position:absolute}.orbit-one{width:520px;height:520px;right:-100px;top:38px;transform:rotate(24deg);animation:spinSlow 30s linear infinite}.orbit-one span{left:42px;top:90px}.orbit-two{width:360px;height:360px;left:-52px;bottom:-20px;transform:rotate(-20deg);animation:spinSlowReverse 22s linear infinite}.orbit-two span{right:12px;top:70px;background:var(--coral)}
.ticker-wrap{padding-top:26px}.ticker{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:18px 0;display:flex;overflow:hidden;white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.08em;position:relative}.ticker-track{display:flex;align-items:center;gap:16px;min-width:max-content;animation:marquee 22s linear infinite}.ticker i{font-style:normal;color:var(--coral);font-size:19px}
.intro{background:var(--paper);border-radius:46px 46px 0 0;position:relative;overflow:hidden}.intro:before{content:"";position:absolute;right:-80px;top:-70px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle, rgba(45,109,243,.08) 0%, rgba(45,109,243,0) 68%)}
.intro-grid{display:grid;grid-template-columns:220px 1fr;gap:40px}
.intro-main h2,.audience h2,.story-copy h2,.location h2,.faq h2{font-size:clamp(36px,4.3vw,64px);line-height:1.03;letter-spacing:-.045em;margin:0;font-weight:700}.intro-main p{max-width:820px;font-size:19px;line-height:1.7;color:#4d4744;margin:28px 0 0}
.mark{position:relative;display:inline;z-index:0;white-space:nowrap}.mark:before{content:"";position:absolute;z-index:-1;left:-4px;right:-5px;bottom:5%;height:31%;border-radius:7px;transform:rotate(-1deg)}.mark-yellow:before{background:var(--yellow)}.mark-blue:before{background:rgba(45,109,243,.27)}.mark-coral:before{background:rgba(237,101,71,.30)}
.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}.mini-metrics div{border:1px solid var(--line);border-radius:24px;padding:20px 18px;background:rgba(255,255,255,.7)}.mini-metrics strong{display:block;font-size:34px;line-height:1;font-weight:800;margin-bottom:9px}.mini-metrics span{display:block;font-size:12px;line-height:1.55;color:#4d4744}
.format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px}.format-card{min-height:310px;border:1.5px solid var(--ink);border-radius:var(--radius);padding:27px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .22s ease, box-shadow .22s ease}.format-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.format-card:after{content:"";position:absolute;width:150px;height:150px;border:1.5px solid var(--ink);border-radius:50%;right:-64px;top:-66px;background:rgba(255,255,255,.25)}.format-blue{background:var(--teal)}.format-yellow{background:var(--yellow)}.format-coral{background:var(--coral);color:#fff}.format-index{font-size:10px;font-weight:700}.format-icon{margin-top:auto;width:48px;height:48px;border:1.5px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px}.format-card h3{font-size:30px;line-height:1;margin:16px 0 10px;letter-spacing:-.03em}.format-card p{font-size:13px;line-height:1.5;margin:0;max-width:280px}
.audience{background:var(--paper);position:relative}.audience:after{content:"";position:absolute;left:-120px;bottom:-110px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle, rgba(237,101,71,.10) 0%, rgba(237,101,71,0) 68%)}
.audience-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.audience-copy>.section-label,.story-copy>.section-label,.location-copy>.section-label{margin-bottom:25px}.audience-copy>p,.story-copy>p,.location-copy>p{font-size:17px;line-height:1.7;color:#514b47;max-width:650px;margin:25px 0}.audience-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.audience-tags span{border:1px solid var(--ink);border-radius:999px;padding:9px 13px;font-size:11px;font-weight:650;background:#fff}.audience-tags span:nth-child(4n+1){background:rgba(66,183,207,.16)}.audience-tags span:nth-child(4n+2){background:rgba(255,189,25,.18)}.audience-tags span:nth-child(4n+3){background:rgba(237,101,71,.14)}.audience-tags span:nth-child(4n){background:rgba(45,109,243,.12)}
.audience-visual{position:relative;max-width:500px;justify-self:end;padding-bottom:32px}.audience-visual>img{border-radius:32px;border:1.5px solid var(--ink);width:100%;box-shadow:var(--shadow)}.visual-card{position:absolute;border:1.5px solid var(--ink);border-radius:26px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.visual-card-small{width:170px;right:-25px;bottom:0;transform:rotate(6deg)}.visual-card img{width:100%;height:100%;object-fit:cover}.floating-note{position:absolute;left:-53px;bottom:52px;background:var(--blue);color:#fff;border:1.5px solid var(--ink);border-radius:18px;padding:13px 16px;font-size:11px;font-weight:700;transform:rotate(-4deg);box-shadow:0 9px 24px rgba(45,109,243,.22);animation:floatC 9s ease-in-out infinite}
.benefits{background:var(--ink);color:#fff;position:relative;overflow:hidden}.benefits:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle, rgba(45,109,243,.18) 0%, rgba(45,109,243,0) 68%);top:-200px;right:-140px}.benefits-head{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start}.benefits-head .section-label{color:#fff}.benefits-head h2{margin:0;font-size:clamp(38px,4.4vw,66px);line-height:1.02;letter-spacing:-.05em}.benefits-head h2 span{color:#cfc9c5}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}.benefit{min-height:250px;border:1px solid rgba(255,255,255,.16);border-radius:30px;padding:24px;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));transition:transform .2s ease, border-color .2s ease}.benefit:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.3)}.benefit span{font-size:10px;font-weight:700;color:#a69d98}.benefit h3{font-size:29px;line-height:1.02;letter-spacing:-.03em;margin:52px 0 14px}.benefit p{margin:0;color:#d7d2cf;font-size:14px;line-height:1.6}
.day{background:var(--paper-2)}.day-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:24px;align-items:stretch}.day-card-main{background:var(--ink);color:#fff;border-radius:36px;padding:45px;min-height:510px;position:relative;overflow:hidden}.day-card-main:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-100px;top:-70px;background:radial-gradient(circle, rgba(255,189,25,.22) 0%, rgba(255,189,25,0) 70%)}.section-label-light{color:#fff}.day-card-main h2{font-size:clamp(39px,4.2vw,58px);line-height:1.02;letter-spacing:-.045em;margin:28px 0 18px;max-width:580px}.day-card-main p{font-size:14px;line-height:1.75;color:#d8d3cf;max-width:470px}.day-points{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px}.day-points span{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-size:11px;font-weight:600;background:rgba(255,255,255,.05)}.day-stack{display:grid;gap:12px}.day-row{border:1.5px solid var(--ink);border-radius:28px;background:#fff;padding:22px 24px;display:grid;grid-template-columns:135px 1fr;gap:22px;align-items:start;min-height:110px}.day-row strong{font-size:22px;line-height:1.08;letter-spacing:-.02em}.day-row span{font-size:15px;line-height:1.6;color:#5b5551}
.taki-story{background:var(--paper);position:relative}.taki-story:before{content:"";position:absolute;right:-140px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle, rgba(66,183,207,.12) 0%, rgba(66,183,207,0) 68%)}.taki-story-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.story-visual img{border-radius:32px;border:1.5px solid var(--ink);box-shadow:var(--shadow)}.story-quote{background:var(--yellow);border:1.5px solid var(--ink);border-radius:28px;padding:26px 30px;margin:32px 0 22px;transform:rotate(-1deg);box-shadow:var(--shadow)}.story-quote span{font-size:12px;font-weight:650}.story-quote strong{display:block;font-size:33px;line-height:1.02;letter-spacing:-.03em;margin-top:7px}
.tickets{background:var(--paper)}.ticket-card{background:var(--ink);color:#fff;border-radius:38px;display:grid;grid-template-columns:.72fr 1.28fr;overflow:hidden;min-height:600px;box-shadow:var(--shadow-strong)}.ticket-art{position:relative;background:#1d1d1d;overflow:hidden;min-height:500px}.ticket-art img{position:absolute;width:70%;left:15%;top:38%;transform:translateY(-50%);z-index:3;filter:drop-shadow(0 12px 30px rgba(0,0,0,.25))}.ticket-ribbon{position:absolute;z-index:4;left:24px;top:24px;min-height:38px;padding:0 16px;border-radius:999px;display:inline-flex;align-items:center;background:#fff;color:var(--ink);border:1.5px solid var(--ink);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.blob{position:absolute;border-radius:50%;display:block}.blob-a{width:310px;height:310px;background:var(--yellow);left:-90px;top:-80px;animation:floatA 9s ease-in-out infinite}.blob-b{width:260px;height:260px;background:var(--teal);right:-95px;bottom:-55px;animation:floatB 10s ease-in-out infinite}.blob-c{width:160px;height:230px;background:var(--coral);right:32px;top:50px;border-radius:90px 90px 90px 24px;transform:rotate(18deg);animation:floatC 8.5s ease-in-out infinite}.ticket-main{padding:62px}.ticket-main h2{font-size:clamp(42px,4.7vw,67px);line-height:.98;letter-spacing:-.05em;margin:26px 0 16px}.ticket-main>p{color:#c8c5c3;margin:0 0 34px;font-size:14px}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.price-block{border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:20px;background:rgba(255,255,255,.03)}.price-block span{display:block;color:#aaa;font-size:11px;margin-bottom:6px}.price-block strong{font-size:31px;line-height:1}.price-block small{font-size:12px}.price-active{border-color:var(--yellow);background:rgba(255,189,25,.09)}.ticket-actions{display:flex;align-items:center;gap:20px;margin-top:28px}.limited{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#aaa}
.location{background:var(--paper)}.location-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.location-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:35px}.location-facts div{padding:18px 18px 0 0}.location-facts span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.location-facts strong{font-size:15px}.location-poster{min-height:520px;border:1.5px solid var(--ink);border-radius:32px;background:var(--teal);position:relative;padding:29px;overflow:hidden;box-shadow:var(--shadow)}.location-poster:after{content:"";position:absolute;width:310px;height:310px;background:var(--yellow);border:1.5px solid var(--ink);border-radius:50%;right:-120px;top:68px}.location-poster:before{content:"";position:absolute;width:170px;height:240px;background:var(--coral);border:1.5px solid var(--ink);border-radius:95px 95px 95px 25px;left:-40px;bottom:-55px;transform:rotate(-18deg)}.poster-top{font-size:11px;font-weight:700;position:relative;z-index:2}.poster-date{font-size:132px;line-height:.74;font-weight:800;letter-spacing:-.08em;position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);z-index:2}.poster-date span{font-size:.58em;letter-spacing:-.03em}.poster-bottom{position:absolute;right:30px;bottom:28px;text-align:right;font-size:17px;font-weight:800;line-height:1.1;z-index:2}
.faq{background:var(--bg)}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.faq-head .section-label{margin-bottom:24px}.faq-list{border-top:1px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--ink)}.faq-list summary{list-style:none;cursor:pointer;font-weight:700;font-size:17px;padding:22px 42px 22px 0;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:4px;top:17px;font-size:28px;font-weight:400}.faq-list details[open] summary:after{content:"−"}.faq-list p{margin:0;padding:0 56px 23px 0;color:#5b5551;font-size:14px;line-height:1.7}
.contact{padding-top:0;background:var(--bg)}.contact-card{background:var(--yellow);border:1.5px solid var(--ink);border-radius:34px;padding:43px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;box-shadow:var(--shadow)}.contact-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.contact h2{font-size:clamp(29px,3.5vw,46px);line-height:1.05;letter-spacing:-.04em;margin:12px 0 0}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.contact-actions span{font-size:10px;color:#6c5512;max-width:360px}.footer{padding:45px 0 55px;border-top:1px solid var(--line);background:var(--bg)}.footer-grid{display:grid;grid-template-columns:160px 1fr auto;gap:35px;align-items:center}.footer img{width:120px}.footer p{font-size:11px;color:#6a6561;max-width:520px}.footer a{font-size:11px;font-weight:700}
.modal{position:fixed;z-index:100;inset:0;display:none;align-items:center;justify-content:center;padding:22px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(15,15,15,.62);backdrop-filter:blur(5px)}.modal-panel{position:relative;z-index:2;width:min(560px,100%);background:var(--paper);border:1.5px solid var(--ink);border-radius:30px;padding:38px;box-shadow:0 35px 100px rgba(0,0,0,.28)}.modal-close{position:absolute;right:17px;top:15px;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;background:transparent;font-size:23px;cursor:pointer}.modal-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--coral)}.modal-panel h2{font-size:35px;line-height:1.03;letter-spacing:-.04em;margin:15px 0}.modal-panel p{font-size:13px;line-height:1.65;color:#59524f;margin:0 0 24px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes floatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes floatB{0%,100%{transform:translateY(0)}50%{transform:translateY(14px)}}
@keyframes floatC{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-10px) rotate(1deg)}}
@keyframes spinSlow{from{transform:rotate(24deg)}to{transform:rotate(384deg)}}
@keyframes spinSlowReverse{from{transform:rotate(-20deg)}to{transform:rotate(-380deg)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn:hover,.format-card:hover,.benefit:hover{transform:none}.hero-shape,.hero-badge,.hero-orbit,.floating-note,.blob,.ticker-track{animation:none}}
@media (max-width:980px){
  :root{--shell:min(100% - 30px,760px)}
  .section-pad{padding:86px 0}.section-pad-sm{padding:68px 0}
  .header-inner{grid-template-columns:1fr auto;height:72px}.desktop-nav,.desktop-cta{display:none}.brand{width:106px}.menu-toggle{display:flex}
  .mobile-nav{position:fixed;top:74px;left:0;right:0;background:var(--paper);padding:24px 15px 28px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:17px;transform:translateY(-130%);opacity:0;pointer-events:none;transition:.25s;box-shadow:0 20px 30px rgba(0,0,0,.08)}.mobile-nav.open{transform:none;opacity:1;pointer-events:auto}.mobile-nav>a:not(.btn){font-size:15px;font-weight:650}
  .hero{padding-top:120px}.hero-grid{grid-template-columns:1fr;min-height:auto;gap:30px}.hero-art{height:520px;max-width:570px;width:100%;margin:0 auto}.hero-core{inset:90px 75px 78px}.hero-photo-tile{left:22px;bottom:18px}.hero h1{font-size:clamp(44px,8vw,66px)}
  .intro-grid,.benefits-head{grid-template-columns:1fr;gap:25px}.mini-metrics{grid-template-columns:1fr}.format-grid{grid-template-columns:1fr}.format-card{min-height:245px}
  .audience-grid,.taki-story-grid,.location-grid,.faq-grid{grid-template-columns:1fr;gap:50px}.audience-visual{justify-self:center;max-width:470px}.floating-note{left:16px}.benefit-grid{grid-template-columns:repeat(2,1fr)}.day-grid{grid-template-columns:1fr}.day-card-main{min-height:430px}.ticket-card{grid-template-columns:1fr}.ticket-art{min-height:380px}.ticket-art img{width:54%;left:23%}.location-poster{min-height:430px;max-width:560px;width:100%;justify-self:center}.contact-card{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr auto}.footer p{grid-row:2}.footer img{width:110px}
}
@media (max-width:620px){
  :root{--shell:calc(100% - 24px);--radius:24px}
  .section-pad{padding:72px 0}.section-pad-sm{padding:57px 0}
  .hero{padding-top:110px;padding-bottom:40px}.hero h1{font-size:42px}.hero-lead{font-size:15px;margin-top:20px}.hero-meta{gap:9px}.meta-pill{width:100%;justify-content:center}.meta-item{flex:1;padding-left:12px}.hero-highlights{gap:8px}.hero-highlights span{font-size:10px;min-height:34px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.hero-actions .btn{width:100%}.hero-art{height:440px}.hero-core{inset:73px 38px 62px}.hero-core img{width:72%;margin-bottom:14px}.hero-photo-tile{width:132px;border-radius:20px}.hero-shape-a{width:170px;height:180px}.hero-shape-b{width:160px;height:140px}.hero-shape-c{width:90px;height:130px}.orbit-one{width:400px;height:400px}.orbit-two{width:290px;height:290px}.badge-blue{right:0;top:120px}.badge-yellow{left:0;bottom:98px}.badge-coral{right:32px;bottom:26px}.ticker{font-size:9px}
  .intro-main h2,.audience h2,.story-copy h2,.location h2,.faq h2{font-size:37px}.intro-main p{font-size:16px}.mini-metrics{margin-top:28px}.mini-metrics strong{font-size:28px}.format-grid{margin-top:42px}.format-card{padding:23px}
  .audience-grid,.taki-story-grid,.location-grid,.faq-grid{gap:38px}.audience-copy>p,.story-copy>p,.location-copy>p{font-size:15px}.audience-tags span{font-size:10px}.audience-visual{padding-bottom:18px}.visual-card-small{width:120px;right:-8px}.benefit-grid{grid-template-columns:1fr}.benefit{min-height:210px}.benefit h3{margin-top:42px}
  .day-card-main{padding:31px;min-height:420px}.day-card-main h2{font-size:38px}.day-row{grid-template-columns:92px 1fr;padding:20px}.day-row span{font-size:14px}.story-quote{padding:23px}.story-quote strong{font-size:28px}.ticket-card{border-radius:28px}.ticket-art{min-height:300px}.ticket-main{padding:32px 24px}.ticket-main h2{font-size:42px}.price-grid{grid-template-columns:1fr}.ticket-actions{align-items:flex-start;flex-direction:column}.ticket-actions .btn{width:100%}.location-poster{min-height:380px}.poster-date{font-size:104px}.location-facts{grid-template-columns:1fr}.location-facts div{border-bottom:1px solid var(--line);padding:13px 0}.faq-list summary{font-size:15px}.contact-card{padding:29px 23px}.contact-actions .btn{width:100%}.footer-grid{grid-template-columns:1fr}.footer p{grid-row:auto}.footer a{margin-top:5px}.modal-panel{padding:32px 23px}.modal-panel h2{font-size:30px}
}



/* Child-inclusive photo replacements only. Original TAKI poster artwork remains underneath unchanged. */
.poster-photo-overlay,.taki-collage-photo{position:absolute;z-index:3;overflow:hidden;background:#e7e7e7;pointer-events:none}
.poster-photo-overlay img,.taki-collage-photo img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;display:block;border:0!important;border-radius:0!important;box-shadow:none!important}

/* ref-8.webp: preserve the poster and accessibility icon, replace its two embedded adult photos */
.hero-photo-tile>.ref8-left{left:6.7%;top:46.2%;width:55.2%;height:30.4%;border-radius:999px;z-index:2}
.hero-photo-tile>.ref8-left img{object-position:48% 50%!important}
.hero-photo-tile>.ref8-right{left:68.2%;top:46.3%;width:31.8%;height:30.4%;border-radius:50%;z-index:2}
.hero-photo-tile>.ref8-right img{object-position:50% 48%!important}

/* ref-5.webp: only the lower-right photography is replaced; yellow TAKI artwork above stays intact */
.audience-visual>.ref5-photo{left:51.5%;top:48.7%;right:0;bottom:0;border-radius:29% 0 0 0;z-index:1}
.audience-visual>.ref5-photo img{object-position:48% 44%!important}
.audience-visual>.floating-note,.audience-visual>.visual-card{z-index:4}

/* ref-1_1.webp: five photo cells only; colored TAKI geometry and all text stay untouched */
.story-visual,.visual-card-small{position:relative}
.story-visual{overflow:hidden;border-radius:32px}
.taki-collage-photo{z-index:2}
.taki-collage-photo.c1{left:7.1%;top:35.45%;width:16.7%;height:13.7%;border-radius:52% 52% 0 0/70% 70% 0 0}
.taki-collage-photo.c3{left:40.45%;top:35.45%;width:16.7%;height:13.7%;border-radius:52% 52% 0 0/70% 70% 0 0}
.taki-collage-photo.c5{left:73.78%;top:35.45%;width:16.7%;height:13.7%;border-radius:52% 52% 0 0/70% 70% 0 0}
.taki-collage-photo.c7{left:23.78%;top:49.1%;width:16.7%;height:13.7%;border-radius:0 0 52% 52%/0 0 70% 70%}
.taki-collage-photo.c9{left:57.12%;top:49.1%;width:16.7%;height:13.7%;border-radius:0 0 52% 52%/0 0 70% 70%}
.taki-collage-photo.c1 img{object-position:50% 48%!important}
.taki-collage-photo.c3 img{object-position:47% 50%!important}
.taki-collage-photo.c5 img{object-position:50% 50%!important}
.taki-collage-photo.c7 img{object-position:50% 72%!important}
.taki-collage-photo.c9 img{object-position:68% 40%!important}






/* Speaker gallery: one coordinate system for discs, photo crops and name arcs. */
.speakers { background: var(--paper); }
.speakers-heading { display:grid; grid-template-columns:1.25fr 1fr; gap:70px; align-items:end; margin-bottom:48px; }
.speakers-heading .section-label { margin-bottom:24px; }
.speakers-heading h2 { margin:0; font-size:clamp(36px,4.2vw,58px); line-height:1.08; letter-spacing:-.045em; }
.speakers-heading .mark { white-space:normal; }
.speakers-subtitle { font-size:24px; line-height:1.4; margin:14px 0 0; max-width:620px; }
.speakers-intro>p { font-size:17px; line-height:1.7; margin:0 0 24px; color:#514b47; }
.speaker-status { display:inline-block; font-size:14px; font-weight:600; border-bottom:2px solid var(--coral); padding-bottom:7px; }
.speaker-poster { background:#f0f1e5; border-radius:48px; padding:38px 22px 24px; }
.speaker-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:12px; row-gap:42px; }
.speaker-card { min-width:0; }
.speaker-portrait { position:relative; width:100%; aspect-ratio:1; isolation:isolate; }
.speaker-disc { position:absolute; z-index:0; left:11%; top:12%; width:78%; aspect-ratio:1; border-radius:50%; background:var(--speaker-color); }
.speaker-cutout { position:absolute; z-index:1; inset:0; /* Self-contained mask avoids a cross-document SVG fragment reference. */
  --portrait-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='white' d='M11 51V0H89V51A39 39 0 0 1 11 51Z'/%3E%3C/svg%3E");
  -webkit-mask:var(--portrait-mask) center / 100% 100% no-repeat;
  mask:var(--portrait-mask) center / 100% 100% no-repeat; }
.speaker-cutout img { position:absolute; max-width:none; width:var(--portrait-width,90%); height:auto; left:var(--portrait-left,5%); top:var(--portrait-top,0%); filter:grayscale(1) contrast(1.04); }
.speaker-kushnir { --portrait-width:112%; --portrait-left:-13%; --portrait-top:-3.5%; }
.speaker-balganbaieva { --portrait-width:94%; --portrait-left:3%; --portrait-top:-2%; }
.speaker-bilyk { --portrait-width:80%; --portrait-left:9%; --portrait-top:2%; }
.speaker-tkach { --portrait-width:126%; --portrait-left:-10%; --portrait-top:-6%; }
.speaker-malikova { --portrait-width:90%; --portrait-left:5%; --portrait-top:1%; }
.speaker-zinchenko { --portrait-width:133%; --portrait-left:-16.5%; --portrait-top:-9%; }
.speaker-melashchenko { --portrait-width:88%; --portrait-left:6%; --portrait-top:-3%; }
.speaker-deriuha { --portrait-width:85%; --portrait-left:7.5%; --portrait-top:1%; }
.speaker-arc { position:absolute; z-index:2; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.speaker-arc text { fill:var(--ink); font-family:Montserrat,Arial,sans-serif; font-size:12.5px; font-weight:500; letter-spacing:.025em; }
.speaker-caption { padding:0 24px; margin-top:6px; }
.speaker-caption h3 { font-size:20px; line-height:1.25; letter-spacing:-.025em; margin:0 0 8px; }
.speaker-role { font-size:15px; line-height:1.5; font-weight:500; margin:0; }
.speaker-bio { font-size:13px; line-height:1.6; color:#5b6056; margin:10px 0 0; }
.speaker-announcement-disc { display:flex; flex-direction:column; gap:18px; align-items:center; justify-content:center; text-align:center; color:#fff; padding:20px; }
.speaker-announcement-disc span { font-size:clamp(23px,2.6vw,36px); line-height:1.15; font-weight:600; letter-spacing:-.04em; }
.speaker-announcement-disc small { font-size:13px; }
.speaker-next { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #cbd0c0; margin:44px 24px 0; padding-top:24px; }
.speaker-next span { font-size:18px; font-weight:700; white-space:nowrap; }
.speaker-next p { margin:0; font-size:15px; }

/* Content and responsive adjustments required by the revised brief. */
html { overflow-x:clip; }
[id] { scroll-margin-top:110px; }
:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.mark { white-space:normal; }
.mini-metrics strong { font-size:19px; text-transform:uppercase; letter-spacing:.01em; }
.mini-metrics span { font-size:14px; }
.format-card { gap:4px; }
.format-card h3 { font-size:28px; line-height:1.12; }
.format-card p { font-size:16px; line-height:1.55; }
.format-coral { color:var(--ink); }
.audience h2 { font-size:clamp(32px,3.6vw,48px); line-height:1.15; }
.audience-heading-secondary { display:block; margin-top:16px; font-size:.7em; line-height:1.3; font-weight:500; }
.audience-tags span { font-size:13px; }
.audience-message { padding:40px; border:1.5px solid var(--ink); border-radius:34px; background:var(--yellow); box-shadow:var(--shadow); }
.audience-message img { width:180px; height:auto; margin-bottom:55px; }
.audience-message p { font-size:clamp(28px,3.2vw,43px); line-height:1.15; letter-spacing:-.04em; font-weight:700; margin:0 0 38px; }
.audience-message>span { display:inline-block; border:1px solid var(--ink); padding:10px 18px; border-radius:99px; font-size:14px; }
.benefits-head h2 { font-size:clamp(36px,4.1vw,58px); line-height:1.12; }
.benefit p { font-size:16px; }
.benefit h3 { font-size:26px; line-height:1.12; }
.day-card-main p { font-size:16px; }
.day-points span { font-size:13px; }
.day-row { grid-template-columns:145px 1fr; }
.day-row span { font-size:16px; }
.tickets-heading { margin-bottom:38px; }
.tickets-heading .section-label { margin-bottom:24px; }
.tickets-heading h2 { font-size:clamp(38px,4.6vw,64px); line-height:1.07; letter-spacing:-.045em; margin:0 0 20px; }
.tickets-heading>p { font-size:18px; line-height:1.6; }
.ticket-options { display:grid; grid-template-columns:1fr; max-width:760px; margin:0 auto; gap:24px; }
.ticket-option { display:flex; flex-direction:column; align-items:flex-start; border:1.5px solid var(--ink); border-radius:34px; padding:40px; }
.ticket-live { background:var(--ink); color:white; }
.ticket-format { font-size:14px; text-transform:uppercase; letter-spacing:.12em; font-weight:600; }
.ticket-option h3 { font-size:32px; line-height:1.15; letter-spacing:-.04em; margin:24px 0 10px; }
.ticket-prices { display:flex; flex-wrap:wrap; gap:24px 48px; margin:24px 0 32px; }
.ticket-price { margin:0; display:grid; gap:8px; }
.ticket-price strong { font-size:clamp(28px,4vw,42px); line-height:1.15; color:var(--yellow); }
.ticket-price span { font-size:15px; }
.ticket-option ul { list-style:none; padding:0; margin:0 0 32px; width:100%; }
.ticket-option li { border-top:1px solid currentColor; padding:14px 0; font-size:16px; line-height:1.5; }
.ticket-option .btn { margin-top:auto; width:100%; }
.tickets-closing { max-width:860px; font-size:22px; line-height:1.55; margin:38px 0 0; }
.location-facts { grid-template-columns:repeat(2,1fr); row-gap:14px; }
.location-facts span { font-size:12px; }
.location-cta { margin-top:28px; }
.faq-list p { font-size:16px; }
.contact-card p { max-width:560px; font-size:16px; line-height:1.65; margin:20px 0 0; }
.contact-actions span { font-size:13px; }
.modal-panel { max-height:calc(100dvh - 44px); overflow:auto; }
.modal-panel p { font-size:16px; }
.mobile-nav:not(.open) { visibility:hidden; }
.reveal { opacity:1; transform:none; }
/* The page remains readable when scripts or intersection observers are unavailable. */
@media (prefers-reduced-motion:no-preference) {
  .js-motion .reveal { opacity:0; transform:translateY(20px); }
  .js-motion .reveal.is-visible { opacity:1; transform:none; }
}
@media (max-width:980px) {
  .speakers-heading { grid-template-columns:1fr; gap:24px; }
  .speakers-intro { max-width:680px; }
  .speaker-poster { padding:28px 10px 24px; border-radius:36px; }
  .speaker-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 0; }
  .speaker-card:last-child:nth-child(odd) { grid-column:1 / -1; width:50%; justify-self:center; }
  .speaker-caption { padding:0 14px; }
  .speaker-caption h3 { font-size:18px; }
  .speaker-role { font-size:14px; }
  .speaker-announcement-disc span { font-size:25px; }
  .ticket-option { padding:28px; }
}
@media (max-width:620px) {
  [id] { scroll-margin-top:92px; }
  .hero h1 { font-size:clamp(36px,9.5vw,52px); line-height:1.08; }
  .hero-lead { font-size:16px; }
  .hero-highlights span { font-size:12px; }
  .intro-main h2,.location h2 { font-size:36px; line-height:1.12; }
  .audience-message { padding:30px; }
  .audience-message img { margin-bottom:36px; }
  .speaker-poster { padding:26px 8px 24px; }
  .speaker-grid { grid-template-columns:1fr; gap:36px; }
  .speaker-card,.speaker-card:last-child:nth-child(odd) { max-width:380px; width:100%; justify-self:center; grid-column:auto; }
  .speaker-caption { padding:0 24px; }
  .speaker-caption h3 { font-size:20px; line-height:1.3; }
  .speaker-role { font-size:15px; }
  .speaker-bio { font-size:14px; line-height:1.55; }
  .speaker-arc text { font-size:13px; }
  .speaker-announcement-disc { gap:14px; padding:18px; }
  .speaker-announcement-disc span { font-size:28px; }
  .speaker-announcement-disc small { font-size:13px; }
  .speaker-next { margin:28px 16px 0; flex-direction:column; align-items:flex-start; gap:8px; }
  .speaker-next p { font-size:14px; }
  .speakers-heading h2 { font-size:36px; }
  .speakers-subtitle { font-size:21px; }
  .speakers-intro>p { font-size:16px; }
  .day-row { grid-template-columns:1fr; gap:10px; }
  .ticket-options { grid-template-columns:1fr; }
  .ticket-option { padding:28px 24px; }
  .ticket-option h3 { font-size:29px; }
  .tickets-closing { font-size:19px; }
  .location-facts { grid-template-columns:1fr 1fr; }
  .location-facts div { border:0; }
  .contact-card { gap:28px; }
  .modal-panel h2 { font-size:28px; padding-right:20px; }
}
@media (max-width:380px) {
  .speaker-grid { grid-template-columns:1fr; gap:36px; }
  .speaker-card,.speaker-card:last-child:nth-child(odd) { max-width:290px; width:100%; justify-self:center; grid-column:auto; }
  .speaker-caption h3 { font-size:19px; }
  .speaker-role { font-size:15px; }
  .speaker-bio { font-size:13px; }
  .speaker-announcement-disc span { font-size:28px; }
}
