:root{color-scheme:light;--brand:#0e7490;--brand-dark:#0a5c73;--ink:#102833;--deep:#0c3344;--canvas:#e5eef1;--muted:#3e5562;--line:#d5e1e6;--paper:#f7fafb;--focus:#0b6e8a}*{box-sizing:border-box}body,html{margin:0;height:100%}body{color:var(--ink);background:#fff;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--brand-dark)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip,.sr-only{position:absolute}.skip{left:12px;top:-40px;background:#fff;padding:8px 12px;z-index:20}.skip:focus{top:8px}.app{min-height:100%;display:flex;flex-direction:column;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;background:#fff}.font-serif{font-family:Georgia,Iowan Old Style,Palatino Linotype,serif}.font-system{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}.topbar{gap:24px;min-height:72px;padding:12px 28px;border-bottom:1px solid var(--line);background:#fff}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;color:var(--brand);text-decoration:none;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px;line-height:1.05}.logo{width:36px;height:36px}.topbar h1{margin:0 auto;font-size:18px;font-weight:650;letter-spacing:-.01em}.region-badge{margin:0;border:1px solid #c5d5dc;border-radius:8px;padding:8px 12px;font-size:12px;letter-spacing:.06em;color:var(--muted)}.studio{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-rows:minmax(320px,1fr) auto}.viewer{grid-column:1;grid-row:1;background:var(--canvas);display:flex;flex-direction:column}.viewer,.viewer-stage{position:relative;min-height:0}.viewer-stage{flex:1 1}.viewer-stage>*{width:100%;height:100%}.viewer-loading{margin:0;padding:24px;color:var(--muted)}.design-title{position:absolute;z-index:2;top:22px;left:28px;pointer-events:none}.design-title p{margin:0;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.design-title h2{margin:4px 0;font-size:36px;letter-spacing:-.03em}.view-toggle,.zoom-controls{position:absolute;z-index:3;display:flex;gap:6px;background:#fff;border-radius:999px;padding:4px;box-shadow:0 8px 24px rgba(16,40,51,.08)}.view-toggle{top:22px;right:24px}.zoom-controls{right:24px;bottom:20px}.view-toggle button,.zoom-controls button{border:0;background:transparent;border-radius:999px;min-width:42px;min-height:36px;padding:8px 12px}.view-toggle button[aria-pressed=true]{background:var(--deep);color:#fff}.viewer-hint{position:absolute;z-index:3;left:24px;bottom:20px;margin:0;background:#fff;border-radius:999px;padding:10px 14px;color:var(--muted);box-shadow:0 8px 24px rgba(16,40,51,.08)}.plan{position:relative}.plan,.plan svg{width:100%;height:100%}.plan svg{display:block}.plan-surround{fill:#d9e0e2}.material-paving{fill:#dfe4e2}.material-merbau{fill:#c9a27a}.material-concrete{fill:#c5ccd0}.plan-coping{fill:#f7f4ee;stroke:#ffffff;stroke-width:.04}.plan-dim{font-size:.34px;fill:var(--ink);font-weight:650}.plan-depth{font-size:.22px;fill:#f7fbff;font-weight:650}.plan-north{font-size:.28px;fill:var(--muted);font-weight:700}.plan-fence{fill:#1c2428}.fence-glass{fill:#b9dbe8}.plan-handle{position:absolute;transform:translate(-50%,-50%);z-index:4}.handle{display:inline-flex;align-items:center;gap:8px;border:0;background:var(--brand);color:#fff;border-radius:999px;padding:7px 12px;font-weight:700;box-shadow:0 6px 16px rgba(14,116,144,.28);touch-action:none}.grip{width:12px;height:14px;background:radial-gradient(circle,#fff 1.2px,transparent 1.4px) 0 0 /6px 6px}.depth-label,.dim-label{display:inline-block;color:var(--ink);font-weight:700;font-size:14px;text-shadow:0 1px 0 #fff}.depth-label{color:#f4fbff;text-shadow:0 1px 2px rgba(0,0,0,.45);text-align:center}.panel{grid-column:2;grid-row:1;min-height:0;overflow:auto;padding:22px 22px 8px;border-left:1px solid var(--line);background:#fff}.eyebrow{margin:0 0 4px;color:var(--brand);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.panel h2{margin:0 0 12px;font-size:32px;letter-spacing:-.03em}.tabs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;border-bottom:1px solid var(--line);margin-bottom:16px}.tabs button{border:0;background:transparent;padding:8px 0 12px;color:var(--muted);border-bottom:2px solid transparent}.tabs button[aria-selected=true]{color:var(--brand-dark);border-bottom-color:var(--brand)}.tabs button span{display:block;font-size:12px;letter-spacing:.04em}.tab-panel:focus{outline:none}.section h3{margin:18px 0 6px;font-size:18px}.section p{margin:0 0 12px;color:var(--muted)}.card-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.choice,.fence-option{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;min-height:74px}.choice[aria-checked=true],.choice[aria-pressed=true],.fence-option[aria-checked=true]{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:#f3fbfd}.choice strong,.fence-option strong{display:block}.choice small,.fence-option small,.fine,.note{color:var(--muted)}.choice-icon,.material-swatch{display:block;width:42px;height:18px;border-radius:4px;margin-bottom:8px;background:linear-gradient(#8ecae6,#219ebc);border:1px solid #b7c9d0}.material-swatch{width:100%;height:36px}.model-copy{color:var(--ink)}.field,.width-field{display:flex;flex-direction:column;gap:6px;font-weight:650;margin:8px 0}.field input,.field select,.field textarea,.width-input input{width:100%;border:1px solid #b7c6cc;border-radius:10px;padding:10px 12px;background:#fff;font-weight:500}.inclusion-banner{display:flex;gap:10px;align-items:flex-start;background:#eef8f1;border:1px solid #cfe6d6;border-radius:12px;padding:12px;margin:14px 0}.inclusion-banner p{margin:0;color:var(--ink)}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:28px;height:28px;border-radius:50%;border:1px solid #8ea0a8;padding:0}.swatch[aria-checked=true]{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--brand)}.disclosure{margin-top:12px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.text-button{border:0;background:transparent;color:var(--brand-dark);text-decoration:underline;padding:0}.width-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.width-input{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:500}.area-card{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:12px 0}.area-card div{background:var(--paper);border-radius:10px;padding:10px}.area-card dt{color:var(--muted);font-size:13px}.area-card dd{margin:4px 0 0;font-weight:750;font-size:18px}.choice-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.choice-wrap{position:relative}.upgrade-list{list-style:none;margin:12px 0;padding:0}.upgrade-list li{border-top:1px solid var(--line);padding:10px 0}.upgrade-list label{display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;align-items:start}.upgrade-list small{display:block;color:var(--muted);font-weight:500}.info{margin:4px 0 0 28px}.info button{border:0;background:transparent;color:var(--brand-dark);text-decoration:underline;padding:0}.fence-list{display:flex;flex-direction:column;gap:8px}.fence-option{display:flex;gap:12px;align-items:center}.fence-glyph{width:46px;height:28px;border:1px solid var(--line);border-radius:6px;background:#fff}.fence-bars,.fence-batten{background:repeating-linear-gradient(90deg,#1c2428 0 2px,transparent 2px 7px)}.fence-glass{background:#e7f6fb}.fence-sides{border:0;margin:16px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.fence-sides label{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px}.fence-sides label.included{background:#f3fbfd}.fence-sides small{display:block;color:var(--muted)}.contact{display:flex;flex-direction:column;gap:2px;font-style:normal;margin:18px 0 12px;padding-top:12px;border-top:1px solid var(--line)}.contact a{text-decoration:none}.contact small{color:var(--muted)}.summary{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr) 280px;background:#fff;border-top:1px solid var(--line)}.metric{padding:16px 22px 18px;border-right:1px solid var(--line)}.metric p,.price-card p{margin:0;color:var(--muted)}.metric strong{display:block;margin:4px 0;font-size:28px;letter-spacing:-.03em}.metric small,.price-card small{color:var(--muted)}.price-card{background:var(--deep);color:#fff;padding:14px 18px 16px}.price-card p,.price-card small{color:#d5e4ea}.price-card strong{display:block;font-size:36px;letter-spacing:-.03em;margin:2px 0 8px}.summary.is-loading .price-card strong{opacity:.55}.enquire{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:999px;color:var(--deep);font-weight:750;min-height:42px;padding:8px 14px}.enquire,.price-card .enquire{background:#fff}.field-error,.form-error{color:#8d1d18}.quote-note{margin:8px 0;color:#d5e4ea}.quote-note summary{cursor:pointer}.enquiry{border:0;padding:0;border-radius:18px;width:min(560px,calc(100vw - 24px));max-height:min(920px,calc(100dvh - 24px))}.enquiry::-webkit-backdrop{background:rgba(16,40,51,.5)}.enquiry::backdrop{background:rgba(16,40,51,.5)}.enquiry-body{padding:22px;overflow:auto;max-height:min(920px,calc(100dvh - 24px))}.enquiry h2{margin:0 40px 8px 0;font-size:28px}.close{position:absolute;top:12px;right:12px;border:0;background:transparent;font-size:28px;line-height:1;width:40px;height:40px}.enquiry-summary{color:var(--ink)}.consent{display:flex;gap:10px;align-items:flex-start;margin:12px 0}.optional{font-weight:500;color:var(--muted)}.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.home{max-width:760px;margin:0 auto;padding:48px 20px 80px}.home-list{display:grid;grid-gap:12px;gap:12px;padding:0;list-style:none}.home-list a{display:block;border:1px solid var(--line);border-radius:12px;padding:16px;text-decoration:none;color:inherit}@media (max-width:859px){.app{height:auto}.topbar{flex-wrap:wrap;padding:12px 16px;gap:8px 16px}.topbar h1{margin:0;font-size:16px;width:100%}.studio{display:flex;flex-direction:column}.viewer{order:1;height:460px}.summary{order:2;grid-template-columns:1fr 1fr 1fr}.panel{order:3;border-left:0;overflow:visible;padding:8px 16px 128px}.design-title h2{font-size:28px}.viewer-hint{max-width:46vw;font-size:13px}.metric{padding:12px}.metric strong{font-size:18px}.price-card{position:fixed;left:0;right:0;bottom:0;z-index:6;box-shadow:0 -8px 24px rgba(16,40,51,.16)}.area-card,.card-grid,.choice-row,.width-grid{grid-template-columns:1fr 1fr}}@media (min-width:860px){.app{height:100dvh}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (forced-colors:active){.choice,.enquire,.handle,.swatch{border:1px solid ButtonText}}