
[hidden]{display:none!important}header [aria-current="page"]{color:var(--accent);border-bottom:1px solid var(--accent)}
.home-page .hero{min-height:760px;height:100svh;max-height:none}.home-page footer{padding-block:18px}.home-page .hero-bottom{bottom:24px}
.inner-page{min-height:100svh;isolation:isolate;background:#071319}.inner-page header{position:relative;background:#07131972;backdrop-filter:blur(12px)}
.page-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.page-background .scenes{z-index:0}.page-background .hero-shade{z-index:1;background:linear-gradient(90deg,#07131988,#07131980),linear-gradient(0deg,#071319c9,transparent 65%)}
.inner-page .scene-controls{position:fixed;bottom:20px;left:25px;z-index:30;background:#071319ba;padding:3px 14px;border-radius:3px;backdrop-filter:blur(10px)}
.page-content{width:min(1180px,calc(100% - 100px));margin:0 auto;padding:40px 0 28px;min-height:calc(100svh - 185px)}
.page-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:30px}.page-heading h1{font-size:46px;font-weight:450;letter-spacing:-1px;line-height:1.3;margin:0}.page-heading p{font-size:17px;color:#e0e7e6;margin:0;max-width:430px}
.glass{background:#07191ee8;border:1px solid #b4ded146;box-shadow:0 24px 80px #0003;backdrop-filter:blur(18px)}
.service-workspace{display:grid;grid-template-columns:290px 1fr;min-height:455px}.service-nav{display:flex;flex-direction:column;background:#142c3280;border-left:1px solid #ffffff25;padding:16px}.service-nav button{display:flex;gap:15px;align-items:center;text-align:right;padding:17px 14px;border:1px solid transparent;background:transparent;color:#ccd9d8;font-size:17px;transition:background .25s,border-color .25s}.service-nav button:hover{background:#ffffff09}.service-nav button[aria-selected="true"]{background:#b4ded114;border-color:#b4ded16b;color:white}.service-nav .tech-icon{width:48px;height:48px;flex-shrink:0;transition:transform .4s}.service-nav button:hover .tech-icon{transform:translateY(-3px)}
.service-panel{padding:34px 45px;animation:panel-in .5s both}.service-panel .service-label{margin:0 0 12px;font-size:12px}.service-panel h2{font-size:38px}.panel-description{color:#c6d4d3;font-size:18px;margin:20px 0;max-width:650px}.service-panel ul{padding-right:20px;display:grid;gap:5px;font-size:15px;color:#b7cac6}.service-panel .button{margin-top:12px}.page-note{font-size:14px;margin:22px 0 0;color:#e0e9e7}
.project-nav{display:flex;gap:12px;margin-bottom:20px}.project-nav button{background:#07191ed9;border:1px solid #ffffff40;padding:12px 25px;text-align:right;min-width:210px;font-size:19px}.project-nav button[aria-selected="true"]{border-color:var(--accent);background:#1c3e3bef}.project-nav small{display:block;font-size:11px;letter-spacing:1px;direction:ltr;text-align:right;color:#bed1cb}.projects-page [role="tabpanel"]{animation:panel-in .55s both}.projects-page .project{margin:0;background:#07191eea;backdrop-filter:blur(15px);border:1px solid #b4ded146;min-height:390px}.projects-page .project-art{min-height:390px}.projects-page .project-art img{transition:transform 1.8s}.projects-page .project:hover .project-art img{transform:scale(1.04)}.projects-page .project-info{align-self:center}.project-contact{display:inline-block;margin-top:23px;color:#dfebe6;border-bottom:1px solid #b4ded16b;font-size:16px}
.contact-page-content{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding-block:55px}.contact-intro h1{font-size:clamp(60px,6.5vw,98px);line-height:1.12;font-weight:450;letter-spacing:-2px;margin:20px 0 30px}.contact-intro>p:not(.eyebrow){font-size:21px;color:#e3ebe8}.contact-intro .eyebrow{font-size:11px;text-align:right}.contact-panel{padding:38px}.contact-panel h2{font-size:30px}.contact-panel>p{font-size:17px;color:#bdcecd}.contact-number{display:block;text-align:right;font-size:33px;letter-spacing:1px;color:var(--accent);margin:20px 0}.conversation-notes{margin-top:27px;padding-top:20px;border-top:1px solid #ffffff25}.conversation-notes h3{font-size:16px;font-weight:500;margin:0}.conversation-notes ul{font-size:14px;color:#bbcccc;padding-right:20px;margin-bottom:0}.inner-page footer{border-top:1px solid #ffffff25;color:#c8d4d2;padding-block:18px;background:#07131944}.inner-page footer>span{padding-left:100px}
@keyframes panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.page-content{width:calc(100% - 60px)}.service-workspace{grid-template-columns:240px 1fr}.service-nav button{padding:17px 8px;font-size:15px}.service-panel{padding:28px}.page-heading{align-items:flex-start}.contact-page-content{gap:35px}.contact-panel{padding:28px}}
@media(max-width:760px){.home-page .hero{height:100svh;min-height:820px}.inner-page header{position:relative}.page-content{width:calc(100% - 36px);padding-block:30px}.page-heading{display:block;margin-bottom:22px}.page-heading h1{font-size:35px}.page-heading p{font-size:16px;margin-top:12px}.service-workspace{grid-template-columns:1fr}.service-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;border-left:0;border-bottom:1px solid #fff3;padding:10px}.service-nav button{gap:8px;padding:12px 7px;font-size:14px}.service-nav .tech-icon{width:32px;height:32px}.service-panel{padding:25px 22px}.service-panel h2{font-size:29px}.panel-description{font-size:16px}.service-panel ul{font-size:14px}.project-nav{gap:8px}.project-nav button{min-width:0;flex:1;font-size:16px;padding:10px 13px}.projects-page .project-art{min-height:250px}.projects-page .project-info{padding:25px}.project-contact{font-size:15px}.contact-page-content{grid-template-columns:1fr;gap:28px}.contact-intro h1{font-size:60px;margin-block:15px}.contact-intro>p:not(.eyebrow){font-size:18px}.contact-panel{padding:25px}.contact-number{font-size:30px}.inner-page footer{padding-bottom:65px}.inner-page footer>span{padding-left:0}.inner-page .scene-controls{bottom:12px;left:18px;right:auto}.page-note{font-size:13px}}
@media(prefers-reduced-motion:reduce){.service-panel,.projects-page [role="tabpanel"]{animation:none}.projects-page .project-art img,.service-nav .tech-icon{transition:none}}

/* One persistent full-viewport stage across every route. */
body{isolation:isolate}.persistent-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.persistent-background .scenes{z-index:0}.persistent-background .hero-shade{z-index:1;transition:opacity .35s}.home-page .hero{background:transparent}.inner-page .persistent-background .hero-shade{background:linear-gradient(90deg,#07131988,#07131980),linear-gradient(0deg,#071319c9,transparent 65%)}body>.scene-controls{position:fixed;bottom:20px;left:25px;right:auto;z-index:30;background:#071319ba;padding:3px 14px;border-radius:3px;backdrop-filter:blur(10px)}main:focus{outline:none}@media(prefers-reduced-motion:reduce){.persistent-background .hero-shade{transition:none}}
/* Compact, accessible motion toggle; same control persists across routes. */
body > .scene-controls,.inner-page > .scene-controls{padding:0;background:transparent;backdrop-filter:none;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}
.pause{width:36px;height:36px;border:1px solid #d7ebe680;border-radius:50%;background:#07131999;display:grid;place-items:center;padding:0;gap:0;color:#e5f0ec;backdrop-filter:blur(6px);transition:background .2s,border-color .2s}
.pause:hover{background:#16352de6;border-color:#d7ebe6}.pause:disabled{opacity:.5;cursor:default}.motion-icon{width:18px;height:18px;display:block}.pause-symbol{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.play-symbol{fill:currentColor;display:none}.pause[aria-pressed="true"] .pause-symbol{display:none}.pause[aria-pressed="true"] .play-symbol{display:block}
/* Transparent header: contrast belongs to the lettering, not a full-width bar. */
body > header,.inner-page > header{background:transparent;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
header .brand,header nav a,header .menu{text-shadow:0 1px 3px #000,0 0 10px #000e,0 0 22px #000b}
header .brand svg{filter:drop-shadow(0 1px 3px #000) drop-shadow(0 0 7px #000b)}
header .nav-cta{background:#07131925;border-color:#ffffff65}
@media(max-width:760px){header nav.open{background:#071319e8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}header .menu{background:#07131935}}

/* Parallel English edition, mirrored layout and flag-only language switch. */
.language-switch{display:inline-flex;align-items:center;justify-content:center;width:40px;min-height:40px;border:0!important;padding:6px!important}.language-switch img{display:block;width:28px;height:20px;object-fit:cover;border-radius:2px;box-shadow:0 1px 8px #0008}.language-switch:hover img{box-shadow:0 0 12px #b4ded180}
html[dir="ltr"] .hero-copy{right:auto;left:7%}html[dir="ltr"] .hero h1{font-size:clamp(38px,4vw,60px);max-width:870px;letter-spacing:-1.6px}html[dir="ltr"] .hero-copy .eyebrow{text-align:left}
html[dir="ltr"] .service-nav{border-left:0;border-right:1px solid #ffffff25}html[dir="ltr"] .service-nav button,html[dir="ltr"] .service-label,html[dir="ltr"] .project-nav button,html[dir="ltr"] .project-nav small,html[dir="ltr"] .contact-number,html[dir="ltr"] .contact-intro .eyebrow{text-align:left}
html[dir="ltr"] .service-panel ul,html[dir="ltr"] .conversation-notes ul{padding-right:0;padding-left:20px}html[dir="ltr"] .service-panel h2{font-size:34px}html[dir="ltr"] .panel-description{font-size:17px}
html[dir="ltr"] .apply-wordmark{font-size:43px;letter-spacing:-2px}html[dir="ltr"] .apply-wordmark span,html[dir="ltr"] .apply-wordmark i{margin-right:0;margin-left:7px}html[dir="ltr"] .property-title span{font-size:36px}html[dir="ltr"] .property-title small{letter-spacing:3px}
html[dir="ltr"] body>.scene-controls{left:auto;right:25px}html[dir="ltr"] .inner-page footer>span{padding-left:0;padding-right:100px}
@media(min-width:1600px){html[dir="ltr"] .hero-copy{left:calc((100% - 1380px)/2)}}
@media(max-width:760px){.language-switch{align-self:flex-start}html[dir="ltr"] .hero-copy{left:7%;right:7%}html[dir="ltr"] .hero h1{font-size:39px}html[dir="ltr"] .hero h1 span{font-size:35px}html[dir="ltr"] .service-nav{border-right:0}html[dir="ltr"] .service-nav button{font-size:13px}html[dir="ltr"] .service-panel h2{font-size:28px}html[dir="ltr"] .apply-wordmark{font-size:36px}html[dir="ltr"] .inner-page footer>span{padding-right:0}html[dir="ltr"] body>.scene-controls{right:18px}}

/* POC: edge-to-edge push replaces crossfade. */
.persistent-background .scene{transition:none;will-change:transform}


/* One track, one velocity: no separate slide-change animation. */
.continuous-track{height:100%;display:flex;direction:ltr;width:max-content;will-change:transform}.continuous-track img{display:block;flex:0 0 var(--tile-width);width:var(--tile-width);height:100%;object-fit:cover;max-width:none}

/* Anchor the track independently of the page's RTL/LTR text direction. */
.persistent-background .scenes{direction:ltr;overflow:hidden}.continuous-track{position:absolute;left:0;right:auto;top:0}


/* Fluid content flow: headings and controls stay inside the viewport. */
.home-page .hero{height:auto;min-height:100svh;display:flex;align-items:center;overflow:visible;padding:clamp(120px,18vh,190px) 0 90px}
.home-page .hero-copy,html[dir="ltr"] .home-page .hero-copy{position:relative;inset:auto;width:min(100% - 64px,1180px);max-width:none;margin-inline:auto;min-width:0}
.hero-copy h1,.hero-copy .lead{max-width:850px;overflow-wrap:break-word}
.home-page .hero h1,html[dir="ltr"] .home-page .hero h1{font-size:clamp(32px,4.6vw,66px);line-height:1.2;letter-spacing:-1px}
.home-page .hero h1 span,html[dir="ltr"] .home-page .hero h1 span{font-size:inherit}
.hero-links{flex-wrap:wrap;gap:12px}
.page-content{width:min(1180px,calc(100% - 64px))}
.service-workspace{grid-template-columns:minmax(220px,270px) minmax(0,1fr)}
.service-panel,.project-info,.contact-panel,.contact-intro,.page-heading>*{min-width:0;overflow-wrap:break-word}
.page-heading{flex-wrap:wrap}.page-heading h1{font-size:clamp(30px,4vw,46px)}
.service-panel h2,html[dir="ltr"] .service-panel h2{font-size:clamp(27px,3.2vw,38px)}
.project-nav{flex-wrap:wrap}.project-nav button{min-width:0;max-width:100%}
/* Compact dark controls, fine edges and a restrained directional detail. */
.button,.text-link,header .nav-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:16px;max-width:100%;min-height:46px;padding:10px 19px;border:1px solid #b4ded14d;border-radius:8px;background:#0a2029d9;color:#edf6f4;font-size:15px;font-weight:500;line-height:1.5;text-align:center;backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #ffffff0c;transition:background .2s,border-color .2s,box-shadow .2s}
.button:hover,.text-link:hover,header .nav-cta:hover{background:#16343ded;border-color:#b4ded19c;color:#fff;box-shadow:inset 0 1px 0 #ffffff15,0 4px 18px #0002}
.button span{display:none}
.button::after{content:"";width:8px;height:8px;flex:none;border-inline-end:1.5px solid #b4ded1;border-top:1.5px solid #b4ded1;transform:rotate(-135deg)}
html[dir="ltr"] .button::after{transform:rotate(45deg)}
.text-link{background:#07131965;border-color:transparent;color:#cbdcda;box-shadow:none}
.service-nav{gap:6px;padding:12px;background:#0a202866}
.service-nav button{border-radius:7px;padding:14px 12px;min-width:0;line-height:1.5;font-size:16px}
.service-nav button[aria-selected="true"]{background:#b4ded10b;border-color:transparent;box-shadow:inset -2px 0 #b4ded1}
html[dir="ltr"] .service-nav button[aria-selected="true"]{box-shadow:inset 2px 0 #b4ded1}
.service-nav .tech-icon{width:34px;height:34px}.project-nav button{border-radius:8px;font-size:17px}
@media(max-width:980px){header{padding:22px 4%}.brand{font-size:21px}nav{gap:16px;font-size:14px}.nav-cta{padding:8px 12px}.service-workspace{grid-template-columns:220px minmax(0,1fr)}.service-panel{padding:26px}.contact-page-content{gap:28px}}
@media(max-width:760px){.home-page .hero{height:auto;min-height:100svh;padding:130px 0 85px}.home-page .hero-copy,html[dir="ltr"] .home-page .hero-copy{width:calc(100% - 40px)}.page-content{width:calc(100% - 36px)}.service-workspace{grid-template-columns:minmax(0,1fr)}.service-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.service-nav button,html[dir="ltr"] .service-nav button{font-size:14px;gap:8px}.service-panel{padding:24px 20px}.lead br{display:none}.hero-links{align-items:stretch}.hero-links a{flex:0 1 auto}.contact-intro h1{font-size:clamp(38px,10vw,60px)}.brand{font-size:18px;gap:8px}.brand svg{width:30px}.menu{flex-shrink:0}footer{padding-bottom:70px}}
@media(max-width:380px){.service-nav{grid-template-columns:minmax(0,1fr)}.hero-links{flex-direction:column;align-items:flex-start}.hero-copy .eyebrow{letter-spacing:.5px}.brand{font-size:16px}.menu{padding:5px 8px}.apply-wordmark,html[dir="ltr"] .apply-wordmark{font-size:29px}.property-title span,html[dir="ltr"] .property-title span{font-size:28px}}
@media(prefers-reduced-motion:reduce){.button,.text-link,header .nav-cta{transition:none}}

/* Keep the header and content in normal flow, including short and zoomed windows. */
body>header{position:relative;inset:auto;flex-wrap:wrap;gap:16px}
.home-page .hero{min-height:calc(100svh - 105px);padding-block:clamp(32px,8vh,90px) 72px;align-items:flex-start}
.home-page .hero-copy,html[dir="ltr"] .home-page .hero-copy{width:calc(100% - 40px);max-width:1180px;flex:0 1 1180px;inset:auto}
.hero-copy h1,.hero-copy p{max-inline-size:100%;overflow-wrap:anywhere}
.hero-copy h1{padding-block:4px}
main,.page-content,.service-workspace,.service-panel{min-inline-size:0}
.service-workspace,.contact-page-content,.project{max-inline-size:100%}
.service-panel,.contact-panel{height:auto;overflow:visible}
@media(max-width:900px){header nav{gap:12px}header .brand{font-size:18px}header .nav-cta{padding:8px 12px}.page-heading{display:block}.page-heading p{margin-top:12px}.service-workspace{grid-template-columns:minmax(0,1fr)}.service-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-inline:0;border-bottom:1px solid #ffffff25}}
@media(max-width:760px){.home-page .hero{min-height:calc(100svh - 85px);padding-block:30px 72px}header nav{top:100%}.home-page .hero h1 br{display:none}.home-page .hero h1 span{display:block}.contact-page-content{grid-template-columns:minmax(0,1fr)}}
@media(max-width:380px){.service-nav{grid-template-columns:minmax(0,1fr)}}
