@font-face{font-family:Manrope;src:url("fonts/manrope-latin.woff2") format("woff2");font-weight:200 800;font-display:swap}
@keyframes menu-enter { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:translateY(0); } }
:root { --carbon: #0B0D0E; --night: #060809; --black: #080b0c; --paper: #f5f2ec; --ink: #0B0D0E; --muted: #535956; --accent: #e16324; --accent-ink: #a73c12; --focus: var(--accent); --font: Manrope,Arial,sans-serif; --line-dark: #ffffff35; --accent-hover: #f77937; --line: #cecec5; --wrap: 1248px; --gutter: clamp(24px,5vw,80px); --ease: cubic-bezier(.2,.7,.2,1); --header: 76px; }
* { box-sizing: border-box; }
html { scroll-behavior: auto; scroll-padding-top: calc(var(--header) + 24px); -webkit-text-size-adjust: 100%; scrollbar-color: #747875 var(--carbon); }
body { color-scheme: dark; margin: 0; background: var(--carbon); color: var(--paper); font: 400 16px/1.65 Manrope,Arial,sans-serif; -webkit-font-smoothing: antialiased; }
::selection { background: var(--accent); color: #060809; }
a { color: inherit; text-decoration: none; text-underline-offset: 6px; }
a:hover { text-decoration: underline; }
a,button,summary { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
button,input,textarea,select { font: inherit; }
button,summary { cursor: pointer; }
button { color: inherit; }
img { max-width: 100%; height: auto; display: block; }
svg { display: block; }
figure,p,h1,h2,h3,h4,ul,ol { margin: 0; }
ul[class],ol[class] { list-style: none; padding: 0; }
h1,h2,h3,h4 { font-weight: 500; line-height: 1.06; letter-spacing: -.04em; text-wrap: balance; }
h1 { font-size: clamp(42px,5.3vw,80px); max-width: 20ch; }
h2,.h2 { font-size: clamp(34px,4.25vw,64px); max-width: 22ch; }
h3,.h3 { font-size: clamp(23px,2.1vw,32px); line-height: 1.18; letter-spacing: -.025em; }
p { max-width: 67ch; text-wrap: pretty; }
p+p { margin-top: 16px; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }
section,main,[id] { scroll-margin-top: calc(var(--header) + 24px); }
:focus-visible { scroll-margin-block: calc(var(--header) + 24px) 30px; }
main:focus { outline: none; }
.wrap { width: min(var(--wrap),calc(100% - 2*var(--gutter))); margin-inline: auto; }
.narrow { max-width: 900px; }
.lead { font-size: clamp(17px,1.35vw,20px); line-height: 1.65; max-width: 48ch; color: #cbd0cc; }
.paper .lead { color: var(--muted); }
.status { font-size: 14px; line-height: 1.6; margin-top: 24px; color: #d2d6d1; }
.paper .status { color: #535956; }
.small,small,figcaption { font-size: 14px; }
.text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; font-weight: 600; gap: 16px; }
.text-link:after { content: ""; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); flex: none; }
.text-link+.text-link { margin-left: 24px; }
.actions { display: flex; align-items: center; gap: 16px 24px; flex-wrap: wrap; margin-top: 28px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 24px; background: var(--accent); color: #111516; font-size: 14px; font-weight: 750; line-height: 1.4; text-align: center; border: 0; border-radius: 2px; transition: transform .2s; }
.button:hover { background: var(--accent-hover); text-decoration: none; transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.skip { position: fixed; top: 10px; left: 20px; padding: 12px 22px; background: var(--paper); color: var(--carbon); z-index: 200; transform: translateY(-160%); font-size: 16px; }
.skip:focus { transform: none; }
.site-header { height: var(--header); position: fixed; top: 0; z-index: 80; background: transparent; border-bottom: 0; color: var(--paper); width: 100%; isolation: isolate; }
.nav-wrap { width: calc(100% - 64px); max-width: 1600px; height: 100%; margin: auto; display: flex; align-items: center; gap: 24px; }
.brand { width: 116px; display: inline-flex; align-items: center; min-height: 44px; flex: none; }
.brand img { width: 100%; height: auto; }
.desktop-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.desktop-nav .text-link,.suite-menu>summary { font-size: 14px; font-weight: 500; white-space: nowrap; }
.desktop-nav .text-link { margin: 0; }
.desktop-nav .text-link:after { display: none; }
.nav-contact { margin-left: 12px; flex: none; max-width: none; white-space: nowrap; }
.suite-menu { margin-left: 0; }
.suite-menu>summary { list-style: none; display: flex; align-items: center; gap: 12px; min-height: 44px; }
.suite-menu>summary::-webkit-details-marker { display: none; }
.menu-icon { width: 14px; height: 14px; position: relative; }
.menu-icon:before,.menu-icon:after { content: ""; position: absolute; top: 6px; left: 0; width: 14px; height: 1px; background: currentColor; transition: transform .2s; }
.menu-icon:after { transform: rotate(90deg); }
.suite-menu[open]>summary .menu-icon:after { transform: rotate(0); }
.mobile-label { display: none; }
.menu-panel { position: absolute; left: 0; right: 0; top: calc(var(--header) - 1px); padding: 56px var(--gutter) 44px; background: var(--carbon); border-bottom: 1px solid #ffffff45; box-shadow: 0 28px 60px #0005; max-height: calc(100dvh - var(--header)); overflow: auto; display: grid; grid-template-columns: 1fr 3fr; gap: 40px; }
.menu-intro { position: relative; isolation: isolate; font-size: 30px; line-height: 1.1; letter-spacing: -.03em; }
.menu-s { position: absolute; width: 170px; height: 187px; right: 0; top: 42px; opacity: .08; z-index: -1; pointer-events: none; }
.menu-intro span { display: block; font-size: 16px; line-height: 1.6; letter-spacing: 0; margin-top: 18px; color: #bec4bf; }
.menu-groups { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.menu-group>summary { font-size: 18px; list-style: none; min-height: 44px; color: #ffa16c; pointer-events: auto; }
.menu-group>div { display: block; }
.menu-group .text-link { display: flex; margin: 0; font-size: 15px; font-weight: 400; line-height: 1.3; padding-block: 10px; }
.menu-group .text-link:after { display: none; }
.menu-company { grid-column: 1/-1; display: flex; gap: 28px; border-top: 1px solid #ffffff24; padding-top: 16px; }
.menu-company .text-link { margin: 0; }
.scene { position: relative; isolation: isolate; overflow: clip; --drift: 0px; --lift: 0px; --light: .3; --s-x: 0px; --s-y: 0px; }
.dark { color-scheme:dark; background: var(--carbon); color: var(--paper); }
.black { background: var(--black); color: var(--paper); }
.paper { color-scheme: light; background: var(--paper); color: var(--ink); }
.section-mark { width: 22px; height: 24px; color: var(--accent); margin-bottom: 28px; flex: none; }
.watermark { position: absolute; z-index: -1; right: -18%; top: 0; width: clamp(500px,65vw,1000px); height: 110%; color: currentColor; opacity: .035; transform: translate3d(var(--s-x),var(--s-y),0); pointer-events: none; }
html:not(.enhanced) .watermark,.with-section-mark .watermark { opacity:0; }
.scene-photo { position: absolute; z-index: -3; left: 0; top: -48px; width: 100%; height: calc(100% + 96px); object-fit: cover; filter: grayscale(1); transform: translate3d(0,var(--drift),0); opacity: .42; }
.scene:has(>.scene-photo):before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg,#06080936,#06080985 60%,#060809db); }
.scene:has(>.scene-photo) .lead { color: #f0f0eb; }
.chapter { min-height: 720px; padding: 104px 0; display: flex; align-items: center; }
.chapter-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 70px; }
.chapter-copy { position: relative; z-index: 2; }
.chapter-copy .lead { margin-top: 26px; }
.chapter-copy>.text-link,.chapter-copy>.button { margin-top: 22px; }
.chapter-art { min-width: 0; position: relative; transform: translate3d(0,var(--lift),0); }
.reverse .chapter-copy { order: 2; }
.reverse .chapter-art { order: 1; }
.centered .chapter-grid { display: flex; flex-direction: column; text-align: center; gap: 44px; }
.centered .chapter-copy .lead { margin-inline: auto; }
.centered .section-mark { margin-inline: auto; }
.centered .chapter-art { width: 100%; }
.centered .evidence { margin: auto; }
.centered h2 { max-width: 24ch; }
.prose-section { padding: 104px 0; }
.prose-section h2 { margin-bottom: 48px; }
.prose-section>.wrap>.lead { margin-top: 24px; }
.prose-section>.wrap>.text-link,.prose-section>.wrap>.button { margin-top: 28px; }
.word-flow { display: flex; flex-direction: column; position: relative; padding-block: 16px; }
.flow-word { font-size: clamp(25px,3vw,45px); font-weight: 400; letter-spacing: -.035em; line-height: 1.25; padding: 19px var(--indent,0%) 19px 0; transform: translate3d(calc(var(--indent,0%) * (1 - var(--converge,1))),0,0); opacity: 1; position: relative; }
.flow-word:nth-child(2) { --indent: 12%; }
.flow-word:nth-child(3) { --indent: 24%; }
.flow-word:nth-child(4) { --indent: 36%; }
.flow-word:nth-child(5) { --indent: 42%; }
.word-flow:after { content: ""; width: 100%; height: 2px; background: var(--accent); margin-top: 10px; transform: scaleX(1); transform-origin: left; transition: transform 400ms var(--ease); }
.enhanced .word-flow:not(.is-joined):after { transform: scaleX(0); }
.convergence .flow-word { font-size: clamp(30px,4vw,56px); }
.editorial-rows { border-top: 1px solid var(--line); margin-top: 24px; }
.editorial-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 60px; padding: 32px 0; border-bottom: 1px solid var(--line); }
.editorial-row h3 { max-width: 20ch; font-size: 27px; }
.editorial-row p { font-size: 16px; color: var(--muted); }
.editorial-row .text-link { margin-top: 12px; }
.dark .editorial-rows,.dark .editorial-row { border-color: #ffffff25; }
.dark .editorial-row p { color: #cbd0cc; }
.related-pair { display: flex; flex-wrap: wrap; gap: 32px; }
.related-pair .text-link { margin: 0; }
.inline-family { margin-top: 42px; color: #d2d6d1; font-size: 14px; }
.family-brief { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.family-brief h3,.family-brief .text-link { font-size: 24px; font-weight: 500; }
.family-brief p { font-size: 14px; color: #bfc5c0; margin-top: 8px; }
.evidence { position: relative; width: 100%; margin-inline: auto; text-align: center; }
.desk-evidence { max-width: 440px; }
.tv-evidence { max-width: 600px; }
.phone-evidence { max-width: 205px; }
.window-evidence { max-width: 640px; }
.screen-frame { position: relative; background: #323633; padding: 7px; border-radius: 5px; box-shadow: 0 28px 52px #0005; }
.screen-frame img { display: block; width: 100%; height: auto; object-fit: contain; }
.phone-evidence .screen-frame { padding: 5px; border-radius: 25px; overflow: hidden; }
.phone-evidence .screen-frame img { border-radius: 20px; }
.tv-evidence .screen-frame { background: #1b1d1d; padding: 10px; border-radius: 3px; box-shadow: 0 35px 70px #000a; }
.tv-evidence .screen-frame:after { content: ""; width: 4px; height: 4px; background: #e16324; position: absolute; bottom: 3px; left: 50%; border-radius: 50%; }
.window-evidence .screen-frame { padding: 0; border-radius: 3px; }
.evidence figcaption { margin-top: 18px; color: #cbd0cc; line-height: 1.45; font-size: 14px; }
.paper .evidence figcaption { color: #555c58; }
.screen-light { position: absolute; inset: -80px -18%; background: radial-gradient(ellipse at center,#f3edda24,transparent 68%); z-index: -1; transform: scale(var(--glow-scale,1)); opacity: var(--light,.3); pointer-events: none; }
.tv-evidence .screen-light { inset: -110px -30% -140px; background: radial-gradient(ellipse,#f3edda45,transparent 66%); }
.black .tv-evidence:after { content: ""; position: absolute; left: -24%; right: -24%; bottom: -60px; height: 70px; background: radial-gradient(ellipse,#e8e0c515,transparent 70%); opacity: var(--light,.3); z-index: -1; }
.home-opening { min-height: 824px; padding: calc(var(--header) + 88px) 0 68px; text-align: center; background: var(--night); }
.home-opening>.scene-photo { height: 90%; opacity: .42; object-position: center 34%; }
.home-opening:has(>.scene-photo):before { background: linear-gradient(180deg,#06080920,#06080975 50%,#060809 86%); }
.opening-content { position: relative; z-index: 1; }
.home-opening .home-live { font-size: 14px; color: #ffffff; margin: 0 auto 25px; }
.home-opening h1 { font-size: clamp(40px,4.5vw,66px); max-width: 26ch; margin: auto; line-height: 1.08; }
.home-opening .lead { font-size: 16px; max-width: 60ch; margin: 24px auto 0; }
.home-opening .actions { justify-content: center; margin-top: 26px; }
.home-opening .desk-evidence { max-width: 400px; margin-top: 44px; }
.home-pocket { min-height: 760px; padding: 76px 0; }
.home-pocket .chapter-grid { gap: 35px; }
.home-pocket .phone-evidence { max-width: 170px; }
.home-wall { min-height: 780px; padding: 80px 0; }
.home-wall .tv-evidence { max-width: 600px; }
.home-writeup,.home-shotgun { min-height: 640px; }
.home-writeup .scene-photo { opacity: .3; }
.home-shotgun { background: #15191a; }
.home-family { padding: 65px 0 60px; }
.home-family>.wrap { display: grid; grid-template-columns: 1fr 1.5fr; gap: 32px 60px; align-items: center; }
.home-family .section-mark { display: none; }
.home-family h2 { font-size: 36px; margin: 0; }
.home-family .text-link { margin: 0; }
.home-family>.wrap>.text-link { grid-column: 2; margin: 0; }
.home-builders { min-height: 850px; }
.home-mailroom { min-height: 735px; }
.home-lori { min-height: 640px; border-top: 1px solid #0B0D0E19; }
.home-steady { min-height: 490px; padding: 75px 0; }
.home-services { padding: 92px 0; }
.home-services>.wrap { display: grid; grid-template-columns: 1fr 1.5fr; gap: 0 80px; }
.home-services .section-mark { grid-column: 1; }
.home-services h2 { grid-column: 1; grid-row: 2; max-width: 10ch; }
.home-services .editorial-rows { grid-column: 2; grid-row: 2 / span 2; margin: 0; }
.home-services .editorial-row { grid-template-columns: 1fr; gap: 14px; padding: 20px 0; }
.home-services .editorial-row h3 { font-size: 26px; max-width: 25ch; }
.home-services .editorial-row p { max-width: 48ch; }
.page-opening { min-height: 820px; padding: calc(var(--header) + 108px) 0 84px; text-align: center; display: flex; align-items: center; }
.page-opening .section-mark { margin-inline: auto; }
.page-opening h1 { margin: auto; }
.page-opening .lead { margin: 26px auto 0; }
.page-opening .actions { justify-content: center; }
.page-opening .evidence { margin-top: 42px; }
.page-opening:has(.evidence) { padding-top: calc(var(--header) + 66px); }
.page-opening:has(.evidence) h1 { font-size: clamp(40px,4.5vw,66px); }
.page-opening>.scene-photo { opacity: .48; }
.page-opening .status { color: #eef0ea; margin-inline: auto; }
.page-writeup .page-opening>.scene-photo { object-position: 64% center; }
.page-shotgun .page-opening>.scene-photo { object-position: center 60%; }
.page-lori .page-opening>.scene-photo { object-position: center 80%; }
.page-steady .page-opening>.scene-photo { object-position: center 55%; }
.page-custom-software .page-opening>.scene-photo { object-position: 50% 30%; opacity: .36; }
.type-hero { min-height: 820px; }
.quote-chapter .word-flow { counter-reset: step; }
.quote-chapter .flow-word:before { counter-increment: step; content: "0" counter(step); font-size: 14px; letter-spacing: 0; margin-right: 20px; vertical-align: middle; color: #696d66; }
.pilot-note .lead { max-width: 47ch; }
.builder-team { min-height: 620px; }
.steady-decision .word-flow { max-width: 560px; }
.steady-decision .flow-word { font-size: 30px; }
.faq-section { padding: 100px 0; }
.faq-section h2 { margin-bottom: 42px; }
.faqs details { border-bottom: 1px solid #0B0D0E35; padding: 0; }
.faqs details:first-child { border-top: 1px solid #0B0D0E35; }
.faqs summary { font-size: 18px; line-height: 1.5; min-height: 68px; padding: 22px 38px 22px 0; position: relative; list-style: none; }
.faqs summary:after { content: "+"; position: absolute; right: 4px; top: 20px; font-size: 24px; font-weight: 400; }
.faqs details[open]>summary:after { content: "−"; }
.faqs details>div,.faqs details>p { padding: 0 34px 25px 0; color: #4c534f; max-width: 70ch; }
.faqs a { text-decoration: underline; }
.faqs summary::-webkit-details-marker { display: none; }
.install-section { padding: 90px var(--gutter); }
.install-section .wrap { width: 100%; max-width: 1248px; }
.install-section h2 { margin-bottom: 45px; }
.install-section .steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; }
.install-section .step { padding-top: 20px; border-top: 1px solid #0B0D0E40; }
.install-section .step p { margin-top: 16px; color: #535956; }
.install-section .num,.install-section .n { font-size: 14px; color: #535956; margin-bottom: 20px; }
.install-section h3 { font-size: 24px; }
.closing { padding: 100px 0; min-height: 560px; display: flex; align-items: center; }
.closing>.scene-photo { opacity: .25; object-position: center 60%; }
.closing:has(>.scene-photo):before { background: #06080985; }
.close-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 80px; align-items: center; }
.closing h2 { font-size: clamp(38px,4.25vw,62px); max-width: 19ch; }
.closing .lead { margin-top: 26px; max-width: 46ch; }
.founders { display: flex; gap: 30px; justify-content: center; }
.founder { max-width: 150px; }
.founder img { width: 76px; height: 76px; border-radius: 50%; filter: grayscale(1); margin-bottom: 18px; }
.founder b,.founder span { display: block; font-size: 14px; line-height: 1.6; }
.founder span { color: #cbd0cc; }
.footer { position:relative; isolation:isolate; overflow:clip; padding: 72px 0 28px; background: var(--carbon); color: var(--paper); }
.footer-grid { display: grid; grid-template-columns: 1fr .85fr 1.1fr; gap: 60px; }
.footer p,.footer a,.legal { font-size: 14px; }
.footer p { color: #c7ccc7; margin-top: 18px; }
.footer .brand { width: 126px; }
.footer nav { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px; }
.footer nav .text-link { margin: 0; font-weight: 400; }
.footer nav .text-link:after { display: none; }
.footer-contact a { display: flex; min-height: 44px; align-items: center; overflow-wrap: anywhere; }
.footer-contact p { margin-top: 4px; margin-bottom: 12px; }
.legal { margin-top: 54px; padding-top: 24px; border-top: 1px solid #ffffff25; display: flex; align-items: center; flex-wrap: wrap; gap: 10px 24px; color: #c7ccc7; }
.legal .text-link { margin: 0; font-size: 14px; font-weight: 400; }
.legal .text-link:after { display: none; }
.legal>span:last-child { margin-left: auto; }
.faqs details>div a,.faqs details>p a { display: inline-flex; align-items: center; min-height: 44px; }
.home-steady .chapter-copy { max-width: 780px; }
.enhanced .site-header:before { opacity:.94; }
.site-header:before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--carbon); border-bottom: 1px solid #ffffff26; opacity: 1; transition: opacity 250ms ease; }
.enhanced .site-header.is-solid:before,.enhanced .site-header:has(.suite-menu[open]):before { opacity: 1; }
.suite-menu[open] .menu-panel { animation: menu-enter 200ms var(--ease) both; }
.brand-symbols { position: absolute; overflow: hidden; pointer-events: none; }
.single-column { grid-template-columns: 1fr; }
.single-column .chapter-copy { max-width: 860px; }
.single-column .chapter-copy h2 { max-width: 23ch; }
.single-column .lead { max-width: 54ch; }
.flow-word:after { content: ''; position: absolute; bottom: 0; left: 0; width: calc(100% - var(--indent,0%)); height: 1px; background: currentColor; opacity: calc(.22 * (1 - var(--converge,1))); transform: scaleX(calc(1 - var(--converge,1))); transform-origin: left; }
/* One second: room dip, ember, three board bands, wall, floor, headline. */
@keyframes room-dip { 0%,100% { opacity:0; } 12%,24% { opacity:.72; } }
@keyframes ember-cross { 0% { opacity:0; transform:scaleX(0); } 18% { opacity:1; transform:scaleX(.08); } 70% { opacity:1; transform:scaleX(1); } 100% { opacity:0; transform:scaleX(1); } }
.tv-room .chapter-art { transform:none; }
.tv-room .chapter-grid { flex-direction:column-reverse; }
.tv-room { background:var(--black); }
.tv-room:before { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 50% 62%,#bfc9bc55,transparent 65%); opacity:.9; transform:scale(1); pointer-events:none; }
.tv-room:after { content:''; position:absolute; inset:0; z-index:3; background:var(--black); opacity:0; pointer-events:none; }
.tv-room .screen-light { opacity:.9; transform:scale(1); }
.tv-room .tv-evidence:after { opacity:.9; height:110px; bottom:-92px; background:radial-gradient(ellipse,#dfdcc355,transparent 70%); transform:scale(1); }
.tv-room .screen-frame:after { opacity:1; }
.tv-shutters { position:absolute; inset:10px; display:grid; grid-template-rows:repeat(3,1fr); overflow:hidden; pointer-events:none; }
.tv-shutters i { display:block; background:var(--black); opacity:0; transform:scaleX(0); transform-origin:right; }
.tv-ember { position:absolute; left:10px; right:10px; top:50%; height:2px; background:var(--accent); opacity:0; transform:scaleX(0); transform-origin:left; pointer-events:none; }
.tv-room.is-armed:not(.is-lit) .tv-shutters i { opacity:1; transform:scaleX(1); }
.tv-room.is-armed:not(.is-lit):before,.tv-room.is-armed:not(.is-lit) .screen-light,.tv-room.is-armed:not(.is-lit) .tv-evidence:after,.tv-room.is-armed:not(.is-lit) .screen-frame:after { opacity:0; }
.tv-room.is-armed:not(.is-lit):before,.tv-room.is-armed:not(.is-lit) .screen-light { transform:scale(.75); }
.tv-room.is-armed:not(.is-lit) .tv-evidence:after { transform:scaleX(.45); }
.tv-room.is-armed:not(.is-lit) .chapter-copy { transform:translateY(14px); }
.tv-room.is-lit:after { animation:room-dip 320ms linear both; }
.tv-room.is-lit .tv-ember { animation:ember-cross 300ms var(--ease) 100ms both; }
.tv-room.is-lit .tv-shutters i { transition:transform 180ms var(--ease) 290ms,opacity 180ms linear 290ms; }
.tv-room.is-lit .tv-shutters i:nth-child(2) { transition-delay:380ms; }
.tv-room.is-lit .tv-shutters i:nth-child(3) { transition-delay:470ms; }
.tv-room.is-lit:before,.tv-room.is-lit .screen-light { transition:opacity 350ms ease 440ms,transform 350ms var(--ease) 440ms; }
.tv-room.is-lit .tv-evidence:after { transition:opacity 280ms ease 620ms,transform 280ms var(--ease) 620ms; }
.tv-room.is-lit .screen-frame:after { transition:opacity 80ms linear 160ms; }
.tv-room.is-lit .chapter-copy { transition:transform 180ms var(--ease) 820ms; }
.object-chapter .chapter-grid { grid-template-columns: 1fr; gap: 60px; }
.object-chapter .chapter-copy { max-width: 800px; }
.object-chapter .chapter-copy h2 { max-width: 24ch; }
.object-chapter .chapter-art { transform: none; }
.deal-sheet { width: 100%; max-width: 560px; margin-inline: auto; }
.deal-roles { border: 0; padding: 0; margin: 0 0 24px; display: flex; gap: 24px; }
.deal-roles legend { font-size: 14px; padding: 0 0 18px; color: #cbd0cc; }
.deal-roles label { position: relative; display: inline-flex; align-items: center; min-height: 48px; cursor: pointer; font-size: 16px; }
.deal-roles input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.deal-roles span { padding: 10px 0; border-bottom: 2px solid transparent; }
.deal-roles input:checked+span { border-color: var(--accent); }
.deal-roles input:focus-visible+span { outline: 3px solid var(--focus); outline-offset: 5px; }
.deal-paper { padding: 36px; background: var(--paper); color: var(--ink); box-shadow: 0 24px 45px #0004; transform: rotate(-2deg); }
.deal-title { font-size: 14px; padding-bottom: 22px; border-bottom: 1px solid #0B0D0E40; }
.deal-quote { font-size: clamp(25px,2.5vw,38px); line-height: 1.2; letter-spacing: -.03em; margin: 24px 0 16px; }
.deal-sales { font-size:16px; margin-bottom:28px; }
.deal-private { display:none; gap:24px; }
.deal-sheet:has(input[value="manager"]:checked) .deal-private { display:grid; }
@keyframes deal-reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.deal-sheet:has(input[value="manager"]:checked) .deal-line { animation:deal-reveal 300ms var(--ease) both; }
.deal-sheet:has(input[value="manager"]:checked) .deal-line:last-child { animation-delay:200ms; }
.deal-paper { position:relative; }
.deal-paper:after { content:''; display:block; height:2px; margin-top:24px; background:var(--accent); transform:scaleX(var(--deal-reveal,1)); transform-origin:left; }
.deal-line { display: grid; grid-template-columns: 70px 1fr; gap: 22px; align-items: center; font-size: 14px; }
.deal-line i { height: 12px; background: var(--carbon); display: block; }
.deal-line:last-child i { width: 58%; }
.deal-boundary { font-size: 14px; margin-top: 40px; color: #535956; }
.floor-line { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); position: relative; padding: 0; margin: 34px 0 20px; --travel: 1; }
.floor-line:before,.floor-line:after { content: ''; position: absolute; left: 0; right: 0; top: 11px; height: 2px; background: #ffffff35; }
.floor-line:after { background: var(--accent); transform: scaleX(var(--travel)); transform-origin: left; }
.floor-line li { position: relative; z-index: 1; font-size: clamp(14px,2.1vw,28px); line-height: 1.3; padding-right: 18px; max-width: 11ch; }
.floor-stop { display: block; width: 24px; height: 24px; border: 1px solid #a6ada6; background: var(--carbon); border-radius: 50%; margin-bottom: 32px; position: relative; }
.floor-stop:after { content: ''; position: absolute; inset: 6px; background: var(--accent); border-radius: 50%; opacity: var(--stop,1); }
.build-sequence { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border-top: 1px solid #0B0D0E40; border-bottom: 1px solid #0B0D0E40; padding: 0; }
.build-sequence li { padding: 32px 30px 32px 0; position: relative; min-width: 0; }
.build-sequence li+li { padding-left: 30px; border-left: 1px solid #0B0D0E30; }
.build-sequence li:before { content: ''; position: absolute; left: 0; right: 0; top: -2px; height: 3px; background: var(--accent); transform: scaleX(var(--stage,1)); transform-origin: left; }
.build-sequence li>span { font-size: 14px; display: block; margin-bottom: 28px; }
.build-sequence h3 br { display:none; }
.build-sequence h3 { font-size: clamp(24px,2.4vw,34px); margin-bottom: 24px; }
.build-sequence p { font-size: 16px; max-width: 26ch; }
.dark .build-sequence,.dark .build-sequence li+li { border-color: #ffffff45; }
.work-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.chapter-art .work-cards { grid-template-columns:1fr; }
.work-card,.project-card { padding:28px; border:1px solid #ffffff45; min-width:0; }
.work-card h3 { font-size:26px; }
.work-place { font-size:14px; color:#cbd0cc; margin:12px 0 24px; }
.work-card>p:last-child { font-size:16px; }
.project-card h3 { font-size:40px; margin-bottom:16px; }
.project-card>p { max-width:28ch; }
.project-departments { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; margin:32px 0 20px; }
.project-departments li { border-top:1px solid #ffffff45; padding:18px 0; font-size:20px; }
@media(max-width:900px) { .work-cards { grid-template-columns:1fr; } }
@media (min-width:1051px) {
  .menu-group:not([open])>div { display: block; }
  .menu-group>summary::-webkit-details-marker { display: none; }
}
@media (max-width:1150px) {
  .nav-wrap { width: calc(100% - 40px); gap: 18px; }
  .desktop-nav { gap: 20px; }
  .brand { width: 100px; }
  .nav-contact { padding-inline: 16px; margin-left: 0; }
  .chapter-grid { gap: 46px; }
  .home-services>.wrap { gap: 0 44px; }
  .close-grid { gap: 36px; }
  .footer-grid { gap: 32px; }
}
@media (max-width:1050px) {
  :root { --header: 68px; }
  .desktop-nav { display: none; }
  .suite-menu { margin-left: auto; order: 3; }
  .nav-contact { margin-left: auto; }
  .desktop-label { display: none; }
  .mobile-label { display: inline; }
  .menu-panel { padding: 30px var(--gutter); grid-template-columns: 1fr; gap: 25px; }
  .menu-intro { position: relative; isolation: isolate; font-size: 27px; }
.menu-intro span { display: none; }
  .menu-groups { grid-template-columns: 1fr 1fr; gap: 16px 30px; }
  .menu-group>summary { pointer-events: auto; border-bottom: 1px solid #ffffff25; display: flex; align-items: center; justify-content: space-between; }
  .menu-group>summary:after { content: "+"; font-size: 20px; }
  .menu-group[open]>summary:after { content: "−"; }
  .menu-group:not([open])>div { display: none; }
  .menu-group .text-link { padding-block: 12px; }
  .menu-company { gap: 24px; }
  .chapter-grid { gap: 36px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-contact { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .footer-contact p { grid-column: 1 / -1; }
  .legal>span:last-child { margin-left: 0; }
  .home-family>.wrap { grid-template-columns: 1fr; gap: 28px; }
  .home-family>.wrap>.text-link { grid-column: 1; }
  .home-family h2 { max-width: 24ch; }
  .home-services>.wrap { grid-template-columns: 1fr; }
  .home-services .section-mark,.home-services h2,.home-services .editorial-rows { grid-column: 1; grid-row: auto; }
  .home-services h2 { max-width: 20ch; }
  .home-services .editorial-row { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width:700px) {
  :root { --gutter: 24px; --header: 64px; }
  .nav-wrap { width: calc(100% - 28px); gap: 12px; }
  .brand { width: 86px; }
  .nav-contact { padding: 10px; min-height: 44px; max-width: none; font-size: 14px; white-space: nowrap; }
  .suite-menu>summary { gap: 8px; min-width: 56px; }
  .menu-icon { width: 10px; }
  .menu-icon:before,.menu-icon:after { width: 10px; }
  .menu-panel { padding: 25px 24px 30px; gap: 18px; }
  .menu-groups { grid-template-columns: 1fr; gap: 0; }
  .menu-group>summary { min-height: 52px; font-size: 21px; }
  .menu-group>div { padding: 8px 0 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .menu-group .text-link { min-height: 48px; font-size: 14px; line-height: 1.4; }
  .menu-group:not([open])>div { display: none; }
  .menu-company { margin-top: 18px; padding-top: 12px; }
  .menu-company .text-link { font-size: 14px; }
  .button { padding: 13px 20px; }
  .actions { gap: 14px 20px; }
  .chapter { min-height: 0; padding: 76px 0; }
  .chapter-grid { grid-template-columns: 1fr; gap: 42px; }
  .chapter-copy .lead { margin-top: 23px; }
  .chapter-copy>.text-link+.text-link { margin-left: 0; display: flex; }
  .chapter-copy>.text-link,.chapter-copy>.button { margin-top: 18px; }
  .chapter-copy .section-mark { margin-bottom: 23px; }
  .chapter-copy h2 { max-width: 17ch; }
  .chapter-art:empty { display: none; }
  .centered .chapter-grid { gap: 38px; }
  .centered .chapter-copy h2 { max-width: 20ch; }
  .lead { font-size: 17px; line-height: 1.65; }
  .watermark { width: 330px; height: 400px; right: -135px; top: 18%; opacity: .035; }
  .scene-photo { top: -24px; height: calc(100% + 48px); }
  .scene:has(>.scene-photo):before { background: linear-gradient(180deg,#06080980,#060809a8); }
  .section-mark { width: 19px; height: 21px; }
  .flow-word { font-size: clamp(24px,7vw,30px); padding: 16px var(--indent,0%) 16px 0; min-height: 64px; }
  .word-flow { padding: 0; }
  .word-flow:after { margin-top: 22px; }
  .home-opening { padding: calc(var(--header) + 56px) 0 70px; min-height: 800px; }
  .home-opening h1 { font-size: 40px; line-height: 1.08; max-width: 100%; }
  .home-opening .home-live { font-size: 14px; max-width: 26ch; margin-bottom: 24px; }
  .home-opening .lead { font-size: 16px; max-width: 30ch; margin-top: 23px; }
  .desktop-only { display: none; }
  .home-opening>.scene-photo { height: 84%; object-position: 53% top; opacity: .45; }
  .home-opening .desk-evidence { margin-top: 45px; max-width: 330px; }
  .home-opening .evidence figcaption { margin-top: 18px; }
  .home-opening .actions { margin-top: 27px; }
  .home-pocket { min-height: 725px; }
  .home-pocket .phone-evidence { max-width: 164px; }
  .home-pocket .lead { max-width: 28ch; }
  .home-wall { min-height: 640px; }
  .home-wall .tv-evidence { max-width: 530px; }
  .home-writeup,.home-shotgun { min-height: 655px; }
  .home-family { padding: 62px 0; }
  .home-family h2 { font-size: 32px; }
  .family-brief { grid-template-columns: 1fr; gap: 22px; }
  .family-brief>div { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid #ffffff24; padding-bottom: 12px; }
  .family-brief h3,.family-brief .text-link { font-size: 20px; }
  .family-brief p { text-align: right; max-width: 14ch; margin: 0; }
  .home-builders { min-height: 930px; }
  .home-mailroom { min-height: 670px; }
  .home-lori { min-height: 660px; }
  .home-steady { min-height: 490px; }
  .home-services { padding: 74px 0; }
  .home-services .editorial-row { grid-template-columns: 1fr; gap: 14px; padding: 20px 0; }
  .home-services h2 { margin-bottom: 36px; }
  .home-services .editorial-row h3 { font-size: 25px; max-width: 21ch; }
  .home-services .editorial-row p { font-size: 16px; }
  .home-services .editorial-row .text-link { margin-top: 10px; }
  .page-opening { min-height: 730px; padding: calc(var(--header) + 58px) 0 74px; }
  .page-opening h1 { font-size: 43px; max-width: 100%; text-wrap: balance; }
  .page-opening .lead { font-size: 17px; max-width: 30ch; }
  .page-opening:has(.evidence) { padding-top: calc(var(--header) + 48px); min-height: 830px; }
  .page-opening:has(.evidence) h1 { font-size: 40px; }
  .page-opening .section-mark { margin-bottom: 26px; }
  .page-opening .status { max-width: 30ch; margin-inline: auto; }
  .type-hero { min-height: 740px; }
  .page-opening .evidence { margin-top: 40px; }
  .prose-section { padding: 76px 0; }
  .prose-section h2 { margin-bottom: 36px; }
  .editorial-row { grid-template-columns: 1fr; gap: 18px; padding: 26px 0; }
  .editorial-row h3 { font-size: 26px; }
  .editorial-rows { margin-top: 18px; }
  .related-pair { gap: 12px; }
  .related-pair .text-link { margin: 0; }
  .faq-section { padding: 74px 0; }
  .faqs summary { font-size: 17px; }
  .faqs details>div,.faqs details>p { padding-right: 0; }
  .install-section { padding: 76px 24px; }
  .install-section .steps { grid-template-columns: 1fr; gap: 26px; }
  .install-section .step { padding-top: 24px; }
  .install-section h2 { font-size: 34px; margin-bottom: 30px; }
  .closing { min-height: 680px; padding: 74px 0; }
  .close-grid { grid-template-columns: 1fr; gap: 42px; }
  .closing h2 { font-size: 39px; max-width: 16ch; }
  .closing .lead { font-size: 17px; }
  .founders { justify-content: flex-start; gap: 40px; }
  .founder img { width: 62px; height: 62px; margin-bottom: 12px; }
  .footer { padding-top: 54px; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer nav { grid-template-columns: 1fr 1fr; }
  .footer-contact { grid-column: 1; display: block; }
  .footer-contact a { min-height: 44px; }
  .footer-contact p { margin-top: 10px; }
  .legal { margin-top: 35px; gap: 8px 24px; align-items: flex-start; }
  .legal>span:first-child,.legal>span:last-child { width: 100%; }
  .editorial-row,.chapter-grid,.footer-grid,.close-grid { min-width: 0; }
  .evidence figcaption { font-size: 14px; }
  .phone-evidence { max-width: 190px; }
  .screen-light { inset: -40px -5%; }
  .tv-evidence .screen-light { inset: -60px -5% -70px; }
  .black .tv-evidence:after { left: 0; right: 0; }
  .prose-section .word-flow { margin-bottom: 30px; }
  .home-mailroom,.home-lori { padding-block: 60px; }
  .page-index .closing { padding-block: 62px; min-height: 650px; }
  .chapter-copy,.reverse .chapter-copy { order: 0; }
  .chapter-art,.reverse .chapter-art { order: 1; }
  .page-opening h1 br,.home-opening h1 br { display: none; }
  .flow-word:nth-child(2) { --indent: 10%; }
  .flow-word:nth-child(3) { --indent: 20%; }
  .flow-word:nth-child(4) { --indent: 30%; }
  .flow-word:nth-child(5) { --indent: 30%; }
  .object-chapter .chapter-grid { gap: 42px; }
  .deal-paper { padding: 28px 24px; transform: none; }
  .floor-line li { padding-right: 8px; }
  .floor-stop { margin-bottom: 22px; }
  .build-sequence { grid-template-columns: 1fr; border-bottom: 0; }
  .build-sequence li,.build-sequence li+li { padding: 26px 0; border-left: 0; border-bottom: 1px solid #0B0D0E30; }
  .build-sequence li>span { margin-bottom: 14px; }
  .build-sequence h3 { margin-bottom: 14px; }
  .build-sequence p { max-width: 34ch; }
}
@media (max-width:375px) {
  :root { --gutter: 20px; }
  .nav-wrap { gap: 9px; width: calc(100% - 20px); }
  .brand { width: 74px; }
  .nav-contact { padding: 10px 9px; max-width: 161px; }
  .home-opening h1 { font-size: 38px; }
  .page-opening h1 { font-size: 40px; }
  .closing h2 { font-size: 36px; }
  .menu-panel { padding-inline: 20px; }
  .home-family .family-brief p { max-width: 13ch; }
  .chapter-copy h2 { font-size: 34px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*:before,*:after { animation: none!important; transition: none!important; scroll-behavior: auto!important; }
  .scene-photo,.chapter-art,.watermark,.flow-word { transform: none!important; }
  .flow-word { opacity: 1!important; }
  .enhanced .word-flow:not(.is-joined):after,.deal-paper:after { transform:scaleX(1)!important; }
  .tv-room .tv-shutters i,.tv-room:after,.tv-room .tv-ember { opacity:0!important; }
  .screen-light { opacity: .4!important; }
  .tv-room:before,.tv-room .screen-light,.tv-room .tv-evidence:after { opacity: .9!important; }
  .tv-room .screen-frame img,.tv-room .screen-frame:after { opacity: 1!important; }
  .tv-room .chapter-copy { transform: none!important; }
}
@media print {
  .site-header,.menu-panel,.skip { display: none; }
  .scene-photo,.watermark,.screen-light { display: none; }
  .scene { break-inside: avoid; background: white!important; color: black!important; min-height: 0!important; padding: 30px 0!important; }
  .lead,p { color: black!important; }
  .footer { background: white; color: black; }
}
