/* NexusLocal hybrid cinematic journey: desktop mosaic, mobile signal spine. */
:root{--bg:#030706;--ink:#eef9f5;--muted:#9bb0a8;--emerald:#22d6a1;--cyan:#35c9df;--line:rgba(225,255,246,.14);--line-hot:rgba(62,232,178,.48);--smoke:rgba(5,17,14,.78);--smoke-soft:rgba(8,24,20,.62);--font:'Sora',system-ui,sans-serif;--mono:'IBM Plex Mono',monospace;--nav-h:64px;--ease:cubic-bezier(.16,1,.3,1);--p:0;--film-contrast:.72}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}.journey{position:fixed;inset:0;overflow:hidden}.loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#0b2922,#030706 55%)}.loader.is-done{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s var(--ease),visibility .65s}.loader__inner{display:grid;justify-items:center;gap:1.25rem}.loader__inner img{border-radius:0;width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(34,214,161,.28));animation:loaderPulse 2s ease-in-out infinite}.loader__bar{width:min(260px,70vw);height:2px;background:#ffffff12;overflow:hidden}.loader__fill{width:0;height:100%;background:linear-gradient(90deg,var(--emerald),var(--cyan));transition:width .12s linear}.loader__text,.micro,.kicker{font:500 .68rem/1.35 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#60e9bd}.loader__text{color:var(--muted);letter-spacing:.08em;text-transform:none}.journey__img-wrap{position:absolute;inset:0;overflow:hidden}.journey__img-wrap img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.journey__scrim{position:absolute;inset:0;background:radial-gradient(ellipse 38% 45% at 50% 45%,transparent 0 40%,rgba(3,7,6,calc(var(--film-contrast)*.38)) 78%,rgba(3,7,6,calc(var(--film-contrast)*.8)) 100%),linear-gradient(90deg,rgba(3,7,6,calc(var(--film-contrast)*.72)),transparent 38% 63%,rgba(3,7,6,calc(var(--film-contrast)*.56)));pointer-events:none}.journey__grain{position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}.journey__nav{position:fixed;z-index:100;left:0;right:0;top:0;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;background:linear-gradient(#030706cf,transparent);backdrop-filter:blur(12px)}.journey__brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);text-decoration:none;font-weight:650}.journey__brand img{border-radius:0;width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(34,214,161,.22))}.journey__cta{font:500 .74rem var(--mono);color:#62eac0;text-decoration:none;border:1px solid #2cdba244;border-radius:999px;padding:.55rem 1rem;background:#0a211b99;transition:.3s var(--ease)}.journey__cta:hover{border-color:#48e6b79a;background:#10362b}.journey__progress{position:fixed;z-index:90;left:1.45rem;top:50%;width:2px;height:170px;transform:translateY(-50%);background:#ffffff12}.journey__progress-fill{height:0;width:100%;background:linear-gradient(var(--emerald),var(--cyan));box-shadow:0 0 14px #21daa493}.journey__section{position:absolute;inset:0;padding:calc(var(--nav-h) + 1.3rem) clamp(3.8rem,6vw,7rem) 2rem;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(34px) scale(.985);transition:opacity .55s var(--ease),transform .65s var(--ease),visibility .65s}.journey__section.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none}.journey__section.is-exit-up{transform:translateY(-34px) scale(.985)}.journey__section.is-exit-down{transform:translateY(34px) scale(.985)}.journey__layout{width:min(1240px,100%);height:min(720px,calc(100dvh - var(--nav-h) - 3.3rem));display:grid;grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr);align-items:center;gap:clamp(4.5rem,11vw,10.5rem);position:relative}.story-frame,.mosaic-card,.master-card,.booking-form,.contact-grid a,.work-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,rgba(13,36,30,.9),rgba(4,13,11,.88));backdrop-filter:blur(21px) saturate(130%);box-shadow:0 26px 80px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.12)}.story-frame:before,.mosaic-card:before,.master-card:before,.booking-form:before,.work-card:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 14% 0,rgba(120,255,215,.13),transparent 35%),linear-gradient(120deg,rgba(255,255,255,.045),transparent 34% 70%,rgba(32,214,161,.04));pointer-events:none}.story-frame{border-radius:24px;padding:clamp(1.55rem,2.4vw,2.25rem);display:grid;gap:1rem;align-content:center;max-width:500px;min-height:350px}.glass-depth-1{background:linear-gradient(145deg,rgba(10,30,25,.96),rgba(3,11,9,.94));border-color:rgba(215,255,244,.22)}.glass-depth-2{background:linear-gradient(145deg,rgba(13,38,31,.91),rgba(4,15,12,.87))}.glass-depth-3{background:linear-gradient(145deg,rgba(14,44,35,.84),rgba(4,15,12,.86))}.journey__title{font-size:clamp(2.8rem,4.7vw,4.6rem);line-height:.98;letter-spacing:-.055em}.journey__title span{color:#2ad9a6;background:linear-gradient(120deg,#18c992,#3ad4e3);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.journey__h2{font-size:clamp(2rem,3.4vw,3.35rem);line-height:1.02;letter-spacing:-.048em}.journey__lede{max-width:43ch;color:var(--muted);font-size:clamp(.9rem,1.15vw,1.03rem);line-height:1.66}.journey__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.25rem}.btn{display:inline-flex;justify-content:center;align-items:center;border-radius:12px;border:1px solid transparent;padding:.78rem 1.15rem;text-decoration:none;font-weight:650;font-size:.84rem;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}.btn:active{transform:scale(.98)}.btn--primary{color:#032019;background:linear-gradient(120deg,#21d39c,#37cfe0);box-shadow:0 8px 28px rgba(18,206,153,.25)}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 13px 36px rgba(18,206,153,.35)}.btn--ghost{color:var(--ink);border-color:#ffffff22;background:#ffffff0c}.btn--ghost:hover{border-color:#4de7b45d;background:#1dd29a14}.info-mosaic{height:min(610px,100%);display:grid;gap:.8rem;align-self:center}.mosaic--hero,.mosaic--systems,.mosaic--tiers{grid-template-columns:1.1fr .9fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr) clamp(116px,15vh,132px)}.mosaic--trio{grid-template-columns:1.15fr .95fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"feat a" "feat b"}.mosaic--trio>.mosaic-card--feature{grid-area:feat}.mosaic--trio-rail{grid-template-columns:1.15fr .95fr;grid-template-rows:minmax(0,1.15fr) auto;grid-template-areas:"feat body" "rail rail"}.mosaic--trio-rail>.mosaic-card--feature{grid-area:feat}.mosaic--trio-rail>.mosaic-card--body{grid-area:body}.mosaic--trio-rail>.mosaic-card--rail{grid-area:rail}.mosaic-card{border-radius:18px;padding:1.25rem;display:grid;align-content:end;gap:.48rem;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}.mosaic-card:hover{transform:translateY(-5px) perspective(900px) rotateX(1.2deg);border-color:var(--line-hot);box-shadow:0 32px 80px rgba(0,0,0,.44),inset 0 1px rgba(255,255,255,.17)}.mosaic-card--compact{align-content:center}.mosaic-card--feature{grid-row:span 2;align-content:end}.mosaic-card--feature h2,.mosaic-card--feature h3{font-size:clamp(1.5rem,2.25vw,2.35rem);line-height:1.02;letter-spacing:-.04em}.mosaic-card--wide{grid-column:span 2}.mosaic-card--rail{grid-template-columns:minmax(6.5rem,.38fr) minmax(11rem,.8fr) minmax(14rem,1.25fr);align-items:center;align-content:center;column-gap:clamp(.75rem,1.4vw,1.3rem);padding-block:clamp(1.05rem,2vh,1.45rem)}.mosaic-card--rail>.rail-label{align-self:center;margin:0}.rail-heading{align-self:center}.rail-heading h3{font-size:clamp(1.05rem,1.4vw,1.3rem)}.rail-copy{max-width:48ch;margin:0;align-self:center}.mosaic-card h3{font-size:1.05rem}.mosaic-card p{color:var(--muted);font-size:.78rem;line-height:1.52}.mosaic-card--feature p:not(.micro){font-size:.9rem}.signal-spine{display:none}.glance-stack{display:none}.journey__layout--master{grid-template-columns:minmax(340px,.78fr) minmax(560px,1.22fr)}.master-deck{position:relative;height:min(570px,72vh);perspective:1200px}.master-card{position:absolute;left:8%;right:3%;height:290px;border-radius:24px;padding:1.75rem;color:var(--ink);text-align:left;cursor:pointer;display:grid;align-content:end;gap:.55rem;transition:transform .55s var(--ease),opacity .55s,border-color .35s}.master-card strong{font-size:clamp(1.35rem,2.2vw,2rem);letter-spacing:-.035em}.master-card small{color:var(--muted);line-height:1.55;max-width:42ch}.master-card--back{top:4%;transform:translate(calc(-28px + var(--p)*20px),calc(-9px + var(--p)*-8px)) rotate(-5deg) scale(.92);opacity:.58}.master-card--mid{top:14%;transform:translate(calc(34px - var(--p)*18px),calc(-2px + var(--p)*-5px)) rotate(5deg) scale(.96);opacity:.76}.master-card--front{top:29%;transform:translate(0,calc(18px - var(--p)*22px));border-color:#38dfa857}.master-card:hover,.master-card.is-focus{opacity:1;border-color:#4ce5b46b;z-index:8}.mosaic--work{grid-template-columns:1.1fr .9fr;grid-template-rows:1fr 1fr 1fr}.work-card{border-radius:18px;text-decoration:none;color:var(--ink);display:grid;grid-template-columns:42% 1fr;align-items:center;transition:.35s var(--ease)}.work-card:hover{transform:translateY(-5px);border-color:var(--line-hot)}.work-card--feature{grid-row:span 2}.work-card--wide{grid-column:span 2;grid-template-columns:25% 1fr}.work-card img{width:100%;height:100%;object-fit:cover}.work-card span{padding:1rem;display:grid;gap:.3rem}.work-card b{font-size:.95rem}.work-card small{color:var(--muted);font:400 .66rem/1.5 var(--mono)}.journey__layout--booking{grid-template-columns:minmax(360px,.72fr) minmax(580px,1.18fr);gap:clamp(3.5rem,9vw,8.5rem)}.journey__layout--booking .story-frame{min-height:500px}.value-promise{color:#d9ece6;font-size:.82rem;line-height:1.55;border-left:2px solid #2ad9a6;padding-left:1rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.contact-grid a{border-radius:12px;padding:.75rem;color:var(--ink);text-decoration:none;display:grid;gap:.2rem}.contact-grid span{font:500 .58rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#5be4b9}.contact-grid strong{font-size:.75rem}.booking-launch{display:none}.booking-host{height:auto}.booking-form{border-radius:22px;padding:1.25rem;display:grid;gap:.85rem;overflow:visible}.booking-form__head{display:flex;justify-content:space-between;align-items:end;gap:1rem}.booking-form__head h3{font-size:1.35rem;letter-spacing:-.03em}.booking-form__head>p{color:var(--muted);font-size:.72rem}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.booking-fields label{display:grid;gap:.3rem;color:#a9bdb5;font:500 .62rem var(--mono);letter-spacing:.06em;text-transform:uppercase}.booking-fields__wide{grid-column:span 2}.booking-fields input,.booking-fields select,.booking-fields textarea{width:100%;border:1px solid #ffffff18;border-radius:9px;background:#ffffff09;color:var(--ink);padding:.62rem .72rem;text-transform:none;letter-spacing:normal;font-family:var(--font);font-size:.78rem;resize:none}.booking-fields input:focus,.booking-fields select:focus,.booking-fields textarea:focus{outline:2px solid #32dba45c;outline-offset:1px;border-color:#45e1af6b}.booking-form__submit{width:100%}.booking-form__status{padding:.65rem;text-align:center;border-radius:9px;font-size:.75rem}.booking-form__status--success{background:#17c98f1f;color:#55e6b6}.booking-form__status--error{background:#ef44441f;color:#fca5a5}.side-panel{display:none}.journey-fallback{min-height:100dvh;overflow:auto;background:#030706;padding:1.5rem;color:var(--ink)}.fallback__nav{display:flex;align-items:center;gap:.6rem}.fallback__nav img{border-radius:0;width:36px;height:36px;object-fit:contain}.fallback__nav a{margin-left:auto;color:#57e5b7}.fallback__main{max-width:720px;margin:4rem auto;display:grid;gap:3rem}.fallback__main h1{font-size:clamp(2.5rem,7vw,5rem);letter-spacing:-.05em}.fallback__main h2{margin-bottom:.65rem}.fallback__main p{color:var(--muted);line-height:1.7}.fallback__main a{display:inline-block;margin-top:1rem;color:#5be5b8}.story-frame>*{opacity:0;transform:translateY(20px)}.is-active .story-frame>*{animation:assemble .65s var(--ease) forwards}.is-active .story-frame>*:nth-child(2){animation-delay:.06s}.is-active .story-frame>*:nth-child(3){animation-delay:.12s}.is-active .story-frame>*:nth-child(4){animation-delay:.18s}.info-mosaic>*{opacity:0;transform:translateY(28px) scale(.96)}.is-active .info-mosaic>*{animation:assemble .7s var(--ease) forwards}.is-active .info-mosaic>*:nth-child(1){animation-delay:.13s}.is-active .info-mosaic>*:nth-child(2){animation-delay:.19s}.is-active .info-mosaic>*:nth-child(3){animation-delay:.25s}.is-active .info-mosaic>*:nth-child(4){animation-delay:.31s}@keyframes assemble{to{opacity:1;transform:none}}@keyframes loaderPulse{50%{transform:scale(1.03);opacity:.72}}
@media(max-width:1100px) and (min-width:861px){.mosaic-card--rail{grid-template-columns:minmax(5.5rem,.42fr) minmax(11rem,1fr);grid-template-areas:"label heading" "label copy";column-gap:.85rem;row-gap:.28rem}.mosaic-card--rail>.rail-label{grid-area:label}.rail-heading{grid-area:heading}.rail-copy{grid-area:copy}.journey__section{padding-left:3.3rem;padding-right:2rem}.journey__layout{grid-template-columns:minmax(300px,.8fr) minmax(450px,1.1fr);gap:clamp(3rem,8vw,7rem)}.story-frame{padding:1.35rem;min-height:320px}.mosaic-card{padding:1rem}.journey__lede{font-size:.86rem}.journey__layout--booking{grid-template-columns:minmax(350px,.85fr) minmax(500px,1.15fr)}.journey__layout--booking .story-frame{min-height:460px}.booking-fields{gap:.45rem}.booking-fields input,.booking-fields select,.booking-fields textarea{padding:.5rem .62rem}}
@media(max-width:860px){:root{--nav-h:58px}.journey__nav{padding:0 .9rem}.journey__brand span{font-size:.86rem}.journey__cta{font-size:.62rem;padding:.46rem .7rem}.journey__progress{left:.55rem;height:120px}.journey__scrim{background:linear-gradient(180deg,rgba(3,7,6,.38),rgba(3,7,6,.12) 25%,rgba(3,7,6,.54) 70%,rgba(3,7,6,.84)),radial-gradient(circle at 50% 40%,transparent,rgba(3,7,6,.36) 72%)}.journey__section{display:block;padding:calc(var(--nav-h) + .65rem) .85rem 1rem;overflow:hidden}.journey__layout,.journey__layout--master,.journey__layout--booking{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;width:100%;height:calc(100dvh - var(--nav-h) - 1.65rem);gap:.65rem;align-content:start}.story-frame{min-height:0!important;max-width:none;padding:1rem 1.05rem;border-radius:18px;gap:.55rem;align-content:start}.journey__title{font-size:clamp(2rem,10.7vw,3.05rem)}.journey__h2{font-size:clamp(1.62rem,8vw,2.35rem)}.journey__lede{font-size:.79rem;line-height:1.5;max-width:none}.kicker{font-size:.57rem}.journey__actions{margin-top:.1rem}.btn{padding:.62rem .85rem;font-size:.72rem}.journey__actions .btn--ghost{display:none}.info-mosaic,.master-deck,.booking-host{display:none!important}.signal-spine{display:none!important}.glance-stack{display:grid;align-content:start;gap:.42rem;position:relative;min-height:0;max-height:none}.signal-spine:before{content:"";position:absolute;left:.28rem;top:.8rem;bottom:.8rem;width:1px;background:linear-gradient(#48e3b2,#48e3b222)}.signal-node{position:relative;width:100%;border:1px solid #ffffff13;border-radius:13px;padding:.68rem .78rem;text-align:left;color:var(--ink);background:rgba(4,15,12,.74);backdrop-filter:blur(14px);text-decoration:none;display:grid;gap:.18rem;opacity:.5;transform:scale(.98);transition:.35s var(--ease)}.signal-node:before{content:"";position:absolute;left:-.83rem;top:1rem;width:7px;height:7px;border-radius:50%;background:#2ddca7;box-shadow:0 0 12px #30dfa9}.signal-node b{font-size:.78rem}.signal-node span{font-size:.64rem;line-height:1.38;color:var(--muted);display:none}.signal-node.is-focus,.signal-node[aria-pressed=true]{opacity:1;transform:none;border-color:#35dfa94a;background:linear-gradient(110deg,rgba(16,50,40,.9),rgba(4,15,12,.85));padding:.78rem .85rem}.signal-node.is-focus span,.signal-node[aria-pressed=true] span{display:block}.journey__layout--booking{grid-template-rows:auto auto}.journey__layout--booking .story-frame{gap:.48rem}.value-promise{font-size:.69rem;padding-left:.65rem}.contact-grid{display:none}.booking-launch{display:inline-flex;width:100%;margin-top:.2rem}.signal-spine--booking{display:none}.side-panel{position:fixed;z-index:500;inset:0;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + .9rem) 1rem calc(env(safe-area-inset-bottom) + 1.2rem);background:rgba(2,8,6,.9);backdrop-filter:blur(26px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(20px);transition:.4s var(--ease);overflow-y:auto}.panel-open .side-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none}.side-panel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.side-panel__title{font-size:1.35rem;font-weight:650}.side-panel__close{border:1px solid #ffffff20;border-radius:999px;background:#ffffff0b;color:var(--ink);padding:.55rem .8rem}.side-panel__body{display:grid;flex:1}.side-panel .booking-form{padding:1rem;border-radius:18px;overflow:visible;min-height:calc(100dvh - 5.7rem)}.side-panel .booking-fields{grid-template-columns:1fr}.side-panel .booking-fields__wide{grid-column:auto}.side-panel .booking-form__head{display:block}.side-panel .booking-form__head>p{margin-top:.25rem}.story-frame>*{opacity:1;transform:none}.is-active .story-frame>*{animation:none}.signal-spine>*{opacity:0;transform:translateY(14px)}.is-active .signal-spine>*{animation:assemble .5s var(--ease) forwards}.is-active .signal-spine>*:nth-child(2){animation-delay:.05s}.is-active .signal-spine>*:nth-child(3){animation-delay:.1s}.is-active .signal-spine>*:nth-child(4){animation-delay:.15s}}
@media(max-width:390px), (max-height:780px) and (max-width:860px){.journey__section{padding-top:calc(var(--nav-h) + .4rem)}.story-frame{padding:.82rem .9rem;gap:.38rem}.journey__title{font-size:1.95rem}.journey__h2{font-size:1.55rem}.journey__lede{font-size:.7rem;line-height:1.4}.signal-spine{gap:.35rem;max-height:36vh}.signal-node{padding:.5rem .65rem}.signal-node.is-focus,.signal-node[aria-pressed=true]{padding:.58rem .68rem}.value-promise{font-size:.61rem}.btn{padding:.56rem .75rem}}
@media(prefers-reduced-motion:reduce){html,body{height:auto;overflow:auto}.loader{display:none}.journey{display:none!important}.journey-fallback{display:block!important}.story-frame>*,.info-mosaic>*,.signal-spine>*{opacity:1!important;transform:none!important;animation:none!important}.master-card{transform:none!important;position:relative;inset:auto!important;opacity:1!important}.loader__inner img{animation:none}}
.booking-fields select{color-scheme:dark}
.booking-fields select option{background:#07130f;color:#eef9f5}
.booking-form{border-radius:22px;overflow:hidden}.booking-form:before{border-radius:inherit}
.card-heading{display:flex;align-items:center;gap:.55rem}.card-heading h2,.card-heading h3{margin:0}.semantic-glyph,.card-heading>.ph{flex:0 0 auto;font-size:1.28rem;color:var(--emerald);line-height:1;text-shadow:0 0 14px rgba(53,201,223,.16)}.master-card__heading{display:flex;align-items:center;gap:.62rem}.master-card__heading strong{margin:0}.master-card__heading .semantic-glyph{font-size:1.34rem}
.mosaic-card--archetype-tall{display:grid;grid-template-rows:auto minmax(7rem,1fr) auto;align-content:stretch!important;gap:1rem}.mosaic-card--archetype-tall>.micro{align-self:start}.tile-visual{position:relative;display:grid;place-items:center;min-height:7rem;isolation:isolate;overflow:hidden}.tile-visual>.ph{position:relative;z-index:2;font-size:clamp(3.15rem,4.5vw,4.7rem);line-height:1;color:rgba(100,238,198,.82);text-shadow:0 0 24px rgba(34,214,161,.12);transform-origin:center;will-change:transform,opacity}.tile-visual:before,.tile-visual:after{content:"";position:absolute;inset:50% auto auto 50%;border:1px solid rgba(71,231,184,.13);border-radius:50%;transform:translate(-50%,-50%)}.tile-visual:before{width:8.25rem;height:8.25rem}.tile-visual:after{width:5.65rem;height:5.65rem;opacity:.62}.tile-visual__orbit{position:absolute;z-index:1;pointer-events:none}.tile-visual--bearing:after{border-style:dashed}.tile-visual--bearing .tile-visual__orbit{inset:50% auto auto 50%;width:8px;height:8px;border-radius:50%;background:var(--emerald);box-shadow:0 0 16px rgba(34,214,161,.42);transform:translate(3.15rem,-3.25rem)}.tile-visual--aperture:before{border-color:rgba(53,201,223,.15);box-shadow:inset 0 0 26px rgba(34,214,161,.035)}.tile-visual--aperture:after{width:6.4rem;height:6.4rem;border-style:dashed}.tile-visual--aperture .tile-visual__orbit{inset:50% auto auto 50%;width:4.7rem;height:1px;background:linear-gradient(90deg,transparent,rgba(53,201,223,.48),transparent);transform:translate(-50%,-50%) rotate(-18deg);transform-origin:center}.tile-visual--scan:before{border-radius:50%;border-color:rgba(34,214,161,.16);box-shadow:inset 0 0 30px rgba(34,214,161,.035)}.tile-visual--scan:after{width:7rem;height:7rem;border:0;border-radius:50%;clip-path:circle(50%);background:linear-gradient(90deg,transparent 45%,rgba(53,201,223,.34) 50%,transparent 55%);opacity:.55}.tile-visual--scan .tile-visual__orbit{left:50%;top:50%;width:7.1rem;height:1px;background:linear-gradient(90deg,transparent,rgba(34,214,161,.62),transparent);transform:translate(-50%,-50%);opacity:.72}.journey__section.is-active .tile-visual--bearing>.ph{animation:bearingCalibrate 6.8s cubic-bezier(.4,0,.2,1) infinite}.journey__section.is-active .tile-visual--bearing .tile-visual__orbit{animation:bearingOrbit 6.8s linear infinite}.journey__section.is-active .tile-visual--aperture>.ph{animation:apertureFocus 7.2s cubic-bezier(.4,0,.2,1) infinite}.journey__section.is-active .tile-visual--aperture .tile-visual__orbit{animation:apertureRay 7.2s ease-in-out infinite}.journey__section.is-active .tile-visual--scan>.ph{animation:scanFocus 5.8s ease-in-out infinite}.journey__section.is-active .tile-visual--scan:after{animation:scanSweep 5.8s ease-in-out infinite}.journey__section.is-active .tile-visual--scan .tile-visual__orbit{animation:scanLine 5.8s ease-in-out infinite}@keyframes bearingCalibrate{0%,18%,100%{transform:rotate(-5deg)}38%,62%{transform:rotate(7deg)}78%{transform:rotate(0)}}@keyframes bearingOrbit{to{rotate:360deg}}@keyframes apertureFocus{0%,18%,100%{transform:rotate(0) scale(.94);opacity:.72}42%,68%{transform:rotate(30deg) scale(1.04);opacity:.94}}@keyframes apertureRay{0%,100%{transform:translate(-50%,-50%) rotate(-18deg);opacity:.28}50%{transform:translate(-50%,-50%) rotate(24deg);opacity:.7}}@keyframes scanFocus{0%,100%{transform:translate(-10px,4px) rotate(-4deg);opacity:.7}48%,62%{transform:translate(10px,-4px) rotate(4deg);opacity:.94}}@keyframes scanSweep{0%,100%{transform:translate(-70%,-50%);opacity:.12}50%{transform:translate(-30%,-50%);opacity:.58}}@keyframes scanLine{0%,100%{transform:translate(-65%,-50%);opacity:.24}50%{transform:translate(-35%,-50%);opacity:.8}}.tile-copy{align-self:end;display:grid;gap:.55rem;padding-top:1rem;border-top:1px solid rgba(225,255,246,.1)}.tile-copy h2,.tile-copy h3{margin:0;font-size:clamp(1.5rem,2vw,2rem);line-height:1.05}.tile-copy p{margin:0}@media(prefers-reduced-motion:reduce){.tile-visual,.tile-visual:before,.tile-visual:after,.tile-visual>.ph,.tile-visual__orbit{animation:none!important;will-change:auto}}
.journey__layout--operator{grid-template-columns:minmax(340px,.88fr) minmax(520px,1.12fr);gap:clamp(2.4rem,5vw,5.2rem);align-items:center}.operator-story{min-height:390px}.operator-plane{height:min(62vh,560px);min-height:430px;padding:clamp(1.3rem,2.2vw,2rem);display:grid;grid-template-rows:auto 1fr;gap:1rem;overflow:hidden;border-radius:22px}.operator-plane__head{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(225,255,246,.13)}.operator-plane__head>p:last-child{max-width:31ch;color:#91a69f;font-size:.72rem;line-height:1.5;text-align:right}.operator-plane__body{display:grid;grid-template-rows:repeat(3,1fr);align-items:stretch}.operator-principle{display:grid;grid-template-columns:2.6rem 1fr;gap:1rem;align-items:center;padding:1rem .2rem;border-bottom:1px solid rgba(225,255,246,.11)}.operator-principle:last-child{border-bottom:0}.operator-principle>span{font:500 .65rem/1.5 var(--mono);letter-spacing:.08em;color:var(--emerald)}.operator-principle h3{font-size:clamp(1.22rem,1.65vw,1.6rem);margin-bottom:.35rem}.operator-principle p{color:#a9bbb5;font-size:.8rem;line-height:1.52;max-width:58ch}
@media(max-width:1100px) and (min-width:861px){.journey__layout--operator{grid-template-columns:minmax(315px,.82fr) minmax(480px,1.18fr);gap:2rem}.operator-story{min-height:340px}.operator-plane{height:min(66vh,510px);min-height:400px;padding:1.2rem}.operator-principle{padding:.75rem 0}.operator-principle p{font-size:.72rem}.operator-plane__head>p:last-child{font-size:.65rem}}
@media(max-width:860px){.journey__layout--operator{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:1rem;height:calc(100dvh - var(--nav-h) - 1.65rem);align-content:center;padding-bottom:7vh}.operator-story{min-height:0!important}.operator-plane{display:grid!important;height:auto;min-height:0;padding:.8rem .9rem;border-radius:18px;gap:.35rem;align-self:auto}.operator-plane__head{padding-bottom:.55rem}.operator-plane__head>p:last-child{display:none}.operator-principle{grid-template-columns:1.7rem 1fr;gap:.5rem;padding:.55rem 0}.operator-principle h3{font-size:.82rem;margin-bottom:.12rem}.operator-principle p{font-size:.61rem;line-height:1.38}}
@media(max-width:390px), (max-height:780px) and (max-width:860px){.operator-story{padding:.8rem .9rem}.operator-plane{padding:.65rem .8rem}.operator-principle{padding:.38rem 0}.operator-principle p{font-size:.56rem}.operator-principle h3{font-size:.76rem}}
[data-section="4"] .journey__layout{grid-template-columns:minmax(320px,.78fr) minmax(480px,1.05fr);gap:clamp(4.5rem,11vw,10.5rem)}.work-ledger{height:min(61vh,540px);min-height:420px;display:grid;grid-template-columns:minmax(0,64fr) minmax(13rem,36fr);gap:.85rem;padding:.85rem;border-radius:22px;overflow:hidden}.work-ledger__preview{position:relative;align-self:center;display:block;width:100%;aspect-ratio:16/9;border:1px solid rgba(225,255,246,.16);border-radius:15px;overflow:hidden;background:#030706;text-decoration:none}.work-ledger__preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(3,7,6,.72));pointer-events:none}.work-ledger__preview img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .22s var(--ease),transform .45s var(--ease)}.work-ledger__preview img.is-changing{opacity:.25;transform:translateY(5px)}.work-ledger__open{position:absolute;z-index:2;right:.75rem;bottom:.65rem;padding:.45rem .65rem;border:1px solid rgba(255,255,255,.23);border-radius:999px;background:rgba(3,7,6,.7);color:var(--ink);font:500 .62rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(12px)}.work-ledger__projects{display:grid;grid-template-rows:repeat(4,1fr);gap:.42rem}.work-project{position:relative;border:1px solid rgba(225,255,246,.1);border-radius:12px;padding:.8rem .9rem;text-align:left;color:var(--ink);background:rgba(4,15,12,.58);display:grid;align-content:center;gap:.2rem;transition:border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}.work-project:before{content:"";position:absolute;left:-1px;top:20%;bottom:20%;width:2px;border-radius:999px;background:transparent}.work-project b{font-size:.84rem}.work-project span{color:#91a69f;font-size:.65rem;line-height:1.35}.work-project:hover,.work-project:focus-visible{transform:translateY(-1px);border-color:rgba(62,232,178,.28)}.work-project.is-selected{border-color:rgba(62,232,178,.4);background:linear-gradient(110deg,rgba(20,66,53,.72),rgba(4,15,12,.68));box-shadow:inset 0 0 26px rgba(34,214,161,.035)}.work-project.is-selected:before{background:var(--emerald);box-shadow:0 0 12px rgba(34,214,161,.45)}
@media(max-width:1100px) and (min-width:861px){[data-section="4"] .journey__layout{grid-template-columns:minmax(300px,.8fr) minmax(450px,1.1fr);gap:clamp(3rem,8vw,7rem)}.work-ledger{height:min(67vh,510px);min-height:430px;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:.65rem}.work-ledger__preview{width:min(100%,31rem);justify-self:center}.work-ledger__projects{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.work-project{padding:.55rem .7rem}.work-project span{font-size:.59rem}}
@media(max-width:860px){[data-section="4"] .journey__layout{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:.65rem}.work-ledger{display:grid!important;height:auto;min-height:0;align-self:center;grid-template-columns:1fr;grid-template-rows:auto auto;gap:.55rem;padding:.65rem;border-radius:18px}.work-ledger__preview{width:auto;height:min(18vh,10.2rem);aspect-ratio:16/9;justify-self:center}.work-ledger__projects{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,auto);gap:.35rem}.work-project{min-height:3.1rem;padding:.48rem .58rem}.work-project b{font-size:.7rem}.work-project span{font-size:.55rem}.work-ledger__open{font-size:.52rem;padding:.35rem .48rem;right:.45rem;bottom:.4rem}}
@media(max-width:390px), (max-height:780px) and (max-width:860px){.work-ledger{padding:.5rem}.work-ledger__preview{height:min(16vh,7.4rem)}.work-project{min-height:2.65rem;padding:.38rem .5rem}.work-project b{font-size:.64rem}.work-project:not(.is-selected) span{display:none}.work-project span{font-size:.5rem}}
@media(prefers-reduced-motion:reduce){.work-ledger__preview img,.work-project{transition:none!important;transform:none!important}}
.hero-promise-card{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.58fr) minmax(5rem,.88fr);align-items:stretch;padding:0!important}
.hero-promise-card__copy{position:relative;z-index:2;display:grid;align-content:center;gap:.48rem;padding:1.05rem .45rem 1.05rem 1.05rem}
.hero-promise-card__visual{position:relative;z-index:1;display:grid;place-items:center;min-width:0;overflow:hidden;background:linear-gradient(90deg,transparent,rgba(34,214,161,.035))}
#journey .hero-miniature{position:relative;width:min(88%,7.3rem);height:auto;aspect-ratio:1;object-fit:contain;opacity:.82;transform:translate3d(8px,0,0) scale(.94);transition:transform .55s var(--ease),opacity .4s var(--ease);filter:saturate(.78) contrast(1.06);pointer-events:none}
.journey__section.is-active .hero-miniature{opacity:.9;transform:translate3d(0,0,0) scale(1)}
.signal-node__glyph{display:none}
@media(max-width:1100px) and (min-width:861px){.hero-promise-card{grid-template-columns:minmax(0,1.35fr) minmax(5.25rem,.95fr)}.hero-promise-card__copy{padding:.9rem .2rem .9rem .9rem}.card-heading>.ph{font-size:1.12rem}#journey .hero-miniature{width:min(92%,6.2rem)}}
@media(max-width:860px){.signal-node:has(.signal-node__glyph){grid-template-columns:1.45rem 1fr;column-gap:.48rem;align-items:center}.signal-node__glyph{display:block;grid-column:1;grid-row:1 / span 2;font-size:1.15rem;color:var(--emerald);line-height:1}.signal-node:has(.signal-node__glyph) b,.signal-node:has(.signal-node__glyph) span{grid-column:2}}
@media(prefers-reduced-motion:reduce){.hero-miniature{transition:none;transform:none}}
:focus-visible{outline:2px solid #58e8ba;outline-offset:3px}

/* Package cards + edge-peek explorer (value story 2026-07-23) */
button.mosaic-card,button.package-card,button.hero-promise-card,button.package-entry{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}
button.mosaic-card:focus-visible,button.package-card:focus-visible{outline:2px solid rgba(50,219,164,.55);outline-offset:2px}
.package-card__hint{display:block;margin-top:.35rem;color:#6ee7b7;font:650 .72rem/1.3 var(--mono);letter-spacing:.04em}
.mosaic--packages{grid-template-columns:1.1fr .9fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr) clamp(110px,14vh,128px)}
.mosaic--ai{grid-template-rows:minmax(0,1.2fr) minmax(0,.9fr) clamp(110px,14vh,128px)}
body.pkg-open .journey,body.panel-open .journey{touch-action:none;pointer-events:none}
body.panel-open .side-panel{touch-action:pan-y;pointer-events:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}
body.pkg-open .pkg-panel{touch-action:pan-y;pointer-events:auto}

.pkg-panel{position:fixed;inset:0;z-index:520;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));background:rgba(2,8,6,.82);backdrop-filter:blur(22px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease),visibility .35s}
body.pkg-open .pkg-panel{opacity:1;visibility:visible;pointer-events:auto}
.pkg-panel__shell{width:min(760px,100%);max-height:min(860px,calc(100dvh - 2rem));display:grid;grid-template-rows:auto 1fr auto;border:1px solid rgba(225,255,246,.16);border-radius:24px;background:linear-gradient(145deg,rgba(10,30,25,.97),rgba(3,11,9,.96));box-shadow:0 40px 120px rgba(0,0,0,.55);overflow:hidden;--peek-gutter:40px;--slide-inline:calc(var(--peek-gutter) + 12px)}
.pkg-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.05rem .8rem;border-bottom:1px solid rgba(225,255,246,.12)}
.pkg-panel__head h2{margin:.2rem 0 0;font-size:clamp(1.25rem,2.4vw,1.55rem);letter-spacing:-.03em}
.pkg-panel__close{border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.05);color:var(--ink);padding:.5rem .85rem;cursor:pointer;font:650 .78rem var(--font)}
.pkg-panel__viewport{position:relative;min-height:0;overflow:hidden;isolation:isolate}
.pkg-track{display:flex;height:100%;transition:transform .34s cubic-bezier(.22,.9,.28,1);will-change:transform}
.pkg-slide{flex:0 0 100%;width:100%;overflow:auto;padding:1rem var(--slide-inline) 2.5rem;box-sizing:border-box;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.pkg-who{margin:0 0 .85rem;padding:.85rem .95rem;border-radius:14px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.28);line-height:1.45;overflow-wrap:anywhere}
.pkg-who strong{display:block;margin-bottom:.2rem;color:#6ee7b7;font:750 .7rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.pkg-label{margin:0 0 .4rem;color:#7f978f;font:750 .68rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.pkg-slide ul{margin:0;padding-left:1.1rem;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.pkg-slide li{margin:.3rem 0}
.pkg-outcome{margin:.95rem 0 0;line-height:1.45;color:var(--ink)}
.pkg-peek{position:absolute;top:0;bottom:0;width:var(--peek-gutter);z-index:3;pointer-events:none;display:grid;place-items:center}
.pkg-peek--left{left:0;background:linear-gradient(90deg,rgba(3,11,9,.62) 0%,rgba(16,185,129,.14) 42%,transparent 100%)}
.pkg-peek--right{right:0;background:linear-gradient(270deg,rgba(3,11,9,.62) 0%,rgba(16,185,129,.14) 42%,transparent 100%)}
.pkg-peek em{font-style:normal;width:22px;height:40px;border-radius:999px;display:grid;place-items:center;background:rgba(8,18,15,.82);border:1px solid rgba(110,231,183,.45);color:#a7f3d0;font-weight:800;font-size:.95rem;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.pkg-peek--left em{animation:pkgChevL 1.4s ease-in-out infinite}
.pkg-peek--right em{animation:pkgChevR 1.4s ease-in-out infinite}
@keyframes pkgChevL{0%,100%{transform:translateX(0);opacity:.65}50%{transform:translateX(-3px);opacity:1}}
@keyframes pkgChevR{0%,100%{transform:translateX(0);opacity:.65}50%{transform:translateX(3px);opacity:1}}
.pkg-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:4;pointer-events:none;max-width:calc(100% - (var(--peek-gutter) * 2) - 12px);padding:.35rem .7rem;border-radius:999px;background:rgba(6,14,12,.9);border:1px solid rgba(16,185,129,.35);color:#d1fae5;font:700 .72rem/1.2 var(--mono);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .3s ease}
.pkg-hint.is-on{opacity:1;animation:pkgHintFade 4.8s ease forwards}
@keyframes pkgHintFade{0%,72%{opacity:1}100%{opacity:0}}
.pkg-panel__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem;padding:.75rem .9rem .9rem;border-top:1px solid rgba(225,255,246,.12);background:rgba(0,0,0,.18)}
.pkg-nav{width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:var(--ink);font-size:1.1rem;font-weight:700;cursor:pointer}
.pkg-meta{display:grid;justify-items:center;gap:.3rem;min-width:5rem;flex:1}
.pkg-count{color:#8aa399;font:700 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.pkg-dots{display:flex;gap:.35rem;align-items:center}
.pkg-dots i{width:7px;height:7px;border-radius:99px;background:rgba(255,255,255,.2);display:block;transition:.15s ease}
.pkg-dots i.on{width:16px;background:var(--emerald)}
.pkg-book{margin-left:auto}
@media(max-width:720px){
  .pkg-panel{place-items:end center;padding:0}
  .pkg-panel__shell{width:100%;max-height:min(92dvh,920px);border-radius:22px 22px 0 0;--peek-gutter:34px}
  .pkg-panel__foot{padding-bottom:calc(.85rem + env(safe-area-inset-bottom))}
  .pkg-book{width:100%;order:5}
}
@media(prefers-reduced-motion:reduce){
  .pkg-peek em,.pkg-hint,.pkg-track{animation:none!important;transition:none!important}
}

/* v2 nav websites */
.journey__nav-actions{display:flex;align-items:center;gap:.55rem}
.journey__nav-secondary{font:500 .74rem var(--mono);color:#b7d4cb;text-decoration:none;border:1px solid #ffffff1f;border-radius:999px;padding:.55rem 1rem;background:#ffffff08;cursor:pointer;transition:.3s var(--ease)}
.journey__nav-secondary:hover{border-color:#48e6b75a;color:#e8faf4;background:#10362b55}
.journey__title .grad{color:#2ad9a6;background:linear-gradient(120deg,#18c992,#3ad4e3);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@media(max-width:860px){
  .journey__nav-actions{gap:.35rem}
  .journey__nav-secondary{font-size:.62rem;padding:.46rem .7rem}
}

/* === v2 polish pass 2026-07-23 === */
/* === ultra glass + film edge reflection 2026-07-23 === */

:root {
  /* Live film edge samples (JS updates these from the journey frame) */
  --edge-n: rgba(180, 210, 200, 0.45);
  --edge-s: rgba(40, 60, 55, 0.55);
  --edge-e: rgba(120, 160, 150, 0.4);
  --edge-w: rgba(90, 130, 120, 0.4);
  --edge-nw: rgba(200, 230, 220, 0.55);
  --edge-ne: rgba(170, 200, 195, 0.5);
  --edge-sw: rgba(50, 70, 65, 0.5);
  --edge-se: rgba(60, 85, 80, 0.5);
  --edge-avg: rgba(110, 145, 135, 0.35);
  --glass-fill: rgba(10, 12, 14, 0.78);
  --glass-fill-soft: rgba(12, 14, 16, 0.7);
  --glass-tint: rgba(34, 214, 161, 0.028);
  --glass-line: rgba(255, 255, 255, 0.1);
  --glass-line-hot: rgba(255, 255, 255, 0.18);
}

/* Ultra-premium glass primitive — Life Dashboard Obsidian language, slightly more opaque, faintest green */
.story-frame,
.mosaic-card,
.booking-form,
.contact-grid a,
.work-card,
.pkg-panel__shell,
.signal-node.is-focus,
.signal-node[aria-pressed="true"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid var(--glass-line);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.07) 0%, transparent 42%),
    linear-gradient(180deg, var(--glass-tint), transparent 55%),
    var(--glass-fill);
  backdrop-filter: blur(22px) saturate(145%);
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  box-shadow:
    /* outer depth */
    0 24px 60px -28px rgba(0, 0, 0, 0.92),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    /* top hairline (dashboard) */
    inset 0 1px 0 0 rgba(255, 255, 255, 0.22),
    /* bottom contact shadow */
    inset 0 -1px 0 0 rgba(0, 0, 0, 0.45),
    /* film-reactive edge rims — sampled from journey frame */
    inset 0 0 0 1px color-mix(in srgb, var(--edge-avg) 22%, transparent),
    inset 12px 0 28px -18px color-mix(in srgb, var(--edge-w) 55%, transparent),
    inset -12px 0 28px -18px color-mix(in srgb, var(--edge-e) 55%, transparent),
    inset 0 14px 32px -20px color-mix(in srgb, var(--edge-n) 50%, transparent),
    inset 0 -14px 28px -18px color-mix(in srgb, var(--edge-s) 45%, transparent);
}

/* Specular top rim + corner light (static premium layer) */
.story-frame::before,
.mosaic-card::before,
.booking-form::before,
.work-card::before,
.pkg-panel__shell::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb, var(--edge-nw) 70%, rgba(255, 255, 255, 0.5)) 18%,
    rgba(255, 255, 255, 0.38) 48%,
    color-mix(in srgb, var(--edge-ne) 65%, rgba(255, 255, 255, 0.45)) 78%,
    transparent 100%
  );
  border-radius: inherit;
  pointer-events: none;
  opacity: 0.95;
}

/* Edge reflection ring — picks up film via CSS vars + bright specular corners */
.story-frame::after,
.mosaic-card::after,
.booking-form::after,
.work-card::after,
.pkg-panel__shell::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb, var(--edge-nw) 85%, #fff) 0%,
      color-mix(in srgb, var(--edge-n) 55%, transparent) 14%,
      transparent 32%,
      transparent 58%,
      color-mix(in srgb, var(--edge-se) 70%, transparent) 82%,
      color-mix(in srgb, var(--edge-s) 50%, transparent) 100%
    ),
    linear-gradient(
      45deg,
      color-mix(in srgb, var(--edge-sw) 60%, transparent) 0%,
      transparent 28%,
      transparent 72%,
      color-mix(in srgb, var(--edge-ne) 55%, transparent) 100%
    );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0.88;
  mix-blend-mode: screen;
}

/* Soft inner veil so text stays legible on bright film */
.story-frame > *,
.mosaic-card > *:not(.tile-visual),
.booking-form > * {
  position: relative;
  z-index: 5;
}
.mosaic-card .tile-visual {
  z-index: 2;
}

.glass-depth-1 {
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.09) 0%, transparent 40%),
    linear-gradient(180deg, rgba(34, 214, 161, 0.035), transparent 50%),
    rgba(9, 11, 13, 0.84);
  border-color: rgba(255, 255, 255, 0.12);
}
.glass-depth-2 {
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.065) 0%, transparent 42%),
    linear-gradient(180deg, rgba(34, 214, 161, 0.028), transparent 52%),
    rgba(10, 12, 14, 0.78);
}
.glass-depth-3 {
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.05) 0%, transparent 44%),
    linear-gradient(180deg, rgba(34, 214, 161, 0.02), transparent 55%),
    rgba(11, 13, 15, 0.72);
}

