@font-face{font-family:Editorial;src:url('assets/editorial.woff') format('woff');font-display:swap}@font-face{font-family:Body;src:url('assets/body-static.woff') format('woff');font-display:swap}@font-face{font-family:EditorialFallback;src:local('Times New Roman');size-adjust:114.02620%;ascent-override:86.82215%;descent-override:27.18673%;line-gap-override:0%}@font-face{font-family:BodyFallback;src:local('Arial');size-adjust:101.43578%;ascent-override:97.79587%;descent-override:30.56121%;line-gap-override:0%}
:root{--ink:#161511;--paper:#eeeae0;--gold:#d0ad77;--muted:#c6c0b3;--pad:clamp(22px,4vw,76px);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.6 Body,BodyFallback,sans-serif;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;z-index:30;opacity:.022;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.94' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #deaa5c;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}p,h1,h2,figure{margin:0}h1,h2{font-family:Editorial,EditorialFallback,serif;font-weight:400;letter-spacing:-.045em;line-height:.86}em{font-weight:400}p{max-width:62ch}img{display:block;max-width:100%;height:auto}button{border:0}fieldset{border:0;padding:0;margin:0;min-width:0}.skip{position:fixed;z-index:100;left:12px;top:12px;padding:12px;background:var(--paper);color:var(--ink);transform:translateY(-160%)}.skip:focus{transform:none}.concept{padding:7px 18px;text-align:center;font-size:11px;letter-spacing:.02em;color:#c6c0b3;background:#24231e;min-height:32px}.masthead{position:absolute;top:32px;left:0;width:100%;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:24px var(--pad);gap:30px}.wordmark{font:clamp(31px,3vw,44px)/.9 Editorial,serif;letter-spacing:-.04em}.wordmark span{display:block;font:8px/1.8 Body,sans-serif;letter-spacing:.22em;margin-top:9px}.masthead nav{display:flex;gap:32px;font-size:12px}.nav-cta{font-size:12px;display:flex;align-items:center;gap:40px;border:1px solid #e3d8c54d;border-radius:100px;padding:12px 20px}.nav-cta span{font-size:23px}.hero{position:relative;min-height:950px;height:calc(100svh - 32px);isolation:isolate;overflow:hidden;background:#1a1814}.hero-art{position:absolute;inset:0;z-index:-2}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 64%}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,10,.65),transparent 70%),linear-gradient(0deg,rgba(15,14,11,.95),transparent 31%,transparent 80%,rgba(15,14,11,.6))}.hero-art figcaption{position:absolute;bottom:18px;right:var(--pad);width:290px;font-size:9px;line-height:1.5;color:#dbd2c2;z-index:1}.hero-copy{padding:clamp(175px,18vh,235px) var(--pad) 0;position:relative;z-index:1}.eyebrow{font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.17em}.dot{display:inline-block;width:5px;height:5px;background:var(--gold);border-radius:50%;vertical-align:middle;margin-right:9px}.hero h1{font-size:clamp(92px,11.8vw,205px);margin-top:32px;max-width:1120px;text-shadow:0 2px 35px #0002}.hero h1 span{display:block}.hero h1 span+span{margin-left:13vw}.hero h1 em{color:#e2c191}.hero-bottom{position:absolute;bottom:65px;left:var(--pad);right:var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:45px;z-index:2}.hero-bottom p{font-size:13px;max-width:290px;color:#e2ddcf}.round-link{justify-self:center;display:flex;gap:18px;align-items:center;font-size:12px}.circle{border:1px solid #d0ad7780;border-radius:50%;width:64px;height:64px;display:grid;place-items:center;font-size:25px}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:12px;line-height:1.5;border-bottom:1px solid currentColor;padding:10px 0;justify-self:end}.hero-side{position:absolute;right:24px;top:40%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.22em;color:#ded1b9}.chapter-index{padding:30px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.1em;border-bottom:1px solid #ffffff25}.chapter-index p{font-size:11px;letter-spacing:0}.chapter-index p span{margin:0 14px;color:#716956}.scene{position:relative;min-height:1050px;overflow:hidden;isolation:isolate;padding:var(--pad)}.scene-top{position:relative;z-index:5;display:flex;justify-content:space-between;font-size:10px}.folio{font-size:9px;letter-spacing:.16em}.scene h2{position:relative;z-index:3;font-size:clamp(80px,9.8vw,160px)}.scene-copy{position:relative;z-index:4;font-size:14px;max-width:330px}.scene-copy .text-link{margin-top:20px;font-size:11px}.scene-number{position:absolute;bottom:15px;left:var(--pad);font:170px/.9 Editorial,serif;letter-spacing:-.08em;opacity:.12;z-index:1}.media-window img{width:100%;height:100%;object-fit:cover}.media-window figcaption{position:absolute;font-size:9px;line-height:1.5;z-index:3;max-width:260px}.roof{background:#1f1c17}.roof-art{position:absolute;right:5%;top:0;width:55%;height:100%;z-index:0;clip-path:polygon(0 12%,100% 0,100% 100%,0 88%)}.roof-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#201d1780,transparent 35%)}.roof-art figcaption{bottom:60px;right:26px;text-shadow:0 1px 8px #000;background:#14120ed9;padding:12px}.roof h2{margin-top:9vh;max-width:750px}.roof h2 em{color:#d3af78}.roof .scene-copy{margin-top:55px;margin-left:8vw;max-width:310px}.line-mark{display:block;width:50px;height:1px;background:#d3af78;margin-bottom:20px}.stairs{background:var(--paper);color:var(--ink);min-height:1120px}.stairs h2{margin-top:6vh;font-size:clamp(100px,12.8vw,200px);z-index:3}.stairs h2 span{display:block}.stairs h2 span+span{margin-left:44%;position:relative;top:300px}.stairs-art{position:absolute;left:24%;top:180px;width:37%;height:700px;border-radius:48% 48% 0 0;overflow:hidden;z-index:2}.stairs-art img{object-position:center 65%}.stairs-art figcaption{bottom:20px;left:20px;background:#eeeae0ed;padding:10px;color:#28251e}.stairs-axis{position:absolute;top:450px;left:9%;display:flex;flex-direction:column;gap:30px;align-items:center;writing-mode:vertical-rl;font-size:9px;letter-spacing:.16em}.stairs-axis span:nth-child(2){font-size:40px}.stairs .scene-copy{position:absolute;right:7%;bottom:70px;max-width:290px}.stairs .scene-number{bottom:30px}.pergola{background:#0f100e;min-height:1100px}.pergola-art{position:absolute;inset:0;z-index:-1}.pergola-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#080a0cc7,transparent 40%,#080a0ccc)}.pergola-art img{object-position:center}.pergola-art figcaption{bottom:24px;left:var(--pad);max-width:450px;background:#0f100ed9;padding:8px 12px}.pergola h2{font-size:clamp(90px,11vw,180px);margin-top:10vh;text-align:center}.pergola h2 em{color:#f1d4a6}.pergola .scene-copy{margin-top:12vh;margin-left:auto;margin-right:3vw}.glass{padding:30px;background:rgba(15,17,17,.62);backdrop-filter:blur(24px);border:1px solid #ffffff1f;box-shadow:inset 0 1px 1px #ffffff0a}.planner{background:var(--paper);color:var(--ink);padding:65px var(--pad) 120px;position:relative;isolation:isolate}.editorial-rule{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #28251e;border-bottom:1px solid #28251e;padding:14px 0;font-size:9px;letter-spacing:.08em}.planner-title{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:25px;padding-top:70px;position:relative}.planner-title .eyebrow{grid-column:1/7;margin-bottom:35px}.planner-title h2{grid-column:1/10;font-size:clamp(85px,10.6vw,170px);line-height:.9;position:relative;z-index:2}.planner-title h2 em{margin-left:17vw}.planner-title>p:last-of-type{grid-column:9/13;grid-row:2;align-self:end;font-size:14px;max-width:300px}.draft-mark{grid-column:9/12;grid-row:2;font:150px/.9 Editorial,serif;align-self:start;justify-self:center;transform:rotate(-7deg);border:1px solid #817660;padding:20px;color:#82735d}.draft-mark span{display:block;font:8px/1.5 Body,sans-serif;letter-spacing:.08em;text-align:center;margin-top:10px}.planner-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:25px;margin-top:90px}.empty-cell{grid-column:1/4}.planner form{grid-column:4/13;max-width:100%;border-top:1px solid #39372f;padding-top:28px}.project-choices legend{font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}.project-choices{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.project-choices label{display:grid;grid-template-columns:20px 18px 1fr 25px;align-items:center;gap:9px;border-bottom:1px solid #a8a398;padding:20px 0;font-size:23px;cursor:pointer}.project-choices label>span{font-size:9px;color:#655c4c}.project-choices input{accent-color:#594327;width:15px;height:15px;margin:0}.project-choices b{font-weight:400}.project-choices label:has(input:checked){color:#71430d;border-bottom-color:#71430d}.fields{display:grid;grid-template-columns:1fr 1fr;gap:32px 28px;margin-top:45px}.fields label,.draft-output label{font-size:11px;display:block;line-height:1.4}.fields input,.fields select,.fields textarea,.draft-output textarea{display:block;width:100%;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #9b978b;padding:12px 0;border-radius:0;font-size:14px;outline-offset:2px;color-scheme:light;min-width:0}.fields textarea{resize:vertical}.fields ::placeholder{color:#605b4f;opacity:1}.fields .full{grid-column:1/-1}.submit-row{display:flex;justify-content:space-between;gap:35px;margin-top:32px;align-items:center}.submit-row p{max-width:330px;font-size:10px;color:#605b4f}.submit-row button{background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:40px;font-size:11px;padding:20px 22px}.submit-row button span{font-size:23px}.draft-output{margin-top:40px;padding:25px;border:1px solid #625846}.draft-output button,.draft-output>a{margin-top:20px;display:inline-block;padding:12px 18px;background:var(--ink);color:var(--paper);font-size:12px}.draft-output[hidden]{display:none}.contact{background:#b38b55;color:#19160f;position:relative;padding:45px var(--pad) 65px;overflow:hidden}.contact-top{display:flex;justify-content:space-between}.contact-top>span{font-size:100px;line-height:1}.contact h2{font-size:clamp(125px,18.5vw,300px);margin-top:20px;line-height:.8}.contact h2 em{margin-left:21vw}.contact-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;border-top:1px solid #1c180f60;margin-top:65px;padding-top:25px;align-items:start}.contact-bottom a{font-size:clamp(13px,1.3vw,21px);overflow-wrap:anywhere}.contact-bottom p{font-size:10px;max-width:260px}footer{padding:50px var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:start;background:#141511}footer p{font-size:10px;color:#beb8aa}footer>div{display:flex;gap:20px;justify-content:flex-end;font-size:10px}
@media(min-width:1800px){.scene{min-height:1200px}.stairs{min-height:1250px}.stairs-art{height:800px}.stairs h2 span+span{top:380px}}
@media(max-width:1000px){.hero{height:auto;min-height:1000px}.hero h1{font-size:clamp(88px,13vw,130px)}.hero-bottom{grid-template-columns:1fr 1fr;row-gap:20px}.hero-bottom .text-link{grid-column:2;grid-row:2}.masthead nav{gap:18px}.scene{min-height:1000px}.stairs-art{left:20%;width:45%;height:650px}.stairs h2 span+span{margin-left:34%;top:330px}.stairs .scene-copy{max-width:240px;right:5%;bottom:35px}.planner-title>p:last-of-type{grid-column:8/13;grid-row:3;margin-top:35px}.draft-mark{grid-column:10/13;font-size:110px}.planner-grid .empty-cell{grid-column:1/2}.planner form{grid-column:2/13}.contact-bottom{grid-template-columns:1fr 1fr}.contact-bottom p{grid-column:1/-1}footer{grid-template-columns:1fr 1fr}footer>div{justify-content:flex-start;grid-column:1/-1}.editorial-rule span:nth-child(2){display:none}}
@media(max-width:640px){:root{--pad:22px}.concept{font-size:9px;line-height:1.5;padding:8px 20px;min-height:42px}.concept span{display:block}.masthead{top:42px;padding-top:24px;gap:12px}.wordmark{font-size:32px}.wordmark span{font-size:6px;letter-spacing:.16em}.masthead nav{display:none}.nav-cta{font-size:10px;gap:15px;padding:8px 12px}.nav-cta span{font-size:18px}.hero{height:calc(100svh - 42px);min-height:820px}.hero-copy{padding-top:148px}.hero h1{font-size:clamp(66px,17.7vw,110px);line-height:.89;margin-top:28px;letter-spacing:-.055em}.hero h1 span+span{margin-left:5vw;margin-top:6px}.hero .eyebrow{font-size:8px;letter-spacing:.13em}.hero-art img{object-position:64% center}.hero-art:after{background:linear-gradient(180deg,#0d0d0b90,transparent 45%,#10100de8 83%),linear-gradient(90deg,#0f0e0c60,transparent 80%)}.hero-art figcaption{bottom:18px;left:22px;right:auto;width:270px;font-size:8px}.hero-side{right:12px;top:44%;font-size:6px}.hero-bottom{left:22px;right:22px;bottom:70px;gap:18px;grid-template-columns:1fr auto;align-items:center}.hero-bottom p{grid-column:1/-1;font-size:12px;max-width:295px}.hero-bottom .text-link{grid-column:1;grid-row:3;justify-self:start;font-size:10px}.round-link{justify-self:start;font-size:10px;gap:15px;grid-column:1/-1}.circle{width:44px;height:44px;font-size:20px}.chapter-index{padding:24px 22px;display:block}.chapter-index>span:last-child{display:none}.chapter-index p{font-size:9px;margin-top:10px}.chapter-index p span{margin:0 6px}.scene{min-height:1000px;padding:28px 22px}.scene-top .eyebrow{font-size:8px}.folio{font-size:7px}.roof-art{right:0;top:160px;width:85%;height:620px;clip-path:polygon(0 9%,100% 0,100% 100%,0 91%)}.roof h2{font-size:clamp(65px,19vw,115px);margin-top:62px;line-height:.88;max-width:95%}.roof .scene-copy{margin:350px 0 0 auto;max-width:270px;font-size:12px}.roof-art figcaption{bottom:25px;right:15px;max-width:190px;font-size:7px;padding:8px}.scene-copy .text-link{margin-top:12px;font-size:10px}.scene-number{font-size:100px;bottom:28px}.stairs{min-height:1050px}.stairs h2{font-size:clamp(87px,23vw,140px);margin-top:55px}.stairs h2 span+span{margin-left:8vw;top:405px}.stairs-art{left:15%;top:220px;width:72%;height:520px}.stairs-art figcaption{font-size:7px;max-width:180px;padding:8px;bottom:14px;left:14px}.stairs-axis{left:6%;top:300px;font-size:6px;gap:18px}.stairs-axis span:nth-child(2){font-size:30px}.stairs .scene-copy{left:auto;right:22px;bottom:45px;max-width:265px;font-size:12px}.pergola{min-height:950px}.pergola-art img{object-position:38% center}.pergola h2{margin-top:85px;font-size:clamp(62px,17.2vw,110px);text-align:left;line-height:.93}.pergola .scene-copy{margin:250px 0 0 auto;font-size:12px;max-width:280px}.glass{padding:22px}.pergola-art figcaption{bottom:16px;left:22px;max-width:270px;font-size:8px}.pergola .scene-number{bottom:95px}.planner{padding:35px 22px 70px}.editorial-rule{font-size:7px;line-height:1.5}.editorial-rule span:last-child{max-width:100px;text-align:right}.planner-title{padding-top:45px;column-gap:0}.planner-title .eyebrow{grid-column:1/-1;font-size:8px;margin-bottom:26px}.planner-title h2{grid-column:1/-1;font-size:clamp(68px,18.5vw,112px)}.planner-title h2 em{margin-left:10vw}.draft-mark{display:none}.planner-title>p:last-of-type{grid-column:5/13;grid-row:3;font-size:12px;margin-top:30px}.planner-grid{margin-top:45px;display:block}.empty-cell{display:none}.project-choices{gap:0 18px}.project-choices legend{font-size:9px}.project-choices label{grid-template-columns:16px 14px 1fr;gap:6px;font-size:16px;padding:17px 0}.project-choices label b{display:none}.project-choices label>span{font-size:7px}.fields{grid-template-columns:1fr;gap:25px;margin-top:30px}.fields label{font-size:10px}.fields input,.fields select,.fields textarea{font-size:16px}.submit-row{display:block;margin-top:25px}.submit-row p{font-size:10px}.submit-row button{width:100%;margin-top:25px;font-size:12px}.contact{padding:30px 22px 40px}.contact-top .eyebrow{font-size:8px;max-width:210px}.contact-top>span{font-size:55px}.contact h2{font-size:clamp(90px,26vw,160px);margin-top:35px;line-height:.85}.contact h2 em{margin-left:10vw}.contact-bottom{display:block;margin-top:35px}.contact-bottom a{display:block;font-size:16px;margin-bottom:12px}.contact-bottom p{margin-top:25px;font-size:9px;max-width:260px}footer{padding:35px 22px;display:block}footer .wordmark{display:inline-block}footer p{margin-top:30px;font-size:9px}footer>div{margin-top:28px;flex-wrap:wrap;font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Render review 1: keep the planner note in its own grid column. */
@media(min-width:1001px){.planner-title h2{grid-row:2}.planner-title>p:last-of-type{grid-column:10/13;grid-row:2}.draft-mark{position:absolute;top:105px;right:4%;font-size:125px}.stairs h2 span+span{color:#fff;mix-blend-mode:difference}}
@media(max-width:640px){.roof{min-height:1120px}.roof-art{top:220px;height:560px}.roof-art:after{background:linear-gradient(90deg,#201d17c9,transparent 85%)}.roof .scene-copy{margin-top:540px;max-width:270px}.stairs{min-height:1120px}.stairs h2 span+span{top:580px}.stairs .scene-copy{bottom:38px}}
@media(min-width:1001px){.stairs h2 span+span{color:var(--ink);mix-blend-mode:normal;background:var(--paper);width:max-content;max-width:100%;margin-left:48%;padding:.02em .06em .08em}}
.sound-toggle{position:fixed;bottom:15px;right:18px;z-index:40;border:1px solid #d0ad7766;background:#141511ed;color:var(--paper);border-radius:100px;padding:9px 15px;font-size:9px;letter-spacing:.05em}.sound-toggle[aria-pressed=true]{border-color:var(--gold)}.has-motion a,.has-motion button{transition:background-color .45s cubic-bezier(.16,1,.3,1),color .45s cubic-bezier(.16,1,.3,1)}.has-motion .round-link:hover .circle{background:#d0ad7720}.has-motion .submit-row button:hover{background:#4a3822}.has-motion .media-window{overflow:hidden}.has-motion .hero-art img,.has-motion .media-window img{will-change:transform}.is-horizontal .showroom{height:100svh;overflow:clip}.is-horizontal .scene-track{display:flex;width:300%;height:100%}.is-horizontal .scene{flex:0 0 33.333333%;width:33.333333%;height:100svh;min-height:0;padding:var(--pad)}.is-horizontal .roof h2{font-size:min(9.8vw,14vh);margin-top:4vh}.is-horizontal .roof .scene-copy{margin-top:4vh}.is-horizontal .roof-art{height:100%;top:0}.is-horizontal .roof-art figcaption{bottom:35px}.is-horizontal .stairs h2{font-size:min(12.8vw,18vh);margin-top:4vh}.is-horizontal .stairs h2 span+span{top:30vh}.is-horizontal .stairs-art{top:17vh;height:66vh}.is-horizontal .stairs .scene-copy{bottom:4vh}.is-horizontal .pergola h2{font-size:min(11vw,16vh);margin-top:6vh}.is-horizontal .pergola .scene-copy{margin-top:10vh}.is-horizontal .scene-number{font-size:14vh}.is-horizontal .scene-copy{font-size:13px}.is-horizontal .scene-top{font-size:9px}.is-horizontal .scene-art img{height:110%}.draft-output p{font-size:12px;margin-top:20px}.draft-output textarea{resize:vertical}.draft-output>a{margin-left:8px}.draft-output button:hover,.draft-output>a:hover{background:#4a3822}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.sound-toggle{position:static;margin:15px var(--pad);display:inline-block}.hero-art img,.media-window img{transform:none!important}}

.sound-toggle[disabled]{display:none}
@media(max-width:640px){.sound-toggle{position:static;display:block;margin:0 22px 25px auto}.sound-toggle[disabled]{display:block;visibility:hidden}}

.sound-toggle{position:static;display:block;margin:0 var(--pad) 25px auto}.sound-toggle[disabled]{display:block;visibility:hidden}

.stairs-art img{object-position:center top}

.portrait-stage{position:relative;width:100%;box-sizing:border-box}.is-portrait-scenes .hero,.is-portrait-scenes .scene{overflow:clip}.is-portrait-scenes .hero .portrait-stage{isolation:isolate}.is-portrait-scenes .media-window img{will-change:transform}
@media(min-width:1100px) and (max-height:850px){.is-horizontal .stairs h2{font-size:16vh}.is-horizontal .stairs h2 span+span{margin-left:45%}.is-horizontal .stairs .scene-copy{max-width:250px;right:4%;font-size:11.5px}.is-horizontal .pergola .scene-copy{margin-top:5vh;padding:24px}}
.is-portrait-scenes .scene-track{transform:none!important;will-change:auto}
@media(prefers-reduced-motion:reduce){.scene-track{transform:none!important}}
@media(max-width:640px){.roof-final{display:inline-block;line-height:1;background:#1f1c17;padding:0 .02em .04em}}

.hero>.portrait-stage{isolation:isolate}

.hero.is-staged,.scene.is-staged{height:100svh!important;min-height:0!important;padding:0!important}
.hero.is-staged,.scene.is-staged{overflow:clip!important}

/* Tablet keeps the stair title on the same paper cut-in as desktop. */
@media(min-width:641px) and (max-width:1000px){.stairs h2 span+span{background:var(--paper);width:max-content;padding:.02em .06em .08em}}
.stairs :focus-visible,.planner :focus-visible,.contact :focus-visible{outline-color:#483014}

/* Pinned scenes move intentionally; do not use their moving children as scroll anchors. */
.hero,.showroom{overflow-anchor:none}

@media(max-width:640px){.editorial-rule{min-height:51px}.editorial-rule span{min-height:21px}}

/* Keep text in document flow so user-defined spacing can increase its height. */
.hero{display:flex;flex-direction:column;height:auto;min-height:max(950px,calc(100svh - 32px))}
.hero>.portrait-stage{display:flex;flex-direction:column}
.hero-copy{flex-shrink:0}
.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;margin:auto var(--pad) 65px;padding-top:80px;flex-shrink:0}
.project-choices label{grid-template-columns:20px 18px minmax(0,1fr) 25px;overflow-wrap:anywhere}
@media(max-width:1000px){.hero{min-height:1000px}}
@media(max-width:640px){.hero{min-height:820px}.hero-bottom{left:auto;right:auto;bottom:auto;margin:auto 22px 70px}.project-choices label{grid-template-columns:16px 14px minmax(0,1fr)}}

.hero>.portrait-stage{flex-shrink:0}
/* Intrinsic mobile stair composition: the heading spans the image row without
   taking its words out of flow. Extra text spacing can grow every row. */
@media(max-width:640px){
 .stairs:not(.is-staged),.stairs>.portrait-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto}
 .stairs .scene-top{grid-column:1;grid-row:1}
 .stairs h2{grid-column:1;grid-row:2/5;display:grid;grid-template-rows:subgrid;margin:55px 0 0;font-size:clamp(87px,23vw,140px);min-width:0;overflow-wrap:anywhere}
 .stairs h2>span:first-child{grid-row:1;align-self:start}
 .stairs h2>span+span{grid-row:3;position:static;top:auto;margin:30px 0 0 8vw;max-width:calc(100% - 8vw);background:none;padding:0}
 .stairs-art{position:relative;grid-column:1;grid-row:3;left:auto;top:auto;justify-self:center;align-self:start;width:84%;height:520px;margin-top:50px}
 .stairs .scene-copy{position:relative;grid-column:1;grid-row:5;left:auto;right:auto;bottom:auto;margin:35px 0 40px auto;width:100%;max-width:265px}
 .roof h2,.pergola h2,.planner h2,.contact h2{overflow-wrap:anywhere;max-width:100%}
 .roof-final{max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:640px){.pergola>.portrait-stage{padding-bottom:100px!important}.pergola:not(.is-staged){padding-bottom:100px}}
/* Expanded user typography uses intrinsic vertical cameras at every viewport.
   The regular art direction and horizontal sequence remain unchanged. */
.has-expanded-type .scene:not(.is-staged),.has-expanded-type .scene>.portrait-stage{display:flex;flex-direction:column;gap:40px}
.has-expanded-type .scene-top{order:0;gap:24px;flex-wrap:wrap}
.has-expanded-type .scene h2{order:1;display:block;position:relative;margin:0;max-width:100%;overflow-wrap:anywhere;min-width:0}
.has-expanded-type .scene h2>span{position:static;top:auto;margin:0;max-width:100%;background:none;padding:0}
.has-expanded-type .scene .media-window{order:2;position:relative;inset:auto;z-index:0;align-self:center;width:84%;height:560px;margin:0;flex-shrink:0}
.has-expanded-type .scene .media-window figcaption{max-width:calc(100% - 40px)}
.has-expanded-type .scene .scene-copy{order:3;position:relative;inset:auto;margin:0 0 70px;max-width:65ch;width:100%;flex-shrink:0}
.has-expanded-type .stairs-axis{display:none}
.has-expanded-type .scene .scene-number{display:none}
.hero-copy:before{content:"";position:absolute;z-index:-1;pointer-events:none;left:0;top:20%;bottom:-12%;width:min(1280px,100%);background:radial-gradient(ellipse,rgba(9,9,7,.58) 0%,rgba(9,9,7,.46) 55%,transparent 82%);filter:blur(24px)}

.fields input,.fields select,.fields textarea,.draft-output textarea{border-bottom-color:#756f60}
/* Lenis owns animated anchors; native keyboard focus scrolling stays immediate. */
html.has-motion{scroll-behavior:auto!important}
.project-choices{color-scheme:light}
.submit-row p a{display:inline-block;margin-top:8px;text-decoration:underline;text-underline-offset:3px}

/* Soft local backing protects the moving pergola title without obscuring the scene. */
.pergola h2{isolation:isolate}
.pergola h2:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-.22em -.16em;background:radial-gradient(ellipse,rgba(7,9,8,.50) 0%,rgba(7,9,8,.38) 60%,transparent 88%);filter:blur(16px)}

/* Protect the roof title over moving rafters and the entire italic ink box. */
.roof h2{isolation:isolate}
.roof h2:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-.22em -.16em;background:radial-gradient(ellipse,rgba(20,18,14,.50) 0%,rgba(20,18,14,.40) 60%,transparent 88%);filter:blur(14px)}
@media(min-width:1001px){.stairs h2 span+span{padding-bottom:.26em}}

/* Header tracks the real concept banner; text enlargement may wrap the masthead. */
.page-shell{position:relative}
.masthead{top:0;flex-wrap:wrap}
.hero h1{overflow-wrap:anywhere}
.hero-copy{padding-top:max(clamp(10.9375em,18vh,14.6875em),var(--masthead-clearance,0px))}
@media(max-width:640px){.hero-copy{padding-top:max(9.25em,var(--masthead-clearance,0px))}}
