@font-face{font-family:OS Grotesk;src:url(../r7/assets/space-grotesk-500.ttf) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:OS Grotesk;src:url(../r7/assets/space-grotesk-600.ttf) format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:OS Sans;src:url(../r7/assets/dm-sans-400.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:OS Sans;src:url(../r7/assets/dm-sans-500.ttf) format('truetype');font-weight:500;font-display:swap}
/* All module rules are namespaced. No wheel/touch/key handlers, body lock or scroll snap. */
.os-opening{--os-progress:0;position:relative;height:220svh;background:#24211e;color:#faf6ee;font-family:OS Sans,Arial,sans-serif}
.os-opening__stage{position:sticky;top:0;height:100svh;min-height:700px;overflow:hidden;isolation:isolate;background:linear-gradient(105deg,#211f1d 0%,#29241f 37%,#8e7357 73%,#e6d2ae 100%)}
.os-opening__scene{position:absolute;left:0;bottom:0;width:118%;aspect-ratio:3/1;transform:translate3d(calc(var(--os-progress) * -15.254%),0,0);will-change:transform}
.os-opening__panorama{display:block;width:100%;height:100%;mask-image:linear-gradient(to bottom,transparent 0%,#000 20%);object-fit:contain}
.os-opening__mark{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.os-opening__copy{position:absolute;left:6.2%;top:19%;width:min(42%,620px);margin:0;z-index:3}
.os-opening__copy h1,.os-opening__copy h2{font-family:OS Grotesk,Arial,sans-serif;font-weight:500;letter-spacing:-.055em;line-height:1.02;margin:20px 0 27px;color:inherit}
.os-opening__copy h1{font-size:clamp(70px,7.1vw,110px)}
.os-opening__copy h2{font-size:clamp(54px,5.3vw,82px)}
.os-opening__copy h1 span,.os-opening__copy h2 span{color:#ef7d3d}
.os-opening__eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:500;margin:0;color:#ddd3c4}
.os-opening__lead{font-size:clamp(21px,1.8vw,30px);line-height:1.35;letter-spacing:-.025em;margin:0 0 19px}
.os-opening__body{font-size:17px;line-height:1.6;max-width:410px;margin:0;color:#e3dbd0}
.os-opening__asa{opacity:0;visibility:hidden;transform:translateY(18px)}
.os-opening__enquiry{display:inline-block;font-size:14px;color:#faf6ee;text-decoration:none;border-bottom:1px solid #b99a7d;padding:8px 0;margin-top:17px;min-height:28px;line-height:28px}
.os-opening__enquiry:hover{border-bottom-color:#ef7d3d;color:#ffb284}
.os-opening__portrait{position:absolute;left:58%;top:16%;width:clamp(260px,21vw,320px);height:clamp(260px,21vw,320px);z-index:2;transform:translateX(calc(var(--os-progress) * -40px));opacity:1}
.os-opening__portrait img{display:block;width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(#000 0%,#000 88%,transparent 100%)}
.os-opening__caption{position:absolute;bottom:29px;left:6.2%;right:6.2%;font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;justify-content:space-between;color:#fbf3e4;margin:0;text-shadow:0 1px 3px #211f1d}
.os-opening__anchor{position:absolute;top:54.545%;left:0;pointer-events:none}
.os-opening a:focus-visible,.os-opening__copy:focus-visible{outline:2px solid #ffad79;outline-offset:8px}
/* Static accessible fallback: meaningful HTML remains readable without JavaScript. */
.os-opening:not(.is-enhanced){height:auto}
.os-opening:not(.is-enhanced) .os-opening__stage{position:relative;min-height:1500px;height:200svh}
.os-opening:not(.is-enhanced) .os-opening__hero{top:10%}
.os-opening:not(.is-enhanced) .os-opening__asa{top:55%;opacity:1;visibility:visible;transform:none}
.os-opening:not(.is-enhanced) .os-opening__portrait{top:12%}
.os-opening.is-static{height:auto}
.os-opening.is-static .os-opening__stage{position:relative;min-height:1500px;height:200svh}
.os-opening.is-static .os-opening__hero{top:10%;opacity:1!important;visibility:visible!important;transform:none!important}
.os-opening.is-static .os-opening__asa{top:55%;opacity:1!important;visibility:visible!important;transform:none!important}
.os-opening.is-static .os-opening__portrait{top:12%;opacity:1!important}
@media(max-width:760px){
 .os-opening__stage{min-height:760px;background:linear-gradient(105deg,#211f1d 0%,#29241f 53%,#66523c 100%)}
 .os-opening__scene{width:210%;transform:translate3d(calc(var(--os-progress) * -52.381%),0,0)}
 .os-opening__copy{left:7%;top:13%;width:86%;max-width:480px}
 .os-opening__copy h1{font-size:clamp(52px,11.8vw,80px);margin:17px 0 22px;letter-spacing:-.055em}
 .os-opening__copy h2{font-size:clamp(44px,10vw,64px);margin:17px 0 24px}
 .os-opening__eyebrow{font-size:10px;letter-spacing:.13em}
 .os-opening__lead{font-size:21px;margin-bottom:16px}
 .os-opening__body{font-size:15px;line-height:1.55;max-width:340px}
 .os-opening__portrait{left:auto;right:2%;top:45%;width:260px;height:260px}
 .os-opening__caption{left:7%;right:7%;bottom:20px;font-size:9px}
 .os-opening__enquiry{font-size:13px;margin-top:15px}
 .os-opening.is-static .os-opening__stage,.os-opening:not(.is-enhanced) .os-opening__stage{min-height:1650px}
 .os-opening.is-static .os-opening__hero,.os-opening:not(.is-enhanced) .os-opening__hero{top:7%}
 .os-opening.is-static .os-opening__portrait,.os-opening:not(.is-enhanced) .os-opening__portrait{top:27%}
}
@media(min-width:761px) and (max-height:760px){.os-opening__stage{min-height:620px}.os-opening__copy{top:16%}.os-opening__copy h1{font-size:80px}.os-opening__copy h2{font-size:62px}.os-opening__portrait{top:13%}}

/* Private typography-led identity option: photograph belongs to the introduction. */
.os-opening__identity{display:flex;align-items:center;gap:24px;margin:20px 0 27px}
.os-opening__identity h1{font-size:clamp(54px,5vw,76px);margin:0;flex:1;min-width:0;white-space:nowrap}
.os-opening__identity .os-opening__portrait{position:static;flex:0 0 104px;width:104px;height:104px;transform:none!important}
.os-opening__identity .os-opening__portrait img{mask-image:none;object-fit:contain}
@media(max-width:1100px){.os-opening__identity{gap:16px}.os-opening__identity .os-opening__portrait{flex-basis:90px;width:90px;height:90px}.os-opening__identity h1{font-size:60px}}
@media(max-width:760px){.os-opening__identity{flex-direction:column-reverse;align-items:flex-start;gap:13px;margin:15px 0 24px}.os-opening__identity h1{font-size:clamp(48px,11.5vw,72px);flex:auto}.os-opening__identity .os-opening__portrait{flex:0 0 84px;width:84px;height:84px}}

/* Editorial identity leads; the landscape carries the story beneath it. */
.os-opening__copy{top:19%;width:min(56%,790px)}
.os-opening__identity{justify-content:flex-start;gap:24px;align-items:center}
.os-opening__identity h1{flex:0 1 auto;font-size:clamp(62px,6.3vw,94px);line-height:1.02}
.os-opening__identity .os-opening__portrait{order:-1;flex:0 0 96px;width:96px;height:96px;overflow:hidden;border-radius:8px;background:#c4af91}
.os-opening__identity .os-opening__portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.os-opening__lead{font-size:clamp(27px,2.35vw,36px);max-width:25ch;line-height:1.35}
.os-opening__body{font-size:20px;line-height:1.65;max-width:39ch}
.os-opening__scene{width:150%;transform:translate3d(calc(var(--os-progress) * -33.333%),0,0)}
.os-opening__eyebrow{font-size:13px;letter-spacing:.12em}
.os-opening__enquiry{font-size:16px;min-height:44px;line-height:1.5}
@media(min-width:761px) and (max-width:1100px){.os-opening__identity{gap:18px}.os-opening__identity h1{font-size:clamp(45px,5.7vw,63px)}.os-opening__identity .os-opening__portrait{flex-basis:82px;width:82px;height:82px}.os-opening__body{font-size:18px}.os-opening__lead{font-size:28px}}
@media(max-width:760px){.os-opening__copy{width:86%;top:12%}.os-opening__identity{flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px}.os-opening__identity h1{font-size:clamp(45px,11vw,72px);white-space:normal}.os-opening__identity .os-opening__portrait{flex:0 0 76px;width:76px;height:76px}.os-opening__lead{font-size:24px}.os-opening__body{font-size:17px}.os-opening__eyebrow{font-size:10px}.os-opening__scene{width:210%;transform:translate3d(calc(var(--os-progress) * -52.381%),0,0)}}
@media(min-width:761px) and (max-height:760px){.os-opening__copy{top:16%}.os-opening__identity h1{font-size:clamp(45px,6vw,76px)}.os-opening__body{font-size:18px}.os-opening__lead{font-size:28px}.os-opening__identity .os-opening__portrait{flex-basis:86px;width:86px;height:86px}}

/* Visual staging never removes either article from heading/reading navigation. */
.os-opening__asa{visibility:visible;opacity:1;transform:none}
.os-opening.is-enhanced:not(.is-static) .os-opening__copy:not(.is-current){clip-path:inset(50%);opacity:0;pointer-events:none}
.os-opening.is-enhanced:not(.is-static) .os-opening__copy.is-current{clip-path:none;opacity:1;pointer-events:auto}
html.instant-anchor{scroll-behavior:auto!important}

/* Reading mode and no-JS are genuine content flow, with no fixed-height stage. */
.os-opening.is-static,.os-opening:not(.is-enhanced){display:flex;flex-direction:column;height:auto;padding:130px 6.2% 55px;gap:0;overflow:clip;isolation:isolate}
.os-opening.is-static .os-opening__stage,.os-opening:not(.is-enhanced) .os-opening__stage{display:contents;position:static;min-height:0;height:auto;overflow:visible}
.os-opening.is-static .os-opening__copy,.os-opening:not(.is-enhanced) .os-opening__copy{position:relative;inset:auto;width:100%;max-width:790px;margin:0;clip-path:none!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto}
.os-opening.is-static .os-opening__hero,.os-opening:not(.is-enhanced) .os-opening__hero{order:1}
.os-opening.is-static .os-opening__anchor,.os-opening:not(.is-enhanced) .os-opening__anchor{display:none}
.os-opening.is-static .os-opening__asa,.os-opening:not(.is-enhanced) .os-opening__asa{order:3;margin-top:100px;padding-top:32px;border-top:1px solid #dac6a533}
.os-opening.is-static .os-opening__caption,.os-opening:not(.is-enhanced) .os-opening__caption{position:relative;inset:auto;order:4;margin:70px 0 0}
.os-opening.is-static .os-opening__scene,.os-opening:not(.is-enhanced) .os-opening__scene{z-index:-1;bottom:0;transform:translateX(-33.333%);opacity:.4}
@media(max-width:760px){
 .os-opening.is-static,.os-opening:not(.is-enhanced){padding:110px 24px 40px}
 .os-opening.is-static .os-opening__asa,.os-opening:not(.is-enhanced) .os-opening__asa{margin-top:80px}
 .os-opening.is-static .os-opening__caption,.os-opening:not(.is-enhanced) .os-opening__caption{margin-top:60px}
 .os-opening.is-static .os-opening__scene,.os-opening:not(.is-enhanced) .os-opening__scene{transform:translateX(-52.381%)}
}
@media(max-width:360px){.os-opening.is-static,.os-opening:not(.is-enhanced){padding-left:20px;padding-right:20px}}
.os-opening__copy h1,.os-opening__copy h2{overflow-wrap:anywhere}
@media(max-width:760px){.os-opening__copy{top:max(100px,12%)}}
