/* Additive polish only: the original layout, fonts, palette and sections remain intact. */
.ns-reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:#c8a77b;transform:scaleX(0);transform-origin:left;z-index:9999;pointer-events:none}
.ns-drafting-frame{position:absolute;inset:3%;width:94%;height:94%;color:rgba(243,243,236,.55);pointer-events:none;z-index:3}
.ns-drafting-frame path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:160;stroke-dashoffset:160;animation:ns-trace 2.8s ease 1s forwards}
@keyframes ns-trace{to{stroke-dashoffset:0}}
@keyframes ns-pin-halo{0%{box-shadow:0 0 0 0 #f3f3ec50}75%,100%{box-shadow:0 0 0 15px #f3f3ec00}}
.hero-w .pin_dot{border-radius:50%;animation:ns-pin-halo 3s ease-out 3}
.hero-w .pin:hover .pin_dot{box-shadow:0 0 24px #f3f3ec40}
.quote-slide-dot{transition:background-color .3s,border-color .3s,box-shadow .3s!important}
.quote-slide-dot:hover{box-shadow:0 0 0 4px #ffffff12}
.benefit-card .img,.other-card{transition:filter .4s ease}
.benefit-card:hover .img{filter:brightness(1.045)}
.other-card:hover{filter:brightness(1.035)}
a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:2px solid currentColor!important;outline-offset:5px}
.ns-skip{position:fixed;left:20px;top:-100px;padding:12px 18px;background:#17233b;color:#f3f3ec;font:13px Arial,sans-serif;z-index:10000}
.ns-skip:focus{top:12px}
.ns-email-result{margin-top:24px;border-top:1px solid currentColor;padding-top:18px;font-size:14px;line-height:1.7}
.ns-email-result a{text-decoration:underline;text-underline-offset:4px}
@media(hover:none){.hero-w .pin_dot{animation:none}}
@media(prefers-reduced-motion:reduce){.ns-drafting-frame path{animation:none;stroke-dashoffset:0}.hero-w .pin_dot{animation:none}.ns-reading-progress{display:none}.quote-slide-dot,.benefit-card .img,.other-card{transition:none!important}}
.ns-hero-video{width:100%;height:100%!important;min-height:100svh;object-fit:cover;display:block;aspect-ratio:16/9}.ns-video-control{position:absolute;bottom:30px;right:30px;z-index:20;border:1px solid #ffffff80;border-radius:30px;background:#17233b70;color:#fff;padding:12px 18px;font:11px Arial,sans-serif;cursor:pointer;backdrop-filter:blur(12px)}@media(max-width:700px){.ns-video-control{right:16px;bottom:20px}}

/* Retain the existing Bespoke Spatial Design image frame. */
.loc-intro-s_img .img{object-fit:cover;object-position:center;width:100%;height:100%}
@media(min-width:992px){.loc-intro-s_img .img{aspect-ratio:1489/1853;height:auto}}
/* Prominent Projects navigation without changing the homepage composition. */
a[aria-label="Projects Gallery"].nav-item{padding:10px 16px;border:1px solid currentColor;border-radius:30px;min-height:40px;margin-bottom:9px;background:#17233b24;backdrop-filter:blur(8px)}a[aria-label="Projects Gallery"].nav-item .l2{font-size:clamp(12px,1vw,16px);letter-spacing:.12em}a[aria-label="Projects Gallery"].nav-item:hover{background:#17233b55}a[aria-label="Projects Gallery"].link .h6{font-size:clamp(30px,7vw,48px)}

/* Remove appointment booking from every homepage breakpoint and section. */
[data-modal-cta-btn="book-a-call"],[data-modal-cta="book-a-call"]{display:none!important}

/* Mobile refinements use pixels where the cinematic rem scale becomes too small. */
@media(max-width:991px){
  .p1{font-size:14px;line-height:1.7}
  .header-nav_list.f-mob .nav-item{min-height:44px;display:flex;align-items:center}
  .ns-video-control{min-height:44px;bottom:max(20px,env(safe-area-inset-bottom))}
  .footer-s_contact a{min-height:44px;overflow-wrap:anywhere}
  .apart-half-2>div:last-child{width:calc(100% - 32px)!important;margin-bottom:32px!important}
  .apart-half-2>div:last-child>div{padding:20px!important}
  .apart-half-2>div:last-child>div>div{font-size:10px!important;line-height:1.6}
  .apart-half-2 h3{font-size:28px!important;line-height:1.15}
  .apart-half-2 p{font-size:14px!important;line-height:1.6!important}
  .modal_menu_list{padding-bottom:env(safe-area-inset-bottom)}
}
@media(max-width:479px){
  .p1{font-size:14px}
  .footer-s_contact .l1{font-size:11px}
  .ns-video-control{right:16px;font-size:12px}
}
@media(orientation:landscape) and (max-width:991px) and (pointer:coarse){
  .landscape-cover{display:none!important}
  body{overflow:auto!important}
}

/* Native mobile composition: CMS content, without desktop scroll choreography. */
.nm-active{font-size:16px!important;scroll-behavior:auto;scroll-padding-top:86px}
.nm-active body{overflow:auto!important;background:var(--cream,#f3f3ec);color:var(--navy,#17233b)}
.nm-active [data-barba="wrapper"]{display:none!important}
#mobile-home{font:14px/1.75 'Maison Neue Extended',Arial,sans-serif;letter-spacing:0;isolation:isolate;overflow:clip}
#mobile-home *{box-sizing:border-box}
#mobile-home [hidden]{display:none!important}
#mobile-home h1,#mobile-home h2,#mobile-home h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;text-transform:none;letter-spacing:-.045em;line-height:1.12;margin:0}
#mobile-home h1{font-size:clamp(52px,13vw,90px);max-width:8ch;color:#fff}
#mobile-home h2{font-size:clamp(34px,8.5vw,56px);margin-bottom:28px}
#mobile-home h3{font-size:25px;margin-bottom:14px}
#mobile-home p{margin:0 0 20px;font-size:14px;line-height:1.8}
#mobile-home a{color:inherit;text-decoration:none}
#mobile-home img{display:block;width:100%;height:auto;object-fit:cover}
#mobile-home .nm-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:var(--cream,#f3f3ec);position:sticky;top:0;z-index:30;border-bottom:1px solid #17233b1c}
#mobile-home .nm-brand{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:18px;letter-spacing:-.035em;min-height:48px}
#mobile-home .nm-brand svg{width:32px;height:40px;flex:none;color:var(--navy,#17233b)}
#mobile-home .nm-menu summary{font-size:12px;min-height:44px;display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}
#mobile-home .nm-menu summary::-webkit-details-marker{display:none}
#mobile-home .nm-menu summary:after{content:'+';font:24px Georgia}
#mobile-home .nm-menu[open] summary:after{content:'−'}
#mobile-home .nm-menu nav{position:absolute;top:76px;left:0;right:0;background:var(--cream,#f3f3ec);padding:16px 24px 24px;box-shadow:0 20px 25px #17233b18}
#mobile-home .nm-menu nav a{display:block;padding:15px 0;border-bottom:1px solid #17233b20;font-size:15px}
#mobile-home .nm-hero{height:calc(90svh - 76px);min-height:530px;max-height:850px;position:relative;background:var(--navy,#17233b);color:var(--cream,#f3f3ec);display:flex;align-items:flex-end;padding:40px 24px 92px}
#mobile-home .nm-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#mobile-home .nm-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101924df, #10192420 85%);pointer-events:none}
#mobile-home .nm-hero-copy{position:relative;z-index:1;max-width:580px}
#mobile-home .nm-kicker{font:10px/1.6 'Maison Neue Extended',Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px}
#mobile-home .nm-hero-intro{max-width:30ch;margin:22px 0 28px;color:#f3f3ecde}
#mobile-home .nm-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:52px;padding:16px 22px;background:var(--cream,#f3f3ec);color:var(--navy,#17233b);border:1px solid #17233b2b;font-size:12px;border-radius:2px}
#mobile-home .ns-video-control{bottom:20px;right:24px;background:#10192470;z-index:2;min-height:44px}
#mobile-home .nm-section{padding:64px 24px;max-width:900px;margin:auto;scroll-margin-top:20px}
#mobile-home .nm-reasons{margin-top:32px}
#mobile-home .nm-reason{display:grid;grid-template-columns:30px 1fr;gap:0 14px;padding:24px 0;border-top:1px solid #17233b30}
#mobile-home .nm-reason p{grid-column:2;margin:0;color:#525965;font-size:13px}
#mobile-home .nm-number{font-size:10px;padding-top:6px;color:#866b48}
#mobile-home .nm-studio{background:#eae9e1}
#mobile-home .nm-lead{font-family:Georgia,serif;font-size:24px;line-height:1.45;letter-spacing:-.02em}
#mobile-home .nm-studio>img{margin-top:32px;aspect-ratio:4/5;object-position:center;border-radius:160px 160px 2px 2px}
#mobile-home .nm-design{padding-top:44px;padding-bottom:56px}
#mobile-home .nm-link{display:inline-flex;min-height:48px;align-items:center;border-bottom:1px solid #17233b50;font-size:12px}
#mobile-home .nm-interiors{background:var(--plum,#340c24);color:var(--cream,#f3f3ec)}
#mobile-home .nm-interiors>img{aspect-ratio:4/3;margin-bottom:30px}
#mobile-home .nm-interiors h3{font-size:28px;line-height:1.3}
#mobile-home .nm-interiors p{color:#e0d5da}
#mobile-home .nm-services{list-style:none;padding:0;margin:28px 0 0}
#mobile-home .nm-services li{padding:16px 0;border-top:1px solid #ffffff30;font-size:12px}
#mobile-home .nm-image-strip{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-inline:-24px;padding:0 24px 16px;scrollbar-width:thin}
#mobile-home .nm-image-strip img{flex:0 0 86%;width:86%;aspect-ratio:4/5;scroll-snap-align:center;max-height:560px}
#mobile-home .nm-hint{font-size:11px;color:#626773;margin:8px 0 25px}
#mobile-home .nm-work .nm-button{background:var(--navy,#17233b);color:var(--cream,#f3f3ec)}
#mobile-home .nm-detail{border-top:1px solid #17233b30}
#mobile-home .nm-detail summary{padding:20px 0;cursor:pointer;font-size:16px;min-height:56px}
#mobile-home .nm-detail p{padding-bottom:12px;color:#525965}
#mobile-home .nm-contact{background:var(--navy,#17233b);color:var(--cream,#f3f3ec)}
#mobile-home .nm-person{padding:28px 0;border-top:1px solid #ffffff30}
#mobile-home .nm-person a{display:flex;width:fit-content;max-width:100%;min-height:44px;overflow-wrap:anywhere;border:0;font-size:13px}
#mobile-home .nm-footer{padding:28px 24px;background:var(--navy,#17233b);color:var(--cream,#f3f3ec);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;border-top:1px solid #ffffff20}
#mobile-home .nm-footer a{min-height:44px;display:flex;align-items:center}
#mobile-home .nm-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:var(--plum,#340c24);pointer-events:none;animation:nm-loader-out .35s ease 1.1s forwards}
#mobile-home .nm-loader svg{width:75%!important;max-height:60svh!important}
#mobile-home .nm-loader svg *{animation-duration:1.1s!important}
@keyframes nm-loader-out{to{opacity:0;visibility:hidden}}
@keyframes nm-arrive{from{opacity:.65;translate:0 14px}to{opacity:1;translate:0 0}}
#mobile-home .nm-arrived{animation:nm-arrive .5s ease both}
@media(min-width:600px){#mobile-home .nm-section{padding:72px 48px}#mobile-home .nm-hero{padding-left:48px}#mobile-home .nm-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}#mobile-home .nm-reason{display:block}#mobile-home .nm-number{display:block;margin-bottom:16px}#mobile-home .nm-studio>img{max-height:650px;object-fit:contain;border-radius:0}#mobile-home .nm-image-strip img{flex-basis:46%;width:46%;aspect-ratio:4/5}}
@media(max-width:360px){#mobile-home .nm-header{padding-inline:18px}#mobile-home .nm-brand{font-size:16px}#mobile-home .nm-section{padding-inline:20px}#mobile-home .nm-hero{padding-inline:20px}#mobile-home h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.nm-active{scroll-behavior:auto}#mobile-home .nm-arrived{animation:none}#mobile-home .nm-loader{display:none}}
