
/* Version 27: residential galleries, appliance estimator and project updates */
.environment-gallery{position:relative;min-height:390px;border-radius:24px;overflow:hidden;background:#081c3f;box-shadow:0 22px 55px rgba(4,23,53,.18)}
.environment-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s ease,transform 5s ease;transform:scale(1.03)}.environment-slide.active{opacity:1;transform:scale(1)}
.environment-slide img{width:100%;height:100%;object-fit:cover}.environment-slide figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:11px 14px;border-radius:12px;background:rgba(4,23,53,.8);color:#fff;font-weight:700;backdrop-filter:blur(8px)}
.environment-dots{position:absolute;top:18px;right:18px;display:flex;gap:6px}.environment-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5)}.environment-dots span.active{width:24px;border-radius:8px;background:#f4a000}
.appliance-estimator{padding:clamp(22px,4vw,42px);border:1px solid rgba(8,71,155,.14)}.estimator-customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}.appliance-estimator label{display:grid;gap:7px;font-weight:700}.appliance-estimator input,.appliance-estimator select,.appliance-estimator textarea{width:100%;border:1px solid #cbd5e1;border-radius:11px;padding:12px 13px;background:var(--surface,#fff);color:var(--text,#122033);font:inherit}.full-field{grid-column:1/-1}
.appliance-list{display:grid;gap:12px}.appliance-row{display:grid;grid-template-columns:minmax(190px,1.25fr) repeat(3,minmax(120px,1fr));gap:12px;align-items:start;padding:15px;border:1px solid rgba(8,71,155,.12);border-radius:15px;background:rgba(8,71,155,.035)}.appliance-check span{display:flex;align-items:center;gap:10px;min-height:44px}.appliance-check input{width:18px;height:18px}.appliance-row small{font-weight:500;color:var(--muted,#667085);font-size:.75rem}.appliance-row.is-active{border-color:#13a05a;background:rgba(19,160,90,.07)}
.estimator-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;padding:18px;border-radius:16px;background:linear-gradient(135deg,#061b3b,#0b3d75);color:#fff}.estimator-summary div{display:grid;gap:5px}.estimator-summary strong{font-size:1.5rem;color:#ffc247}.estimator-summary p{grid-column:1/-1;margin:0;color:#d9e7f8;font-size:.88rem}.estimator-submit{width:100%;justify-content:center}.form-note{text-align:center;color:var(--muted,#667085);font-size:.85rem}.custom-remove{color:#b42318;background:none;border:0;cursor:pointer}
.project-portfolio-grid{align-items:stretch}.project-detail-card{height:100%;display:flex;flex-direction:column}.project-detail-body{display:flex;flex:1;flex-direction:column}.project-result{margin-top:auto}.project-mini-slide img{width:100%;height:410px;object-fit:cover}
.residential-auto-gallery{position:relative;overflow:hidden}.residential-gallery-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 18px;scrollbar-width:none}.residential-gallery-track::-webkit-scrollbar{display:none}.residential-gallery-item{flex:0 0:min(420px,82vw);height:360px;margin:0;border-radius:20px;overflow:hidden;scroll-snap-align:start;box-shadow:0 16px 38px rgba(4,23,53,.16)}.residential-gallery-item img{width:100%;height:100%;object-fit:cover}.residential-gallery-controls{display:flex;justify-content:flex-end;gap:10px}.residential-gallery-controls button{width:44px;height:44px;border:0;border-radius:50%;background:#073d82;color:#fff;cursor:pointer}
@media(max-width:800px){.estimator-customer-grid{grid-template-columns:1fr}.appliance-row{grid-template-columns:1fr 1fr}.appliance-check{grid-column:1/-1}.project-mini-slide img{height:310px}.environment-gallery{min-height:340px}}
@media(max-width:520px){.appliance-row{grid-template-columns:1fr}.estimator-summary{grid-template-columns:1fr}.estimator-summary p{grid-column:1}.residential-gallery-item{height:300px}}
[data-theme="dark"] .appliance-estimator input,[data-theme="dark"] .appliance-estimator select,[data-theme="dark"] .appliance-estimator textarea{background:#071a37;color:#fff;border-color:#365172}[data-theme="dark"] .appliance-row{background:rgba(255,255,255,.035);border-color:#304b70}

/* Version 28: expanded residential project portfolio */
.residential-portfolio-summary{margin-top:30px;padding:30px;border:1px solid rgba(7,61,130,.14);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(241,247,255,.96));box-shadow:0 18px 48px rgba(4,23,53,.10)}
.residential-summary-intro{max-width:850px;margin-bottom:24px}.residential-summary-intro h3{margin:7px 0 10px;color:#082b5c;font-size:clamp(1.35rem,2vw,2rem)}.residential-summary-intro p{margin:0;color:#4b5e78;line-height:1.75}
.residential-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.residential-summary-item{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:18px;background:#fff;border:1px solid rgba(7,61,130,.1)}.residential-summary-item>i{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,#0d8f4d,#19bd6a);box-shadow:0 9px 22px rgba(13,143,77,.22)}.residential-summary-item span{display:grid;gap:4px}.residential-summary-item small{text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#0d8f4d}.residential-summary-item strong{color:#12345d;line-height:1.5}.residential-summary-outcome{display:flex;gap:14px;align-items:center;margin-top:18px;padding:18px 20px;border-radius:18px;background:#073d82;color:#fff}.residential-summary-outcome i{font-size:1.45rem;color:#f6b719}.residential-summary-outcome p{margin:0;line-height:1.6}.residential-gallery-item{background:#eef4fb}.residential-gallery-item img{transition:transform .5s ease}.residential-gallery-item:hover img{transform:scale(1.025)}
[data-theme="dark"] .residential-portfolio-summary{background:linear-gradient(145deg,#0b1d36,#102847);border-color:rgba(255,255,255,.10)}[data-theme="dark"] .residential-summary-intro h3,[data-theme="dark"] .residential-summary-item strong{color:#f5f8ff}[data-theme="dark"] .residential-summary-intro p{color:#c4d0e2}[data-theme="dark"] .residential-summary-item{background:#0d223e;border-color:rgba(255,255,255,.09)}
@media(max-width:760px){.residential-portfolio-summary{padding:22px}.residential-summary-grid{grid-template-columns:1fr}.residential-summary-outcome{align-items:flex-start}}
