/* ERA × Primland direction: a cinematic, photo-first presentation with a
   restrained interface and warm architectural accents. This file intentionally
   comes last so the older prototype themes remain easy to roll back. */
:root{
  --ink:#eef2f1;
  --muted:#aebbc0;
  --paper:#0b141b;
  --accent:#c9a66b;
  --accent-bright:#e2c58f;
  --line:#33464f;
  --surface:#14232b;
  --surface-2:#1a2b34;
  --sans:"Inter","Avenir Next","Helvetica Neue",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --sc-canvas:#0b141b;
  --sc-surface:#14232b;
  --sc-ink:#eef2f1;
  --sc-ink-soft:#aebbc0;
  --sc-accent:#c9a66b;
  --sc-accent-ink:#0b141b;
  --sc-font-display:var(--sans);
  --sc-font-text:var(--sans)
}

html{background:var(--paper);scroll-behavior:auto}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;letter-spacing:-.01em}
button,a,input,select,textarea{font-family:var(--sans)}
button{border-radius:999px;border-color:var(--line);font-weight:500;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}
button:active{transform:translateY(0)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}
button.primary,.primary{background:var(--accent);border-color:var(--accent);color:#0b141b;border-radius:999px;box-shadow:0 8px 24px #0005;padding:13px 22px;font-size:14px;font-weight:650}
button.primary:hover,.primary:hover{background:var(--accent-bright);border-color:var(--accent-bright);box-shadow:0 10px 30px #0007}

/* The navigation floats over the first photograph, as on the reference sites. */
.topbar{height:76px;padding:0 clamp(18px,4vw,64px);position:sticky;top:0;z-index:25;background:#0b141bf2;color:var(--ink);border-bottom:1px solid #ffffff12;backdrop-filter:blur(18px);gap:20px}
.front-open .topbar{position:fixed;inset:0 0 auto;height:76px;background:linear-gradient(180deg,#071016d9 0%,#07101645 70%,transparent 100%);border-bottom:0;backdrop-filter:none}
.agency{color:var(--ink);font-size:14px;letter-spacing:.02em;max-width:300px}
.agency:hover{background:transparent;color:var(--accent-bright)}
.logo-mark{width:38px;height:38px;background:#ffffff0d;border:1px solid #d6b47780;border-radius:50%;color:var(--accent-bright)}
.header-caption{font-size:11px;letter-spacing:.19em;color:#d7e0df}
.home-button{color:#d7e0df}
.home-button:hover{background:#ffffff10}
.header-actions{gap:12px}
.language{color:#edf2f0;border-color:#ffffff36;background:#0b141b66;padding:9px 13px;font-size:13px}
.language:hover{background:#ffffff18}
.header-actions .primary{padding:11px 18px;font-size:13px}

/* Full-bleed arrival screen. The copy sits inside the image but is not boxed. */
.welcome{position:fixed;inset:0;z-index:5;padding:0;background:var(--paper);color:var(--ink);overflow:auto;display:none}
.front-open .welcome{display:block}
.front-open .workspace{position:fixed;inset:76px 0 0;visibility:hidden}
.arrival{max-width:none;margin:0;padding:0;position:relative}
.hero-visual{height:100svh;min-height:620px;position:relative;overflow:hidden;border-radius:0;background:#15252d}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center 47%;filter:saturate(1.08) contrast(1.04) brightness(1.08);transform:scale(1.03);will-change:transform}
.hero-visual::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#071016d1 0%,#0710166b 35%,#07101608 70%),linear-gradient(0deg,#071016c9 0%,#0710162b 34%,transparent 62%)}
.hero-visual::after{content:"01  /  05";position:absolute;z-index:2;right:clamp(22px,4vw,64px);top:clamp(110px,18vh,170px);color:#f1dfbd;font-size:11px;letter-spacing:.22em;writing-mode:vertical-rl;border-right:1px solid #f1dfbd99;padding-right:12px}
.hero-copy{position:absolute;z-index:3;left:clamp(22px,7vw,112px);bottom:clamp(145px,19vh,210px);margin:0;padding:0;max-width:min(780px,75vw);background:transparent;box-shadow:none}
.hero-kicker{color:#e5c895;font-size:11px;letter-spacing:.2em;line-height:1.5;margin:0 0 20px}
.hero-copy h1{font:500 clamp(48px,7vw,104px)/.95 var(--sans);letter-spacing:-.065em;color:#f5f6f3;max-width:760px;margin:0 0 22px;text-wrap:balance}
.hero-description{color:#eef2f0;font-size:17px;line-height:1.55;max-width:430px;margin:0 0 28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px}
.enter-button{min-height:50px;padding:14px 22px!important;gap:9px;font-size:14px!important}
.play-icon{width:16px;height:16px;border:0;padding:0;color:inherit}
.hero-secondary{min-height:50px;border:1px solid #f4f5f080;background:#07101624;color:#f4f5f3;border-radius:999px;padding:13px 21px;font-size:14px}
.hero-secondary:hover{background:#ffffff18;border-color:#fff}
.floating-detail{position:absolute;z-index:4;top:clamp(112px,18vh,172px);right:clamp(22px,8vw,130px);bottom:auto;width:190px}
.detail-image{display:block;width:100%;padding:5px;background:#07101668;border:1px solid #fff8;border-radius:15px;box-shadow:0 14px 40px #0007;overflow:hidden;text-align:start;backdrop-filter:blur(8px)}
.detail-image:hover{border-color:var(--accent-bright);background:#0710169c;transform:translateY(-2px)}
.detail-image img{height:112px;width:100%;object-fit:cover;border-radius:10px;display:block;filter:saturate(1.05) brightness(1.06)}
.detail-image span{display:block;padding:10px 8px 8px;color:#fff;font-size:12px;letter-spacing:.02em}
.hero-specs{position:absolute;z-index:3;left:clamp(22px,7vw,112px);bottom:clamp(78px,10vh,112px);margin:0;color:#e8efed;font-size:13px;line-height:1.45;gap:0}
.hero-specs span{padding:0 18px;border-inline-end:1px solid #ffffff61}
.hero-specs span:first-child{padding-inline-start:0}
.hero-specs span:last-child{border:0}
.photo-note{position:absolute;z-index:3;left:clamp(22px,7vw,112px);right:clamp(22px,4vw,64px);bottom:24px;margin:0;color:#c8d1d1;font-size:13px;line-height:1.45;gap:18px}
.photo-note button{padding:4px 0;border:0;border-bottom:1px solid #ffffff9c;border-radius:0;color:#fff;font-size:13px}
.photo-note button:hover{background:none;color:var(--accent-bright);border-color:var(--accent-bright)}

/* ScrollCraft story beneath the hero: quiet, spacious and image-led. */
.interior-story,.room-story,.viewing-close{background:var(--paper);max-width:none;padding-inline:clamp(22px,7vw,112px)}
.interior-story{margin:0;padding-top:clamp(86px,12vw,170px);padding-bottom:clamp(86px,12vw,170px);grid-template-columns:minmax(0,1.2fr) minmax(280px,.72fr);gap:clamp(36px,8vw,130px);align-items:center;border-top:1px solid #ffffff10}
.interior-image{border-radius:3px;box-shadow:0 24px 70px #0008;overflow:hidden;position:relative}
.interior-image::after{content:"";position:absolute;inset:18px;border:1px solid #e5c99466;pointer-events:none}
.interior-image img{filter:saturate(1.06) brightness(1.04);display:block}
.interior-copy{max-width:430px}
.interior-copy h2,.room-story h2,.viewing-close h2{font:500 clamp(32px,4.4vw,62px)/1.03 var(--sans);letter-spacing:-.055em;color:#eef3f1;margin:0 0 22px}
.interior-copy p{color:var(--muted);font-size:16px;line-height:1.65;margin:0 0 24px}
.interior-copy p.small{font-size:12px;margin-top:22px;color:#85969c}
.room-story{margin:0;padding-top:0;padding-bottom:clamp(86px,12vw,170px)}
.room-story h2{font-size:clamp(28px,4vw,54px);max-width:620px}
.room-rail{gap:12px;padding:12px 0 24px}
.room-rail button{min-height:146px;flex:1 0 245px;padding:24px;text-align:start;display:flex;flex-direction:column;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid #ffffff1c;border-radius:3px;color:var(--ink);scroll-snap-align:start}
.room-rail button:hover{background:var(--surface-2);border-color:#d4b37999;transform:translateY(-3px)}
.room-rail span{font-size:20px;letter-spacing:-.025em}.room-rail small{font-size:12px;color:#99aab0;letter-spacing:.06em;text-transform:uppercase}
.viewing-close{margin:0;padding-top:30px;padding-bottom:clamp(55px,8vw,100px);border-top:1px solid #ffffff24;display:flex;align-items:center;justify-content:space-between;gap:22px}
.viewing-close h2{margin:0;font-size:clamp(28px,4vw,54px)}

/* Tour: a dark glass control layer lets the model and its shadows lead. */
.workspace{height:calc(100dvh - 76px)}
.sidebar{background:#0d181f;color:var(--ink);border-inline-end:1px solid #ffffff1c}
.intro{border-color:#ffffff1c}.intro h1{font-size:34px;color:#eef3f1}.intro-text,.stats span,.small{color:#9babb0}.eyebrow{color:#d2b77f}.stats strong{font-family:var(--sans);font-weight:500;color:#f3f5f2}
.explore{background:#0d181f}.section-label h2{font-size:15px;color:#eef3f1}.floor-tabs,.view-switch{background:#0c171e;border:1px solid #ffffff1c}.floor-tabs button,.view-switch button{color:#c2d0d3}.floor-tabs button.active,.view-switch button.active{background:var(--accent);color:#0b141b}.room-list button{color:#dfe8e7}.room-list button.active{background:#243b3a;color:#f5e3bb}.contact-button{background:transparent;border-color:#d7b574;color:#e3c891}.contact-button:hover{background:#d7b57416}.text-button,.muted{color:#a5b4b8}
.tour{background:#0b141b}.scene-top{top:20px}.float-button,.minimap,.walking .scene-label{background:#0d1b23df;color:#edf3f1;border:1px solid #ffffff2b;border-radius:3px;box-shadow:0 9px 26px #0006}.float-button:hover{background:#20343c;border-color:#d7b57499}.scene-label{border-inline-start:2px solid var(--accent);padding:12px 16px;max-width:48%;background:#0d1b23b8}.scene-label h2,.scene-label p,.scene-label .eyebrow{color:#eef3f1;text-shadow:none}.scene-label p{color:#aebec1}.scene-bottom{background:linear-gradient(transparent,#081219e8)}.scene-bottom p{color:#dae4e2;font-size:14px;line-height:1.45}.concept-badge{background:#0d1b23d9;color:#d7bf8c;font-size:13px}.map-dot{background:var(--accent)}#map{background:#e5e3d9;border-radius:3px}
.loading,.error{background:#0b141b;color:#edf3f1}.spinner{border-color:#ffffff24;border-top-color:var(--accent)}
.look-buttons button{background:#0d1b23e6;color:#f4e4c1;border-color:#ffffff3a}.look-buttons button:hover{background:#d7b574;color:#0b141b}
dialog,.photo-dialog{background:#12232b;color:#edf3f1;border:1px solid #ffffff25;border-radius:3px}dialog::backdrop{background:#02080cbb;backdrop-filter:blur(10px)}dialog h2{font-family:var(--sans);font-weight:500;color:#f2f5f2}dialog p,dialog li{color:#b7c5c8}dialog a{color:#e1c48a}.dialog-close{background:#0d1b23;color:#fff;border:1px solid #ffffff30}.dialog-close:hover{background:#d7b574;color:#0b141b}input,select,textarea{background:#0b171e;border-color:#3e555e;color:#edf3f1;border-radius:3px}.notice,.reference-fact{background:#1a3034;color:#dce5e2}.photo-stage{background:#071218;border-radius:3px}.gallery-arrow{background:#0c1b25ed;border-color:#fff8;color:#f1dcad}.gallery-arrow:hover,.gallery-arrow:active{background:#d7b574;color:#0b141b}.photo-caption a{color:#e0c28a}.photo-thumbs button[aria-pressed=true]{border-color:var(--accent)}

@media(max-width:900px){
  .hero-copy{left:clamp(22px,6vw,60px);max-width:78vw}
  .floating-detail{right:22px;width:164px}.detail-image img{height:96px}
  .hero-specs{left:clamp(22px,6vw,60px)}.photo-note{left:clamp(22px,6vw,60px)}
  .interior-story{gap:46px}
}
@media(max-width:760px){
  .topbar,.front-open .topbar{height:68px;padding:0 15px;gap:8px}.front-open .workspace{inset:68px 0 0}.agency{font-size:13px;max-width:145px;gap:8px}.logo-mark{width:33px;height:33px}.header-caption{display:none}.header-actions{gap:6px}.header-actions .primary{font-size:12px;padding:10px 12px}.language{font-size:13px;padding:8px 9px;border:0;background:transparent}
  .hero-visual{height:100svh;min-height:580px}.hero-photo{object-position:58% center;filter:saturate(1.06) contrast(1.03) brightness(1.1)}.hero-visual::before{background:linear-gradient(90deg,#071016dd 0%,#07101683 60%,#07101620 100%),linear-gradient(0deg,#071016ec 0%,#07101638 40%,transparent 70%)}.hero-visual::after{right:17px;top:97px;font-size:10px}
  .hero-copy{left:22px;right:22px;bottom:184px;max-width:none}.hero-kicker{font-size:10px;letter-spacing:.14em;margin-bottom:13px}.hero-copy h1{font-size:clamp(42px,13vw,62px);line-height:.96;margin-bottom:17px;max-width:360px}.hero-description{font-size:15px;line-height:1.5;max-width:320px;margin-bottom:21px}.hero-actions{gap:8px}.hero-actions button{min-height:46px;font-size:13px!important;padding:12px 16px!important}.floating-detail{top:91px;right:16px;width:130px}.detail-image{padding:4px}.detail-image img{height:74px}.detail-image span{font-size:11px;padding:7px 6px}.hero-specs{left:22px;right:22px;bottom:92px;font-size:12.5px;line-height:1.45;gap:5px 0}.hero-specs span{padding:0 10px}.hero-specs span:first-child{padding-inline-start:0}.photo-note{left:22px;right:22px;bottom:24px;font-size:12px;line-height:1.45;gap:10px}.photo-note button{font-size:12px;white-space:nowrap}.scene-bottom p{font-size:13px;line-height:1.45}.concept-badge{font-size:12px}
  .interior-story{display:flex;flex-direction:column;align-items:stretch;padding:72px 22px 82px;gap:30px}.interior-copy{max-width:none}.interior-copy h2,.room-story h2,.viewing-close h2{font-size:37px}.interior-copy p{font-size:15px}.room-story{padding-inline:22px;padding-bottom:82px}.room-rail button{flex-basis:78%;min-height:132px;padding:21px}.room-rail span{font-size:19px}.viewing-close{padding:26px 22px 60px;flex-wrap:wrap}.viewing-close h2{font-size:34px}
  .workspace{height:calc(100dvh - 68px)}.scene-top{top:13px;inset-inline:11px}.view-switch{flex:1;min-width:0}.view-switch button{font-size:12px;padding:10px 4px}.float-button{font-size:12px;padding:9px 10px}.scene-label{top:83px;inset-inline-start:14px;max-width:calc(100% - 28px);padding:10px 12px}.scene-label h2{font-size:22px}.view-tools{bottom:237px;inset-inline-end:11px;max-width:142px;gap:5px}.view-tools button{font-size:12px;padding:8px 9px}.minimap{right:11px;bottom:80px;width:118px}.walk-controls{inset-inline:14px;bottom:82px}
  dialog{padding:28px 20px}.photo-dialog{padding:22px 15px}.photo-heading h2{font-size:28px}.photo-stage>img{height:34vh;min-height:185px}.photo-caption{margin:14px 0;display:block}.photo-caption>a{display:inline-block;margin-top:9px}.photo-thumbs{margin-bottom:16px}
}
@media(max-width:380px){.agency{max-width:112px;font-size:12px}.header-actions .primary{font-size:11px;padding:10px}.hero-copy{bottom:180px}.hero-copy h1{font-size:40px}.hero-specs{font-size:11.5px}.hero-specs span{padding-inline:7px}.photo-note{font-size:11px}.photo-note button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-photo{transform:none}.detail-image:hover,.room-rail button:hover{transform:none}}
