@font-face{font-family:Onest;src:url(assets/onest-4.ttf) format("truetype");font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:#eeece6;color:#11162e;font:16px/1.5 Onest,sans-serif}::selection{background:#003cff;color:white}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #003cff;outline-offset:5px}button{border:0}header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 3.3%;position:absolute;top:0;left:0;width:100%;z-index:5}.brand{font-weight:600;font-size:27px;letter-spacing:-.04em}nav{display:flex;gap:35px;margin-left:-14%}.header-cta,.primary{background:#003cff;color:white;padding:18px 24px;display:inline-flex;align-items:center;justify-content:center;gap:32px;font-weight:500;border-radius:0}.header-cta:hover,.primary:hover{background:#002bb9}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,6.25vw,90px);line-height:.95;letter-spacing:-.04em;font-weight:650;margin:0 0 18px;max-width:900px}h2{font-size:clamp(35px,4vw,58px);font-weight:500;line-height:1.07;letter-spacing:-.035em;text-wrap:balance}h3{font-size:28px;font-weight:500;line-height:1.2;letter-spacing:-.03em}p{max-width:65ch}.hero{position:relative;height:min(970px,100svh);min-height:830px;padding-top:112px;overflow:hidden}.heading{position:relative;z-index:2;padding-left:3.3%;pointer-events:none}.heading p{font-size:18px}#stage{position:absolute;inset:0;z-index:0}#stage canvas{display:block;width:100%;height:100%;touch-action:pan-y}.fallback{position:absolute;top:31%;left:30%;width:40%;height:46%;background:#17232c;overflow:hidden}.fallback img{width:100%;height:100%;object-fit:cover}.fallback p{position:absolute;bottom:0;background:#eeece6;padding:10px;width:100%;font-size:13px}.webgl .fallback{display:none}.world-caption{position:absolute;bottom:204px;right:5%;z-index:2;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none;text-shadow:0 1px 5px #eeece6}#world-name{font-size:12px;letter-spacing:.2em}#world-feeling{font-size:23px}.hero-controls{position:absolute;left:3.3%;right:3.3%;bottom:111px;display:flex;justify-content:space-between;align-items:center;z-index:2}.hero-actions{display:flex;gap:30px;align-items:center}.text-link{background:none;padding:4px 0;border-bottom:1px solid currentColor;display:inline-block;font-size:15px}.switcher{display:flex;align-items:center;gap:26px}.switcher span{font-size:14px;font-variant-numeric:tabular-nums}.switcher button{background:transparent;font-size:36px;line-height:1;width:48px;height:48px}.switcher button:hover{color:#003cff}.world-tabs{position:absolute;left:3.3%;right:3.3%;bottom:26px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;z-index:2}.world-tabs button{text-align:left;background:none;border-top:1px solid #8c8e97;border-bottom:3px solid transparent;padding:16px 0 9px;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.world-tabs button span{margin-left:14px;font-size:10px;letter-spacing:.06em}.world-tabs button[aria-pressed=true]{border-bottom-color:#003cff;color:#0031cf}.programmes,.scenario,.process{padding:95px 6.6%}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px}.section-intro p{font-size:19px}.programme{border-top:1px solid #afb0b5;display:grid;grid-template-columns:1.1fr 1fr 55px;align-items:center;gap:40px;padding:32px 0}.programme h3{margin:10px 0}.duration{font-size:12px;color:#424a60}.programme p{margin:0;color:#424a60}.round-link{border:1px solid #8e94a2;border-radius:50%;width:52px;height:52px;background:transparent;font-size:25px}.round-link:hover{background:#003cff;color:white;border-color:#003cff}.honest{font-size:12px;line-height:1.7;color:#555b6b;margin-top:25px;max-width:90ch}.author{background:#dcded9;display:grid;grid-template-columns:1.2fr 1fr;gap:8%;padding:85px 6.6%;align-items:center}.author-images{position:relative;min-height:650px;padding-right:20%}figure{margin:0}.portrait{transform:rotate(-5deg);width:82%;position:relative;z-index:1}.portrait img{width:100%;height:auto;display:block}.portrait figcaption{font-size:12px;padding-top:10px}.travel-detail{width:48%;position:absolute;right:0;bottom:0;transform:rotate(7deg);background:#eeece6;padding:8px}.travel-detail img{width:100%;height:auto;display:block}.travel-detail figcaption{font-size:10px;padding-top:8px}.author-copy p{max-width:39ch;color:#41495a}.author-signature{font-size:23px;margin-top:55px}.process{display:grid;grid-template-columns:1fr 1fr;gap:10%}.process ol{list-style:none;margin:0;padding:0;counter-reset:step}.process li{border-top:1px solid #afb0b5;padding:25px 0}.process h3{font-size:22px;margin-bottom:10px}.process p{color:#41495a}.enquiry{background:#111b3a;color:#eeece6;padding:90px 6.6%;display:grid;grid-template-columns:1fr 1fr;gap:10%}.enquiry h2{font-size:clamp(44px,4.5vw,65px)}.enquiry p{color:#c0c9e0}.enquiry label{display:block;font-size:13px;margin-bottom:22px}input,select,textarea{width:100%;margin-top:9px;background:transparent;color:inherit;border:0;border-bottom:1px solid #8993aa;padding:12px 0;resize:vertical;border-radius:0}input::placeholder,textarea::placeholder{color:#b4bfd7}select option{color:#11162e;background:#eeece6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}.form-note{font-size:12px;line-height:1.7;margin-top:17px}.enquiry .primary{width:100%}#draft{padding-top:25px}.scenario{background:#e2e1da;scroll-margin-top:0}.scenario-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:45px;align-items:center}.scenario-layout img{height:480px;width:100%;object-fit:cover}.scenario h2{font-size:62px}.metadata{font-size:13px}.lead{font-size:20px}.acts{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.acts article{border-top:1px solid #8e94a2;padding-top:18px}.acts h3{font-size:22px}.acts p{font-size:15px}.scenario-cta{margin-top:15px}footer{padding:35px 3.3%;display:flex;gap:30px;align-items:center;flex-wrap:wrap}footer p{margin:0 auto 0 0;font-size:13px}footer a:not(.brand),footer span{font-size:12px}footer span{width:100%;color:#555b6b}body.entering .heading,body.entering .world-caption{opacity:0;transition:opacity .35s}body.entering .hero-controls,body.entering .world-tabs{opacity:0;pointer-events:none}body.entered .hero{display:none}body.entered header{position:relative}body.entered #scenario{display:block}body.entered .hero-controls{opacity:1}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#eeece6}::-webkit-scrollbar-thumb{background:#9095a1}
@media(max-width:900px){header{height:75px}nav{margin:0;gap:18px}.header-cta{font-size:12px;padding:12px}.hero{min-height:900px;max-height:none;height:100svh;padding-top:115px}h1{font-size:70px}.world-tabs{gap:12px}.world-tabs button span{display:block;margin-left:0;margin-top:6px}.world-caption{bottom:230px}.section-intro{display:block}.programme{gap:25px;grid-template-columns:1fr 1fr 45px}.programme h3{font-size:23px}.author{gap:5%;padding:70px 5%}.author-images{min-height:500px}.author-copy h2{font-size:36px}.process,.enquiry{gap:6%}.scenario h2{font-size:46px}}
@media(max-width:600px){header{padding:0 6%;height:76px}.brand{font-size:24px}nav{display:none}.header-cta{font-size:11px;padding:11px 12px;gap:12px}.hero{padding-top:109px;min-height:840px;height:100svh}.heading{padding:0 6%}h1{font-size:48px;line-height:1;letter-spacing:-.04em}.heading p{font-size:14px;max-width:27ch;line-height:1.5;margin-top:18px}.world-caption{left:6%;right:6%;bottom:245px;align-items:flex-start}#world-feeling{font-size:21px}.hero-controls{left:6%;right:6%;bottom:144px;align-items:flex-start;gap:8px}.hero-actions{display:block}.hero-actions .primary{font-size:13px;gap:18px;padding:16px 18px}.hero-actions .text-link{display:block;width:max-content;font-size:12px;margin-top:14px}.switcher{gap:0;flex-wrap:wrap;justify-content:flex-end;width:106px}.switcher span{width:100%;text-align:right;font-size:11px;margin-bottom:6px}.switcher button{font-size:31px;width:44px;height:40px}.world-tabs{left:6%;right:6%;bottom:25px;gap:12px;grid-template-columns:repeat(4,1fr)}.world-tabs button{font-size:9px;letter-spacing:.02em;padding-top:12px}.world-tabs button span{font-size:8px;letter-spacing:0;line-height:1.4}.fallback{left:17%;width:68%;top:35%;height:33%}.programmes,.scenario,.process{padding:65px 6%}.section-intro{margin-bottom:30px}.section-intro h2{font-size:38px}.section-intro p{font-size:16px}.programme{grid-template-columns:1fr 42px;gap:12px;padding:28px 0}.programme p{grid-column:1;grid-row:2;font-size:14px}.programme .round-link{grid-column:2;grid-row:1;width:42px;height:42px}.programme h3{font-size:23px}.duration{font-size:10px}.author{display:flex;flex-direction:column;padding:65px 6%;gap:50px}.author-images{width:100%;min-height:500px;padding-right:15%}.portrait{width:81%}.travel-detail{width:48%;bottom:0}.author-copy h2{font-size:38px}.author-copy p{font-size:15px}.author-signature{margin-top:35px}.process{display:block}.process h2{font-size:36px;margin-bottom:40px}.enquiry{display:block;padding:65px 6%}.enquiry h2{font-size:48px}.enquiry form{margin-top:40px}.form-row{gap:20px}footer{padding:30px 6%;gap:20px}footer p{width:100%;order:2}footer span{order:3}.scenario-layout{display:flex;flex-direction:column;gap:30px}.scenario-layout img{height:350px}.scenario h2{font-size:43px}.lead{font-size:18px}.acts{display:block}.acts article{margin-top:28px}.scenario .text-link{font-size:13px}body.entered header{position:relative}.honest{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Hero portrait is a genuine photo, preserved frame; quiet monochrome editorial treatment. */
.hero-author{position:absolute;z-index:2;left:3.3%;top:365px;display:flex;align-items:flex-end;gap:18px;font-size:14px;line-height:1.4}.hero-author img{width:118px;height:157px;object-fit:cover;filter:grayscale(1);transform:rotate(-5deg);box-shadow:0 15px 28px #11162e25}.hero-author small{font-size:11px;color:#41495a}.world-caption{background:#eeece6e8;padding:7px 10px;text-shadow:none}.hero-author:hover img{filter:grayscale(0)}
@media(min-width:601px) and (max-width:1000px){.hero-author{top:340px;left:3.3%;gap:12px}.hero-author img{width:90px;height:120px}.hero-author span{max-width:120px;font-size:12px}.heading{max-width:80%}.heading h1{font-size:62px}.heading p{max-width:30ch;font-size:15px}}
@media(max-width:600px){#stage{top:280px;bottom:190px}.hero-author{top:253px;left:auto;right:6%;gap:9px;align-items:center}.hero-author img{width:40px;height:53px;box-shadow:none}.hero-author span{font-size:10px}.hero-author small{font-size:8px}.world-caption{bottom:236px;left:6%;right:auto;padding:4px 8px;background:#eeece6ed}#world-name{font-size:9px}#world-feeling{font-size:18px}.hero{min-height:870px}.hero-controls{bottom:138px}.world-tabs{bottom:22px}.hero-author img{filter:grayscale(1)}.hero-author:hover img{filter:grayscale(1)}}

/* Mechanical detector repairs: readable functional metadata and safe title contrast. */
.heading p{background:#eeece6ed;width:max-content;padding:2px 6px;margin-left:-6px}.hero-author span{background:#eeece6ed;padding:5px 8px}.travel-detail figcaption,.duration{font-size:11px}@media(max-width:600px){.world-tabs button,.world-tabs button span,#world-name,.hero-author span,.hero-author small{font-size:11px}.world-tabs button{letter-spacing:0}.world-tabs{gap:8px}.hero-author span{padding:3px 5px}.hero-author small{font-size:11px}.hero-author img{width:42px;height:56px}.world-tabs button span{line-height:1.3}.honest{font-size:12px}}

/* Art-direction repair: a substantial colour author portrait, separate from copy. */
.hero-author{top:365px;left:3.3%;display:flex;flex-direction:column;gap:12px;align-items:flex-start;width:180px}.hero-author img{width:180px;height:244px;object-fit:cover;filter:none;transform:none;box-shadow:0 15px 36px #1b24311c}.hero-author span{background:none;padding:0;font-size:15px}.hero-author small{display:block;font-size:12px;line-height:1.5;margin-top:6px;color:#41495a}.hero-author:hover img{filter:none}.heading p{background:none;padding:0;margin-left:0}.switcher{gap:19px}.switcher .reframe{font-size:13px;line-height:1.3;width:auto;height:auto;padding:12px 8px;margin-right:15px;border-bottom:1px solid #8e94a2}.world-caption{background:#eeece6e8}.world-reality{font-size:12px;color:#535b6a;margin-bottom:38px;max-width:75ch}.fallback{top:15%;height:65%;left:35%;width:38%}.fallback img{object-fit:cover}.fallback p{display:none}
@media(min-width:601px) and (max-width:1000px){.hero-author{top:365px;left:3.3%;width:120px}.hero-author img{width:120px;height:162px}.hero-author span{font-size:13px;max-width:none}.hero-author small{font-size:11px}.switcher{gap:8px}.switcher .reframe{margin-right:5px;font-size:11px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:13px}}
@media(max-width:600px){.hero{min-height:940px;height:100svh;padding-top:103px}.heading h1{font-size:47px}.heading p{font-size:14px;max-width:30ch;margin-top:18px}.hero-author{top:270px;left:6%;right:auto;width:88%;flex-direction:row;align-items:center;gap:20px}.hero-author img{width:90px;height:122px;box-shadow:none}.hero-author span{font-size:15px;background:none;padding:0}.hero-author small{font-size:12px;margin-top:8px}#stage{top:383px;bottom:185px}.world-caption{bottom:220px;left:6%;padding:4px 8px}#world-feeling{font-size:17px}.hero-controls{bottom:124px;align-items:flex-end}.hero-actions .text-link{margin-top:13px}.switcher{width:117px;gap:0;justify-content:flex-end}.switcher .reframe{order:0;width:117px;font-size:11px;margin:0 0 7px;padding:4px 0;border:0;text-decoration:underline;text-underline-offset:4px}.switcher span{order:1;font-size:11px;margin-bottom:3px}.switcher #prev,.switcher #next{order:2}.world-tabs{bottom:18px}.world-tabs button{font-size:10px}.world-tabs button span{font-size:10px}.fallback{top:0;left:27%;height:95%;width:52%}.world-reality{font-size:12px}.enquiry label{font-size:14px}}

/* Single focused confirmation batch: keep portrait/copy on their own quiet surface. */
.travel-detail figcaption,.portrait figcaption,.honest,.form-note{font-size:12px}
@media(min-width:601px) and (max-width:1000px){.heading p{max-width:25ch}.hero-author{background:#eeece6;padding:10px;width:140px;top:360px;gap:10px}.hero-author img{width:120px;height:162px}.hero-author small{font-size:12px}.hero-author span{font-size:13px}}
@media(max-width:600px){.hero{min-height:900px}.world-tabs button,.world-tabs button span{font-size:11px}.world-tabs{gap:8px}.world-tabs button span{line-height:1.25}.hero-author small{font-size:12px}}

/* Owner review: keep the reading plane clear during oblique camera views. */
@media(min-width:1001px){.heading{max-width:690px}.heading:before{content:"";position:absolute;inset:-20px -45px -18px -35px;z-index:-1;background:linear-gradient(90deg,#eeece6 0%,#eeece6 85%,#eeece600 100%);pointer-events:none}}

@media(min-width:1001px){.hero-author{background:#eeece6;padding:14px;width:208px;margin-left:-14px}}

/* Cinematic photographic ribbon: a real bent 3D installation, not a picture carousel. */
.hero{height:100svh;min-height:900px;max-height:1040px}.heading{padding-top:0;max-width:920px}.heading h1{font-size:clamp(60px,6.3vw,90px)}.heading p{font-size:17px}#stage{top:300px;bottom:155px;cursor:pointer}#stage canvas{opacity:0}#stage.webgl canvas{opacity:1}.hero-author{top:407px;left:3.3%;width:145px;gap:10px}.hero-author img{width:145px;height:196px}.hero-author span{font-size:14px}.hero-author small{font-size:11px}.world-caption{bottom:184px;right:5%;background:#eeece6ed;padding:10px 13px;align-items:flex-end}.world-caption small{font-size:10px;margin-top:5px;color:#41495a}.world-caption a{font-size:9px;text-decoration:underline;text-underline-offset:3px;margin-top:4px;color:#41495a;pointer-events:auto}.hero-controls{bottom:95px}.world-tabs{bottom:17px}.world-tabs button{padding-top:14px}.hero-actions{gap:24px}.hero-actions .primary{padding:16px 23px}.switcher{gap:16px}.switcher .reframe{font-size:12px}.fallback{top:6%;height:86%;left:26%;width:69%;background:#15232c}.fallback img{object-fit:cover;object-position:center 48%}.scenario-layout{grid-template-columns:.85fr 1.15fr;gap:6%}.scenario-scene img{height:460px;width:100%;object-fit:cover}.scenario-scene figcaption{font-size:11px;margin-top:10px;color:#41495a}.scenario-scene figcaption a{text-decoration:underline;text-underline-offset:3px}.journey{padding:85px 6.6%;display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#dfe1dc}.journey p{color:#41495a;max-width:42ch}.pace-options{display:flex;flex-direction:column;border-top:1px solid #a4aaa7}.pace-options button{padding:19px 0;text-align:left;background:none;border-bottom:1px solid #a4aaa7;font-size:20px}.pace-options button[aria-pressed=true]{color:#003cff}.pace-options button[aria-pressed=true]::after{content:' ↗';float:right}.journey .journey-summary{font-size:12px;margin-top:23px;letter-spacing:.03em}.photo-sources{width:100%;border-top:1px solid #afb0b5;padding-top:15px;font-size:11px}.photo-sources summary{cursor:pointer}.photo-sources p{max-width:110ch;margin:15px 0 0}.photo-sources a{text-decoration:underline;text-underline-offset:3px}body.entering .hero-author{opacity:0;transition:opacity .2s}body.entered .scenario-scene{animation:scene-arrival .45s cubic-bezier(.16,1,.3,1)}@keyframes scene-arrival{from{clip-path:inset(0 0 6% 0)}to{clip-path:inset(0)}}
@media(min-width:600px) and (max-width:999px){.hero{min-height:980px}.heading{max-width:730px}.heading h1{font-size:69px}#stage{top:300px;bottom:185px}.hero-author{top:400px;left:4%;width:110px}.hero-author img{width:110px;height:149px}.hero-author span{font-size:12px}.hero-author small{font-size:10px}.world-caption{bottom:217px}.hero-controls{bottom:113px}.hero-actions{gap:14px}.hero-actions .primary{padding:16px}.hero-actions .text-link{font-size:12px}.switcher{gap:9px}.switcher .reframe{margin-right:2px;font-size:11px}.world-tabs button span{display:block;margin:5px 0 0}.scenario-layout{grid-template-columns:1fr}.scenario-scene img{height:380px}}
@media(max-width:600px){.hero{min-height:960px;max-height:none;padding-top:103px}.heading{padding-left:6%;max-width:100%}.heading h1{font-size:47px}.heading p{font-size:14px;max-width:29ch;margin-top:18px}.hero-author{top:265px;left:6%;width:88%;flex-direction:row;align-items:center;gap:20px}.hero-author img{width:77px;height:104px}.hero-author span{font-size:14px}.hero-author small{font-size:11px}#stage{top:388px;bottom:183px}.world-caption{bottom:199px;left:auto;right:6%;align-items:flex-end;padding:5px 8px}#world-feeling{font-size:16px}.world-caption small{font-size:9px}.world-caption a{font-size:8px}.hero-controls{bottom:102px;left:6%;right:6%;align-items:center}.hero-actions{gap:9px;flex-direction:column;align-items:flex-start}.hero-actions .primary{padding:14px 17px;font-size:13px}.hero-actions .text-link{font-size:11px;margin-top:1px}.switcher{width:110px;gap:0;flex-wrap:wrap}.switcher .reframe{width:110px;font-size:10px;margin-bottom:5px}.switcher span{font-size:10px}.switcher #prev,.switcher #next{width:43px;height:37px}.world-tabs{left:6%;right:6%;bottom:16px;gap:14px}.world-tabs button{font-size:9px;padding:11px 0 7px}.world-tabs button span{display:block;margin:5px 0 0;font-size:8px}.fallback{top:15%;left:3%;width:94%;height:72%}.scenario{padding:38px 6%}.scenario h2{font-size:42px}.scenario-layout{display:flex;flex-direction:column;align-items:stretch;gap:25px}.scenario-scene img{height:270px}.acts{gap:24px}.journey{padding:60px 6%;grid-template-columns:1fr;gap:26px}.journey h2{font-size:39px}.pace-options button{font-size:18px;padding:16px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.entered .scenario-scene{animation:none}body.entering .hero-author{transition:none}}

/* Inspection fix: readable controls/credits and source-bounded entry magnification. */
.world-caption small,.world-caption a{font-size:11px}.hero-author small{font-size:12px}.world-tabs button{border-radius:0}.world-tabs button span{font-size:11px}.photo-sources{font-size:12px}.scenario-scene figcaption{font-size:12px}
@media(max-width:600px){#stage{top:355px;bottom:170px}.world-caption small,.world-caption a,.switcher .reframe,.switcher span,.world-tabs button,.world-tabs button span{font-size:11px}.world-tabs{gap:10px}.world-tabs button{letter-spacing:.02em}.world-tabs button span{letter-spacing:0;line-height:1.35}.hero-author small{font-size:12px}.world-caption{max-width:88%}}

/* Owner visual acceptance: architectural windows, compact photographic staging. */
@media(min-width:1000px){.hero{min-height:850px;max-height:1000px}#stage{top:225px;bottom:150px}.hero-author{top:355px;width:168px;padding:12px}.hero-author img{width:132px;height:176px}.hero-author span{font-size:14px}}
@media(min-width:600px) and (max-width:999px){.hero{min-height:900px}#stage{top:245px;bottom:175px}.hero-author{top:350px}.heading h1{font-size:65px}}
@media(max-width:599px){.hero{min-height:870px}#stage{top:333px;bottom:165px}}
.world-caption small,.world-caption a{display:none}.world-caption{pointer-events:none}
/* CSP-safe no-JS state: never expose a default-GET form containing personal details. */
html:not(.js) .hero-actions button,html:not(.js) .switcher,html:not(.js) .world-tabs,html:not(.js) #brief,html:not(.js) .pace-options,html:not(.js) .journey-summary{display:none}
html:not(.js) .fallback{display:block!important}
