@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--black:#0c0d0c;--surface:#151715;--raised:#1d201c;--copper:#d58045;--copper-dark:#a85d2f;--cream:#f4f0e7;--ink:var(--cream);--muted:#b7b9af;--line:#383c34;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--black);color:var(--cream);font-family:'DM Sans',Arial,sans-serif;font-size:1rem;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit}button{cursor:pointer}button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible,.pin:focus-visible{outline:2px solid var(--copper);outline-offset:5px}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.03;letter-spacing:.01em;text-transform:uppercase}h1{font-size:clamp(4.4rem,7.2vw,8rem);margin-bottom:24px}h2{font-size:clamp(2.8rem,4.4vw,4.6rem);margin-bottom:28px}h1 em,h2 em{font-style:normal;color:var(--copper)}p{margin-bottom:24px}a{text-underline-offset:5px}img{max-width:100%}header{padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line);min-height:112px}.brand{display:inline-flex;align-items:center;gap:15px;text-decoration:none;color:var(--copper)}.brand-mark{width:70px;height:70px;object-fit:contain;flex:none}.brand-type{font-family:var(--display);font-size:1.65rem;font-weight:800;line-height:.96;letter-spacing:.055em}.brand-small{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:.625rem;letter-spacing:.12em;line-height:1.5;margin-top:9px;color:var(--muted)}nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-size:.875rem}nav a:hover{color:var(--copper)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--copper);color:var(--black);border:1px solid var(--copper);padding:15px 25px;font-size:.875rem;line-height:1.4;font-weight:700;text-decoration:none;transition:background .2s,color .2s,transform .2s}.button:hover{background:#e69a62;color:var(--black);transform:translateY(-2px)}.button.small{padding:12px 22px}.button.cream{background:var(--copper);color:var(--black)}.skip-link{position:fixed;top:10px;left:10px;z-index:200;background:var(--cream);color:var(--black);padding:12px 20px;transform:translateY(-200%)}.skip-link:focus{transform:none}
/* Reference copper: jet-black workwear and copper truck livery. */
.brand-mark{display:block;background:var(--copper);-webkit-mask:url('brand-mark.png') center/contain no-repeat;mask:url('brand-mark.png') center/contain no-repeat}
.brand-intro{position:fixed;inset:0;z-index:100;background:#080908;display:grid;place-items:center;text-align:center;padding:24px;overflow:hidden;animation:intro-away 1.4s 4s cubic-bezier(.4,0,.2,1) forwards}
.assembly-title{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(2.5rem,9vw,8rem);line-height:1.02;letter-spacing:.015em;color:var(--copper);perspective:1000px}
.assembly-line{display:block;white-space:nowrap;perspective:1000px}
.assembly-line+.assembly-line{margin-top:.055em}
.assembly-letter{display:inline-block;transform-origin:50% 100%;backface-visibility:hidden;text-shadow:0 2px 0 #603b23;animation:letter-lay .62s cubic-bezier(.2,.7,.25,1) calc(.18s + var(--order)*.095s) both}
.assembly-space{display:inline-block;width:.22em}
@keyframes letter-lay{0%{opacity:0;transform:translate3d(0,-.16em,.6em) rotateX(-88deg)}25%{opacity:1}82%{transform:translate3d(0,.015em,0) rotateX(3deg)}100%{opacity:1;transform:none}}
@keyframes intro-away{0%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
html.intro-skip .brand-intro{display:none}

.hero{display:grid;grid-template-columns:46% 54%;min-height:710px}.hero-copy{position:relative;padding:72px 9% 38px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.17em;line-height:1.65;margin-bottom:25px;color:var(--copper)}.hero-copy .eyebrow{display:flex;align-items:center;gap:14px}.hero-copy .eyebrow:before{content:'';width:28px;height:1px;background:var(--copper)}.hero-tagline{font-size:.75rem;letter-spacing:.1em;color:var(--copper);margin-bottom:26px}.hero-copy p{max-width:370px;color:var(--muted);margin-bottom:30px}.hero-note{display:flex;gap:20px;border-top:1px solid var(--line);margin-top:48px;padding-top:20px;font-size:.75rem;letter-spacing:.05em;color:var(--muted);width:100%;flex-wrap:wrap}.hero-image{position:relative;min-height:590px;overflow:hidden}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:53% center;filter:brightness(.72) saturate(.72) contrast(1.08)}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c0d0c20,transparent 35%),linear-gradient(0deg,#080b09b3,transparent 45%);pointer-events:none}.image-tag{position:absolute;z-index:1;bottom:35px;left:35px;font-family:var(--display);font-weight:600;letter-spacing:.04em;font-size:2rem}.concept{position:absolute;z-index:1;top:24px;right:24px;background:#080b09a8;color:var(--cream);padding:6px 10px;font-size:.75rem;letter-spacing:.08em}.ticker{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-around;gap:25px;padding:22px 4%;font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.ticker span:before{content:'+';margin-right:20px;color:var(--copper)}.section{padding:110px 7%}.build-story{height:2500px;position:relative;background:var(--black)}.build-sticky{position:sticky;top:0;min-height:760px;height:100vh;max-height:1050px;display:grid;grid-template-columns:36% 64%;align-items:center;padding:55px 7%}.build-copy p{max-width:310px;color:var(--muted)}.steps{list-style:none;padding:0;margin:28px 0 0}.steps li{color:var(--muted);border-top:1px solid var(--line);padding:10px 0;font-size:.875rem;max-width:300px;transition:color .2s}.steps b{margin-right:19px;font-weight:500}.steps .active{color:var(--copper);font-weight:700}.build-model{height:600px;position:relative}.build-model canvas{height:85%;width:100%}.model-caption{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:15px;font-size:.75rem;letter-spacing:.05em}.model-caption span:first-child{color:var(--copper)}.fine{font-size:.8125rem;line-height:1.6;color:var(--muted)}.build-model .fine{max-width:460px;margin-top:12px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:45px}.section-top p{max-width:355px;color:var(--muted)}.services{background:var(--surface);border-block:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.service-grid article{border-top:1px solid var(--copper-dark);padding-top:25px}.service-number{color:var(--copper);font-size:.875rem}.service-grid h3{font-size:2rem;line-height:1.08;margin:28px 0 20px;max-width:260px}.service-grid p{color:var(--muted);min-height:106px}.service-grid a{font-size:.875rem;color:var(--copper)}.timber{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#18201b}.timber p{color:#c0c6bb;max-width:410px}.wood-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wood{color:var(--cream);background:#101611;border:1px solid #495147;text-align:left;padding:15px}.wood.active{border:2px solid var(--copper);padding:14px}.swatch{display:block;height:125px;background:repeating-linear-gradient(2deg,transparent 0 3px,#2f140c22 4px 5px,transparent 6px 9px),repeating-linear-gradient(0deg,#9d6640 0 25px,#6b442e 26px,#aa754d 28px 52px);margin-bottom:17px}.swatch.deep{background:repeating-linear-gradient(1deg,transparent 0 4px,#21090333 5px 6px,transparent 7px 11px),repeating-linear-gradient(0deg,#713e2d 0 25px,#422820 26px,#8c4c33 28px 52px)}.wood strong,.wood small{display:block}.wood small{font-size:.8125rem;line-height:1.6;margin-top:7px;color:#c0c6bb}.wood-options>.fine{grid-column:1/-1;margin:0}.planner-grid{display:grid;grid-template-columns:330px 1fr;border:1px solid var(--line)}.planner-controls{padding:30px;border-right:1px solid var(--line);background:var(--surface)}fieldset{padding:0;border:0;margin:0 0 26px;min-width:0}legend{font-size:.875rem;font-weight:600;margin-bottom:16px}.shape-options{display:flex;gap:12px}.shape{background:transparent;border:1px solid #565b50;width:50%;padding:13px 10px;font-size:.875rem}.shape.selected{border-color:var(--copper);background:#32261d}.shape-icon{display:block;margin:0 auto 10px;background:var(--copper);width:38px;height:27px}.shape-icon.ell{clip-path:polygon(0 0,50% 0,50% 50%,100% 50%,100% 100%,0 100%)}label{display:block;font-size:.875rem;font-weight:500}output{float:right;font-weight:400;color:var(--muted)}input[type=range]{display:block;width:100%;accent-color:var(--copper);margin:12px 0 23px;cursor:pointer;min-height:24px}select,input:not([type=range]),textarea{width:100%;padding:12px;border:1px solid #565b50;background:var(--surface);border-radius:0;color:var(--cream);margin-top:8px;font-size:1rem}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9fa397}.area{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;display:flex;align-items:center;justify-content:space-between}.area span{font-size:.875rem}.area strong{font-family:var(--display);font-size:2.5rem;font-weight:600;color:var(--copper)}.area small{font-size:1.1rem}.planner-controls .button{width:100%;margin-top:18px;padding:14px 9px}.viewer{position:relative;background:radial-gradient(ellipse at 50% 45%,#2c3027 0,#171a16 70%);min-width:0;display:flex;flex-direction:column}.viewer-heading,.viewer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.05em;padding:20px 25px;gap:15px}.viewer-heading button{background:none;border:0;border-bottom:1px solid var(--copper-dark);font-size:.875rem;min-height:44px;padding:3px;color:var(--cream);white-space:nowrap}#planCanvas{width:100%;height:420px;touch-action:pan-y;cursor:grab;flex:1;min-height:350px}.rotate-control{display:flex;align-items:center;gap:20px;padding:0 25px}.rotate-control label{white-space:nowrap;font-size:.875rem}.rotate-control input{margin:0}.viewer .fine{padding:0 25px;margin-top:12px}.local{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);background:var(--surface);gap:40px;overflow:hidden}.local-copy{padding-top:35px}.local-copy p{max-width:340px}.local select{max-width:300px}.suburb-result{display:flex;align-items:center;gap:20px;margin:26px 0 15px}.suburb-result>strong{font:600 4rem var(--display);color:var(--copper)}.suburb-result span,.suburb-result small{display:block}.suburb-result span{font-size:1.5rem;font-family:var(--display)}.suburb-result small{font-size:.8125rem;color:var(--muted)}.map-wrap{background:#111e1b;position:relative;min-width:0;border:1px solid var(--line)}.map-wrap svg{display:block;width:100%;max-height:570px}.pin{cursor:pointer;outline-offset:3px}.pin text{font-family:Arial,sans-serif;font-size:14px;fill:var(--cream)}.pin circle{fill:var(--black);stroke:var(--copper);stroke-width:1.5}.pin.selected circle{fill:var(--copper)}.pin .count{font-size:13px;fill:var(--copper);font-weight:bold;text-anchor:middle}.pin.selected .count{fill:var(--black)}.map-note{position:absolute;bottom:14px;right:18px;font-size:.75rem;letter-spacing:.05em;color:#b9c7bf}.quote{background:var(--black);display:grid;grid-template-columns:1fr 1.1fr;gap:9%;border-block:1px solid var(--line)}.quote p{color:var(--muted);max-width:390px}.quote-summary{border-top:1px solid var(--copper-dark);margin-top:40px;padding-top:22px}.quote-summary span{display:block;font-size:.75rem;letter-spacing:.1em;color:var(--copper)}.quote-summary strong{display:block;font-size:1rem;margin:10px 0;font-weight:500}.quote-summary a{font-size:.875rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote label{margin-bottom:20px}.optional{font-weight:400;font-size:.8125rem}.quote .fine{margin-top:17px;max-width:none}.form-result{border:1px solid var(--copper-dark);padding:20px;margin-top:20px}.form-result p{font-size:.875rem;margin:10px 0}footer{padding:55px 7% 25px;display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:35px}footer .brand{justify-self:start}footer p{font-size:.875rem;margin:0;text-align:center;color:var(--muted)}footer>a:last-of-type{justify-self:end;font-size:.875rem}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:.75rem;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1800px){main,header,footer{max-width:1800px;margin:auto}}@media(max-width:1100px){nav{gap:18px}.hero{min-height:640px;grid-template-columns:48% 52%}.hero-copy{padding:55px 8% 30px}h1{font-size:clamp(3.5rem,7.5vw,6rem)}.hero-note{gap:8px;margin-top:32px}.build-sticky{padding:45px 5%;grid-template-columns:40% 60%}.build-model{height:520px}.service-grid{gap:25px}.planner-grid{grid-template-columns:300px 1fr}.section{padding:80px 5%}.timber{gap:5%}.quote{gap:6%}.form-row{grid-template-columns:1fr;gap:0}.brand-type{font-size:1.45rem}.brand-mark{width:58px;height:58px}}
@media(max-width:700px){header{padding:18px 6%;min-height:95px;gap:12px}.brand{gap:9px}.brand-mark{width:44px;height:50px}.brand-type{font-size:1.25rem}.brand-small{font-size:.6rem;letter-spacing:.065em}header nav>a:not(.button){display:none}nav .button.small{font-size:.8125rem;padding:10px 13px}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 7% 35px}h1{font-size:clamp(3.8rem,14vw,6rem)}.hero-copy p{max-width:390px}.hero-tagline{font-size:.75rem;letter-spacing:.04em}.hero-note{gap:18px;margin-top:30px}.hero-image{min-height:420px}.hero-image img{object-position:center 65%}.image-tag{font-size:1.8rem;left:25px;bottom:25px}.ticker{flex-wrap:wrap;justify-content:flex-start;padding:20px 7%;gap:10px 20px;font-size:.75rem}.ticker span:nth-child(n+3){display:none}.ticker span:before{margin-right:10px}.build-story{height:2100px}.build-sticky{padding:30px 7%;grid-template-columns:1fr;min-height:720px;height:100svh;max-height:none;align-content:center;gap:0}.build-copy .eyebrow{margin-bottom:15px}.build-copy h2{font-size:2.6rem;margin-bottom:12px}.build-copy h2 br:nth-child(2){display:none}.build-copy p{font-size:1rem;max-width:none;margin-bottom:13px}.steps{display:flex;gap:2px 14px;flex-wrap:wrap;margin:0}.steps li{padding:5px 0;font-size:.875rem;border-top:0}.steps b{margin-right:5px}.build-model{height:310px;margin-top:8px}.build-model canvas{height:73%}.model-caption{font-size:.75rem;letter-spacing:0}.build-model .fine{font-size:.75rem;margin:8px 0 0}.section{padding:65px 7%}h2{font-size:clamp(2.6rem,9vw,3.5rem)}.section-top{display:block;margin-bottom:30px}.section-top p{max-width:none}.service-grid{grid-template-columns:1fr;gap:35px}.service-grid h3{max-width:none;margin:16px 0;font-size:2rem}.service-grid p{min-height:0}.timber{grid-template-columns:1fr;gap:25px}.swatch{height:100px}.planner-grid{grid-template-columns:1fr}.planner-controls{border-right:0;border-bottom:1px solid var(--line);padding:25px}.viewer{min-height:460px}#planCanvas{height:320px;min-height:300px}.viewer-heading,.viewer-bottom{padding:16px;font-size:.75rem;letter-spacing:0}.viewer .fine{padding:0 16px}.rotate-control{padding:0 16px}.local{grid-template-columns:1fr;gap:25px}.local-copy{padding:0}.local-copy p{max-width:none}.map-wrap svg{max-height:440px}.map-note{font-size:.75rem;right:10px;letter-spacing:0}.quote{grid-template-columns:1fr;gap:35px}.form-row{grid-template-columns:1fr;gap:0}footer{grid-template-columns:1fr;gap:25px;padding:38px 7% 22px}footer p{text-align:left}footer>a:last-of-type{justify-self:start}footer small{grid-column:1}.wood strong{font-size:.875rem}.wood small{font-size:.8125rem}}

@media(prefers-reduced-motion:reduce){.assembly-letter{animation:none}html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.brand-intro{display:none}.build-story{height:auto}.build-sticky{position:relative;height:auto;min-height:0}}
/* Shared service navigation and the shed assembly page. */
nav .service-page{font-weight:700;min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid transparent}
nav .service-page[aria-current=page]{color:var(--copper);border-bottom-color:var(--copper)}
.shed-page .hero h1{font-size:clamp(4.1rem,6.4vw,7rem)}
.shed-page .hero-image img{object-position:52% center}
.shed-story{height:3100px}.shed-model canvas{height:78%}
.assembly-control{display:flex;align-items:center;gap:20px;margin-top:8px}.assembly-control label{font-size:.8125rem;white-space:nowrap}.assembly-control input{margin:4px 0}
.swatch.light{background:repeating-linear-gradient(2deg,transparent 0 3px,#70512922 4px 5px,transparent 6px 9px),repeating-linear-gradient(0deg,#c6a572 0 25px,#8e724a 26px,#d9bc85 28px 52px)}
.shed-spec>span{font-size:.75rem;letter-spacing:.1em;color:var(--copper)}.shed-spec>strong{font:600 3.8rem var(--display);display:block;line-height:1.3}.shed-spec p{color:var(--muted);font-size:.875rem;margin:10px 0 30px}
#shedPlanCanvas{width:100%;height:430px;min-height:360px;flex:1;cursor:grab;touch-action:pan-y}
@media(max-width:700px){header{flex-wrap:wrap}header>.brand{margin:0 auto}header nav{width:100%;justify-content:space-between;gap:20px}header nav>a.service-page{display:inline-flex;font-size:.9375rem}.shed-page .hero h1{font-size:clamp(4rem,14vw,6rem)}.shed-story{height:2500px}.shed-model{height:340px}.shed-model canvas{height:66%}.assembly-control{gap:14px}.assembly-control label{font-size:.75rem}.shed-model .fine{font-size:.75rem}#shedPlanCanvas{height:340px;min-height:320px}}
@media(prefers-reduced-motion:reduce){.shed-story{height:auto}.shed-model{height:470px}.shed-model canvas{height:73%}}

/* A larger brand signature fills the header, with all three services in view. */
header{padding:24px 5%;gap:36px;min-height:178px}header>.brand{gap:22px;flex:1;min-width:0}header .brand-mark{width:clamp(110px,10vw,160px);height:clamp(110px,10vw,160px)}header .brand-type{font-size:clamp(2.25rem,3.25vw,3.6rem);letter-spacing:.045em}header .brand-small{font-size:clamp(.68rem,.85vw,.95rem);letter-spacing:.14em;margin-top:14px}header nav{gap:24px;flex-shrink:0}header nav a{white-space:nowrap}
@media(max-width:1100px){header{flex-wrap:wrap;gap:18px}header>.brand{flex-basis:100%}header nav{width:100%;justify-content:space-between}header .brand-mark{width:120px;height:120px}header .brand-type{font-size:3rem}}
@media(max-width:700px){header{padding:22px 6% 16px;gap:20px}header>.brand{justify-content:center;gap:16px}header .brand-mark{width:100px;height:100px}header .brand-type{font-size:2.5rem}header .brand-small{font-size:.68rem;margin-top:10px}header nav{gap:12px;flex-wrap:wrap}header nav>a.service-page{font-size:.9rem}header nav .button.small{width:100%;margin-top:3px}.ticker span:nth-child(3){display:inline}}
@media(max-width:360px){header .brand-mark{width:80px;height:80px}header .brand-type{font-size:2.15rem}}

header.photo-banner{position:relative;isolation:isolate;min-height:33svh;background:#0c0d0c;padding-block:32px}
header.photo-banner:before{content:'';position:absolute;inset:0;z-index:-2;background:url('property-banner.webp') center 52%/cover no-repeat;opacity:.44;filter:saturate(.78)}
header.photo-banner:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080b09a8, #080b0933 55%,#080b0988),linear-gradient(0deg,#0c0d0c66,transparent 70%)}
header.photo-banner .brand-small{color:var(--cream)}header.photo-banner .brand{text-shadow:0 2px 18px #000}
#pergolaPlanCanvas{width:100%;height:430px;min-height:360px;flex:1;cursor:grab;touch-action:pan-y}
@media(max-width:700px){header.photo-banner{min-height:33svh;padding-block:25px}#pergolaPlanCanvas{height:340px;min-height:320px}}

/* Full-width identity over a taller photographic masthead. */
header.photo-banner{min-height:66svh;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:32px;padding:38px 5%}
header.photo-banner>.brand{flex:0 0 auto;width:100%;justify-content:center;gap:clamp(18px,3vw,54px);margin:0}
header.photo-banner .brand-mark{width:clamp(150px,19vw,320px);height:clamp(150px,19vw,320px)}
header.photo-banner .brand-type{font-size:clamp(2.3rem,6.3vw,7rem);white-space:nowrap;letter-spacing:.025em}
header.photo-banner .brand-small{font-size:clamp(.75rem,1.25vw,1.35rem);letter-spacing:.24em;margin-top:20px}
header.photo-banner nav{width:100%;justify-content:center;gap:clamp(24px,4vw,65px)}
@media(max-width:700px){header.photo-banner{min-height:66svh;gap:24px;padding:28px 6%}header.photo-banner>.brand{flex-direction:column;gap:16px}header.photo-banner .brand-mark{width:clamp(145px,38vw,220px);height:clamp(145px,38vw,220px)}header.photo-banner .brand-type{font-size:8vw;text-align:center}header.photo-banner .brand-small{font-size:.7rem;margin-top:13px}header.photo-banner nav{gap:15px 26px}header.photo-banner nav .button.small{width:100%;max-width:320px}}
/* Short desktop windows keep a compact sticky scene instead of bypassing assembly. */
@media(min-width:701px) and (max-height:800px){.build-sticky{min-height:0;height:100svh;padding:24px 5%;grid-template-columns:38% 62%}.build-copy .eyebrow{margin-bottom:12px}.build-copy h2{font-size:clamp(2rem,5vh,3rem);margin-bottom:14px}.build-copy p{font-size:.875rem;margin-bottom:12px}.steps{margin-top:12px}.steps li{padding:5px 0;font-size:.8125rem}.build-model,.shed-model{height:calc(100svh - 64px);min-height:260px}.build-model canvas{height:78%}.shed-model canvas{height:70%}.build-model .fine{font-size:.7rem;line-height:1.4}.model-caption{font-size:.7rem;padding-top:8px}}
@media(max-width:700px) and (max-height:740px){.build-sticky{min-height:0;height:100svh;padding:12px 6%}.build-copy h2{font-size:1.9rem}.build-copy .eyebrow{display:none}.build-copy p{font-size:.8rem;margin-bottom:6px}.steps li{font-size:.7rem;padding:2px 0}.build-model,.shed-model{height:42svh;min-height:160px}.build-model .fine{display:none}.model-caption{font-size:.625rem}.assembly-control label{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.build-sticky{position:relative;height:auto;min-height:0}.build-story,.shed-story{height:auto}}

/* A quiet entry page: the identity and three direct service choices. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home-page{min-height:100svh;background:radial-gradient(ellipse at 50% 0%,#242019 0%,#0c0d0c 62%)}
header.home-masthead{min-height:0;padding:clamp(25px,5vh,60px) 6% 25px;border:0;display:flex;justify-content:center}
header.home-masthead>.brand{flex:0 1 auto;flex-basis:auto;justify-content:center;gap:clamp(18px,3vw,48px);margin:0}
header.home-masthead .brand-mark{width:clamp(110px,16vw,230px);height:clamp(110px,16vw,230px)}
header.home-masthead .brand-type{font-size:clamp(2rem,5.7vw,6.4rem);white-space:nowrap;letter-spacing:.025em}
header.home-masthead .brand-small{font-size:clamp(.7rem,1.2vw,1.1rem);letter-spacing:.24em;color:var(--cream);margin-top:18px}
.home-main{max-width:1300px;margin:0 auto;padding:12px 6% 25px}
nav.home-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,40px);width:100%}
nav.home-services>a.home-service{display:grid;position:relative;justify-items:center;align-content:center;gap:8px;padding:20px 25px 32px;min-height:clamp(220px,37vh,350px);border:1px solid #66503b;background:#15161288;text-decoration:none;color:var(--copper);transition:border-color .2s,background .2s,transform .2s}
.home-service svg{width:clamp(115px,15vw,210px);height:auto;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.home-service>span:first-of-type{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:.06em;color:var(--cream)}
.home-service .home-arrow{position:absolute;right:18px;bottom:16px;font-size:1.4rem}
nav.home-services>a.home-service:hover{background:#30271d;border-color:var(--copper);transform:translateY(-4px)}
.home-location{text-align:center;color:var(--muted);font-size:.65rem;letter-spacing:.2em;margin:28px 0 0}
@media(max-width:700px){header.home-masthead{padding:24px 6% 20px}header.home-masthead>.brand{flex-direction:column;gap:14px}header.home-masthead .brand-mark{width:130px;height:130px}header.home-masthead .brand-type{font-size:8vw;text-align:center}header.home-masthead .brand-small{font-size:.65rem;margin-top:12px}.home-main{padding:10px 6% 25px}nav.home-services{gap:10px}nav.home-services>a.home-service{min-height:170px;padding:14px 4px 27px;gap:5px}.home-service svg{width:85%;max-width:110px;stroke-width:3.5}.home-service>span:first-of-type{font-size:1.25rem}.home-service .home-arrow{font-size:1rem;right:9px;bottom:4px}.home-location{font-size:.6rem;margin-top:24px}}

.deck-page .build-model canvas{height:64%}.deck-extras{visibility:hidden;opacity:0;min-height:115px;padding:10px 0 0}.deck-extras.is-ready{visibility:visible;opacity:1}.extras-title{font-size:.65rem;letter-spacing:.14em;color:var(--muted)}.extras-buttons{display:flex;gap:10px;margin-top:5px}.extras-buttons button{border:1px solid var(--copper-dark);background:#171b16;color:var(--cream);padding:8px 18px;min-height:42px;font-size:.8125rem}.extras-buttons button[aria-pressed=true]{background:var(--copper);color:var(--black)}.deck-extras fieldset{display:flex;gap:18px;margin:8px 0 0;align-items:center}.deck-extras legend{font-size:.7rem;margin-bottom:4px}.deck-extras label{display:flex;align-items:center;gap:7px;font-size:.75rem}.deck-extras input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--copper)}
@media(max-width:700px){.deck-page .build-model{height:400px}.deck-page .build-model canvas{height:53%}.deck-page .build-model .fine{display:none}.deck-extras{min-height:110px}.extras-buttons button{padding:7px 14px}.deck-page .build-copy p{font-size:.875rem}}
@media(max-width:700px) and (max-height:740px){.deck-page .build-model{height:52svh}.deck-page .build-model canvas{height:49%}.deck-page .build-copy p{display:none}.deck-page .build-copy h2{font-size:1.8rem;margin-bottom:6px}.deck-page .build-copy .steps{gap:0 10px}.deck-extras{padding-top:5px}.deck-extras fieldset{margin-top:4px}}

/* Keep the home service choices visible, including after the entrance overlay. */
.home-page .home-services{visibility:visible;opacity:1}.home-page .home-services>a.home-service{display:grid;visibility:visible;opacity:1}
.extras-buttons{gap:8px}.extras-buttons button{padding-inline:12px}
@media(max-width:700px){header.photo-banner nav{gap:10px 18px}.extras-buttons{gap:6px}.extras-buttons button{padding:7px 9px;font-size:.75rem}}
@media(max-width:360px){.extras-buttons button{padding-inline:6px;font-size:.7rem}}

.extras-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.extras-buttons button{padding-inline:6px;white-space:nowrap;font-size:.75rem}
@media(max-width:700px){.extras-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.deck-extras{min-height:160px}.deck-page .build-model{height:445px}.deck-page .build-model canvas{height:47%}}
@media(max-width:700px) and (max-height:740px){.deck-page .build-model{height:60svh;min-height:330px}.deck-page .build-model canvas{height:42%}.extras-buttons button{min-height:36px;padding-block:5px}}

.populate-inquiry{margin-top:10px;min-height:38px;padding:8px 15px;font-size:.75rem}.deck-extras{min-height:160px}.deck-page .build-model canvas{height:56%}.deck-page .model-disclaimer{display:block;font-size:.7rem;line-height:1.4;margin-top:8px;max-width:none}#inquiryStatus:empty{display:none}#inquiryConcept{font-size:.85rem;line-height:1.6;border-color:var(--copper-dark);background:#1d211b}
@media(max-width:700px){.deck-extras{min-height:205px}.deck-page .build-model{height:495px}.deck-page .build-model canvas{height:44%}.deck-page .model-disclaimer{display:block;font-size:.625rem;line-height:1.3}.populate-inquiry{margin-top:7px;min-height:34px;padding:7px 10px}}
@media(max-width:700px) and (max-height:740px){.deck-page .build-model{height:66svh;min-height:360px}.deck-page .build-model canvas{height:35%}.deck-page .build-copy h2{font-size:1.5rem}.deck-page .steps li{font-size:.65rem}}

/* Every accessory owns its options; the inquiry action sits separately below. */
.deck-page .build-model{height:calc(100svh - 110px);max-height:760px;min-height:510px;display:flex;flex-direction:column}.deck-page .build-model canvas{flex:1;min-height:180px;height:auto}.deck-extras{min-height:0;flex:none;max-height:38svh;overflow:auto;overscroll-behavior:contain;padding-right:5px}.extras-buttons{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}.extra-group>button{width:100%;white-space:normal;min-height:44px}.extra-group{min-width:0}.extra-options,.extra-group fieldset{padding:10px;background:#191e18;border:1px solid var(--line);border-top:0;margin:0}.extra-group fieldset{display:block}.extra-group legend{padding-top:6px}.extra-group fieldset label{margin:5px 0}.extra-options label{font-size:.7rem;margin-top:8px}.extra-options label:first-child{margin-top:0}.extra-options select{font-size:.75rem;padding:7px;margin-top:4px}.extra-options p{font-size:.7rem;color:var(--muted);margin:0}.populate-inquiry{display:block;margin-top:24px;margin-bottom:8px}.deck-page .model-disclaimer{flex:none;margin:8px 0 0}
@media(max-width:700px){.deck-page .build-model{height:63svh;min-height:350px;max-height:none}.deck-page .build-model canvas{min-height:115px;height:auto}.deck-extras{max-height:34svh;min-height:0}.extras-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.populate-inquiry{margin-top:22px}.deck-page .build-copy p{display:none}.deck-page .build-copy h2{font-size:1.7rem}.deck-page .steps li{font-size:.7rem}}

/* The inquiry action remains below the scrollable accessory choices. */
.deck-page .deck-extras{max-height:none;overflow:visible;padding-right:0}.deck-page .extras-buttons{max-height:28svh;overflow:auto;overscroll-behavior:contain;padding-right:5px}.deck-page .populate-inquiry{margin-top:20px;max-width:100%;white-space:normal;text-align:center}
@media(max-width:700px){.deck-page .extras-buttons{max-height:22svh}.deck-page .populate-inquiry{margin-top:18px;font-size:.7rem}}

.deck-page .build-model .populate-status{display:block;min-height:1.4em;margin:4px 0 0;font-size:.65rem;line-height:1.4;color:var(--copper)}

/* One continuous deck builder: a single canvas and two ordered control groups. */
.deck-page .unified-story{height:2800px}.deck-page .unified-builder{display:grid;grid-template-columns:minmax(280px,34%) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:18px 35px;height:100svh;min-height:0;max-height:none;padding:30px 5%;align-items:start}
.unified-heading{grid-column:1;grid-row:1}.unified-heading .eyebrow{margin-bottom:8px}.unified-heading h2{font-size:clamp(2rem,3.5vw,3.5rem);margin-bottom:10px}.unified-heading p{font-size:.85rem;color:var(--muted);margin:0}
.unified-view{grid-column:2;grid-row:1/3;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse,#252b2280,transparent 70%)}
#buildCanvas{width:100%;height:100%;min-height:0;flex:1;touch-action:pan-y;cursor:grab}.unified-view .model-caption{flex:none}.unified-rotation{display:flex;align-items:center;gap:14px;margin-top:12px}.unified-rotation label{font-size:.75rem}.unified-rotation input{margin:0;flex:1;min-width:0}.unified-rotation button{background:none;border:0;border-bottom:1px solid var(--copper-dark);padding:8px;color:var(--cream);font-size:.75rem;white-space:nowrap}.unified-view .model-disclaimer{font-size:.7rem;margin:10px 0 0;flex:none}
.unified-controls{grid-column:1;grid-row:2;min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain;padding-right:6px}.unified-controls .assembly-steps{display:block}.is-complete .assembly-steps{display:none}.deck-page .unified-controls .deck-extras{display:none;min-height:0;max-height:none;overflow:visible;visibility:visible;opacity:1}.deck-page .unified-controls .deck-extras.is-ready{display:block}
.builder-group{border:1px solid var(--line);margin-bottom:12px;background:#151a14}.builder-group>summary{padding:15px;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--cream)}.builder-group[open]>summary{color:var(--copper);border-bottom:1px solid var(--line)}.builder-group-content{padding:16px}.builder-group fieldset{margin-bottom:16px}.builder-group legend{font-size:.8rem}.builder-group label{font-size:.75rem}.builder-group input[type=range]{margin:6px 0 12px}.builder-group .shape-options{gap:10px}.builder-group .shape{padding:10px}.builder-group .shape-icon{height:19px;width:30px;margin-bottom:6px}.builder-group .area{margin-top:14px;padding-top:12px}.builder-group .area strong{font-size:2rem}.builder-group .fine{font-size:.7rem;margin:12px 0 0}.builder-group select{font-size:.8rem;padding:9px}
.deck-page .unified-controls .extras-buttons{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible;padding:0;gap:10px}.unified-controls .extra-group fieldset{margin-bottom:0}.unified-controls .extra-group legend{font-size:.7rem}.builder-action{padding-top:10px;margin-top:8px;border-top:1px solid var(--line)}.deck-page .builder-action .populate-inquiry{width:100%;margin:10px 0}.builder-action .populate-status:empty{display:none}
@media(max-width:700px){.deck-page .unified-builder{grid-template-columns:1fr;grid-template-rows:auto minmax(170px,36svh) minmax(0,1fr);padding:16px 6%;gap:10px}.unified-heading{grid-row:1;grid-column:1}.unified-heading .eyebrow{display:none}.unified-heading h2{font-size:1.8rem;margin-bottom:4px}.unified-heading h2 br{display:none}.unified-heading p{font-size:.75rem}.unified-view{grid-row:2;grid-column:1}.unified-view .model-caption{font-size:.65rem;padding-top:7px}.unified-view .model-disclaimer{font-size:.6rem;margin-top:4px}.unified-rotation{margin-top:3px;gap:8px}.unified-rotation label,.unified-rotation button{font-size:.65rem}.unified-controls{grid-row:3;grid-column:1}.builder-group>summary{padding:12px}.builder-group-content{padding:12px}.unified-controls .steps{display:flex;flex-wrap:wrap;gap:4px 10px}.unified-controls .steps li{font-size:.7rem;padding:3px 0}.deck-page .unified-story{height:2300px}}
@media(prefers-reduced-motion:reduce){.deck-page .unified-story{height:auto}.deck-page .unified-builder{position:relative}}

/* Touch-friendly deck controls: one scroll area, with tabs and action always visible. */
.deck-page .unified-controls{overflow:hidden;padding:0;height:100%}
.deck-page .unified-controls .deck-extras.is-ready{display:flex;flex-direction:column;height:100%;padding:0;gap:12px}
.builder-tabs{display:flex;flex:none;gap:4px;padding:4px;background:#20261f;border:1px solid var(--line);border-radius:10px}
.builder-tabs button{flex:1;min-height:44px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:.875rem;font-weight:600;padding:8px}
.builder-tabs button[aria-selected=true]{background:var(--copper);color:var(--black)}
.builder-panels{overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:var(--copper-dark) transparent;padding-right:4px;overscroll-behavior-y:auto}
.builder-panels .builder-group{border:0;margin:0;background:transparent}
.builder-panels .builder-group-content{padding:4px 0 12px}
.builder-panels .builder-group fieldset{display:block;margin:0 0 18px}
.builder-panels .builder-group legend{font-size:.875rem;margin-bottom:10px}
.builder-panels .builder-group label{display:block;font-size:.875rem}
.builder-panels output{font-variant-numeric:tabular-nums;color:var(--cream)}
.builder-panels input[type=range]{min-height:36px;margin:2px 0 10px}
.builder-panels .shape-options{gap:8px}
.builder-panels .shape{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:8px;font-size:.875rem}
.builder-panels .shape-icon{margin:0;width:24px;height:18px;flex:none}
.builder-panels select{font-size:16px;min-height:44px;border-radius:6px;padding:10px;margin-top:6px}
.builder-panels .area{padding-top:10px;margin-top:14px}
.builder-panels .fine{font-size:.75rem;line-height:1.5}
.deck-page .unified-controls .extras-buttons{grid-template-columns:1fr;gap:8px;margin:0}
.builder-panels .extra-group{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.builder-panels .extra-group>button{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;min-height:48px;padding:12px 14px;font-size:.875rem;border:0}
.builder-panels .extra-group>button:after{content:'+';font-size:1.25rem;line-height:1;flex:none}
.builder-panels .extra-group>button[aria-pressed=true]:after{content:'✓'}
.builder-panels .extra-options,.builder-panels .extra-group fieldset{border:0;padding:12px 14px;margin:0;background:#191e18}
.builder-panels .extra-group fieldset label{display:flex;align-items:center;min-height:44px;margin:0;gap:10px}
.builder-panels .extra-group input[type=radio]{width:20px;height:20px}
.builder-panels .extra-options p{font-size:.8rem;line-height:1.5}
.builder-action{flex:none;margin:0;padding:10px 0 0}
.deck-page .builder-action .populate-inquiry{min-height:48px;margin:0;font-size:.875rem;border-radius:8px}
.unified-builder button:focus-visible,.unified-builder select:focus-visible,.unified-builder input:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
@media(max-width:700px){
 .deck-page .unified-builder{grid-template-rows:auto minmax(155px,29svh) minmax(0,1fr);padding:12px 16px max(12px,env(safe-area-inset-bottom));gap:10px}
 .unified-heading h2{font-size:1.65rem;margin:0}
 .unified-heading p{font-size:.75rem;margin-top:3px}
 .unified-view .model-caption{font-size:.65rem;letter-spacing:0;gap:8px}
 .unified-view .model-disclaimer{font-size:.65rem;line-height:1.3;margin:2px 0 0}
 .unified-rotation{gap:10px;margin:0}
 .unified-rotation input{min-height:32px}
 .unified-rotation label,.unified-rotation button{font-size:.75rem}
 .unified-rotation button{min-height:36px;padding:6px}
 .deck-page .unified-controls .deck-extras.is-ready{gap:8px}
 .builder-tabs button{font-size:.8125rem}
 .builder-panels .area strong{font-size:1.7rem}
 .builder-action{padding-top:8px}
}
@media(max-height:500px) and (max-width:700px){
 .deck-page .unified-builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:8px 14px}
 .unified-heading{grid-column:1;grid-row:1}.unified-view{grid-column:1;grid-row:2}.unified-controls{grid-column:2;grid-row:1/3}
}
@media(prefers-reduced-motion:reduce){.deck-page .unified-builder{height:auto;min-height:100svh}.unified-view{min-height:340px}.deck-page .unified-controls .deck-extras.is-ready{height:auto}.builder-panels{max-height:55svh}}

/* Settings fold independently of whether an extra is included in the deck. */
.builder-panels .extra-group>.extra-options{padding:0}
.extra-settings>summary{cursor:pointer;min-height:44px;padding:12px 14px;font-size:.875rem;color:var(--cream)}
.extra-settings>summary::marker{color:var(--copper)}
.extra-settings>summary:focus-visible{outline:2px solid var(--cream);outline-offset:-3px}
.extra-settings-body{padding:0 14px 14px}
.builder-panels .extra-settings-body fieldset{padding:0}
.builder-action .populate-status{font-size:.75rem;line-height:1.4;color:var(--copper);margin:8px 0 0}

/* Let vertical gestures chain to the page, including over the unbuilt controls. */
.deck-page .unified-controls,.deck-page .deck-extras,.deck-page .builder-panels,.deck-page .extras-buttons{overscroll-behavior-y:auto}
.deck-page .unified-controls{touch-action:pan-y}
.deck-page .unified-controls:not(:has(.is-ready)){overflow:visible}
.builder-panels .extra-settings .remove-extra{display:block;width:calc(100% - 28px);margin:0 14px 14px;min-height:44px;border:1px solid var(--copper-dark);border-radius:6px;background:transparent;color:var(--muted);font-size:.8125rem;white-space:normal}

/* A completed choice folds the entire settings area back to its selected button. */
.extra-settings>summary{display:none}
.extra-settings-body{padding-top:12px}
.final-choices{display:flex;gap:8px;margin-top:8px}
.builder-panels .final-choices button{flex:1;min-height:44px;border-radius:6px;white-space:normal;font-size:.875rem}
.extra-settings-body>span,.extra-settings-body #wireOptions>span{font-size:.875rem}

/* The opening identity: the existing copper mark. */
.intro-identity{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:100%}
.intro-emblem{position:relative;width:clamp(190px,25vw,300px);height:clamp(150px,21vw,248px);display:grid;place-items:center}
.intro-emblem .intro-logo{position:relative;width:62%;height:78%;animation:letter-lay .8s .12s both;filter:drop-shadow(0 3px 9px #080908)}
.brand-intro .assembly-title{font-size:clamp(2.5rem,8vw,6.5rem)}
@media(max-height:500px){.intro-identity{gap:6px}.intro-emblem{width:155px;height:125px}.brand-intro .assembly-title{font-size:clamp(2rem,7vh,3.5rem)}}

/* Persistent compact navigation; the large photographic masthead stays in the page. */
:root{--site-bar-height:112px}
body{padding-top:var(--site-bar-height)}
html{scroll-padding-top:calc(var(--site-bar-height) + 16px)}
#top{position:absolute;top:0}
.site-bar{position:fixed;inset:0 0 auto;z-index:80;height:var(--site-bar-height);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 5%;border-bottom:1px solid #755035;background:linear-gradient(#0c0d0cdc,#0c0d0ce8),url('property-banner.webp') center 48%/cover no-repeat;box-shadow:0 4px 20px #0004}
.site-bar-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.site-bar-brand .brand-mark{width:48px;height:48px}
.site-bar-name{font-family:var(--display);font-size:1.25rem;font-weight:700;line-height:1.1;letter-spacing:.045em;color:var(--copper)}
.site-bar-name small{display:block;font-family:'DM Sans',sans-serif;font-size:.625rem;letter-spacing:.13em;margin-top:5px;color:var(--cream)}
.site-bar nav{display:flex;gap:24px;align-items:center}
.site-bar nav a{display:flex;align-items:center;min-height:44px;padding:6px 4px;font-size:.875rem;color:var(--cream);border-bottom:2px solid transparent}
.site-bar nav a[aria-current=page]{color:var(--copper);border-color:var(--copper)}
.site-bar nav a:hover{color:var(--copper)}
.build-sticky,.deck-page .unified-builder{top:var(--site-bar-height);height:calc(100svh - var(--site-bar-height));min-height:0}
.info-content{max-width:760px;margin:auto;padding:12svh 7%}
.info-content>.brand-mark{width:110px;height:110px;margin-bottom:28px}
.info-content p{color:var(--muted)}
@media(max-width:700px){
 :root{--site-bar-height:112px}
 .site-bar{padding:6px 12px;gap:8px}
 .site-bar-brand .brand-mark{width:40px;height:44px}
 .site-bar-name{display:none}
 .site-bar nav{gap:clamp(4px,2vw,14px);justify-content:flex-end;flex:1}
 .site-bar nav a{font-size:.875rem;padding:5px 4px;min-height:44px}
 .deck-page .unified-builder{grid-template-rows:auto minmax(145px,26svh) minmax(0,1fr)}
}
@media(max-height:500px) and (max-width:700px){.deck-page .unified-builder{grid-template-rows:auto minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.build-sticky,.deck-page .unified-builder{top:0;height:auto}}

.builder-panels .extra-group>.stairs-position{padding:12px 14px}.stairs-position output{float:none;display:block;font-size:.75rem;margin-top:4px}.stairs-position input[type=range]{margin:6px 0;min-height:44px}

/* Frame choice is available before the scroll assembly begins. */
.deck-page .unified-controls{display:flex;flex-direction:column;gap:10px}
.frame-choice{flex:none}
.frame-choice label{font-size:.875rem}
.frame-choice select{font-size:16px;min-height:44px;padding:9px 10px;border-radius:6px;margin-top:4px}
.frame-choice .fine{font-size:.75rem;line-height:1.4;margin:6px 0 0}
.deck-page .unified-controls .deck-extras.is-ready{flex:1;min-height:0;height:auto}
.unified-controls .assembly-steps{min-height:0;overflow:auto}

.frame-options{margin:0}
.frame-options legend{font-size:.875rem;margin-bottom:8px}
.frame-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.frame-buttons button{min-height:70px;padding:10px 8px;border:1px solid var(--line);border-radius:8px;background:#171b16;color:var(--cream);text-align:left}
.frame-buttons strong{display:block;font-size:1rem}
.frame-buttons span{display:block;font-size:.75rem;line-height:1.35;margin-top:3px;color:var(--muted)}
.frame-buttons button[aria-pressed=true]{border-color:var(--copper);background:#32261d}
.frame-buttons button[aria-pressed=true] strong{color:var(--copper)}

/* More room for the model, with readable instructions and accessible options below. */
.unified-heading #builderHint{font-size:1.0625rem;line-height:1.45;color:var(--cream);font-weight:500}
@media(max-width:700px){
 .deck-page .unified-builder{grid-template-rows:auto minmax(185px,32svh) minmax(0,1fr);padding-inline:12px}
 .unified-heading #builderHint{font-size:1rem;line-height:1.4;margin-top:6px}
}
@media(max-width:700px) and (max-height:700px){.deck-page .unified-builder{grid-template-rows:auto minmax(155px,28svh) minmax(0,1fr)}}
@media(max-width:700px) and (max-height:500px){.deck-page .unified-builder{grid-template-rows:auto minmax(0,1fr)}}

/* Opening copy and a static regional count map share the first content section. */
.deck-page .hero{grid-template-columns:1fr 1fr}
.intro-map{margin:0;padding:40px 6%;display:flex;flex-direction:column;justify-content:center;min-width:0;background:#121914}
.intro-map .eyebrow{margin-bottom:18px}
.intro-map .map-wrap{width:100%;overflow:hidden}
.intro-map .map-wrap svg{display:block;width:100%;height:auto;max-height:610px}
.intro-map figcaption{font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:14px}
.map-count{pointer-events:none}
.map-count circle{fill:#191d18;stroke:var(--copper);stroke-width:2}
.map-count text{font-family:'DM Sans',Arial,sans-serif;font-size:20px;fill:var(--cream)}
.map-count .count{text-anchor:middle;fill:var(--copper);font-size:19px;font-weight:700}
@media(max-width:700px){.deck-page .hero{grid-template-columns:1fr}.intro-map{padding:24px 5% 30px}.intro-map .eyebrow{font-size:.75rem}.intro-map .map-note{font-size:.65rem}.map-count text{font-size:22px}.map-count .count{font-size:20px}}

/* A discreet row of tools, suppliers and industry resources at the foot of every page. */
footer .footer-brands{grid-column:1/-1;width:100%;border-top:1px solid var(--line);padding-top:24px;margin-top:4px}
.footer-brands h2{font-family:'DM Sans',Arial,sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.16em;line-height:1.4;color:var(--muted);margin:0 0 16px;text-align:center}
.footer-brand-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;max-width:1000px;margin:0 auto;padding:0;list-style:none}
.footer-brand-list a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:10px 12px;background:#fff;border-radius:3px;text-decoration:none}
.footer-brand-list img{display:block;width:100%;max-width:125px;height:34px;object-fit:contain}
footer.brands-only{display:block;padding:22px 6% 24px;margin-top:18px}
footer.brands-only .footer-brands{margin:0}
@media(max-width:700px){.footer-brand-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.footer-brand-list a{min-height:52px;padding:8px}.footer-brand-list img{height:30px}.footer-brands h2{font-size:.6875rem}footer.brands-only{padding:18px 6% 24px}}

.footer-brand-list a.milwaukee-logo-tile{background:#c8102e}

.footer-brand-list a.bunnings-logo-tile{background:#0d5257}

/* Small, unboxed brand marks, reserved for the content-page footers. */
footer .footer-brands{border:0;padding-top:12px;margin-top:0}
.footer-brands h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.footer-brand-list{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 24px;max-width:760px}
.footer-brand-list li{flex:0 0 78px}
.footer-brand-list a,.footer-brand-list a.milwaukee-logo-tile,.footer-brand-list a.bunnings-logo-tile{padding:0;min-height:44px;background:transparent;border:0;border-radius:0;box-shadow:none}
.footer-brand-list img{width:78px;max-width:100%;height:23px;object-fit:contain}
@media(max-width:700px){.footer-brand-list{gap:2px 14px}.footer-brand-list li{flex-basis:65px}.footer-brand-list img{width:65px;height:20px}}

/* Desktop: the build on the left, all design controls on the right. */
@media(min-width:701px){
 .deck-page .unified-builder{grid-template-columns:minmax(0,1fr) minmax(300px,38%);grid-template-rows:auto minmax(0,1fr);height:auto;min-height:calc(100svh - var(--site-bar-height));padding:20px 5%;gap:14px 30px}
 .deck-page .unified-heading{grid-column:1;grid-row:1}
 .deck-page .unified-heading h2{font-size:clamp(1.8rem,2.8vw,2.8rem);margin:0 0 6px}
 .deck-page .unified-heading h2 br{display:none}
 .deck-page .unified-heading h2 em:before{content:' '}
 .deck-page .unified-view{grid-column:1;grid-row:2;height:calc(100svh - var(--site-bar-height) - 175px);min-height:280px;align-self:start}
 .deck-page .unified-controls{grid-column:2;grid-row:1/3;height:auto;min-height:calc(100svh - var(--site-bar-height) - 40px);max-height:none;overflow:visible}
 .deck-page .unified-controls .deck-extras.is-ready{height:auto;flex:1;gap:12px}
 .deck-page .builder-panels{flex:none;overflow:visible;max-height:none;padding:0}
 .deck-page .unified-controls .extras-buttons{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .deck-page .builder-panels .extra-group:has(>.extra-options:not([hidden])){grid-column:1/-1}
 .deck-page .builder-panels .extra-group>button{height:auto;white-space:normal}
 .deck-page .builder-action{margin-top:auto;padding-top:16px}
 .deck-page .builder-panels .builder-group fieldset{margin-bottom:12px}
 .deck-page .builder-panels .builder-group legend{margin-bottom:6px}
 .deck-page .builder-panels .builder-group-content{padding-bottom:0}
}

/* Service pages: practical landscaping, clearer shed choices and a personal introduction. */
.detail-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.detail-cards article{border-top:1px solid var(--copper-dark);padding-top:24px;min-width:0}
.detail-number{display:block;font-family:var(--display);font-size:1.25rem;color:var(--copper);margin-bottom:24px}
.detail-cards h3{font-size:clamp(1.6rem,2.5vw,2.3rem);margin-bottom:16px}
.detail-cards p{color:var(--muted);margin-bottom:0;max-width:38ch}
.service-details{background:#121611}
.project-addons{border:1px solid var(--copper-dark);margin:10px 0 24px;padding:18px;min-width:0;scroll-margin-top:calc(var(--site-bar-height) + 24px)}
.project-addons legend{padding:0 8px;color:var(--copper);font-size:.875rem;font-weight:600}
.quote .project-addons p{font-size:.875rem;margin:0 0 16px;max-width:none}
.quote .project-addons label{margin-bottom:0}
.project-addons select{margin-top:8px}
.landscape-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:6%;align-items:center}
.landscape-intro h1{font-size:clamp(3rem,5.6vw,6.2rem)}
.landscape-intro p{max-width:53ch;color:var(--muted)}
p.lead{font-size:clamp(1.1rem,1.5vw,1.35rem);color:var(--cream);line-height:1.6}
.landscape-note{border:1px solid var(--line);border-top:3px solid var(--copper);padding:40px;background:#171d17}
.landscape-note .brand-mark{width:100px;height:95px;margin-bottom:32px}
.landscape-note h2{font-size:clamp(2rem,3.3vw,3.6rem)}
.landscape-note p{font-size:.875rem;margin-bottom:0}
.pergola-mention{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid var(--line);background:#201d17}
.pergola-mention p{max-width:58ch;margin-bottom:0;color:var(--muted)}
.pergola-mention .button{flex:none}
.landscape-choices{border:0;padding:0;margin:0 0 24px}
.landscape-choices legend{margin-bottom:12px;font-size:1rem;color:var(--cream)}
.quote .landscape-choices label{display:flex;align-items:center;gap:12px;min-height:48px;margin:0;padding:8px 0}
.landscape-choices input[type=checkbox]{width:21px;height:21px;flex:none;padding:0;margin:0;accent-color:var(--copper)}
.about-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:9%;align-items:center}
.about-intro h1{font-size:clamp(3.4rem,6vw,6.5rem)}
.about-intro p:not(.founder-name){max-width:54ch;color:var(--muted)}
.about-intro p.lead{color:var(--cream)}
.about-identity{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 30%,#34291e,#11150f 75%);padding:60px 20px}
.about-identity .brand-mark{width:min(240px,80%);height:230px;margin-bottom:42px}
.about-identity .eyebrow{font-size:.65rem;margin-bottom:12px}
.founder-name{font-family:var(--display);font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.1;color:var(--cream);margin:0 0 10px}
.founder-role{color:var(--muted);font-size:.875rem}
.about-links{display:flex;justify-content:space-between;align-items:center;gap:32px}
.about-links h2{margin-bottom:0}.about-links>div{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:900px){
 .landscape-intro,.about-intro{gap:32px;grid-template-columns:1fr 1fr}
 .landscape-note{padding:26px}.about-identity{padding:40px 16px}
 .detail-cards{gap:24px}.pergola-mention,.about-links{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
 .site-bar nav{gap:clamp(2px,1.3vw,10px)}
 .site-bar nav a{font-size:.8125rem;padding-inline:3px}
 .home-service>span:first-of-type{font-size:clamp(1rem,4.2vw,1.25rem);letter-spacing:.02em}
 .landscape-intro,.about-intro{grid-template-columns:1fr}
 .landscape-intro h1{font-size:clamp(2.4rem,9vw,3.7rem)}
 .landscape-note{padding:26px}.landscape-note h2{font-size:2.4rem}
 .landscape-note .brand-mark{width:65px;height:65px;margin-bottom:20px}
 .detail-cards{grid-template-columns:1fr;gap:30px}.detail-cards h3{font-size:2rem}.detail-number{margin-bottom:12px}
 .detail-cards p{max-width:none}.project-addons{padding:16px 12px}
 .about-identity{order:2;padding:32px 16px}.about-identity .brand-mark{width:140px;height:140px;margin-bottom:24px}
 .about-links>div{width:100%;display:grid;grid-template-columns:1fr}
}

/* Launch refinement: preserve the identity and give the three services equal weight. */
.site-bar nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;width:min(420px,50vw)}.site-bar nav a{grid-column:span 2;font-size:.8125rem;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--copper-dark);border-radius:4px;background:#151a1488}.site-bar nav a:nth-child(1),.site-bar nav a:nth-child(2){grid-column:span 3}.site-bar nav a[aria-current=page]{background:var(--copper);border-color:var(--copper);color:var(--black)}.site-bar nav a:hover{background:#30271d;color:var(--cream)}.footer-links{display:grid;gap:8px;font-size:.8125rem}
header.photo-banner{min-height:clamp(330px,55svh,680px)}
header.photo-banner>.button{position:relative;z-index:1}
.launch-home{background:var(--black)}.launch-home .home-masthead{background:linear-gradient(#080b0990,#080b09da),url('property-banner.webp') center/cover;padding-block:45px;min-height:310px}
.launch-home .home-masthead .brand{position:relative}.launch-home .home-masthead .brand-type{font-size:clamp(2rem,5vw,5rem)}
.launch-home .home-masthead .brand-mark{width:clamp(100px,14vw,190px);height:clamp(100px,14vw,190px)}
.home-intro{max-width:1180px;margin:auto;text-align:center;padding-top:65px;padding-bottom:75px}.home-intro h1{font-size:clamp(3.5rem,7vw,7.4rem)}
.home-intro p{max-width:730px;margin-inline:auto;color:var(--muted)}.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.button.outline{background:transparent;color:var(--cream);border-color:var(--copper-dark)}.button.outline:hover{background:#30271d}
.photo-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-service{background:#151a14;display:flex;flex-direction:column;min-width:0;border-bottom:2px solid var(--copper-dark)}
.photo-service>div{padding:28px;display:flex;flex-direction:column;flex:1}.photo-service h3{font-size:clamp(1.8rem,2.7vw,2.6rem)}.photo-service p{color:var(--muted);font-size:.9375rem}.photo-service .text-link{margin-top:auto}
.service-photo{display:block;aspect-ratio:3/2;overflow:hidden}.service-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s;max-width:none}.service-photo:hover img{transform:scale(1.035)}
.service-photo img{object-position:center}.text-link{font-size:.875rem;color:var(--copper);font-weight:600}.photo-caption{margin:16px 0 0}
.flexibility{background:#181b16}.equal-options{display:grid;grid-template-columns:1fr 1fr;gap:28px}.equal-options article{padding:30px;border:1px solid var(--line);background:#111510}.equal-options h3{font-size:2rem}.equal-options p{color:var(--muted)}
.gallery-teaser{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:center}.gallery-teaser img{width:100%;height:380px;object-fit:cover}
.meet-preview{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;align-items:center;background:#141812}.meet-preview p{color:var(--muted);max-width:56ch}.portrait-space{min-height:460px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid var(--copper-dark);background:radial-gradient(ellipse at 50% 30%,#34291e,#0e120d 75%);padding:30px}.portrait-space .brand-mark{width:200px;height:200px;margin-bottom:35px}.portrait-space>span:not(.brand-mark){font:700 2.6rem var(--display);color:var(--copper)}.portrait-space small{font-size:.75rem;color:var(--muted);text-align:center}.about-full h1{font-size:clamp(3rem,5.5vw,6rem)}
.final-cta{display:flex;align-items:center;justify-content:space-between;gap:30px}.final-cta h2{margin:0}.final-cta .button{flex:none}
.material-note,.backyard-refresh{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;background:#181c16}.material-note p,.backyard-refresh p{color:var(--muted)}.material-note h2{font-size:clamp(2.4rem,3.8vw,4rem)}
.pergola-page .hero h1,.landscape-hero h1{font-size:clamp(3.2rem,5.2vw,5.5rem)}.detail-cards:has(article:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
.local-intro{max-width:1000px}.local-intro p{max-width:650px;color:var(--muted)}.legal-copy{max-width:900px}.legal-copy h1{font-size:clamp(3rem,5vw,5rem)}.legal-copy p{color:var(--muted)}
.contact-page .quote{border-top:0}.enquiry-mount{min-width:0}.enquiry-services{margin:0 0 28px;padding:0;border:0}.enquiry-services legend{font-size:1rem;font-weight:600}.quote .enquiry-services .fine{margin:8px 0 12px}
.quote .enquiry-services label{display:flex;align-items:center;gap:12px;margin:0;padding:10px 12px;min-height:50px;border:1px solid var(--line);border-bottom:0;font-size:.875rem}.quote .enquiry-services label:last-child{border-bottom:1px solid var(--line)}.enquiry-services label:has(:checked){background:#2d251c;border-color:var(--copper-dark)}.enquiry-services input[type=checkbox]{width:20px;height:20px;flex:none;padding:0;margin:0;accent-color:var(--copper)}
.concept-summary{border:1px solid var(--line);padding:14px;margin:0 0 22px}.concept-summary summary{cursor:pointer;font-size:.875rem}.concept-summary textarea{margin-top:12px}.enquiry-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.text-button{padding:8px 0;background:none;border:0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.8125rem;min-height:44px}.form-error{color:#ffc8ad!important;margin-top:20px}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.enquiry-mount input[type=file]{white-space:normal;font-size:.8125rem;max-width:100%;padding:12px 8px}.enquiry-mount button:disabled{opacity:.65;cursor:wait;transform:none}.enquiry-mount .fine{line-height:1.5}
.gallery-intro{max-width:720px;color:var(--muted)}.project-gallery figure{margin:40px 0 0;border:1px solid var(--line)}.project-gallery img{display:block;width:100%;height:auto}.project-gallery figcaption{padding:30px}.project-gallery h2{font-size:2rem;margin:8px 0 16px}.project-gallery p{color:var(--muted);max-width:65ch;margin:0}
@media(max-width:1050px){.site-bar-name{display:none}.photo-service>div{padding:22px}.photo-service-grid{gap:16px}}
@media(max-width:700px){
 :root{--site-bar-height:112px}.site-bar{gap:10px;padding:8px 12px;justify-content:space-between}.site-bar-brand{flex:none}.site-bar-brand .brand-mark{width:38px;height:44px}.site-bar nav{display:grid;position:static;flex:1;width:auto;min-width:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:0;background:none;border:0}.site-bar nav a{grid-column:span 2;justify-content:center;min-width:0;min-height:44px;padding:8px 4px;font-size:.75rem;line-height:1.2;white-space:nowrap}.site-bar nav a:nth-child(1),.site-bar nav a:nth-child(2){grid-column:span 3}
 header.photo-banner{min-height:300px}header.photo-banner>.button{margin:10px auto 0}.launch-home .home-masthead{padding:28px 6%;min-height:280px}.launch-home .home-masthead .brand-type{font-size:8vw}.launch-home .home-masthead .brand-mark{width:120px;height:120px}
 .home-intro{padding:45px 6%}.home-intro h1{font-size:clamp(2.7rem,11vw,4.6rem)}.home-intro p{font-size:.9375rem}.cta-row .button{flex:1;padding-inline:14px}
 .photo-service-grid,.equal-options,.gallery-teaser,.meet-preview,.material-note,.backyard-refresh{grid-template-columns:1fr}.photo-service-grid{gap:26px}.photo-service h3{font-size:2.25rem}.equal-options article{padding:24px}.gallery-teaser img{height:280px}.portrait-space{min-height:300px}.portrait-space .brand-mark{width:135px;height:135px;margin-bottom:24px}.meet-preview{gap:35px}.meet-preview .portrait-space{order:2}.final-cta{align-items:flex-start;flex-direction:column}
 .detail-cards:has(article:nth-child(4)){grid-template-columns:1fr}.pergola-page .hero h1,.landscape-hero h1{font-size:clamp(2.8rem,10.8vw,4.8rem)}.material-note,.backyard-refresh{gap:20px}.material-note h2{font-size:2.6rem}.project-gallery figcaption{padding:20px}.project-gallery h2{font-size:1.8rem}.project-gallery img{min-height:240px;object-fit:cover}.footer-links{gap:12px}
}
.owner-page{padding-top:0}.owner-page header{position:static}.owner-page main{max-width:1200px;margin:auto}.owner-page h1{font-size:clamp(3rem,6vw,5rem)}.inbox-card{padding:28px;margin:24px 0;border:1px solid var(--line);background:var(--surface)}.inbox-card h2{font-size:2rem;margin:14px 0}.inbox-card h3{font-size:1.4rem}.enquiry-text{white-space:pre-wrap;overflow-wrap:anywhere}.inbox-photos{display:flex;gap:16px;flex-wrap:wrap}.inbox-photos a{width:160px;font-size:.75rem;overflow-wrap:anywhere}.inbox-photos img{width:160px;height:120px;object-fit:cover;display:block;margin-bottom:6px}

/* Keep the completed deck beside its extras on phone screens as well. */
@media(max-width:700px){
 .deck-page .unified-builder.is-extras-view{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:10px;padding:12px 10px max(12px,env(safe-area-inset-bottom))}
 .deck-page .is-extras-view .unified-heading{grid-column:1/-1;grid-row:1}
 .deck-page .is-extras-view .unified-view{grid-column:1;grid-row:2;min-height:0;height:100%;align-self:stretch}
 .deck-page .is-extras-view .unified-controls{grid-column:2;grid-row:2;min-width:0;height:100%;min-height:0;gap:0}
 .deck-page .is-extras-view .frame-choice{display:none}
 .deck-page .is-extras-view .deck-extras.is-ready{gap:8px}
 .deck-page .is-extras-view .builder-tabs{gap:2px;padding:3px}
 .deck-page .is-extras-view .builder-tabs button{min-width:0;padding:6px 3px;font-size:.75rem;line-height:1.25}
 .deck-page .is-extras-view .builder-panels{padding-right:2px}
 .deck-page .is-extras-view .extras-buttons{grid-template-columns:1fr;gap:6px}
 .deck-page .is-extras-view .extra-group>button{min-height:44px;padding:8px;gap:5px;font-size:.75rem;line-height:1.3}
 .deck-page .is-extras-view .extra-group>button:after{font-size:1rem}
 .deck-page .is-extras-view .extra-settings-body{padding:8px}
 .deck-page .is-extras-view .extra-settings-body label,.deck-page .is-extras-view .extra-settings-body>span,.deck-page .is-extras-view #wireOptions>span{font-size:.75rem}
 .deck-page .is-extras-view .final-choices{flex-direction:column;gap:5px}
 .deck-page .is-extras-view .final-choices button{font-size:.75rem;padding:6px}
 .deck-page .is-extras-view .extra-settings .remove-extra{width:calc(100% - 16px);margin:0 8px 8px;padding:6px;font-size:.75rem}
 .deck-page .is-extras-view .stairs-position{padding:8px}
 .deck-page .is-extras-view .stairs-position label,.deck-page .is-extras-view .stairs-position p{font-size:.75rem}
 .deck-page .is-extras-view .builder-action{padding-top:10px}
 .deck-page .is-extras-view .populate-inquiry{font-size:.75rem;padding:10px 6px;line-height:1.3}
 .deck-page .is-extras-view .model-caption{flex-direction:column;gap:3px;line-height:1.35}
 .deck-page .is-extras-view .unified-rotation{display:grid;grid-template-columns:1fr auto;gap:0 6px}
 .deck-page .is-extras-view .unified-rotation input{grid-row:2;grid-column:1/-1;width:100%}
 .deck-page .is-extras-view .unified-rotation button{grid-row:1;grid-column:2;min-height:44px}
 .deck-page .is-extras-view .model-disclaimer{margin-top:8px;font-size:.625rem;line-height:1.4}
}
@media(max-width:380px){
 .site-bar{padding-inline:8px;gap:8px}
 .site-bar-brand .brand-mark{width:32px}
}
/* Short screens and reduced motion still allow every setting to be reached. */
@media(prefers-reduced-motion:reduce) and (max-width:700px){
 .deck-page .unified-builder.is-extras-view{height:auto;min-height:calc(100svh - var(--site-bar-height));grid-template-rows:auto auto}
 .deck-page .is-extras-view .unified-view{height:420px}
 .deck-page .is-extras-view .unified-controls,.deck-page .is-extras-view .deck-extras.is-ready{height:auto}
 .deck-page .is-extras-view .builder-panels{overflow:visible;max-height:none;flex:none}
}

/* Immediate, local feedback when a design is copied into the enquiry. */
.populate-inquiry[data-populated=true],#populatePergola[data-populated=true]{background:#3c5634;border-color:#718566;color:var(--cream)}
.saved-enquiry-link{display:inline-block;color:var(--copper);font-weight:600;min-height:44px;padding-block:10px;margin-right:8px}
#pergolaPopulateStatus:empty{display:none}
#pergolaPopulateStatus{margin:10px 0 0;line-height:1.5}
.concept-summary[open]{border-color:var(--copper-dark);background:#171c15}

/* Landscaping uses its own compact stage so the deck controls stay independent. */
.landscape-build-story{position:relative;height:calc(100svh - var(--site-bar-height) + 850px);background:var(--black)}
.landscape-build-shell{position:sticky;top:var(--site-bar-height);height:calc(100svh - var(--site-bar-height));min-height:520px;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,30%);grid-template-rows:auto auto;gap:18px 36px;align-content:center;padding:28px 5%}
.landscape-build-copy{grid-column:2;grid-row:1;min-width:0}
.landscape-build-copy .eyebrow{font-size:.65rem;letter-spacing:.12em;margin-bottom:12px}
.landscape-build-copy h2{font-size:clamp(2rem,3.2vw,3.6rem);margin-bottom:14px}
.landscape-build-copy p{font-size:.875rem;color:var(--muted);margin-bottom:16px}
.landscape-steps{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.landscape-steps li{font-size:.8125rem;padding:5px 0;color:var(--muted);border-bottom:1px solid var(--line)}
.landscape-steps b{font-weight:500;margin-right:10px;color:var(--copper-dark)}
.landscape-steps .active,.landscape-steps .done{color:var(--cream)}
.landscape-steps .active b,.landscape-steps .done b{color:var(--copper)}
.landscape-build-view{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;align-self:center;min-width:0;height:calc(100svh - var(--site-bar-height) - 90px);min-height:330px;max-height:700px;background:radial-gradient(ellipse at 50% 55%,#26332288,transparent 68%)}
#landscapeCanvas{display:block;width:100%;height:100%;min-height:0;flex:1;touch-action:pan-y}
.landscape-build-view .model-caption{flex:none;font-size:.7rem;gap:10px;line-height:1.4}
.landscape-build-controls{grid-column:2;grid-row:2;min-width:0}
.landscape-build-controls label{font-size:.75rem}
.landscape-build-controls input{min-height:36px;margin:0 0 6px}
.landscape-build-controls .button{width:100%;min-height:44px;padding:10px 14px;font-size:.8125rem;margin-top:6px}
.landscape-build-controls .fine{font-size:.7rem;line-height:1.4;margin:12px 0 0}
@media(max-width:700px){
 .landscape-build-story{height:calc(100svh - var(--site-bar-height) + 700px)}
 .landscape-build-shell{min-height:0;grid-template-columns:1fr;grid-template-rows:auto minmax(150px,1fr) auto;align-content:stretch;gap:10px;padding:16px 14px}
 .landscape-build-copy{grid-column:1;grid-row:1}
 .landscape-build-copy .eyebrow{margin-bottom:4px;font-size:.6rem}
 .landscape-build-copy h2{font-size:1.75rem;margin-bottom:6px}
 .landscape-build-copy h2 br{display:none}.landscape-build-copy h2 em:before{content:' '}
 .landscape-build-copy p{font-size:.75rem;margin-bottom:8px;line-height:1.45}
 .landscape-steps{display:flex;flex-wrap:wrap;gap:3px 12px}.landscape-steps li{font-size:.65rem;padding:2px 0}.landscape-steps b{margin-right:4px}
 .landscape-build-view{grid-column:1;grid-row:2;height:100%;min-height:0;max-height:none}
 .landscape-build-view .model-caption{font-size:.625rem;padding-top:6px}
 .landscape-build-controls{grid-column:1;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:0 16px;align-items:center}
 .landscape-build-controls label[for=landscapeProgress]{grid-column:1;grid-row:1}.landscape-build-controls #landscapeProgress{grid-column:1;grid-row:2}
 .landscape-build-controls label[for=landscapeRotation]{grid-column:2;grid-row:1}.landscape-build-controls #landscapeRotation{grid-column:2;grid-row:2}
 .landscape-build-controls .button{grid-column:1;grid-row:3;margin:0;font-size:.75rem}
 .landscape-build-controls .fine{grid-column:2;grid-row:3;margin:0;font-size:.625rem}
}
@media(max-height:620px) and (min-width:701px){
 .landscape-build-shell{min-height:0;padding-block:12px;gap:8px 24px;grid-template-columns:minmax(0,1fr) minmax(270px,36%)}
 .landscape-build-copy h2{font-size:1.8rem;margin-bottom:6px}.landscape-build-copy .eyebrow,.landscape-build-copy p{display:none}
 .landscape-steps{display:flex;flex-wrap:wrap;gap:2px 10px}.landscape-steps li{font-size:.65rem;padding:2px 0}
 .landscape-build-view{min-height:0;height:calc(100svh - var(--site-bar-height) - 40px)}
}
@media(max-height:620px) and (max-width:700px){
 .landscape-build-shell{padding-block:8px;gap:6px}.landscape-build-copy p,.landscape-build-copy .eyebrow,.landscape-steps{display:none}
 .landscape-build-copy h2{font-size:1.5rem;margin:0}
}
@media(prefers-reduced-motion:reduce){
 .landscape-build-story{height:auto}.landscape-build-shell{position:relative;top:auto;height:auto;min-height:0}
 .landscape-build-view{height:440px}.landscape-build-controls #landscapeReplay{display:none}
}

/* Choose the deck footprint and frame together before the scroll build. */
.deck-setup{padding:64px 5% 40px;background:#141812;border-bottom:1px solid var(--line)}
.deck-setup-heading{max-width:760px;margin-bottom:28px}.deck-setup-heading .eyebrow{margin-bottom:12px}
.deck-setup h2{font-size:clamp(2.2rem,4vw,3.8rem);margin-bottom:16px}.deck-setup-heading p{color:var(--muted);max-width:60ch;margin:0}
.deck-setup-choices{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1000px;align-items:start}
.deck-setup-choices fieldset{margin:0;min-width:0}.deck-setup-choices legend{font-size:1rem;margin-bottom:10px}
.deck-setup .shape{display:flex;align-items:center;justify-content:center;gap:12px;min-height:76px;border-radius:8px;background:#171b16;border-color:var(--line)}
.deck-setup .shape.selected{border-color:var(--copper);background:#32261d;color:var(--copper)}
.deck-setup .shape-icon{margin:0;width:30px;height:22px;flex:none}.deck-setup .frame-buttons button{min-height:76px}
.deck-setup-status{font-size:.875rem;line-height:1.5;color:var(--copper);margin:22px 0 0}
.edit-deck-setup{display:inline-flex;align-items:center;min-height:44px;font-size:.8125rem;color:var(--copper);margin-bottom:6px}
.contact-details{display:grid;gap:8px;margin:28px 0;font-style:normal;max-width:100%}.contact-details>strong{font-size:1.1rem;margin-bottom:4px}
.contact-details a{display:block;width:fit-content;max-width:100%;min-height:44px;color:var(--copper);overflow-wrap:anywhere;padding:6px 0;font-size:1rem;line-height:1.5}
.contact-details a span{display:block;font-size:.75rem;letter-spacing:.07em;color:var(--muted);text-transform:uppercase}
@media(max-width:700px){.deck-setup{padding:36px 5% 28px}.deck-setup-choices{grid-template-columns:1fr;gap:22px}.deck-setup-heading{margin-bottom:24px}.deck-setup h2{font-size:2.25rem}.deck-setup-heading p{font-size:.9375rem}.deck-setup-status{margin-top:18px}}

/* Keep bitmap resolution independent of the grid/flex layout of the preview. */
.deck-page .unified-view{min-width:0;min-height:0}
.deck-canvas-frame{position:relative;flex:1 1 0;min-width:0;min-height:150px;width:100%;overflow:hidden}
.deck-page #buildCanvas{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;flex:none}
@media(max-width:700px){
 .deck-page .unified-builder:not(.is-extras-view){grid-template-rows:auto minmax(270px,36svh) minmax(0,1fr)}
 .deck-page .unified-view{height:100%;min-height:0}
 .deck-page .is-extras-view .deck-canvas-frame{min-height:150px}
}
@media(max-width:700px) and (max-height:600px){
 .deck-page .unified-builder:not(.is-extras-view){grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
 .deck-page .unified-builder:not(.is-extras-view) .unified-heading{grid-column:1/-1;grid-row:1}
 .deck-page .unified-builder:not(.is-extras-view) .unified-view{grid-column:1;grid-row:2}
 .deck-page .unified-builder:not(.is-extras-view) .unified-controls{grid-column:2;grid-row:2}
 .deck-page .deck-canvas-frame{min-height:100px}
 .deck-page .is-extras-view .deck-canvas-frame{min-height:100px}
}
@media(prefers-reduced-motion:reduce){.deck-canvas-frame{flex:none;height:clamp(220px,38svh,440px)}}

/* A short service summary between the main experiences. */
.service-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:center;gap:24px 6%;padding-block:36px;background:#121611;border-block:1px solid var(--line)}
.service-overview .eyebrow{font-size:.6875rem;margin-bottom:8px}
.service-overview h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;margin:0}
.service-overview>p{max-width:65ch;margin:0;color:var(--muted);font-size:.9375rem;line-height:1.6}
@media(max-width:700px){.service-overview{grid-template-columns:1fr;gap:14px;padding:28px 6%}.service-overview h2{font-size:1.9rem}.service-overview>p{font-size:.875rem}}

/* Compact camera controls stay inside the canvas without shrinking the model. */
.deck-zoom-controls{position:absolute;top:8px;right:8px;z-index:1;display:grid;grid-template-columns:44px 40px 44px;align-items:center;border:1px solid var(--line);border-radius:6px;background:#0c0d0ce8;overflow:hidden}
.deck-zoom-label{grid-column:1/-1;text-align:center;font-size:.625rem;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;padding-top:5px;color:var(--muted);pointer-events:none}
.deck-zoom-controls button{min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--cream);font-size:1.5rem;line-height:1;touch-action:manipulation}
.deck-zoom-controls button:hover{color:var(--copper);background:#30271d}.deck-zoom-controls button:disabled{opacity:.35;cursor:default}
.deck-zoom-controls button:focus-visible{outline-offset:-4px}
.deck-zoom-controls output{float:none;text-align:center;font-size:.6875rem;color:var(--cream);font-variant-numeric:tabular-nums}
