/* Original mountain workspace. Static is the baseline; camera is progressive enhancement. */
.site-header {background:transparent;color:#f6f8f7}
.site-header .brand img {filter:brightness(0) invert(1)}
.site-header>.button,.hero-copy .button {background:#f0f4ec;color:#243c35;border-color:#f0f4ec}
.site-header nav a:hover {color:#fff;text-decoration:underline;text-underline-offset:6px}
.site-header .menu-toggle span {background:#f0f4ec}
.site-header :focus-visible,.hero-copy :focus-visible {outline-color:#f0f4ec}
.hero {background:#203638;height:auto}
.camera-stage {position:relative;isolation:isolate}
.camera-visual {position:relative;height:100svh;min-height:360px;overflow:hidden;background:#203638}
.camera-landscape {position:absolute;inset:0;overflow:hidden;transform-origin:0 0;pointer-events:none}
.camera-landscape picture,.mountain-plate {width:100%;height:100%;display:block}
.mountain-lights {position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:50% 54%;opacity:0;pointer-events:none;mix-blend-mode:screen;will-change:opacity}
.warm-cast {position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(160deg,rgba(255,186,105,.34),rgba(255,152,72,.24));opacity:0;will-change:opacity}
.dusk-veil {position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(16,28,50,.78),rgba(22,38,66,.34) 45%,rgba(30,50,84,0) 75%);opacity:0;will-change:opacity}
.mountain-plate {object-fit:cover;object-position:50% 54%}
.terrace-plane {position:absolute;inset:82% 0 0;background:linear-gradient(to bottom,rgba(22,30,32,0),rgba(22,30,32,.85) 25%,#1a2224);border-top:1px solid rgba(200,214,220,.05)}
/* No-JS / pre-camera fallback: the screen aperture at its native plate fractions. */
.camera-deck {position:absolute;left:0;top:0;overflow:visible;pointer-events:none;transform-origin:0 0}
.camera-deck picture,.deck-plate {width:100%;height:100%;display:block}
.deck-plate {object-fit:fill}
/* Static composite fallback (no-JS / pre-camera): the desk layer is placed at
   the rest-layout fractions; .monitor-idle sits inside it at the keyed
   aperture's fractions of the square workstation asset, so it always aligns. */
.desk-object {position:absolute;z-index:1;left:29%;top:29.5%;width:41.5%;aspect-ratio:1;pointer-events:none;transform-origin:0 0}
.desk-plate {width:100%;height:auto;display:block;position:relative;z-index:1}
.desk-shadow {position:absolute;left:6%;top:87%;width:88%;height:7%;background:radial-gradient(closest-side,rgba(8,16,22,.42),rgba(8,16,22,.18) 55%,transparent 78%);filter:blur(4px)}
.monitor-idle {position:absolute;z-index:2;left:41.5%;top:19.6%;width:27.9%;height:17.3%;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;background:var(--paper);font-size:12px;color:var(--ink)}
.monitor-idle img {width:26px;height:26px}
.camera-visual::before {content:'';position:absolute;inset:0 0 auto 0;height:44%;z-index:2;pointer-events:none;background:linear-gradient(to bottom,rgba(8,16,22,.6),rgba(8,16,22,.28) 45%,rgba(8,16,22,0))}
.hero .hero-copy {position:absolute;top:0;left:0;right:0;padding:116px 24px 0;max-width:820px;z-index:5;color:#f6f8f7;transform-origin:50% 0;text-shadow:0 1px 2px rgba(8,16,22,.55),0 6px 34px rgba(8,16,22,.4)}
.hero h1 {font-size:clamp(50px,4.9vw,76px);line-height:1.02}
.hero-copy p {color:#e0e8eb;font-size:14px;margin:20px auto 20px;line-height:1.65}
.hero-copy .button {min-height:46px;font-size:13px}
.hero .image-disclosure {position:absolute;z-index:4;bottom:15px;right:24px;color:#e8eef1;background:rgba(20,30,40,.8);font-size:10px;letter-spacing:0;opacity:var(--copy-opacity,1);max-width:calc(100% - 44px);text-align:right}
.services-window {position:relative;z-index:2;background:var(--paper);color:var(--ink)}
.services-content {position:relative;width:100%;transform-origin:0 0;background:var(--paper)}
.services {width:100%;background:var(--paper)}
.services .section-heading {margin-bottom:42px}
.camera-ready .hero {height:var(--journey-height)!important}
.camera-ready .camera-stage {position:sticky;top:0;height:100svh;overflow:clip}
.camera-ready .camera-visual {position:absolute;inset:0;height:100%;min-height:0;overflow:visible}
.camera-ready .camera-landscape,.camera-ready .camera-deck,.camera-ready .desk-object {will-change:transform}
.camera-ready .monitor-idle {display:none}
.camera-ready .services-window {position:absolute;inset:0;overflow:clip;clip-path:inset(55% 42% 28% 42%)}
.camera-ready .services-content {will-change:transform}
.hero[data-camera-state="asset-fallback"] .monitor-idle {display:none}
@media(hover:hover) and (pointer:fine){.hero-copy .button:hover,.site-header>.button:hover{background:#dbe5d7;color:#243c35;border-color:#dbe5d7}}
@media(min-width:1600px){.hero .hero-copy{padding-top:13svh}.hero h1{font-size:102px}}
@media(max-width:1100px){.hero .hero-copy{padding-top:107px}.hero h1{font-size:76px}}
@media(max-width:760px){
  .hero .hero-copy {padding:112px 22px 0}
  .hero h1 {font-size:clamp(57px,11.5vw,76px)}
  .hero-copy p {font-size:12px;max-width:310px;margin:18px auto}
  .hero-copy .button {min-height:46px;font-size:12px}
  .hero .image-disclosure {font-size:9px;right:18px;bottom:14px}
  .site-header nav {background:#1d3832;color:#f6f8f7;border-color:#3d5a4e}
  .site-header>.button {min-height:44px}
  .menu-toggle {width:44px;height:44px;flex-shrink:0}
  .services {padding-top:64px}
  .desk-object {left:-1%;top:34.8%;width:104%}
.monitor-idle {font-size:10px;gap:5px}
}
@media(max-width:420px){.hero h1{font-size:58px}.hero .hero-copy{padding-top:108px}.site-header{gap:4px}.site-header>.button{gap:7px}}
@media(max-height:700px) and (max-width:760px){.hero .hero-copy{padding-top:98px}.hero h1{font-size:53px}.hero-copy p{margin:14px auto;font-size:11px}.hero-copy .button{min-height:42px;padding-block:10px}.hero .image-disclosure{font-size:8px}}
@media(max-height:540px) and (orientation:landscape){
  .hero .hero-copy {left:5%;right:auto;top:0;width:42%;padding:88px 0 0;text-align:left}
  .hero h1 {font-size:clamp(35px,5vw,53px)}
  .hero-copy p {margin:12px 0;font-size:10px;max-width:300px}
  .hero-copy .button {min-height:40px;padding:8px 16px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.camera-stage{position:relative!important;height:auto!important}.camera-visual{position:relative!important;height:100svh!important}.services-window{position:relative!important;clip-path:none!important}.services-content{transform:none!important}.camera-landscape,.camera-deck,.desk-object{transform:none!important}.hero .hero-copy{opacity:1!important;transform:none!important}.mountain-lights{opacity:.4}}

/* Full-width contrast-aware navigation, not a floating decorative capsule. */
.site-header {height:76px;padding-inline:clamp(22px,3vw,48px);border-bottom:1px solid transparent;transition:background-color .3s ease,color .3s ease,border-color .3s ease;z-index:50}
.js-enabled .site-header {position:fixed;top:0;left:0;right:0}
.site-header[data-nav-theme="opening"] {background:transparent;color:#f1f5f5;backdrop-filter:none}
.site-header[data-nav-theme="dark"] {background:#1d3832;color:#f1f5f5;border-bottom-color:rgba(231,239,241,.12);backdrop-filter:blur(12px)}
.site-header[data-nav-theme="light"] {background:#f7f8f5;color:#1d3832;border-bottom-color:#dbe1d8;backdrop-filter:blur(12px)}
@supports(backdrop-filter:blur(12px)){
  .site-header[data-nav-theme="dark"]{background:rgba(29,56,50,.94)}
  .site-header[data-nav-theme="light"]{background:rgba(247,248,245,.96)}
}
.site-header .brand img {transition:filter .3s ease}
.site-header[data-nav-theme="light"] .brand img {filter:none}
.site-header .menu-toggle span {background:currentColor;transition:transform .2s ease}
.site-header .menu-toggle[aria-expanded="true"] span:first-child {transform:translateY(3.25px) rotate(45deg)}
.site-header .menu-toggle[aria-expanded="true"] span:last-child {transform:translateY(-3.25px) rotate(-45deg)}
.site-header>.button,.site-header .navigation-bottom .button {background:#365e4f;color:#fff;border:1px solid #527867;border-radius:18px}
.site-header>.button:hover,.site-header .navigation-bottom .button:hover {background:#294a3d;color:#fff;border-color:#527867}
.site-header nav {display:flex;align-items:center;gap:28px;margin-left:auto;margin-right:28px}
.nav-item {position:relative;display:flex;align-items:center}
.site-header nav a {transition:opacity .2s ease;font-size:13px;padding:10px 0}
.site-header nav a:hover {color:inherit;opacity:.85}
.nav-chevron {font-size:10px;margin-left:4px;transition:transform .2s ease}
.has-dropdown:hover .nav-chevron,
.has-dropdown:focus-within .nav-chevron {transform:rotate(180deg)}

.nav-dropdown {
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  min-width:270px;
  background:#223440;
  color:#f1f5f5;
  border:1px solid rgba(255,255,255,.14);
  border-radius:6px;
  padding:8px;
  box-shadow:0 18px 36px rgba(10,18,24,.35);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .16s ease,transform .16s ease,visibility 0s .32s;
  z-index:100;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.site-header[data-nav-theme="light"] .nav-dropdown {
  background:#ffffff;
  color:#1d3832;
  border-color:#dbe1d8;
  box-shadow:0 18px 36px rgba(29,56,50,.12);
}
/* The dropdown sits 6px below its trigger; without this bridge the pointer
   crosses a dead zone and the menu closes before it can be reached. */
.nav-dropdown::before {content:'';position:absolute;left:-12px;right:-12px;top:-12px;height:12px;}
.has-dropdown:hover .nav-dropdown,
.has-dropdown:focus-within .nav-dropdown {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  transition:opacity .16s ease,transform .16s ease,visibility 0s 0s;
}
.nav-dropdown a {
  display:block;
  padding:8px 12px;
  border-radius:4px;
  font-size:12.5px;
  line-height:1.35;
  white-space:nowrap;
  transition:background .15s ease,color .15s ease;
}
.site-header[data-nav-theme="light"] .nav-dropdown a {
  color:#1d3832;
}
.site-header[data-nav-theme="light"] .nav-dropdown a:hover {
  background:#eef2eb;
  color:#1d3832;
}
.site-header[data-nav-theme="dark"] .nav-dropdown a:hover,
.site-header[data-nav-theme="opening"] .nav-dropdown a:hover {
  background:rgba(255,255,255,.1);
  color:#ffffff;
}
.dropdown-divider {
  height:1px;
  background:rgba(255,255,255,.12);
  margin:4px 8px;
}
.site-header[data-nav-theme="light"] .dropdown-divider {
  background:#e5ebe2;
}
.dropdown-group-title {
  display:block;
  font-size:9.5px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:6px 12px 2px;
  color:rgba(255,255,255,.55);
}
.site-header[data-nav-theme="light"] .dropdown-group-title {
  color:#6b7c72;
}
.site-header[data-nav-theme="light"] :focus-visible {outline-color:#365e4f}
.navigation-bottom {display:none}
.menu-open {overflow:hidden}
@media(max-width:760px){
  .site-header {height:72px;padding-inline:18px;gap:4px}
  .js-enabled .site-header nav {display:flex;position:fixed;inset:72px 0 0;width:100%;height:calc(100dvh - 72px);margin:0;padding:32px 26px max(32px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:0;background:#223440;color:#f1f5f5;border:0;box-shadow:none;overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);visibility:hidden;pointer-events:none;transition:transform .3s cubic-bezier(.3,0,.2,1),visibility 0s .3s}
  .js-enabled .site-header nav.open {transform:translateX(0);visibility:visible;pointer-events:auto;transition:transform .3s cubic-bezier(.3,0,.2,1),visibility 0s}
  .site-header nav .nav-item {flex-direction:column;align-items:stretch;width:100%}
  .site-header nav a {font-family:'Instrument Serif',Georgia,serif;font-size:32px;line-height:1.25;padding:14px 0;border-bottom:1px solid #52636c;display:block}
  .site-header nav .nav-dropdown {position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;background:transparent;box-shadow:none;border:0;padding:0 0 14px 18px;display:flex;min-width:0;max-width:none}
  .site-header nav .nav-dropdown a {font-family:'DM Sans',Arial,sans-serif;font-size:14px;padding:6px 0;border-bottom:0;color:#d9e3e7}
  .nav-chevron {display:none}
  .dropdown-divider {display:none}
  .dropdown-group-title {padding-left:0;color:#94a8b2}
  .navigation-bottom {display:block;margin-top:auto;padding-top:36px}
  .navigation-bottom p {font-size:14px;color:#d9e3e7;line-height:1.7;margin-bottom:24px}
  .site-header .navigation-bottom .button {width:100%;min-height:50px;font-size:14px;padding:12px 20px}
  .services {padding-top:108px}
}
@media(prefers-reduced-motion:reduce){.site-header,.site-header *{transition:none!important}}
