html{--house-journey-height:60px;--house-horizon-height:65px;scroll-padding-top:calc(var(--house-journey-height) + 12px)}
.house-journey~.horizon-rail{top:var(--house-journey-height)}
.house-journey~.horizon-rail~section[id],
.house-journey~.horizon-rail~section [id]{scroll-margin-top:var(--house-horizon-height)}
@media(min-width:981px){.house-journey~section .evidence-margin{top:calc(var(--house-journey-height) + var(--house-horizon-height) + 12px)}}

.house-approach{
  border-top:1px solid var(--hairline-dark);
  padding:clamp(48px,6vw,84px) 0 clamp(52px,7vw,96px);
}

.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

.house-approach-shell{display:grid;gap:clamp(32px,5vw,68px)}

.house-approach-header{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(0,4fr);
  gap:clamp(24px,4vw,64px);
  border-top:3px solid currentColor;
  padding-top:12px;
}

.house-approach-header .section-index{margin:0;color:var(--fog)}
.house-approach-header .eyebrow{margin:0 0 18px;color:var(--lichen-bright)}
.house-approach-header h2{max-width:22ch;margin:0;font:600 clamp(2rem,4vw,3.5rem)/1.04 var(--sans);letter-spacing:-.045em}
.house-approach-header h2+p{max-width:760px;margin:22px 0 0;color:var(--paper);font-size:clamp(1rem,1.4vw,1.24rem);line-height:1.55}

.house-approach-grid{
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(270px,1fr);
  gap:clamp(28px,4vw,64px);
  align-items:start;
}

