:root{--pine:#092b53;--ink:#182f4b;--muted:#596c83;--cream:#f7f9fc;--line:#d6e0eb;--sage:#e7eff8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{height:90px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:12px;color:var(--pine);text-decoration:none;font-size:17px;font-weight:750;letter-spacing:1.5px}.brand small{display:block;font-size:9px;letter-spacing:3px}.tree{font-size:44px;font-weight:300}nav{display:flex;align-items:center;gap:30px}nav a{color:var(--muted);text-decoration:none;font-size:13px}nav a.active{color:var(--pine)}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer;border:0;background:none;color:var(--pine);font-weight:600}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c58a36;outline-offset:3px}main{max-width:1600px;margin:auto;padding:0 4%}.intro{display:flex;align-items:center;justify-content:space-between;padding:38px 0 30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--muted)}h1{font:42px/1.1 Georgia,serif;letter-spacing:-1.5px;margin:9px 0 14px}h1 em{font-weight:400;color:#b12f39}p{color:var(--muted)}.intro p{margin:6px 0}.prototype{font-size:9px;letter-spacing:1.5px;border:1px solid var(--line);border-radius:30px;padding:9px 13px;display:flex;align-items:center;gap:9px}.prototype i,.live i{width:6px;height:6px;border-radius:100%;background:#4d7aab;display:inline-block}.workspace{display:grid;grid-template-columns:330px 1fr;gap:24px;align-items:start}.controls{background:#fff;border:1px solid var(--line);border-radius:15px;padding:23px}.panel-title{display:flex;gap:10px;align-items:center;margin:24px 0 16px}.panel-title:first-child{margin-top:0}.number{font-size:9px;border:1px solid #c6d5e6;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;color:#526d8e}h2{font-size:17px;font-weight:600;margin:0}h3{font-size:15px;margin:8px 0}label{display:block;font-size:11px;font-weight:600;color:#344f71;margin:13px 0 0}select,input[type=number]{display:block;width:100%;min-width:0;margin-top:6px;padding:10px 11px;border:1px solid #cbd8e8;border-radius:6px;background:#fff;color:var(--ink);font-size:12px;min-height:40px}select:focus,input:focus{outline:2px solid #668bb5;outline-offset:1px}.reference{display:flex;gap:12px;margin:17px 0}.reference img{width:83px;height:101px;object-fit:cover;border-radius:6px}.reference .eyebrow{font-size:7px;letter-spacing:1px}.reference h3{margin:6px 0 2px}.reference p{font-size:12px;margin:0 0 5px}.reference small{display:block;font-size:9px;color:#60738a;max-width:140px}details{border-top:1px solid var(--line);margin-top:17px;padding-top:13px}summary{cursor:pointer;font-size:11px;color:#24496f;font-weight:600}details p{font-size:12px}.segments{display:flex;gap:7px;margin-top:7px}.segments button{flex:1;border:1px solid var(--line);border-radius:7px;background:#f4f7fc;padding:9px 5px;font-size:13px}.segments small{display:block;font-weight:400;font-size:10px;margin-top:2px}.segments button.selected,.views button.selected{background:var(--pine);color:white;border-color:var(--pine)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.check{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:400}.check input{accent-color:var(--pine);width:15px;height:15px}.preview{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden;position:sticky;top:18px}.preview-head{padding:23px 27px 17px;display:flex;justify-content:space-between;align-items:center}.preview-head h2{font:25px Georgia,serif;margin-top:5px}.live{font-size:10px;display:flex;align-items:center;gap:7px;color:#526d8e}.views{padding:0 24px 16px;display:flex;align-items:center;gap:5px}.views button{padding:7px 12px;border-radius:5px;font-size:11px;background:#eaf0f8;font-weight:500}.views label{margin:0 0 0 auto}#scene{background:#f5f8fc;touch-action:pan-y;line-height:0;cursor:grab}#scene svg{width:100%;height:auto;max-height:580px;display:block}.orbit{display:flex;gap:24px;align-items:center;padding:10px 24px;background:#f5f8fc;border-top:1px solid #d5dfed}.orbit label{margin:0;display:flex;align-items:center;gap:10px;font-size:10px}.orbit input{accent-color:var(--pine);width:100px}.text-button{font-size:10px;margin-left:auto}.dimension-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 24px;border-bottom:1px solid var(--line);gap:10px}.dimension-strip strong{font:26px Georgia,serif;display:block}.dimension-strip span{display:block;font-size:9px;color:#586f89;margin-top:4px}.preview-note{display:flex;gap:13px;margin:20px 24px;background:#eef3f9;padding:13px 16px;border-radius:8px}.preview-note>span{font-size:22px;color:#526f90}.preview-note p{margin:0;font-size:10px;line-height:1.65}.preview-note strong{display:block;color:#2b4b71;font-size:11px}.actions{display:flex;gap:8px;justify-content:flex-end;margin:18px 24px}.primary,.outline{padding:11px 15px;border-radius:6px;font-size:11px}.primary{background:var(--pine);color:white}.outline{border:1px solid #c8d6e6;background:#fff}#exportStatus{min-height:15px;font-size:10px;margin:0 24px 15px;text-align:right}#error{margin:15px 24px;padding:12px;background:#f9e5d8;color:#854322;border-radius:7px;font-size:12px}.measurement-section{margin:55px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-heading h2{font:30px Georgia,serif}.section-heading p{font-size:12px}.badge{padding:9px 13px;background:#e4edf8;font-size:10px;border-radius:30px}.measurement-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.measurement-fields,.measurement-data{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px}.measurement-fields p{font-size:12px}.measurement-fields small{display:block;font-size:9px;font-weight:400;margin-top:6px;color:#59728f}.spec-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #dce5ef;font-size:11px}.spec-row em{font-style:normal;color:#58708e}.table-wrap{max-height:280px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:7px}#budgetResults button{display:block;text-align:left;font-size:11px;width:100%;padding:8px;background:#eef3fa;margin:5px 0;border-radius:4px}#budgetResults p{font-size:11px}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 0 35px;border-top:1px solid var(--line);font-size:9px;color:#566f8d}footer span:first-child{font-weight:700;letter-spacing:1px}@media(min-width:1450px){.workspace{grid-template-columns:350px 1fr}#scene svg{max-height:630px}}@media(max-width:1050px){main{padding:0 20px}.workspace{grid-template-columns:290px 1fr;gap:16px}.controls{padding:18px}.actions{flex-wrap:wrap}.views{padding:0 14px 14px}.views button{padding:6px 8px}.orbit{gap:10px;padding:10px}.orbit input{width:70px}.dimension-strip{padding:16px}.preview-head{padding:18px}.preview-head .live{display:none}h1{font-size:36px}}@media(max-width:760px){header{height:72px;padding:0 20px}nav a{display:none}.brand{font-size:13px}.tree{font-size:32px}.intro{padding:25px 0 22px}.intro h1{font-size:32px;max-width:330px}.intro>span{display:none}.intro p:not(.eyebrow){font-size:12px}.workspace{display:flex;flex-direction:column}.preview{position:static;width:100%;order:0}.controls{width:100%;order:1}.preview-head h2{font-size:23px}.views label{font-size:10px}.views button{font-size:10px}.dimension-strip strong{font-size:23px}.dimension-strip span{font-size:8px}.preview-note{margin:15px}.actions{margin:15px;justify-content:stretch}.actions button{flex:1;padding:10px 7px;font-size:10px}.measurement-grid{grid-template-columns:1fr}.section-heading{display:block}.badge{display:inline-block;margin-top:10px}.reference img{width:100px;height:110px}.reference small{max-width:none}.preview-note p{font-size:11px}footer{flex-direction:column;gap:8px}.section-heading h2{font-size:27px}}
.field-label{display:block;font-size:11px;font-weight:600;color:#344f71;margin-top:13px}#applyMeasurements{margin-top:20px}@media(max-width:420px){.views,.orbit{flex-wrap:wrap}.views label{margin-left:0}.orbit .text-button{margin-left:0}.dimension-strip{grid-template-columns:repeat(2,1fr)}.brand{font-size:11px;letter-spacing:1px}.brand small{letter-spacing:1.8px}.spec-row{flex-wrap:wrap;gap:3px 10px}}

.views{flex-wrap:wrap}.hook-choices{display:flex;flex-wrap:wrap;gap:0 12px}.storage-options p{font-size:10px;line-height:1.6}.spec-row{flex-wrap:wrap;gap:4px 10px}.spec-row em{max-width:145px;text-align:right}

/* Original graph-paper studio in the New England palette. */
header .brand .real-logo{width:74px;height:74px;object-fit:contain}.brand{letter-spacing:0}#scene{background:#f5f8fc;border-top:3px solid #b12f39}.views button.selected,.segments button.selected{background:#092b53;border-color:#092b53}.orbit input{accent-color:#b12f39}.dimension-strip strong{color:#092b53}.primary{background:#b12f39}.primary:hover{background:#90232e}button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:#b12f39}@media(max-width:760px){header{height:88px}header .brand .real-logo{width:72px;height:72px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.dispenser-reference{display:flex;align-items:center;gap:12px;margin:10px 0 20px;padding:12px;border:1px solid #c4d1df;border-radius:10px;background:#f5f8fc}.dispenser-reference[hidden]{display:none}.dispenser-reference img{width:76px;height:92px;object-fit:contain;border-radius:6px;background:white}.dispenser-reference figcaption{min-width:0;font-size:12px;line-height:1.5}.dispenser-reference strong,.dispenser-reference small{display:block}.dispenser-reference small{margin-top:5px;color:#455c76}

.layout-help{font-size:12px;line-height:1.5;color:#455c76}.dispenser-reference a{font-size:12px;color:#173c67;display:inline-block;margin-top:6px}.dispenser-reference a[hidden]{display:none}

.hook-choices[hidden]{display:none}

.controls [hidden]{display:none!important}

.customer-estimate{padding:24px;margin:24px;background:#fff;border:1px solid #d4dce5;border-radius:12px}.customer-estimate label{display:block;margin:14px 0}.customer-estimate select{width:100%;padding:12px}.customer-estimate table{width:100%;border-collapse:collapse}.customer-estimate caption{text-align:left;font-weight:700;margin:12px 0}.customer-estimate th{text-align:left;font-weight:400}.customer-estimate td{text-align:right;white-space:nowrap}.customer-estimate th,.customer-estimate td{padding:9px 6px;border-bottom:1px solid #e3e8ec}.estimate-total{font-size:1.2rem;color:#173e5b}.customer-estimate [hidden]{display:none!important}@media(max-width:600px){.customer-estimate{padding:18px;margin:18px 0}}

[hidden]{display:none!important}

/* Two customer actions: save the current drawing or continue to the cart. */
.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions button{min-height:48px;font-size:13px;padding:12px 16px}.actions .outline{background:#fff;color:#092b53}.actions .primary{background:#b12f39;color:#fff}.actions .primary:hover{background:#90232e}
@media(max-width:420px){.actions{gap:8px}.actions button{font-size:12px;padding:12px 8px}}

/* Calculate after all customization choices, in the options column. */
.controls .customer-estimate{margin:24px 0 0;padding:18px 14px;min-width:0}.controls .customer-estimate table{table-layout:fixed}.controls .customer-estimate th{width:72%;overflow-wrap:anywhere}.controls .customer-estimate td{text-align:right;white-space:nowrap}.controls #estimateDesign{width:100%;min-height:44px}
