:root{--paper:#f7f5ef;--ink:#26392f;--muted:#58665e;--line:#d8d3c8;--accent:#217d7a;--orange:#cf7b47;--purple:#786186}
html{scroll-padding-top:24px}body{background:var(--paper);color:var(--ink)}
.header{height:112px}.header-cta{border-color:var(--accent)}.header-cta span{color:var(--orange)}
.hero{grid-template-columns:1.08fr 1fr;gap:58px;min-height:650px;padding-top:12px}
.hero-copy{padding:43px 0 26px}.hero .eyebrow{color:var(--purple);font-size:11px;letter-spacing:.12em;display:flex;gap:22px}
.hero .eyebrow:after{content:'';height:2px;width:46px;background:var(--orange)}
.hero h1{font-size:clamp(42px,4.5vw,70px);line-height:1.15;letter-spacing:-.055em;margin-bottom:28px}
.hero-description{font-size:18px;line-height:1.7;max-width:530px;margin-bottom:32px}
.hero-photo{overflow:visible;min-height:550px;max-height:680px}.hero-photo img{border-radius:4px;object-fit:cover;object-position:center}
.hero-photo:before{content:'';position:absolute;top:-12px;right:-12px;width:33%;height:40%;border-top:2px solid var(--accent);border-right:2px solid var(--accent)}
.button{background:var(--accent);border-color:var(--accent);border-radius:4px;color:white}
.button:hover{background:#196662;border-color:#196662;transform:none}
.text-link{border-color:var(--accent)}.text-link:hover{opacity:1;color:#175f5d}
.lead-time{border-left:2px solid var(--accent);padding:0 0 0 17px;margin:34px 0 26px;color:var(--muted);font-size:14px;max-width:470px}
.hero-trust{padding:0;margin-top:auto;align-items:center}.hero-trust li{font-size:12px;line-height:1.65;padding:0 16px;display:block}.hero-trust li:first-child{padding-left:0}
.section{padding-top:92px;padding-bottom:92px}.works,.faq-section,.approach{background:transparent}
.works{margin-top:65px}.works>.wrap,#benefits,.approach,.faq-layout{border-top:1px solid var(--line)}
.works>.wrap{padding-top:66px}#benefits{padding-top:66px}.approach{padding-top:66px}.faq-layout{padding-top:66px}
.section-heading{align-items:end}.section-heading h2,.faq-layout h2,.request h2{font-size:clamp(34px,3.7vw,54px);letter-spacing:-.045em;line-height:1.16}
.section-heading .eyebrow,.faq-layout .eyebrow,.request .eyebrow{color:var(--purple);font-size:10px;letter-spacing:.11em}
.section-heading>p{max-width:350px;font-size:14px;line-height:1.85}
.filters{gap:8px}.filters button{border-color:var(--line);border-radius:3px;min-height:44px;padding:10px 18px}
.filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:white}
.gallery-count{font-size:12px;margin:19px 0 24px}.gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:42px 24px}
.project-card{grid-column:span 4}.project-card:first-child{grid-column:span 7}.project-card:nth-child(2){grid-column:span 5}
.gallery-item{aspect-ratio:5/4;border-radius:5px}.project-card:first-child .gallery-item,.project-card:nth-child(2) .gallery-item{aspect-ratio:1.46}
.gallery-item:after{display:none}.gallery-item img{transition:transform .3s;object-fit:cover}
.gallery-item .angle-count{position:absolute;top:13px;left:13px;right:auto;bottom:auto;padding:5px 9px;background:var(--paper);color:var(--ink);font-size:11px;border-radius:3px;display:block}
.gallery-item .photo-open{position:absolute;bottom:13px;right:13px;left:auto;top:auto;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:19px}
.project-caption{padding-top:16px;align-items:start;gap:10px}.project-caption>div{min-width:0;flex:1}.project-caption h3{font-size:17px;font-weight:500;line-height:1.5}
.project-type{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}.want-similar{color:#175f5d;font-size:11px;white-space:nowrap;padding:9px 0}
.project-stage{color:var(--muted);font-size:11px;margin-top:5px}.installation-project{opacity:1}
.benefit-grid{grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:0}.benefit{padding:26px 20px 20px}.benefit-number{font-size:15px;color:var(--accent);font-weight:600;letter-spacing:0;margin-bottom:23px}
.benefit h3{font-size:16px;font-weight:600;min-height:44px}.benefit p{font-size:12px;line-height:1.8}.workshop-notes{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--line);margin-top:22px;padding-top:23px;color:var(--muted);font-size:13px;line-height:1.8}.workshop-notes p:first-child{color:var(--ink)}
.selection-background{background:#efebe2;padding-top:70px;padding-bottom:70px}.selection-layout{grid-template-columns:.72fr 1.28fr;gap:38px}
.selection-aside{background:transparent;border-radius:4px}.selection-aside>img{height:300px;border-radius:4px;object-fit:cover}.selection-aside>div{padding:25px 0}.selection-aside h3{font-size:27px}.selection-aside p:not(.eyebrow){color:var(--muted);font-size:13px}
.wizard{background:var(--paper);border-color:#d3ccbf;padding:30px;scroll-margin-top:20px}
.step-progress{gap:3px;margin-bottom:25px;padding-bottom:20px}.step-progress button{font-size:10px;color:var(--muted);line-height:1.4}
.step-progress button[aria-current=step]>span:first-child{background:var(--accent);border-color:var(--accent)}.step-progress button>span:first-child{border-color:#a6b8ae}
.wizard h3{font-size:28px;line-height:1.3}.step-description{font-size:13px;line-height:1.8;margin-bottom:24px}.wizard-notice{background:#e8eee8;border-left:2px solid var(--accent);padding:12px 14px;font-size:12px;line-height:1.7;margin-bottom:22px}
.product-grid{grid-template-columns:1fr 1fr;gap:10px}.choice{background:transparent;padding:14px 12px;min-height:104px;gap:10px}.choice:has(input:checked){border-color:var(--accent);background:#e9efea}.choice input{accent-color:var(--accent)}.choice>span{font-size:13px}.choice small{font-size:10px;line-height:1.6}.choice .choice-symbol{font-family:inherit;font-size:13px;color:var(--accent);align-self:start}
.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.answer-field{min-width:0}.answer-field label,.field-label{font-size:13px;line-height:1.6;margin-bottom:8px;font-weight:500}
.answer-field input[type=text],.answer-field select,.answer-field textarea{font-size:16px;width:100%;min-height:50px;background:#fffcf6;border:1px solid #c7c9bc;color:var(--ink);padding:12px;border-radius:4px;margin:0;line-height:1.5}
.answer-field input:disabled,.answer-field select:disabled{background:#e9e6dd;color:#73796e;opacity:.7}.answer-field [aria-invalid=true]{border-color:#923c2c}
.field-wide{grid-column:1/-1}.field-hint{font-size:11px;color:var(--muted);line-height:1.65;margin-top:7px}.field-error{color:#923c2c;font-size:11px;line-height:1.7}
.check-options{padding:0;margin:0;border:0;display:flex;flex-wrap:wrap;gap:8px}.check-options label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:10px 13px;min-height:46px;border-radius:4px;font-weight:400;margin:0;cursor:pointer}.check-options label:has(input:checked){border-color:var(--accent);background:#e9efea}.check-options input{accent-color:var(--accent);width:18px;height:18px}
.unknown-toggle{min-height:44px;margin-bottom:18px}.unknown-toggle input{accent-color:var(--accent)}.measure-guide{display:flex;gap:20px;align-items:center;margin:0 0 24px;padding:16px;background:#ecefe6;border-radius:4px}.measure-guide svg{width:150px;max-width:40%;height:90px;color:var(--accent);flex-shrink:0}.measure-guide svg text{font:13px 'Manrope',sans-serif;fill:var(--ink)}.measure-guide figcaption{font-size:11px;line-height:1.7;color:var(--muted)}
.notes-field{margin-top:24px}.notes-field label{font-size:13px}.notes-field textarea{background:#fffcf6;font-size:16px;border-radius:4px;border-color:#c7c9bc}.reference-banner{background:#e8eee8;border-color:var(--accent);line-height:1.6}.reference-banner button{flex-shrink:0}
.restart{background:transparent;border:0;border-bottom:1px solid #c5c9bd;color:var(--muted);font-size:11px;min-height:44px;margin-top:12px;padding:8px 0}
.request-summary>div{grid-template-columns:minmax(110px,.8fr) 1.3fr;line-height:1.75;font-size:12px}.message-preview{border-color:var(--line);padding:14px}.message-preview summary{font-size:12px;cursor:pointer}.message-preview textarea{font-size:13px;line-height:1.7;background:#fffcf6;border:1px solid var(--line);padding:12px;margin-top:13px}
.request-actions{gap:10px}.request-actions .button{font-size:12px;padding:14px 17px}.copy-request{font-size:12px;color:#175f5d}.step-navigation .button{gap:14px}.step-tip{font-size:12px}
.order-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 32px;padding:12px 0 0;list-style:none;border:0}.order-steps li{position:relative;border:0!important;padding:0 10px 0 0!important}
.order-steps li:before{content:'';position:absolute;left:32px;right:-32px;top:18px;height:1px;background:#b4c5ba}.order-steps li:nth-child(3n):before{right:0}
.order-steps li>span{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font-size:11px;background:var(--paper);margin-bottom:22px;z-index:1}
.order-steps h3{font-size:17px;line-height:1.5;margin-bottom:10px}.order-steps p{font-size:13px;color:var(--muted);line-height:1.8;max-width:300px}
.faq-layout{grid-template-columns:.75fr 1.25fr;gap:60px}.faq-list summary{font-size:14px;line-height:1.7}.faq-list summary>span{color:var(--purple)}.faq-list details>p{font-size:13px;color:var(--muted);line-height:1.9}.contact-card{background:transparent;border-color:var(--line)}.request-copy{font-size:16px;line-height:1.85;max-width:430px}.contact-links a{color:#175f5d}.contact-phone{font-size:clamp(22px,2.4vw,34px)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{padding:25px;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:4px}.review-card blockquote{margin:0 0 20px;white-space:pre-wrap;line-height:1.9;font-size:14px}.review-card p{font-size:12px;color:var(--muted)}.review-card a{display:block;margin-top:14px;font-size:12px}
#photo-dialog{background:var(--paper);max-height:94dvh}#photo-dialog .close{position:sticky;top:10px;display:block;margin:10px 12px -54px auto;z-index:3;background:var(--paper)}#photo-dialog>img{max-height:calc(94dvh - 210px);background:#ebe6dd;object-fit:contain;min-height:80px}
.dialog-bottom{align-items:center}.dialog-bottom p{font-size:14px;line-height:1.7}.dialog-bottom .dialog-stage{font-size:11px;color:var(--muted)}.gallery-thumbs button[aria-pressed=true]{border-color:var(--accent)}.gallery-controls button{min-width:44px;min-height:44px}
.project-choice{border-top:1px solid var(--line);margin:0 20px 20px;padding-top:15px}.project-choice p{font-size:13px;margin-bottom:12px}.project-choice>div{display:flex;flex-wrap:wrap;gap:10px}.project-choice .button{font-size:12px;padding:12px 18px;min-height:44px}
#photo-error{padding:75px 25px;text-align:center;font-size:14px}#photo-error button{min-height:44px;margin-top:14px;color:#175f5d;border:1px solid var(--line);background:var(--paper);padding:10px 18px}
.mobile-action{background:var(--paper);padding-bottom:max(10px,env(safe-area-inset-bottom))}.mobile-action a:first-child{background:var(--accent);border-color:var(--accent)}.mobile-action.keyboard-open{display:none!important}
@media(max-width:1100px){.hero{gap:30px;min-height:600px}.hero-photo{min-height:500px}.hero h1{font-size:clamp(40px,4.4vw,58px)}.hero-description{font-size:16px}.hero-trust li{font-size:11px;padding:0 11px}.selection-layout{grid-template-columns:.55fr 1fr;gap:25px}.wizard{padding:25px}.benefit{padding:24px 13px}.benefit h3{font-size:14px}.gallery{gap:30px 18px}.project-card{grid-column:span 6}.project-card:first-child,.project-card:nth-child(2){grid-column:span 6}.project-caption{display:block}.want-similar{margin-top:3px}}
@media(max-width:900px){.selection-layout{grid-template-columns:1fr}.selection-aside{display:none}.benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.benefit:nth-child(3){border-right:0}.benefit:nth-child(4){padding-left:0}.faq-layout{gap:30px}.hero-trust{flex-wrap:wrap;gap:14px 0}.hero-trust li{flex-basis:50%}.hero-trust li:nth-child(2){border-right:0}.hero-trust li:last-child{padding-left:0}}
@media(max-width:700px){
 .header{height:88px}.hero{grid-template-columns:1fr;gap:28px;padding-top:0;min-height:0}.hero-copy{padding:24px 0 0}.hero .eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:24px;gap:14px}.hero .eyebrow:after{width:30px}
 .hero h1{font-size:clamp(31px,7.4vw,48px);line-height:1.15;margin-bottom:22px;letter-spacing:-.055em}.hero-description{font-size:15px;line-height:1.8;max-width:none;margin-bottom:25px}.hero-actions{gap:23px}.hero-actions .button{font-size:12px;padding:15px 20px;gap:20px}.hero-actions .text-link{font-size:12px}
 .lead-time{font-size:12px;line-height:1.8;margin:26px 0 24px;padding-left:12px}.hero-trust{margin:0;gap:12px 0}.hero-trust li{flex:1;flex-basis:30%;font-size:10px;line-height:1.6;padding:0 9px}.hero-trust li:nth-child(2){border-right:1px solid var(--line)}.hero-trust li:last-child{padding-left:9px}
 .hero-photo{height:410px;min-height:0;max-height:none;margin-top:6px}.hero-photo:before{right:-7px;top:-8px}.hero-photo img{object-position:center 53%}
 .section{padding-top:58px;padding-bottom:58px}.works{margin-top:25px}.works>.wrap,#benefits,.approach,.faq-layout{padding-top:48px}.section-heading{margin-bottom:28px}.section-heading h2,.faq-layout h2,.request h2{font-size:34px}.section-heading>p{font-size:13px;margin-top:18px}
 .filters{gap:7px}.filters button{font-size:11px;padding:10px 12px;min-height:44px}.gallery-count{font-size:11px}.gallery{grid-template-columns:1fr;gap:32px}.project-card,.project-card:first-child,.project-card:nth-child(2){grid-column:auto}.gallery-item,.project-card:first-child .gallery-item,.project-card:nth-child(2) .gallery-item{aspect-ratio:5/4}.project-caption{display:flex}.project-caption h3{font-size:15px}.project-type{font-size:9px}.want-similar{font-size:10px;margin:0}.project-caption{gap:10px}
 .benefit-grid{grid-template-columns:1fr 1fr}.benefit{padding:24px 14px!important}.benefit:nth-child(odd){padding-left:0!important;border-right:1px solid var(--line)}.benefit:nth-child(even){border-right:0}.benefit:last-child{border-right:0}.benefit-number{margin-bottom:16px}.benefit h3{min-height:0;font-size:14px}.benefit p{font-size:11px}.workshop-notes{grid-template-columns:1fr;gap:15px;font-size:12px}
 .selection-background{padding-top:48px;padding-bottom:48px}.wizard{padding:23px 18px}.wizard h3{font-size:24px}.step-progress button{font-size:8px;gap:7px;line-height:1.5}.step-progress button>span:first-child{width:25px;height:25px}.step-description{font-size:12px}.product-grid{grid-template-columns:1fr}.choice{min-height:77px}.choice>span{font-size:14px}.choice small{font-size:11px}.answer-grid{grid-template-columns:1fr;gap:18px}.answer-field label,.field-label{font-size:13px}.field-wide{grid-column:auto}.measure-guide{gap:12px;padding:13px}.measure-guide svg{width:100px;max-width:38%;height:85px}.measure-guide figcaption{font-size:10px}.unknown-toggle{font-size:12px}.wizard-notice{font-size:11px}.reference-banner{font-size:11px;padding:10px 12px}
 .step-navigation{align-items:center;gap:8px}.step-navigation .button{font-size:11px;padding:13px 15px;gap:13px}.step-navigation>small{font-size:9px;max-width:80px}.step-back{font-size:12px}.request-summary>div{grid-template-columns:1fr;gap:4px;padding:12px 0}.request-summary dd{font-size:13px}.request-actions .button{width:100%;justify-content:center;white-space:normal;text-align:center}.message-preview{padding:11px}.message-preview textarea{font-size:12px;padding:10px}.check-options{gap:7px}.check-options label{font-size:12px;padding:10px}
 .order-steps{grid-template-columns:1fr;gap:0;padding:0}.order-steps li{padding:0 0 30px 58px!important;min-height:100px}.order-steps li>span{position:absolute;left:0;top:0;width:34px;height:34px;margin:0}.order-steps li:before,.order-steps li:nth-child(3n):before{left:16px;right:auto;top:34px;width:1px;height:calc(100% - 34px);background:#b4c5ba}.order-steps li:last-child:before{display:none}.order-steps h3{font-size:16px;margin-bottom:7px}.order-steps p{font-size:12px;max-width:none}.order-steps li:last-child{padding-bottom:0!important}
 .faq-layout{grid-template-columns:1fr;gap:30px}.faq-list summary{font-size:13px}.faq-list details>p{font-size:12px}.request-copy{font-size:14px;margin-top:20px}.contact-phone{font-size:25px}.contact-card{padding:25px 20px}.reviews-grid{grid-template-columns:1fr}
 #photo-dialog>img{max-height:calc(94dvh - 235px);min-height:90px}.dialog-bottom>div:first-child{flex-basis:65%}.dialog-bottom p{font-size:12px}.project-choice{margin:0 12px 16px}.project-choice>div{display:grid;grid-template-columns:1fr 1fr}.project-choice .button{padding:12px;font-size:11px;justify-content:center}.gallery-thumbs button{width:62px;height:50px}
}
@media(max-width:360px){.wizard{padding:20px 13px}.project-caption{display:block}.hero-actions{gap:15px}.hero-actions .button{padding:14px 17px;font-size:11px}.hero-trust li{font-size:9px}.hero-photo{height:340px}.step-progress button{font-size:7.5px}.step-navigation .button{padding:12px 13px}}
@media(max-height:500px){#photo-dialog>img{max-height:40dvh;min-height:70px}.dialog-bottom{padding:10px 14px}.gallery-thumbs{padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
