
*{box-sizing:border-box}body{margin:0;background:#f7f8f4;color:#26352b;font:16px/1.6 Arial,sans-serif}button,select,input{font:inherit}button,a{cursor:pointer}button,.button{border:1px solid #315b3c;background:#315b3c;color:white;padding:12px 20px;border-radius:5px;text-decoration:none;display:inline-block}button.secondary{background:white;color:#315b3c}button:disabled{opacity:.4;cursor:default}header{background:white;border-bottom:1px solid #dce2da;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:28px;font-weight:bold;letter-spacing:-1px}nav{display:flex;align-items:center;gap:30px}nav a{color:inherit;text-decoration:none}.shop{position:relative;padding:10px 0}.dropdown{display:none;position:absolute;background:white;padding:15px;min-width:160px;box-shadow:0 6px 24px #0002;z-index:5}.shop:hover .dropdown,.shop:focus-within .dropdown{display:block}.notice{background:#e7eddf;text-align:center;padding:8px 20px;font-size:13px}main{max-width:1160px;margin:auto;padding:40px 25px 80px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;color:#61755c;font-weight:bold}h1{font-size:clamp(32px,5vw,56px);line-height:1.12;letter-spacing:-2px;margin:16px 0 22px}h2{font-size:28px;line-height:1.2}h3{line-height:1.3}.hero{padding:35px 0 50px;max-width:780px}.hero p{font-size:19px;color:#607064}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border:1px solid #dce2da;border-radius:8px;padding:25px}.project-art{height:155px;background:linear-gradient(140deg,#c9d3bc,#778a6c);display:flex;align-items:end;padding:18px;color:white;font-size:32px;letter-spacing:5px}.muted{color:#6b766e;font-size:14px}.crumb{background:none;border:0;padding:0;color:#526b52}.selectors{display:flex;gap:16px;flex-wrap:wrap;background:white;padding:22px;border:1px solid #dce2da;margin:25px 0}.selectors label{flex:1;min-width:170px}select,input{display:block;width:100%;padding:10px;border:1px solid #bac6b6;background:white;border-radius:4px;margin-top:5px}.plan{background:white;padding:25px;border:1px solid #dce2da;border-radius:8px}.plan svg{display:block;width:100%;max-height:480px}.location{fill:#dbe8d3;stroke:#76956b;cursor:pointer}.location.selected{fill:#315b3c}.location:focus{stroke:#111;stroke-width:4}.plan-layout{display:grid;grid-template-columns:1fr 240px;gap:25px}.legend{display:flex;gap:12px;flex-wrap:wrap}.pill{padding:5px 12px;border-radius:20px;background:#e7eddf;font-size:13px}.product-icon{font-size:30px;color:#66835d}.price{font-weight:bold;margin:15px 0}.products{grid-template-columns:repeat(3,1fr)}.product-card{display:flex;flex-direction:column}.product-card p{flex:1}.product-card button{width:100%}.summary{background:#e7eddf;padding:20px;border-radius:6px}.cart-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:22px 0;border-bottom:1px solid #dce2da}.cart-actions{display:flex;gap:10px;margin-top:12px}.cart-actions button{font-size:13px;padding:5px 12px}dialog{border:0;border-radius:10px;width:min(620px,94vw);max-height:90vh;padding:30px;color:#26352b}dialog::backdrop{background:#13251799}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:15px}.close{padding:5px 12px;background:white;color:#315b3c}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}footer{border-top:1px solid #dce2da;padding:25px 5%;font-size:14px}.empty{padding:50px;text-align:center;background:white}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#263e2b;color:white;padding:12px 24px;border-radius:6px;z-index:10}button:focus-visible,a:focus-visible{outline:3px solid #aa7c32;outline-offset:4px}@media(max-width:750px){.cards,.products{grid-template-columns:1fr}.plan-layout{grid-template-columns:1fr}nav{gap:15px}nav .optional{display:none}header{padding:15px 20px}.cart-row{grid-template-columns:1fr}main{padding:25px 18px}h1{letter-spacing:-1px}}

html{scroll-behavior:smooth}body{overflow-wrap:break-word}input[type=checkbox],input[type=radio]{display:inline;width:auto;margin:0 8px 0 0}fieldset{border:1px solid #dce2da;border-radius:6px;margin:18px 0;padding:16px}legend{font-weight:bold;padding:0 6px}label{display:block}.notice{font-size:13px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}.choice{padding:22px;background:#edf1e8;border-left:4px solid #66835d}.line{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid #dce2da}.line input[type=number]{width:72px}.line label{flex:1}.help{font-size:13px;color:#64715f}.warn{background:#fff0d7;color:#674b1c;padding:12px;border-radius:5px}.amount{font-weight:bold}.error{color:#a02525}.hidden{display:none!important}#markedPlan{position:relative;cursor:crosshair;touch-action:manipulation}#markedPlan img{width:100%;display:block}.marker{position:absolute;transform:translate(-50%,-50%);border:2px solid white;background:#315b3c;color:white;border-radius:50%;width:27px;height:27px;text-align:center;line-height:23px;font-size:13px;pointer-events:none}.marker.pending{background:#a15c17}.plan-layout{grid-template-columns:minmax(0,1fr) 300px}.plan{min-width:0}.summary{align-self:start}.actions .secondary{background:white}.sheet{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}td,th{padding:9px;border-bottom:1px solid #dce2da;vertical-align:top}details{margin:25px 0}summary{cursor:pointer}dialog{max-width:760px;width:94vw}.dialog-content{max-height:73vh;overflow:auto;padding-right:8px}#formError{min-height:24px}.price-note{font-size:13px;margin:6px 0 16px;color:#65715f}.chip{display:inline-block;font-size:12px;padding:3px 9px;background:#e7eddf;border-radius:20px;margin:3px}.footer-note{max-width:800px}.zoom-image{max-width:none;width:1400px}.route-label{font-size:12px;text-transform:uppercase;letter-spacing:1px}.product-card h3{margin-bottom:5px}.product-card .button{margin-top:auto}.empty{padding:30px}.plan-focus{outline:2px solid #315b3c}.quote{color:#775a22}.cart-row p{margin:8px 0}button.small{padding:7px 12px;font-size:13px}nav{flex-wrap:wrap}#toast{max-width:90vw;width:max-content}h1{margin-bottom:15px}.hero{padding:20px 0;max-width:850px}.hero p{margin:12px 0}.products{margin-top:22px}@media(max-width:800px){.plan-layout,.choices{grid-template-columns:1fr}.products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.products{grid-template-columns:1fr}.card{padding:20px}.line{gap:10px}header{gap:10px}.brand{font-size:25px}nav{gap:12px}.selectors{padding:15px}dialog{padding:20px}}

.hub-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-card{display:flex;flex-direction:column;min-width:0}.hub-card .actions{margin-top:auto}.hub-facts{font-size:14px}.hub-facts dt{font-weight:bold;margin-top:10px}.hub-facts dd{margin:0;color:#526452}.hub-card a,#hubInfo a{color:#315b3c}#hubInfo{margin-top:18px;padding-top:12px;border-top:1px solid #dce2da}select{max-width:100%;min-width:0}@media(max-width:750px){.hub-cards{grid-template-columns:1fr}}
.window-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.window-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;background:#fff;border:1px solid #dce2da;border-radius:6px}.window-row.selected{border:2px solid #315b3c;background:#eef4e9}.window-row p{font-size:13px;margin:6px 0}.window-number{display:inline-block;background:#e7eddf;color:#263e2b;font-weight:bold;padding:3px 9px;margin:0 8px 6px 0;border-radius:5px}.window-row button{flex-shrink:0}.window-options{display:grid;gap:12px;margin:20px 0}.selected-window{background:#e7eddf;padding:12px;border-radius:5px}#windows{margin-top:35px}.plan-window{position:absolute;transform:translate(-50%,-50%);width:2.6%;height:3%;min-width:15px;min-height:15px;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;z-index:2}.plan-window:hover,.plan-window:focus-visible,.plan-window.active{background:#ffffff44;outline:2px solid #9f631e;outline-offset:1px}.plan-window.chosen{border:2px solid #315b3c;background:#8bbf8240}.marker.pending{z-index:3;min-width:30px;width:auto;padding:0 3px;font-size:11px;pointer-events:none}@media(max-width:800px){.window-list{grid-template-columns:1fr}}@media(max-width:450px){.window-row{flex-direction:column;align-items:stretch}.plan{padding:10px}.window-row button{width:100%}}
/* Product browsing: shared by the three review entry pages. */
:root{--ink:#253c2d;--green:#315b3c;--line:#dce2da;--soft:#edf2e9}
html{scroll-padding-top:24px}.journey{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}.journey a{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px 12px;background:white;border:1px solid var(--line);border-radius:24px;text-decoration:none;color:var(--ink)}.journey b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--soft)}
#products{margin-top:52px}.catalogue-heading{display:flex;gap:20px;justify-content:space-between;align-items:center}.catalogue-heading h2{margin:8px 0 12px;font-size:34px;letter-spacing:-.8px}.catalogue-heading p{color:#607064;margin:0}.text-link{color:var(--green);font-size:14px;flex-shrink:0}.catalogue-context{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0;background:#e7eddf;border:1px solid #d7e0cf;border-radius:10px;padding:18px 22px}.catalogue-context strong,.catalogue-context span{display:block}.catalogue-context strong{margin:3px 0;font-size:17px}.catalogue-context span:last-child{font-size:13px;color:#526452}.catalogue-context button{flex-shrink:0}.catalogue-toolbar{display:flex;gap:16px;align-items:end}.search-label{flex:1;font-size:13px;font-weight:bold}.search-label input{font-weight:normal;padding:13px 15px;border-radius:8px}.category-select{display:none}.category-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.category-chip{border-radius:24px;background:white;border:1px solid var(--line);color:var(--green);font-size:14px;padding:9px 17px}.category-chip[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.category-chip:hover{border-color:var(--green)}.catalogue-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#607064;margin-top:9px}.text-button{background:none;color:var(--green);border:0;text-decoration:underline;font-size:13px;padding:8px 0}.products{margin-top:5px;gap:22px;align-items:stretch}.product-card{padding:0;overflow:hidden;border-radius:12px;transition:box-shadow .2s,border-color .2s}.product-card:hover{box-shadow:0 8px 24px #273b2910;border-color:#9aab93}.product-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.product-card h3{font-size:21px;margin:8px 0;letter-spacing:-.3px}.product-card p{font-size:14px;line-height:1.65;margin:8px 0 14px}.product-card .price-note{min-height:44px;font-size:12px;line-height:1.5;padding-top:14px;border-top:1px solid #e7ebe3}.product-card button{display:flex;align-items:center;justify-content:space-between;border-radius:7px;padding:11px 15px}.product-media{margin:0;background:#f0f1ed;position:relative;overflow:hidden}.product-media img{width:100%;height:224px;display:block;object-fit:contain;padding:18px;background:white}.product-media.lifestyle img{object-fit:cover;padding:0}.product-media figcaption{font-size:10px;line-height:1.4;color:#5c685c;padding:7px 12px;min-height:30px;background:#f0f2ec}.detail-media{border-radius:8px;border:1px solid var(--line);margin:16px 0}.detail-media img{height:230px}.detail-media.lifestyle img{object-fit:contain;background:#f0f2ec}.detail-media figcaption{font-size:11px}.hub-media{border:1px solid #e7ebe3;border-radius:8px;margin:0 0 18px}.hub-media img{height:200px}.hub-media figcaption{font-size:11px}.hub-card{border-radius:12px}.photo-note{margin:20px 0}.search-empty{grid-column:1/-1;border-radius:10px;padding:40px}.control-guide{background:white;border:1px solid var(--line);border-radius:10px;padding:18px 22px}.control-guide>summary{font-weight:bold}.control-guide .choices{margin-bottom:0}.accessory-media,.module-media{width:88px;flex-shrink:0;border:1px solid #e7ebe3;border-radius:5px}.accessory-media img,.module-media img{height:82px;padding:6px}.accessory-media figcaption,.module-media figcaption{display:none}.module-row{align-items:start}.module-row input{flex-shrink:0}.cart-product-heading{display:flex;gap:16px;align-items:center}.cart-media{width:90px;flex-shrink:0;border-radius:7px;border:1px solid #e7ebe3}.cart-media img{height:78px;padding:4px}.cart-media figcaption{display:none}.cart-product-heading h3{margin:0}.window-row:hover{border-color:#8da280}.window-row.selected .window-number{background:var(--green);color:white}input:focus-visible,select:focus-visible{outline:3px solid #aa7c32;outline-offset:2px}.dialog-content{max-height:65vh}.dialog-content h2{margin-top:10px}.actions{gap:10px}dialog .actions button{min-height:44px}dialog .line{gap:12px}
@media(max-width:850px){.catalogue-heading{align-items:start;flex-direction:column;gap:12px}.product-card-body{padding:20px}.product-media img{height:205px}}
@media(max-width:550px){.catalogue-heading h2{font-size:29px}.catalogue-context{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.catalogue-context button{align-self:start}.category-chips{gap:7px}.category-chip{padding:8px 13px;font-size:13px}.product-media img{height:240px}.detail-media img{height:170px}.hub-media img{height:190px}.product-card h3{font-size:21px}.journey{gap:6px}.journey a{font-size:12px;padding:6px 9px}.accessory-media,.module-media{width:58px}.accessory-media img,.module-media img{height:62px;padding:4px}dialog{padding:18px}.dialog-content{max-height:62vh}.dialog-content fieldset{padding:12px}.module-row label{font-size:14px}.module-row input[type=number]{width:55px}.product-card .price-note{min-height:0}.control-guide{padding:16px}.control-guide .choice{padding:16px}.dialog-head{align-items:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.choice-media{border-radius:7px;border:1px solid var(--line);margin-bottom:18px}.choice-media img{height:170px}.choice-media figcaption{font-size:11px}.detail-media img{height:180px}.dialog-content{scrollbar-width:thin;scrollbar-color:#92a18a #edf2e9}.dialog-content::-webkit-scrollbar{width:6px}.dialog-content::-webkit-scrollbar-thumb{background:#92a18a;border-radius:5px}
@media(max-width:550px){.catalogue-context span:last-child{display:none}.catalogue-context{margin:20px 0;gap:8px}.category-chip{padding:8px 10px;font-size:12px}.detail-media img{height:130px}.dialog-content>p{font-size:14px}.dialog-content h2{font-size:24px}.choice-media img{height:145px}.product-card p{font-size:15px}.product-media figcaption{font-size:11px}}
