/* Concept v2 nav pages (draft): portfolio, plans, method, studio, begin. Reuses v2.css?v=20261103f, blend.css, feature.css?v=20261103h. */
.phero h1{font-size:clamp(64px,12vw,200px)}
.bl-cap .sl{color:inherit;border-bottom:1px solid rgba(200,160,110,.0);transition:border-color .4s}.bl-cap .sl:hover{border-color:var(--bronze2)}
/* signature moments: stills drifting at depth over the dark, never a grid */
.moments{position:relative;padding-top:16vh}
.mo-head h2{font-size:clamp(46px,6vw,100px);max-width:1000px}
.mo-field{position:relative;margin-top:6vh;display:flex;flex-wrap:wrap;gap:6vh 4vw;padding:0 var(--pad) 12vh;align-items:flex-start}
.mo-field .dr{position:relative;width:min(40vw,360px)}
.mo-field .dr:nth-child(even){margin-top:14vh}
.bl-on .mo-field{display:block;height:260vh;padding:0}
.bl-on .mo-field .dr{position:absolute;left:var(--x);top:var(--y);width:var(--w);margin:0;will-change:transform}
.bl-on .mo-field .dr.fr{z-index:2}
@media (max-width:760px){.bl-on .mo-field{height:330vh}.bl-on .mo-field .dr{left:var(--xm);top:var(--ym);width:var(--wm)}.mo-field .dr{width:70vw}}
.pf-inc{padding:16vh var(--pad) 6vh}.pf-inc h2{font-size:clamp(56px,9vw,150px)}
.pf-more{padding:14vh var(--pad) 0;text-align:center}.pf-more h2{font-size:clamp(40px,5vw,84px);max-width:1000px;margin:0 auto}
.pf-more p{color:var(--mute);margin:20px auto 34px;max-width:440px}
/* plan library: floating type, staggered, no cards */
.plib{padding:14vh var(--pad) 6vh}
.pl-note{color:var(--mute);max-width:520px;margin-bottom:10vh}
.pl-list{list-style:none;counter-reset:none}
.pl{position:relative;margin-left:var(--ml);padding:4.4vh 0;max-width:min(860px,100%)}
.pl h3{font-size:clamp(44px,6.4vw,108px);line-height:.95;transition:color .5s}
.pl:hover h3,.pl:focus-within h3{color:var(--bronze2)}
.pl-s{display:flex;flex-wrap:wrap;gap:6px 22px;color:#cfc5b6;margin-top:14px}
.pl-a{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;color:var(--bronze2)}
.pl-a .gi{display:inline;width:auto;color:var(--bronze2);border-bottom:1px solid currentColor;padding-bottom:2px;font:inherit}
.pl-a .ask,.pl-ft{color:var(--mute);border-bottom:1px solid var(--line);padding-bottom:2px}
.lb.dwg img{filter:none;background:#f3efe8}
@media (max-width:760px){.pl{margin-left:0}.pl h3{font-size:clamp(40px,12vw,64px)}}
/* studio team: names float at depth over two dim stills */
.team{position:relative}
.tm-head{padding-top:16vh;padding-bottom:6vh}
.tm-head h2{font-size:clamp(56px,8vw,140px)}
.tm-wrap{position:relative;z-index:2;padding-bottom:18vh}
.tm-list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3.2vw,52px) clamp(16px,2vw,32px);margin:0;padding:0}
.tm{min-width:0}
.tm-ph{margin:0 0 16px;position:relative;overflow:hidden;aspect-ratio:4/5;background:#0d0b09;border-radius:2px}
.tm-ph picture,.tm-ph img{display:block;width:100%;height:100%;object-fit:cover}

.tm .mono{display:block;color:var(--bronze);margin-bottom:6px;font-size:13px;line-height:1.5}
.tm b{display:block;font-weight:400;font-size:clamp(22px,1.9vw,32px);line-height:1.05}
.motion .tm.rv{transition-delay:calc(var(--i) * 90ms)}
.motion .tm-ph img{filter:brightness(.9);transform:scale(1.04);transition:transform 1.6s cubic-bezier(.2,.7,.1,1),filter .8s}
.motion .tm.rv.in .tm-ph img{transform:scale(1)}
@media (hover:hover){.motion .tm.rv.in:hover .tm-ph img{filter:brightness(1.06);transform:scale(1.025)}}
@media (max-width:1000px){.tm-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.tm-head{padding-top:12vh;padding-bottom:5vh}.tm .mono{font-size:13px}.motion .tm.rv{transition-delay:calc(var(--j) * 90ms)}}
/* begin */
.iq{padding:16vh var(--pad) 4vh}.iq h2{font-size:clamp(46px,6vw,100px);max-width:1100px}
.iq-stage{margin:8vh 0;padding:8vh 6vw;border:1px dashed rgba(200,160,110,.45);max-width:900px;background:radial-gradient(ellipse at 30% 40%,rgba(200,160,110,.07),transparent 70%)}
.iq-stage .mono{color:var(--bronze);display:block;margin-bottom:16px}.iq-stage p{font:400 clamp(22px,2.2vw,34px)/1.25 Bodoni,serif;max-width:640px}
.iq-bands{margin-top:6vh}.iq-bands ul{list-style:none;margin-top:4vh}
.iq-bands li{display:block;padding:1.6vh 0}.iq-bands li:nth-child(2){margin-left:10vw}.iq-bands li:nth-child(3){margin-left:4vw}.iq-bands li:nth-child(4){margin-left:16vw}
.iq-bands li .disp{font-size:clamp(40px,6vw,104px);line-height:1}
.iq-bands>p{color:var(--mute);margin-top:4vh}
@media (max-width:760px){.iq-bands li{margin-left:0!important}}
.cg a:hover{color:var(--bronze2)}
.phero .ph video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;opacity:0;transition:opacity 1.2s}.phero .ph video.on{opacity:1}
.iq-bands,.pl-list,.tm-list,.moments{overflow-x:clip}
.iq,.plib,.team,.pf-inc,.pf-more{overflow-x:clip}
.iq-bands li{position:relative;width:max-content;max-width:100%}.pl,.tm{position:relative}
@media (max-width:760px){.pl,.iq-bands li{margin-left:12px!important}}
.pl::before,.iq-bands li::before{display:none}
.bl-on .mo-field.m16{height:380vh}
@media (max-width:760px){.bl-on .mo-field.m16{height:520vh}}
.pf-inc .cta{margin-top:5vh;display:inline-block}
/* local pages (draft sample: /where-we-build/waukee/) */
.lc-homes{padding:10vh var(--pad) 12vh}.lc-homes h2,.lc-faq h2{font-size:clamp(42px,5.2vw,88px)}
.lc-grid{list-style:none;margin:8vh 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:3vw}
.lc-h a{display:block;color:inherit;text-decoration:none}
.lc-ph{margin:0 0 22px;aspect-ratio:4/5;overflow:hidden}.lc-ph img{width:100%;height:100%;object-fit:cover;display:block}
.lc-h .k{color:var(--bronze);display:block;margin-bottom:10px}.lc-h b{display:block;font-weight:400;font-size:clamp(30px,2.6vw,44px);line-height:1}
.lc-h p{color:#cfc5b6;margin:12px 0 14px;max-width:34ch}.lc-h .go{font-size:11px;letter-spacing:.14em}
.motion .lc-h.rv{transition-delay:calc(var(--i)*110ms)}
@media (hover:hover){.motion .lc-ph img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.lc-h a:hover .lc-ph img{transform:scale(1.03)}}
.lc-faq{padding:8vh var(--pad) 14vh}.lc-qs{margin-top:7vh;max-width:980px;border-top:1px solid var(--line)}
.lc-q{border-bottom:1px solid var(--line)}.lc-q summary{cursor:pointer;list-style:none;padding:26px 40px 26px 0;font-size:clamp(22px,2vw,32px);position:relative}
.lc-q summary::-webkit-details-marker{display:none}.lc-q summary::after{content:"+";position:absolute;right:4px;top:24px;font-family:Hanken,system-ui,sans-serif;font-weight:400;color:var(--bronze)}
.lc-q[open] summary::after{content:"–"}.lc-q p{color:#cfc5b6;margin:0 0 28px;max-width:70ch}
@media (max-width:900px){.lc-grid{grid-template-columns:1fr;gap:9vh}.lc-ph{aspect-ratio:4/3}}
/* ---- launch block 1 (2026-10-28): inquiry BT form, where we build */
.iq-form{margin:10vh 0 0;max-width:640px}
.iq-form>.k{display:block;margin-bottom:3vh;color:var(--bronze)}
.iq-screen{position:relative;padding:clamp(14px,2.4vw,36px);border:1px solid rgba(200,160,110,.32);background:radial-gradient(ellipse at 30% 20%,rgba(200,160,110,.08),transparent 70%),rgba(10,9,8,.6)}
.iq-screen iframe{display:block;width:100%;min-height:900px;border:0;margin:0 auto;background:transparent;color-scheme:normal}
.iq-note{margin-top:2.4vh;color:var(--mute);max-width:640px;line-height:1.6}
.wwb{padding:16vh var(--pad) 6vh;overflow-x:clip}
.wwb h2{font-size:clamp(46px,6vw,100px)}
.wb-lede{max-width:640px;margin:3vh 0 6vh;font:400 clamp(20px,1.8vw,28px)/1.35 Bodoni,serif}
.wb-list{list-style:none;border-top:1px solid rgba(200,160,110,.28);margin-bottom:4vh}
.wb-list li{border-bottom:1px solid rgba(200,160,110,.28)}
.wb-list a{display:grid;grid-template-columns:minmax(150px,1fr) 2fr auto;align-items:baseline;gap:2vw;padding:3vh 0;color:inherit;text-decoration:none}
.wb-list b{font-size:clamp(36px,4.6vw,76px);font-weight:400;line-height:1}
.wb-list .mono{color:var(--mute)}.wb-list a:hover b,.wb-list a:focus-visible b{color:var(--bronze)}
.wwb .go,.wb-list .go{color:var(--bronze)}
@media (max-width:760px){.wb-list a{grid-template-columns:1fr;gap:1vh}.iq-screen iframe{min-height:1100px}}
/* text-led hero, prose, journal, plan details, footer nav */
.thero{padding:22vh var(--pad) 6vh;position:relative}
.thero .crumbs{margin-bottom:5vh}.thero .k{display:block;color:var(--bronze);margin-bottom:3vh}
.thero h1{font-size:clamp(56px,9vw,160px);line-height:.92}
.thero .sub{max-width:640px;margin-top:4vh;font:400 clamp(20px,1.8vw,28px)/1.35 Bodoni,serif;color:var(--bone)}
.prose{max-width:820px;padding:10vh var(--pad) 8vh;margin:0 auto 0 max(var(--pad),8vw)}
.prose p,.prose li{font-size:clamp(17px,1.25vw,20px);line-height:1.7;margin:0 0 1.4em;color:var(--bone)}
.prose h2{font:400 clamp(32px,3.4vw,54px)/1.05 Bodoni,serif;margin:2.2em 0 .7em}
.prose h3{font:400 clamp(22px,1.9vw,30px)/1.2 Bodoni,serif;margin:1.8em 0 .5em}.prose h3 .mono{color:var(--bronze);margin-right:.8em;font-size:.5em;vertical-align:middle}
.prose a{color:var(--bronze2)}.prose b{color:var(--bone);font-weight:600}
.prose .pull{font-size:clamp(30px,3.2vw,52px);line-height:1.1;margin:1.6em 0 1.6em -2vw;padding-left:2vw;border-left:1px solid var(--bronze)}
.prose .pr-cta{margin-top:3em}.prose .pr-back{margin-top:2em}.prose>.mono:first-child{color:var(--mute)}
.jr{padding:4vh var(--pad) 10vh}
.jr-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.jr-c:nth-child(2){margin-top:14vh}
.jr-c a{display:block;color:inherit;text-decoration:none}
.jr-ph{overflow:hidden;aspect-ratio:4/3;margin:0 0 3vh}.jr-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.jr-c a:hover img{transform:scale(1.04)}
.jr-c .k{display:block;color:var(--mute);margin-bottom:1.6vh}.jr-c b{display:block;font-size:clamp(30px,3vw,50px);font-weight:400;line-height:1.05;margin-bottom:2vh}.jr-c .go{color:var(--bronze)}
.pd-specs{padding:4vh var(--pad) 6vh}
.pd-dl{display:grid;grid-template-columns:repeat(5,auto);justify-content:start;gap:2vh 5vw;border-top:1px solid var(--line);padding-top:4vh;margin-bottom:3vh}
.pd-dl dt{color:var(--mute);margin-bottom:1vh}.pd-dl dd{font-size:clamp(30px,3.4vw,58px);line-height:1}
.pd-sheets{padding:4vh var(--pad) 8vh}
.pd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:4vw;margin-bottom:4vh}
.pd-sheet button{display:block;width:100%;padding:0;border:1px solid var(--line);background:#f3efe8;cursor:zoom-in}
.pd-sheet img{display:block;width:100%;height:auto}.pd-sheet figcaption{color:var(--mute);margin-top:1.4vh}
.pl-t{color:inherit;text-decoration:none}.pl-t:hover{color:var(--bronze2)}
.wr-btns{display:flex;flex-wrap:wrap;gap:3vw;align-items:center;margin-top:5vh}.wr-btns .go{color:var(--bronze)}

@media (max-width:900px){.jr-grid{grid-template-columns:1fr}.jr-c:nth-child(2){margin-top:0}.pd-dl{grid-template-columns:repeat(2,auto)}.prose{margin:0 auto}}
.iq-note a{color:var(--bronze);text-decoration:underline;text-underline-offset:3px}
.phero .ph{overflow:hidden}.crop-sky{display:block;width:100%;height:100%;transform:scale(1.12);transform-origin:50% 96%}.crop-sky img{object-position:50% 100%!important}
.prose p a,.prose li a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
/* town pages: Living in (3 notes) */
.lc-live .cg{grid-template-columns:repeat(3,1fr);margin-top:6vh}.lc-live .cg p{font-size:17px;line-height:1.55;color:var(--bone);opacity:.82;margin-top:0}
@media (max-width:900px){.lc-live .cg{grid-template-columns:1fr}.lc-live .cg>div{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:24px 0}}
/* studio DRAFT sections (flags.json): partners + Google reviews */
.st-partners,.st-reviews{padding:14vh var(--pad) 4vh;overflow-x:clip}.st-partners h2,.st-reviews h2{font-size:clamp(46px,6vw,100px)}
.pt-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:5vh}
.pt-list li{padding:28px 20px 28px 0;border-bottom:1px solid var(--line)}
.pt-list b{display:block;font-size:clamp(24px,2.2vw,34px);font-weight:400;line-height:1.05}.pt-list .mono{color:var(--mute);display:block;margin-top:10px}
.rw-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;margin-top:5vh}
.rw-list blockquote p{font:400 clamp(20px,1.7vw,26px)/1.35 Bodoni,serif}.rw-list .mono{color:var(--bronze);display:block;margin-top:18px}
.rw-list .rv-pending{outline:1px dashed var(--bronze);outline-offset:14px}
@media (max-width:900px){.rw-list{grid-template-columns:1fr;gap:7vh}.pt-list{grid-template-columns:1fr 1fr}}
.phero h1.h1-long{font-size:clamp(54px,8.4vw,150px)}
.phero h1.h1-town{font-size:clamp(64px,min(14vw,15vh),200px)}
/* Matt 10/29 8:15 AM: town headlines on phones at 44px / 1.02 (Van Meter on 2 lines) */
@media (max-width:480px){.phero h1.h1-town,.phero h1.h1-long{font-size:44px;line-height:1.02}}
@media (max-width:480px){.phero h1.h1-fit{font-size:38px}}

