/* The rest of the show. Deliberately scoped below the opening hero. */
#world,#appearances,#story,#moments,.merch-spotlight,.partners-strip,.join{position:relative;isolation:isolate}
#world .wrap,#appearances .wrap,#story>.wrap,#moments .wrap,.partners-strip .wrap,.join .wrap,.footer .wrap{padding-inline:20px}
#world{padding-top:110px;background:radial-gradient(ellipse at 85% 22%,#1b335421,transparent 50%)}
#world .section-head,#appearances .section-head,#moments .gallery-head{align-items:end;margin-bottom:48px}
#world h2,#appearances h2,#moments h2{font-size:clamp(60px,7.8vw,150px)!important;line-height:.95;letter-spacing:-.035em}
#world .section-desc{font-size:14px;line-height:1.8;max-width:320px;color:#aab0b8}
#world .world-grid{grid-template-columns:1.28fr 1fr 1fr;gap:16px;align-items:start}
#world .world-card{height:clamp(440px,40vw,690px);border:1px solid #ffffff24;border-radius:2px;overflow:hidden;background:#101215;box-shadow:0 24px 65px #0005;transform:none}
#world .world-card:nth-child(2){margin-top:65px}
#world .world-card:nth-child(3){margin-top:130px}
#world .world-card:after{background:linear-gradient(180deg,#0004,transparent 30%,#0006 58%,#000e)}
#world .world-card img{transition:transform 1.2s cubic-bezier(.2,.75,.2,1),filter .7s;filter:saturate(.82);will-change:auto}
#world .world-card:hover img,#world .world-card:focus-visible img{transform:scale(1.055);filter:saturate(1.1)}
#world .card-top{left:22px;right:22px;top:22px}
#world .card-bottom{left:22px;right:22px;bottom:26px}
#world .card-bottom h3{font-size:clamp(36px,3.1vw,64px);line-height:1.02;margin-block:13px}
#world .card-bottom p{font-size:12px;max-width:280px;line-height:1.7;color:#bdc3cc}
#world .circle-arrow{background:#080a0e55;backdrop-filter:blur(8px);border-color:#ffffff70}
.intro-strip{background:linear-gradient(100deg,#10151c,#080a0e 70%);border-bottom:1px solid #ffffff16}
.intro-strip .stat{position:relative;padding-left:24px;border-left:1px solid #ffffff20}
.intro-strip .stat strong{font-size:clamp(35px,4.2vw,80px);letter-spacing:-.055em;background:linear-gradient(#fff,#9fb6cd);background-clip:text;-webkit-text-fill-color:transparent}
.intro-strip .stat span{letter-spacing:.12em;font-size:9px;line-height:1.6}
.reel-section{border-color:#a9cbf33b;overflow:hidden;border-radius:2px}
.reel-section .reel-copy{background:radial-gradient(ellipse at 0 90%,#21344d35,transparent 65%),#0e1013;padding-left:24px}
.reel-copy h2{letter-spacing:-.035em}
.reel-copy .play{margin-top:30px}
#appearances{background:radial-gradient(ellipse at 100% 70%,#1b35502a,transparent 60%),#0b0d10;border-block:1px solid #ffffff13}
#appearances .tour-list{border-top:0;display:grid;gap:12px}
#appearances .tour-row{position:relative;min-height:130px;padding:26px 26px 26px 0;border:1px solid #ffffff20;background:#ffffff03;overflow:hidden;transition:background .35s,border-color .35s;gap:25px}
#appearances .tour-row:before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:#b7d8ff;transform:scaleY(0);transform-origin:bottom;transition:transform .4s}
#appearances .tour-row:hover,#appearances .tour-row:focus-within{background:#89b7e70b;border-color:#b7d8ff65}
#appearances .tour-row:hover:before,#appearances .tour-row:focus-within:before{transform:scaleY(1)}
#appearances .date{min-width:150px;padding-inline:25px;border-right:1px dashed #ffffff32;align-self:stretch;align-items:center}
#appearances .date b{font-size:65px;line-height:1;letter-spacing:-.06em}
#appearances .date small{font-size:10px;letter-spacing:.12em;color:#b1c4d9}
#appearances .event-name h3{font-size:clamp(20px,2vw,37px);font-weight:500;letter-spacing:-.03em}
#appearances .event-name p{font-size:11px;color:#929ca9;margin-top:9px}
#appearances .event-type{font-size:8px;letter-spacing:.15em;justify-self:center;padding:9px 12px;border:1px solid #ffffff1c;border-radius:30px;white-space:nowrap}
#appearances .filter{border-radius:30px;padding:10px 18px;font-size:9px}
#appearances .tour-foot{margin-top:26px}
#story{background:radial-gradient(ellipse at 5% 45%,#23466b18,transparent 50%)}
#story .story{grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center}
#story .story-photo{height:clamp(500px,56vw,850px);border:1px solid #ffffff26;box-shadow:20px 20px 0 #ffffff03;margin-right:0}
#story .story-photo img{object-position:52% center;filter:saturate(.8)}
#story .story-photo:after{display:none}
#story .story-caption{left:20px;right:20px;bottom:20px;font-size:9px;padding:16px;border:1px solid #ffffff30;backdrop-filter:blur(14px);background:#0b0e1480}
#story h2{font-size:clamp(60px,6.8vw,125px);line-height:.94;letter-spacing:-.035em}
#story .signature{color:#c4dcf6;font-size:clamp(28px,3vw,48px);margin-block:28px}
#cruises{min-height:820px;border-block:1px solid #ffffff20}
#cruises>img{object-position:60% center;filter:saturate(.85)}
#cruises:after{background:linear-gradient(90deg,#050a12ef,#050a1280 45%,#050a1210),linear-gradient(0deg,#080b10aa,transparent 55%)}
#cruises h2{font-size:clamp(75px,8.4vw,160px);line-height:.94;letter-spacing:-.035em}
#cruises .wrap{position:relative;z-index:2;padding-inline:20px;padding-block:120px}
#cruises .stamp{right:40px;top:45px;background:#05111c45;backdrop-filter:blur(12px);border-color:#fff9}
#moments{background:linear-gradient(180deg,#080808,#0d1117)}
#moments .gallery{grid-template-columns:1.4fr 1fr;gap:18px}
#moments .gallery button{height:clamp(370px,36vw,650px);border:1px solid #ffffff25;overflow:hidden;border-radius:2px}
#moments .gallery button:nth-child(2){margin-top:75px}
#moments .gallery button:nth-child(3){display:none}
#moments .gallery img{filter:saturate(.7);transition:transform 1s,filter .7s}
#moments .gallery button:hover img,#moments .gallery button:focus-visible img{transform:scale(1.035);filter:saturate(1)}
#moments .gallery-actions button{width:46px;height:46px;border-radius:50%;border:1px solid #ffffff45}
.merch-spotlight{background:#dce6f0;color:#10151d;overflow:hidden;border-block:1px solid #ffffff30}
.merch-spotlight .wrap{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;padding:75px 20px}
.merch-spotlight .eyebrow{color:#40546c}
.merch-spotlight h2{font-size:clamp(60px,7.3vw,135px);line-height:.93;letter-spacing:-.04em;margin:24px 0}
.merch-spotlight p{max-width:360px;font-size:14px;line-height:1.8;color:#4c5c6e}
.merch-spotlight .button{background:#10151d;color:#fff;margin-top:30px;border-color:#10151d}
.merch-image{position:relative;height:600px;overflow:hidden;background:#b9c8d7}
.merch-image img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 1.1s}
.merch-image:hover img{transform:scale(1.035)}
.merch-image span{position:absolute;left:20px;bottom:20px;right:20px;color:#fff;font-size:9px;letter-spacing:.18em;text-transform:uppercase;border-top:1px solid #ffffff80;padding-top:16px;text-shadow:0 1px 5px #000}
.partners-strip{padding-block:65px;background:#080a0d;border-bottom:1px solid #ffffff20}
.partners-strip .partner-logo{padding:20px;transition:background .3s,transform .3s;border-radius:2px}
.partners-strip .partner-logo:hover{background:#ffffff07;transform:translateY(-4px)}
.partners-strip .eyebrow{max-width:160px;line-height:1.7}
.join{background:radial-gradient(ellipse at 80% 50%,#27496e40,transparent 60%),#0c1016;padding-block:110px;overflow:hidden}
.join h2{font-size:clamp(75px,9vw,170px);line-height:.92;letter-spacing:-.04em}
.join .mono{opacity:.06;width:50vw;height:90%;top:5%;left:49%;transform:rotate(-10deg)}
.join .wrap{position:relative;z-index:1}
.join .join-copy:last-child{max-width:400px}
.footer{background:#07090c;border-top:1px solid #ffffff1a;padding-top:60px}
.footer .footer-col h3{color:#bed4eb;letter-spacing:.15em;font-size:9px}
.footer .footer-col a{color:#a2aab5;transition:color .2s}
.footer .footer-col a:hover{color:#fff}
@media(max-width:1000px){#world .world-grid{grid-template-columns:1fr 1fr}#world .world-card:first-child{grid-column:1/-1;height:550px}#world .world-card:nth-child(2),#world .world-card:nth-child(3){margin-top:0}#appearances .event-type{display:none}#appearances .tour-row{grid-template-columns:150px 1fr auto;gap:18px}#appearances .date{min-width:0;padding-inline:18px}.merch-image{height:490px}.partners-strip .wrap{flex-wrap:wrap;justify-content:center}}
@media(max-width:650px){#world{padding-top:65px}#world .section-head,#appearances .section-head,#moments .gallery-head{margin-bottom:28px}#world .section-head{display:block}#world .section-desc{margin-top:22px}#world .world-grid{grid-template-columns:1fr;gap:18px}#world .world-card,#world .world-card:first-child{height:530px;grid-column:auto}#world .card-bottom h3{font-size:50px}.intro-strip .stat{padding-left:12px}.intro-strip .stat strong{font-size:33px}.intro-strip .stat span{font-size:7px}#appearances .section-head{align-items:start;gap:22px}#appearances .tour-row{grid-template-columns:85px 1fr;padding:22px 18px 22px 0;gap:16px}#appearances .date{padding-inline:12px;grid-row:1/3;flex-direction:column;justify-content:center;gap:8px}#appearances .date b{font-size:49px}#appearances .date small{text-align:center;line-height:1.4}#appearances .tour-row .text-link{grid-column:2;margin:0;max-width:none}#appearances .event-name h3{font-size:23px}#appearances .filter{padding:9px 14px}#story .story{grid-template-columns:1fr;gap:45px}#story .story-photo{height:550px;box-shadow:none}#story h2{font-size:78px}#cruises{min-height:740px}#cruises .wrap{padding-top:210px;padding-bottom:70px}#cruises h2{font-size:78px}#cruises .stamp{right:20px;top:30px}#moments .gallery{grid-template-columns:1fr;gap:16px}#moments .gallery button{height:440px}#moments .gallery button:nth-child(2){margin-top:0}#moments .gallery-head{align-items:start;gap:15px}#moments h2{font-size:58px!important}#moments .gallery-actions{padding-top:4px}#moments .gallery-actions button{width:32px;height:32px}.merch-spotlight .wrap{grid-template-columns:1fr;gap:35px;padding-block:55px}.merch-spotlight h2{font-size:75px}.merch-image{height:520px}.partners-strip{padding-block:38px}.partners-strip .wrap{gap:15px}.partners-strip .eyebrow{max-width:none;width:100%}.partners-strip .partner-logo{padding:12px}.join{padding-block:75px}.join h2{font-size:86px}.join .mono{width:90vw;left:30%}}
@media(prefers-reduced-motion:reduce){#world .world-card img,#moments .gallery img,.merch-image img,#appearances .tour-row,#appearances .tour-row:before,.partners-strip .partner-logo{transition:none!important}}
.motion-off #world .world-card img,.motion-off #moments .gallery img,.motion-off .merch-image img,.motion-off #appearances .tour-row:before,.motion-off .partners-strip .partner-logo{transition:none!important}

#appearances{padding-inline:0}.merch-spotlight{scroll-margin-top:98px}

/* Partners get their own stage. Original logo files and colors stay intact. */
#partners{padding-block:90px;background:radial-gradient(ellipse at 50% 100%,#274e7c38,transparent 65%),linear-gradient(115deg,#0b1018,#080a0f);border-block:1px solid #b8d8ff33;overflow:hidden}
#partners:before{content:'';position:absolute;top:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,#c6e1ffbb,transparent);pointer-events:none}
#partners .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-inline:20px}
#partners .partner-heading{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;column-gap:30px;align-items:end;margin-bottom:25px}
#partners .eyebrow{grid-column:1/-1;width:auto;max-width:none;margin-bottom:22px;color:#b0c8e3}
#partners h2{font-size:clamp(64px,6.5vw,125px);line-height:.94;letter-spacing:-.035em;margin:0}
#partners .partner-heading p{font-size:13px;line-height:1.85;color:#a2afc0;margin:0 0 5px;max-width:300px}
#partners .partner-logo{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;width:100%;height:230px;padding:32px 30px 48px;margin:0;box-sizing:border-box;border:1px solid #ffffff24;border-radius:3px;background:linear-gradient(145deg,#ffffff07,#ffffff02);opacity:1;filter:none;transition:transform .4s,border-color .4s,background .4s;box-shadow:0 16px 40px #0003}
#partners .partner-logo img{width:min(78%,300px);height:88px;object-fit:contain;flex:none;transition:transform .5s}
#partners .partner-virgin img{width:min(82%,310px)}
#partners .partner-peppermill img{width:min(75%,285px)}
#partners .partner-caption{position:absolute;bottom:21px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid #ffffff1c;font-family:Inter,Arial,sans-serif;font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:#a1b2c7;font-weight:400}
#partners .partner-caption b{font-size:18px;font-weight:400;color:#d7e9ff}
#partners .partner-logo:hover,#partners .partner-logo:focus-visible{transform:translateY(-5px);border-color:#b4d5ff85;background:linear-gradient(145deg,#a4ccff14,#ffffff03);filter:none}
#partners .partner-logo:hover img{transform:scale(1.035)}
#partners .text-link{grid-column:1/-1;justify-self:end;margin-top:15px;font-size:11px;letter-spacing:.08em;padding:16px 22px;border:1px solid #d0e5ff70;background:#c5e0ff0b;transition:background .25s}
#partners .text-link:hover{background:#c5e0ff20}
@media(max-width:800px){#partners{padding-block:60px}#partners .partner-heading{grid-template-columns:1fr;gap:20px}#partners .wrap{grid-template-columns:1fr;gap:14px}#partners .partner-heading p{max-width:none}#partners .partner-logo{height:200px;padding-top:20px;padding-bottom:50px}#partners .partner-logo img{width:240px;height:80px;max-width:85%}#partners .text-link{justify-self:stretch;text-align:center;margin-top:12px}}
@media(prefers-reduced-motion:reduce){#partners .partner-logo,#partners .partner-logo img{transition:none}}
.motion-off #partners .partner-logo,.motion-off #partners .partner-logo img{transition:none}

/* Equal optical breathing room around the scrolling capital letters. */
.attitude-band{padding:40px 20px;display:flex;align-items:center}
.attitude-belt{padding:0;margin:0;line-height:1;align-items:center}
.attitude-belt span,.attitude-belt i{display:block;margin:0;position:relative;top:-.05em}
@supports(text-box-trim:trim-both){.attitude-belt span,.attitude-belt i{text-box-trim:trim-both;text-box-edge:cap alphabetic;top:0}}
@media(max-width:760px){.attitude-band{padding-block:30px}}

/* A miniature stage-light show clipped inside the encore lettering. */
.join.finale h2{
 color:#dceeff;
 background-image:linear-gradient(112deg,transparent 35%,#fff 46%,#fff 49%,transparent 59%),linear-gradient(68deg,transparent 28%,#b3dfff 43%,#ffffffee 47%,transparent 60%),repeating-linear-gradient(90deg,#132d50 0%,#78b9f0 12%,#f0f8ff 19%,#4b86c1 27%,#18395f 38%,#d2eaff 50%);
 background-size:260% 100%,280% 100%,180% 100%;
 background-position:100% 0,0% 0,30% 0;
 background-repeat:no-repeat;
 background-clip:text;-webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
 -webkit-text-stroke:.5px #b6d9ff45;
 filter:drop-shadow(0 0 20px #68a9e628);
 padding-bottom:.09em;
}
.motion-on .join.finale.in-spotlight h2{animation:encore-letter-lights 5.8s cubic-bezier(.45,0,.55,1) infinite alternate}
@keyframes encore-letter-lights{
 0%{background-position:110% 0,-15% 0,0% 0}
 48%{background-position:15% 0,60% 0,65% 0}
 100%{background-position:-85% 0,125% 0,100% 0}
}
@media(prefers-reduced-motion:reduce){.join.finale h2{animation:none!important;background-position:40% 0,60% 0,30% 0}}
.motion-off .join.finale h2{animation:none!important;background-position:40% 0,60% 0,30% 0}
/* Bright crossing stage beams, contained entirely within the encore type. */
.join.finale h2{
 background-image:linear-gradient(114deg,transparent 36%,#97d8ff55 41%,#f8fcff 46%,#fff 49%,#9bd5ff88 53%,transparent 60%),linear-gradient(65deg,transparent 30%,#77baff66 38%,#fff 44%,#e5f7ff 48%,#8dcaff55 54%,transparent 62%),linear-gradient(98deg,transparent 40%,#fff 47%,#fff 49%,transparent 56%),linear-gradient(135deg,#8dbce7,#e2f2ff 22%,#6fa5d6 45%,#eff9ff 68%,#9fc9ec);
 background-size:260% 100%,280% 100%,360% 100%,160% 100%;
 background-position:110% 0,-15% 0,100% 0,0% 0;
 -webkit-text-stroke:.65px #dbf0ff88;
 filter:drop-shadow(0 0 24px #68b7ff45);
}
.motion-on .join.finale.in-spotlight h2{animation:encore-stage-beams 6.5s cubic-bezier(.45,0,.55,1) infinite alternate}
@keyframes encore-stage-beams{
 0%{background-position:110% 0,-15% 0,100% 0,0% 0}
 35%{background-position:35% 0,30% 0,45% 0,35% 0}
 65%{background-position:-25% 0,82% 0,-5% 0,70% 0}
 100%{background-position:-85% 0,125% 0,-80% 0,100% 0}
}
@media(prefers-reduced-motion:reduce){.join.finale h2{animation:none!important;background-position:45% 0,60% 0,30% 0,50% 0}}
.motion-off .join.finale h2{animation:none!important;background-position:45% 0,60% 0,30% 0,50% 0}
/* Narrow moving shafts and spaced strobe hits, clipped to the lettering. */
.join.finale h2{position:relative;isolation:isolate;
 background-image:linear-gradient(113deg,transparent 43%,#86d4ff88 45%,#fff 47%,#fff 48%,#8bd6ff99 50%,transparent 53%),linear-gradient(67deg,transparent 40%,#9bdfff99 43%,#fff 45%,#fff 46%,#a9e3ff88 49%,transparent 52%),linear-gradient(95deg,transparent 44%,#fff 47%,#fff 48%,transparent 51%),linear-gradient(135deg,#517fae,#b6dfff 30%,#5c94c8 55%,#bedfff 78%,#6ca2cf);
 background-size:220% 100%,240% 100%,300% 100%,150% 100%;
 filter:drop-shadow(0 0 17px #68b7ff50);
}
.motion-on .join.finale.in-spotlight h2{animation:encore-beam-chase 4.8s linear infinite,encore-strobe-hit 2.8s linear infinite}
@keyframes encore-beam-chase{
 0%{background-position:105% 0,-5% 0,110% 0,0% 0}
 50%{background-position:0% 0,65% 0,10% 0,65% 0}
 100%{background-position:-105% 0,130% 0,-100% 0,100% 0}
}
@keyframes encore-strobe-hit{
 0%,5%,19%,24%,100%{filter:brightness(1) drop-shadow(0 0 17px #68b7ff50)}
 1.5%,20.5%{filter:brightness(2.2) drop-shadow(0 0 28px #c6eaff99)}
}
@media(prefers-reduced-motion:reduce){.join.finale h2{animation:none!important;filter:drop-shadow(0 0 17px #68b7ff50)}}
.motion-off .join.finale h2{animation:none!important;filter:drop-shadow(0 0 17px #68b7ff50)}
/* Give each ticket a real date column and a shrinkable venue column. */
#appearances .tour-row{grid-template-columns:160px minmax(0,1fr) 170px 150px;gap:24px;box-sizing:border-box;width:100%;padding:26px 24px 26px 0}
#appearances .date{box-sizing:border-box;width:100%;min-width:0;padding-inline:20px;justify-content:center;gap:12px}
#appearances .date b,#appearances .date small{flex-shrink:0}
#appearances .event-name{min-width:0;max-width:100%}
#appearances .event-name h3{white-space:normal;overflow-wrap:break-word;line-height:1.2;margin:0}
#appearances .event-name p{white-space:normal;line-height:1.7}
#appearances .text-link{min-width:0;max-width:100%;grid-column:auto}
@media(max-width:1100px){
 #appearances .tour-row{grid-template-columns:120px minmax(0,1fr);gap:12px 24px;padding:24px 24px 24px 0}
 #appearances .date{grid-column:1;grid-row:1/3;padding-inline:14px;flex-direction:column;gap:9px}
 #appearances .date small{text-align:center}
 #appearances .event-name{grid-column:2;grid-row:1}
 #appearances .event-type{display:none}
 #appearances .tour-row .text-link{grid-column:2;grid-row:2;justify-self:start;width:auto;min-width:145px;margin:0;padding-block:7px}
}
@media(max-width:650px){
 #appearances .tour-row{grid-template-columns:80px minmax(0,1fr);gap:12px 18px;padding:22px 18px 22px 0}
 #appearances .date{padding-inline:10px}
 #appearances .date b{font-size:49px}
 #appearances .event-name h3{font-size:22px}
 #appearances .event-name p{font-size:10px}
}
/* A single uninterrupted encore line, sized within the 20px content gutter. */
.join.finale .wrap{display:flex;flex-wrap:wrap;gap:35px;align-items:center}
.join.finale .join-copy:first-child{flex:0 0 100%;min-width:0;max-width:100%}
.join.finale h2{white-space:nowrap;font-size:clamp(28px,10.5vw,220px);line-height:1.08;letter-spacing:-.035em;max-width:100%;margin-right:0}
.join.finale .join-copy:last-child{flex:0 1 520px;max-width:520px}
@media(max-width:650px){.join.finale h2{font-size:10vw}.join.finale .wrap{gap:25px}}

.join.finale .wrap{flex-direction:row;align-items:flex-start}.join.finale .join-copy:first-child{width:100%}.join.finale .join-copy:last-child{flex-basis:520px;width:100%;min-width:0}

/* Dividers belong to the full-bleed section, with only their labels inset. */
.section-divider{margin:0;width:100%;box-sizing:border-box;padding:16px 20px;border-top:1px solid #ffffff20;background:#080a0d}
#world{padding-top:45px}
@media(max-width:650px){#world{padding-top:34px}.section-divider{padding-block:14px;gap:20px}}
/* Consistent section rhythm; entrance and hero rules are intentionally untouched. */
#world,#appearances,#story,#moments{padding-inline:0;padding-bottom:80px}
#appearances,#story,#moments{padding-top:80px}
#world>.wrap,#appearances>.wrap,#story>.wrap,#moments>.wrap,.intro-strip>.wrap,#partners>.wrap,.join>.wrap,.footer>.wrap{padding-inline:20px;box-sizing:border-box;width:100%;max-width:none}
.story>.show-kicker,.footer .show-footer-line,.footer .footer-bottom{position:relative;border-top:0;border-bottom:0}
.story>.show-kicker:before,.footer .footer-bottom:before{content:'';position:absolute;left:-20px;right:-20px;top:0;height:1px;background:#ffffff25;pointer-events:none}
.footer .show-footer-line:after{content:'';position:absolute;left:-20px;right:-20px;bottom:0;height:1px;background:#ffffff20;pointer-events:none}
#partners:before{left:0;right:0}
#story .story{row-gap:38px}
#story .story>.show-kicker{margin:0;padding-top:16px;padding-bottom:0;grid-column:1/-1;align-self:start}
.footer .show-footer-line{padding-bottom:24px;margin-bottom:32px;gap:20px}
.footer .footer-bottom{padding-top:24px;margin-top:32px}
#partners{padding-block:75px}
.join.finale{padding-block:80px}
.join.finale .wrap{min-height:0;row-gap:28px}
.join.finale h2{margin-top:20px;margin-bottom:0}
.join.finale .join-copy:last-child p{margin-top:0;margin-bottom:22px}
#cruises .wrap{padding-block:100px}
@media(max-width:760px){
 #world,#appearances,#story,#moments{padding-bottom:56px}
 #appearances,#story,#moments{padding-top:56px}
 #world{padding-top:34px}
 #world .section-head,#appearances .section-head,#moments .gallery-head{margin-bottom:28px}
 #story .story{row-gap:30px}
 #partners{padding-block:56px}
 .join.finale{padding-block:56px}
 .join.finale .wrap{row-gap:24px}
 .footer{padding-top:40px}
 .footer .show-footer-line{padding-bottom:22px;margin-bottom:28px;flex-wrap:wrap;row-gap:12px}
 .footer .footer-bottom{margin-top:28px;row-gap:14px;flex-wrap:wrap}
 #cruises .wrap{padding-top:180px;padding-bottom:64px}
}
/* Transparent light show inside the hero's outlined name. */
.hero h1 .outlined .hero-word{
 color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #e7f4ffb3;
 background-image:linear-gradient(112deg,transparent 40%,#a4dfff18 44%,#f2fbff66 48%,#a4dfff20 51%,transparent 56%),linear-gradient(68deg,transparent 37%,#a2d6ff20 43%,#ffffff55 47%,transparent 54%);
 background-size:260% 100%,280% 100%;background-position:110% 0,-10% 0;background-repeat:no-repeat;
 background-clip:text;-webkit-background-clip:text;
}
.motion-on .hero h1 .outlined .hero-word{
 animation:hero-name-beams 7s linear infinite,hero-name-strobe 4s linear infinite!important;animation-play-state:running!important;
}
@keyframes hero-name-beams{0%{background-position:110% 0,-10% 0}100%{background-position:-110% 0,130% 0}}
@keyframes hero-name-strobe{0%,5%,19%,24%,100%{filter:brightness(1)}1.5%,20.5%{filter:brightness(2.1)}}
@media(prefers-reduced-motion:reduce){.hero h1 .outlined .hero-word{animation:none!important;background-position:35% 0,70% 0;filter:none!important}}
.motion-off .hero h1 .outlined .hero-word{animation:none!important;background-position:35% 0,70% 0;filter:none!important}
/* Stronger light shafts with no opaque fill behind the hero lettering. */
.hero h1 .outlined .hero-word{
 -webkit-text-stroke:1px #edf8ffe6;
 background-image:linear-gradient(112deg,transparent 39%,#91d8ff38 43%,#f3fbffb3 47%,#ffffffc2 49%,#9bdfff40 52%,transparent 57%),linear-gradient(68deg,transparent 36%,#9bd8ff38 42%,#ffffffa6 46%,#c6eaff66 49%,transparent 55%),linear-gradient(97deg,transparent 44%,#d5f1ff80 48%,transparent 52%);
 background-size:240% 100%,260% 100%,320% 100%;background-position:110% 0,-10% 0,100% 0;
}
@keyframes hero-name-beams{0%{background-position:110% 0,-10% 0,100% 0}100%{background-position:-110% 0,130% 0,-100% 0}}
@keyframes hero-name-strobe{0%,5%,19%,24%,100%{filter:brightness(1)}1.5%,20.5%{filter:brightness(2.6)}}
/* Preserve every edge of the sharpened sponsor photo, including its legal text. */
img[src$="partners-sharpened.png"]{width:100%!important;height:auto!important;max-width:100%;object-fit:contain!important;object-position:center center!important;transform:none!important;translate:none!important;scale:1!important;animation:none!important;display:block}
#story .story-photo:has(img[src$="partners-sharpened.png"]){height:auto!important;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#story .story-photo:has(img[src$="partners-sharpened.png"]) .story-caption{position:relative;inset:auto;display:block;margin:0;padding:18px 20px;background:#0c1118;border:0;backdrop-filter:none}
#story .story-photo:has(img[src$="partners-sharpened.png"]):before{display:none}
video[poster$="partners-sharpened.png"]:not([data-poster-ready]){object-fit:contain!important;object-position:center!important;background:#080c13}
/* Keep the unscrolled homepage header rule clear of Matt's head. */
body:not(.subpage) .site-header:not(.scrolled){border-bottom-color:transparent}
/* Render the 3000px homepage original cleanly, without stacked enlargement. */
.hero .hero-image{scale:1.008;filter:contrast(1.035) saturate(1.025);image-rendering:auto}
.motion-on .hero .hero-image{animation:hero-crisp-breathe 18s ease-in-out infinite;scale:1.008}
@keyframes hero-crisp-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.012)}}
.hero:after{background:none}
@media(prefers-reduced-motion:reduce){.hero .hero-image{animation:none!important;scale:1!important;transform:none!important}}
.motion-off .hero .hero-image{animation:none!important;scale:1!important;transform:none!important}
