/* Buyer journey: the sunset carries add-ons, then the ticket transfer. */
#transferir{height:140vh;background:linear-gradient(125deg,#26203d 0%,#684268 52%,#e58a9e 100%)}
#transferir #transferFrame{opacity:var(--sunset-image-opacity,1)}
#transferir .car-silhouette{opacity:var(--sunset-image-opacity,1)}
#inicio .office-copy h1{font-size:clamp(50px,5.5vw,82px);line-height:.98}
#foh .stage-screen-main strong{font-size:118px;letter-spacing:-.075em}
#final.closing-scene{min-height:100vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px;padding-top:120px;padding-bottom:90px}
#final.closing-scene h2{margin:0;max-width:1050px;font-size:clamp(54px,7vw,112px);line-height:.95}
#final.closing-scene>p:not(.eyebrow){margin:0 0 20px}
#accessBlend{opacity:0}
#venueMerchFrame,#venueMerchBlend{position:absolute;inset:0;opacity:0}
.journey-extras{position:absolute;z-index:4;top:18vh;left:7vw;max-width:720px;color:#fff;opacity:var(--extras-opacity,0);pointer-events:none}
.journey-extras .eyebrow{color:#d7ff3a;margin:0 0 20px}
.journey-extras h2{font-size:clamp(66px,8.2vw,126px);line-height:.84;margin:0;letter-spacing:-.075em}
.journey-extras h2 span{display:block;width:max-content;max-width:100%}
.journey-extras h2 span:first-child{transform:translateX(var(--extra-hotel-x,-65px))}
.journey-extras h2 span:nth-child(2){color:#f48ab8;transform:translateX(var(--extra-tours-x,60px))}
.journey-extras h2 span:nth-child(3){color:#d7ff3a;transform:translateX(var(--extra-merch-x,-75px))}
.journey-extras>p:last-child{font-size:clamp(17px,1.6vw,23px);line-height:1.3;margin:25px 0 0;max-width:430px;font-weight:600}
@media(max-width:700px){
  #inicio .office-copy h1{font-size:clamp(42px,10vw,58px)}
  .journey-extras{left:22px;right:22px;top:17vh;max-width:none}
  .journey-extras h2{font-size:clamp(56px,13vw,83px)}
  .journey-extras>p:last-child{font-size:16px;max-width:310px}
  #final.closing-scene h2{font-size:clamp(44px,10vw,58px);max-width:420px}
}
.ticket-holder-names{display:grid;justify-items:end}
.ticket-holder-names>span{grid-area:1/1}
/* Sequential swap: the longer name is gone before the new one appears (no ghost letters). */
.ticket-holder-michelle{opacity:calc(1 - 2 * var(--ticket-holder-david,0))}
.ticket-holder-david{opacity:calc(2 * var(--ticket-holder-david,0) - 1)}

/* Headlines break in balanced lines (no single-word last line). */
h1,h2{text-wrap:balance}
/* Language toggle: at least 44x44 to tap. */
.site-header #langToggle{padding:12px 14px;min-width:44px;min-height:44px}
/* Screen-reader copy of each chapter (mockup-completo.js buildScreenReaderSummary). */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
