@font-face{font-family:Plex;src:url("assets/plex-ar-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url("assets/plex-ar-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Plex;src:url("assets/plex-ar-semibold.woff2") format("woff2");font-weight:600;font-display:swap}
:root{color-scheme:dark;--bg:#0f0a1a;--surface:#181028;--ink:#faf4eb;--muted:#c9c0d4;--gold:#c9a156;--line:#2f2249;--gutter:clamp(24px,5.2vw,100px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:0;scroll-snap-type:y proximity}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.9 Plex,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:8px}
::selection{color:var(--bg);background:var(--gold)}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:600;letter-spacing:normal}
.shell{width:100%;max-width:1640px;padding-inline:var(--gutter);margin-inline:auto}
.skip{position:fixed;inset:12px 12px auto auto;transform:translateY(-200%);z-index:20;background:var(--gold);color:var(--bg);padding:10px}
.skip:focus{transform:none}
.gold{color:var(--gold)}
.masthead{position:relative;z-index:5;background:var(--bg);border-bottom:1px solid var(--line);scroll-snap-align:start}
.masthead-inner{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:18px}
.brand{display:block;flex:0 0 auto;width:225px}
.brand img{width:100%;height:auto;aspect-ratio:1690/616}
nav{display:flex;align-items:center;gap:clamp(24px,3.4vw,60px);font-size:15px}
nav a{padding-block:12px;transition:color .2s}
nav a:hover{color:var(--gold)}
.nav-contact{display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--gold)}
.nav-contact span{font-size:25px;color:var(--gold)}
.hero{position:relative;isolation:isolate;min-height:660px;min-height:clamp(660px,calc(100svh - 116px),1000px);display:grid}
.hero-picture,.hero-picture img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-picture{z-index:-3}
.hero-picture img{object-fit:cover;object-position:50% 20%}
.hero-shade{z-index:-2;background:linear-gradient(270deg,rgba(15,10,26,.87) 0%,rgba(15,10,26,.58) 32%,rgba(15,10,26,.05) 72%),linear-gradient(0deg,rgba(15,10,26,.9),transparent 28%)}
.hero-content{display:flex;flex-direction:column;justify-content:space-between;gap:80px;padding-top:clamp(58px,7vh,100px);padding-bottom:30px}
.hero-copy{width:min(100%,660px)}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--gold)}
.eyebrow>span{width:28px;height:1px;background:var(--gold)}
h1{font-size:clamp(44px,5.1vw,78px);line-height:1.5;margin-block:18px 10px}
h1 span{color:var(--gold)}
.hero-description{color:var(--muted);font-size:18px}
.text-link{display:inline-flex;align-items:center;gap:24px;margin-top:28px;font-size:15px}
.circle-arrow{display:grid;place-items:center;border:1px solid rgba(201,161,86,.6);border-radius:50%;height:46px;width:46px;color:var(--gold);font:22px Arial;transition:background .2s}
.text-link:hover .circle-arrow{background:var(--gold);color:var(--bg)}
.hero-foot{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid rgba(250,244,235,.22);padding-top:18px;font-size:13px;color:var(--muted)}
.hero-controls{display:flex;direction:ltr;align-items:center;gap:22px}
.location{display:flex;align-items:center;gap:10px}
.location i{width:7px;height:7px;border:1px solid var(--gold);border-radius:50%}
.intro{padding-block:106px;display:grid;grid-template-columns:1fr 2.6fr 1fr;gap:40px;align-items:start}
.section-label{display:flex;align-items:center;gap:17px;font-size:14px;color:var(--muted);padding-top:13px}
.index{color:var(--gold);font:12px/2 Arial,sans-serif;direction:ltr}
.intro h2{font-size:clamp(32px,3.3vw,52px);line-height:1.65}
.intro p{color:var(--muted);font-size:16px;margin-top:24px;line-height:2.1}
.intro-note{font:11px/2.1 Arial,sans-serif;letter-spacing:.16em;color:var(--gold);text-align:left;margin-top:20px;border-left:1px solid var(--line);padding-left:22px}
.panorama{position:relative;isolation:isolate;min-height:610px;display:flex;align-items:stretch}
.panorama picture,.panorama img,.panorama-shade{position:absolute;inset:0;width:100%;height:100%}
.panorama picture{z-index:-3}
.panorama img{object-fit:cover;object-position:center 12%}
.panorama-shade{z-index:-2;background:linear-gradient(270deg,rgba(15,10,26,.88),rgba(15,10,26,.38) 68%),linear-gradient(0deg,rgba(15,10,26,.7),rgba(15,10,26,.15) 40%)}
.panorama-content{display:flex;flex-direction:column;align-items:flex-start;padding-block:72px 28px}
.panorama h2{font-size:clamp(32px,3.4vw,54px);line-height:1.7;margin-top:22px}
.image-caption{margin-top:auto;padding-top:100px;font-size:13px;color:var(--muted)}
.capabilities{padding-block:96px 110px}
.section-heading{display:grid;grid-template-columns:1fr 3.8fr;gap:40px;align-items:start;margin-bottom:48px}
.section-heading h2{font-size:clamp(30px,3vw,44px);line-height:1.7}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.service{padding:32px 34px 12px;border-inline-end:1px solid var(--line)}
.service:first-child{padding-right:0}
.service:last-child{border:0}
.service-index{font:13px/1.8 Arial;color:var(--gold)}
.service h3{font-size:26px;line-height:1.8;margin-top:22px}
.service p{color:var(--muted);font-size:16px;margin-top:8px}
.service-en{display:block;color:#9a92ae;font:11px/1.7 Arial;letter-spacing:.09em;margin-top:38px}
.contact{background:var(--surface);border-block:1px solid var(--line)}
.contact-inner{padding-block:85px;display:flex;align-items:center;justify-content:space-between;gap:50px}
.contact h2{font-size:clamp(36px,4.2vw,64px);line-height:1.6;margin-top:18px}
.contact-action{display:flex;flex-direction:column;align-items:center;gap:18px;font-size:16px;padding-inline:4vw}
.contact-arrow{display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;width:116px;height:116px;font:52px/1 Arial;color:var(--gold);transition:background .2s,color .2s,transform .2s}
.contact-action:hover .contact-arrow{background:var(--gold);color:var(--bg);transform:translate(-3px,-3px)}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:48px}
.footer-brand{width:265px;flex-shrink:0}
.footer-brand img{width:100%;height:auto;aspect-ratio:1690/616}
.footer-contact{display:grid;gap:10px;max-width:100%;text-align:left;font-size:18px;font-weight:600;line-height:1.9;color:var(--ink);text-rendering:optimizeLegibility}
.footer-contact>a{color:#ddb65f;font-weight:600}
.footer-social{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:9px;font-size:16px;font-weight:600;line-height:1.8}
.footer-social a{color:var(--ink)}.footer-social a:hover{color:var(--gold)}
.footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-block:20px;border-top:1px solid var(--line);font-size:12px;color:#9a92ae}
details{max-width:480px}summary{cursor:pointer}details p{padding-top:12px;font-size:13px}details a{text-decoration:underline}
@media(min-width:1700px){.hero-content{padding-top:90px}}
@media(max-width:1000px){.intro{grid-template-columns:1fr 3fr}.intro-note{display:none}.service{padding-inline:24px}.service h3{font-size:22px}.section-heading{grid-template-columns:1fr 3fr}.hero-shade{background:linear-gradient(270deg,rgba(15,10,26,.9),rgba(15,10,26,.1)),linear-gradient(0deg,rgba(15,10,26,.8),transparent 35%)}}
@media(max-width:700px){
  .masthead-inner{min-height:91px;padding-block:14px;gap:20px}.brand{width:166px}.masthead nav{gap:0}.masthead nav>a:not(.nav-contact){display:none}.nav-contact{gap:17px;font-size:14px;padding-block:6px}.nav-contact span{font-size:22px}
  .hero{min-height:700px;min-height:max(680px,calc(100svh - 91px))}.hero-content{padding-top:54px;padding-bottom:24px;gap:110px}.hero-picture img{object-position:47% center}.hero-shade{background:linear-gradient(180deg,rgba(15,10,26,.7),rgba(15,10,26,.28) 62%,rgba(15,10,26,.94))}
  h1{font-size:clamp(38px,10.4vw,62px);line-height:1.6;margin-top:20px}.hero-description{font-size:16px;max-width:280px}.eyebrow{font-size:13px}.hero-foot{flex-direction:column;align-items:flex-start;gap:8px;font-size:12px}.text-link{margin-top:26px}
  .intro{padding-block:62px;grid-template-columns:1fr;gap:24px}.section-label{padding:0}.intro h2{font-size:34px;line-height:1.7}.intro p{font-size:15px;margin-top:18px}
  .panorama{min-height:660px}.panorama img{object-position:center 64%}.panorama-shade{background:linear-gradient(180deg,rgba(15,10,26,.76),rgba(15,10,26,.12) 60%,rgba(15,10,26,.85))}.panorama-content{padding-top:48px}.panorama h2{font-size:34px;line-height:1.7}
  .capabilities{padding-block:62px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.section-heading h2{font-size:29px}.service-grid{grid-template-columns:1fr}.service,.service:first-child,.service:last-child{padding:26px 0;border-inline:0;border-bottom:1px solid var(--line)}.service h3{font-size:25px;margin-top:10px}.service-en{margin-top:22px}.service p{font-size:15px}
  .contact-inner{padding-block:60px;flex-direction:column;align-items:flex-start;gap:34px}.contact h2{font-size:36px}.contact-action{flex-direction:row;padding:0;gap:22px}.contact-arrow{width:68px;height:68px;font-size:34px}
  .footer-main{flex-direction:column;align-items:flex-start;gap:24px;padding-block:38px}.footer-brand{width:230px}.footer-contact{text-align:right}.footer-bottom{font-size:12px}
}
.hero,.panorama,.film-scene{scroll-snap-align:start;overflow:clip}
.intro,.capabilities,.contact,footer{scroll-snap-align:start}
.panorama{min-height:max(610px,85svh)}
.scene-nav{display:flex;direction:ltr;align-items:center;gap:12px;font:12px/1 Arial,sans-serif}
.scene-nav a{display:flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px 4px;border-top:1px solid rgba(250,244,235,.3);color:var(--muted);transition:border-color .3s,color .3s}
.scene-nav a[aria-current],.scene-nav a:hover{color:var(--gold);border-color:var(--gold)}
.panorama-content>.scene-nav{margin-top:auto;align-self:flex-end;padding-top:70px}
.film-scene{position:relative;isolation:isolate;min-height:max(620px,90svh);display:grid;background:var(--bg)}
.film-poster,.film-poster img,.corniche-film,.film-shade{position:absolute;inset:0;width:100%;height:100%}
.film-poster{z-index:-4}.film-poster img,.corniche-film{object-fit:cover;object-position:center}
.corniche-film{z-index:-3;opacity:0;transition:opacity 1.2s ease}
.corniche-film.is-playing{opacity:1}
.hero>.corniche-film{inset:0;width:100%;height:100%}
.film-shade{z-index:-2;background:linear-gradient(180deg,rgba(15,10,26,.38),transparent 35%,rgba(15,10,26,.62))}
.film-content{display:flex;flex-direction:column;justify-content:space-between;padding-block:48px 30px;gap:350px}
.film-content>.eyebrow{color:var(--ink)}
.film-copy>.eyebrow{color:var(--ink)}
.film-copy h2{font-size:clamp(44px,4.8vw,76px);line-height:1.55;margin-top:22px}
.film-copy h2 span{color:var(--gold)}
.film-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px}
.tower-scene .film-bottom{justify-content:flex-start}
.tower-scene .film-poster img{object-position:center 12%}
.film-toggle{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:10px 18px;border:1px solid rgba(250,244,235,.35);border-radius:28px;background:rgba(15,10,26,.45);color:var(--ink);font:13px Plex,Arial;cursor:pointer}
.film-toggle[hidden]{display:none}.film-toggle>span:first-child{font:13px Arial;width:14px}
@supports(animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    .panorama picture,.film-poster{animation:scene-enter linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
    @keyframes scene-enter{from{opacity:.45;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
  }
}
@media(max-width:700px){
  .hero-picture img,.hero>.corniche-film{object-position:65% center}.hero-shade{background:linear-gradient(180deg,rgba(15,10,26,.7),rgba(15,10,26,.22) 58%,rgba(15,10,26,.88))}
  .hero-foot{flex-direction:column;align-items:stretch;gap:12px}.hero-foot>span{max-width:none}.hero-controls{justify-content:space-between;gap:12px}
  .scene-nav{gap:5px}.scene-nav a{min-width:36px}.panorama{min-height:max(660px,85svh)}
  .film-scene{min-height:82svh}.film-poster img,.corniche-film{object-position:65% center}.tower-scene .film-poster img{object-position:center 62%}
  .film-content{padding-block:32px 24px;gap:360px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}*{transition:none!important;animation:none!important}}
