/* Original mountain workspace. Static is the baseline; camera is progressive enhancement. */
.site-header {background:transparent;color:#1d3832}
.site-header .brand img {filter:brightness(0)}
.site-header>.button,.hero-copy .button {background:#365e4f;color:#fff;border-color:#365e4f}
.site-header nav a:hover {color:#365e4f;text-decoration:underline;text-underline-offset:6px}
.site-header .menu-toggle span {background:#1d3832}
.site-header :focus-visible,.hero-copy :focus-visible {outline-color:#365e4f}
.hero {background:#dfe7e1;height:auto}
.camera-stage {position:relative;isolation:isolate}
.camera-visual {position:relative;height:100svh;height:100dvh;min-height:360px;overflow:hidden;background:#dfe7e1}
.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;z-index:1}
.dusk-veil {position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(13,26,24,.62),rgba(18,36,32,.26) 45%,rgba(24,48,42,0) 75%);opacity:0;will-change:opacity;z-index:1}
.mountain-plate {object-fit:cover;object-position:50% 54%}
/* v12b: terrace-plane gradient removed — the deck plane is a pixel-continuation
   of the plate now, and both carry the baked ink edge blend; an overlay gradient
   on the plate alone created the tone step across the door lines. */
/* 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:2;left:26%;top:15.9%;width:47%;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:0%;top:88.5%;width:100%;height:9%;background:radial-gradient(closest-side,rgba(6,14,12,.40),rgba(6,14,12,.25) 40%,rgba(6,14,12,.10) 64%,transparent 78%);filter:blur(3px)}
/* Dreamy depth-of-field haze (founder direction): the scene stays clear at the
   screen center and melts nonlinearly toward the frame edges and the floor,
   masking keyed contact details (chair casters) as they magnify. The band sits
   LOW — below the chair mass, at the wheel line — and the corner blur only
   reaches the extreme frame edges. Above the scene planes, below copy+screen. */
.camera-haze {position:absolute;inset:0;pointer-events:none;z-index:3}
.haze-bottom {inset:auto 0 0 0;height:15%;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);mask-image:linear-gradient(to top,rgba(0,0,0,.96),rgba(0,0,0,.55) 45%,rgba(0,0,0,.16) 76%,transparent);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.96),rgba(0,0,0,.55) 45%,rgba(0,0,0,.16) 76%,transparent)}
.haze-edges {backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);mask-image:radial-gradient(128% 108% at 50% 44%,transparent 66%,rgba(0,0,0,.4) 85%,rgba(0,0,0,.88));-webkit-mask-image:radial-gradient(128% 108% at 50% 44%,transparent 66%,rgba(0,0,0,.4) 85%,rgba(0,0,0,.88))}
.monitor-idle {position:absolute;z-index:2;left:36.57%;top:20.07%;width:27.44%;height:15.48%;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:none}
.hero .hero-copy {position:absolute;top:0;left:0;right:0;padding:116px 24px 0;max-width:820px;z-index:5;color:#1d3832;transform-origin:50% 0}
/* Soft paper haze behind the copy: keeps the headline legible where the
   balcony railing and door frames cross behind the text. */
.hero .hero-copy::before {content:'';position:absolute;inset:-34px -56px -20px;background:radial-gradient(62% 72% at 34% 42%,rgba(247,245,240,.42),rgba(247,245,240,0) 72%);z-index:-1;pointer-events:none}
.hero h1 {font-size:clamp(50px,4.9vw,76px);line-height:1.02}
.hero-copy p {color:#3f534a;font-size:14px;margin:20px auto 20px;line-height:1.65}
.services-window {position:relative;z-index:6;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;height:100dvh;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:#2b4d40;color:#fff;border-color:#2b4d40}}
@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}
  .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:-9%;top:31.2%;width:116%}
  .haze-bottom {height:22%}
.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}}
@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:#1d3832;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}}