.house-approach-figure{min-width:0;margin:0}
.house-approach-frame{position:relative;border:1px solid var(--hairline-dark);background:var(--graphite);overflow:hidden}
.js .house-approach-frame--ready{background:var(--graphite) url("/assets/intelligent-room-immersion-cgi-v1.webp") center/cover no-repeat}
.house-approach-frame::after{
  position:absolute;
  inset:0;
  border:1px solid rgb(255 255 255/.12);
  content:"";
  pointer-events:none;
}
.house-approach-frame img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.js .house-approach-frame--ready img{opacity:0}
.house-approach-figure figcaption{
  display:flex;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid var(--hairline-dark);
  padding-top:10px;
  color:var(--fog);
  font:700 .64rem/1.45 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.house-approach-figure figcaption span:last-child{text-align:right}

.house-approach-points{position:absolute;inset:0;margin:0;padding:0;list-style:none}
.house-approach-point{position:absolute;z-index:2}
.house-approach-point--door{left:49%;top:48%}
.house-approach-point--systems{left:26%;top:46%}
.house-approach-point--utility{left:74%;top:62%}
.house-approach-point--spatial{left:73%;top:24%}
.house-approach-point a{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  border:1px solid rgb(255 255 255/.55);
  background:rgb(9 9 8/.92);
  color:var(--chalk);
  padding:6px 10px 6px 6px;
  font:700 .63rem/1.2 var(--mono);
  letter-spacing:.06em;
  text-decoration:none;
  text-transform:uppercase;
}
.house-approach-point a::before{
  position:absolute;
  left:-15px;
  top:50%;
  width:15px;
  border-top:1px solid var(--lichen-bright);
  content:"";
}
.house-approach-point a>span{
  display:grid;
  width:27px;
  height:27px;
  place-items:center;
  background:var(--lichen);
  color:var(--ink);
}
.house-approach-point a:is(:hover,:focus-visible){border-color:var(--lichen-bright);background:var(--chalk);color:var(--ink)}

.house-approach-guide{border-top:3px solid var(--lichen);padding-top:13px}
.house-approach-guide>.eyebrow{margin:0 0 22px;color:var(--lichen-bright)}
.house-approach-guide ol{margin:0;padding:0;list-style:none}
.house-approach-guide li{display:grid;grid-template-columns:32px 1fr;gap:12px;border-top:1px solid var(--hairline-dark);padding:14px 0}
.house-approach-guide li>span{color:var(--lichen-bright);font:700 .68rem/1.45 var(--mono)}
.house-approach-guide li p{margin:0;color:var(--fog);font-size:.86rem;line-height:1.45}
.house-approach-guide li strong{display:block;margin-bottom:2px;color:var(--chalk);font-size:.92rem}
.house-route-start{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:50px;
  margin-top:22px;
  border-block:1px solid var(--chalk);
  color:var(--chalk);
  font:700 .68rem/1.3 var(--mono);
  letter-spacing:.09em;
  text-decoration:none;
  text-transform:uppercase;
}
.house-route-start:is(:hover,:focus-visible){border-color:var(--lichen-bright);color:var(--lichen-bright)}
.house-route-note{margin:14px 0 0;color:var(--fog);font-size:.72rem;line-height:1.5}

.house-journey{
  --journey-progress:0%;
  position:sticky;
  top:0;
  z-index:24;
  border-block:1px solid var(--hairline-light);
  background:rgb(242 239 232/.97);
  color:var(--ink);
}
.house-journey-progress{position:absolute;inset:0 0 auto;height:3px;background:var(--paper);overflow:hidden}
.house-journey-progress span{display:block;width:var(--journey-progress);height:100%;background:var(--lichen)}
.house-journey-inner{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(0,4fr);width:var(--page);margin:auto}
.house-journey-inner>p:first-child{display:flex;flex-direction:column;justify-content:center;margin:0;border-right:1px solid var(--hairline-light);padding:11px 18px 10px 0}
.house-journey-inner>p:first-child span{color:var(--mineral);font:700 .54rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.house-journey-inner>p:first-child strong{font:700 .72rem/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.house-journey ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none}
.house-journey li{min-width:0}
.house-journey li+li{border-left:1px solid var(--hairline-light)}
.house-journey a{display:flex;align-items:center;gap:9px;min-height:58px;padding:8px clamp(9px,1.5vw,20px);font:700 clamp(.58rem,.8vw,.7rem)/1.25 var(--mono);letter-spacing:.035em;text-decoration:none;text-transform:uppercase}
.house-journey a span{color:var(--mineral)}
.house-journey a[aria-current="step"]{background:var(--ink);color:var(--chalk)}
.house-journey a[aria-current="step"] span{color:var(--lichen-bright)}
.house-journey a:is(:hover,:focus-visible){box-shadow:inset 0 -3px var(--lichen)}

.frontier-evidence-link{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:50px;
  border-block:1px solid var(--hairline-dark);
  padding:0;
  color:var(--chalk);
  font:700 .66rem/1.35 var(--mono);
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
}
.frontier-evidence-link:is(:hover,:focus-visible){border-color:var(--lichen-bright);color:var(--lichen-bright)}

@media (prefers-reduced-motion:no-preference){.house-journey-progress span{transition:width 180ms ease-out}}

@media(max-width:980px){
  .house-approach-header{grid-template-columns:1fr}
  .house-approach-grid{grid-template-columns:1fr}
  .house-approach-guide{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
  .house-approach-guide>.eyebrow,.house-approach-guide ol{grid-column:1/-1}
  .house-route-note{align-self:center;margin:22px 0 0}
  .house-journey-inner{grid-template-columns:1fr}
  .house-journey-inner>p:first-child{display:none}
}

@media(max-width:720px){
  html{--house-journey-height:56px;--house-horizon-height:0px}
  .house-approach{padding-top:40px}
  .house-approach-frame{overflow:visible;margin-bottom:0}
  .house-approach-frame img{aspect-ratio:4/3;object-position:center;object-fit:cover}
  .house-approach-points{position:static;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--hairline-dark);background:var(--black)}
  .house-approach-point{position:static}
  .house-approach-point:nth-child(even){border-left:1px solid var(--hairline-dark)}
  .house-approach-point:nth-child(n+3){border-top:1px solid var(--hairline-dark)}
  .house-approach-point a{border:0;background:transparent;padding:8px;letter-spacing:.035em}
  .house-approach-point a::before{display:none}
  .house-approach-figure figcaption{display:block}
  .house-approach-figure figcaption span{display:block;text-align:left!important}
  .house-approach-figure figcaption span+span{margin-top:4px}
  .house-approach-guide{display:block}
  .house-journey{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
  .house-journey-inner{width:max(100%,620px)}
  .house-journey a{min-height:54px}
}

@media(max-width:430px){
  .house-approach-points{grid-template-columns:1fr}
  .house-approach-point:nth-child(even){border-left:0}
  .house-approach-point:nth-child(n+2){border-top:1px solid var(--hairline-dark)}
}

@media(max-height:500px){
  html{--house-journey-height:0px;--house-horizon-height:0px;scroll-padding-top:16px}
  .house-journey,.house-journey~.horizon-rail{position:static}
  .house-journey~section .evidence-margin{position:static}
}

@media(forced-colors:active){
  .house-approach,.house-approach-frame,.house-approach-points{background:Canvas;color:CanvasText}
  .house-approach-point a,.house-route-start,.frontier-evidence-link{background:Canvas;color:LinkText;border-color:CanvasText}
  .house-approach-point a>span,.house-journey a[aria-current="step"]{background:Highlight;color:HighlightText}
  .house-journey{background:Canvas;color:CanvasText}
  .house-journey-progress span{background:Highlight}
}

@media print{
  .house-journey{position:static}
  .house-approach-points{display:none}
}
