/* Scoped to the homepage: retain the established hero and brand. */
.oasis-spatial-home .hero .button.outline { border-color:#c6dacb80; }
.oasis-spatial-home .hero .button.light { background:#e8eee7; border-color:#e8eee7; }
.oasis-spatial-home .service-strip { border-bottom:0; }
.oasis-spatial {
  --spatial-bg:#041d2c;
  --spatial-ink:#f1f5f3;
  --spatial-muted:#b8cbd0;
  --spatial-line:#385663;
  --spatial-accent:#bdddcf;
  padding:40px 0 32px;
  background:var(--spatial-bg);
  color:var(--spatial-ink);
  scroll-margin-top:0;
}
.oasis-spatial .spatial-heading { display:flex; justify-content:space-between; align-items:end; gap:48px; margin-bottom:24px; }
.oasis-spatial .spatial-kicker { margin:0 0 12px; color:var(--spatial-muted); font-size:10px; letter-spacing:.16em; line-height:1.6; }
.oasis-spatial .spatial-heading h2 { margin:0; font-size:clamp(40px,4.4vw,62px); line-height:1.04; letter-spacing:-.05em; font-weight:500; }
.oasis-spatial .spatial-heading h2 span { color:var(--spatial-accent); }
.oasis-spatial .spatial-heading>p { max-width:300px; margin:0 0 4px; color:#d2e0e2; font-size:15px; line-height:1.7; }
.oasis-spatial .spatial-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:40px; align-items:center; margin-bottom:22px; }
.oasis-spatial .spatial-stage { min-width:0; }
.oasis-spatial .spatial-room-options { display:flex; gap:4px; border-bottom:1px solid var(--spatial-line); margin-bottom:8px; }
.oasis-spatial .spatial-room-options button { position:relative; flex:1; background:transparent; color:#b8cbd0; border:0; border-bottom:2px solid transparent; padding:11px 7px; min-height:44px; font-size:13px; white-space:nowrap; }
.oasis-spatial .spatial-room-options button[aria-pressed=true] { color:var(--spatial-ink); border-bottom-color:var(--spatial-accent); }
.oasis-spatial .spatial-room-options button[data-included=true]:after { content:'✓'; margin-left:6px; color:var(--spatial-accent); }
.oasis-spatial .spatial-canvas { position:relative; aspect-ratio:1.5; max-width:620px; margin-inline:auto; overflow:hidden; isolation:isolate; }
.oasis-spatial .spatial-canvas>img { width:100%; height:100%; object-fit:contain; transform-origin:var(--spatial-origin,32% 65%); transition:transform .55s cubic-bezier(.16,1,.3,1); }
.oasis-spatial .spatial-canvas[data-inspect=true]>img { transform:scale(1.38); }
.oasis-spatial .spatial-point { position:absolute; transform:translate(-50%,-50%); width:44px; height:44px; border:1px solid #d9ecea; border-radius:50%; background:#102d3d; color:#fff; font-size:11px; font-weight:600; box-shadow:0 0 0 5px #071c2b55; z-index:1; }
.oasis-spatial .spatial-point[aria-pressed=true] { background:var(--spatial-accent); color:#102e3a; border-color:var(--spatial-accent); box-shadow:0 0 0 6px #bdddcf38; }
.oasis-spatial .spatial-point--reception { left:32%; top:65%; }
.oasis-spatial .spatial-point--meeting { left:74%; top:49%; }
.oasis-spatial .spatial-point--kitchen { left:24%; top:28%; }
.oasis-spatial .spatial-canvas[data-inspect=true] .spatial-point { visibility:hidden; }
.oasis-spatial .spatial-tools { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:3px 4px 0; }
.oasis-spatial .spatial-work-link { display:inline-flex; gap:12px; align-items:center; min-height:44px; font-size:12px; color:#d2e0e2; }
.oasis-spatial .spatial-work-link svg { width:15px; height:15px; }
.oasis-spatial .spatial-zoom { min-height:44px; padding:10px 16px; font-size:12px; color:var(--spatial-ink); background:transparent; border:1px solid #54707b; border-radius:24px; }
.oasis-spatial .spatial-zoom[aria-pressed=true] { background:var(--spatial-accent); color:#153a47; }
.oasis-spatial .spatial-detail { min-width:0; padding:12px 0 12px 28px; border-left:1px solid var(--spatial-line); }
.oasis-spatial .spatial-detail-top { display:flex; justify-content:space-between; gap:12px; color:var(--spatial-muted); font-size:10px; letter-spacing:.06em; line-height:1.5; }
.oasis-spatial .spatial-detail h3 { margin:16px 0 12px; font-size:29px; line-height:1.1; letter-spacing:-.035em; font-weight:500; }
.oasis-spatial .spatial-detail p { margin:0 0 14px; color:#cbdce0; font-size:14px; line-height:1.6; }
.oasis-spatial .spatial-materials { padding:0 0 14px; border-bottom:1px solid var(--spatial-line); }
.oasis-spatial .spatial-materials p { margin:0; color:var(--spatial-accent); font-size:12px; }
.oasis-spatial .spatial-tasks { padding:0; margin:16px 0; list-style:none; }
.oasis-spatial .spatial-tasks li { position:relative; padding-left:14px; margin:7px 0; color:#d3e0e2; font-size:13px; line-height:1.6; }
.oasis-spatial .spatial-tasks li:before { content:''; position:absolute; left:0; top:9px; width:4px; height:4px; border-radius:50%; background:var(--spatial-accent); }
.oasis-spatial .spatial-service { display:inline-flex; align-items:center; min-height:38px; margin-bottom:12px; color:#dbe9e4; text-decoration:underline; text-underline-offset:4px; font-size:12px; }
.oasis-spatial .spatial-add { display:block; width:100%; min-height:48px; padding:12px 16px; background:var(--spatial-accent); border:1px solid var(--spatial-accent); color:#133644; font-size:13px; font-weight:600; border-radius:3px; }
.oasis-spatial .spatial-add[aria-pressed=true] { background:#163d49; color:var(--spatial-accent); }
.oasis-spatial .spatial-detail .spatial-note { margin:10px 0 0; color:var(--spatial-muted); font-size:11px; line-height:1.55; }
.oasis-spatial .spatial-status { position:absolute; clip-path:inset(50%); width:1px; height:1px; overflow:hidden; white-space:nowrap; }
.oasis-spatial .spatial-static a { display:inline-block; margin:0 12px 12px 0; text-decoration:underline; font-size:13px; }
.oasis-spatial .spatial-brief { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:16px 24px; background:#e8eee7; color:#173c42; border-radius:3px; }
.oasis-spatial .spatial-selection { min-width:0; }
.oasis-spatial .spatial-selection-title { margin:0 0 8px; color:#173c42; font-weight:650; font-size:14px; line-height:1.4; }
.oasis-spatial .spatial-selected { display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0 0 8px; padding:0; }
.oasis-spatial .spatial-selected li { padding:5px 9px; background:#d5e1d8; color:#173a3b; font-size:12px; line-height:1.4; border-radius:3px; }
.oasis-spatial .spatial-handoff { color:#47625c; font-size:12px; line-height:1.5; margin:0; }
.oasis-spatial .spatial-brief-actions { display:flex; flex-direction:column; align-items:center; flex-shrink:0; gap:2px; }
.oasis-spatial .spatial-continue { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; min-height:50px; padding:14px 22px; background:#153b48; color:#fff; font-size:13px; font-weight:600; border-radius:3px; }
.oasis-spatial .spatial-continue svg { width:18px; height:18px; }
.oasis-spatial .spatial-clear { background:none; border:0; color:#33574e; text-decoration:underline; text-underline-offset:4px; min-height:44px; padding:10px 14px; font-size:12px; }
.oasis-spatial .spatial-add:hover { background:#d4e8de; color:#133644; }
.oasis-spatial .spatial-continue:hover { background:#225365; }
.oasis-spatial-home .work-section { padding:64px 0; background:#f5f2eb; }
.oasis-spatial-home .work-section .section-top { gap:48px; margin-bottom:28px; align-items:end; }
.oasis-spatial-home .work-section .section-top h2 { font-size:clamp(34px,3.3vw,48px); margin-bottom:0; }
.oasis-spatial-home .work-section .section-top p:not(.eyebrow) { font-size:14px; max-width:420px; margin-bottom:16px; }
.oasis-spatial-home .work-section .eyebrow { margin-bottom:12px; }
.oasis-spatial-home .work-section .work-preview { gap:24px; }
.oasis-spatial-home .work-section .photo-open img { height:250px; }
.oasis-spatial-home .work-section .work-caption { padding-top:20px; }
.oasis-spatial-home .work-section .work-caption h3 { font-size:22px; margin-bottom:8px; }
.oasis-spatial-home .work-section .work-caption p { font-size:13px; line-height:1.6; }
@media(min-width:1051px) {
  .oasis-spatial .spatial-heading h2 { font-size:48px; }
  .oasis-spatial .spatial-heading h2 br { display:none; }
  .oasis-spatial .spatial-heading h2 span { margin-left:.18em; }
}
@media(max-width:1050px) {
  .oasis-spatial .spatial-layout { grid-template-columns:minmax(0,1fr) 290px; gap:24px; }
  .oasis-spatial .spatial-detail { padding-left:20px; }
  .oasis-spatial .spatial-detail h3 { font-size:27px; }
}
@media(max-width:800px) {
  .oasis-spatial { padding:38px 0 32px; }
  .oasis-spatial .spatial-heading { gap:24px; }
  .oasis-spatial .spatial-heading h2 { font-size:46px; }
  .oasis-spatial .spatial-heading>p { max-width:245px; font-size:14px; }
  .oasis-spatial .spatial-layout { grid-template-columns:1fr; gap:28px; }
  .oasis-spatial .spatial-detail { padding:24px; border:1px solid var(--spatial-line); border-radius:3px; }
  .oasis-spatial .spatial-tasks { columns:2; column-gap:24px; }
  .oasis-spatial .spatial-tasks li { break-inside:avoid; }
  .oasis-spatial-home .work-section .photo-open img { height:210px; }
}
@media(max-width:600px) {
  .oasis-spatial { padding:32px 0 24px; }
  .oasis-spatial .spatial-heading { display:block; margin-bottom:20px; }
  .oasis-spatial .spatial-heading h2 { font-size:40px; }
  .oasis-spatial .spatial-heading>p { max-width:330px; margin:16px 0 0; font-size:14px; }
  .oasis-spatial .spatial-room-options button { font-size:12px; padding-inline:4px; }
  .oasis-spatial .spatial-canvas { margin-inline:-10px; }
  .oasis-spatial .spatial-tools { padding:3px 0 0; }
  .oasis-spatial .spatial-zoom { padding-inline:12px; }
  .oasis-spatial .spatial-layout { gap:22px; margin-bottom:18px; }
  .oasis-spatial .spatial-detail { padding:20px; }
  .oasis-spatial .spatial-detail h3 { font-size:28px; margin-top:14px; }
  .oasis-spatial .spatial-tasks { columns:auto; margin-block:12px; }
  .oasis-spatial .spatial-tasks li { font-size:13px; }
  .oasis-spatial .spatial-brief { display:block; padding:20px; }
  .oasis-spatial .spatial-brief-actions { align-items:stretch; margin-top:16px; }
  .oasis-spatial .spatial-continue { padding-inline:18px; }
  .oasis-spatial-home .work-section { padding:42px 0; }
  .oasis-spatial-home .work-section .section-top { gap:20px; margin-bottom:24px; }
  .oasis-spatial-home .work-section .section-top h2 { font-size:36px; }
  .oasis-spatial-home .work-section .work-preview { gap:28px; }
  .oasis-spatial-home .work-section .photo-open img { height:230px; }
  .oasis-spatial-home .work-section .work-caption { padding-top:14px; }
}
@media(prefers-reduced-motion:reduce) { .oasis-spatial * { transition:none!important; } }
