/* Shared Reality navigation. The map keeps its own controls and theme. */
@font-face{font-family:RealityManrope;src:url('fonts/manrope-200_800-normal.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:RealityArabic;src:url('assets/rb-regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--shell-cream:#f4f1ea;--shell-ink:#282c2d;--shell-bronze:#91745a;--shell-header-height:82px;--shell-ease:cubic-bezier(.22,1,.36,1)}
.site-header{height:var(--shell-header-height);position:relative;inset:auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:0 4.5%;color:var(--shell-ink);background:var(--shell-cream);border:0;box-shadow:0 1px 0 #282c2d20;font:400 14px/1.6 RealityManrope,Arial,sans-serif;transition:background .6s,color .6s,box-shadow .6s}
[data-map-theme=light] .site-header{background:var(--shell-cream)}
.site-header .brand{display:block;width:165px;flex-shrink:0;margin:0;padding:0;letter-spacing:0;line-height:0}
.site-header .header-logo{display:block;width:100%;height:auto;overflow:visible}
.site-header .header-wordmark{opacity:1}
.site-header .desktop-nav{display:flex;gap:32px;align-items:center;margin-inline-start:auto;color:inherit}
.site-header .nav-link{display:inline-block;position:relative;font-size:14px;padding-block:12px;transition:translate .4s var(--shell-ease)}
.site-header .nav-link::after{content:'';position:absolute;inset-inline-start:0;bottom:7px;width:100%;height:1px;background:currentColor;scale:0 1;transform-origin:left;transition:scale 1.05s cubic-bezier(.24,.43,.15,.97)}
.site-header .nav-link:focus-visible::after,.site-header .nav-link:hover::after{scale:1}
.site-header .nav-link:hover{translate:none}
.site-header .header-actions{display:flex;align-items:center;gap:24px;flex-shrink:0;font-size:13px}
.site-header .language{min-width:24px;padding-block:10px;font-family:RealityArabic,Arial,sans-serif}
.site-header .language:hover{text-decoration:underline}
.site-header .header-map{border:1px solid #282c2d30;padding:12px 18px;position:relative;overflow:hidden;white-space:nowrap;transition:background .4s,color .4s}
.site-header .header-map span{display:inline-block;margin-inline-start:15px;transition:translate .4s var(--shell-ease)}
.site-header .header-map:hover{background:var(--shell-ink);color:var(--shell-cream)}
.site-header .header-map:hover span{translate:3px -3px}
.site-header .menu-toggle{width:30px;height:38px;display:flex;flex-direction:column;justify-content:center;gap:7px;position:relative;background:none;padding:0;border:0;color:inherit}
.site-header .menu-toggle i{display:block;width:28px;height:1px;background:currentColor;transition:rotate .4s,translate .4s,width .4s}
.site-header .menu-toggle[aria-expanded=true] i:first-child{rotate:45deg;translate:0 4px}
.site-header .menu-toggle[aria-expanded=true] i:last-child{rotate:-45deg;translate:0 -4px}
.site-header .menu-toggle:hover i{width:22px}
.site-header .header-reveal-line{display:none}
.site-header.menu-open,[data-map-theme=light] .site-header.menu-open{color:var(--shell-ink);background:var(--shell-cream);box-shadow:none}
.site-header.menu-open .header-map{border-color:#282c2d30}
.site-menu{position:fixed;inset:0;z-index:40;background:var(--shell-cream);color:var(--shell-ink);padding:150px 8% 40px;overflow:auto;font:400 17px/1.6 RealityManrope,Arial,sans-serif;opacity:0;clip-path:inset(0 0 100%);transition:clip-path .8s var(--shell-ease),opacity .65s}
.site-menu[hidden]{display:none}
.site-menu.is-open{opacity:1;clip-path:inset(0)}
.site-menu nav{display:flex;flex-direction:column;gap:14px;align-items:flex-start;color:inherit}
.site-menu nav>a{display:block;font-size:clamp(32px,5vw,70px);font-weight:400;line-height:1.2;padding:0;letter-spacing:-.04em;transition:opacity .35s,translate .5s var(--shell-ease)}
.site-menu nav>a:hover{opacity:.7}
.site-menu p{margin-top:65px;color:#686a67;font-size:14px}
.site-header a:focus-visible,.site-header button:focus-visible,.site-menu a:focus-visible{outline:2px solid var(--shell-bronze);outline-offset:6px}
body>main{height:calc(100dvh - var(--shell-header-height))}
#page-transition{top:var(--shell-header-height);will-change:mask-image,-webkit-mask-image}
#map-error{z-index:25;width:min(340px,calc(100% - 36px));box-shadow:0 12px 45px #0002}
#map-status{display:block}
@media(max-width:700px){#map-error{top:33%;max-height:calc(45% - 20px);overflow:auto}}
@media(max-width:1150px){.site-header{gap:28px}.site-header .desktop-nav{gap:20px}.site-header .header-actions{gap:18px}.site-header .header-map{display:none}}
@media(max-width:760px){:root{--shell-header-height:72px}.site-header{height:72px;padding-inline:22px;gap:16px}.site-header .brand{width:126px}.site-header .desktop-nav{display:none}.site-header .header-actions{gap:20px}.site-header .language{font-size:12px}.site-menu{padding:130px 25px 30px}.site-menu nav{gap:22px}.site-menu nav>a{display:block;font-size:36px}.site-menu p{margin-top:50px}}
@media(max-width:700px){body[data-phone-view=project] #detail:not([hidden]){top:var(--shell-header-height);height:calc(100dvh - var(--shell-header-height));backdrop-filter:none}body[data-phone-view=project] #detail .phone-gallery{padding-top:0}body[data-phone-view=project] #detail .detail-close{top:calc(var(--shell-header-height) + 12px)}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header *,.site-menu,.site-menu *{transition:none!important}.site-header .nav-link:hover{translate:none}#page-transition{display:none!important}}