/* small-text scale 10/28 — page-level small labels up to the 13px desktop / 12.5px phone floor (Matt t121u). Appended block only. */
.tm .mono{font-size:13px}
.lc-h .go{font-size:13px}
.prose h3 .mono{font-size:max(.5em,13px)}
@media (max-width:760px){.tm .mono,.lc-h .go{font-size:13px}.prose h3 .mono{font-size:max(.5em,13px)}}

/* gate 10/28 — reviewed fixes (Chief of Staff + Canva), local build. Appended block only. */
.phero.lite .shade{background:linear-gradient(180deg,rgba(6,5,4,.74),rgba(6,5,4,.22) 30%,rgba(6,5,4,.3) 55%,rgba(6,5,4,.94)),linear-gradient(90deg,rgba(6,5,4,.55),rgba(6,5,4,0) 60%),radial-gradient(120% 80% at 50% 40%,transparent 50%,rgba(0,0,0,.55))}
.iq-note{font-family:Hanken,system-ui,sans-serif;text-transform:none;letter-spacing:.005em;font-size:15px;line-height:1.65;max-width:62ch;color:#a99d8f}

.crumbs a,.go,.iq-note a,.pr-back a{display:inline-block;padding-block:12px}
.pl-a{align-items:center}
.pl-a .gi,.pl-a .ask,.pl-ft{display:inline-block;padding:12px 0;border-bottom:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.pl-a .gi{text-decoration-color:currentColor}.pl-a .ask,.pl-ft{text-decoration-color:var(--line)}
.pf-inc .cta{display:inline-flex}
.phero .cp{min-height:var(--cp-min,0)}
.pd-lede{max-width:62ch;color:#cfc5b6;margin-top:3vh}
/* gate 10/28: 404 on the v2 template */
.e404 .e4-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:30px}
.go{min-height:44px}.cg b a{display:inline-block;min-height:44px}
/* rescan 10/28 — the font: shorthands above reset optical sizing; restore the Canva #1 fix */
.prose h2,.prose h3,.prose .pull,.thero .sub{font-optical-sizing:none;font-variation-settings:"opsz" 28}
/* rescan 10/28 — plan pages: facts from the sheets + similar plans (AISV #10) */
.pd-inside{padding:7vh var(--pad) 1vh}.pd-inside h2,.pd-sim h2{font-size:clamp(34px,4vw,64px);line-height:1;margin:0 0 3vh}
.pd-inside .wb-lede{max-width:62ch}
.pd-sim{padding:6vh var(--pad) 4vh}.pd-simlist{list-style:none;display:flex;flex-wrap:wrap;gap:4px 34px;margin:0 0 1vh;padding:0}.pd-sim .go{color:var(--bronze2)}

/* 10/28 Matt — Portfolio: three full-screen feature chapters (mockup 2) + the filmography (mockup 1). Replaces the pinned stages and the 16-still field. */
.pf-intro{padding:clamp(80px,12vw,160px) var(--pad) clamp(36px,5vw,72px)}
.pf-intro h2,.pf-fm h2{font-size:clamp(46px,6vw,96px);line-height:1;margin:16px 0 18px}
.pf-intro p,.pf-lede{color:#cbc1b3;max-width:560px;margin:0;font-size:17px;line-height:1.6}
.pf-ch{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink2);color:var(--bone)}
.pf-ch-ph,.pf-ch-ph picture,.pf-ch-ph img{position:absolute;inset:0;width:100%;height:100%}
.pf-ch-ph img{object-fit:cover;object-position:var(--o)}
.pf-ch::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,5,4,.42) 0%,rgba(6,5,4,0) 26%,rgba(6,5,4,0) 46%,rgba(6,5,4,.62) 72%,rgba(6,5,4,.9) 100%)}
.pf-ch-cp{position:relative;z-index:2;width:100%;padding-top:30vh;padding-bottom:clamp(40px,7vw,96px)}
.pf-no{color:var(--label);display:flex;gap:18px;align-items:center;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.pf-no::before{content:"";width:48px;height:1px;background:var(--label)}
.pf-ch h2{font-size:clamp(64px,11vw,190px);line-height:.92;margin:18px 0;text-shadow:0 2px 30px rgba(0,0,0,.45)}
.pf-ln{font-size:clamp(17px,1.5vw,21px);line-height:1.55;max-width:560px;color:#e4dbcd;margin:0 0 26px;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.pf-fx{display:flex;flex-wrap:wrap;gap:12px 0;border-top:1px solid rgba(236,228,214,.24);padding-top:18px;margin:0 0 26px;max-width:900px}
.pf-fx span{padding-right:22px;margin-right:22px;border-right:1px solid rgba(236,228,214,.24)}.pf-fx span:last-child{border:0}
.pf-fx b{display:block;color:var(--label);font-weight:400;margin-bottom:6px}
.pf-ch .cta{background:rgba(6,5,4,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-height:48px}
.pf-ch-st{position:absolute;z-index:2;right:var(--pad);top:clamp(110px,14vh,160px);display:grid;gap:8px;width:clamp(120px,14vw,220px)}
.pf-ch-st figure{margin:0}.pf-ch-st img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(236,228,214,.18)}
.pf-fm{background:var(--ink2);padding:clamp(80px,11vw,170px) 0 clamp(60px,8vw,120px);overflow-x:clip}
.pf-lede{margin-bottom:48px}
.pf-nb{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:56px}
.pf-nb>.mono{color:var(--label)}
.pf-nb ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 28px}
.pf-nb li{font-size:clamp(24px,2.4vw,34px);letter-spacing:0;line-height:1.15}
.pf-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e0b36a;box-shadow:0 0 0 6px rgba(224,179,106,.18);margin-right:12px;vertical-align:1px}
.pf-yr{display:grid;grid-template-columns:120px 1fr;gap:0 40px;border-top:1px solid var(--line);padding:24px 0 8px}
.pf-y{color:var(--label);padding-top:16px}
.pf-yr ol{list-style:none;margin:0;padding:0}
.pf-yr li{display:grid;grid-template-columns:1fr;align-items:center;gap:24px;padding:14px 0;border-bottom:1px solid rgba(236,228,214,.07)}
.pf-yr li:last-child{border-bottom:0}
.pf-yr li.ph{grid-template-columns:1fr minmax(260px,38%)}
.pf-fm-t h3{font-size:clamp(30px,3.6vw,58px);line-height:1.05;margin:0}
.pf-fm-t h3 a{color:var(--bone);text-decoration:underline;text-decoration-color:rgba(217,184,143,.45);text-underline-offset:.14em;text-decoration-thickness:1px}
.pf-fm-t h3 a:hover,.pf-fm-t h3 a:focus-visible{color:var(--bronze2)}
.pf-fm-t .mono{display:block;color:var(--mute);margin-top:8px}
.pf-fm-ph{aspect-ratio:16/10;overflow:hidden}
.pf-fm-ph picture,.pf-fm-ph img{display:block;width:100%;height:100%}.pf-fm-ph img{object-fit:cover}
.pf-fm-ph.two{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pf-foot{margin:56px 0 0;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;color:#cbc1b3;font-size:16px;line-height:1.6}
@media (max-width:700px){
 .pf-ch{min-height:88vh;min-height:88svh}.pf-ch-ph img{object-position:var(--om)}
 .pf-ch-st{display:none}.pf-ch-cp{padding-top:40vh}
 .pf-fx span{padding-right:14px;margin-right:14px}.pf-fx span:nth-child(3){border:0}
 .pf-yr{grid-template-columns:1fr;gap:0;padding-top:18px}.pf-y{padding:0 0 4px}
 .pf-yr li,.pf-yr li.ph{grid-template-columns:1fr;gap:12px}
 .pf-yr li.ph .pf-fm-ph{order:-1;margin:4px 0 0}
 .pf-yr li.np{padding:10px 0}
 .pf-nb{margin-bottom:36px}
}

/* batch 10/28 11:3x PM: collection tiles (every finished house, opens its house page), plan filters, house pages */
.pf-nbn{margin:0;font-size:clamp(24px,2.4vw,34px);line-height:1.15}
.pf-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:40px 2.4vw}
.pf-tl a{display:block;color:var(--bone);text-decoration:none}
.pf-tl figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#15110d}
.pf-tl picture,.pf-tl img{display:block;width:100%;height:100%}.pf-tl img{object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.pf-tl a:hover img,.pf-tl a:focus-visible img{transform:scale(1.04)}
.pf-tl-blank{display:block;width:100%;height:100%;background:linear-gradient(135deg,#1a140f,#0d0a08);border:1px solid var(--line);box-sizing:border-box}
.pf-tl-t{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.pf-tl-t b{font-weight:400;font-size:clamp(22px,2vw,30px);line-height:1.1}.pf-tl-t .mono{color:var(--mute);flex:none}
.pf-tl a:hover b,.pf-tl a:focus-visible b{color:var(--bronze2)}
.lc-built{margin-top:6vh}
.pl-fl{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:flex-end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:0 0 6vh}
.pl-fl fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pl-fl legend{color:var(--mute);padding:0;margin-bottom:10px;float:left;width:100%}
.pl-fl label{position:relative;cursor:pointer}
.pl-fl input{position:absolute;opacity:0;width:1px;height:1px}
.pl-fl label span{display:inline-block;min-height:44px;line-height:42px;padding:0 16px;border:1px solid var(--line);font:300 13px/42px Hanken,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#cbc1b3;transition:background .3s,color .3s,border-color .3s}
.pl-fl input:checked+span{background:var(--bronze2);border-color:var(--bronze2);color:#120d09}
.pl-fl input:focus-visible+span{outline:2px solid var(--bronze2);outline-offset:2px}
.pl-cnt{margin:0 0 0 auto;color:var(--mute)}
.pl-none{color:#cbc1b3}.pl-none a{color:var(--bronze2)}
.hs-ph{display:grid;grid-template-columns:1fr 1fr;gap:1.6vw;padding:2vh var(--pad) 6vh}
.hs-ph.one{grid-template-columns:1fr}
.hs-ph.one .hs-f{aspect-ratio:16/9}
.hs-pl{padding:6vh var(--pad) 6vh}
.hs-pl h2{font-size:clamp(40px,5vw,84px);line-height:1;margin:14px 0 4vh}
.hs-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2vh}
.hs-tabs button{min-height:44px;padding:0 18px;border:1px solid var(--line);background:none;color:#cbc1b3;cursor:pointer;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.hs-tabs button[aria-selected="true"]{background:var(--bronze2);border-color:var(--bronze2);color:#120d09}
.hs-pn button{display:block;width:100%;max-width:980px;padding:0;border:1px solid var(--line);background:#f3efe8;cursor:zoom-in}
.hs-pn img{display:block;width:100%;height:auto}
.hs-cap{color:var(--mute);margin:1.4vh 0 3vh}
.hs-more{padding:0 var(--pad) 8vh}.hs-more p{display:flex;flex-wrap:wrap;gap:16px 32px}
@media (max-width:700px){.hs-ph{grid-template-columns:1fr;gap:10px}.pl-fl{gap:16px}.pl-cnt{margin:0;width:100%}.pf-tiles{grid-template-columns:1fr 1fr;gap:28px 12px}.pf-tl-t{flex-direction:column;gap:4px}}

.hs-fx{display:flex;flex-wrap:wrap;gap:2vh 4.5vw;margin:0 var(--pad) 4vh;padding:3vh 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hs-fx dt{color:var(--mute);margin-bottom:.8vh}.hs-fx dd{margin:0;font-size:clamp(24px,2.6vw,40px);line-height:1}
.hs-story{margin:0 var(--pad) 5vh;max-width:680px;color:#d8cfc2;font-size:clamp(18px,1.5vw,22px);line-height:1.6}
.hs-clip{margin:0 var(--pad) 3vh;aspect-ratio:16/9;background:#0d0a08;overflow:hidden}
.hs-clip video{display:block;width:100%;height:100%;object-fit:cover}
.hs-f{aspect-ratio:4/3;overflow:hidden}
.hs-f .gi{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.hs-f picture,.hs-f img{display:block;width:100%;height:100%}.hs-f img{object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hs-f .gi:hover img,.hs-f .gi:focus-visible img{transform:scale(1.03)}
.hs-all{display:none}
.hs-seeall{margin:0 var(--pad) 6vh}
.hs-ft{padding:4vh var(--pad) 4vh}.hs-ft h2{font-size:clamp(36px,4.4vw,72px);line-height:1;margin:14px 0 3vh}
.hs-ftl{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.hs-ftl li{border:1px solid var(--line);padding:12px 16px;color:#d8cfc2;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.hs-pls{color:var(--mute);margin:0 0 3vh}
.hs-bd{padding:0 var(--pad) 8vh}
.st-visit a.go{color:var(--bronze2)}

.hs-rd{aspect-ratio:auto;background:none}.hs-rd img{display:block;width:100%;height:auto}.hs-rd figcaption{color:var(--mute);margin-top:1.2vh}
/* rescan 10/28 — Canva #1 optical size on every Bodoni rule (generated by opsz.py; must stay last in this file) */
.iq-stage p,.wb-lede,.thero .sub,.prose h2,.prose h3,.rw-list blockquote p{font-optical-sizing:none;font-variation-settings:"opsz" 28}

/* Method mockup (11:46 PM, review only) */
.mm-flag{margin-top:4vh;color:#e2c46a;font-size:12px;letter-spacing:.08em}
.mm-tl{padding-top:10vh;padding-bottom:6vh}.mm-lede{max-width:640px;opacity:.85;margin-top:2vh}
.mm-steps{list-style:none;padding:0;margin:6vh 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line)}
.mm-step{padding:28px 22px 28px 0;border-right:1px solid var(--line);margin-right:22px}.mm-step:last-child{border-right:0;margin-right:0}
.mm-step h3{font-size:clamp(22px,2vw,30px);line-height:1.1;margin:12px 0 14px}.mm-n{color:var(--label);font-size:12px}
.mm-step p{font-size:15px;line-height:1.55;opacity:.8;margin-top:14px}
.mm-dur{display:inline-block;padding:7px 11px;border:1px solid var(--line);border-radius:999px;font-size:12px;letter-spacing:.04em;color:var(--bone)}
.mm-ph{outline:2px solid #d4af37;outline-offset:3px;color:#e2c46a!important;border-color:transparent}
b.mm-ph{display:inline-block;padding:2px 8px}
.mm-note{margin-top:4vh;font-size:14px;opacity:.7}
.mm-fv .cg{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
@media (max-width:900px){.mm-steps{grid-template-columns:1fr}.mm-step{border-right:0;margin-right:0;border-bottom:1px solid var(--line);padding:24px 0}.mm-fv .cg{grid-template-columns:1fr}}
.mm-tl h2{font-size:clamp(40px,5.2vw,76px);line-height:1;margin-top:2vh}

.st-book{margin-top:5vh}.st-fv{margin-top:2.5vh;font-size:16px;opacity:.85}
/* Studio opening + SHOWTIME ETHOS (Matt 10/29 12:20 AM) */
.st-open .st-good{max-width:1100px;margin-top:4vh;font-size:clamp(30px,3.4vw,56px);line-height:1.18;color:#efe6d6}
.st-open .st-open-l{max-width:1100px;margin-top:4vh;font-size:clamp(30px,3.4vw,56px);line-height:1.18;color:#efe6d6;font-style:normal}
.st-open .st-open-l+.st-good{margin-top:2.4vh}
.st-open .st-good+.st-good{margin-top:2.4vh}  /* BTL story v2: four paragraphs, same spacing (10/29) */
.st-open .st-btl{margin-top:4vh}
.ethos{padding:10vh var(--pad) 4vh;max-width:1100px}
.ethos h2{letter-spacing:.32em;margin-bottom:5vh}
.et-list{list-style:none;margin:0;padding:0;counter-reset:et}
.et-list li{counter-increment:et;display:grid;grid-template-columns:3.2em 1fr;gap:1em;padding:2.2vh 0;border-top:1px solid var(--line);font:400 clamp(19px,1.6vw,26px)/1.45 Bodoni,serif;color:#e4dbcb}
.et-list li::before{content:counter(et,upper-roman);font:400 13px/2.4 Hanken,system-ui,sans-serif;letter-spacing:.2em;color:var(--bronze2)}
.et-list li:last-child{border-bottom:1px solid var(--line)}
/* Phone ethos rows (was in the old Built to Last media rule) */
@media (max-width:760px){.et-list li{grid-template-columns:2.4em 1fr}}
/* Built to Last v3 (Matt 10/30 1:58 PM CT: "not elegant enough"). Whole story in one passage, Cormorant Garamond text
   (same family as the site's Corm italics, self-hosted), feathered full-bleed photo scenes. Photos are masked, never regraded. */
@font-face{font-family:CormText;src:url(/assets/fonts/cormorant-garamond-latin-400-normal.woff2?v=20261030c) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:CormText;src:url(/assets/fonts/cormorant-garamond-latin-400-italic.woff2?v=20261030c) format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:CormText;src:url(/assets/fonts/cormorant-garamond-latin-300-normal.woff2) format("woff2");font-weight:300;font-display:swap}
.b2{display:block;overflow:clip;padding:0 0 4vh}
.b2-story{max-width:900px;margin:0 auto;padding:22vh var(--pad) 20vh;text-align:center}
.b2-k{display:inline-flex;align-items:center;gap:22px;font:400 13px/1 Hanken,system-ui,sans-serif;letter-spacing:.38em;text-transform:uppercase;color:var(--bronze2);padding-left:.38em}
.b2-k::before,.b2-k::after{content:"";width:56px;height:1px;background:linear-gradient(90deg,transparent,var(--bronze))}
.b2-k::after{background:linear-gradient(270deg,transparent,var(--bronze))}
.b2-lead{margin:6.5vh auto 0;max-width:19ch;font:italic 400 clamp(36px,3.5vw,58px)/1.18 CormText,Georgia,serif;letter-spacing:-.006em;color:var(--bronze2);text-wrap:balance}
.b2-rule{display:block;width:1px;height:11vh;margin:7vh auto 7.5vh;background:linear-gradient(180deg,transparent,var(--bronze) 45%,transparent)}
.b2-body{max-width:26em;margin:0 auto;text-align:left;font:400 clamp(23px,1.9vw,31px)/1.68 CormText,Georgia,serif;letter-spacing:.004em;color:#e9e0d0;font-kerning:normal;font-feature-settings:"kern","liga","calt"}
.b2-p{text-wrap:pretty}
.b2-p+.b2-p{margin-top:1.15em}
.b2-p em{font-style:italic;color:var(--bronze2)}
.b2-dc::first-letter{initial-letter:3;-webkit-initial-letter:3;font-family:CormText,Georgia,serif;font-weight:300;font-style:normal;color:var(--bronze2);margin-right:.14em}
@supports not ((initial-letter:3) or (-webkit-initial-letter:3)){.b2-dc::first-letter{float:left;font-size:5.6em;line-height:.8;margin:.07em .1em 0 0}}
.b2-orn{display:block;width:7px;height:7px;margin:10vh auto 0;font-size:0;color:transparent;border:1px solid var(--bronze);transform:rotate(45deg)}
.motion .b2-orn.rv{transform:rotate(45deg) translateY(20px)}.motion .b2-orn.rv.in{transform:rotate(45deg)}
.b2-ph{position:relative;margin:0}
.b2-fr{position:relative;overflow:hidden;-webkit-mask-image:var(--mk);mask-image:var(--mk);-webkit-mask-composite:source-in;mask-composite:intersect}
.b2-fr::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 50%,transparent 55%,rgba(6,5,4,.42) 100%)}
.b2-fr picture{display:block;width:100%;height:100%}
.b2-fr img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--op,50% 50%)}
.b2-ph figcaption{position:absolute;left:var(--pad);bottom:7%;z-index:2;display:flex;align-items:center;gap:16px;font:400 13px/1.3 Hanken,system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze2);text-shadow:0 1px 14px rgba(0,0,0,.7)}
.b2-ph figcaption::before{content:"";width:40px;height:1px;background:var(--bronze);flex:none}
.b2-bleed .b2-fr{height:min(90vh,64vw);--mk:linear-gradient(180deg,transparent 0,rgba(0,0,0,.08) 6%,rgba(0,0,0,.3) 13%,rgba(0,0,0,.66) 22%,#000 31%,#000 69%,rgba(0,0,0,.66) 78%,rgba(0,0,0,.3) 87%,rgba(0,0,0,.08) 94%,transparent 100%)}
.b2-duo{position:relative;display:grid;grid-template-columns:repeat(12,1fr);margin:-4vh 0 0}
.b2-l{grid-column:1/9;grid-row:1}
.b2-r{grid-column:7/13;grid-row:1;margin-top:36vh}
.b2-l .b2-fr,.b2-r .b2-fr{aspect-ratio:3/2}
.b2-l .b2-fr{--mk:linear-gradient(90deg,#000 46%,rgba(0,0,0,.7) 64%,rgba(0,0,0,.3) 82%,transparent 100%),linear-gradient(180deg,transparent 0,rgba(0,0,0,.08) 6%,rgba(0,0,0,.3) 13%,rgba(0,0,0,.66) 22%,#000 31%,#000 69%,rgba(0,0,0,.66) 78%,rgba(0,0,0,.3) 87%,rgba(0,0,0,.08) 94%,transparent 100%)}
.b2-r .b2-fr{--mk:linear-gradient(270deg,#000 46%,rgba(0,0,0,.7) 64%,rgba(0,0,0,.3) 82%,transparent 100%),linear-gradient(180deg,transparent 0,rgba(0,0,0,.08) 6%,rgba(0,0,0,.3) 13%,rgba(0,0,0,.66) 22%,#000 31%,#000 69%,rgba(0,0,0,.66) 78%,rgba(0,0,0,.3) 87%,rgba(0,0,0,.08) 94%,transparent 100%)}
.b2-r figcaption{left:auto;right:var(--pad);flex-direction:row-reverse}
.b2-end{margin-top:-2vh}
.b2-more{display:flex;gap:2.6em;justify-content:center;flex-wrap:wrap;margin:2vh auto 6vh;padding:0 var(--pad)}
.motion .b2-ph.rv{transform:none;transition:opacity 1.8s ease}
.motion .b2-ph.rv img{transform:scale(1.06);transition:transform 2.8s cubic-bezier(.2,.7,.1,1)}
.motion .b2-ph.rv.in img{transform:scale(1)}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){
 .motion .b2-fr picture{animation:b2-drift linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
 @keyframes b2-drift{from{transform:translateY(-5%) scale(1.14)}to{transform:translateY(5%) scale(1.14)}}
}}
@media (max-width:760px){
 .b2-story{padding:14vh 26px 13vh}
 .b2-k{gap:14px;letter-spacing:.32em}.b2-k::before,.b2-k::after{width:34px}
 .b2-lead{font-size:31px;line-height:1.2;margin-top:5vh}
 .b2-rule{height:8vh;margin:5vh auto 5.5vh}
 .b2-body{font-size:21px;line-height:1.64}
 .b2-orn{margin-top:8vh}
 .b2-bleed .b2-fr{height:auto;aspect-ratio:4/5;--mk:linear-gradient(180deg,transparent 0,rgba(0,0,0,.08) 6%,rgba(0,0,0,.3) 13%,rgba(0,0,0,.66) 22%,#000 31%,#000 69%,rgba(0,0,0,.66) 78%,rgba(0,0,0,.3) 87%,rgba(0,0,0,.08) 94%,transparent 100%)}
 .b2-duo{display:block;margin-top:-6vw}
 .b2-r{margin-top:-14vw}
 .b2-l .b2-fr,.b2-r .b2-fr{aspect-ratio:1/1;--mk:linear-gradient(180deg,transparent 0,rgba(0,0,0,.08) 6%,rgba(0,0,0,.3) 13%,rgba(0,0,0,.66) 22%,#000 31%,#000 69%,rgba(0,0,0,.66) 78%,rgba(0,0,0,.3) 87%,rgba(0,0,0,.08) 94%,transparent 100%)}
 .b2-r figcaption{right:auto;left:var(--pad);flex-direction:row}
 .b2-ph figcaption{letter-spacing:.2em;bottom:6%;right:var(--pad)}
 .b2-more{gap:1.4em 2em}
}
/* House pages: story first, details lower (Matt 10/29 12:20 AM) */
.hs-life{padding:4vh var(--pad) 8vh}
.hs-lead{max-width:30ch;margin-top:2.4vh;font-size:clamp(26px,2.8vw,46px);line-height:1.22;color:#efe6d6}
.hs-det{padding:8vh 0 2vh}
.hs-det>.k{display:block;margin:0 var(--pad) 3vh}
/* 10/29 missing-photos fix: a FINISHED home with no presentable photo shows its plan name and year on the warm panel (never 'Coming soon') */
.pf-tl-cs{display:flex;flex-direction:column;gap:.6em;align-items:center;justify-content:center;text-align:center;padding:1em;background:linear-gradient(160deg,#2a2118,#15110d)}.pf-tl-cs .disp{font-size:clamp(18px,2vw,28px);color:var(--bone);font-weight:400}.pf-tl-cs .mono{color:var(--bronze2,#b8956a);letter-spacing:.2em;font-size:13px}

/* 10/29 production tiles (Matt 7:44 AM, approved mock): Coming soon panel for homes not yet finished. Label sizes floored at 13px (mono retire). */
.pf-tl.nl>div{display:block;color:inherit}
.pf-soon{position:relative;display:grid;place-content:center;justify-items:center;gap:12px;width:100%;height:100%;box-sizing:border-box;text-align:center;
 background:radial-gradient(120% 95% at 50% 38%,#1e1813 0%,#120e0b 58%,#0a0806 100%)}
.pf-soon::before{content:"";position:absolute;inset:12px;border:1px solid color-mix(in srgb,var(--bronze2) 24%,transparent);pointer-events:none;transition:border-color .4s}
.pf-soon::after{content:"";position:absolute;inset:12px;pointer-events:none;opacity:.75;background-repeat:no-repeat;
 background-image:linear-gradient(var(--bronze2),var(--bronze2)),linear-gradient(var(--bronze2),var(--bronze2)),linear-gradient(var(--bronze2),var(--bronze2)),linear-gradient(var(--bronze2),var(--bronze2)),linear-gradient(var(--bronze2),var(--bronze2)),linear-gradient(var(--bronze2),var(--bronze2)),linear-gradient(var(--bronze2),var(--bronze2)),linear-gradient(var(--bronze2),var(--bronze2));
 background-size:14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px;
 background-position:left top,left top,right top,right top,left bottom,left bottom,right bottom,right bottom}
.pf-soon .mono{color:var(--bronze);font-size:13px;font-weight:400;letter-spacing:.22em}
.pf-soon i{display:block;width:28px;height:1px;background:color-mix(in srgb,var(--bronze2) 60%,transparent)}
.pf-soon b{font-family:Corm,Bodoni,serif;font-style:italic;font-weight:500;color:var(--bronze2);font-size:clamp(26px,2.3vw,34px);line-height:1;letter-spacing:-.01em}
.pf-tl.ut .pf-tl-t b.disp{color:var(--mute)}
.pf-tl.ut .pf-tl-t b.disp em{font-size:1em;color:var(--mute)}
.pf-tl a:hover .pf-soon::before{border-color:color-mix(in srgb,var(--bronze2) 48%,transparent)}
@media (max-width:700px){.pf-soon{gap:8px}.pf-soon::before,.pf-soon::after{inset:8px}.pf-soon b{font-size:22px}.pf-soon .mono{font-size:13px;letter-spacing:.2em}}
.pf-nb2{margin-top:72px}@media (max-width:700px){.pf-nb2{margin-top:48px}}

/* Matt 10/29 8:24 AM: Method hero C, the Inception daylight walkout. Mock C shade (a bottom-left pool keeps the headline legible on daylight) and a phone focal point */
.me-hero .hero-img img{object-position:50% 50%}.me-hero .shade{background:radial-gradient(75% 62% at 0% 100%,rgba(6,5,4,.6),rgba(6,5,4,0) 72%),linear-gradient(180deg,rgba(6,5,4,.55),rgba(6,5,4,0) 30%,rgba(6,5,4,.1) 55%,rgba(6,5,4,.92)),radial-gradient(120% 80% at 50% 40%,transparent 50%,rgba(0,0,0,.55))}
@media (max-width:760px){.me-hero .hero-img img{object-position:56% 50%}}

/* Method · One · Design: the design team (Matt 10/29 7:56 AM; option D picked 8:52 AM and placed in the Method Act II header, 8:55 AM). Original Studio headshots (t-*.jpg), crop/resize only: no filter, no overlay, no grade.
   Feathering is a mask on the edges only (inset-blend option C style). Labels: Hanken light, no mono. */
.mdt-p{position:absolute;display:block;color:var(--bone);text-decoration:none;min-height:44px;-webkit-tap-highlight-color:transparent}
.mdt-p picture,.mdt-p img{position:static;inset:auto;width:100%;height:auto;object-fit:cover;display:block}
.mdt-p img{aspect-ratio:4/5}
.mdt-p picture{display:block;-webkit-mask-image:linear-gradient(180deg,transparent,#000 16%,#000 60%,rgba(0,0,0,.5) 80%,transparent),linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(180deg,transparent,#000 16%,#000 60%,rgba(0,0,0,.5) 80%,transparent),linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);mask-composite:intersect;transition:transform .9s cubic-bezier(.2,.7,.1,1)}
.mdt-l{display:block;margin-top:-10%;position:relative;padding:0 8%}
.mdt-n{display:block;font:italic 500 clamp(22px,1.9vw,30px)/1.1 Corm,Bodoni,serif;color:var(--bronze2)}
.mdt-r{display:block;margin-top:8px;font:300 13px/1.45 Hanken,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--bone);opacity:.82;transition:opacity .4s}
.mdt-p:focus-visible{outline:1px solid var(--bronze2);outline-offset:6px}
@media (hover:hover){.mdt-p:hover picture{transform:translateY(-6px)}.mdt-p:hover .mdt-r{opacity:1}}
@media (prefers-reduced-motion:reduce){.mdt-p picture{transition:none}.mdt-p:hover picture{transform:none}}

@media (max-width:760px){
 .mdt-n{font-size:17px}.mdt-r{font-size:13px;line-height:1.35;letter-spacing:.02em;text-transform:none}
 .mdt-l{padding:0 2%;margin-top:-8%}
}

/* Method · four acts, thirteen steps (Matt 10/29 8:55 AM CT; ported from review-mocks method-v2). No mono font: every label is
   .mv-lab (Hanken). No duration chips, placeholders or mock banners. Expand/collapse: assets/method-v2.js. */
.mv-lab{font-family:Hanken,system-ui,sans-serif;font-weight:400;font-size:13px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase}
.mv{--gold:#c3a272;--node:64px;position:relative;padding-top:12vh;padding-bottom:8vh}
.mv-intro{max-width:880px}
.mv-intro h2{font-size:clamp(52px,7vw,120px)}
.mv-lede{color:#d8cfc1;max-width:520px;margin-top:26px;font-size:17px;line-height:1.65}
.mv-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line)}
.mv-actnav{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:10.5px}
.mv-actnav a{color:var(--mute);padding:12px 0;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;transition:color .4s}
.mv-actnav a span{color:var(--gold)}
.mv-actnav a:hover,.mv-actnav a[aria-current=true]{color:var(--bone)}
.mv-all{margin-left:auto;background:none;border:1px solid var(--line);color:var(--bone);padding:12px 16px;min-height:44px;cursor:pointer;font-size:10.5px;transition:border-color .4s,background .4s}
.mv-all:hover{border-color:var(--gold)}
.mv-tl{position:relative;margin-top:10vh}
.mv-spine{position:absolute;left:calc(var(--node)/2);top:0;bottom:0;width:1px;background:var(--line)}
.mv-spine i{position:absolute;left:0;top:0;width:1px;height:100%;background:linear-gradient(180deg,var(--gold),#e8cf9f);transform-origin:top;transform:scaleY(var(--p,0));box-shadow:0 0 12px rgba(195,162,114,.5)}
.mv-act{display:grid;grid-template-columns:minmax(0,4.2fr) minmax(0,7.8fr);gap:0 5vw;padding:0 0 12vh calc(var(--node) + 3vw);position:relative}
.mv-acth{position:sticky;top:120px;align-self:start;padding-top:6px}
.mv-acth::before{content:"";position:absolute;left:calc(-3vw - var(--node)/2 - 6px);top:12px;width:13px;height:13px;border:1px solid var(--gold);transform:rotate(45deg);background:var(--ink)}
.mv-actn{color:var(--gold);display:block;margin-bottom:16px}
.mv-acth h2{font-size:clamp(40px,4.4vw,76px);line-height:1}
.mv-acth p{color:var(--mute);margin-top:16px;max-width:300px}
.mv-scenes{list-style:none;margin:0;padding:0}
.mv-sc{position:relative;border-top:1px solid var(--line);padding:0}
.mv-sc:last-child{border-bottom:1px solid var(--line)}
.mv-h{margin:0;font:inherit}
.mv-btn{all:unset;box-sizing:border-box;display:grid;grid-template-columns:1fr 44px;grid-template-areas:"n ic" "t ic" "c ic";gap:0 20px;width:100%;padding:30px 0 22px;cursor:pointer;color:var(--bone);position:relative}
.mv-btn:focus-visible{outline:1px solid var(--gold);outline-offset:6px}
.mv-n{grid-area:n;color:var(--gold);font-size:10.5px;margin-bottom:12px;transition:letter-spacing .6s cubic-bezier(.2,.7,.1,1)}
.mv-t{grid-area:t;font-size:clamp(30px,3vw,50px);line-height:1.02;transition:transform .7s cubic-bezier(.2,.7,.1,1)}
.mv-cap{grid-area:c;color:#cfc5b6;margin-top:12px;font-size:16px;line-height:1.55;max-width:520px}
.mv-ic{grid-area:ic;align-self:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;position:relative;transition:border-color .5s,transform .7s cubic-bezier(.2,.7,.1,1),background .5s}
.mv-ic::before,.mv-ic::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1px;background:var(--bone);transform:translate(-50%,-50%);transition:transform .6s cubic-bezier(.2,.7,.1,1)}
.mv-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.mv-btn[aria-expanded=true] .mv-ic{transform:rotate(180deg);border-color:var(--gold);background:rgba(195,162,114,.08)}
.mv-btn[aria-expanded=true] .mv-ic::after{transform:translate(-50%,-50%) rotate(0deg)}
.mv-btn:hover .mv-t{transform:translateX(10px)}
.mv-btn:hover .mv-n{letter-spacing:.26em}
.mv-btn:hover .mv-ic{border-color:var(--gold)}
.mv-meta{display:flex;flex-wrap:wrap;gap:10px 14px;padding:0 64px 26px 0;align-items:center}
.mv-meta:empty{display:none}
.mv-ms{color:var(--mute);font-size:10px;padding:5px 0}
.mv-gate{color:#e8d6b4;font-size:10px;display:inline-flex;align-items:center;gap:9px;padding:5px 0}
.mv-gate i{width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg);display:inline-block;background:rgba(195,162,114,.35)}
.mv-p{display:grid;grid-template-rows:1fr;transition:grid-template-rows .8s cubic-bezier(.2,.7,.1,1)}
.mv-pi{min-height:0;overflow:hidden}
.mv-pc{padding:0 64px 34px 0;max-width:640px;transition:opacity .7s .1s,transform .9s cubic-bezier(.2,.7,.1,1)}
.mv-pc p{color:#ddd4c6;font-size:17px;line-height:1.75}
.mv-pc p+p{margin-top:14px}
.mv-pc p:first-of-type::first-letter{font-family:Bodoni,serif;color:var(--gold);font-size:1.5em}
.js .mv-sc:not(.open) .mv-p{grid-template-rows:0fr}
.js .mv-sc:not(.open) .mv-pc{opacity:0;transform:translateY(-12px)}
.mv-sc.open .mv-t{color:#fff}
.mv-sc::before{content:"";position:absolute;top:36px;left:calc(-3vw - var(--node)/2 - 4px);width:9px;height:9px;border-radius:50%;background:var(--ink);border:1px solid rgba(217,184,143,.5);transition:background .6s,box-shadow .6s,border-color .6s}
.mv-sc.lit::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 6px rgba(195,162,114,.12),0 0 18px rgba(195,162,114,.6)}
.mv-fork{position:relative;margin:4px 64px 30px 0;padding:44px 0 58px}
.mv-fork-svg{position:absolute;inset:18px 0 26px;width:100%;height:calc(100% - 44px);overflow:visible}
.fp{fill:none;stroke:var(--gold);stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.2s cubic-bezier(.45,.05,.2,1)}
.fp-need{stroke:#e8cf9f;opacity:.85}
.rm .fp,.mv-fork.in .fp{stroke-dashoffset:0}
.mv-fork.in .fp-need{transition-delay:.25s}
.mv-fk{position:absolute;left:50%;transform:translateX(-50%);font-size:9.5px;color:var(--mute);white-space:nowrap;background:var(--ink);padding:4px 10px}
.mv-fk-top{top:0}
.mv-fk-end{bottom:0;color:var(--bone);border:1px solid var(--gold);display:inline-flex;align-items:center;gap:8px;padding:8px 14px}
.mv-fk-end i{width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
.mv-brs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 8%;padding:0 4%}
.mv-br{background:linear-gradient(180deg,rgba(13,10,8,.96),rgba(13,10,8,.88));border:1px solid var(--line);padding:22px 22px 24px;text-align:center;opacity:0;transform:translateY(18px);transition:opacity 1s .9s,transform 1.2s .9s cubic-bezier(.2,.7,.1,1),border-color .5s}
.mv-br-need{transition-delay:1.15s}
.rm .mv-br,.mv-fork.in .mv-br{opacity:1;transform:none}
.mv-br:hover{border-color:rgba(195,162,114,.5)}
.mv-bl{display:block;color:var(--gold);font-size:10px;margin-bottom:12px}
.mv-br b{display:block;font-size:clamp(22px,2vw,30px);line-height:1.05}
.mv-br p{color:var(--mute);margin-top:10px;font-size:14.5px;line-height:1.55}
@media (max-width:900px){
 .mv{--node:28px;padding-top:9vh}
 .mv-act{grid-template-columns:1fr;padding:0 0 9vh calc(var(--node) + 14px)}
 .mv-acth{position:relative;top:0;margin-bottom:22px}
 .mv-acth::before{left:calc(-14px - var(--node)/2 - 7px);top:4px}
 .mv-sc::before{left:calc(-14px - var(--node)/2 - 4px);top:33px}
 .mv-btn{grid-template-columns:1fr 44px;gap:0 14px;padding:26px 0 18px}
 .mv-t{font-size:clamp(28px,8vw,38px)}
 .mv-cap{font-size:15px}
 .mv-meta{padding-right:0;padding-bottom:22px}
 .mv-pc{padding-right:0}
 .mv-pc p{font-size:16px}
 .mv-fork{margin-right:0;padding:40px 0 56px}
 .mv-brs{gap:0 10px;padding:0}
 .mv-br{padding:16px 12px 18px}
 .mv-br b{font-size:21px}
 .mv-br p{font-size:13.5px}
 .mv-all{margin-left:0}
}
@media (prefers-reduced-motion:reduce){.mv-p,.mv-pc,.mv-t,.mv-ic,.mv-ic::before,.mv-ic::after,.fp,.mv-br{transition:none!important}}
.mv-chips{list-style:none;margin:18px 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:9.5px;letter-spacing:.14em}
.mv-chips li{border:1px solid var(--line);color:#e2d6c2;padding:8px 12px;border-radius:999px;transition:border-color .5s,color .5s}
.mv-chips li:hover{border-color:var(--gold);color:#fff}
.mv-blk{margin:18px 0}
.mv-il{display:block;color:var(--gold);font-size:9.5px;margin-bottom:10px}
.mv-blk .mv-chips{margin:0}
.mv-flow{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;font-size:9.5px;letter-spacing:.14em}
.mv-flow li{color:#e2d6c2;border-bottom:1px solid rgba(195,162,114,.5);padding:6px 0}
.mv-flow li+li::before{content:"";display:inline-block;width:26px;height:1px;background:var(--gold);vertical-align:middle;margin:0 12px 3px;opacity:.7}
.mv-cards{list-style:none;margin:20px 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.mv-cards li{background:var(--ink);padding:18px 14px 20px;transition:background .5s}
.mv-cards li:hover{background:#110d0a}
.mv-cards span{display:block;color:var(--gold);font-size:9.5px;margin-bottom:10px}
.mv-cards b{display:block;font-size:20px;line-height:1.1}
.mv-lnk{color:var(--bronze2);border-bottom:1px solid var(--line);white-space:nowrap}
@media (max-width:900px){.mv-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.mv-flow li+li::before{width:16px;margin:0 8px 3px}}
.mv-fork{padding:78px 0 96px}
.mv-fork-svg{inset:24px 0 30px;height:calc(100% - 54px)}
.fp{stroke-width:1.6}
.mv-br{background:#0d0a08}
@media (max-width:900px){
.mv-flow{flex-direction:column;align-items:flex-start;gap:0;border-left:1px solid rgba(195,162,114,.5);padding-left:16px}
.mv-flow li{border:0;padding:5px 0;position:relative}
.mv-flow li+li::before{display:none}
.mv-flow li::after{content:"";position:absolute;left:-19.5px;top:50%;width:6px;height:6px;margin-top:-3px;background:var(--gold);transform:rotate(45deg)}
}

/* labels at the site floor of 13px, all Hanken (the mock set them at 9.5-10.5px in mono) */
.mv-actnav,.mv-all,.mv-n,.mv-ms,.mv-gate,.mv-bl,.mv-fk,.mv-il,.mv-cards span{font-size:13px}
.mv-chips,.mv-flow{font:400 13px/1.4 Hanken,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}
/* Act II · design team D (Matt 10/29 8:52 AM): three staggered portraits floating under the act line, feathered into the dark */
.mv-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 6%;margin-top:34px;max-width:420px;padding-bottom:40px}
.mv-team .mdt-p{position:relative;inset:auto;width:auto}
.mv-team .mdt-p:nth-child(1){transform:translateY(22px)}
.mv-team .mdt-p:nth-child(3){transform:translateY(40px)}
.mv-team .mdt-l{margin-top:-14%;padding:0 2%}
.mv-team .mdt-n{font-size:clamp(17px,1.25vw,21px)}
.mv-team .mdt-r{font-size:13px;letter-spacing:.02em;text-transform:none;line-height:1.35;margin-top:6px}
@media (max-width:900px){.mv-team{max-width:none;gap:0 4vw;margin-top:26px;padding-bottom:48px}}


/* Studio "Our story" layout C (Matt 10/29 8:56 AM CT): staggered magazine layout, one warm photo feathered at the right edge.
   Text is the approved BTL story v2, four paragraphs; the drop cap is on the first body paragraph only. */
html .st-open.ss-c{position:relative;overflow:hidden;padding:18vh 0 16vh}
html .ss-c .ss-ph{position:absolute;top:0;right:0;bottom:0;width:46vw;margin:0;pointer-events:none;
 -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 58%),linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%);-webkit-mask-composite:source-in;
 mask-image:linear-gradient(90deg,transparent 0,#000 58%),linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%);mask-composite:intersect}
html .ss-c .ss-ph img{width:100%;height:100%;object-fit:cover;object-position:28% 50%;filter:brightness(.5) saturate(.8) sepia(.18);display:block}
html .ss-c .ss-in{position:relative;z-index:1;width:min(60vw,1120px);margin-left:max(var(--pad),7vw)}
html .ss-c .k{display:flex;align-items:center;gap:20px;margin:0 0 5.5vh;font:400 13px/1 Hanken,system-ui,sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--bronze2)}
html .ss-c .k::before{content:"";width:64px;height:1px;background:var(--bronze)}
html .ss-c .st-open-l{max-width:none;margin:0;font:300 italic clamp(26px,2.5vw,44px)/1.25 Corm,Georgia,serif;letter-spacing:0;color:var(--bronze2);text-wrap:balance}
html .ss-c .st-open-l+.st-good,html .ss-c .st-good{max-width:none;margin:4.4vh 0 0;font:400 clamp(28px,2.75vw,50px)/1.26 Bodoni,Didot,serif;letter-spacing:-.012em;color:#ebe2d3}
html .ss-c .st-good::first-letter{float:left;font:400 3.5em/.8 Bodoni,Didot,serif;margin:.06em .08em 0 0;color:var(--bronze2)}
html .ss-c .st-good em{font-size:1.19em;line-height:0;color:var(--bronze2)}
html .ss-c .ss-foot{position:relative;z-index:1;width:min(36vw,620px);margin:7vh 0 0 max(calc(var(--pad) + 22vw),29vw);padding-left:32px;border-left:1px solid var(--bronze)}
html .ss-c .sy-cols{display:block;max-width:none;margin:0;color:#ddd3c3;font:300 clamp(17px,1.15vw,19px)/1.78 Hanken,system-ui,sans-serif}
html .ss-c .sy-cols p{margin:0}
html .ss-c .st-btl{margin:4vh 0 0}
html .ss-c .go{display:inline-block;font:400 13px/1 Hanken,system-ui,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze2);border-bottom:1px solid rgba(217,184,143,.45);padding:15px 0 11px}
@media (max-width:900px){
 html .st-open.ss-c{padding:0 0 11vh}
 html .ss-c .ss-ph{position:relative;width:100%;height:62vw;
  -webkit-mask-image:linear-gradient(180deg,#000 40%,transparent 100%);mask-image:linear-gradient(180deg,#000 40%,transparent 100%)}
 html .ss-c .ss-ph img{object-position:30% 45%;filter:brightness(.62) saturate(.85) sepia(.15)}
 html .ss-c .ss-in{width:auto;margin:-6vh var(--pad) 0}
 html .ss-c .ss-foot{width:auto;margin:5vh var(--pad) 0;padding-left:20px}
}
@media (max-width:700px){
 html .ss-c .st-open-l{font-size:24px}
 html .ss-c .st-good{font-size:25px;line-height:1.32}
 html .ss-c .sy-cols{font-size:16px}
 html .ss-c .go{letter-spacing:.2em;white-space:nowrap}
}
html .ss-c .st-good+.st-good{margin-top:3vh}
html .ss-c .st-good+.st-good::first-letter{float:none;font:inherit;margin:0;color:inherit}
/* Studio "Our story" type (Matt 10/30 2:25 PM CT: yes, match Built to Last). Layout C unchanged; CormText is declared in the Built to Last block. */
html .ss-c .st-open-l{max-width:19ch;font:italic 400 clamp(34px,3.3vw,54px)/1.18 CormText,Georgia,serif;letter-spacing:-.006em;color:var(--bronze2)}
html .ss-c .ss-rule{display:block;width:72px;height:1px;margin:5.5vh 0 5.5vh;background:linear-gradient(90deg,var(--bronze),transparent)}
.motion .ss-c .ss-rule.rv{transform:scaleX(0);transform-origin:left;transition:opacity 1.2s ease,transform 1.6s cubic-bezier(.2,.7,.1,1)}.motion .ss-c .ss-rule.rv.in{transform:none}
html .ss-c .st-open-l+.ss-rule+.st-good,html .ss-c .st-good{max-width:26em;margin:0;font:400 clamp(23px,1.9vw,31px)/1.68 CormText,Georgia,serif;letter-spacing:.004em;color:#e9e0d0;text-wrap:pretty;font-feature-settings:"kern","liga","calt"}
html .ss-c .st-good+.st-good{margin-top:1.15em}
html .ss-c .st-good em{font-size:1em;line-height:inherit;font-style:italic;color:var(--bronze2)}
html .ss-c .ss-rule+.st-good::first-letter{float:none;margin:0 .14em 0 0;initial-letter:3;-webkit-initial-letter:3;font:300 1em/1 CormText,Georgia,serif;color:var(--bronze2)}
@supports not ((initial-letter:3) or (-webkit-initial-letter:3)){html .ss-c .ss-rule+.st-good::first-letter{float:left;font-size:5.6em;line-height:.8;margin:.07em .1em 0 0}}
html .ss-c .ss-foot{margin-top:9vh}
html .ss-c .sy-cols{font:italic 400 clamp(20px,1.45vw,24px)/1.6 CormText,Georgia,serif;color:#d4cab9}
@media (max-width:700px){
 html .ss-c .st-open-l{font-size:31px;line-height:1.2}
 html .ss-c .ss-rule{margin:4.5vh 0}
 html .ss-c .st-open-l+.ss-rule+.st-good,html .ss-c .st-good{font-size:21px;line-height:1.64}
 html .ss-c .sy-cols{font-size:19px}
}

/* Method steps: the gold first letter (1.5em Bodoni) left a visible gap before the rest of the word ("W ith"); pull it in so the word reads as one; W/V get a tighter pull (10/29 9:02 AM) */
.mv-pc p:first-of-type::first-letter{letter-spacing:0;margin-right:-.02em}
.mv-pc p.mv-fl-w:first-of-type::first-letter{margin-right:-.13em}

/* 10/29 approved tall floor plan sheets: one sheet, all levels; keep it a gentle size on the page, full size in the lightbox */
.hs-pn.tall button,.pd-sheet.tall button{max-width:620px}
/* 10/29 5:13 PM: phones show per-level plan crops (upper, main, lower); wider screens the full sheet */
.fp-x{display:none!important}
.fp-lv{margin:0 0 4vh}
.fp-lv button{display:block;width:100%;padding:0;border:1px solid var(--line);background:#f3efe8;cursor:zoom-in}
.fp-lv img{display:block;width:100%;height:auto}
.fp-lv figcaption{color:var(--mute);margin-top:1.4vh}
@media (min-width:701px){.fp-m{display:none!important}}
/* 11/3 d12c: Chisum main + lower level sheets side by side on desktop (launch.py FP_BOTH) */
@media (min-width:701px){.fp-both .fp-d{display:none!important}.fp-both .fp-m{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4vw;align-items:start;max-width:620px}.fp-both .fp-lv{margin:0}}
@media (max-width:700px){.fp-d{display:none!important}}
/* 11/2 Matt (6:00 PM: Method "a ton of black space on each side"; 6:01 PM: the Studio/Built to Last story column and the ethos list).
   On wide screens (>=1680px, where .wrap now grows to 84vw) the type keeps scaling instead of stopping at its 1440 cap, so the
   columns fill the frame at the same proportions as 1440. Body measure stays ~26-36em (about 60-72 characters). 1440 and below,
   and phones, unchanged. */
@media (min-width:1680px){
 html body .mv-intro{max-width:max(880px,52vw)}
 html body .mv-intro h2{font-size:clamp(52px,7vw,170px)}
 html body .mv-lede{max-width:34em;font-size:clamp(17px,.95vw,24px)}
 html body .mv-actnav,html body .mv-all,html body .mv-n{font-size:clamp(10.5px,.6vw,15px)}
 html body .mv-acth h2{font-size:clamp(40px,4.4vw,112px)}
 html body .mv-acth p{max-width:clamp(300px,19vw,480px);font-size:clamp(16px,.9vw,22px)}
 html body .mv-t{font-size:clamp(30px,3vw,74px)}
 html body .mv-cap{font-size:clamp(16px,.85vw,21px);max-width:34em}
 html body .mv-pc{max-width:36em}
 html body .mv-pc p{font-size:clamp(17px,.9vw,22px)}
 html body .mv-ms,html body .mv-gate,html body .mv-bl{font-size:clamp(10px,.55vw,14px)}
 html body .mv-fk{font-size:clamp(9.5px,.55vw,14px)}
 html body .mv-br b{font-size:clamp(22px,2vw,46px)}
 html body .mv-br p{font-size:clamp(14.5px,.78vw,19px)}
 html body .mv-team{max-width:clamp(420px,25vw,640px)}
 html body .mv-team .mdt-n{font-size:clamp(17px,1.25vw,28px)}
 html body .mv-team .mdt-r{font-size:clamp(13px,.7vw,17px)}
 /* Studio story */
 html body .ss-c .ss-in{width:min(60vw,1700px)}
 html body .ss-c .k{font-size:clamp(13px,.6vw,16px)}
 html body .ss-c .st-open-l{font-size:clamp(34px,3.3vw,84px)}
 html body .ss-c .st-open-l+.ss-rule+.st-good,html body .ss-c .st-good{font-size:clamp(23px,1.9vw,46px)}
 html body .ss-c .ss-foot{width:min(36vw,980px)}
 html body .ss-c .sy-cols{font-size:clamp(20px,1.45vw,36px)}
 html body .ss-c .go{font-size:clamp(13px,.6vw,16px)}
 /* Built to Last story */
 html body .b2-story{max-width:max(900px,52vw)}
 html body .b2-k{font-size:clamp(13px,.6vw,16px)}
 html body .b2-lead{font-size:clamp(36px,3.5vw,86px)}
 html body .b2-body{font-size:clamp(23px,1.9vw,46px)}
 /* SHOWTIME ETHOS */
 html body .ethos{max-width:max(1100px,64vw)}
 html body .et-list li{font-size:clamp(19px,1.6vw,40px)}
 html body .et-list li::before{font-size:clamp(13px,.65vw,17px);line-height:calc(clamp(19px,1.6vw,40px)*1.45)}
}
/* 11/2 Matt (6:05 PM: yes to FAQ links on Method and Begin). Quiet bronze text link, same family as the other kicker links. */
.mv-faq{display:grid;grid-template-columns:minmax(0,4.2fr) minmax(0,7.8fr);gap:0 5vw;padding:0 0 4vh calc(var(--node) + 3vw);margin-top:-4vh}
.mv-faq p{margin:0;font:italic 400 clamp(20px,1.5vw,30px)/1.4 CormText,Georgia,serif;color:#d4cab9}
.mv-faq-a,.dq-faq a{display:inline-block;margin-left:.5em;padding:12px 0 6px;font:400 13px/1 Hanken,system-ui,sans-serif;font-style:normal;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze2);border-bottom:1px solid rgba(217,184,143,.45);vertical-align:middle;transition:border-color .3s,color .3s}
.mv-faq-a:hover,.mv-faq-a:focus-visible,.dq-faq a:hover,.dq-faq a:focus-visible{color:#efe6d6;border-color:var(--bronze2)}
.dq .dq-faq{margin:14px 0 0;font:italic 400 clamp(17px,1.3vw,20px)/1.4 CormText,Georgia,serif;color:#cfc5b6}
@media (min-width:1680px){html body .mv-faq-a,html body .dq-faq a{font-size:clamp(13px,.6vw,16px)}}
@media (max-width:900px){.mv-faq{grid-template-columns:1fr;padding:0 0 6vh calc(var(--node) + 14px);margin-top:-2vh}.mv-faq>span{display:none}.mv-faq p{font-size:20px}.mv-faq-a,.dq-faq a{margin-left:0;display:inline-block}.mv-faq-q,.dq-faq{display:block}}
/* 11/2 Matt (6:07 PM: /warranty/ "too much scrolling", black on the sides). Same words; the two sections sit side by side on
   desktop in the wide container, the three steps as columns and the studio contacts stacked beside them, with tighter spacing. */
.wr-hero{padding-bottom:2vh}
.wr-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:0 5vw;padding:5vh var(--pad) 12vh;align-items:start}
.wr-grid .wr-s{padding:0}
.wr-grid .wr-s h2{font-size:clamp(38px,3.6vw,84px)}
.wr-grid .cg{margin-top:5vh}
.wr-file .cg{grid-template-columns:repeat(3,minmax(0,1fr))}
.wr-help .cg{grid-template-columns:1fr}
.wr-help .cg>div{border-right:0;margin-right:0;border-bottom:1px solid var(--line);padding:26px 0 22px}.wr-help .cg>div:last-child{border-bottom:0}
.wr-help .cg .r,.wr-file .cg .r{margin-bottom:18px}
.wr-grid .wr-btns{margin-top:4vh}
@media (min-width:1680px){html body .wr-grid .cg b{font-size:clamp(26px,1.9vw,48px)}html body .wr-grid .cg p{font-size:clamp(17px,.85vw,21px)}}
@media (max-width:1100px){.wr-grid{grid-template-columns:1fr;gap:9vh 0}}
@media (max-width:900px){.wr-hero{padding-bottom:0}.wr-grid{padding:4vh var(--pad) 9vh;gap:7vh 0}.wr-file .cg,.wr-help .cg{grid-template-columns:1fr}.wr-grid .cg{margin-top:3.5vh}.wr-grid .cg>div{padding:22px 0}.wr-grid .cg .r{margin-bottom:12px}}

/* d16 #13 (Matt 11/3 5:28 PM CT): FAQ category headings as display-serif section heads, about 2x the question size, italic accent, Hanken numeral eyebrow, thin copper rule, generous space above; desktop jump-list */
html .lc-faq .fq-hd{margin:clamp(96px,11vh,140px) 0 10px;padding:30px 0 0;border-top:1px solid var(--bronze);scroll-margin-top:120px}
html .lc-qs>.fq-hd:first-child{margin-top:0}
html .lc-qs:has(>.fq-hd:first-child){border-top:0}
html .lc-faq .fq-n{display:block;margin:0 0 14px;color:var(--bronze);font:500 12px/1 Hanken,system-ui,sans-serif;letter-spacing:.24em}
html .lc-faq h2.fq-g{display:block;margin:0 0 18px;padding:0;border:0;color:inherit;font-size:clamp(36px,3.9vw,60px);line-height:1.04;letter-spacing:-.01em;text-transform:none}
html .lc-faq h2.fq-g em{font-style:italic;color:var(--bronze)}
html .lc-faq .fq-jump{max-width:980px;margin:7vh 0 0;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
html .lc-faq .fq-jump ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 32px}
html .lc-faq .fq-jump a{display:flex;align-items:baseline;gap:12px;color:inherit;text-decoration:none;font-size:19px;line-height:1.3;transition:color .2s}
html .lc-faq .fq-jump a span{color:var(--bronze);font:500 11px/1 Hanken,system-ui,sans-serif;letter-spacing:.2em}
html .lc-faq .fq-jump a:hover,html .lc-faq .fq-jump a:focus-visible{color:var(--bronze)}
html .lc-faq .fq-jump+.lc-qs{margin-top:12vh}
@media (max-width:900px){html .lc-faq .fq-jump{display:none}html .lc-faq .fq-jump+.lc-qs{margin-top:7vh}html .lc-faq .fq-hd{margin-top:84px;padding-top:24px}}
/* 11/2/2026 Journal: inline photo figures + numbered list (moved from drafts/journal-20261102 inline style) */
.prose .jfig{margin:2.4em 0 2.6em}
.prose .jfig picture,.prose .jfig img{display:block;width:100%;height:auto}
.prose .jfig figcaption{margin-top:.8em;color:var(--mute);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.prose ol{padding-left:1.2em;margin:0 0 1.6em}
/* 11/2/2026 Journal post hero at phone width: last crumb and the date each get their own line instead of breaking mid-phrase */
@media (max-width:600px){
 .jr-hero .crumbs [aria-current]{display:block;margin-top:4px}
 .jr-hero .k .jk-sep{display:none}
 .jr-hero .k time{display:block;margin-top:6px}
}
/* 11/2/2026 fixed-price post: its two-part title ran 4 lines at h1-long size and pushed the crumbs behind the logo at 1280-1920 */
@media (min-width:481px){html body .phero:not(.hc) h1.h1-long.h1-xlong{font-size:clamp(48px,min(6.4vw,10.5svh),124px)}}
/* 11/2 d10: phone tap targets at least 44px tall */
@media (max-width:900px){html body .mv-faq-a,html body .dq-faq a{padding:19px 0 11px;min-height:44px;box-sizing:border-box}}
/* 11/2 d10: golf-sim post hero, keep the simulator screen in frame on portrait phones */
@media (max-aspect-ratio:1/1){html body .phero .hero-img img[src*="h-inception-golf-sim"]{object-position:18% 50%}}

/* 11/2 go-live: plan-sheet buttons meet 44px tap width on phones */
.pl-a .gi.dwg{min-width:44px}
/* 11/2 10:22 PM: home-page photo heroes, keep the house in frame on portrait phones */
@media (orientation:portrait){.phero .hero-img img[src*="h2-trading-front"]{object-position:64% 50%}.phero .hero-img img[src*="h2-sandlot-front"]{object-position:42% 50%}.phero .hero-img img[src*="h2-alldogs-great-room"]{object-position:60% 50%}.phero .hero-img img[src*="h2-parents-entry"]{object-position:52% 50%}}
/* 11/2 design pass: home galleries in an editorial rhythm (wide frame, then a pair); no orphans */
.hs-ph .hs-f.w{grid-column:1/-1;aspect-ratio:16/9}.hs-ph .hs-f.solo{grid-column:1/-1;width:calc(50% - .8vw);justify-self:center}
@media (max-width:700px){.hs-ph{grid-template-columns:1fr 1fr;gap:6px}.hs-ph .hs-f.w{aspect-ratio:3/2}.hs-ph .hs-f{aspect-ratio:4/5}.hs-ph .hs-f.w{aspect-ratio:3/2}.hs-ph.one{grid-template-columns:1fr}}
/* 11/2 design pass: home-page plan section uses the full width at desktop (text left, sheet right) and the black gap before the closing invitation is tightened */
@media (min-width:1100px){.hs-pl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,620px);column-gap:6vw;align-items:start;grid-auto-rows:min-content}.hs-pl>*{grid-column:1}.hs-pl>.hs-sw{grid-column:2;grid-row:1/span 5}.hs-pl h2{margin-bottom:3vh}}
.hs-pl .pl-note{margin-bottom:4vh}.hs-bd{padding-bottom:4vh}.hs-bd+.fcta{padding-top:12vh;padding-bottom:16vh}

/* 11/3 d12 (CoS d11 review): plan pages put the plan text beside the sheets on desktop (sticky left column); phones and tablets stack */
.pd-split{padding:7vh var(--pad) 8vh}
.pd-split .pd-inside{padding:0}
.pd-split .pd-inside .pl-note{margin-top:3vh}
.pd-split .pd-sheets{padding:4vh 0 0}
@media (min-width:1000px){
 .pd-split{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1.45fr);column-gap:5vw;align-items:start}
 .pd-split .pd-inside{position:sticky;top:130px}
 .pd-split .pd-sheets{padding:0}
 .pd-split .pd-grid{grid-template-columns:minmax(0,1fr);gap:5vh;margin-bottom:0}
 .pd-split .pd-sheet.tall button{margin-inline:auto}
 .pd-split .pd-sheet.tall figcaption{text-align:center}
}
/* a lone last sheet in a two-across row is centered across the row instead of leaving half the row empty */
.pd-grid>.pd-sheet:last-child:nth-child(odd):not(:first-child){grid-column:1/-1;justify-self:center;width:min(100%,620px)}
/* Secretariat renderings: two-up on desktop, stacked on phones */
.pd-rend{padding:2vh var(--pad) 8vh}.pd-rend .k{display:block;margin-bottom:2vh}
.pd-rgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.6vw;margin-top:4vh}
.pd-rgrid figure{margin:0}.pd-rgrid .gi{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.pd-rgrid img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.pd-rgrid figcaption{margin-top:10px;color:var(--mute)}
@media (max-width:700px){.pd-rgrid{grid-template-columns:1fr;gap:18px}}

/* 11/3 d12 (CoS d11 review): phone breadcrumbs stay on one line (ellipsis if a name is still too long) and read over bright photos */
@media (max-width:700px){
 html body .crumbs{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:12px;letter-spacing:.08em}
 html body .crumbs a{min-width:0;padding-inline:0}
 html body .phero .cp .crumbs,html body .fhero .cp .crumbs{display:inline-block;max-width:100%;box-sizing:border-box;padding:0 10px;margin-left:-10px;border-radius:999px;
   background:rgba(6,5,4,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.75)}
}

/* 11/3 d12 (Matt 9:55 AM "frequently asked page is all to the right. Center it."): text pages read in one centered column on desktop:
   FAQ (and the town-page FAQ block), Privacy and Accessibility. Headline, intro and body share the column's left edge. */
@media (min-width:901px){
 html body .lc-faq.wrap{max-width:calc(980px + 2 * var(--pad))}
 html body .thero.wrap:has(+ .lc-faq){max-width:calc(980px + 2 * var(--pad))}
 html body .thero.wrap:has(+ .lc-faq) h1{font-size:clamp(56px,7.4vw,124px)}
 html body .thero + .prose{margin-inline:auto}
 html body .thero.wrap:has(+ .prose){max-width:calc(820px + 2 * var(--pad))}
 html body .thero.wrap:has(+ .prose) h1{font-size:clamp(56px,7.4vw,112px)}
}
/* 11/3 d12 (Matt 9:59 AM): wide-strip hero for ~2.2:1-3:1 renderings (Leaving Las Vegas, Animal House, The Fifth Element).
   The image shows whole at its own ratio on a dark band under the header (never cropped to 16:9, never upscaled);
   the caption sits under it and the small headline below that, so no text covers the house. Phones: a taller cover box with a per-image x. */
html body .hero.phero.strip{height:auto;min-height:0;display:flex;flex-direction:column;background:#0b0a09;padding-top:clamp(92px,10.5vw,150px)}
html body .phero.strip .ph{position:relative;inset:auto;width:100%;max-width:2752px;margin-inline:auto;aspect-ratio:var(--ar);height:auto;max-height:max(320px,calc(100svh - 330px));overflow:hidden;order:0}   /* short screens: trim sky/lawn, keep the header-to-headline run on screen */
html body .phero.strip .ph picture,html body .phero.strip .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--opx,50%) var(--opy,50%)}
html body .phero.strip .shade{display:none}
html body .phero.strip .ft{position:relative;left:auto;right:auto;bottom:auto;order:1;padding:12px var(--pad) 0;text-shadow:none}
html body .phero.strip .ft .scr{display:none}
html body .phero.strip:not(.hc):not(#_h) .cp{position:relative;left:auto;right:auto;bottom:auto;order:2;max-width:none;padding:clamp(28px,4vw,56px) var(--pad) clamp(40px,5vw,72px);min-height:0}
html body .phero.strip:not(.hc):not(#_h) .cp h1{text-shadow:none}
html body .phero.strip:not(.hc):not(#_h) h1.h1-house{font-size:clamp(44px,5.6vw,96px)}
@media (max-width:700px){
 html body .phero.strip .ph{aspect-ratio:4/3;max-height:none}
 html body .phero.strip .ft>:first-child{display:block;font-size:10px;letter-spacing:.14em}   /* keep the 'Rendering · for illustration only' label on phones */
 html body .phero.strip:not(.hc):not(#_h) h1.h1-house{font-size:clamp(40px,11vw,60px)}
 html body .phero.strip .cp .crumbs{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;text-shadow:none}
}
/* d16 11/3: the d12 header-fit rules moved to v2.css?v=20261103f (the home page does not load pages.css?v=20261103h, so its header ran off the right edge at 1024-1599). */
.wr-cov{margin:clamp(18px,2.4vw,28px) 0 0;max-width:62ch;color:var(--bone,#eae2d4);opacity:.9}
/* d16 11/3/2026 Matt 5:13 PM CT (/plans/ hero "too much grey sky and barely any house"): the Trading Places front is a 3:2 frame
   that is ~40% sky. Zoom in toward the house (origin low and right of centre, on the entry) so the roofline sits near the top
   third and the house fills the first screen; the headline stays small and low-left over the garage, clear of the front door. */
html body .phero .hero-img img[src*="h-trading-front"]{transform:scale(1.3);transform-origin:56% 93%}
@media (orientation:portrait){html body .phero .hero-img img[src*="h-trading-front"]{object-position:80% 50%;transform:scale(1.5);transform-origin:72% 100%}}
/* d16 #2 other-hero sky check (11/3 ~7:05 PM CT): heroes whose first screen was ~40-50% sky, zoomed toward the house like the
   /plans/ Trading Places fix (roofline near the top third, house fills the screen). Same photos, no new crops; Ferris (Collection) left as is. */
html body .phero .hero-img img[src*="h2-chisum-rear"]{transform:scale(1.3);transform-origin:28% 96%}
html body .phero .hero-img img[src*="h-ferris-front-b"]{transform:scale(1.35);transform-origin:52% 92%}
html body .phero .hero-img img[src*="h3-lebowski-front"]{transform:scale(1.25);transform-origin:58% 96%}
@media (orientation:portrait){
 html body .phero .hero-img img[src*="h-ferris-front-b"]{transform:scale(1.3);transform-origin:50% 100%}
 html body .phero .hero-img img[src*="h2-chisum-rear"],html body .phero .hero-img img[src*="h3-lebowski-front"]{transform:scale(1.15);transform-origin:50% 92%}}
