/* Paper22 D + F3/G round2b. Scoped to the House, preserving the home wall. */
:root{--house-pill-height:44px}
.masthead-stage[role=button]{cursor:pointer;outline-offset:3px}
.masthead-stage[role=button]:focus-visible{outline:2px solid #fff;box-shadow:none}
.masthead-stage[aria-disabled=true]{cursor:default}
.house-shell{--house-safe-top:env(safe-area-inset-top,0px);--house-safe-bottom:env(safe-area-inset-bottom,0px);--house-p:0;--house-rule:#4a4a4a;--house-body:#d9d9d9;--house-ink:#fff;--house-dim:#a8a8a8;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:clip;isolation:isolate;overscroll-behavior:none}
.house-shell:not(.house-live):not(.house-warming){display:none}
.house-shell::backdrop{background:transparent}
.house-field{position:absolute;inset:0;background:transparent;opacity:var(--house-p);pointer-events:none;overflow:hidden}
.house-warming{display:block;z-index:0;pointer-events:none;opacity:.02;--house-p:1}
.house-warming .house-window{pointer-events:none}
[data-house-petals]{position:absolute;inset:0;contain:strict;overflow:hidden}
[data-house-petals] .static{position:absolute;left:0;top:0}
[data-house-petals] .pl{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
[data-house-glow],[data-house-sheet-glow]{--edge-core-color:oklch(from color-mix(in srgb,var(--anchor) 85%,#fff) max(l,.88) c h);--edge-warm-color:oklch(from var(--anchor) max(l,.76) calc(c * var(--house-chroma,1.25)) h);--edge-cool-color:oklch(from var(--rasa-b,var(--anchor)) l calc(c * var(--house-chroma,1.25)) h);position:absolute;inset:0;pointer-events:none}
[data-house-glow]{overflow:visible}
[data-house-sheet-glow]{width:100%;height:100%;overflow:visible}
.house-window{position:absolute;overflow:visible;isolation:isolate;border-radius:0 64px 0 64px}
.house-tilt{position:absolute;inset:0;transform-origin:center;transition:transform 520ms cubic-bezier(.16,1,.3,1);will-change:transform;border-radius:inherit;overflow:clip}
.house-tilt::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,transparent var(--house-strip,144px),rgba(6,5,10,0) var(--house-strip,144px),rgba(6,5,10,.85) calc(var(--house-strip,144px) + 100px),rgba(6,5,10,.85) 100%);opacity:calc(clamp(0,var(--house-p) * 6.666666667,1) * var(--house-scrim-fade,1) * var(--house-scene-alpha,1))}
body[data-house-open=true] .shader-layer::after{opacity:var(--house-margin-strength,1)}
.house-shell .masthead-stage{position:absolute;inset:0;margin:0;transform:none!important;transition:none!important;border-radius:inherit;--nv-corner:0}
.house-shell .sheet-blur,.house-shell .sheet-backdrop,.house-shell .masthead-cover{display:none}
.house-shell .banner{position:absolute;inset:0;aspect-ratio:auto;width:100%;height:100%;background:transparent;opacity:1;container-type:normal;border-radius:inherit;--nv-corner:0;box-shadow:inset 0 0 0 1px rgb(255 255 255 / calc(.28 * var(--house-p) * var(--house-scene-alpha,1)))}
.house-shell .masthead-byline{opacity:calc(1 - min(1,var(--house-p) * 4))}
.house-shell .masthead-word,.house-shell .masthead-house{font-family:'Fraunces',serif;font-style:italic;font-weight:600;letter-spacing:-.02em;color:white;background:none;z-index:2}
.house-lockup{display:contents;opacity:var(--house-scene-alpha,1)}
.house-shell .masthead-house[data-house-rest-face]{font-family:var(--house-rest-prefix-family);font-style:var(--house-rest-prefix-style);font-weight:var(--house-rest-prefix-weight);letter-spacing:var(--house-rest-prefix-tracking);color:var(--house-rest-prefix-color);background-image:var(--house-rest-prefix-background-image);background-color:var(--house-rest-prefix-background-color);background-clip:var(--house-rest-prefix-background-clip);-webkit-background-clip:var(--house-rest-prefix-background-clip)}
.house-lockup[data-line]{position:absolute;display:flex;align-items:baseline;gap:.2em;white-space:nowrap;font-family:Fraunces,serif;font-style:italic;font-weight:600}
.house-lockup[data-line] > :is(.masthead-word,.masthead-house){position:static!important;flex:none}
.house-columns{position:absolute;inset:var(--house-strip,144px) 0 0;overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(2,minmax(0,440px));gap:80px;padding:44px 48px 48px;touch-action:pan-y}
.house-column{min-width:0;align-self:start}
.house-column h2{font:italic 600 36px/42px 'Fraunces',serif;margin:0}
.house-column blockquote{font:italic 500 20px/28px 'Fraunces',serif;color:#fff;margin:0 0 16px}
.house-column p{font:400 16px/26px system-ui,sans-serif;color:var(--house-body);margin:0 0 20px}
.house-column a{color:#fff;text-decoration:underline;text-decoration-color:rgb(255 255 255 / .4);text-underline-offset:3px;font:500 15px/22px 'SF Pro Rounded',system-ui,sans-serif}
.house-column a:hover{text-decoration-color:currentColor}
.house-column h2:focus{outline:none}
.house-columns:focus-visible{outline:2px solid #fff;outline-offset:-5px}
.house-touch{display:none}
body[data-house-open=true] > .masthead-wordmark-clip,body[data-house-open=true] > .furniture-logo{visibility:hidden}
.masthead-stage[data-return-focus=true]:focus{outline:none;box-shadow:none}
.house-shell .banner::after{content:'';position:absolute;top:var(--house-strip,144px);left:0;right:0;border-top:1px solid rgb(255 255 255 / .22);opacity:calc(var(--house-p) * var(--house-scene-alpha,1));pointer-events:none}
@media(max-width:767px){
 .house-window{border-radius:0 32px 0 32px}
 .house-shell .masthead-word,.house-shell .masthead-house{display:none}
 .house-shell .masthead-wordmark-clip{opacity:var(--house-scene-alpha,1);display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}.house-shell .masthead-wordmark{position:absolute;width:max-content;height:auto;transform:none;font-family:Fraunces,serif;color:white;background:none}
 .house-shell .masthead-byline{display:none}
 .house-columns{display:block;inset:68px 0 0;padding:24px 20px 20px}
 .house-column{margin-bottom:44px}.house-column:last-child{margin-bottom:0}.house-column h2{font-size:30px;line-height:40px;padding-bottom:12px;margin-bottom:12px}.house-column blockquote{font-size:18px;line-height:26px;margin-bottom:12px}.house-column p{font-size:15px;line-height:24px;margin-bottom:12px}.house-column p:last-child{margin-bottom:0}
 .house-touch{display:block;position:absolute;left:20px;right:20px;top:0;height:56px;touch-action:none}
}
@media(prefers-reduced-motion:reduce){.house-tilt{transition:none!important;transform:none!important}[data-house-glow],[data-house-sheet-glow]{display:none}}

.house-svg-defs{position:absolute}

/* Decision170/PaperD2–D4: picture cursor skin, text-sized, never clipped. */
.house-cursor-pill.wip-cursor,.house-close{position:fixed;left:0;top:0;translate:0 0;width:max-content;height:var(--house-pill-height);box-sizing:border-box;padding:0 20px;border-radius:22px;color:#fff;font:600 14px/16px 'SFProRounded-Semibold','SF Pro Rounded',system-ui,sans-serif;letter-spacing:.01em;-webkit-backdrop-filter:blur(12px) brightness(var(--house-pill-brightness,var(--nv-cursor-pill-brightness)));backdrop-filter:blur(12px) brightness(var(--house-pill-brightness,var(--nv-cursor-pill-brightness)));transform:none;opacity:0;scale:.8;transition:opacity 100ms cubic-bezier(.4,0,.2,1),scale 100ms cubic-bezier(.4,0,.2,1);z-index:10000}
.house-open-pill.visible{opacity:1;scale:1;transition-duration:160ms;transition-timing-function:cubic-bezier(.2,0,0,1)}
.house-open-pill[data-dismissed]{transition-duration:100ms}
.masthead-stage[data-house-open-pointer],.masthead-stage[data-house-open-pointer] *{cursor:none}
.house-open-pill[data-house-reduced]{transition:none}
@media(prefers-reduced-motion:reduce){.house-open-pill{transition:none}}
@media(max-width:767px){.house-open-pill.wip-cursor{display:none}}

.house-rule{height:1px;border:0;background:var(--house-rule);margin:20px 0;width:100%}
@media(max-width:767px){.house-column h2{padding:0;margin:0}.house-rule{margin:12px 0}.house-column:nth-child(2) .house-rule{width:100%}}

.house-placeholder{transform:none!important;transition:none!important;pointer-events:none}
.house-column p:last-child{margin-bottom:0}
@media(prefers-reduced-motion:reduce){[data-house-glow],[data-house-sheet-glow]{display:none!important}}

/* Paper D2–D4: one masthead target and bottom-edge dip only; the cursor lives above it. */
@property --house-hover-dip{syntax:'<length>';inherits:true;initial-value:0px}
.masthead-stage[role=button]{--house-hover-dip:0px;transition:transform var(--nv-masthead-transform-ms) var(--nv-masthead-transform-ease),--house-hover-dip 120ms}
.masthead-stage[role=button][data-house-rest]{height:var(--house-rest-height)}
.masthead-stage[role=button][data-house-rest] > .sheet-backdrop{bottom:calc(0px - var(--house-hover-dip))}
.masthead-stage[role=button][data-house-rest] > .banner{height:calc(var(--house-rest-height) + var(--house-hover-dip));aspect-ratio:auto}
.masthead-stage[role=button][data-house-rest] .masthead-word{top:auto;bottom:calc(var(--house-rest-word-bottom) + var(--house-hover-dip))}
.masthead-stage[role=button][data-house-rest] .masthead-house{top:auto;bottom:calc(var(--house-rest-house-bottom) + var(--house-hover-dip))}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.masthead-stage[role=button][aria-disabled=false]:hover:is(:not(:focus-visible),[data-pointer-focus],[data-return-focus=true]){--house-hover-dip:8px;transition-duration:var(--nv-masthead-transform-ms),160ms}}
.house-phone-trigger{display:none}
.house-phone-opening-hint{display:none;pointer-events:none}
/* The one semantic Close is a top-layer sibling of the tilted scroller. Its
   backdrop samples text beneath it; no parent opacity/filter/clip isolates it. */
.house-close{display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;pointer-events:auto;left:auto;top:var(--house-close-top);right:var(--house-close-right);transform:none;opacity:var(--house-close-alpha,0);transition:none;z-index:10001}
.house-close:not([data-static]){width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.house-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
/* Decision49/Paper27: reuse the semantic Close and its live header position.
   Only its paint transitions; the scene clock retains the existing entrance. */
@media(min-width:768px){
 .house-close{width:76px;height:44px;padding:0;background-color:transparent;box-shadow:inset 0 0 0 1.5px #FFFFFFB3;-webkit-backdrop-filter:blur(0px) brightness(1);backdrop-filter:blur(0px) brightness(1);transition:background-color 100ms cubic-bezier(.4,0,.2,1),backdrop-filter 100ms cubic-bezier(.4,0,.2,1),box-shadow 100ms cubic-bezier(.4,0,.2,1)}
 .house-close:is(:focus-visible,:active){background-color:#F4D7E166;box-shadow:inset 0 0 0 0 #FFFFFF00,0 6px 18px #0E0D2440;-webkit-backdrop-filter:blur(12px) brightness(var(--house-pill-brightness,var(--nv-cursor-pill-brightness)));backdrop-filter:blur(12px) brightness(var(--house-pill-brightness,var(--nv-cursor-pill-brightness)));transition-duration:160ms;transition-timing-function:cubic-bezier(.2,0,0,1)}
}
@media(min-width:768px) and (hover:hover){
 .house-close:hover{background-color:#F4D7E166;box-shadow:inset 0 0 0 0 #FFFFFF00,0 6px 18px #0E0D2440;-webkit-backdrop-filter:blur(12px) brightness(var(--house-pill-brightness,var(--nv-cursor-pill-brightness)));backdrop-filter:blur(12px) brightness(var(--house-pill-brightness,var(--nv-cursor-pill-brightness)));transition-duration:160ms;transition-timing-function:cubic-bezier(.2,0,0,1)}
}
.house-shell[data-house-reduced] .house-close{transition:none}
@media(max-width:767px){
 .house-close{top:auto;right:auto;left:var(--house-close-centre);bottom:var(--house-close-bottom);transform:none;translate:-50% 0}
 .house-columns{padding-bottom:24px}
 /* Keep the existing Close clearance separate from the equal content padding.
    The viewport still extends behind its blur; the last line can scroll clear. */
 .house-columns::after{content:'';display:block;height:calc(var(--house-pill-height) + 24px);pointer-events:none}
 .house-phone-trigger{display:block;position:fixed;left:12px;right:12px;top:var(--nv-phone-wordmark-top,58px);height:52px;padding:0;border:0;border-radius:0 24px 0 24px;background:transparent;color:#fff;z-index:2;cursor:pointer;outline-offset:3px}
 .house-phone-trigger:focus-visible{outline:2px solid #fff}
 .house-phone-trigger[data-return-focus=true]:focus{outline:none}
 .house-phone-trigger[aria-disabled=true],body[data-house-open=true] .house-phone-trigger{visibility:hidden;pointer-events:none}
}

/* Pointer re-entry must not turn the preceding Escape into a keyboard ring. */
:is(.masthead-stage,.house-phone-trigger)[data-pointer-focus]:focus{outline:none;box-shadow:none}

/* Decision24/H5: tablet-only type; the lockup supplies the measured strip. */
@media(min-width:768px) and (max-width:1024px){
 .house-columns{gap:40px;padding:32px 40px 40px}
 .house-column h2{font-size:32px;line-height:38px}
 .house-column blockquote{font-size:18px;line-height:26px}
 .house-column p{font-size:14px;line-height:22px;margin-bottom:16px}
 .house-column p:last-child{margin-bottom:0}
}
@media(prefers-reduced-motion:reduce){.house-cursor-pill.wip-cursor,.house-close{scale:1!important;transition:none!important}}
.house-open-pill[data-house-reduced]{scale:1}

/* Paper25 / decisions46,48: content only; the shipped frame stays put. */
.house-shell{--house-accent:#0092ff;--house-muted:#8f96b2;--house-rule-soft:#2c2c34;--house-context:#b9bed0}
.house-2b{display:block;padding:64px}
.house-2b>.house-column{width:100%;max-width:1120px;margin:0}
.house-2b :is(h2,h3,p,blockquote,dl,dt,dd,ol){margin:0}
.house-2b p,.house-2b dd{font:400 16px/26px system-ui,sans-serif;color:var(--house-body)}
.house-2b .house-top{display:grid;grid-template-columns:minmax(0,488fr) minmax(0,420fr);width:988px;max-width:100%;gap:80px;align-items:start}
.house-2b .house-statement{font:italic 600 32px/42px 'Fraunces',serif;color:var(--house-accent)}
.house-lede-group{margin-top:40px}
.house-2b .house-intro{margin-top:40px}
.house-2b .house-diary{font:400 20px/28px 'Fraunces',serif;color:var(--house-ink)}
.house-2b .house-analogy{margin-top:20px}
.house-section{margin-top:64px;border-top:1px solid var(--house-rule);padding-top:20px}
.house-section-head{display:flex;align-items:baseline;justify-content:space-between}
.house-2b .house-section-title{font:italic 600 22px/30px 'Fraunces',serif;color:var(--house-ink)}
.house-label,.house-ordinal{font:600 13px/16px 'SFProRounded-Semibold','SF Pro Rounded',system-ui,sans-serif;letter-spacing:.12em;color:var(--house-muted)}
.house-label{text-transform:uppercase}
.house-ordinal{letter-spacing:.08em}
.house-2b .house-section-intro{margin-top:12px}
.house-2b .house-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;list-style:none;padding:24px 0 0}
.house-mode{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--house-rule-soft);padding:14px 0 28px;min-width:0}
.house-2b .house-mode-name{font:italic 600 36px/46px 'Fraunces',serif;letter-spacing:-.01em;color:var(--house-ink)}
.house-mode-ninth{border-color:var(--house-accent)}
.house-mode-ninth :is(.house-ordinal,.house-mode-name){color:var(--house-accent)}
.house-2b .house-ninth-context{margin-bottom:16px;color:var(--house-context)}
.house-2b .house-mode-ninth .house-mode-description{color:var(--house-ink)}
.house-core{margin-top:40px}
.house-core>.house-section-intro{max-width:640px}
.house-formula{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-top:24px}
.house-term{border-top:1px solid var(--house-rule-soft);padding-top:16px}
.house-term-heading{display:flex;flex-direction:column;gap:6px}
.house-term-heading .house-label{letter-spacing:.06em}
.house-term-name{font:italic 600 22px/30px 'Fraunces',serif;color:var(--house-ink)}
.house-2b .house-term-description{margin-top:10px}
.house-2b .house-formula-pull{margin-top:32px;border-left:2px solid var(--house-accent);padding:0 200px 0 20px;font:italic 400 22px/30px 'Fraunces',serif;color:var(--house-ink)}
.house-why{display:grid;grid-template-columns:minmax(0,9fr) minmax(0,17fr);gap:80px;padding-bottom:16px}
.house-2b .house-why-setup p{margin-top:12px}
.house-2b .house-question{border-left:2px solid var(--house-accent);padding:0 24px;font:italic 600 36px/46px 'Fraunces',serif;letter-spacing:-.01em;color:var(--house-ink)}
.house-2b .house-why-question p{margin-top:24px;padding-left:26px;max-width:560px}
@media(min-width:768px) and (max-width:1024px){
 .house-2b{padding:32px 40px 40px}
 .house-2b p,.house-2b dd{font-size:14px;line-height:22px}
 .house-2b .house-top{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:32px}
 .house-intro-group{display:contents}
 .house-statement{grid-column:1/-1}
 .house-2b .house-intro{margin-top:24px}
 .house-lede-group{grid-column:1;margin-top:0}
 .house-diary-group{grid-column:2}
 .house-2b .house-analogy{margin-top:16px}
 .house-section{margin-top:48px}
 .house-2b .house-modes{column-gap:24px;padding-top:20px}
 .house-mode{gap:2px;padding:12px 0 24px}
 .house-label,.house-ordinal{font-size:12px}
 .house-2b .house-mode-name{font-size:28px;line-height:36px}
 .house-2b .house-ninth-context{margin-bottom:12px}
 .house-core{margin-top:24px}
 .house-formula{gap:24px;padding-top:20px}
 .house-term-name{font-size:20px;line-height:28px}
 .house-2b .house-formula-pull{margin-top:28px;padding-right:56px}
 .house-why{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;padding-bottom:8px}
 .house-2b .house-question{font-size:26px;line-height:34px;padding:0 0 0 16px}
 .house-2b .house-why-question p{margin-top:20px;padding-left:0}
}
@media(max-width:767px){
 .house-2b{padding:24px 20px 24px}
 .house-2b .house-top{display:block}
 .house-2b .house-statement{font-size:28px;line-height:38px}
 .house-lede-group{margin-top:24px}
 .house-diary-group{margin-top:32px}
 .house-2b .house-intro{margin-top:16px}
 .house-2b p,.house-2b dd{font-size:15px;line-height:24px}
 .house-2b .house-analogy{margin-top:16px}
 .house-section{margin-top:48px}
 .house-section-head{flex-direction:column;align-items:start;gap:4px}
 .house-label,.house-ordinal{font-size:12px}
 .house-2b .house-modes{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;padding-top:20px}
 .house-mode{gap:2px;padding:12px 0 20px}
 .house-2b .house-mode-name{font-size:26px;line-height:34px}
 .house-2b .house-mode-description{font-size:14px;line-height:22px}
 .house-mode-ninth{grid-column:1/-1;padding:16px 0 8px}
 .house-2b .house-mode-ninth .house-mode-name{font-size:36px;line-height:46px}
 .house-2b .house-mode-ninth .house-mode-description{font-size:15px;line-height:24px}
 .house-2b .house-ninth-context{margin-bottom:12px}
 .house-core{margin-top:40px}
 .house-formula{display:block;padding-top:16px}
 .house-term{padding:14px 0 16px}
 .house-term:last-child{border-bottom:1px solid var(--house-rule-soft)}
 .house-term-heading{gap:2px}
 .house-term-heading .house-label{letter-spacing:.1em}
 .house-2b .house-term-description{margin-top:2px}
 .house-2b .house-formula-pull{margin-top:28px;padding:0 0 0 16px;font-size:20px;line-height:28px}
 .house-why{display:block;padding-bottom:0}
 .house-2b .house-question{margin-top:20px;padding:0 0 0 16px;font-size:26px;line-height:34px}
 .house-2b .house-why-question p{margin-top:20px;padding-left:0}
}

/* Abhi2026-11-02 correction: retain the stage's25px/13px top margin.
   Height grows in normal flow; the type retains its banner-relative bottom crop. */
