:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#12394c;background:#eef8fa}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid #b6d3de;border-radius:10px;background:#fff;color:#123f56;padding:10px 13px;font-weight:650;min-height:44px;text-align:center}button:hover,.button:hover{background:#e8f8fb}.primary{background:#087da2!important;border-color:#087da2!important;color:#fff!important}.primary:hover{background:#06698b!important}.wide{width:100%;margin-top:12px}input,select{border:1px solid #b8d0d9;border-radius:8px;background:#fff;padding:9px;color:#153d51;min-height:42px}input:focus,select:focus,button:focus-visible{outline:3px solid #6fd2e9;outline-offset:1px}input[type=range]{accent-color:#087da2;padding:0;width:100%;min-width:80px}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:#087da2}h1,h2,h3,p{margin-top:0}h1{font-size:1.35rem;margin:0;line-height:1.2}h2{font-size:1.08rem;margin:0 0 5px}h3{font-size:1rem;margin:20px 0 9px}p{line-height:1.45}small,.fine{font-size:.84rem;color:#587480;line-height:1.42}header{background:#062d49;color:#fff;display:flex;align-items:center;gap:12px;padding:9px max(16px,calc((100vw - 1240px)/2));min-height:72px}header img{width:51px;height:51px;border-radius:10px;object-fit:cover}header small{color:#a9e6f3}.header-tag{margin-left:auto;border:1px solid #6fa8bb;border-radius:100px;padding:5px 10px;font-size:.78rem;white-space:nowrap}.workspace,.below{max-width:1272px;margin:auto;padding:16px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr);gap:16px}.viewer,.controls,.card{background:white;border:1px solid #cce3e9;border-radius:17px;box-shadow:0 7px 25px #12394c10;overflow:hidden}.viewer{align-self:start;position:sticky;top:12px}.viewer-title,.scene-foot{padding:12px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center}.viewer-title span,.scene-foot{font-size:.82rem;color:#587480}.scene-foot{min-height:52px}#scene{display:block;width:100%;aspect-ratio:16/9;background:#b9dfe5;touch-action:none;user-select:none}.pill{background:#e6f6f9;border-radius:30px;padding:5px 9px;color:#176283;white-space:nowrap}.controls{padding:0 18px}.step{display:grid;grid-template-columns:27px minmax(0,1fr);gap:10px;padding:17px 0;border-bottom:1px solid #e2eef1}.step:last-child{border:0}.step p{font-size:.91rem;color:#486b7a;margin:4px 0 11px}.num{display:inline-flex;justify-content:center;align-items:center;background:#0a83a8;color:#fff;border-radius:50%;width:25px;height:25px;font-size:.85rem;font-weight:750;flex:none}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row>*{flex:1}.button{display:flex;justify-content:center;align-items:center;position:relative}.button input{position:absolute;width:1px;height:1px;opacity:0}.measure-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.measure-grid label{display:flex;align-items:center;gap:5px;font-size:.85rem}.measure-grid input{width:70px}.field{display:block;margin:13px 0;font-size:.88rem;font-weight:650}.field span{display:flex;align-items:center;gap:7px}.field>input,.field>select{width:100%;display:block;margin-top:5px}.field input[type=number]{width:90px}.field small{display:block;font-weight:400;margin-top:5px}.suggestions{display:flex;gap:7px;flex-wrap:wrap}.suggestions button{font-size:.82rem;min-height:36px;padding:7px 10px}.component-buttons{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.component-buttons button{min-height:38px;padding:4px;font-size:.9rem}.below{padding-top:0;align-items:start}.summary{grid-row:span 2}.card{padding:19px}.section-title,.section-title>div{display:flex;align-items:center;gap:10px}.section-title{justify-content:space-between;margin-bottom:12px}.section-title h2{margin:0;font-size:1.18rem}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.metric{background:#eff8fa;padding:10px;border-radius:9px;font-size:.8rem;color:#507080}.metric strong{display:block;font-size:1.05rem;color:#0c4057;margin-top:3px}.notice{background:#eaf8fb;border-left:3px solid #0b9cc0;padding:10px 12px;border-radius:7px;font-size:.89rem;color:#285567}.notice.warn{background:#fff5e5;border-color:#dc9a32;color:#755523}.notice.bad{background:#fff0ee;border-color:#ce5d50;color:#844038}#plan{display:block;width:100%;background:#f6fbfc;border:1px solid #cfe5eb;border-radius:10px}.plan-details{font-size:.86rem;line-height:1.55;margin-top:10px}.plan-details span{display:inline-block;margin-right:12px}.saved-item{border:1px solid #d1e6eb;border-radius:10px;padding:11px;margin:9px 0;font-size:.87rem}.saved-item .row{margin-top:8px}.saved-item button{min-height:35px;font-size:.8rem;padding:6px}.saved-item label{display:inline-flex;align-items:center;gap:3px;margin:7px 12px 0 0}.saved-item input{min-height:auto}.check{display:flex;align-items:flex-start;gap:9px;margin:12px 0;font-size:.9rem;line-height:1.4}.check input{flex:none}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.contact label{font-size:.84rem;font-weight:650}.contact input,.contact select{display:block;width:100%;margin-top:4px}.submit p{font-size:.9rem}footer{text-align:center;padding:22px;color:#607985;font-size:.82rem}.handle{cursor:grab;touch-action:none}.handle:active{cursor:grabbing}.slidepath{cursor:grab;touch-action:none}@media(max-width:900px){.workspace,.below{grid-template-columns:1fr;padding:12px}.viewer{position:static}.summary{grid-row:auto}.controls{padding:0 16px}}@media(max-width:550px){header{padding:7px 12px}header img{width:42px;height:42px}.header-tag{font-size:.7rem}.viewer-title span{display:none}#scene{aspect-ratio:4/3}.viewer-title,.scene-foot{padding:10px}.card{padding:15px}.metrics{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.measure-grid input{width:62px}}@media print{header,.controls,.save,.submit,footer,.section-title button{display:none!important}.workspace,.below{display:block}.viewer,.card{box-shadow:none;border:0;break-inside:avoid}#scene{max-height:400px}#plan{max-height:400px}}
.header-help{margin-left:auto;background:#0f5470;color:#fff;border-color:#608fa3;font-size:.82rem}.header-tag{margin-left:0}.hint{min-height:24px;width:24px;padding:0;border-radius:50%;font-size:.75rem}.sequence-editor{display:flex;gap:6px;overflow-x:auto;padding:10px 0}.piece{min-width:84px;border:1px solid #c7dfe6;border-radius:10px;padding:6px;background:#f3fafb;text-align:center;flex:none}.piece strong{display:block;font-size:1.1rem}.piece small{display:block;font-size:.67rem}.piece-controls{display:flex;gap:3px;margin-top:5px}.piece-controls button{min-height:28px;padding:1px 5px;flex:1;font-size:.75rem}.piece.locked{background:#e3f2f5;border-color:#80b4c4}.section-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px}.section-picker button{display:flex;align-items:center;gap:8px;text-align:left}.mini-curve{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;background:#d9f2f8;color:#087da2;border-radius:8px;font-size:1.5rem}.three-d{margin-top:16px}.three-d h3{margin:0}.three-d canvas,#review3d{display:block;width:100%;height:260px;background:linear-gradient(#eff9fc,#dceff2);border:1px solid #cce5ea;border-radius:10px;touch-action:none;cursor:grab}.price-breakdown{font-weight:650;font-size:.9rem;margin:12px 0 4px}.review-pack{border:1px solid #cce5eb;border-radius:12px;padding:12px;background:#f9fdfe;margin:14px 0}.review-pack h3{margin:13px 0 6px}.review-visual svg{width:100%;height:auto;border:1px solid #cde4ea;border-radius:8px}.review-pack #reviewDetails{font-size:.88rem;line-height:1.5}.inspiration{max-width:1240px;margin:0 auto 20px}.carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory}.carousel figure{margin:0;min-width:220px;width:26%;scroll-snap-align:start}.carousel img{width:100%;height:145px;object-fit:cover;border-radius:9px}.carousel figcaption{font-size:.85rem;margin-top:4px}dialog{max-width:min(560px,calc(100vw - 30px));border:1px solid #b6d7e1;border-radius:16px;box-shadow:0 20px 60px #062d4960;color:#183f50;padding:20px}dialog::backdrop{background:#082e47a8}dialog li{margin:8px 0;line-height:1.4}dialog details{border-top:1px solid #dbe9ed;padding:10px 0;font-size:.9rem}dialog summary{cursor:pointer;font-weight:650}dialog p{margin:7px 0}#fitDialog .row button{font-size:.82rem}#tip{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10;background:#123f56;color:white;padding:12px 15px;border-radius:10px;box-shadow:0 5px 25px #12394c55;max-width:min(430px,90vw);font-size:.88rem}.outside{stroke:#e56b4a!important}.review-pack canvas{height:230px}@media(max-width:550px){.header-tag{display:none}.header-help{margin-left:auto}.carousel figure{width:75%;min-width:75%}.three-d canvas{height:230px}.section-picker{grid-template-columns:1fr}.measure-grid label{font-size:.82rem}}@media print{.inspiration,dialog,.header-help,.three-d{display:none!important}.review-pack{break-inside:avoid}}

.colour-field{border:0;padding:0;margin:18px 0}.colour-field legend{font-weight:700;margin-bottom:9px}.swatch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:10px}.swatch{background:#fff;border:2px solid #c8dbe1;border-radius:12px;padding:6px;color:#163c50;font:inherit;font-size:14px;text-align:left;cursor:pointer}.swatch img{display:block;width:100%;height:80px;object-fit:cover;border-radius:7px;margin-bottom:6px}.swatch.selected{border-color:#007a9c;box-shadow:0 0 0 2px #7bd2df}.swatch:focus-visible{outline:3px solid #005f86;outline-offset:2px}@media(max-width:460px){.swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.review-sample{display:block;width:175px;max-width:100%;height:115px;object-fit:cover;border-radius:10px;margin:12px 0}

.scene-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;background:#f1fafb}
.scene-actions small{flex:1}
.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:9px}
.swatch{border:0;background:transparent;padding:3px;color:#163c50;font-size:.71rem;text-align:center;min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:start;gap:5px;line-height:1.2}
.swatch img{width:52px;height:52px;object-fit:cover;border-radius:50%;margin:0;border:2px solid #fff;box-shadow:0 2px 7px #12394c35}
.swatch span{display:block;max-width:90px;overflow-wrap:normal}
.swatch.selected{box-shadow:none;color:#005778}
.swatch.selected img{outline:3px solid #007a9c;outline-offset:2px}
.swatch:hover{background:#edf9fb}
#reviewSide{display:block;width:100%;height:210px;background:linear-gradient(#eff9fc,#dceff2);border:1px solid #cce5ea;border-radius:10px}
.review-pack #backToDesign{margin:7px 0}
@media(max-width:550px){.swatch-grid{grid-template-columns:repeat(auto-fill,minmax(69px,1fr))}.swatch img{width:48px;height:48px}.scene-actions button{width:100%}}

.slide-planning-nav{max-width:1272px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#12394c}.slide-planning-copy{display:grid;gap:3px;flex:0 1 350px;font-size:13px;line-height:1.35}.slide-planning-copy strong{font-size:15px}.slide-planning-copy span{color:#587480}.slide-planning-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:1;max-width:730px}.slide-planning-choice{display:grid;align-content:center;gap:2px;min-height:76px;padding:9px 12px;border:1px solid #c5dce1;border-radius:10px;background:#fff;color:#12394c;text-decoration:none;font-size:12px;line-height:1.3}.slide-planning-choice strong{font-size:13px;line-height:1.25}.slide-planning-choice>span:not(.slide-planning-action){color:#587480}.slide-planning-choice.current{background:#effbfc;border-color:#71b6bf}.slide-planning-action{color:#087da2;font-weight:700;margin-top:3px}.slide-planning-choice:not(.current):hover{border-color:#087da2;background:#f6fcfd}@media(max-width:760px){.slide-planning-nav{display:block;padding:11px 12px}.slide-planning-copy{margin-bottom:9px}.slide-planning-choices{max-width:none}.slide-planning-choice{min-height:92px;padding:9px;font-size:11px}.slide-planning-choice strong{font-size:12px}}
/* Crop each official photographed sample to its clear upper face, excluding the dark base. */
.swatch .swatch-sample{display:block;width:52px;height:52px;max-width:none;overflow:hidden;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 7px #12394c35;flex:none}
.swatch .swatch-sample img{display:block;width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;object-fit:cover;transform:scale(2.4);transform-origin:center top}
.swatch.selected .swatch-sample{outline:3px solid #007a9c;outline-offset:2px}
.swatch.selected img{outline:none}
#modelElevation{display:block;width:100%;height:210px;background:#f7fbfc;border:1px solid #cce5ea;border-radius:10px}
.supply-scope{border-top:1px solid #d9e8ec;padding-top:10px;margin-top:14px}
#reviewSupply{background:#edf7f9;padding:10px;border-radius:8px}
@media(max-width:550px){.swatch .swatch-sample{width:48px;height:48px}#modelElevation{height:175px}}
.brochure-link{display:block;width:max-content;max-width:100%;margin-top:11px;color:#087da2;font-size:.86rem;font-weight:650;text-underline-offset:3px}.brochure-link:focus-visible{outline:3px solid #6fd2e9;outline-offset:3px}
@media(max-width:600px){header{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:11px;row-gap:4px;padding:9px 12px}header img{width:42px;height:42px}header h1{font-size:1.08rem;line-height:1.22}.header-help{grid-column:2;justify-self:end;margin-left:0;min-height:36px;padding:6px 12px}.header-tag{display:none}}

.timing{grid-column:1/-1;border:1px solid #cce5eb;border-radius:10px;padding:12px;margin:0}.timing legend{font-weight:700;padding:0 5px}.timing label{display:inline-flex;align-items:center;gap:5px;margin:5px 16px 8px 0}.timing input[type=radio]{min-height:20px;width:20px;accent-color:#087da2}.timing input[type=date]{display:block;max-width:260px}.timing input[type=date][hidden]{display:none}.timing small{display:block;margin-top:6px}.save .row>*{flex:1 1 145px}#mobileDialog .row button,#summerDialog .row button{flex:1 1 180px}#shareDialog .row button{flex:1 1 145px}
/* Simplified customer route. The existing detailed planner remains available on request. */
body:not(.advanced) .workspace,body:not(.advanced) .below .summary,body:not(.advanced) .below .save,body:not(.approved):not(.advanced) .below .submit{display:none}
body.advanced #simpleJourney{display:none}body.advanced #returnSimple{display:block;margin:18px auto 0}
.simple-journey{max-width:940px;margin:22px auto;padding:clamp(18px,3vw,32px)}.simple-journey h2{margin:0}.simple-journey .section-title{align-items:center}.simple-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:20px 0}.simple-inputs label{font-weight:650}.simple-inputs label span{display:flex;align-items:center;gap:7px;margin-top:7px}.simple-inputs input{width:100%;min-width:0;padding:12px;border:1px solid #a9cdd8;border-radius:8px;font:inherit}.simple-stage{background:#f7fcfd;border:1px solid #d4e9ef;border-radius:14px;padding:12px;margin:16px 0}.simple-stage svg{display:block;width:100%;height:auto;max-height:440px}.simple-stage canvas{width:100%;height:400px;display:none}.simple-stage #simpleResult[hidden]{display:none}.simple-stage #simpleSpace[hidden],.simple-stage #simplePlan[hidden]{display:none}.simple-tabs{display:flex;gap:8px;margin:12px 0}.simple-tabs button{flex:1}.simple-journey .row{align-items:center;gap:9px}.simple-journey .row span{font-weight:700}#simpleFacts{line-height:1.55}#simpleStatus{min-height:1.4em}
@media(max-width:650px){.simple-inputs{grid-template-columns:1fr}.simple-journey{margin:12px 9px}.simple-stage canvas{height:290px}.simple-journey .row button{flex:1 1 42%}}
.simple-stage [hidden]{display:none!important}
body:not(.advanced) #reviewProperty,body:not(.advanced) #reviewSide,body:not(.advanced) #reviewPack h3:has(+ #reviewProperty),body:not(.advanced) #reviewPack h3:has(+ #reviewSide){display:none}
body:not(.advanced) #reviewPack{max-width:800px}

/* Evening journey refinement: the measured footprint keeps its proportions in a 16:9 frame. */
.simple-stage{padding:12px;overflow:hidden}.planning-view,#simpleSpace{aspect-ratio:16/9;width:100%;position:relative}.planning-view svg{width:100%;height:100%;max-height:none}.planning-view canvas{width:100%;height:100%;position:absolute;inset:0;touch-action:none;cursor:grab;background:#eff8fb}.simple-stage #simpleSpace{height:auto;max-height:none}.entry-checks{border:1px solid #cce5eb;border-radius:12px;padding:12px;margin:12px 0}.entry-checks legend{font-weight:650;padding:0 6px}.entry-checks .check{font-size:14px}.simple-colours{margin:12px 0}.simple-colours .swatch-grid{display:flex;gap:12px;overflow-x:auto;padding:7px 4px 12px;scroll-snap-type:x proximity}.simple-colours .swatch{flex:0 0 88px;min-width:0;font-size:14px;scroll-snap-align:start}.simple-colours .swatch span{max-width:88px}.simple-colours .fine{margin:4px 0;font-size:14px}.simple-journey.has-design .simple-inputs,.simple-journey.has-design #entryChecks,.simple-journey.has-design #simpleIntro,.simple-journey.has-design #simpleGenerate{display:none}.simple-journey.has-design #simpleResult{display:block}.simple-journey .row>*{min-width:0;flex:1 1 145px}.simple-journey .row span{flex:0 1 auto}.simple-journey .section-title{flex-wrap:wrap}.simple-journey .fine{font-size:14px}#copyRequest{margin-top:10px;width:100%}.review-pack #reviewTabs[hidden]{display:none}body:not(.advanced) .below{display:block;max-width:940px}body:not(.advanced) #review3d{height:auto;aspect-ratio:16/9}body:not(.advanced) #reviewPack #reviewPlan{aspect-ratio:16/9}body:not(.advanced) #reviewPack #reviewPlan svg{height:100%;object-fit:contain}body:not(.advanced) #reviewPack h3{display:none}body:not(.advanced) #reviewPack #reviewSupply{display:block}body:not(.advanced) #reviewDetails{margin:12px 0}body.advanced #reviewTabs{display:none}.mobile-handoff{font-size:14px;padding:10px 12px;background:#edf8fb;border-radius:9px;margin-top:12px}.mobile-handoff .row{margin-top:8px}.mobile-handoff[hidden]{display:none}body:not(.advanced) .simple-help{display:block}body.advanced .simple-help{display:none}
@media(max-width:650px){.simple-stage{padding:7px}.simple-tabs{margin-top:4px}.simple-colours .swatch{flex-basis:80px;font-size:14px}.simple-journey .section-title button{font-size:14px}.simple-journey .row button{font-size:14px;flex:1 1 44%}.simple-journey .row span{flex-basis:100%;order:-1;text-align:center}.simple-journey .notice{font-size:14px}.simple-journey.has-design .simple-stage{margin-top:12px}.simple-journey h2{font-size:20px}}
/* Keep the colour strip's scroll inside the strip, including keyboard focus. */
.simple-colours{min-inline-size:0;min-width:0;width:100%;max-width:100%}.simple-colours .swatch-grid{min-width:0;width:100%;max-width:100%}.simple-stage{overflow:clip}body:not(.advanced) #reviewRotateHint[hidden]{display:none}#mobileNotice h2{font-size:16px}#mobileNotice p{margin:7px 0}

/* Sequence controls work with touch, keyboard and desktop drag. */
.simple-reorder{margin:14px 0;min-width:0}.simple-reorder h3{font-size:16px;margin:0}.simple-reorder .piece{min-width:150px;max-width:180px;padding:10px;font-size:14px}.simple-reorder .piece>span{display:block}.simple-reorder .piece-controls{display:grid;gap:6px}.simple-reorder .piece-controls button{min-height:44px;padding:8px;font-size:14px}.simple-reorder .piece[draggable=true]{cursor:grab}.simple-reorder .piece.locked{min-width:100px;max-width:125px}#simpleReorderStatus{min-height:2em}.simple-reorder .sequence-editor{overscroll-behavior-x:contain;max-width:100%}

.simple-reorder .piece-controls select{display:block;width:100%;min-width:0;max-width:100%;min-height:44px;font-size:14px;padding:8px 4px}

/* One continuous customer workspace; legacy render surfaces remain internal only. */
.workspace,.below .summary{display:none!important}
body.advanced #simpleJourney{display:block}
body:not(.advanced) .below .save{display:block;margin-bottom:18px}
.simple-journey.has-design .simple-inputs{display:grid}
.simple-journey.has-design #simpleIntro,.simple-journey.has-design #simpleGenerate{display:block}
.hero-subtitle{margin:6px 0 0;font-size:14px;color:#bde9f3;line-height:1.4}
header>div{min-width:0}header .header-help{margin-left:auto;flex:none}
.entry-checks{min-inline-size:0}
@media(max-width:550px){header h1{font-size:18px}.hero-subtitle{font-size:13px}header{flex-wrap:wrap}header .header-help{font-size:13px;padding:8px}.simple-inputs{gap:9px}.simple-stage{padding:7px}.simple-reorder .row{margin:10px 0}}
/* Customer-simplicity refinement: one visible editing surface. */
.simple-journey{max-width:1040px;margin:14px auto;padding:18px}.simple-journey .simple-inputs,.simple-journey.has-design .simple-inputs,#simpleGenerate,#simpleChange,#simpleSequence{display:none!important}
.simple-journey #simpleIntro{margin:8px 0 12px;font-size:15px}.simple-stage{padding:10px;margin:12px 0}.simple-tabs{margin:0 0 8px}.simple-tabs button{min-height:44px}
.simple-colours{border:0;display:flex;align-items:center;gap:10px;margin:4px 0 12px;position:relative;padding-top:20px}.simple-colours legend{position:absolute;top:0;left:0;font-size:14px;margin:0}.simple-colours .swatch-grid{flex:1;gap:6px;padding:7px 5px;scrollbar-width:thin}.simple-colours .swatch{position:relative;flex:0 0 46px;min-height:48px;padding:4px;font-size:14px;border-radius:8px}.simple-colours .swatch .swatch-sample{width:34px;height:34px}.simple-colours .swatch>span:last-child{display:none}.simple-colours .swatch.selected:after{content:'✓';position:absolute;right:0;bottom:0;background:#005b85;color:white;border-radius:50%;font-size:12px;width:17px;height:17px;line-height:17px}.chosen-colour{font-size:14px;width:120px;flex:none;font-weight:650;line-height:1.35}
.planning-view{background:#f0f9fc;border-radius:10px;overflow:hidden}.planning-view svg{touch-action:none}.planning-view [data-section-index]{cursor:grab;outline:none}.planning-view [data-section-index]:focus{stroke:#005b85;stroke-width:6;stroke-dasharray:9 5}.canvas-add{position:absolute;transform:translate(-50%,-50%);min-width:44px;min-height:44px;padding:8px 11px;border:2px solid white;box-shadow:0 2px 8px #12394c33;z-index:2;font-size:20px;display:flex;align-items:center;gap:5px;border-radius:24px;white-space:nowrap}.canvas-add span{font-size:14px}.canvas-guide{position:absolute;left:12px;right:12px;top:0;margin:7px 0;font-size:14px;line-height:1.35;color:#446f80;pointer-events:none}.canvas-guide[hidden]{display:none}.design-space{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 0;font-size:14px;line-height:1.5}.design-space strong{color:#124c66}.design-space span{color:#315e70}
.piece-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;background:#e2f2f7;border:1px solid #adcfdc;border-radius:10px;min-height:48px}.piece-actions[hidden],.undo-notice[hidden]{display:none}.piece-actions strong{margin-right:auto;font-size:14px}.piece-actions button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;font-size:14px;padding:8px 12px}.piece-actions svg{width:20px;height:20px}.piece-actions span{font-size:14px;color:#446f80}.piece-actions [hidden]{display:none}.undo-notice{display:flex;justify-content:space-between;align-items:center;background:#dff6ed;padding:8px 12px;margin:8px 0;border-radius:8px}.undo-notice button{min-height:44px}.design-heading-actions{display:flex;justify-content:flex-end;margin-bottom:8px}.design-heading-actions button{min-height:44px;font-size:14px;background:transparent}
#simpleReorderStatus{min-height:0;margin:8px 0;font-size:14px}#simpleReorderStatus:empty{display:none}#simpleStatus{font-size:14px;margin:8px 0;min-height:0}.simple-journey .row [hidden]{display:none!important}.simple-journey .row{margin-top:8px}.below .save>.row{display:none}.below .save:has(#saved:empty){display:none!important}.below .save>.fine{font-size:14px}.component-choice{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:112px}.component-choice svg{width:96px;height:60px}.component-choice strong{font-size:16px}.component-choice small{font-size:14px}#sectionDialog{max-width:500px}#sectionDialog .section-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#pickerStatus{color:#975100;min-height:0}.slide-planning-nav{padding-top:8px;padding-bottom:8px}.slide-planning-choice.current .slide-planning-action{display:none}
@media(max-width:650px){.simple-journey{padding:12px;margin:10px 7px}.simple-stage{padding:7px}.chosen-colour{width:85px;font-size:14px}.simple-colours{gap:4px;margin-bottom:6px}.canvas-guide{font-size:14px;left:8px;right:8px;line-height:1.2;max-width:80%}.canvas-add span{display:none}.design-space{display:block;font-size:14px;padding:8px 0}.design-space span{display:block}.piece-actions{gap:6px;padding:7px}.piece-actions strong{flex-basis:100%}.piece-actions button{flex:1}.simple-journey .row button{min-height:44px}.simple-journey #simpleIntro{font-size:14px}.simple-stage{margin-top:8px}.slide-planning-copy{display:none}.slide-planning-choice{min-height:62px}.slide-planning-choice>span:not(.slide-planning-action){display:none}}

/* Final agreed customer controls, extending the Version 31 workspace. */
.view-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:8px 0 12px;font-size:14px}.view-options [role=group]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.view-options button{font-size:14px;min-height:44px;padding:8px 14px}.view-options button[aria-pressed=true]{background:#087da2;color:white;border-color:#087da2}.dimensions-control{display:flex;align-items:center;gap:8px;min-height:44px}.design-space #designPrice{font-size:16px;font-weight:800;color:#064d67}.design-space #slideLength{font-size:14px}.height-entry{padding:12px 14px;background:#f1f8fa;border:1px solid #c4dfe7;border-radius:10px;margin:6px 0 12px}.height-entry .field{margin:0 0 6px}.height-entry p{margin:6px 0;font-size:14px}.height-entry .row .height-input{display:flex;align-items:center;gap:8px;flex:1 1 150px}.height-input input{width:120px;max-width:100%;min-width:0}.height-entry .row button{flex:1 1 170px;font-size:14px}.height-reference{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:14px;margin:4px 0 10px}.height-reference button{font-size:14px;background:transparent}.height-entry[hidden],.height-reference[hidden]{display:none!important}.feedback-link{font-size:14px;padding:8px 10px;margin-top:8px;background:transparent;border:0;text-decoration:underline;color:#087da2}#feedbackMessage{font:inherit;width:100%;max-width:100%;border:1px solid #accdd8;border-radius:8px;padding:10px;resize:vertical}#newHeightDialog .row button{flex:1 1 140px}.design-space{align-items:center}.simple-journey .design-space strong{flex-basis:auto}@media(max-width:650px){.view-options{align-items:flex-start}.view-options [role=group]>span{flex-basis:100%}.design-space #designPrice{display:block;margin-top:3px}.height-reference{font-size:14px}.height-reference button{padding:7px 9px}.height-entry{padding:10px}.view-options .dimensions-control{margin-top:18px}}
:focus-visible{outline:3px solid #005b85;outline-offset:3px}
.welcome-screen{width:100%;overflow:hidden;background:#bceafa}.welcome-screen[hidden]{display:none}.welcome-art{position:relative;width:100%;max-width:1672px;margin:auto;aspect-ratio:1672/941}.welcome-art img{display:block;width:100%;height:auto}.welcome-art button{position:absolute;left:36.6%;top:38.1%;width:27.2%;height:9.4%;min-height:44px;border:0;border-radius:999px;background:transparent;color:transparent;padding:0}.welcome-art button:hover,.welcome-art button:focus-visible{background:transparent;outline:4px solid white;outline-offset:3px}.welcoming>header,.welcoming>.slide-planning-nav,.welcoming>main,.welcoming>footer,.welcoming>.mobile-tools{display:none}.free-intro{max-width:1040px;margin:12px auto;padding:0 18px;font-size:16px}.secondary-controls{margin:8px 0;border:1px solid #d4e9ef;border-radius:10px;padding:9px 12px}.secondary-controls summary{cursor:pointer;font-size:14px;font-weight:650;min-height:28px}.secondary-controls summary span{margin-left:7px;font-weight:400}.orientation-select{display:flex;align-items:center;gap:8px}.orientation-select select{min-height:44px;max-width:100%}.view-options #orientationStatus{flex-basis:100%;margin:0}.height-sketch{max-width:480px;max-height:135px!important}.sample-designs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0;font-size:14px}.sample-designs button{font-size:14px}.early-installation{margin:14px 0;display:flex;align-items:center;gap:14px;font-size:14px}.early-installation img{width:180px;max-width:40%;height:105px;object-fit:cover;border-radius:10px}.early-installation figcaption{line-height:1.5}.early-installation a{display:block;margin-top:8px}.referral-interest{margin:18px 0 6px;padding:18px 0;border-top:1px solid #cce5eb}.referral-interest a{display:inline-flex;align-items:center;justify-content:center;font-size:14px;text-decoration:none;max-width:100%;overflow-wrap:anywhere}.referral-interest{display:none}body.approved .referral-interest{display:block}#shareDialog{max-width:min(760px,calc(100vw - 24px));width:720px}#sharePreview{width:100%;height:auto;background:#edf8fb;border-radius:10px}#shareMessage{font:inherit;width:100%;border:1px solid #accdd8;border-radius:8px;padding:10px;resize:vertical}.mobile-tools{display:none}.test-banner{padding:14px 20px;background:#ffe9ad;color:#12394c;font-size:16px}.test-banner p{margin:5px 0}#testerAccess{max-width:1040px;margin:14px auto}.demo-notice{border:2px solid #bb7c15;background:#fff2d5}.simple-colours .swatch{flex:0 0 85px;min-height:88px}.simple-colours .swatch>span:last-child{display:block;font-size:14px}.simple-colours .chosen-colour{display:none}
@media(max-width:650px){.welcome-art{width:760px;max-width:none;margin-left:50%;transform:translateX(-50%)}.welcome-art button{min-height:44px}.welcoming{padding-bottom:0}.simple-stage .canvas-add span{display:inline}.canvas-add{font-size:14px;padding:8px 10px}.free-intro{padding:0 16px}.simple-journey #simpleIntro{display:block!important}.simple-tabs{position:static}.simple-colours{display:block;padding-top:24px}.simple-colours .swatch{flex-basis:85px}.mobile-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;position:fixed;bottom:0;left:0;right:0;z-index:5;background:#fff;padding:8px 12px max(8px,env(safe-area-inset-bottom));border-top:1px solid #bdd7e1;box-shadow:0 -2px 10px #12394c15}.mobile-tools button{font-size:14px;padding:7px 4px;min-height:44px}.mobile-tools strong{grid-column:1/-1;text-align:center;font-size:14px}body{padding-bottom:112px}.welcoming>.mobile-tools,body.approved>.mobile-tools{display:none}.early-installation{align-items:flex-start}.early-installation img{width:135px;height:95px}.secondary-controls{padding:8px}.view-options .dimensions-control{margin-top:0}.test-banner{padding:12px 16px}.referral-interest a{width:100%}#testerAccess{margin:14px 12px}.height-sketch{height:auto!important}.canvas-guide{max-width:70%}}

/* Run 1: approved welcome photo, live prices and presentation controls. */
.welcome-screen{background:#052d49;min-height:100svh}.welcome-art{max-width:none;width:100%;margin:0;transform:none;aspect-ratio:auto;min-height:100svh;isolation:isolate}.welcome-art .welcome-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% center;z-index:-2}.welcome-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,27,43,.82),rgba(3,27,43,.38) 47%,transparent 78%);z-index:-1}.welcome-art .welcome-logo{position:relative;display:block;width:104px;height:104px;object-fit:contain;margin:0 0 0 clamp(24px,5vw,88px);padding-top:24px;box-sizing:content-box}.welcome-copy{max-width:620px;color:white;padding:clamp(28px,6vh,72px) clamp(24px,5vw,88px) 48px;box-sizing:content-box}.welcome-copy h1{font-size:clamp(36px,4.7vw,72px);line-height:1.06;letter-spacing:-.025em;margin:0 0 24px;color:white}.welcome-copy p{font-size:clamp(16px,1.5vw,21px);line-height:1.5;max-width:440px;margin:0 0 24px}.welcome-copy span{display:block;font-size:14px;margin-top:16px}.welcome-art button{position:static;width:auto;height:auto;min-height:56px;min-width:230px;padding:16px 26px;background:#ffd15b;color:#082e47;border-radius:12px;font-size:18px;font-weight:800;box-shadow:0 6px 22px #052d4940}.welcome-art button:hover,.welcome-art button:focus-visible{background:#ffdf87;outline-color:white}.live-price{background:#f0f8fb;border:1px solid #bddde9;border-radius:12px;padding:12px 16px;margin:8px 0 14px}.live-price summary{cursor:pointer;font-size:16px}.live-price summary strong{float:right;color:#064d67}.price-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:14px}.price-lines span{display:block;font-size:14px}.price-lines strong{display:block;margin-top:4px;font-size:23px;color:#064d67}.price-lines .price-total strong{font-weight:850}.live-price p{margin-bottom:0}.design-space #designPrice{display:none}.presentation-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:10px 0;font-size:14px}.presentation-toolbar button,.presentation-toolbar label{min-height:44px}.presentation-toolbar label{display:flex;align-items:center;gap:6px}.presentation-toolbar span{flex-basis:100%;color:#416779}.planning-view canvas{background:radial-gradient(ellipse at 50% 35%,#ffffff,#e9f2f6 80%)}.decision-aids{border-top:1px solid #cce5eb;padding:12px 0;margin:8px 0}.decision-aids summary{font-weight:650;cursor:pointer}.readiness{display:grid;gap:12px;margin-top:18px;font-size:16px}.readiness label{display:flex;align-items:flex-start;gap:8px}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.comparison-grid:empty{display:none}.comparison-card{border:1px solid #cce0e8;border-radius:12px;padding:12px;min-width:0}.comparison-card svg{width:100%;height:auto}.comparison-card p{font-size:14px;overflow-wrap:anywhere}.comparison-card h3{margin:0}.final-quote{background:#062d49;color:white;border-radius:14px;padding:20px;margin:16px 0}.final-quote .price-lines strong{color:#fff}.final-quote .quote-facts{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:14px;font-size:16px}.final-quote p{font-size:14px;line-height:1.5}.final-quote .price-promise{border-top:1px solid #ffffff40;padding-top:12px}.presenting .planning-view{height:calc(100svh - 170px);aspect-ratio:auto}.presenting .planning-view svg{object-fit:contain}.presenting .simple-journey{max-width:1440px}.presenting .simple-journey .secondary-controls,.presenting #heightEntry,.presenting #heightReference,.presenting #pieceActions,.presenting #simpleAdd,.presenting .canvas-guide,.presenting .sample-designs,.presenting .early-installation,.presenting .design-heading-actions,.presenting .decision-aids,.presenting .mobile-tools,.presenting .slide-planning-nav,.presenting .free-intro,.presenting #simpleStatus{display:none!important}.presenting{padding-bottom:0}.presenting .simple-journey>.section-title,.presenting #simpleIntro{display:none!important}.presenting #viewMySlide{background:#062d49;color:white}.simple-journey .simple-stage{padding:8px}input[type=checkbox]{min-width:18px;min-height:18px}
@media(max-width:650px){.welcome-art{width:100%;margin:0;transform:none}.welcome-art .welcome-logo{width:78px;height:78px;padding-top:20px;margin-left:22px}.welcome-art .welcome-photo{object-position:54% center}.welcome-art:after{background:linear-gradient(90deg,rgba(3,27,43,.85),rgba(3,27,43,.3)),linear-gradient(0deg,rgba(3,27,43,.55),transparent 65%)}.welcome-copy{max-width:100%;padding:36px 22px 40px}.welcome-copy h1{font-size:42px}.welcome-copy p{max-width:340px}.welcome-art button{min-height:56px;max-width:100%;width:auto}.live-price{padding:12px}.live-price summary{font-size:14px}.price-lines{grid-template-columns:1fr;gap:8px}.price-lines span{display:flex;justify-content:space-between;align-items:center;gap:12px}.price-lines strong{display:inline;font-size:18px;margin:0}.price-total{border-top:1px solid #b7d3df;padding-top:8px}.presentation-toolbar{gap:6px 10px}.presentation-toolbar button{flex:1}.presentation-toolbar label{font-size:14px}.comparison-grid{grid-template-columns:1fr}.final-quote{padding:14px}.final-quote .quote-facts{font-size:14px;gap:8px}.final-quote .price-total{border-color:#ffffff40}.simple-stage .planning-view{margin:0 -4px;width:calc(100% + 8px)}.presenting .planning-view{height:calc(100svh - 240px)}.presenting .simple-stage{padding:4px}.presenting .simple-tabs{margin-top:0}}

/* Quick run: compact shared-state tabs and height entry. */
.simple-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.simple-tabs button{width:100%;min-width:0;padding:10px 4px;font-size:14px;white-space:normal}.simple-tabs [aria-selected=true]{background:#087da2;color:white}.planning-view[hidden],#colourControls[hidden],.presentation-toolbar[hidden],#livePrice[hidden],#designPrice[hidden],#quickPrice[hidden],#sectionPicker[hidden],#pickerAdd[hidden],#reviewQuoteCard[hidden]{display:none!important}#colourControls{padding:8px 0 12px}#colourControls .simple-colours{padding-top:0}.height-entry{padding:10px 12px}.height-row{display:flex;gap:8px;align-items:center}.height-row input{width:140px;min-width:0;min-height:44px;font:inherit;border:1px solid #a9cdd8;border-radius:8px;padding:8px;box-sizing:border-box}.height-row button{min-height:44px;font-size:14px}.height-entry .field{font-size:14px}.height-entry p{line-height:1.4}#sectionDialog .piece-actions{margin-bottom:12px}#sectionDialog #pickerAdd{margin:0 0 12px}.quote-process{background:#eef8fb;border:1px solid #b9d9e5;border-radius:10px;padding:14px;margin:14px 0}.quote-process ol{padding-left:22px}.quote-process li{margin:8px 0}button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:650px){.height-row input{flex:1;width:100px}.height-row button{flex:0 0 auto}#colourControls .swatch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 6px}#colourControls .swatch{width:100%;min-width:0;margin:0;font-size:14px;overflow-wrap:anywhere}#colourControls .chosen-colour{width:auto}.quote-process{padding:12px}}
/* Keep the complete saved reference readable on narrow confirmation screens. */
#requestStatus strong{display:block;overflow-wrap:anywhere;word-break:break-word}

.request-intent{border:1px solid #7da9bd;border-radius:12px;padding:16px;margin:18px 0;min-width:0}.request-intent legend{font-weight:700;padding:0 6px}.request-intent label{display:flex;gap:12px;align-items:flex-start;padding:12px 0;cursor:pointer;line-height:1.5}.request-intent input{flex:none;width:22px;height:22px;margin:2px 0 0}.request-intent span{min-width:0}.request-intent p{font-size:14px;margin:10px 0 0}

/* V53 scoped launch presentation */
.add-piece-row{display:flex;justify-content:center;padding:12px 0}.add-piece-row .canvas-add{position:static;transform:none;min-height:44px}.simple-colours{display:block;padding-top:24px}#colourControls .swatch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));overflow:visible;gap:10px}#colourControls .swatch{width:100%;min-width:0}#colourControls .swatch>span:last-child{display:block;font-size:13px;margin-top:5px}#colourControls h3{font-size:16px;margin:14px 0 4px}.quote-reassurance{font-weight:650}.design-heading-actions button,#simpleSave,#simpleShare,#downloadDrawing,#compareCurrent{background:none;border-color:transparent;text-decoration:underline}@media(max-width:650px){#colourControls .swatch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Customer height gate and comparative bands; no range is selected without reliable geometry. */
.height-gate-prompt{font-size:15px;line-height:1.5;margin:10px 0}.gradient-comparison h3{font-size:16px;margin:0 0 6px}.gradient-status{font-weight:700;margin:6px 0}.gradient-bands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.gradient-bands>div{min-width:0;border:1px solid #c4dfe7;border-radius:8px;background:#fff;padding:10px}.gradient-bands span,.gradient-bands strong{display:block;font-size:13px;line-height:1.4}.gradient-bands strong{margin:4px 0;color:#064d67}.gradient-bands p{font-size:13px;line-height:1.4;margin:4px 0 0}.gradient-details{font-size:13px;margin-top:8px}.gradient-details summary{cursor:pointer}.gradient-details p{line-height:1.5}.height-gate-prompt[hidden]{display:none!important}
@media(max-width:650px){.gradient-bands{grid-template-columns:1fr;gap:6px}.gradient-bands>div{padding:8px 10px}.gradient-bands p{margin-top:3px}.height-gate-prompt{font-size:14px}.price-lines span{flex-wrap:wrap;overflow-wrap:anywhere}.price-lines strong{flex-shrink:0}}
