@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600&display=swap');

:root { --ink:#24302b; --muted:#717a70; --paper:#f5f1e8; --paper-deep:#e9e3d6; --sage:#a9b6a1; --moss:#586d5c; --clay:#b56d50; --line:rgba(36,48,43,.18); --white:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope, sans-serif; }
button, a { font:inherit; color:inherit; }
a { text-decoration:none; }
.site-shell { max-width:1440px; margin:auto; padding:0 5.4vw; overflow:hidden; }
.topbar { height:92px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.brand-mark { display:grid; place-items:center; width:30px; height:30px; background:var(--ink); color:var(--paper); font:500 11px 'DM Mono', monospace; }
.topnav { display:flex; gap:34px; margin-left:8%; font:11px 'DM Mono', monospace; text-transform:uppercase; }
.topnav a { color:var(--muted); padding:37px 0; border-bottom:1px solid transparent; }
.topnav a.active, .topnav a:hover { color:var(--ink); border-color:var(--clay); }
.outline-button { border:1px solid var(--line); background:transparent; padding:12px 17px; font:11px 'DM Mono', monospace; text-transform:uppercase; cursor:pointer; }
.outline-button span { margin-left:18px; color:var(--clay); }
.hero { min-height:620px; display:grid; grid-template-columns:35% 65%; padding:72px 0 92px; }
.hero-copy { padding:72px 0 0 4vw; position:relative; z-index:2; }
.eyebrow { color:var(--clay); font:11px 'DM Mono', monospace; letter-spacing:.16em; text-transform:uppercase; margin:0 0 28px; }
h1, h2, h3 { margin:0; font-weight:500; }
h1 { font-size:clamp(65px,8.5vw,126px); line-height:.79; letter-spacing:-.065em; }
em { font-family:'Playfair Display', serif; font-weight:500; }
.hero-intro { max-width:260px; margin:54px 0 30px; color:var(--muted); font-size:13px; line-height:1.75; }
.hero-meta { display:flex; gap:13px; align-items:center; color:var(--moss); font:10px 'DM Mono', monospace; text-transform:uppercase; }
.hero-meta i { width:4px; height:4px; background:var(--clay); border-radius:50%; }
.hero-visual { min-height:490px; position:relative; overflow:hidden; background:linear-gradient(150deg,#d6e0d0 0%,#bac8b9 42%,#8b9f8d 100%); }
.hero-visual:after { content:''; position:absolute; inset:55% -5% -8%; transform:skewY(-7deg); background:rgba(69,88,72,.45); }
.sun-disc { width:190px; height:190px; border-radius:50%; position:absolute; top:14%; right:18%; background:#e8d8ad; opacity:.9; }
.skyline { position:absolute; bottom:42%; left:0; right:0; height:100px; display:flex; align-items:end; gap:3px; opacity:.35; }.skyline span { width:14%; background:#6d7e6d; height:30%; }.skyline span:nth-child(2){height:80%}.skyline span:nth-child(3){height:55%}.skyline span:nth-child(4){height:100%}.skyline span:nth-child(5){height:65%}
.house-mass { position:absolute; background:#e8e3d5; box-shadow:20px 25px 0 rgba(54,67,57,.12); }.mass-back { width:57%; height:46%; top:29%; left:20%; transform:skewY(-2deg); }.mass-front { width:68%; height:43%; top:42%; left:8%; z-index:3; background:#d9d3c6; }
.window-strip { display:flex; gap:8px; position:absolute; right:8%; top:15%; width:45%; height:52%; }.window-strip i { flex:1; background:#526d70; border:4px solid #d9d3c6; }
.cladding { position:absolute; inset:0 0 0 57%; background:repeating-linear-gradient(90deg,#8f725d 0 5px,#a78a70 5px 9px); opacity:.82; }.window-grid { position:absolute; left:8%; top:17%; width:44%; height:58%; display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.window-grid i { background:#42666a; border:4px solid #d9d3c6; }.door { position:absolute; left:47%; bottom:0; width:13%; height:58%; background:#695d4e; border:5px solid #d9d3c6; }
.courtyard-tree { position:absolute; z-index:4; left:60%; bottom:17%; width:40px; height:140px; }.courtyard-tree b { position:absolute; bottom:0; left:18px; width:5px; height:105px; background:#5d5545; }.courtyard-tree i { position:absolute; width:70px; height:55px; border-radius:50%; background:#556d59; }.courtyard-tree i:nth-of-type(1){top:6px;left:-20px}.courtyard-tree i:nth-of-type(2){top:28px;left:8px;background:#668066}.courtyard-tree i:nth-of-type(3){top:48px;left:-29px;background:#789178}
.hero-caption { position:absolute; z-index:6; bottom:20px; left:22px; right:22px; display:flex; justify-content:space-between; color:#f4f0e5; font:10px 'DM Mono',monospace; text-transform:uppercase; }
.intro-grid { display:grid; grid-template-columns:18% 46% 36%; border-top:1px solid var(--line); padding:70px 0 110px; }.section-label { font:11px 'DM Mono',monospace; color:var(--muted); text-transform:uppercase; }.section-label span { color:var(--clay); margin-right:14px; }.brief-copy h2, .section-heading h2, .spec-heading h2 { font-size:clamp(32px,4vw,52px); line-height:1.04; letter-spacing:-.04em; }.brief-copy p { max-width:450px; color:var(--muted); font-size:14px; line-height:1.9; margin:27px 0; }.text-link { display:inline-flex; gap:34px; border-bottom:1px solid var(--clay); padding-bottom:8px; font:11px 'DM Mono',monospace; text-transform:uppercase; }.text-link span { color:var(--clay); }.metrics { display:grid; grid-template-columns:1fr 1fr; align-content:start; gap:30px; padding:12px 0 0 20%; }.metrics div { border-top:1px solid var(--line); padding-top:13px; }.metrics strong { display:block; font:500 38px 'Playfair Display',serif; }.metrics span { color:var(--muted); font:10px 'DM Mono',monospace; text-transform:uppercase; }
.plans-section { padding:92px 0 122px; border-top:1px solid var(--line); }.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:58px; }.section-heading .eyebrow { margin-bottom:18px; }.plan-switcher { display:flex; gap:24px; border-bottom:1px solid var(--line); }.plan-switcher button { border:0; border-bottom:2px solid transparent; padding:0 0 12px; background:transparent; color:var(--muted); cursor:pointer; font:10px 'DM Mono',monospace; text-transform:uppercase; }.plan-switcher button.selected { color:var(--ink); border-color:var(--clay); }.plan-layout { display:grid; grid-template-columns:minmax(0, 1.7fr) minmax(270px, .8fr); gap:8%; }.floorplan-wrap { min-width:0; position:relative; }.north-arrow { position:absolute; top:-35px; right:0; font:10px 'DM Mono',monospace; color:var(--muted); }.north-arrow span { color:var(--clay); font-size:18px; margin-left:7px; }.floorplan { display:grid; min-height:490px; padding:26px; grid-template-columns:repeat(12,1fr); grid-template-rows:repeat(9,1fr); gap:3px; background:var(--ink); border:1px solid var(--ink); position:relative; }.floorplan.hidden { display:none; }.room { display:flex; flex-direction:column; justify-content:center; padding:12px; background:#e4ddcf; border:1px solid #b9b5a9; font-size:11px; color:var(--ink); }.room small { color:var(--muted); font:9px 'DM Mono',monospace; margin-top:7px; }.entry{grid-column:1/4;grid-row:1/3}.study{grid-column:4/7;grid-row:1/3}.powder{grid-column:7/9;grid-row:1/3}.living{grid-column:1/9;grid-row:3/8;background:#eee8dc}.kitchen{grid-column:9/13;grid-row:1/5}.pantry{grid-column:9/11;grid-row:5/8}.guest{grid-column:1/5;grid-row:8/10}.bath{grid-column:5/7;grid-row:8/10}.courtyard{grid-column:7/12;grid-row:8/10;background:#9caf95;border-color:#778b77;color:#fff}.stair{grid-column:12/13;grid-row:5/10;background:#b56d50;color:#fff}.stair span{font-size:22px}.dimension { position:absolute; color:#e7dfd0; font:9px 'DM Mono',monospace; }.dim-a { top:7px; left:45%; }.dim-b { left:2px; top:48%; transform:rotate(-90deg); }.primary{grid-column:1/6;grid-row:1/5}.primary-bath{grid-column:6/9;grid-row:1/4}.robe{grid-column:9/13;grid-row:1/4}.bedroom-two{grid-column:1/4;grid-row:5/8}.bedroom-three{grid-column:4/7;grid-row:5/8}.bedroom-four{grid-column:7/10;grid-row:5/8}.bedroom-five{grid-column:10/13;grid-row:5/8}.shared-bath{grid-column:1/3;grid-row:8/10}.landing{grid-column:3/10;grid-row:8/10;background:#eee8dc}.upper-void{grid-column:10/13;grid-row:8/10;background:#9caf95;color:#fff}.plan-aside { border-top:1px solid var(--line); padding-top:18px; }.aside-kicker { display:flex; gap:25px; color:var(--clay); font:10px 'DM Mono',monospace; text-transform:uppercase; }.aside-kicker span+span { color:var(--muted); }.plan-aside h3 { font-size:30px; line-height:1.08; letter-spacing:-.04em; margin:28px 0 18px; }.plan-aside>p { color:var(--muted); font-size:13px; line-height:1.75; }.room-list { margin:38px 0 34px; }.room-list div { display:grid; grid-template-columns:30px 1fr auto; align-items:center; border-top:1px solid var(--line); padding:12px 0; font-size:11px; }.room-list dt, .room-list span { color:var(--muted); font:9px 'DM Mono',monospace; }.room-list dd { margin:0; }.plan-legend { display:flex; gap:18px; color:var(--muted); font:9px 'DM Mono',monospace; text-transform:uppercase; }.legend-swatch { display:inline-block; width:9px; height:9px; margin-right:5px; background:#e4ddcf; }.legend-swatch.green { background:#9caf95; }
.spec-section { display:grid; grid-template-columns:18% 82%; border-top:1px solid var(--line); padding:75px 0 105px; }.spec-content { display:grid; grid-template-columns:35% 65%; }.spec-heading .eyebrow { margin-bottom:18px; }.materials { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding-left:10%; }.material-card { min-height:216px; display:flex; flex-direction:column; justify-content:end; padding:15px; color:#f8f4e9; }.material-surface { position:absolute; inset:0; opacity:.3; }.material-card { position:relative; overflow:hidden; }.material-card>*:not(.material-surface){position:relative}.material-card span { font:9px 'DM Mono',monospace; text-transform:uppercase; margin-bottom:8px; }.material-card strong { font-size:13px; }.concrete { background:#aaa99d; }.concrete .material-surface { background:repeating-linear-gradient(20deg,transparent 0 18px,rgba(255,255,255,.25) 19px 20px); }.timber { background:#927660; }.timber .material-surface { background:repeating-linear-gradient(90deg,rgba(40,25,18,.4) 0 3px,transparent 4px 17px); }.stone { background:#59645c; }.stone .material-surface { background:radial-gradient(circle at 15% 20%,#a5ab9b 0 3px,transparent 4px),radial-gradient(circle at 70% 60%,#292f2c 0 4px,transparent 5px); background-size:55px 46px; }.spec-notes { grid-column:1/3; display:grid; grid-template-columns:repeat(3,1fr); gap:8%; padding:75px 10% 0 0; }.spec-notes div { border-top:1px solid var(--line); padding-top:14px; }.spec-notes span { color:var(--clay); font:10px 'DM Mono',monospace; text-transform:uppercase; }.spec-notes p { color:var(--muted); font-size:12px; line-height:1.7; }.footer { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding:28px 0; color:var(--muted); font:9px 'DM Mono',monospace; text-transform:uppercase; }
@media(max-width:850px){.topnav{display:none}.topbar{height:76px}.hero{display:block;padding:45px 0 60px}.hero-copy{padding:0 0 45px}.hero-intro{margin-top:35px}.hero-visual{min-height:400px}.intro-grid,.spec-section{grid-template-columns:1fr;gap:36px}.metrics{padding:25px 0 0}.section-label{margin-bottom:-15px}.section-heading{display:block}.plan-switcher{margin-top:35px;width:max-content}.plan-layout{grid-template-columns:1fr;gap:55px}.floorplan{min-height:380px;padding:16px}.spec-content{display:block}.materials{padding:45px 0 0}.spec-notes{padding:55px 0 0}.footer{gap:12px;flex-wrap:wrap}.footer span:nth-child(2){order:3;width:100%}}
@media(max-width:520px){.site-shell{padding:0 22px}h1{font-size:70px}.hero-visual{min-height:310px}.mass-back{top:25%}.mass-front{top:40%}.floorplan{min-height:280px;padding:9px}.room{padding:5px;font-size:8px}.room small{font-size:7px;margin-top:3px}.materials{grid-template-columns:1fr}.material-card{min-height:150px}.spec-notes{grid-template-columns:1fr;gap:20px}.plan-legend{flex-wrap:wrap}}
@media print{.topbar,.plan-switcher,.text-link{display:none}.site-shell{max-width:none}.hero{min-height:auto}.hero-visual{print-color-adjust:exact}.plans-section,.spec-section{break-before:page}}

.drawing-set { display:grid; grid-template-columns:18% 82%; border-top:1px solid var(--line); padding:75px 0 105px; }.drawing-content { display:grid; grid-template-columns:1fr 1fr; gap:52px 18px; }.drawing-heading { grid-column:1/-1; display:flex; align-items:end; justify-content:space-between; padding-bottom:20px; }.drawing-heading .eyebrow { margin:0 0 18px; }.drawing-heading h2 { font-size:clamp(32px,4vw,52px); line-height:1.04; letter-spacing:-.04em; }.drawing-note { max-width:230px; margin:0 4% 4px 0; color:var(--muted); font-size:11px; line-height:1.7; }.drawing-card { background:var(--white); border:1px solid var(--line); padding:20px; }.drawing-card-head { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; padding-bottom:17px; color:var(--muted); font:9px 'DM Mono',monospace; text-transform:uppercase; border-bottom:1px solid var(--line); }.drawing-card-head strong { color:var(--ink); font-weight:500; text-align:center; }.drawing-card-head span:last-child { text-align:right; }
.site-plan { height:365px; position:relative; background:#dfe5d8; overflow:hidden; }.site-road { height:31px; padding:10px 15px; background:#afb5ab; color:#f7f4ea; font:9px 'DM Mono',monospace; letter-spacing:.08em; }.site-boundary { position:absolute; inset:68px 45px 28px; border:1px dashed #71816d; background:rgba(246,242,231,.38); }.site-house { position:absolute; left:24%; top:19%; width:52%; height:45%; background:#b7aa98; border:4px solid #5a6b5c; display:flex; align-items:center; justify-content:center; color:#f5f1e8; font:10px 'DM Mono',monospace; }.site-house i { position:absolute; background:#5d7976; width:24%; height:36%; top:20%; }.site-house i:nth-of-type(1){left:7%}.site-house i:nth-of-type(2){right:7%}.site-courtyard { position:absolute; top:43%; right:5%; width:17%; height:35%; border:1px solid #6d856f; padding:15px 4px; text-align:center; color:#5b735f; font:8px 'DM Mono',monospace; }.site-carport { position:absolute; left:24%; bottom:6%; width:22%; height:17%; background:#8a816f; padding:9px; color:#f6f2e7; font:8px 'DM Mono',monospace; }.site-garden { position:absolute; border-radius:50%; background:#789278; opacity:.8; }.garden-a { width:72px; height:72px; right:4%; top:3%; }.garden-b { width:50px; height:50px; left:6%; bottom:6%; }.site-path { position:absolute; width:34%; height:1px; left:0; bottom:19%; background:#b56d50; transform:rotate(-24deg); transform-origin:left; }.site-annotation { position:absolute; color:#596d5c; font:8px 'DM Mono',monospace; }.ann-one { left:6%; top:24%; }.ann-two { right:2%; bottom:30%; }.ann-three { left:3%; bottom:7%; }.site-arrow { position:absolute; right:17px; top:48px; color:#586d5c; text-align:center; font:9px 'DM Mono',monospace; }.site-arrow b { font-size:22px; font-weight:400; color:#b56d50; }
.section-drawing { grid-column:1/-1; }.section-graphic { height:320px; position:relative; overflow:hidden; background:linear-gradient(#e5e8db 0 75%,#b7c2ae 75%); }.section-ground { position:absolute; left:0; right:0; bottom:25%; height:3px; background:#586d5c; }.section-shell { position:absolute; left:14%; right:11%; bottom:25%; height:63%; border:3px solid #586d5c; border-bottom:0; }.section-room { position:absolute; border:1px solid #83917f; color:#5f7462; font:8px 'DM Mono',monospace; padding:10px; }.section-living { left:0; bottom:0; width:48%; height:100%; border-top:0; }.section-living i { position:absolute; bottom:0; left:15%; width:32%; height:48%; background:#557774; }.section-kitchen { right:0; bottom:0; width:29%; height:48%; }.section-bed { left:0; top:0; width:48%; height:34%; background:#ddd8ca; }.section-bed i { position:absolute; right:13%; top:50%; width:35%; border-top:2px solid #879782; }.section-gallery { right:0; top:0; width:29%; height:52%; background:#eee8dc; }.section-tree { position:absolute; bottom:-2px; left:51%; width:4px; height:75px; background:#6a6958; }.section-tree:before { content:''; position:absolute; width:75px; height:60px; left:-35px; bottom:48px; border-radius:50%; background:#789077; }.section-sun { position:absolute; width:45px; height:45px; border-radius:50%; background:#dfc889; right:8%; top:10%; }.section-line { position:absolute; border-left:1px solid #b56d50; border-right:1px solid #b56d50; width:1px; }.section-line:after,.section-line:before { content:''; position:absolute; width:7px; border-top:1px solid #b56d50; left:-3px; }.section-line:before { top:0 }.section-line:after { bottom:0 }.line-one { left:10%; top:15%; height:59%; }.line-two { right:7%; top:43%; height:31%; }.section-line span { position:absolute; left:-17px; top:45%; color:#b56d50; writing-mode:vertical-rl; font:8px 'DM Mono',monospace; }.section-labels { position:absolute; left:14%; right:11%; bottom:9%; display:flex; justify-content:space-between; color:#586d5c; font:8px 'DM Mono',monospace; }
.elevations,.schedule { grid-column:1/-1; }.elevation-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding-top:25px; }.elevation { color:var(--muted); font:9px 'DM Mono',monospace; text-align:center; }.elevation-art { height:140px; position:relative; margin-bottom:13px; background:#dce4d7; border-bottom:3px solid #586d5c; }.elevation-art:before { content:''; position:absolute; left:14%; right:14%; bottom:0; height:72%; background:#d7d0c2; border:2px solid #586d5c; }.elevation-art i { position:absolute; z-index:1; bottom:23%; width:16%; height:27%; background:#527275; border:3px solid #d7d0c2; }.elevation-art i:nth-of-type(1){left:25%}.elevation-art i:nth-of-type(2){left:43%}.elevation-art i:nth-of-type(3){left:61%}.elevation-art b { position:absolute; z-index:2; bottom:0; left:47%; width:11%; height:38%; background:#786653; border:3px solid #d7d0c2; }.garden-elevation:before { height:82%; left:8%; right:8%; }.garden-elevation i { bottom:25%; width:22%; height:45%; }.garden-elevation i:nth-of-type(1){left:16%}.garden-elevation i:nth-of-type(2){left:39%}.garden-elevation i:nth-of-type(3){left:62%}.side-elevation:before { left:22%; right:22%; height:77%; }.side-elevation i { bottom:32%; width:30%; height:18%; left:35% !important; }.side-elevation i:nth-of-type(2){bottom:62%}.west-elevation:before { left:6%; right:6%; }.west-elevation i { width:24%; height:35%; }.west-elevation i:nth-of-type(1){left:15%}.west-elevation i:nth-of-type(2){left:40%}.west-elevation i:nth-of-type(3){left:65% }.schedule-table { font-size:11px; }.schedule-row { display:grid; grid-template-columns:12% 1fr 20%; border-bottom:1px solid var(--line); padding:12px 0; }.schedule-row span:last-child,.schedule-row strong:last-child { text-align:right; }.schedule-row.header { color:var(--clay); font:9px 'DM Mono',monospace; text-transform:uppercase; }.schedule-row.sub { color:var(--muted); padding:8px 0; font-size:10px; }.schedule-row.total { border-bottom:0; padding-top:20px; font-size:13px; }
@media(max-width:850px){.drawing-set{grid-template-columns:1fr}.drawing-content{display:block}.drawing-heading{display:block;margin-bottom:35px}.drawing-note{margin-top:25px}.drawing-card{margin-bottom:18px}}
@media(max-width:520px){.drawing-card{padding:13px}.drawing-card-head{grid-template-columns:1fr auto}.drawing-card-head span:last-child{grid-column:1/-1;text-align:left}.site-plan{height:290px}.elevation-grid{grid-template-columns:1fr 1fr}.elevation-art{height:115px}.section-graphic{height:250px}.schedule-row{grid-template-columns:15% 1fr 23%;font-size:10px}.schedule-row.sub{font-size:9px}}

.entry { grid-column:1/5; }
.study { grid-column:5/8; }
.powder { grid-column:8/10; }
.landing { grid-column:2/12; background:#eee8dc; border-color:#879782; }
.upper-void { grid-column:12/13; }
#upperPlan .primary { grid-row:1/4; }
#upperPlan .primary-bath { grid-column:1/3; grid-row:4/5; }
#upperPlan .robe { grid-column:3/6; grid-row:4/5; }
#upperPlan .landing { grid-column:1/13; grid-row:4/6; background:#eee8dc; border-color:#879782; }
#upperPlan .bedroom-two { grid-column:1/4; grid-row:6/9; }
#upperPlan .bedroom-three { grid-column:4/7; grid-row:6/9; }
#upperPlan .bedroom-four { grid-column:7/10; grid-row:6/9; }
#upperPlan .bedroom-five { grid-column:10/13; grid-row:6/9; }
#upperPlan .shared-bath { grid-column:1/3; grid-row:9/10; }
#upperPlan .upper-void { grid-column:10/13; grid-row:1/4; }
#groundPlan .dim-a, #groundPlan .dim-b { display:none; }
#groundPlan::before { content:'14.8 m'; position:absolute; top:7px; left:12%; right:12%; border-top:1px solid #b56d50; padding-top:4px; color:#e7dfd0; text-align:center; font:9px 'DM Mono',monospace; }
#groundPlan::after { content:'10.5 m'; position:absolute; top:15%; bottom:15%; left:7px; border-left:1px solid #b56d50; padding-left:4px; color:#e7dfd0; writing-mode:vertical-rl; text-align:center; font:9px 'DM Mono',monospace; }
#upperPlan .dim-a, #upperPlan .dim-b { display:none; }
#upperPlan::before { content:'14.8 m'; position:absolute; top:7px; left:12%; right:12%; border-top:1px solid #b56d50; padding-top:4px; color:#e7dfd0; text-align:center; font:9px 'DM Mono',monospace; }
#upperPlan::after { content:'10.0 m'; position:absolute; top:15%; bottom:15%; left:7px; border-left:1px solid #b56d50; padding-left:4px; color:#e7dfd0; writing-mode:vertical-rl; text-align:center; font:9px 'DM Mono',monospace; }
.dimension-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:15px; }.dimension-summary div { border-top:1px solid var(--line); padding-top:10px; }.dimension-summary span { display:block; color:var(--clay); font:9px 'DM Mono',monospace; text-transform:uppercase; }.dimension-summary strong { display:block; margin-top:7px; font:500 16px 'Playfair Display',serif; }.dimension-summary small { display:block; margin-top:4px; color:var(--muted); font:9px 'DM Mono',monospace; }
.floorplan .room { position:relative; overflow:hidden; }.floorplan .room:not(.courtyard):not(.stair)::before { content:''; position:absolute; top:0; left:18%; right:18%; height:3px; background:#527275; }.floorplan .room:not(.courtyard):not(.stair)::after { content:''; position:absolute; bottom:-1px; left:40%; width:22px; height:22px; border-top:1px solid #b56d50; border-right:1px solid #b56d50; border-radius:0 100% 0 0; }.floorplan .landing::before { background:#527275; left:34%; right:34%; }.floorplan .landing::after { left:48%; }.opening-legend { display:flex; gap:20px; margin-top:13px; color:var(--muted); font:9px 'DM Mono',monospace; text-transform:uppercase; }.opening-legend span { display:flex; align-items:center; gap:6px; }.opening-window { width:18px; height:3px; background:#527275; }.opening-door { width:16px; height:16px; border-top:1px solid #b56d50; border-right:1px solid #b56d50; border-radius:0 100% 0 0; }.opening-fixture { width:9px; height:9px; border:1px solid #b56d50; }
.fixture-group { position:absolute; z-index:2; inset:32% 12% 16%; display:flex; flex-wrap:wrap; align-content:center; justify-content:center; gap:3px; pointer-events:none; }.fixture-group i { display:grid; place-items:center; min-width:20px; min-height:13px; padding:2px; border:1px solid #b56d50; color:#8e583e; background:rgba(245,241,232,.72); font:6px 'DM Mono',monospace; font-style:normal; text-transform:uppercase; }.fixture-bath { min-width:30px !important; border-radius:50%; }.fixture-wc { border-radius:50% 50% 35% 35%; }.fixture-sink,.fixture-vanity { border-radius:50%; }.fixture-shower { border-radius:2px; }.fixture-island { min-width:42px !important; }.fixture-cooktop { min-width:34px !important; }.fixture-counter { min-width:30px !important; }
.hero-visual::before { content:'WINDOWS / DOOR'; position:absolute; z-index:7; top:20px; left:22px; color:#f4f0e5; font:9px 'DM Mono',monospace; letter-spacing:.12em; }
@media(max-width:520px){.dimension-summary{grid-template-columns:1fr 1fr;gap:14px 8px}.dimension-summary strong{font-size:14px}}