.mosaic-card:hover {
  transform: translateY(-5px) perspective(1000px) rotateX(0.9deg);
  border-color: var(--glass-line-hot);
  box-shadow:
    0 32px 70px -24px rgba(0, 0, 0, 0.95),
    0 0 0 1px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 0 rgba(255, 255, 255, 0.28),
    inset 0 -1px 0 0 rgba(0, 0, 0, 0.4),
    inset 14px 0 30px -16px color-mix(in srgb, var(--edge-w) 65%, transparent),
    inset -14px 0 30px -16px color-mix(in srgb, var(--edge-e) 65%, transparent),
    inset 0 16px 34px -18px color-mix(in srgb, var(--edge-n) 60%, transparent),
    inset 0 -14px 30px -16px color-mix(in srgb, var(--edge-s) 55%, transparent);
}

/* Signal spine glass (mobile) */
@media (max-width: 860px) {
  .signal-node {
    background: rgba(10, 12, 14, 0.76) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.12),
      inset 8px 0 18px -12px color-mix(in srgb, var(--edge-w) 40%, transparent),
      0 12px 28px -18px rgba(0, 0, 0, 0.7);
  }
  .signal-node.is-focus,
  .signal-node[aria-pressed="true"] {
    background:
      linear-gradient(165deg, rgba(255, 255, 255, 0.07), transparent 50%),
      rgba(12, 14, 16, 0.86) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
  }
}

