/* Feature Presentation page (concept v2, draft) — reuses v2.css?v=20261103f */
.fhero .ph img{object-position:50% 50%}
.fhero h1{font-size:clamp(72px,14vw,230px)}
/* Matt 10/29 8:15 AM: house-page hero headlines capped at 150px so "The Patriot." stays on one line at 1440 */
.fhero h1.h1-house{font-size:clamp(72px,14vw,150px)}.fhero.phero h1.h1-house{font-size:clamp(64px,12vw,150px)}
.crumbs{color:var(--mute);margin-bottom:26px;display:block}.crumbs a:hover{color:var(--bronze2)}
.specs{padding-top:9vh}
.specs dl{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.specs dl>div{padding:26px 20px 26px 0;border-right:1px solid var(--line);margin-right:20px}.specs dl>div:last-child{border:0;margin:0}
.specs dt{color:var(--bronze);margin-bottom:12px}.specs dd{font:400 clamp(20px,1.8vw,28px)/1.15 Bodoni,serif}
.synopsis{padding:18vh var(--pad) 12vh}
.synopsis h2{font-size:clamp(46px,6vw,100px);max-width:1240px}
.sy-cols{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:8vh;max-width:1100px;color:#cfc5b6}
.act-card{padding:16vh var(--pad) 6vh;border-top:1px solid var(--line)}
.act-card h2{font-size:clamp(54px,8vw,140px)}.act-card p{color:var(--mute);margin-top:20px;max-width:440px}
.act-2{background:linear-gradient(180deg,var(--ink),#030202 30%)}
.gallery{padding-block:16vh 10vh}.gallery h2{font-size:clamp(46px,6vw,100px)}
.gi{display:block;width:100%;position:relative}
.gi img{width:100%;height:auto;transition:transform .8s cubic-bezier(.2,.7,.1,1),filter .6s;filter:brightness(.8)}
.gi:hover img,.gi:focus-visible img{transform:scale(1.05);filter:none}
.next{position:relative}.nx{position:relative;display:grid;align-items:end;min-height:70svh;overflow:hidden}
.nx .media,.nx .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nx .media img{transition:transform 1.2s cubic-bezier(.2,.7,.1,1)}.nx:hover .media img{transform:scale(1.04)}
.nx .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,5,4,.35),rgba(6,5,4,.9))}
.nx .inner{position:relative;padding:0 var(--pad) 10vh}.nx h2{font-size:clamp(56px,9vw,150px)}.go-l{color:var(--bronze2);display:block;margin-top:20px}
.fcta{padding:20vh var(--pad);text-align:center}.fcta h2{font-size:clamp(56px,9vw,150px)}.fcta p{color:#d8cfc1;margin:22px auto 36px;max-width:420px}
.lb{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh;color:var(--bone)}
.lb::backdrop{background:rgba(3,2,2,.94)}
.lb figure{position:absolute;inset:6vh 8vw;display:grid;grid-template-rows:1fr auto;gap:14px;place-items:center}
.lb img{max-width:100%;max-height:100%;object-fit:contain;min-height:0}
.lb figcaption{color:var(--bronze2)}
.lb-x{position:absolute;top:20px;right:24px;padding:10px}.lb-p,.lb-n{position:absolute;top:50%;padding:16px;font-size:20px}.lb-p{left:12px}.lb-n{right:12px}
@media (max-width:900px){.specs dl{grid-template-columns:1fr 1fr}.specs dl>div{border-right:0;border-bottom:1px solid var(--line);margin:0}.sy-cols{grid-template-columns:1fr}}
.disp .kw{letter-spacing:-.13em}
/* blend cut: act titles sit inside the stage; stills gallery is a loose, overlapping, drifting contact sheet */
.bl-title.act-card{border-top:0}
.act-2{background:none}
.gl-col{list-style:none;display:flex;flex-wrap:wrap;align-items:flex-start;margin-top:8vh;padding-bottom:10vh}
.gl-col .dr{position:relative;width:var(--w);margin-left:var(--ml);margin-top:var(--mt)}
.gl-col .dr.fr{z-index:2}.gl-col .dr.bk{z-index:1}
.gl-col .dr:first-child{margin-left:0}
.gl-col .gi:focus-visible{outline:1px solid var(--bronze2);outline-offset:-8px}
.gl-col .dr::before{inset:-10% -8%}
@media (max-width:760px){.gl-col .dr{width:var(--wm);margin-left:var(--mlm);margin-top:var(--mtm)}.gl-col .dr:first-child{margin-left:0}}
.nx .media{-webkit-mask-image:linear-gradient(180deg,transparent,#000 26%);mask-image:linear-gradient(180deg,transparent,#000 26%)}
.bl-on .fhero{z-index:1}.bl-on .specs{position:relative;z-index:2}

/* small-text scale 10/28 — crumbs and spec labels brighter now that .mono is 13px (Matt t121u). Appended block only. */
.crumbs{color:#b9ad9e}
.specs dt{font-size:13px}
@media (max-width:760px){.specs dt{font-size:13px}}

/* rescan 10/28 — Canva #1 optical size on every Bodoni rule (generated by opsz.py; must stay last in this file) */
.specs dd{font-optical-sizing:none;font-variation-settings:"opsz" 28}

/* 10/29 Inception floor plan link opens the sheet in the lightbox */
.gi.sp-pb{display:inline-block;width:auto;background:none;border:0;padding:14px 0;cursor:zoom-in;text-align:left}
/* d16 (Matt 5:16 PM CT 11/3): photo viewer backdrop opaque (no page bleeding through) */
.lb::backdrop{background:#0e0c0b}
/* d16 floor plan viewer (feature.js?v=20261103h). Fixed colours so no seasonal look ever tints it; the sheet is shown as drawn, unfiltered. */
.plv{border:0;padding:0;margin:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;background:#141110;color:#efe8dc;overflow:hidden;font-family:Hanken,system-ui,sans-serif}
.plv::backdrop{background:#141110}
.plv[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.plv-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(18px,2.4vw);border-bottom:1px solid rgba(239,232,220,.12)}
.plv-t{margin:0;font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:300;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plv-h{font-family:Corm,Bodoni,serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:22px;margin-right:10px;color:#f6f0e6}
.plv-i{color:#d3a77a}
.plv-c{display:flex;gap:8px;flex:none}
.plv-b{min-width:44px;min-height:44px;padding:0 14px;border:1px solid rgba(239,232,220,.28);background:transparent;color:#efe8dc;font:300 13px/1 Hanken,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:2px}
.plv-b[data-z]{font-size:20px;letter-spacing:0;padding:0}
.plv-b:hover,.plv-b:focus-visible{border-color:#d3a77a;color:#fff;outline:0}
.plv-st{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:2vh 72px;touch-action:none;cursor:zoom-in;user-select:none;-webkit-user-select:none}
.plv.zoomed .plv-st{cursor:grab}.plv.drag .plv-st{cursor:grabbing}
.plv-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:#f3efe8;box-shadow:0 18px 60px rgba(0,0,0,.45);transform-origin:50% 50%;will-change:transform;filter:none!important}
.plv-a{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:72px;border:1px solid rgba(239,232,220,.22);background:rgba(20,17,16,.72);color:#efe8dc;font-size:34px;line-height:1;cursor:pointer;z-index:2;border-radius:2px}
.plv-a:hover,.plv-a:focus-visible{border-color:#d3a77a;outline:0}
.plv-p{left:12px}.plv-n{right:12px}
.plv-a[hidden]{display:none}
.plv-hint{margin:0;padding:10px 16px 14px;text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:300;color:rgba(239,232,220,.55)}
@media (max-width:700px){
 .plv-bar{padding:10px 12px;flex-wrap:wrap;row-gap:8px}
 .plv-t{font-size:12px;flex:1 1 100%}
 .plv-h{font-size:19px}
 .plv-c{width:100%;justify-content:space-between}
 .plv-b{padding:0 12px}
 .plv-st{padding:8px 6px}
 .plv-a{top:auto;bottom:10px;transform:none;width:48px;height:48px;font-size:28px}
 .plv-hint{padding:8px 64px 16px;font-size:11px}
}
/* d16 inline level sheets (pages.py fp_sheets): each level its own labelled cream sheet */
.fp-set{display:grid;grid-template-columns:repeat(var(--n,1),minmax(0,1fr));gap:clamp(18px,2.6vw,44px);align-items:start;margin:0 auto}
.fp-sh{margin:0}
.fp-sh button{display:block;width:100%;padding:0;border:1px solid var(--line,rgba(0,0,0,.12));background:#f3efe8;cursor:zoom-in}
.fp-sh img{display:block;width:100%;height:auto;filter:none!important}
.fp-sh figcaption{margin-top:1.4vh;color:var(--mute);text-align:center}
.fp-set.stack{grid-template-columns:minmax(0,1fr);gap:5vh;max-width:760px}
@media (max-width:760px){.fp-set{grid-template-columns:minmax(0,1fr);gap:4vh}}
.fp-x{display:none!important}   /* d16: hidden extra level buttons ride along in the viewer group */
