/* v10 · site-wide feel from the house (Pinnacle Projects website, 18 Oct 2026).
   One motion language (the house's curve and timings), a solid header (never a live blur over moving pictures),
   smooth wheel scrolling on desktop, and a soft gold light that follows the cursor across dark sections. */
.bar.scrolled{background:#0b1424;-webkit-backdrop-filter:none;backdrop-filter:none}
html.lenis{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}
.v10-light{position:fixed;left:0;top:0;z-index:2;width:760px;height:760px;margin:-380px 0 0 -380px;border-radius:50%;pointer-events:none;opacity:0;
  background:radial-gradient(closest-side,rgba(227,199,138,.11),rgba(227,199,138,.045) 46%,rgba(227,199,138,0));mix-blend-mode:screen;
  transition:opacity .6s cubic-bezier(.2,.7,.1,1);will-change:transform}
.v10-light.on{opacity:1}
@media (pointer:coarse),(hover:none),(prefers-reduced-motion:reduce){.v10-light{display:none}}
/* pages that open on the house */
body[data-house]{background:#0b1424}
body[data-house]::after{display:none}
body[data-house]>.cur{display:none}
body[data-house] .bar,body[data-house] .bar.scrolled{background:linear-gradient(to bottom,rgba(11,20,36,.72),rgba(11,20,36,0));-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .6s cubic-bezier(.2,.7,.1,1)}
body[data-house] .bar.hx-solid{background:#0b1424}
body[data-house] .bar::after{opacity:0}
body[data-house] .bar.hx-solid::after{opacity:.5}
/* the phone quick bar: solid too (a blur under a moving picture redraws on every frame) */
.mbar{background:#070c17;-webkit-backdrop-filter:none;backdrop-filter:none}
/* the Ask dock and the house's motion / Illustration chips share the bottom-right corner on desktop: the chips step left */
@media (min-width:1041px){body[data-house] .hx .hx-hud{right:calc(max(26px, env(safe-area-inset-right,0px)) + 128px)}}
/* phones and tablets: the quick bar (Email · Packet · Start · Ask) owns the bottom 49px, so the room copy and the chips sit above it */
@media (max-width:1040px){
  body[data-house] .hx .hx-copy{margin-bottom:50px}
}
@media (min-width:761px) and (max-width:1040px){
  body[data-house] .hx .hx-copy{margin-bottom:calc(50px + env(safe-area-inset-bottom,0px))}
  body[data-house] .hx .hx-hud{bottom:calc(26px + 50px + env(safe-area-inset-bottom,0px))}
}

/* the client tablet in the contractor and design-firm walk-throughs, raised to the house app (instrument panel):
   corner ticks, icon scene keys, and in the Home tab our own rendering of the home, lit by the scene you tap */
.tu-screen{border:1px solid rgba(227,199,138,.22);background:linear-gradient(rgba(201,162,74,.85),rgba(201,162,74,.85)) left top/12px 1px no-repeat,linear-gradient(rgba(201,162,74,.85),rgba(201,162,74,.85)) left top/1px 12px no-repeat,linear-gradient(rgba(201,162,74,.85),rgba(201,162,74,.85)) right top/12px 1px no-repeat,linear-gradient(rgba(201,162,74,.85),rgba(201,162,74,.85)) right top/1px 12px no-repeat,linear-gradient(rgba(201,162,74,.85),rgba(201,162,74,.85)) left bottom/12px 1px no-repeat,linear-gradient(rgba(201,162,74,.85),rgba(201,162,74,.85)) left bottom/1px 12px no-repeat,linear-gradient(rgba(201,162,74,.85),rgba(201,162,74,.85)) right bottom/12px 1px no-repeat,linear-gradient(rgba(201,162,74,.85),rgba(201,162,74,.85)) right bottom/1px 12px no-repeat,#0b1424}
.tu-big{font-variant-numeric:tabular-nums}
.tu-scenes button{transition:background .24s cubic-bezier(.2,.7,.1,1),border-color .24s,color .24s}
.tu-scenes button[data-scene],.tu-scenes button[data-shade]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font:500 11px/1 var(--font);letter-spacing:.02em}
.tu-scenes button[data-scene]::before,.tu-scenes button[data-shade]::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;opacity:.9}
.tu-scenes button[aria-pressed="true"]{color:#f3dc9c;background:linear-gradient(180deg,rgba(201,162,74,.24),rgba(201,162,74,.07));border-color:rgba(227,199,138,.85);box-shadow:inset 0 0 0 1px rgba(227,199,138,.22)}
.tu-scenes button[data-scene="day"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Cpath d='M8 1v2M8 13v2M1 8h2M13 8h2M3 3l1.4 1.4M11.6 11.6 13 13M3 13l1.4-1.4M11.6 4.4 13 3'/%3E%3C/svg%3E")}
.tu-scenes button[data-scene="dinner"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 1.5h6l-.6 4.2a2.4 2.4 0 0 1-4.8 0L5 1.5zM8 8v6M5.5 14.5h5'/%3E%3C/svg%3E")}
.tu-scenes button[data-scene="movie"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1.5' y='3' width='13' height='10'/%3E%3Cpath d='M6.5 6v4l3.5-2z'/%3E%3C/svg%3E")}
.tu-scenes button[data-scene="night"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.8 10.4A5.6 5.6 0 0 1 5.6 3.2a5.6 5.6 0 1 0 7.2 7.2z'/%3E%3C/svg%3E")}
.tu-scenes button[data-shade="open"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='12' height='12'/%3E%3Cpath d='M2 4.5h12'/%3E%3C/svg%3E")}
.tu-scenes button[data-shade="half"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='12' height='12'/%3E%3Cpath d='M2 4.5h12M2 7h12M2 9h12'/%3E%3C/svg%3E")}
.tu-scenes button[data-shade="closed"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='12' height='12'/%3E%3Cpath d='M2 4.5h12M2 7h12M2 9.5h12M2 12h12'/%3E%3C/svg%3E")}
.tu-hv{position:relative;margin-top:12px;aspect-ratio:1.93;overflow:hidden;border:1px solid rgba(245,242,234,.14);background:#17203d url(/media/house/hv/home-day-1600.webp) 52% 46%/112% auto no-repeat}
.tu-hv canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .6s cubic-bezier(.2,.7,.1,1)}
.tu-hv.on canvas{opacity:1}
.tu-hv .tu-il{position:absolute;right:6px;bottom:6px;font:500 9px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(245,242,234,.72);background:rgba(7,13,25,.82);padding:5px 6px;border:1px solid rgba(245,242,234,.14)}
/* tap targets: every link and button at least 24 px tall (WCAG 2.2 AA, 2.5.8), the look unchanged */
a.link{min-height:28px;display:inline-flex;align-items:flex-end}
.f-base a,.law a,.mk3 a{display:inline-block;padding-block:4px}
.credit a.sage-mark{display:inline-flex;align-items:center;min-height:26px}
/* form field labels: 9.5 px mono read too small on phones; 11 px keeps the look and reads at arm's length */
.field label{font-size:11px;letter-spacing:.14em}