/* Prefer-reduced-transparency fallback */
@media (prefers-reduced-transparency: reduce) {
  .story-frame,
  .mosaic-card,
  .booking-form,
  .pkg-panel__shell,
  .signal-node {
    background: rgba(10, 12, 14, 0.96) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .story-frame::after,
  .mosaic-card::after,
  .booking-form::after,
  .pkg-panel__shell::after {
    opacity: 0.35;
    mix-blend-mode: normal;
  }
}

/* Nav chips: same language */
.journey__nav {
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  background: linear-gradient(180deg, rgba(6, 8, 10, 0.78), rgba(6, 8, 10, 0.18) 88%, transparent);
}
.journey__cta,
.journey__nav-secondary {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: rgba(12, 14, 16, 0.55);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
.journey__cta {
  border-color: color-mix(in srgb, var(--edge-avg) 40%, rgba(44, 219, 162, 0.35));
  color: #9af0d0;
}

/* Booking fields stay dark-native */
.booking-fields input,
.booking-fields select,
.booking-fields textarea {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
  color-scheme: dark;
}
.booking-fields select option {
  background: #0a0c0e;
  color: #eef9f5;
}

/* Scroll cue stays above glass */
.scroll-cue { z-index: 96; }

/* Tile text centering — not bottom-stuck unless icon sits above */
.mosaic-card {
  align-content: center !important;
  justify-items: stretch;
  gap: 0.55rem;
}
.mosaic-card--body {
  display: grid;
  align-content: center !important;
  align-items: start;
  gap: 0.55rem;
  padding: 1.2rem 1.25rem;
}
.mosaic-card--body > .micro {
  margin: 0 0 0.1rem;
}
.mosaic-card--body > .card-heading {
  margin: 0;
}
.mosaic-card--body > p:not(.micro) {
  margin: 0;
  max-width: 42ch;
}
.mosaic-card--feature.mosaic-card--body {
  align-content: center !important;
}
.mosaic-card--archetype-tall {
  align-content: stretch !important;
  grid-template-rows: auto minmax(6.5rem, 1fr) auto;
}
.mosaic-card--archetype-tall .tile-copy {
  align-self: end;
  padding-top: 0.85rem;
}
.mosaic-card--rail {
  align-content: center !important;
  align-items: center;
}

/* Scroll cue — PPS-style pulsing line */
.scroll-cue {
  position: fixed;
  z-index: 95;
  left: 50%;
  bottom: max(1.35rem, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  display: grid;
  justify-items: center;
  gap: 0.55rem;
  pointer-events: none;
  transition: opacity 0.55s var(--ease), visibility 0.55s, transform 0.55s var(--ease);
}
.scroll-cue.is-gone {
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(10px);
}
.scroll-cue__label {
  font: 500 0.62rem/1 var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(167, 243, 208, 0.72);
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
}
.scroll-cue__line {
  position: relative;
  width: 1px;
  height: 52px;
  background: rgba(143, 227, 240, 0.14);
  overflow: hidden;
  border-radius: 999px;
}
.scroll-cue__line span {
  position: absolute;
  top: -40%;
  left: 0;
  width: 100%;
  height: 40%;
  background: linear-gradient(180deg, transparent, var(--emerald), var(--cyan));
  box-shadow: 0 0 12px rgba(34, 214, 161, 0.55);
  animation: scrollDrip 2.15s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}
@keyframes scrollDrip {
  0% { top: -45%; opacity: 0; }
  12% { opacity: 1; }
  100% { top: 115%; opacity: 0.15; }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-cue__line span { animation: none; top: 30%; opacity: 0.7; }
}
@media (max-width: 860px) {
  .scroll-cue { bottom: max(0.85rem, env(safe-area-inset-bottom)); }
  .scroll-cue__line { height: 40px; }
  .scroll-cue__label { font-size: 0.56rem; }
}

/* Package panel edge peeks — clickable */
.pkg-peek {
  pointer-events: auto !important;
  cursor: pointer;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
}
.pkg-peek--left {
  background: linear-gradient(90deg, rgba(3, 11, 9, 0.72) 0%, rgba(16, 185, 129, 0.16) 42%, transparent 100%) !important;
}
.pkg-peek--right {
  background: linear-gradient(270deg, rgba(3, 11, 9, 0.72) 0%, rgba(16, 185, 129, 0.16) 42%, transparent 100%) !important;
}
.pkg-peek:hover em,
.pkg-peek:focus-visible em {
  border-color: rgba(110, 231, 183, 0.75);
  background: rgba(12, 36, 28, 0.95);
  color: #ecfdf5;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4), 0 0 18px rgba(34, 214, 161, 0.25);
  transform: scale(1.06);
}
.pkg-peek:focus-visible {
  outline: none;
}
.pkg-peek em {
  transition: transform 0.25s var(--ease), border-color 0.25s, background 0.25s, box-shadow 0.25s, color 0.25s;
  pointer-events: none;
}

/* Package slides with tier example images */
.pkg-panel__shell {
  width: min(920px, 100%);
  max-height: min(88dvh, 820px);
  border-radius: 24px;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}
.pkg-panel__viewport {
  min-height: 0;
}
.pkg-track {
  align-items: stretch;
}
.pkg-slide {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0.95rem;
  padding: 0.35rem 0.15rem 0.5rem;
  height: 100%;
  overflow: auto;
}
.pkg-media {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(225, 255, 246, 0.14);
  background: #030706;
  position: relative;
  aspect-ratio: 16 / 9;
  max-height: min(34vh, 280px);
}
.pkg-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.pkg-media figcaption {
  position: absolute;
  left: 0.7rem;
  bottom: 0.65rem;
  right: 0.7rem;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  width: fit-content;
  max-width: calc(100% - 1.4rem);
  background: rgba(3, 10, 8, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #d1fae5;
  font: 500 0.62rem/1.2 var(--mono);
  letter-spacing: 0.04em;
  backdrop-filter: blur(10px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pkg-body {
  display: grid;
  gap: 0.55rem;
  align-content: start;
}
.pkg-who,
.pkg-outcome {
  border-radius: 12px;
  padding: 0.75rem 0.85rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.pkg-who strong,
.pkg-outcome strong {
  display: block;
  margin-bottom: 0.25rem;
  color: #7aefc5;
  font: 600 0.62rem/1.2 var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pkg-slide ul {
  display: grid;
  gap: 0.35rem;
  padding-left: 1.05rem;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
}
.pkg-slide li::marker {
  color: var(--emerald);
}
.pkg-nav:hover,
.pkg-nav:focus-visible {
  border-color: rgba(72, 230, 183, 0.45);
  background: rgba(16, 54, 43, 0.55);
}

/* Story frame polish */
.story-frame {
  box-shadow:
    0 34px 100px rgba(0, 0, 0, 0.48),
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 0 60px rgba(34, 214, 161, 0.04);
}
.kicker {
  color: rgba(96, 233, 189, 0.88);
}
.journey__lede {
  color: rgba(186, 206, 199, 0.9);
}
.btn--primary {
  box-shadow: 0 10px 32px rgba(18, 206, 153, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
.btn--ghost {
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.05);
}

/* Nav glass chips */
.journey__nav {
  backdrop-filter: blur(16px) saturate(140%);
  background: linear-gradient(180deg, rgba(3, 7, 6, 0.82), rgba(3, 7, 6, 0.2) 85%, transparent);
}
.journey__cta,
.journey__nav-secondary {
  backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.journey__nav-secondary:hover {
  box-shadow: 0 0 24px rgba(34, 214, 161, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

/* Booking form premium */
.booking-form {
  border-radius: 24px;
  box-shadow:
    0 30px 90px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}
.booking-fields input,
.booking-fields select,
.booking-fields textarea {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(255, 255, 255, 0.12);
  color-scheme: dark;
}
.booking-fields select option {
  background: #07130f;
  color: #eef9f5;
}

/* Signal spine glass */
@media (max-width: 860px) {
  .signal-node {
    backdrop-filter: blur(18px) saturate(140%);
    background: rgba(6, 18, 14, 0.72);
  }
  .signal-node.is-focus,
  .signal-node[aria-pressed="true"] {
    background: linear-gradient(110deg, rgba(18, 58, 46, 0.92), rgba(5, 16, 13, 0.88));
    box-shadow: inset 0 0 0 1px rgba(53, 223, 169, 0.18), 0 12px 36px rgba(0, 0, 0, 0.28);
  }
  .pkg-media {
    max-height: 28vh;
  }
  .pkg-panel__shell {
    max-height: 92dvh;
    border-radius: 18px 18px 0 0;
    align-self: end;
  }
  body.pkg-open .pkg-panel {
    place-items: end center;
    padding: 0;
  }
}

/* Soft film vignette boost for calmer video */
.journey__scrim {
  background:
    radial-gradient(ellipse 42% 48% at 50% 45%, transparent 0 36%, rgba(3, 7, 6, calc(var(--film-contrast) * 0.42)) 78%, rgba(3, 7, 6, calc(var(--film-contrast) * 0.86)) 100%),
    linear-gradient(90deg, rgba(3, 7, 6, calc(var(--film-contrast) * 0.78)), transparent 34% 66%, rgba(3, 7, 6, calc(var(--film-contrast) * 0.62))),
    linear-gradient(180deg, rgba(3, 7, 6, 0.28), transparent 22% 70%, rgba(3, 7, 6, 0.45));
}
.journey__grain { opacity: 0.09; }

/* Elevation: subtle sheen on active section only */
.journey__section.is-active .story-frame {
  animation: glassSheen 1.1s var(--ease) both;
}
@keyframes glassSheen {
  from { filter: saturate(0.92) brightness(0.96); }
  to { filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  .journey__section.is-active .story-frame { animation: none; }
}

/* === tall tile fill + center channel 2026-07-23 === */

/* Wider open lane for the film between story + mosaic */
.journey__layout {
  column-gap: clamp(4.5rem, 11vw, 10.5rem);
}
.journey__layout--booking {
  column-gap: clamp(3.5rem, 9vw, 8.5rem);
}

/* Large feature tiles: fill height with living glyph field */
.mosaic-card--feature.mosaic-card--archetype-tall {
  display: grid !important;
  grid-template-rows: auto minmax(8.5rem, 1fr) auto !important;
  align-content: stretch !important;
  align-items: stretch !important;
  gap: 0.85rem !important;
  min-height: 0;
  height: 100%;
  padding: 1.15rem 1.2rem 1.2rem;
}
.mosaic-card--feature.mosaic-card--archetype-tall > .micro {
  align-self: start;
  margin: 0;
}
.mosaic-card--feature.mosaic-card--archetype-tall > .tile-visual {
  align-self: stretch;
  justify-self: stretch;
  min-height: 9.5rem;
  height: 100%;
  width: 100%;
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 45%, rgba(34, 214, 161, 0.08), transparent 58%),
    linear-gradient(160deg, rgba(255,255,255,0.035), transparent 55%);
  border: 1px solid rgba(225, 255, 246, 0.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}
.mosaic-card--feature.mosaic-card--archetype-tall > .tile-visual > .ph {
  font-size: clamp(3.6rem, 5.2vw, 5.1rem);
  color: rgba(110, 238, 198, 0.88);
  filter: drop-shadow(0 0 18px rgba(34, 214, 161, 0.18));
}
.mosaic-card--feature.mosaic-card--archetype-tall > .tile-copy {
  align-self: end;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(225, 255, 246, 0.1);
  gap: 0.4rem;
}
.mosaic-card--feature.mosaic-card--archetype-tall > .tile-copy h2,
.mosaic-card--feature.mosaic-card--archetype-tall > .tile-copy h3 {
  font-size: clamp(1.35rem, 1.9vw, 1.85rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
}
.mosaic-card--feature.mosaic-card--archetype-tall > .tile-copy p {
  font-size: 0.84rem;
  line-height: 1.5;
  max-width: 36ch;
}

/* Slightly slimmer columns so the center film band is wider */
@media (min-width: 861px) {
  .journey__layout {
    grid-template-columns: minmax(320px, 0.78fr) minmax(480px, 1.05fr);
    width: min(1280px, 100%);
  }
  .story-frame {
    max-width: 460px;
  }
  .info-mosaic {
    max-width: 100%;
  }
  /* Keep progress rail from colliding with wider gap compositions */
  .journey__progress {
    left: 1.1rem;
  }
}

@media (max-width: 1100px) and (min-width: 861px) {
  .mosaic-card--feature.mosaic-card--archetype-tall > .tile-visual {
    min-height: 7.5rem;
  }
  .mosaic-card--feature.mosaic-card--archetype-tall > .tile-visual > .ph {
    font-size: clamp(3rem, 4.2vw, 4.1rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mosaic-card--feature.mosaic-card--archetype-tall > .tile-visual > .ph,
  .mosaic-card--feature.mosaic-card--archetype-tall .tile-visual__orbit,
  .mosaic-card--feature.mosaic-card--archetype-tall .tile-visual:before,
  .mosaic-card--feature.mosaic-card--archetype-tall .tile-visual:after {
    animation: none !important;
  }
}

/* === best practices polish 2026-07-23 === */
/* Focus rings that survive glass */
.btn:focus-visible,
.journey__cta:focus-visible,
.journey__nav-secondary:focus-visible,
.journey__brand:focus-visible,
.pkg-nav:focus-visible,
.pkg-panel__close:focus-visible,
.booking-launch:focus-visible,
.signal-node:focus-visible,
.pkg-peek:focus-visible {
  outline: 2px solid rgba(120, 240, 200, 0.65);
  outline-offset: 3px;
}
/* Text selection */
::selection {
  background: rgba(34, 214, 161, 0.28);
  color: #f3fffb;
}
/* Slightly clearer body copy on opaque glass */
.journey__lede,
.mosaic-card p,
.tile-copy p,
.signal-node span {
  color: rgba(210, 224, 218, 0.92);
}
.micro, .kicker {
  color: rgba(160, 220, 200, 0.78);
}
/* Prevent glass ::after from blocking nothing - already pointer-events none */
/* Ensure tall tiles stay filled under new glass stacking */
.mosaic-card--feature.mosaic-card--archetype-tall > .tile-visual {
  z-index: 2;
}
.mosaic-card--feature.mosaic-card--archetype-tall > .tile-copy,
.mosaic-card--feature.mosaic-card--archetype-tall > .micro {
  z-index: 5;
}
/* Hide scroll cue under reduced motion still show static hint */
@media (prefers-reduced-motion: reduce) {
  .scroll-cue__line span {
    animation: none;
    top: 35%;
    opacity: 0.75;
  }
  .mosaic-card:hover {
    transform: none;
  }
}
/* Package panel shell inherits ultra glass */
.pkg-panel__shell {
  border-radius: 24px;
}

/* === FILM PLATE TILES v55 === */
.mosaic-card--media{overflow:hidden}
.mosaic-card--media>.tile-media{position:relative;display:block;align-self:stretch;justify-self:stretch;min-height:9.5rem;height:100%;width:100%;border-radius:14px;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 45%,rgba(34,214,161,.06),transparent 58%),linear-gradient(160deg,rgba(8,18,16,.2),rgba(3,7,6,.55));border:1px solid rgba(225,255,246,.08);box-shadow:inset 0 1px rgba(255,255,255,.06)}
.mosaic-card--media>.tile-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;display:block;transform:scale(1.02);transition:transform .7s var(--ease),filter .5s var(--ease);filter:saturate(1.05) contrast(1.04)}
.mosaic-card--media:hover>.tile-media>img{transform:scale(1.06)}
.mosaic-card--media>.tile-media::after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(3,7,6,.55));pointer-events:none;z-index:1}
.mosaic-card--media-body{grid-template-rows:auto auto auto 1fr}
.mosaic-card--media-body>.tile-media--sq{position:relative;width:100%;aspect-ratio:16/10;min-height:5.5rem;max-height:7.5rem;border-radius:12px;overflow:hidden;border:1px solid rgba(225,255,246,.08);background:#050b0a}
.mosaic-card--media-body>.tile-media--sq>img{width:100%;height:100%;object-fit:cover;object-position:75% center;display:block;transition:transform .6s var(--ease)}
.mosaic-card--media-body:hover>.tile-media--sq>img{transform:scale(1.05)}
.mosaic-card--media-rail{display:grid!important;grid-template-columns:minmax(9rem,.9fr) minmax(12rem,1.2fr)!important;grid-template-areas:"media text"!important;align-items:center!important;column-gap:1rem!important;row-gap:.5rem!important}
.mosaic-card--media-rail>.tile-media--rail{grid-area:media;position:relative;width:100%;min-height:5.5rem;aspect-ratio:16/10;border-radius:12px;overflow:hidden;border:1px solid rgba(225,255,246,.1);background:#050b0a}
.mosaic-card--media-rail>.tile-media--rail>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.mosaic-card--media-rail>.rail-text{grid-area:text;display:grid;gap:.35rem;align-content:center}
.mosaic-card--media-rail>.rail-text .rail-label,.mosaic-card--media-rail>.rail-text .rail-heading,.mosaic-card--media-rail>.rail-text .rail-copy{margin:0}
.mosaic-card--media-rail>.rail-text .rail-copy{max-width:46ch}
@media(max-width:1100px) and (min-width:861px){.mosaic-card--media-rail{grid-template-columns:minmax(7.5rem,.75fr) minmax(11rem,1.25fr)!important}}
@media(max-width:860px){.mosaic-card--media>.tile-media{min-height:7.2rem}.mosaic-card--media-body>.tile-media--sq{max-height:6.2rem}.mosaic-card--media-rail{grid-template-columns:1fr!important;grid-template-areas:"media" "text"!important}.mosaic-card--media-rail>.tile-media--rail{min-height:5rem;aspect-ratio:21/9}}
@media(prefers-reduced-motion:reduce){.mosaic-card--media>.tile-media>img,.mosaic-card--media-body>.tile-media--sq>img{transition:none;transform:none!important}}

/* === FILM PERF v56 === */
.mosaic-card--media > .tile-media > img[src*="sitdown"],
.mosaic-card--media-rail > .tile-media--rail > img[src*="sitdown"] {
  object-position: 55% 45%;
}
.mosaic-card--media > .tile-media > img[src*="after"],
.mosaic-card--media-rail > .tile-media--rail > img[src*="after"] {
  object-position: 60% center;
}
/* cheaper paint while scrolling journey sections */
.info-mosaic .mosaic-card {
  content-visibility: auto;
  contain-intrinsic-size: 220px 280px;
}
.tile-media img {
  /* avoid layout thrash */
  background: #050b0a;
}
/* slightly smaller default media min-heights = less decode cost */
.mosaic-card--media > .tile-media { min-height: 8.2rem; }
.mosaic-card--media-body > .tile-media--sq { max-height: 6.4rem; min-height: 4.6rem; }
.mosaic-card--media-rail > .tile-media--rail { min-height: 4.6rem; }
@media (max-width: 860px) {
  .mosaic-card--media > .tile-media { min-height: 6.4rem; }
  .info-mosaic .mosaic-card { contain-intrinsic-size: 160px 200px; }
}

/* === TEXT READABILITY v59 === */
.mosaic-card--media-body > .card-heading,
.mosaic-card--media-body > p:not(.micro) {
  position: relative;
  z-index: 6;
}
.mosaic-card--media-body .card-heading h3,
.mosaic-card--media-body > p {
  text-shadow: 0 1px 6px rgba(3, 7, 6, 0.92);
}
/* subtle dark gradient behind text on image tiles */
.mosaic-card--media-body::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 65%;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(3, 7, 6, 0.45) 30%,
    rgba(3, 7, 6, 0.78) 65%,
    rgba(3, 7, 6, 0.92) 100%
  );
  border-radius: 0 0 16px 16px;
  pointer-events: none;
  z-index: 3;
}
/* rail text on wide image rails needs similar treatment */
.mosaic-card--media-rail .rail-text {
  position: relative;
  z-index: 5;
}
.mosaic-card--media-rail .rail-text .rail-label,
.mosaic-card--media-rail .rail-text .rail-heading h3,
.mosaic-card--media-rail .rail-text h3,
.mosaic-card--media-rail .rail-text .rail-copy,
.mosaic-card--media-rail .rail-text {
  text-shadow: 0 1px 4px rgba(3, 7, 6, 0.85);
}
.mosaic-card--media-rail::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(3, 7, 6, 0.55) 0%,
    rgba(3, 7, 6, 0.15) 45%,
    rgba(3, 7, 6, 0.65) 100%
  );
  border-radius: 16px;
  pointer-events: none;
  z-index: 3;
}


/* === HYBRID STICKY + TILE INSET v69 === */
/* Soft morph: low-cost stagger fade/slide on section change */
.journey__section.is-morph-in .story-frame,
.journey__section.is-morph-in .info-mosaic > *,
.journey__section.is-morph-in .signal-spine > * {
  animation: morphIn 0.55s var(--ease) both;
}
.journey__section.is-morph-in.morph-dir-back .story-frame,
.journey__section.is-morph-in.morph-dir-back .info-mosaic > *,
.journey__section.is-morph-in.morph-dir-back .signal-spine > * {
  animation-name: morphInBack;
}
.journey__section.is-morph-in .info-mosaic > *:nth-child(1) { animation-delay: 0.02s; }
.journey__section.is-morph-in .info-mosaic > *:nth-child(2) { animation-delay: 0.07s; }
.journey__section.is-morph-in .info-mosaic > *:nth-child(3) { animation-delay: 0.12s; }
.journey__section.is-morph-in .info-mosaic > *:nth-child(4) { animation-delay: 0.16s; }
.journey__section.is-morph-in .signal-spine > *:nth-child(1) { animation-delay: 0.04s; }
.journey__section.is-morph-in .signal-spine > *:nth-child(2) { animation-delay: 0.09s; }
.journey__section.is-morph-in .signal-spine > *:nth-child(3) { animation-delay: 0.14s; }

.journey__section.is-morph-out .story-frame,
.journey__section.is-morph-out .info-mosaic > *,
.journey__section.is-morph-out .signal-spine > * {
  animation: morphOut 0.32s var(--ease) both;
}
.journey__section.is-morph-out.morph-dir-back .story-frame,
.journey__section.is-morph-out.morph-dir-back .info-mosaic > *,
.journey__section.is-morph-out.morph-dir-back .signal-spine > * {
  animation-name: morphOutBack;
}

@keyframes morphIn {
  from { opacity: 0; transform: translate3d(0, 18px, 0) scale(0.985); }
  to   { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes morphInBack {
  from { opacity: 0; transform: translate3d(0, -16px, 0) scale(0.985); }
  to   { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes morphOut {
  from { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  to   { opacity: 0; transform: translate3d(0, -12px, 0) scale(0.99); }
}
@keyframes morphOutBack {
  from { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  to   { opacity: 0; transform: translate3d(0, 12px, 0) scale(0.99); }
}

@media (prefers-reduced-motion: reduce) {
  .journey__section.is-morph-in .story-frame,
  .journey__section.is-morph-in .info-mosaic > *,
  .journey__section.is-morph-in .signal-spine > *,
  .journey__section.is-morph-out .story-frame,
  .journey__section.is-morph-out .info-mosaic > *,
  .journey__section.is-morph-out .signal-spine > * {
    animation: none !important;
  }
}

/* Tile media: never flush to card edges — inset plate inside glass */
.mosaic-card--media {
  overflow: hidden;
}
.mosaic-card--media > .tile-media {
  width: auto !important;
  max-width: 100%;
  margin: 0.15rem 0.1rem 0.25rem;
  min-height: 7.6rem !important;
  border-radius: 12px !important;
  box-sizing: border-box;
}
.mosaic-card--media > .tile-media > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: none !important;
  border-radius: inherit;
}
.mosaic-card--media:hover > .tile-media > img {
  transform: scale(1.03) !important;
}
.mosaic-card--media-body > .tile-media--sq {
  margin: 0.1rem 0 0.15rem;
  width: 100%;
  max-width: 100%;
  border-radius: 11px !important;
  box-sizing: border-box;
}
.mosaic-card--media-body > .tile-media--sq > img {
  transform: none !important;
  border-radius: inherit;
  object-fit: cover;
}
.mosaic-card--media-body:hover > .tile-media--sq > img {
  transform: scale(1.03) !important;
}
/* Media rails: photo is an inset plate, never full-bleed to glass edge */
.mosaic-card.mosaic-card--media-rail {
  padding: 0.7rem 0.75rem !important;
  column-gap: 0.9rem !important;
  row-gap: 0.65rem !important;
  align-items: stretch !important;
  overflow: hidden;
  box-sizing: border-box;
}
.mosaic-card--media-rail > .tile-media--rail {
  grid-area: media;
  position: relative !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
  min-height: 6.2rem !important;
  aspect-ratio: 16 / 10;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-sizing: border-box;
  border: 1px solid rgba(225, 255, 246, 0.12) !important;
  background: #050b0a;
  z-index: 4;
  align-self: center;
}
.mosaic-card--media-rail > .tile-media--rail > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: inherit !important;
  transform: none !important;
  display: block;
}
.mosaic-card--media-rail > .rail-text {
  position: relative;
  z-index: 4;
  padding: 0.2rem 0.15rem 0.2rem 0;
  align-self: center;
}
/* Drop full-card veil that made rails read as edge-to-edge art */
.mosaic-card--media-rail::before {
  display: none !important;
}
/* How-we-start sitdown plate framing */
.mosaic-card--media > .tile-media > img[src*="sitdown"],
.mosaic-card--media-rail > .tile-media--rail > img[src*="sitdown"] {
  object-position: 48% 42% !important;
}
.mosaic-card--media-rail > .tile-media--rail > img[src*="after"] {
  object-position: 55% 40% !important;
}
@media (max-width: 860px) {
  .mosaic-card.mosaic-card--media-rail {
    padding: 0.65rem !important;
  }
  .mosaic-card--media > .tile-media {
    min-height: 6rem !important;
    margin: 0.15rem 0.05rem 0.25rem;
  }
  .mosaic-card--media-rail > .tile-media--rail {
    min-height: 5.4rem !important;
    aspect-ratio: 18 / 10;
  }
}
/* Cheaper section exit layers while morphing */
.journey__section.is-exit-up,
.journey__section.is-exit-down {
  pointer-events: none;
}


/* === RAIL INSET HARD FIX v72b === */
.mosaic-card.mosaic-card--media-rail {
  padding: 0.75rem 0.8rem !important;
  display: grid !important;
  grid-template-columns: minmax(9.5rem, 0.95fr) minmax(12rem, 1.25fr) !important;
  grid-template-areas: "media text" !important;
  align-items: center !important;
  column-gap: 0.95rem !important;
  row-gap: 0.55rem !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.mosaic-card--media-rail > .tile-media--rail {
  grid-area: media !important;
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 7.5rem !important;
  min-height: 5.25rem !important;
  aspect-ratio: 16 / 10 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  align-self: center !important;
  justify-self: stretch !important;
  z-index: 4 !important;
  border: 1px solid rgba(225, 255, 246, 0.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
  background: #050b0a !important;
  /* never bleed past card padding box */
  max-height: min(7.5rem, 100%) !important;
}
.mosaic-card--media-rail > .tile-media--rail > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: 48% 42% !important;
  border-radius: 12px !important;
  transform: none !important;
  display: block !important;
}
.mosaic-card--media-rail > .rail-text {
  grid-area: text !important;
  position: relative !important;
  z-index: 4 !important;
  align-self: center !important;
  padding: 0.15rem 0.1rem !important;
  margin: 0 !important;
}
.mosaic-card--media-rail::before {
  display: none !important;
}
@media (max-width: 1100px) and (min-width: 861px) {
  .mosaic-card.mosaic-card--media-rail {
    grid-template-columns: minmax(8rem, 0.85fr) minmax(11rem, 1.3fr) !important;
    padding: 0.7rem 0.75rem !important;
  }
}
@media (max-width: 860px) {
  .mosaic-card.mosaic-card--media-rail {
    grid-template-columns: 1fr !important;
    grid-template-areas: "media" "text" !important;
    padding: 0.7rem !important;
  }
  .mosaic-card--media-rail > .tile-media--rail {
    max-height: 6.5rem !important;
    min-height: 5rem !important;
    aspect-ratio: 19 / 10 !important;
  }
}


/* === SMOOTH SECTION + FILM v76 === */
#journeyCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  z-index: 0;
  background: #030706;
  /* GPU layer — avoid paint thrash with overlays */
  transform: translateZ(0);
  will-change: contents;
}
.journey__img-wrap img#journeyFrame {
  display: none !important;
}

/* Section: pure opacity crossfade — no translate/scale pops */
.journey__section {
  transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0.8s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transform: none !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.journey__section.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}
/* Exit only when NOT active — prevents opacity fight */
.journey__section.is-exit-up:not(.is-active),
.journey__section.is-exit-down:not(.is-active) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
}

/* Kill competing assemble + morph child animations (they stacked and jumped) */
.journey__section .story-frame > *,
.journey__section .info-mosaic > *,
.journey__section .signal-spine > * {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Soft whole-section fade only — children ride parent opacity */
.journey__section.is-morph-in .story-frame,
.journey__section.is-morph-in .info-mosaic,
.journey__section.is-morph-in .signal-spine,
.journey__section.is-morph-out .story-frame,
.journey__section.is-morph-out .info-mosaic,
.journey__section.is-morph-out .signal-spine {
  animation: none !important;
}

/* Gentle opacity lift on active mosaic (no stagger jump) */
.journey__section.is-active .info-mosaic,
.journey__section.is-active .story-frame,
.journey__section.is-active .signal-spine {
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1), filter 0.55s ease;
  filter: none;
}
.journey__section:not(.is-active) .info-mosaic,
.journey__section:not(.is-active) .story-frame,
.journey__section:not(.is-active) .signal-spine {
  /* parent already opacity 0 */
}

/* Disable glass sheen pop on every section enter */
.journey__section.is-active .story-frame {
  animation: none !important;
}

/* Mosaic hover still ok but lighter so less fighting during transitions */
.journey__section.is-morph-in .mosaic-card,
.journey__section.is-morph-out .mosaic-card {
  transition: none !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .journey__section {
    transition: none !important;
  }
}


/* === SECTION CHOREOGRAPHY v79 — fade out at film start, fade in lands with film end === */
:root {
  --section-fade-out: 430ms;
  --section-fade-in: 590ms;
  --section-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.journey__section {
  transition:
    opacity var(--section-fade-in) var(--section-ease),
    visibility var(--section-fade-in) var(--section-ease) !important;
  transform: none !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Active settled */
.journey__section.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  transition-duration: var(--section-fade-in), var(--section-fade-in) !important;
}

/* Leaving beats active if both present during the handoff frame */
.journey__section.is-active.is-leaving,
.journey__section.is-leaving {
  opacity: 0 !important;
  visibility: visible !important; /* keep in tree while fading */
  pointer-events: none !important;
  transform: none !important;
  transition-duration: var(--section-fade-out), var(--section-fade-out) !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1), cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 2;
}

/* Pending next: hard-hidden until late in the film advance */
.journey__section.is-pending {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: none !important;
  z-index: 3;
}

/* Entering: fading in — timed to finish with film */
.journey__section.is-active.is-entering {
  opacity: 1 !important;
  visibility: visible !important;
  transition-duration: var(--section-fade-in), var(--section-fade-in) !important;
  transition-timing-function: var(--section-ease), var(--section-ease) !important;
  z-index: 4;
}

.journey__section.is-exit-up:not(.is-active):not(.is-leaving),
.journey__section.is-exit-down:not(.is-active):not(.is-leaving) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
}

/* Children ride parent opacity only */
.journey__section .story-frame > *,
.journey__section .info-mosaic > *,
.journey__section .signal-spine > * {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.journey__section.is-morph-in .story-frame,
.journey__section.is-morph-in .info-mosaic,
.journey__section.is-morph-in .signal-spine,
.journey__section.is-morph-out .story-frame,
.journey__section.is-morph-out .info-mosaic,
.journey__section.is-morph-out .signal-spine,
.journey__section.is-active .story-frame {
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --section-fade-out: 1ms;
    --section-fade-in: 1ms;
  }
  .journey__section {
    transition: none !important;
  }
}


/* === 2026-07-29 polish: trio mosaic, glance hybrid, ghost harden, mobile story shrink === */

/* Desktop trio spacing + edge safety */
.info-mosaic.mosaic--trio,
.info-mosaic.mosaic--trio-rail {
  height: min(560px, 100%);
  gap: 0.75rem;
  align-self: center;
}
.mosaic--trio .mosaic-card,
.mosaic--trio-rail .mosaic-card {
  min-height: 0;
  overflow: hidden;
  padding: 1.05rem 1.1rem;
}
.mosaic--trio .mosaic-card--feature.mosaic-card--media,
.mosaic--trio-rail .mosaic-card--feature.mosaic-card--media {
  padding: 0.85rem;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 0.75rem;
}
.mosaic--trio .mosaic-card--feature .tile-media,
.mosaic--trio-rail .mosaic-card--feature .tile-media {
  min-height: 12rem;
  height: 100%;
  max-height: none;
  flex: 1;
}
.mosaic--trio .mosaic-card--feature.mosaic-card--media,
.mosaic--trio-rail .mosaic-card--feature.mosaic-card--media {
  display: grid;
  grid-template-rows: minmax(12rem, 1fr) auto;
  align-content: stretch !important;
}
.mosaic--trio .mosaic-card--feature .tile-copy,
.mosaic--trio-rail .mosaic-card--feature .tile-copy {
  align-self: end;
  padding: 0.15rem 0.15rem 0.05rem;
}
.mosaic--trio .mosaic-card--feature .tile-media > img,
.mosaic--trio-rail .mosaic-card--feature .tile-media > img {
  object-position: center center;
}
.mosaic--trio .tile-copy h2,
.mosaic--trio .tile-copy h3,
.mosaic--trio-rail .tile-copy h2,
.mosaic--trio-rail .tile-copy h3 {
  font-size: clamp(1.05rem, 1.35vw, 1.35rem);
  line-height: 1.18;
  letter-spacing: -0.02em;
}
.mosaic--trio .tile-copy p,
.mosaic--trio-rail .tile-copy p,
.mosaic--trio .mosaic-card--body > p,
.mosaic--trio-rail .mosaic-card--body > p,
.mosaic--trio-rail .rail-copy {
  font-size: 0.78rem;
  line-height: 1.4;
  max-width: 36ch;
}
.mosaic--trio-rail .mosaic-card--rail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: 0.65rem 1rem;
  align-items: center;
  padding: 0.95rem 1.15rem;
}
.mosaic--trio-rail .mosaic-card--rail .rail-heading {
  margin: 0;
}
.mosaic--trio-rail .mosaic-card--rail .rail-copy {
  margin: 0;
}
.mosaic--trio-rail .mosaic-card--rail .card-heading {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
}
.mosaic--trio-rail .mosaic-card--rail h3 {
  font-size: 1.02rem;
  line-height: 1.2;
}

/* Media body without micro: tighter top */
.mosaic-card--media-body {
  grid-template-rows: auto auto 1fr;
  padding-top: 0.95rem;
}
.mosaic-card--media-body > .tile-media--sq {
  max-height: 7.2rem;
  min-height: 5.8rem;
}

/* Ghost harden: inactive never paints readable stack */
.journey__section:not(.is-active):not(.is-leaving) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 0 !important;
  content-visibility: hidden;
}
.journey__section.is-leaving {
  z-index: 2;
  content-visibility: visible;
}
.journey__section.is-active,
.journey__section.is-active.is-entering {
  z-index: 5;
  content-visibility: visible;
}
.journey__section.is-pending {
  content-visibility: hidden;
}

/* Glance hybrid — desktop hidden (set above); mobile on */
.glance-stack {
  width: 100%;
  min-width: 0;
}
.glance-focus {
  border-radius: 16px;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(53, 223, 169, 0.28);
  background:
    linear-gradient(125deg, rgba(16, 70, 52, 0.55), rgba(4, 14, 12, 0.82));
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  display: grid;
  gap: 0.28rem;
}
.glance-focus__title {
  font-size: 0.95rem;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
}
.glance-focus__body {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.4;
  color: var(--muted);
}
.glance-chips {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
}
.glance-chip {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 13px;
  background: rgba(4, 15, 12, 0.78);
  color: var(--ink);
  text-align: left;
  padding: 0.62rem 0.7rem;
  display: grid;
  gap: 0.14rem;
  cursor: pointer;
  min-width: 0;
  transition: border-color 0.25s var(--ease), background 0.25s var(--ease), opacity 0.25s;
}
.glance-chip b {
  font-size: 0.72rem;
  font-weight: 650;
  line-height: 1.2;
}
.glance-chip span {
  font-size: 0.62rem;
  line-height: 1.3;
  color: var(--muted);
  display: block;
}
.glance-chip.is-focus,
.glance-chip[aria-pressed="true"] {
  border-color: rgba(53, 223, 169, 0.42);
  background: linear-gradient(120deg, rgba(16, 58, 44, 0.9), rgba(4, 15, 12, 0.88));
}
.glance-chip:focus-visible {
  outline: 2px solid rgba(50, 219, 164, 0.55);
  outline-offset: 2px;
}

@media (max-width: 860px) {
  .glance-stack {
    display: grid !important;
  }
  .journey__layout {
    grid-template-rows: auto auto !important;
    height: auto !important;
    min-height: calc(100dvh - var(--nav-h) - 1.4rem);
    max-height: calc(100dvh - var(--nav-h) - 1.1rem);
    gap: 0.55rem;
    align-content: start;
  }
  .story-frame {
    padding: 0.78rem 0.9rem !important;
    gap: 0.32rem !important;
    border-radius: 16px;
  }
  .journey__title {
    font-size: clamp(1.55rem, 7.6vw, 2.15rem) !important;
    line-height: 1.05 !important;
  }
  .journey__h2 {
    font-size: clamp(1.28rem, 6.4vw, 1.72rem) !important;
    line-height: 1.08 !important;
  }
  .journey__lede {
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .kicker {
    font-size: 0.52rem !important;
  }
  .journey__actions {
    margin-top: 0.15rem;
  }
  .journey__actions .btn--ghost {
    display: none !important;
  }
  .btn {
    padding: 0.55rem 0.8rem !important;
    font-size: 0.7rem !important;
  }
  .value-promise {
    font-size: 0.64rem !important;
    margin: 0.15rem 0 !important;
  }
  .glance-focus {
    padding: 0.72rem 0.82rem;
  }
  .glance-focus__title {
    font-size: 0.88rem;
  }
  .glance-focus__body {
    font-size: 0.68rem;
  }
  .glance-chips {
    grid-template-columns: 1fr 1fr;
  }
  .journey__section {
    overflow: hidden;
    padding-bottom: 0.75rem;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 860px) {
  .journey__title {
    font-size: clamp(1.4rem, 7vw, 1.85rem) !important;
  }
  .journey__h2 {
    font-size: clamp(1.18rem, 6vw, 1.5rem) !important;
  }
  .glance-chips {
    grid-template-columns: 1fr;
  }
  .glance-chip span {
    display: block;
  }
}

/* Child ride opacity still includes glance */
.journey__section .glance-stack > * {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .glance-chip {
    transition: none;
  }
}


/* Feature media fill — beat archetype 3-row template (2026-07-29 v85) */
.info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--archetype-tall.mosaic-card--media,
.info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--archetype-tall.mosaic-card--media {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: stretch !important;
  gap: 0.7rem !important;
  padding: 0.8rem !important;
}
.info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--media > .tile-media,
.info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--media > .tile-media {
  grid-row: 1 !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}
.info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--media > .tile-copy,
.info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--media > .tile-copy {
  grid-row: 2 !important;
  align-self: end !important;
  padding: 0.1rem 0.2rem 0.15rem !important;
}
.info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--media > .micro,
.info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--media > .micro {
  display: none !important;
}

/* === dense panels + ba-scene 2026-07-29 v88 === */
.mosaic-card--dense {
  padding: 0.95rem 1rem !important;
}
.mosaic-card--dense .card-heading h3,
.mosaic-card--dense .tile-copy h2,
.mosaic-card--dense .tile-copy h3 {
  font-size: clamp(0.98rem, 1.15vw, 1.18rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 0.4rem;
}
.mosaic-card--dense > p,
.mosaic-card--dense .tile-copy > p,
.mosaic-card--dense .rail-copy {
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--muted);
  margin: 0;
}
.mosaic-card--body.mosaic-card--dense {
  display: grid;
  align-content: start;
  gap: 0.45rem;
}
.mosaic-card--rail.mosaic-card--dense {
  align-content: center;
  gap: 0.45rem;
}
/* Dense feature: more copy, less empty media void */
.info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--dense.mosaic-card--media,
.info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--dense.mosaic-card--media {
  grid-template-rows: minmax(7.5rem, 0.85fr) auto !important;
  gap: 0.75rem !important;
}
.info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--dense.mosaic-card--media > .tile-copy,
.info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--dense.mosaic-card--media > .tile-copy {
  padding: 0.15rem 0.1rem 0.2rem !important;
}
/* Before/after mini scene inside feature tile */
.ba-scene {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  margin-top: 0.55rem;
}
.ba-scene__col {
  border-radius: 12px;
  padding: 0.55rem 0.6rem;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.08);
  min-width: 0;
}
.ba-scene__col--nl {
  border-color: rgba(53, 223, 169, 0.32);
  background: linear-gradient(160deg, rgba(16, 70, 52, 0.42), rgba(4, 14, 12, 0.55));
}
.ba-scene__col b {
  display: block;
  font-size: 0.62rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(238, 249, 245, 0.88);
  margin-bottom: 0.28rem;
}
.ba-scene__col--nl b { color: #8ef0c8; }
.ba-scene__col p {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.4;
  color: var(--muted);
}
.mosaic-card--ba .tile-media {
  min-height: 6.5rem !important;
  max-height: 42% !important;
}
.mosaic-card--ba .tile-media img {
  object-fit: cover;
  object-position: center 40%;
  width: 100%;
  height: 100%;
}
/* Sitdown / session plates: keep subject centered across crops */
.tile-media img[src*="06-sitdown"],
.tile-media img[src*="03-harness"] {
  object-fit: cover;
  object-position: center 42%;
}
@media (max-width: 1100px) {
  .ba-scene { grid-template-columns: 1fr; gap: 0.4rem; }
  .ba-scene__col p { font-size: 0.7rem; }
}
@media (max-width: 860px) {
  .mosaic-card--dense { /* desktop mosaic hidden; glance carries density */ }
}

/* === body fill no dead glass v89 === */
.info-mosaic.mosaic--trio > .mosaic-card--body.mosaic-card--fill,
.info-mosaic.mosaic--trio-rail > .mosaic-card--body.mosaic-card--fill {
  display: grid !important;
  grid-template-rows: auto auto 1fr !important;
  align-content: stretch !important;
  align-items: stretch !important;
  gap: 0.55rem !important;
  padding: 1rem 1.05rem 1.05rem !important;
  height: 100%;
  min-height: 0;
}
.info-mosaic.mosaic--trio > .mosaic-card--body.mosaic-card--fill > .card-heading,
.info-mosaic.mosaic--trio-rail > .mosaic-card--body.mosaic-card--fill > .card-heading {
  margin: 0;
  align-self: start;
}
.info-mosaic.mosaic--trio > .mosaic-card--body.mosaic-card--fill > p,
.info-mosaic.mosaic--trio-rail > .mosaic-card--body.mosaic-card--fill > p {
  margin: 0;
  max-width: none;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--muted);
}
.tile-points {
  list-style: none;
  margin: 0;
  padding: 0.65rem 0 0.15rem;
  display: grid;
  gap: 0.35rem;
  align-content: space-evenly;
  align-self: stretch;
  justify-self: stretch;
  height: 100%;
  min-height: 0;
  border-top: 1px solid rgba(225, 255, 246, 0.1);
}
/* body fill stack: heading + lede compact, points own remaining height */
.info-mosaic.mosaic--trio > .mosaic-card--body.mosaic-card--fill,
.info-mosaic.mosaic--trio-rail > .mosaic-card--body.mosaic-card--fill {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
}
.tile-points li {
  position: relative;
  margin: 0;
  padding-left: 1rem;
  font-size: 0.76rem;
  line-height: 1.4;
  color: rgba(238, 249, 245, 0.82);
}
.tile-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.42em;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 2px;
  background: linear-gradient(135deg, var(--emerald), var(--cyan));
  box-shadow: 0 0 10px rgba(34, 214, 161, 0.35);
}
/* kill center-float dead space from older body rules */
.info-mosaic.mosaic--trio > .mosaic-card--body,
.info-mosaic.mosaic--trio-rail > .mosaic-card--body {
  align-content: stretch !important;
}

/* === MOBILE OVERHAUL v92 scroll-handoff + no clip === */
@media (max-width: 860px) {
  .glance-stack { display: none !important; }

  .info-mosaic.mosaic--trio,
  .info-mosaic.mosaic--trio-rail,
  .booking-host {
    display: flex !important;
    flex-direction: column;
  }
  .info-mosaic.mosaic--trio,
  .info-mosaic.mosaic--trio-rail {
    display: flex !important;
  }
  .master-deck { display: none !important; }

  .journey__section {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: calc(var(--nav-h) + 0.4rem) 0.72rem max(0.45rem, env(safe-area-inset-bottom)) !important;
    overflow: hidden;
  }

  .journey__layout,
  .journey__layout--master,
  .journey__layout--booking {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    flex: 1 1 auto;
    gap: 0.42rem !important;
    align-items: stretch !important;
    overflow: hidden;
  }

  .story-frame {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    max-width: none !important;
    width: 100%;
    padding: 0.65rem 0.78rem !important;
    gap: 0.25rem !important;
    border-radius: 15px !important;
    align-content: start !important;
    overflow: visible !important;
  }
  .journey__title {
    font-size: clamp(1.35rem, 6.5vw, 1.78rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.04em;
  }
  .journey__h2 {
    font-size: clamp(1.15rem, 5.5vw, 1.48rem) !important;
    line-height: 1.1 !important;
  }
  .journey__lede {
    font-size: 0.68rem !important;
    line-height: 1.35 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: none !important;
  }
  .kicker { font-size: 0.48rem !important; }
  .journey__actions { margin-top: 0.1rem; }
  .journey__actions .btn--ghost { display: none !important; }
  .btn { padding: 0.5rem 0.72rem !important; font-size: 0.66rem !important; }
  .value-promise {
    font-size: 0.6rem !important;
    margin: 0.08rem 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .contact-grid { display: none !important; }
  .booking-launch { display: inline-flex !important; width: 100%; }

  /* KEY: flex basis 0 so panel shrinks and becomes the scrollport */
  .info-mosaic.mosaic--trio,
  .info-mosaic.mosaic--trio-rail {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    width: 100%;
    display: flex !important;
    flex-direction: column;
    gap: 0.45rem !important;
    align-content: stretch !important;
    align-self: stretch !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    padding: 0.02rem 0.08rem 0.7rem;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-template-areas: none !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(53, 223, 169, 0.4) transparent;
  }
  .info-mosaic.mosaic--trio::-webkit-scrollbar,
  .info-mosaic.mosaic--trio-rail::-webkit-scrollbar { width: 3px; }
  .info-mosaic.mosaic--trio::-webkit-scrollbar-thumb,
  .info-mosaic.mosaic--trio-rail::-webkit-scrollbar-thumb {
    background: rgba(53, 223, 169, 0.4);
    border-radius: 99px;
  }

  .info-mosaic.mosaic--trio > .mosaic-card,
  .info-mosaic.mosaic--trio-rail > .mosaic-card {
    grid-area: auto !important;
    grid-row: auto !important;
    grid-column: auto !important;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100%;
    border-radius: 14px !important;
    padding: 0.7rem 0.75rem !important;
    gap: 0.38rem !important;
    transform: none !important;
    overflow: visible !important;
    content-visibility: visible !important;
    align-content: start !important;
  }
  .info-mosaic .mosaic-card:hover { transform: none !important; }

  .info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--media,
  .info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--media,
  .info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--dense.mosaic-card--media,
  .info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--dense.mosaic-card--media {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 0.5rem !important;
    padding: 0.52rem 0.52rem 0.7rem !important;
    align-content: start !important;
    overflow: visible !important;
  }
  .info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--media > .tile-media,
  .info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--media > .tile-media,
  .info-mosaic .mosaic-card--feature .tile-media {
    grid-row: auto !important;
    width: 100%;
    height: 6.6rem !important;
    min-height: 6.6rem !important;
    max-height: 6.6rem !important;
    border-radius: 11px;
    overflow: hidden;
    align-self: stretch !important;
  }
  .info-mosaic .mosaic-card--feature .tile-media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
    display: block;
  }
  .info-mosaic .mosaic-card--feature .tile-copy {
    grid-row: auto !important;
    padding: 0.05rem 0.15rem 0 !important;
    align-self: start !important;
    overflow: visible !important;
    min-width: 0;
  }
  .info-mosaic .mosaic-card--feature .tile-copy h2,
  .info-mosaic .mosaic-card--feature .tile-copy h3 {
    font-size: 0.98rem !important;
    line-height: 1.18 !important;
    margin: 0 0 0.28rem;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .info-mosaic .mosaic-card--feature .tile-copy > p {
    font-size: 0.72rem !important;
    line-height: 1.42 !important;
    margin: 0;
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    max-width: none !important;
    overflow-wrap: anywhere;
  }

  .ba-scene {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.38rem !important;
    margin-top: 0.38rem !important;
  }
  .ba-scene__col { padding: 0.42rem 0.45rem !important; min-width: 0; overflow: visible !important; }
  .ba-scene__col b { font-size: 0.54rem !important; }
  .ba-scene__col p {
    font-size: 0.64rem !important;
    line-height: 1.35 !important;
    overflow: visible !important;
    overflow-wrap: anywhere;
  }

  .info-mosaic.mosaic--trio > .mosaic-card--body,
  .info-mosaic.mosaic--trio-rail > .mosaic-card--body,
  .info-mosaic.mosaic--trio > .mosaic-card--body.mosaic-card--fill,
  .info-mosaic.mosaic--trio-rail > .mosaic-card--body.mosaic-card--fill {
    display: grid !important;
    grid-template-rows: auto auto auto !important;
    height: auto !important;
    align-content: start !important;
    gap: 0.32rem !important;
    padding: 0.68rem 0.75rem !important;
    overflow: visible !important;
  }
  .info-mosaic .mosaic-card--body > p {
    font-size: 0.72rem !important;
    line-height: 1.4 !important;
    max-width: none !important;
    overflow: visible !important;
    overflow-wrap: anywhere;
  }
  .info-mosaic .mosaic-card--body h3 {
    font-size: 0.9rem !important;
    line-height: 1.22 !important;
    overflow-wrap: anywhere;
  }
  .info-mosaic .tile-points {
    height: auto !important;
    align-content: start !important;
    gap: 0.3rem !important;
    padding-top: 0.42rem !important;
    border-top: 1px solid rgba(225, 255, 246, 0.1);
  }
  .info-mosaic .tile-points li {
    font-size: 0.7rem !important;
    line-height: 1.35 !important;
    padding-left: 0.9rem;
    overflow-wrap: anywhere;
  }

  .info-mosaic.mosaic--trio-rail > .mosaic-card--rail,
  .info-mosaic .mosaic-card--wide.mosaic-card--rail {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: none !important;
    gap: 0.28rem !important;
    padding: 0.68rem 0.75rem !important;
    align-items: start !important;
    overflow: visible !important;
  }
  .info-mosaic .mosaic-card--rail .rail-copy {
    max-width: none !important;
    font-size: 0.72rem !important;
    line-height: 1.4 !important;
    overflow: visible !important;
    overflow-wrap: anywhere;
  }
  .info-mosaic .mosaic-card--rail h3 {
    font-size: 0.9rem !important;
    overflow-wrap: anywhere;
  }

  .journey__layout--booking { gap: 0.38rem !important; }
  .booking-host {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    display: block !important;
  }
  .booking-form { min-height: 0; padding: 0.8rem !important; overflow: visible !important; }
  .booking-fields { grid-template-columns: 1fr !important; }
  .booking-fields__wide { grid-column: auto !important; }

  .journey__scrim {
    background:
      linear-gradient(180deg, rgba(3, 7, 6, 0.58), rgba(3, 7, 6, 0.3) 28%, rgba(3, 7, 6, 0.66) 68%, rgba(3, 7, 6, 0.92)),
      radial-gradient(circle at 50% 40%, transparent, rgba(3, 7, 6, 0.48) 72%) !important;
  }
  .scroll-cue { opacity: 0.5; }
  .scroll-cue__line { height: 26px; }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 860px) {
  .info-mosaic .mosaic-card--feature .tile-media {
    height: 5.6rem !important;
    min-height: 5.6rem !important;
    max-height: 5.6rem !important;
  }
  .journey__title { font-size: clamp(1.22rem, 6.2vw, 1.55rem) !important; }
  .journey__h2 { font-size: clamp(1.08rem, 5.4vw, 1.32rem) !important; }
  .ba-scene { grid-template-columns: 1fr !important; }
}

/* === MOBILE v93 no pictures + one-screen densify === */
@media (max-width: 860px) {
  /* No tile pictures on phone — reclaim height for copy */
  .info-mosaic .tile-media,
  .info-mosaic .mosaic-card--feature .tile-media,
  .info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--media > .tile-media,
  .info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--media > .tile-media {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--media,
  .info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--media,
  .info-mosaic.mosaic--trio > .mosaic-card--feature.mosaic-card--dense.mosaic-card--media,
  .info-mosaic.mosaic--trio-rail > .mosaic-card--feature.mosaic-card--dense.mosaic-card--media {
    grid-template-rows: auto !important;
    padding: 0.62rem 0.7rem !important;
    gap: 0.35rem !important;
  }

  .info-mosaic .mosaic-card--feature .tile-copy {
    padding: 0 !important;
  }

  /* Compact story */
  .story-frame {
    padding: 0.55rem 0.7rem !important;
    gap: 0.2rem !important;
  }
  .journey__title {
    font-size: clamp(1.22rem, 5.8vw, 1.55rem) !important;
    line-height: 1.05 !important;
  }
  .journey__h2 {
    font-size: clamp(1.05rem, 5vw, 1.32rem) !important;
    line-height: 1.08 !important;
  }
  .journey__lede {
    font-size: 0.64rem !important;
    line-height: 1.3 !important;
    -webkit-line-clamp: 2;
  }
  .kicker { font-size: 0.46rem !important; }
  .btn { padding: 0.45rem 0.65rem !important; font-size: 0.64rem !important; }

  /* Tighter cards */
  .info-mosaic.mosaic--trio,
  .info-mosaic.mosaic--trio-rail {
    gap: 0.38rem !important;
    padding-bottom: 0.45rem !important;
  }
  .info-mosaic.mosaic--trio > .mosaic-card,
  .info-mosaic.mosaic--trio-rail > .mosaic-card {
    padding: 0.58rem 0.68rem !important;
    gap: 0.28rem !important;
    border-radius: 12px !important;
  }
  .info-mosaic .mosaic-card--feature .tile-copy h2,
  .info-mosaic .mosaic-card--feature .tile-copy h3 {
    font-size: 0.9rem !important;
    margin: 0 0 0.2rem !important;
  }
  .info-mosaic .mosaic-card--feature .tile-copy > p {
    font-size: 0.66rem !important;
    line-height: 1.32 !important;
  }
  .info-mosaic .mosaic-card--body h3,
  .info-mosaic .mosaic-card--rail h3 {
    font-size: 0.82rem !important;
  }
  .info-mosaic .mosaic-card--body > p,
  .info-mosaic .mosaic-card--rail .rail-copy {
    font-size: 0.66rem !important;
    line-height: 1.32 !important;
  }
  .info-mosaic .tile-points {
    gap: 0.22rem !important;
    padding-top: 0.32rem !important;
  }
  .info-mosaic .tile-points li {
    font-size: 0.64rem !important;
    line-height: 1.28 !important;
  }

  /* BA compact two-col always */
  .ba-scene {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.32rem !important;
    margin-top: 0.32rem !important;
  }
  .ba-scene__col {
    padding: 0.38rem 0.4rem !important;
    border-radius: 10px !important;
  }
  .ba-scene__col b {
    font-size: 0.5rem !important;
    margin-bottom: 0.18rem !important;
  }
  .ba-scene__col p {
    font-size: 0.6rem !important;
    line-height: 1.28 !important;
  }

  /* Prefer no nested scroll if densified content fits */
  .info-mosaic.mosaic--trio,
  .info-mosaic.mosaic--trio-rail {
    overflow-y: auto !important;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 860px) {
  .ba-scene { grid-template-columns: 1fr 1fr !important; }
  .info-mosaic .tile-points li { font-size: 0.6rem !important; }
  .journey__title { font-size: clamp(1.12rem, 5.6vw, 1.4rem) !important; }
  .journey__h2 { font-size: clamp(0.98rem, 4.8vw, 1.2rem) !important; }
}

/* === BOOKING CTA + SCROLL CUE v94 === */
.booking-cta-card { display: none; }
.booking-launch--inline { display: none; }

@media (min-width: 861px) {
  .booking-cta-card { display: none !important; }
  .booking-host { display: block; }
  .booking-launch--inline { display: none !important; }
}

@media (max-width: 860px) {
  .booking-host {
    display: none !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
  }
  .booking-launch--inline { display: none !important; }

  .journey__layout--booking {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 0.7rem !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }
  .journey__layout--booking .story-frame {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    text-align: left;
  }
  .journey__layout--booking .contact-grid { display: none !important; }
  .journey__layout--booking .value-promise {
    font-size: 0.66rem !important;
    line-height: 1.35 !important;
  }

  .booking-cta-card {
    display: grid !important;
    gap: 0.55rem;
    width: 100%;
    padding: 1.05rem 1rem 1.1rem;
    border-radius: 16px;
    text-align: center;
    align-content: center;
    justify-items: center;
    flex: 0 0 auto;
  }
  .booking-cta-card .micro {
    color: #60e9bd;
    letter-spacing: 0.12em;
  }
  .booking-cta-card h3 {
    font-size: 1.25rem;
    letter-spacing: -0.03em;
    margin: 0;
  }
  .booking-cta-card > p {
    color: var(--muted);
    font-size: 0.74rem;
    line-height: 1.4;
    max-width: 34ch;
    margin: 0;
  }
  .booking-cta-card__contacts {
    display: grid;
    gap: 0.2rem;
    margin: 0.15rem 0 0.25rem;
  }
  .booking-cta-card__contacts a {
    color: #9fd9c7;
    text-decoration: none;
    font-size: 0.72rem;
  }
  .booking-cta-card .booking-launch {
    display: inline-flex !important;
    width: min(100%, 20rem);
    margin-top: 0.2rem;
    justify-content: center;
  }

  /* Full-screen booking sheet */
  .side-panel {
    position: fixed !important;
    z-index: 600 !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: calc(env(safe-area-inset-top) + 0.75rem) 0.85rem calc(env(safe-area-inset-bottom) + 0.85rem) !important;
    background: rgba(2, 8, 6, 0.94) !important;
    backdrop-filter: blur(28px) saturate(130%) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(18px);
    transition: 0.35s var(--ease);
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y !important;
  }
  body.panel-open .side-panel {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  .side-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
    flex: 0 0 auto;
  }
  .side-panel__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: visible;
  }
  .side-panel .booking-form {
    min-height: auto !important;
    max-width: 36rem;
    margin: 0 auto;
    width: 100%;
    overflow: visible !important;
  }
  .side-panel .booking-fields { grid-template-columns: 1fr !important; }
  .side-panel .booking-fields__wide { grid-column: auto !important; }

  /* Scroll cue visible on mobile content sections */
  .scroll-cue {
    opacity: 0.78 !important;
    bottom: max(0.7rem, env(safe-area-inset-bottom)) !important;
    pointer-events: none;
    transition: opacity 0.35s var(--ease), visibility 0.35s;
  }
  .scroll-cue.is-gone {
    opacity: 0 !important;
    visibility: hidden;
  }
  .scroll-cue__label { font-size: 0.55rem !important; letter-spacing: 0.14em; }
  .scroll-cue__line { height: 34px !important; }
  body.panel-open .scroll-cue,
  body.pkg-open .scroll-cue { opacity: 0 !important; visibility: hidden; }
}
