/* Product-led composition. Every overlay has a role in the journey. */
:root{--paper:#f4f3ee;--ink:#161618;--muted:#727478}
h1,h2,h3{letter-spacing:-.058em;line-height:.98}
.site-header{background:linear-gradient(#0b0c0ee6,#0b0c0e00);border:0;backdrop-filter:none;height:78px}
.site-header>span{letter-spacing:.04em;font-size:11px}.page-progress{top:0;height:3px}
.eyebrow{font-size:12px;letter-spacing:.06em}.scene-image{user-select:none}
.office-copy{max-width:630px}.office-copy :is(h1,h2){font-size:clamp(52px,6.5vw,96px)}
.office-copy>p:last-child{font-size:clamp(18px,1.5vw,23px);line-height:1.4;max-width:480px}
.office-payment{position:absolute;z-index:4;left:7vw;bottom:8vh;max-width:570px;opacity:var(--payment-note,0);transform:translateY(var(--payment-note-y,20px));pointer-events:none}
.office-payment strong{font-size:clamp(24px,3vw,45px);letter-spacing:-.04em;line-height:1.06;display:block;max-width:540px}
.office-payment p{font-size:16px;margin:14px 0 0;color:#e5e6e3;line-height:1.4}
.office-reveal{opacity:var(--office-reveal,0);background:var(--pink)}
.distribution-city .city-copy{max-width:720px;top:22vh}
.distribution-city .city-copy h2{font-size:clamp(64px,8vw,122px);max-width:740px}
.city-copy>p:last-child{font-size:clamp(18px,1.6vw,24px);font-weight:500;line-height:1.4;max-width:470px}
.distribution-city .city-grade{background:linear-gradient(90deg,#0b0c0ed9,transparent 84%);opacity:var(--city-grade-opacity,.8)}
.city-aerial{clip-path:none;opacity:var(--city-aerial-opacity,0)}
.city-exit{clip-path:inset(var(--city-exit-top,100%) 0 0);background:var(--plum)}
.city-entry{background:var(--pink)}
.flight-message{top:auto;bottom:15vh;max-width:750px}.flight-message h2{font-size:clamp(60px,7.5vw,112px);margin:0}
.map-explainer{bottom:6vh;font-size:clamp(18px,1.55vw,23px);max-width:550px;font-weight:500;line-height:1.35}
.flight-curtain{clip-path:inset(0 0 var(--flight-reveal-bottom,0%) 0);background:var(--plum)}
.transfer-copy{top:22vh;max-width:560px;opacity:var(--transfer-copy-opacity,1);transform:translateY(var(--transfer-copy-y,0px))}
.transfer-copy h2{font-size:clamp(56px,6.8vw,104px);max-width:620px}
.transfer-shade{background:linear-gradient(90deg,#120e1ae0,transparent 82%),linear-gradient(0deg,#100b19b0,transparent 36%)}
.transfer-entry{background:var(--plum)}
.car-silhouette{display:none}
.phone-object{right:12vw;top:16vh;width:292px;height:554px;padding:7px;border:3px solid #56565b;border-radius:34px;background:#141417;box-shadow:none}
.phone-camera{top:11px;height:7px;width:53px;border-radius:4px;background:#141417}
.phone-screen{border-radius:24px;background:var(--paper);color:var(--ink);padding:26px 19px 20px;justify-content:flex-start;gap:18px}
.phone-top{font-size:10px;letter-spacing:.035em;align-items:center;color:#6b646d}
.phone-top .wallet-label{font-size:9px;font-weight:600;color:#6b646d}
.ticket-face{position:relative;overflow:hidden;background:var(--plum);color:#fff;min-height:200px;padding:20px}
.ticket-face::after{content:"";position:absolute;bottom:-55px;right:-40px;width:155px;height:155px;background:var(--pink);transform:rotate(35deg)}
.ticket-face small{font-size:9px;font-weight:600;letter-spacing:.08em}
.ticket-face h3{position:relative;z-index:1;font-size:51px;margin:22px 0 15px;line-height:.86;letter-spacing:-.05em}
.ticket-face p{position:relative;z-index:1;font-size:10px;margin:0}
.holder{border:0;padding:0;align-items:center}.holder small{font-size:9px;color:#777}.holder b{font-size:21px;letter-spacing:-.035em}
.ticket-transfer{border-top:1px solid #d9d6db;padding-top:16px;position:relative;flex:1}
.ticket-transfer>small{font-size:8px;font-weight:700;color:#79747c;letter-spacing:.02em}
.ticket-route{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px;font-size:13px;font-weight:700}
.ticket-route svg{width:51px;height:20px;fill:none;stroke:#9a3970;stroke-width:1.5}
.ticket-transfer p{position:absolute;bottom:0;left:0;font-size:12px;margin:0;font-weight:600}
.transfer-pending{color:#777;opacity:var(--ticket-pending,1)}.transfer-received{color:#235743;opacity:var(--ticket-delivered,0)}
.transfer-exit{clip-path:inset(100%);background:var(--plum);opacity:0}
.access-entry{background:var(--plum)}.access-copy{max-width:620px;opacity:var(--access-copy-opacity,1)}
.access-copy h2{font-size:clamp(58px,7.6vw,112px)}
.arrival-led{background:var(--plum);color:#fff;gap:95px}.arrival-led span{font-size:77px;letter-spacing:.035em}.arrival-led strong{font-size:110px}
.access-exit{position:absolute;z-index:9;inset:0;background:#171719;opacity:var(--access-exit,0);pointer-events:none}
.venue-entry{background:#171719;clip-path:none;opacity:var(--venue-entry-opacity,1)}
.venue-visual img{filter:saturate(.9);transform:none}
.venue-darken{background:linear-gradient(0deg,#090b11f2,transparent 84%)}
.venue-body{top:auto;bottom:9vh;padding:0 7vw;max-width:1000px}
.venue-body h2{font-size:clamp(64px,8vw,120px);max-width:710px;margin-bottom:25px}
.venue-items{display:block}.venue-items p{font-size:clamp(18px,1.55vw,23px);font-weight:500;max-width:440px;line-height:1.4;margin:0}
.venue-exit{background:#0b0c0e;clip-path:none;opacity:var(--venue-out,0)}
.seat-entry{background:#0b0c0e;clip-path:none;opacity:var(--seat-entry-opacity,1)}
.seat-shade{background:linear-gradient(0deg,#080a11b0,transparent 80%)}
.seat-copy{top:auto;bottom:9vh;max-width:1000px}.seat-copy .eyebrow{display:none}
.seat-copy h2{font-size:clamp(54px,6.5vw,98px);margin-bottom:20px;max-width:1000px}
.seat-copy>p:last-child{font-size:clamp(18px,1.5vw,23px);font-weight:500;line-height:1.4;max-width:450px}
.opening-shade{background:linear-gradient(0deg,#080a111f,transparent)}
.stage-beam{inset:0;width:100%;height:100%;transform:none;clip-path:inset(100%);background:var(--pink)}
.stage-beam::before{opacity:.25}.stage-beam span{transform:none;opacity:var(--beam-title-opacity,0);font-size:clamp(60px,12vw,160px)}
.stage-screen-main strong{font-size:127px;letter-spacing:-.06em}.stage-screen-main span{font-size:58px;letter-spacing:-.04em}
.stage-screen-top,.stage-screen-bottom{font-size:18px;letter-spacing:.04em}
.ops-incoming{background:var(--pink);clip-path:none}
.ops-copy h2{font-size:clamp(58px,7vw,106px)}.ops-copy>p:last-child{font-size:clamp(18px,1.55vw,23px);max-width:470px;line-height:1.4}
#opsScreen .ops-ui{background:#f4f3ee}
#opsScreen .ops-ui-head{height:62px;padding:0 33px}
#opsScreen .ops-ui-main{padding:29px 35px;min-height:478px}
#opsScreen .ops-workspace-title{display:flex;justify-content:space-between;align-items:center;gap:24px}
#opsScreen .ops-workspace-title p{font-size:10px;letter-spacing:.06em;margin:0 0 10px;font-weight:600;color:#69666b}
#opsScreen .ops-workspace-title h2{font-size:39px;letter-spacing:-.04em;margin:0 0 25px;line-height:1.05}
#opsScreen .ops-workspace-title>span{font-size:9px;letter-spacing:.06em;color:#858188;align-self:start;padding-top:2px}
#opsScreen .ops-modules{display:flex;gap:28px;font-size:13px;border-bottom:1px solid #d8d6d9;align-items:center;height:40px;color:#6f6c74}
#opsScreen .ops-modules b{height:40px;display:flex;align-items:center;color:#151518;border-bottom:3px solid #151518}
#opsScreen .ops-feed-labels,#opsScreen .ops-activity{display:grid;grid-template-columns:220px 1fr;align-items:center}
#opsScreen .ops-feed-labels{font-size:9px;font-weight:600;color:#7b767e;height:36px;letter-spacing:.07em}
#opsScreen .ops-activity{height:58px;border-top:1px solid #e2dfe3;font-size:17px;font-weight:500}
#opsScreen .ops-activity>span{color:#625d69;font-size:14px}
#opsScreen .ops-activity strong{font-size:17px;letter-spacing:-.02em;font-weight:600}
#opsScreen .ops-activity:last-child{border-bottom:1px solid #e2dfe3}
#opsScreen .ops-foot{margin-top:22px;font-size:9px;letter-spacing:.04em;color:#8b868e}
#opsScreen .ops-foot b{color:#322d36}
#opsScreen .ops-crm-panel{padding:29px 35px;justify-content:flex-start;gap:13px;background:#f4f3ee}
#opsScreen .customer-summary{display:flex;align-items:center;gap:15px;margin:0 0 15px}
#opsScreen .customer-avatar{width:48px;height:48px;background:#e3e1e7;color:#392d43;display:grid;place-items:center;font-size:22px;font-weight:600}
#opsScreen .customer-summary>div{display:flex;flex-direction:column;gap:5px}
#opsScreen .customer-summary strong{font-size:22px;letter-spacing:-.02em}
#opsScreen .customer-summary>div>span{font-size:12px;color:#79737e}
#opsScreen .customer-tools{display:grid;grid-template-columns:1fr 1fr;gap:36px;border-top:1px solid #d8d6d9;padding-top:23px}
#opsScreen .customer-tools>div{display:flex;flex-direction:column;gap:13px}
#opsScreen .customer-tools strong{font-size:22px;letter-spacing:-.035em}
#opsScreen .customer-tools span{font-size:15px;line-height:1.5;color:#6e6874;max-width:280px}
.closing-scene{min-height:110vh;padding-top:130px}.closing-back{display:none}
.closing-scene h2{font-size:clamp(66px,9vw,132px);max-width:1080px}
.closing-scene>p:not(.eyebrow){font-size:clamp(20px,1.8vw,28px);font-weight:500;line-height:1.35;max-width:750px}
.closing-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;max-width:1100px;margin:60px 0 50px}
.closing-capabilities>div{max-width:320px}.closing-capabilities h3{font-size:24px;letter-spacing:-.025em;line-height:1.2;margin-bottom:12px}
.closing-capabilities p{font-size:15px;line-height:1.6;color:#b1b3b6;margin:0}
.closing-scene>a{font-size:15px;padding:19px 28px;letter-spacing:0}
@media(max-width:900px){.phone-object{right:7vw;width:252px;height:504px}.ticket-face{min-height:175px}.ticket-face h3{font-size:44px}.transfer-copy{max-width:52vw}.office-payment{left:5vw;max-width:48vw}.office-payment strong{font-size:30px}.office-payment p{font-size:14px}.closing-capabilities{gap:22px}.closing-capabilities h3{font-size:21px}}
@media(max-width:600px){.site-header{height:64px;padding:0 22px}.page-progress{top:0}.site-header>span{font-size:9px}.office-copy,.office-payment{left:22px;right:22px;max-width:none}.office-copy :is(h1,h2){font-size:clamp(48px,11.5vw,67px)}.office-payment{bottom:10vh}.office-payment strong{font-size:32px;max-width:300px}.office-payment p{font-size:15px;max-width:300px}.distribution-city .city-copy{top:17vh}.distribution-city .city-copy h2{font-size:clamp(52px,11.5vw,70px)}.city-copy>p:last-child{font-size:17px;max-width:300px}.flight-message{top:auto;bottom:20vh;left:22px;right:22px}.flight-message h2{font-size:54px}.map-explainer{bottom:9vh;max-width:310px;font-size:17px}.transfer-copy{left:22px;right:22px;top:13vh;max-width:none}.transfer-copy h2{font-size:clamp(44px,10vw,59px);max-width:350px}.phone-object{right:10vw;top:39vh;width:186px;height:370px;padding:5px;border-width:2px;border-radius:25px}.phone-screen{padding:21px 12px 13px;border-radius:18px;gap:12px}.phone-camera{top:9px;width:41px;height:5px}.phone-top{font-size:7px}.phone-top .wallet-label{font-size:7px}.ticket-face{min-height:132px;padding:13px}.ticket-face small{font-size:7px}.ticket-face h3{font-size:33px;margin:15px 0 10px}.ticket-face p{font-size:8px}.ticket-face::after{width:105px;height:105px;bottom:-40px}.holder small{font-size:7px}.holder b{font-size:17px}.ticket-transfer{padding-top:11px}.ticket-transfer>small{font-size:6px}.ticket-route{font-size:10px;margin:12px 0 10px}.ticket-route svg{width:35px;height:14px}.ticket-transfer p{font-size:9px}.access-copy{left:22px;right:22px;top:17vh}.access-copy h2{font-size:clamp(52px,11vw,69px)}.venue-body{bottom:9vh;padding:0 22px}.venue-body h2{font-size:57px;max-width:320px}.venue-items p{font-size:17px;max-width:300px}.seat-copy{top:auto;bottom:9vh;left:22px;right:22px}.seat-copy h2{font-size:54px}.seat-copy>p:last-child{font-size:17px}.ops-copy h2{font-size:clamp(48px,11vw,69px)}.ops-copy>p:last-child{font-size:17px}.closing-scene{padding-top:105px}.closing-scene h2{font-size:61px}.closing-scene>p:not(.eyebrow){font-size:19px}.closing-capabilities{grid-template-columns:1fr;gap:24px;margin:40px 0}.closing-capabilities>div{max-width:350px}.closing-capabilities h3{font-size:21px;margin-bottom:7px}.closing-capabilities p{font-size:14px}}
@media(max-height:650px) and (min-width:601px){.phone-object{top:14vh;width:222px;height:440px}.ticket-face{min-height:150px}.ticket-face h3{font-size:36px}.phone-screen{gap:12px}.ticket-transfer>small{font-size:7px}.ticket-route{margin:14px 0}.transfer-copy{top:23vh}.transfer-copy h2{font-size:64px}}
.distribution-city .city-exit{clip-path:inset(var(--city-exit-top,100%) 0 0)}
#officeScreen .sale-screen-head>span::before{content:none}
@media(max-width:600px) and (max-height:650px){
 .phone-object{top:40vh;transform:translateY(var(--phone-y,70px)) rotate(var(--phone-rotate,13deg)) scale(.78);transform-origin:top right}
 .transfer-copy{top:14vh}.transfer-copy h2{font-size:clamp(35px,8.7vw,48px);max-width:310px}.transfer-copy .eyebrow{margin-bottom:10px}
}
