:root{--navy:#193d4d;--blue:#24677b;--ink:#213b43;--muted:#6c7e83;--border:#dce4e4;--cream:#f6f7f4}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fafbf9;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;background:white;color:var(--ink);border:1px solid var(--border);border-radius:7px;padding:10px 14px}button:hover{border-color:var(--blue);background:#edf3f3}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9bc5d4;outline-offset:3px}.primary{background:var(--navy);border-color:var(--navy);color:white}.primary:hover{background:var(--blue);color:white}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--border);background:white}.brand{display:flex;align-items:center;gap:12px;font-size:16px;letter-spacing:1.5px;font-weight:700;text-decoration:none;color:var(--navy);line-height:1.4}.mark{font-size:48px;font-weight:400}.cornwall{display:block;font-size:10px;letter-spacing:5px;font-weight:500}.headernote{font-size:13px;color:var(--muted)}main{max-width:1600px;margin:auto;padding:34px 5%}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:750;color:var(--blue)}h1{font:500 clamp(32px,3vw,48px)/1.08 Georgia,serif;margin:14px 0}p{color:var(--muted);margin:10px 0 20px}.introaside{font-size:13px;text-align:right}.introaside small{color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6e977f;margin-right:6px}.workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(350px,1fr);gap:26px;align-items:start}.visual{position:sticky;top:16px;background:#edf1ec;border:1px solid #dce3dd;border-radius:12px;overflow:hidden}.viewbar{padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.viewbar>span{font-weight:650;font-size:13px}.viewbar button{font-size:12px;padding:7px 12px;background:transparent;border:0}.viewbar button.active{background:white;box-shadow:0 2px 5px #0001}#scene{height:430px;touch-action:pan-y;cursor:grab}#scene svg{width:100%;height:100%;display:block}.viewtools{display:flex;justify-content:center;align-items:center;gap:10px;padding:10px}.viewtools span{font-size:11px;color:var(--muted)}.viewtools button{padding:6px 10px;font-size:12px;background:#ffffff99}.stats{margin:12px 24px 0;padding:23px 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d2dcd4}.stats strong,.stats span{display:block}.stats strong{font-size:16px;font-weight:600}.stats span{font-size:10px;color:var(--muted);margin-top:4px}.caption{padding:0 24px 18px;margin:0;font-size:10px;max-width:620px}.controls{border:1px solid var(--border);border-radius:12px;background:white;overflow:hidden}.controls nav{display:flex;border-bottom:1px solid var(--border);padding:8px}.controls nav button{border:0;background:none;border-radius:5px;flex:1;padding:12px 3px;font-size:12px}.controls nav button.active{background:#eaf1f3;color:var(--blue);font-weight:700}.panel{padding:24px}h2{font:500 27px/1.2 Georgia,serif;margin:0 0 10px}.panel>p{font-size:12px}.presets{display:flex;gap:8px;margin:20px 0 28px}.presets button{flex:1;font-size:12px;text-align:left;padding:12px}.presets small{color:var(--muted)}.presets .active{border-color:var(--blue);background:#edf4f5}label{display:block;font-size:12px;font-weight:600;margin:16px 0 5px}output{float:right;color:var(--blue)}input[type=range]{width:100%;accent-color:var(--blue);margin:16px 0 0;cursor:pointer}.ends{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.hint{font-size:11px!important;background:#f5f7f6;padding:12px;border-radius:5px}.next{width:100%;margin-top:18px}select,input:not([type=range]),textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:5px;background:#fff;color:var(--ink);margin-top:6px}h3{font-size:12px;margin:24px 0 10px}.swatches{display:flex;gap:8px}.swatches button{flex:1;padding:8px 2px;font-size:9px}.swatches i{display:block;border:1px solid #cad1d2;width:26px;height:26px;border-radius:50%;margin:0 auto 7px}.swatches button.active{border:2px solid var(--blue);background:#f0f6f6}.addrow{display:flex;gap:5px}.addrow button{flex:1;font-size:11px;padding:9px 4px}.opening{border:1px solid var(--border);border-radius:7px;margin-top:12px;padding:12px}.opening summary{cursor:pointer;font-size:12px;font-weight:650}.opening .grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.opening label{font-size:10px;margin-top:10px}.remove{font-size:10px;color:#a24d3e;margin-top:12px;padding:5px 10px}.cladrow{display:flex;align-items:center;gap:20px}.cladrow span{min-width:50px;font-size:12px}.cladrow select{font-size:12px}footer{display:flex;justify-content:space-between;align-items:center;margin:28px 0;font:italic 17px Georgia,serif}footer button{font:11px system-ui;background:transparent;border:0;text-decoration:underline}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:90%;padding:13px 20px;background:var(--navy);color:white;border-radius:8px;box-shadow:0 4px 20px #0002;z-index:10;display:none;font-size:13px}dialog{border:0;border-radius:12px;width:min(650px,94%);max-height:90vh;padding:28px;color:var(--ink)}dialog::backdrop{background:#132d3abd;backdrop-filter:blur(4px)}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}#summaryText{font-size:12px;background:#f2f5f3;padding:16px;border-radius:7px}#summaryText p{margin:4px 0;color:var(--ink)}@media(max-width:900px){header{padding:0 20px;height:80px}.headernote{display:none}main{padding:25px 20px}.workspace{grid-template-columns:1fr}.visual{position:relative;top:0}#scene{height:350px}.introaside{display:none}.intro h1 br{display:none}.intro h1{max-width:500px}.controls{max-height:none}footer{display:block}footer div{margin-top:15px}}@media(max-width:480px){header .primary{font-size:10px;padding:9px}.brand{font-size:11px;gap:6px}.cornwall{font-size:8px;letter-spacing:3px}.mark{font-size:32px}main{padding:20px 12px}#scene{height:300px}.panel{padding:18px}.stats{margin:10px 15px 0}.stats strong{font-size:13px}.stats span{font-size:9px}.fields{grid-template-columns:1fr}.viewtools span{font-size:9px}.viewbar{padding:12px}.caption{padding:0 15px 15px}}

#scene canvas{width:100%;height:100%;display:block}
.estimate-section{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:44px 0;padding:32px;background:#eef3f2;border-radius:12px}.estimate-copy h2,.example-spec h2{margin-top:10px}.estimate-copy p{font-size:13px}.price-card{background:white;border:1px solid var(--border);border-radius:9px;padding:24px}.price-card>div{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px;font-size:12px}.price-card .price-total{border-top:1px solid var(--border);padding-top:18px;display:block}.price-total strong{display:block;font:500 38px Georgia,serif;margin-top:7px;color:var(--navy)}.example-spec{padding:10px 0 25px}.example-spec>p{font-size:13px;max-width:780px}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px}.spec-grid article{border-top:1px solid var(--border);padding:4px 0}.spec-grid h3{font-size:15px;margin:14px 0 8px}.spec-grid p{font-size:13px;margin:0}.example-spec .paint-message{font:italic 25px Georgia,serif;color:var(--navy);margin-top:28px}@media(max-width:700px){.estimate-section{grid-template-columns:1fr;gap:10px;padding:20px}.spec-grid{grid-template-columns:1fr}}

.contact-cta{padding:40px 30px;background:#eef3f2;border:1px solid var(--border);border-radius:12px;text-align:center;margin:20px 0 36px}.contact-cta h2{font:500 34px Georgia,serif}.contact-cta p{max-width:650px;margin:16px auto}.cta-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.cta-actions a{display:inline-block;text-decoration:none;padding:14px 20px}.contact-cta .hint{font-size:12px}@media(max-width:600px){.contact-cta{padding:24px 16px}.contact-cta h2{font-size:28px}.cta-actions>*{width:100%}}

/* Original website logo, with contrast for its white lettering. */
header .brand{background:#193d4d;padding:10px 14px;border-radius:4px;flex-shrink:0}header .brand img{display:block;width:250px;height:auto;max-width:100%}@media(max-width:480px){header{padding:0 12px;gap:10px}header .brand{padding:8px 10px;max-width:55%}header .brand img{width:180px}}
