/* WESTO — a continuous architectural scroll story. Static layout is the default. */
body.v2{--paper:#eeeae1;--ink:#23261f;--accent:#c6aa7a;background:#11130f;color:#f4f0e8}
.v2 #ambient{background:#11130f}.v2 .eyebrow{font:500 13px 'Tajawal',sans-serif;letter-spacing:.03em;color:var(--accent);margin-bottom:22px}
.v2 h1,.v2 h2,.v2 h3{letter-spacing:-.025em}.v2 em{font-style:normal;color:#c6aa7a}
.v2 .btn{border-radius:0;padding:17px 28px;font-size:16px;gap:26px}.v2 .btn-primary{background:#e6dfd1;color:#171b14;box-shadow:none}.v2 .btn-primary:hover{background:#fff6e6}
.v2 .text-link{font-size:16px;border-bottom:1px solid #7c7d6a;padding:10px 0;display:inline-flex;gap:24px;align-items:center}
.v2 #header{padding:20px 5vw;background:transparent;border-bottom:1px solid rgba(240,231,208,.12);transition:transform .4s,color .3s,background .3s}
.v2 #header.solid{background:rgba(17,19,15,.94)}.v2 #header.light{color:var(--ink);background:rgba(238,234,225,.94)}.v2 #header.light .brand-logo-svg{filter:brightness(0)}
.v2 #header.light .menu-toggle span{background:var(--ink)}.v2 #header.light .header-cta-btn{color:var(--ink);border-color:#9b927e}
.v2 .brand-text{display:none}.v2 .brand-logo-svg{width:82px;height:50px;max-width:none}.v2 #header .desktop-nav{gap:28px}.v2 #header .desktop-nav a{font-size:14px}
.v2 #progress{z-index:110;background:#c6aa7a;height:2px}.v2 .mobile-nav-panel{background:#11130f}
.v2 .mobile-nav-panel[hidden]{display:none!important}.v2 #main-content{outline:none}
.v2 #hero{height:auto;min-height:0}.v2 .journey-stage{position:relative;min-height:980px;overflow:hidden;background:#11130f}
.v2 .architect-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(221,211,183,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(221,211,183,.035) 1px,transparent 1px);background-size:10vw 10vw;mask-image:radial-gradient(ellipse at 30% 50%,black,transparent 70%);pointer-events:none}
.v2 .opening-aura{position:absolute;width:75vw;height:90vh;left:-15vw;top:0;background:radial-gradient(ellipse,rgba(153,120,61,.12),transparent 70%);pointer-events:none}
.v2 .opening-copy{position:relative;padding:140px 6vw 40px;max-width:750px;margin-right:auto;margin-left:0;z-index:4}
.v2 .opening-copy h1{font-size:clamp(50px,6.2vw,104px);line-height:1.14;margin-bottom:26px;white-space:nowrap;color:#f3eee3}
.v2 .opening-copy h1>span{display:block}.v2 .opening-intro{font-size:21px;line-height:1.8;max-width:32ch;color:#c6c6b5}.v2 .opening-actions{display:flex;align-items:center;gap:28px;margin-top:36px;flex-wrap:wrap}
.v2 .model-wrap{position:relative;width:min(90vw,900px);margin:0 auto;padding:30px 0;z-index:2;transform-origin:60% 45%}
.v2 .model-tilt{position:relative;transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));transform-style:preserve-3d;transition:transform .3s ease}
.v2 .architecture-cutout{width:100%;height:auto;filter:drop-shadow(0 36px 40px #0008)}
.v2 .model-sheen{position:absolute;inset:0;background:linear-gradient(115deg,transparent 38%,#f5e8cb44 50%,transparent 62%);background-size:300% 100%;mask:url('../images/hero-maquette.webp') center/contain no-repeat;pointer-events:none;opacity:0}
.v2 .journey-anchor{position:absolute;width:1px;height:1px;pointer-events:none;top:0}.v2 #film.journey-anchor{padding:0!important;min-height:0!important;height:1px!important;width:1px;top:0;background:none}
.v2 .film-aperture{position:relative;isolation:isolate;background:#11130f;overflow:hidden;z-index:3;min-height:500px}
.v2 .journey-still{display:block;width:100%;height:clamp(300px,56vw,850px);object-fit:cover}.v2 #filmCanvas{display:none;width:100%;height:100%}
.v2 .film-shade{position:absolute;inset:0;background:linear-gradient(270deg,#0b0e0ae8,transparent 65%);pointer-events:none}
.v2 #filmCaps{position:relative;padding:40px 6vw;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;z-index:5}
.v2 .journey-caption{position:relative;padding:0;background:none;border:none;box-shadow:none;opacity:1;transform:none}
.v2 .journey-caption>span{color:#cfb584;font:500 12px 'Tajawal';display:block;margin-bottom:15px}.v2 .journey-caption h2{font-size:clamp(32px,3.9vw,58px);line-height:1.3;margin-bottom:14px}
.v2 .journey-caption p{font-size:17px;line-height:1.9;max-width:28ch;color:#e1e0d3}
.v2 .film-concept-note{position:relative;text-align:center;z-index:5;font-size:11px;color:#b9b7a7;padding:20px}.v2 #filmLoader{position:absolute;bottom:22px;left:5vw;z-index:9;font-size:11px;color:#eee}
.v2 .journey-bottom{position:relative;padding:30px 6vw;display:flex;justify-content:space-between;gap:20px;color:#9f9f8b;font-size:12px;z-index:8}
.v2 .journey-meter{width:90px;height:1px;background:#ffffff20;align-self:center}.v2 .journey-meter i{display:block;width:100%;height:100%;background:#e0c298;transform:scaleX(0);transform-origin:right}
.v2 #directions{padding:0;background:var(--paper);color:var(--ink);min-height:0}.v2 .scope-stage{position:relative;overflow:hidden}
.v2 .scope-top{padding:90px 6vw 38px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.v2 .scope-top .eyebrow{color:#76715d;margin-bottom:8px}.v2 .scope-top h2{color:var(--ink);font-size:clamp(36px,4vw,62px)}
.v2 .scope-filters{display:flex;gap:24px}.v2 .scope-filters .filter-btn{padding:12px 0;border-radius:0;border:0;border-bottom:1px solid transparent;color:#5f6155;background:transparent;font-size:15px}.v2 .scope-filters .filter-btn.active{color:var(--ink);border-color:var(--ink)}
.v2 .sector-slide{position:relative;padding:40px 6vw 70px;display:grid;grid-template-columns:1.6fr 1fr;gap:7vw;align-items:center;direction:ltr}
.v2 .sector-photo{position:relative;overflow:hidden;background:#ddd4c4}.v2 .sector-photo img{width:100%;height:clamp(260px,47vw,640px);object-fit:cover}.v2 .sector-copy{direction:rtl;text-align:right;position:relative;max-width:400px}
.v2 .sector-copy h3{color:var(--ink);font-size:clamp(38px,4vw,62px);line-height:1.25;margin-bottom:24px}.v2 .sector-copy>p:not(.eyebrow){color:#646758;font-size:18px;line-height:1.9}.v2 .sector-copy .eyebrow{color:#6d705f}
.v2 .sector-number{display:block;font:400 clamp(90px,9vw,150px) 'El Messiri';line-height:1;color:#d2cdbd;margin-bottom:16px}
.v2 .sector-detail{display:block;font-size:12px;color:#7c7c6d;border-top:1px solid #b6b3a2;padding-top:18px;margin-top:34px}
.v2 .photo-note{position:absolute;bottom:20px;left:24px;font-size:11px;color:#f3ede1;background:#191b15a8;padding:5px 10px}.v2 .blueprint-toggle-btn{background:#11140fe0;color:#f4eddd;border-radius:0;font-size:12px;bottom:18px;right:18px;left:auto}
.v2 .scope-bottom{padding:15px 6vw 30px;display:flex;justify-content:space-between;gap:30px;color:#7b7d6c;font-size:11px}.v2 .scope-count{font-size:19px;color:#262920}.v2 .scope-count>span{font-size:11px;margin-right:12px;color:#7b7d6c}
.v2 .material-chapter{background:#131610;position:relative}.v2 .material-stage{position:relative;overflow:hidden;min-height:780px;isolation:isolate;display:grid;grid-template-columns:1fr 1.3fr;align-items:center;padding:70px 6vw;gap:4vw}
.v2 .material-aura{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 65% 45%,#51473344,transparent 70%)}.v2 .material-object{grid-column:2;grid-row:1;position:relative;z-index:2;transform-origin:center}.v2 .material-object img{width:100%;height:auto;filter:drop-shadow(0 20px 40px #0006)}
.v2 .material-copy{grid-column:1;grid-row:1;position:relative;z-index:4}.v2 .material-copy h2{font-size:clamp(44px,5.4vw,86px);line-height:1.22;margin-bottom:24px}.v2 .material-copy>p{font-size:18px;line-height:1.9}.v2 .material-labels{display:flex;flex-wrap:wrap;gap:22px;margin-top:32px;color:#aaae91;font-size:12px}.v2 .material-labels span{border-top:1px solid #65684d;padding-top:12px}
.v2 .material-word{position:absolute;bottom:-9vh;left:0;right:0;text-align:center;font:700 25vw 'El Messiri';color:#ffffff03;white-space:nowrap;pointer-events:none;z-index:0}
.v2 #services{padding:110px 0;background:#131610}.v2 #services h2{background:none;color:#e9e5d9;-webkit-text-fill-color:#e9e5d9;font-size:clamp(32px,4vw,58px)}
.v2 #services .accordion-item{border-radius:0;background:transparent;border:0;border-bottom:1px solid #ffffff24}.v2 #services .accordion-idx{color:#a5ad85}.v2 #services .accordion-icon{border:0}.v2 .accordion-trigger{padding:26px 0;font-size:25px}.v2 .accordion-content-inner{max-width:700px;font-size:17px}
.v2 #process{background:var(--paper);color:var(--ink);padding:130px 0}.v2 #process .eyebrow{color:#747760}.v2 #process h2{color:var(--ink);font-size:clamp(42px,6vw,92px);line-height:1.2;margin-bottom:70px}
.v2 .process-lines article{display:grid;grid-template-columns:80px 1fr 1fr;direction:rtl;align-items:center;padding:28px 0;border-top:1px solid #c5c6b8;gap:30px}
.v2 .process-lines article>span{font:400 27px 'El Messiri';color:#8c937c}.v2 .process-lines h3{font-size:27px;color:var(--ink)}.v2 .process-lines p{font-size:17px;color:#61664f;max-width:32ch}
.v2 #cta{padding:0;min-height:0;height:auto;position:relative}.v2 .closing-stage{position:relative;min-height:650px;overflow:hidden;display:grid;place-items:center;text-align:center;background:#11130f}
.v2 #ctaPoster,.v2 #ctaVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v2 #ctaVideo{opacity:1;display:block}.v2 #ctaDim{position:absolute;inset:0;background:#0a0e0bba}.v2 #ctaContent{position:relative;z-index:4;padding:100px 25px;opacity:1;transform:none}.v2 #ctaContent h2{font-size:clamp(44px,6vw,92px);line-height:1.25;margin-bottom:40px}
.v2 #inquiry{background:#11130f}.v2 .inquiry-wrapper{background:transparent;border-radius:0;border:0;padding:50px 20px;max-width:1000px}.v2 .inquiry-notice{border:0;border-top:1px solid #ffffff22;border-bottom:1px solid #ffffff22;background:transparent;color:#c5c6b1;border-radius:0;padding:20px 0}
.v2 #inquiry h2{-webkit-text-fill-color:#f0ebde;background:none}.v2 .form-input,.v2 .form-select,.v2 .form-textarea{border-radius:0;background:#191d15;border-color:#62634f;color:#f4f0e8}.v2 .form-group>label{color:#d7d9c6}.v2 footer{background:#0a0d08}.v2 footer .footer-disclaimer{color:#a8ad93}
html.cinematic .v2 #hero{height:580svh}html.cinematic .v2 .journey-stage{position:sticky;top:0;height:100svh;min-height:0}
html.cinematic .v2 .opening-copy{position:absolute;right:6vw;top:50%;transform:translateY(-50%);padding:0;width:44vw;max-width:none;margin:0;will-change:transform,opacity}
html.cinematic .v2 .model-wrap{position:absolute;left:-4vw;top:50%;width:55vw;margin:0;padding:0;transform:translateY(-50%);will-change:transform,opacity;perspective:1400px}
html.cinematic .v2 .architecture-cutout{max-width:none;max-height:88vh;object-fit:contain}
html.cinematic .v2 .film-aperture{position:absolute;inset:0;min-height:0;clip-path:ellipse(0% 0% at 29% 48%);will-change:clip-path}
html.cinematic .v2 .journey-still,html.cinematic .v2 #filmCanvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html.cinematic .v2 #filmCaps{position:absolute;inset:0;padding:0;display:block}
html.cinematic .v2 .journey-caption{position:absolute;right:6vw;bottom:18vh;width:min(37vw,480px);opacity:0;will-change:transform,opacity}
html.cinematic .v2 .film-concept-note{position:absolute;left:5vw;top:20px;font-size:10px;background:#14190fa0;padding:8px 12px}
html.cinematic .v2 .journey-bottom{position:absolute;left:0;right:0;bottom:24px;padding:0 6vw}.v2 .scroll-invitation>span{margin-right:10px}
html.cinematic .v2 #film.journey-anchor{top:140svh}html.cinematic .v2 .editorial-anchor{top:50svh}
html.cinematic .v2 #directions{height:340svh}html.cinematic .v2 .scope-stage{position:sticky;top:0;height:100svh}
html.cinematic .v2 .scope-top{position:absolute;top:0;left:0;right:0;padding:94px 6vw 0;z-index:4}
html.cinematic .v2 .scope-track{position:absolute;top:0;bottom:0;left:0;right:auto;display:flex;direction:ltr;width:300vw;will-change:transform}
html.cinematic .v2 .sector-slide{width:100vw;flex:0 0 100vw;height:100svh;padding:24vh 6vw 12vh;grid-template-columns:1.7fr 1fr;gap:8vw}
html.cinematic .v2 .sector-photo{height:61vh;border-radius:30vh 30vh 0 0}html.cinematic .v2 .sector-photo img{height:100%;width:100%;will-change:transform}
html.cinematic .v2 .sector-copy{padding-top:3vh}html.cinematic .v2 .sector-number{font-size:clamp(88px,8vw,126px)}html.cinematic .v2 .sector-copy h3{font-size:clamp(34px,3.5vw,58px)}
html.cinematic .v2 .scope-bottom{position:absolute;bottom:0;left:0;right:0;padding:0 6vw 24px;z-index:3}
html.cinematic .v2 .material-chapter{height:230svh}html.cinematic .v2 .material-stage{position:sticky;top:0;height:100svh;min-height:0;will-change:transform}
html.cinematic .v2 #cta{height:210svh}html.cinematic .v2 .closing-stage{position:sticky;top:0;height:100svh;min-height:0}html.cinematic .v2 #ctaDim{opacity:0}html.cinematic .v2 #ctaContent{opacity:0}
.v2 .is-missing{background:radial-gradient(ellipse,#2e3421,#141b10)}.v2 .is-missing>img{display:none!important}
@media(max-width:960px){
 .v2 #header{padding:14px 6vw}.v2 .brand-logo-svg{width:66px;height:40px}.v2 #header .desktop-nav{gap:18px}.v2 #header .desktop-nav a{font-size:12px}
 .v2 .opening-copy{padding:100px 6vw 25px;max-width:none}.v2 .opening-copy h1{font-size:clamp(42px,7.8vw,74px)}.v2 .opening-intro{font-size:17px}
 html.cinematic .v2 .opening-copy{right:7vw;left:7vw;top:47%;width:auto;transform:none;text-align:right}
 html.cinematic .v2 .model-wrap{left:-2vw;top:19%;width:80vw;transform:translateY(-50%)}html.cinematic .v2 .architecture-cutout{max-height:43vh}
 html.cinematic .v2 .journey-caption{width:min(78vw,480px);right:8vw;bottom:18vh}html.cinematic .v2 .journey-caption h2{font-size:clamp(34px,5vw,52px)}
 .v2 .scope-top{align-items:flex-start;flex-direction:column;gap:14px}.v2 .scope-top h2{font-size:36px}.v2 .scope-filters{gap:22px}.v2 .scope-filters .filter-btn{font-size:13px;padding:5px 0}
 html.cinematic .v2 .scope-top{padding:86px 7vw 0}html.cinematic .v2 .sector-slide{padding:22vh 7vw 10vh;grid-template-columns:1fr;gap:22px;align-content:start}
 html.cinematic .v2 .sector-photo{height:38vh;border-radius:22vh 22vh 0 0}html.cinematic .v2 .sector-copy{padding:0;max-width:none}
 html.cinematic .v2 .sector-number{position:absolute;left:0;top:-7px;font-size:56px}.v2 .sector-copy .eyebrow{font-size:11px;margin-bottom:9px}.v2 .sector-copy h3,html.cinematic .v2 .sector-copy h3{font-size:34px;max-width:80%;margin-bottom:12px}.v2 .sector-copy>p:not(.eyebrow){font-size:15px;max-width:85%;line-height:1.6}.v2 .sector-detail{display:none}
 .v2 .sector-slide{grid-template-columns:1fr;gap:28px}.v2 .sector-photo img{height:50vw;min-height:220px}
 .v2 .material-stage{grid-template-columns:1fr;padding:90px 7vw 70px;gap:30px}.v2 .material-object{grid-column:1;grid-row:1}.v2 .material-copy{grid-column:1;grid-row:2}
 html.cinematic .v2 .material-stage{display:block;padding:0}.v2 .material-copy h2{font-size:50px}.v2 .material-copy>p{font-size:16px}
 html.cinematic .v2 .material-object{position:absolute;top:8vh;left:-5vw;width:110vw}html.cinematic .v2 .material-copy{position:absolute;bottom:12vh;right:8vw;left:8vw}
 .v2 #process{padding:90px 0}.v2 .process-lines article{grid-template-columns:50px 1fr;gap:8px 18px;align-items:start}.v2 .process-lines article>p{grid-column:2;font-size:15px}.v2 .process-lines h3{font-size:24px}
 .v2 #services{padding:85px 0}.v2 .accordion-trigger{font-size:21px}.v2 .accordion-trigger-info{gap:18px}.v2 .closing-stage{min-height:550px}.v2 #ctaContent h2{font-size:46px}
 .v2 .opening-actions{gap:20px;margin-top:25px}.v2 .opening-actions .btn{font-size:14px;padding:14px 20px}.v2 .text-link{font-size:14px}
 .v2 .journey-bottom .chapter-label{display:none}.v2 .journey-bottom{font-size:11px}.v2 .film-concept-note{max-width:78vw}
 .v2 .journey-still{object-position:36% center}
}
@media(max-height:740px) and (max-width:960px){
 html.cinematic .v2 .opening-copy{top:43%}.v2 .opening-copy h1{font-size:40px}.v2 .opening-intro{font-size:15px}.v2 .opening-actions{margin-top:18px}
 html.cinematic .v2 .sector-photo{height:32vh}html.cinematic .v2 .sector-slide{padding-top:26vh}.v2 .sector-copy>p:not(.eyebrow){font-size:13px}
}
@media(max-width:580px){.v2 #filmCaps{grid-template-columns:1fr}.v2 .opening-actions{gap:18px}.v2 .scope-top h2{font-size:30px}.v2 .sector-copy h3,html.cinematic .v2 .sector-copy h3{font-size:30px}.v2 .sector-number{font-size:72px}}
@media(prefers-reduced-motion:reduce){.v2 .model-sheen{display:none}.v2 .model-tilt{transform:none!important}.v2 .journey-stage{min-height:0}.v2 .scroll-invitation{display:none}}

html:not(.cinematic) .v2 .journey-stage{display:grid;grid-template-columns:1fr 1fr;min-height:0}
html:not(.cinematic) .v2 .model-wrap{grid-column:2;grid-row:1;width:50vw;align-self:center}
html:not(.cinematic) .v2 .opening-copy{grid-column:1;grid-row:1;width:50vw;padding:150px 5vw 100px}
html:not(.cinematic) .v2 .opening-copy h1{font-size:clamp(40px,5.4vw,85px)}
html:not(.cinematic) .v2 .film-aperture{grid-column:1/-1;grid-row:2}
html:not(.cinematic) .v2 .journey-bottom{grid-column:1/-1;grid-row:3}
@media(max-width:960px){
 html:not(.cinematic) .v2 .journey-stage{grid-template-columns:1fr}
 html:not(.cinematic) .v2 .model-wrap{grid-column:1;grid-row:1;width:88vw;padding-top:100px}
 html:not(.cinematic) .v2 .opening-copy{grid-column:1;grid-row:2;width:100%;padding:20px 7vw 60px}
 html:not(.cinematic) .v2 .film-aperture{grid-row:3}
 html:not(.cinematic) .v2 .journey-bottom{grid-row:4}
}
