/* MSS: preserve the approved composition, the approved forest-house journey. */
.journey-film{height:auto;--inside:0;--opening:1;--final:1;--first-cta:1}
.journey-film .journey-stage{position:relative;top:0;height:auto;min-height:0;padding-top:calc(100svh - 12px);background:#191818}
.journey-visual{position:absolute;inset:0 0 auto;height:calc(100svh - 12px);overflow:hidden;animation:hero-arrive 900ms ease-out both}
.journey-film .journey-fallback,#journey-film,.journey-foreground{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
#journey-film{opacity:0;z-index:0}
.film-ready #journey-film{opacity:1}
.journey-opening{position:absolute;inset:0;opacity:var(--opening);pointer-events:none}
.journey-film .journey-back-title{top:0;z-index:1;font-size:clamp(150px,22vw,360px);line-height:.92;font-weight:500;letter-spacing:-.07em;visibility:visible;color:#eee9e2}
.journey-foreground{z-index:2;mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201280%20720%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M223%20199L471%20203L471%20197L638%20202L997%20218L979%20246L877%20276L877%20470L1280%20720H0L321%20470L321%20297L248%20236Z%22%2F%3E%3C%2Fsvg%3E%0A');mask-size:cover;mask-position:center;mask-repeat:no-repeat}
.journey-film .journey-front-title{top:auto;bottom:18%;right:7%;z-index:3;font-size:clamp(52px,8vw,140px);color:#eee9e2}
.journey-film .journey-overlay{background:linear-gradient(180deg,#10101038,transparent 28%,transparent 53%,#101010bd),linear-gradient(90deg,rgba(17,17,17,calc(var(--inside)*.78)),rgba(17,17,17,calc(var(--inside)*.17)) 65%,rgba(17,17,17,calc(var(--inside)*.35)));pointer-events:none}
.journey-film .journey-header{top:24px}
.journey-film .journey-header img{width:48px;height:54px}
.journey-film .journey-intro-label{top:auto;bottom:22%;font-size:12px;letter-spacing:1.2px;opacity:var(--opening)}
.journey-film .journey-intro-label{display:none}
.journey-film .journey-final{position:relative;inset:auto;padding:45px 6% 125px;opacity:1;align-items:center;background:#191818}
.journey-film .journey-final h1{font-size:clamp(42px,5.4vw,86px);font-weight:450}
.journey-film .journey-final-copy>.eyebrow{font-size:12px;line-height:1.5}
.journey-film .journey-service{background:#191818eb;border-color:#eee9e240;backdrop-filter:blur(8px);padding:24px}
.journey-film .journey-service p{font-size:18px;line-height:1.5}
.journey-film .journey-service .eyebrow{font-size:11px}
.journey-film .journey-service a{font-size:16px;min-height:52px;align-items:center;background:#eee9e2;color:#191818}
.journey-film .journey-project-link{background:#191818c9;color:#eee9e2;border:1px solid #eee9e260;min-height:96px}
.journey-film .journey-project-link>span:first-child{font-size:24px}
.journey-film .journey-project-link small{font-size:11px}
.journey-film .journey-bottom{bottom:26px;align-items:center;font-size:12px;letter-spacing:.8px;gap:18px}
.journey-film .journey-bottom small{font-size:11px;line-height:1.4;color:#eee9e2}
.journey-film .journey-controls{gap:10px}
.journey-film .journey-controls button{font-size:13px;min-height:44px;padding:11px 14px;background:#191818dc;border-color:#eee9e27a}
.journey-film .journey-controls button:hover{background:#eee9e2;color:#191818}
.journey-film .journey-scroll{font-size:11px;display:none}
.journey-film .journey-meter{display:none}
.journey-film .journey-meter span{width:100%;transform:scaleX(0);transform-origin:left}
.journey-first-cta{position:absolute;bottom:112px;left:5%;z-index:7;display:flex;align-items:center;gap:32px;padding:19px 22px;min-height:58px;background:#eee9e2;color:#191818;font-size:17px;font-weight:600;border-radius:4px;opacity:var(--first-cta)}
.journey-film:not(.film-enhanced) .journey-first-cta{top:calc(100svh - 182px);bottom:auto}
.journey-film:not(.film-enhanced) .journey-bottom{top:calc(100svh - 84px);bottom:auto}
.journey-first-cta:hover,.journey-service a:hover{background:#fffaf3}
.journey-first-cta:focus-visible,.journey-film a:focus-visible,.journey-film button:focus-visible{outline:3px solid #fff;outline-offset:5px;box-shadow:0 0 0 7px #191818}
.journey-film .journey-message{display:none}
.journey-status{position:absolute;right:4%;top:38px;z-index:8;font-size:13px;line-height:1.5;color:#eee9e2;background:#191818dc;border-radius:4px;max-width:250px;padding:10px 14px}
.journey-status[hidden],.journey-film [hidden]{display:none!important}

/* Enhance only after the local video is decodable. Loading and no-JS stay usable. */
.film-enhanced{height:660svh;--final:0;--first-cta:1}
.film-enhanced .journey-stage{height:calc(100svh - 12px);min-height:0;position:sticky;top:6px;padding:0}
.film-enhanced .journey-visual{height:100%}
.film-enhanced .journey-final{position:absolute;inset:16% 6% 115px;padding:0;background:none;opacity:var(--final);pointer-events:none}
.film-enhanced .journey-final.is-readable{pointer-events:auto}
.film-enhanced .journey-first-cta{display:flex}
.film-enhanced .journey-first-cta[inert]{pointer-events:none}
.film-enhanced .journey-message{display:block}
.film-enhanced .journey-message p{font-size:clamp(48px,6.6vw,104px);line-height:1.05;font-weight:450}
.film-enhanced .journey-message .eyebrow{font-size:13px}
.film-enhanced .journey-intro-label{display:flex;bottom:28%;left:5%;right:5%}
.film-enhanced .journey-intro-label>span:last-child{display:none}
.film-enhanced .journey-scroll,.film-enhanced .journey-meter{display:block}
.film-enhanced .journey-back-title{top:1%}
@keyframes hero-arrive{from{opacity:0}to{opacity:1}}

@media(max-width:1100px){
 .journey-film .journey-cards{width:300px}
 .journey-film .journey-final h1{font-size:clamp(42px,5.5vw,64px)}
 .journey-film .journey-scroll{display:none}
 .journey-film .journey-service{padding:20px}
}
@media(max-width:767px){
 .journey-film .journey-stage{padding-top:calc(100svh - 6px)}
 .journey-film .journey-visual{top:0;height:calc(100svh - 6px);aspect-ratio:auto}
 .journey-film .journey-back-title{font-size:46vw;top:12%;line-height:.94}
 .journey-film .journey-fallback,.journey-film #journey-film,.journey-film .journey-foreground{object-fit:cover;object-position:center}
 .journey-film .journey-foreground{mask-size:cover;mask-position:center}
 .journey-film .journey-front-title{bottom:28%;font-size:14vw;right:7%}
 .journey-film .journey-header{top:18px;left:5%}
 .journey-film .journey-header img{width:38px;height:43px}
 .journey-film .journey-final{padding:28px 6% 165px;gap:26px;align-items:stretch}
 .journey-film .journey-final h1{font-size:clamp(34px,9.4vw,52px);margin-top:13px;line-height:1.06}
 .journey-film .journey-final-copy>.eyebrow{font-size:10px;letter-spacing:1px}
 .journey-film .journey-cards{width:100%;grid-template-columns:1fr;gap:12px}
 .journey-film .journey-service{padding:17px}
 .journey-film .journey-service p{font-size:17px;line-height:1.45;margin:10px 0 15px}
 .journey-film .journey-service a{font-size:15px;padding:14px;min-height:48px}
 .journey-film .journey-project-link{padding:14px 17px;display:grid;grid-template-columns:1fr auto;min-height:0;gap:6px}
 .journey-film .journey-project-link>span:first-child{font-size:20px}
 .journey-film .journey-project-link br{display:none}
 .journey-film .journey-project-link small{font-size:10px}
 .journey-film .journey-bottom{bottom:20px;left:6%;right:6%;gap:11px;align-items:start}
 .journey-film .journey-bottom>div:first-child{font-size:11px}
 .journey-film .journey-bottom small{font-size:10px;margin-top:5px}
 .journey-film .journey-controls{gap:8px;flex-wrap:wrap}
 .journey-film .journey-controls button{font-size:12px;min-height:44px;padding:11px 12px}
 .journey-first-cta{left:6%;right:6%;top:auto;bottom:147px;justify-content:space-between;font-size:16px;padding:17px}
 .journey-film:not(.film-enhanced) .journey-first-cta{top:calc(100svh - 210px)}
 .journey-film:not(.film-enhanced) .journey-bottom{top:calc(100svh - 116px)}
 .journey-status{top:25px;right:6%;max-width:210px;font-size:11px}
 .film-enhanced{height:680svh}
 .film-enhanced .journey-stage{height:calc(100svh - 6px);min-height:0;top:3px;padding:0}
 .film-enhanced .journey-visual{top:0;height:100%;aspect-ratio:auto}
 .film-enhanced .journey-back-title{top:12%;font-size:46vw}
 .film-enhanced .journey-front-title{bottom:28%;font-size:14vw}
 .film-enhanced .journey-intro-label{top:auto;bottom:25%;font-size:10px;left:6%}
 .film-enhanced .journey-final{inset:90px 6% 141px;padding:0;gap:20px;justify-content:center}
 .film-enhanced .journey-message,.film-enhanced .journey-message-b{top:30%;left:6%;right:6%}
 .film-enhanced .journey-message p{font-size:clamp(38px,10vw,54px)}
 .film-enhanced .journey-message .eyebrow{font-size:11px}
}
@media(max-height:720px) and (min-width:768px){
 .film-enhanced .journey-stage{min-height:0}
 .film-enhanced .journey-final{top:105px;bottom:110px}
 .journey-film .journey-service p{font-size:17px;margin:12px 0}
 .journey-film .journey-cards{gap:10px}
 .journey-film .journey-final h1{font-size:48px}
 .journey-film .journey-project-link{min-height:80px;padding:14px 20px}
}
@media(max-height:740px) and (max-width:767px){
 .film-enhanced .journey-final{inset:78px 6% 128px;gap:14px;justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain}
 .journey-film .journey-final h1{font-size:32px;margin-top:8px}
 .journey-film .journey-service{padding:14px}
 .journey-film .journey-service p{font-size:16px;margin:8px 0 12px}
 .journey-film .journey-project-link{padding:12px 14px}
 .journey-film .journey-project-link>span:first-child{font-size:18px}
 .film-enhanced .journey-intro-label{display:none}
}
@media(max-height:600px) and (min-width:768px){
 .journey-film .journey-header{top:16px}
 .journey-film .journey-header img{width:34px;height:38px}
 .film-enhanced .journey-final{inset:64px 5% 64px;gap:4%;align-items:center;overflow-y:auto;overflow-x:hidden}
 .journey-film .journey-final-copy{width:38%;flex-shrink:0}
 .journey-film .journey-final h1{font-size:34px;line-height:1.05;margin-top:10px}
 .journey-film .journey-final-copy>.eyebrow{font-size:10px;letter-spacing:1px}
 .journey-film .journey-cards{width:58%;min-width:0;grid-template-columns:minmax(0,1fr);gap:8px}
 .journey-film .journey-service{padding:14px}
 .journey-film .journey-service p{font-size:16px;line-height:1.4;margin:10px 0}
 .journey-film .journey-service a{font-size:14px;padding:12px;min-height:44px;gap:10px}
 .journey-film .journey-project-link{padding:8px 14px;display:grid;grid-template-columns:1fr auto;min-height:0;gap:3px}
 .journey-film .journey-project-link>span:first-child{font-size:18px;overflow-wrap:normal}
 .journey-film .journey-project-link br{display:none}
 .journey-film .journey-project-link small{font-size:9px;white-space:normal}
 .journey-film .journey-bottom{bottom:14px;font-size:10px;gap:12px}
 .journey-film .journey-bottom small{font-size:9px}
 .journey-film .journey-controls button{font-size:11px;padding:9px 10px}
}
@media(prefers-reduced-motion:reduce){
 .journey-film *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* Unified wordmark stays on the shaded foreground, clear of the roof and sky. */
.journey-film .journey-foreground{display:none}
.journey-film .journey-back-title,.film-enhanced .journey-back-title{top:auto;left:auto;right:7%;bottom:calc(18% + clamp(52px,8vw,140px));width:auto;font-size:clamp(64px,9vw,150px);line-height:.9;text-align:right;z-index:3;color:#fffaf3;text-shadow:0 2px 24px #0008}
.journey-film .journey-front-title{color:#fffaf3;text-shadow:0 2px 24px #0008}
.journey-film .journey-overlay{background:linear-gradient(180deg,#10101038,transparent 28%,#10101030 48%,#101010cc),linear-gradient(90deg,rgba(17,17,17,calc(var(--inside)*.78)),rgba(17,17,17,calc(var(--inside)*.17)) 65%,rgba(17,17,17,calc(var(--inside)*.35)))}
@media(max-width:767px){
 .journey-film .journey-back-title,.film-enhanced .journey-back-title{top:auto;bottom:calc(28% + 14vw);font-size:20vw;right:7%}
 .film-enhanced .journey-intro-label{display:none}
}
/* Keep the wordmark above the tonal overlay so its ivory stays legible. */
.journey-film .journey-visual{animation:none}
.journey-film .journey-opening{z-index:4}
/* Both successive messages share one grid and baseline instead of changing sides. */
.film-enhanced .journey-message,
.film-enhanced .journey-message-b{left:6%;right:6%;top:36%;text-align:left}
.film-enhanced .journey-message p{margin:22px 0 0}
.journey-film .journey-final-copy{min-width:0;text-align:left}
.journey-film .journey-final-copy>.eyebrow,
.journey-film .journey-final h1{margin-left:0;padding-left:0}
@media(max-width:767px){
 .film-enhanced .journey-message,.film-enhanced .journey-message-b{top:30%}
}
