/* Window Wise: photography-led, high-contrast homepage refresh. */
:root{--ink:#0d2c45;--sky:#58bbe8;--paper:#fff;--mist:#eef7fb;--text:#18384b;--muted:#526d7c}
body{background:#fff;color:var(--text)}
.wrap{width:min(1300px,calc(100% - 64px))}
header{background:#0a2941;box-shadow:0 5px 26px #061d2b30}
.header-inner{min-height:94px}
.logo{width:205px}
.header-quote{background:#62c5ed;color:#092b3e;padding:13px 20px}
.hero{min-height:680px;background:linear-gradient(115deg,#092b43,#16425d);overflow:hidden}
.hero:before{inset:0 0 0 46%;background:url('window-hero.webp') center/cover;filter:none}
.hero:after{height:7px;background:linear-gradient(90deg,#7ad5f4,#2e9fd1 68%,#e4f8ff)}
.hero-inner{position:relative;z-index:1;padding:92px 0 100px}
.hero-inner:before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:-10vw;width:calc(56% + 10vw);background:linear-gradient(90deg,#092b43 0%,#103651 75%,#103651e8 92%,transparent)}
.hero-brand{border-left-color:#7ed2f2}
.hero-brand strong{font-size:clamp(2.35rem,3.5vw,3.5rem)}
.hero h1{max-width:710px;font-size:clamp(4rem,6.2vw,6.8rem);margin:30px 0 26px}
.hero h1 em{color:#9edbf5}
.hero p{max-width:560px;font-size:1.16rem}
.hero .btn-primary{background:#69c9ef;box-shadow:0 8px 22px #041c2f45}
.hero-caption{right:25px;bottom:26px;background:#092b43cf}
.trust-credentials{background:#0b2b42}
.trust-badges{padding:20px 0}
.proof{background:#e9f5fa;border-bottom:1px solid #c0e0ed}
.proof-inner{padding:23px 0}
.proof-item{font-size:clamp(1.08rem,1.5vw,1.35rem)}
.proof .proof-icon{width:68px;height:68px;box-shadow:5px 5px 0 #cce9f5}

.project-showcase{padding:100px 0 105px;background:#fff}
.showcase-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:35px}
.showcase-heading h2{font-size:clamp(3rem,5vw,5.4rem);margin:14px 0 0;line-height:1.04}
.showcase-heading h2 em{font-weight:400;color:#2788b9}
.showcase-heading p{max-width:360px;margin:0 0 8px;color:#526e7b;font-size:1.08rem;line-height:1.65}
.showcase-grid{display:grid;grid-template-columns:1.48fr .78fr .78fr;gap:14px;height:625px}
.showcase-photo{position:relative;display:block;overflow:hidden;background:#123c55;color:#fff;text-decoration:none;isolation:isolate}
.showcase-photo img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.75,.2,1)}
.showcase-photo--home img{object-position:center 45%}
.showcase-photo--glass img{object-position:center 50%}
.showcase-photo--detail img{object-position:center 46%}
.showcase-photo:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#08263bd9);pointer-events:none}
.showcase-photo span{position:absolute;z-index:1;bottom:26px;left:28px;right:22px;display:block}
.showcase-photo small{display:block;margin-bottom:8px;color:#b9e9fa;font-size:.75rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.showcase-photo strong{display:block;font:400 clamp(1.5rem,2.2vw,2.45rem)/1.12 Georgia,serif;letter-spacing:-.035em}
.showcase-photo:hover img,.showcase-photo:focus-visible img{transform:scale(1.055)}

.services.section{padding:100px 0 110px;background:#f6fafc;border-top:7px solid #bddfec}
.service-head{align-items:end;margin-bottom:52px}
.service-head h2{font-size:clamp(3rem,5vw,5.2rem)}
.service-head p{font-size:1.14rem;line-height:1.7;max-width:445px}
.feature-service,.feature-service.feature-service--window{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:6%;min-height:610px;margin:24px 0;padding:clamp(34px,4vw,56px);background:#fff;border:0;border-radius:0;box-shadow:none}
.feature-service:nth-of-type(odd){background:#e6f3f9}
.feature-service.feature-service--window{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
.feature-service .before-after{width:100%;max-width:none;margin:0;border:0;border-radius:8px;box-shadow:0 18px 36px #0c30472e}
.feature-service.feature-service--window .before-after{grid-column:1;grid-row:1;margin:0}
.feature-service h3{font-size:clamp(2.8rem,4.1vw,4.5rem);margin:13px 0 24px}
.feature-service p{font-size:1.12rem;line-height:1.75;max-width:560px}
.feature-service a{color:#096b9e;text-decoration-thickness:2px;text-underline-offset:6px}
.feature-service .kicker{color:#197aab}
.feature-service .project-preview{max-width:560px;margin-top:27px}
.feature-service .project-preview img{height:165px}
.feature-service .screen-compare{aspect-ratio:16/9}
.more-care{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;align-items:start;margin-top:36px;padding:60px clamp(32px,5vw,70px);background:#e6f3f9;border-top:4px solid #4faed3}
.more-care h3{font:400 clamp(2.2rem,3.5vw,3.5rem)/1.1 Georgia,serif;letter-spacing:-.04em;color:#0d2c45;margin:16px 0 20px}
.more-care p{font-size:1.07rem;line-height:1.7;color:#526d7c;max-width:460px;margin:0}
.more-care-links a{display:block;padding:22px 0;border-bottom:1px solid #aecfdd;text-decoration:none;color:#0d2c45}
.more-care-links a:first-child{border-top:1px solid #aecfdd}
.more-care-links strong{display:block;font:400 clamp(1.5rem,2.2vw,2rem)/1.2 Georgia,serif}
.more-care-links span{display:block;color:#557080;margin-top:7px}
.more-care-links a:hover strong{color:#1375a5;text-decoration:underline;text-underline-offset:5px}
.service-note{margin:30px 5px 0;font-size:1rem}

.about.section{position:relative;overflow:hidden;padding:105px 0;background:radial-gradient(circle at 85% 10%,#1b5d7a85,transparent 42%),linear-gradient(120deg,#092940,#123d58);color:#fff;border-top:0}
.about-grid{grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.about-image img{height:610px;width:100%;object-fit:cover;object-position:67% center;border:8px solid #ffffff17}
.about-image:after{inset:22px -22px -22px 22px;background:#337da264}
.about-copy{position:relative}
.about .kicker{color:#8ed8f5}
.about h2{color:#fff;font-size:clamp(3rem,4.6vw,5rem);line-height:1.06}
.about h2 em{font-style:normal;color:#a7def4}
.about p{color:#e1eef4;font-size:1.1rem;line-height:1.75}
.about .statement{font:italic 400 clamp(1.6rem,2.3vw,2.45rem)/1.34 Georgia,serif;color:#fff;border-left:4px solid #76ccec;padding-left:25px;margin:35px 0}
.about .btn-primary{background:#6cc9eb;color:#072c42;margin-top:12px}

.reviews{background:linear-gradient(135deg,#edf7fb,#dceefa);color:#0e3149;border-top:0;border-bottom:1px solid #c0dfea}
.reviews:before{border-color:#2a81aa27}
.reviews .kicker{color:#197faf}
.reviews-intro h2{color:#0d2c45}
.rating-panel{background:#fff;border:1px solid #b9dce9;box-shadow:7px 8px 0 #d1e8f2}
.review-rating{color:#0d2c45}
.rating-panel p{color:#516c7c}
.reviews-intro a{color:#0a709e}
.reviews-intro a:hover{color:#074567}
.review-card{border:0;border-top:5px solid #4db0d7;box-shadow:18px 19px 0 #c8e5f1}
.review-controls{color:#2a5368}
.review-controls button{background:#fff;color:#0d2c45;border-color:#77b9d4}
.review-controls button:hover{background:#0d2c45;color:#fff}
.process{background:#fff}
.contact{background:linear-gradient(145deg,#edf7fb,#fff);border-top:6px solid #9ed5e9}
.jobber-shell{border:1px solid #b8d9e8;box-shadow:14px 16px 0 #d6ebf4}

@media(max-width:1150px){.logo{width:170px}.header-inner{gap:16px}.nav{gap:14px}.nav a{font-size:.83rem}}
@media(max-width:950px){
  .menu-toggle{display:block;margin-left:auto;background:none;border:1px solid #ffffff8a;color:#fff;padding:9px 12px;font-weight:700;cursor:pointer}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:18px 24px 24px;background:#0a2941;box-shadow:0 18px 28px #071c2b55;align-items:stretch;flex-direction:column;gap:0}
  .nav.open{display:flex}
  .nav a{padding:11px 4px;font-size:.96rem}
  .nav .holiday{margin:9px 0 4px;padding:12px 15px;white-space:normal}
}
@media(max-width:1050px){
  .showcase-grid{grid-template-columns:1.3fr 1fr;height:auto}
  .showcase-photo--home{grid-row:span 2;min-height:500px}
  .showcase-photo--glass,.showcase-photo--detail{min-height:240px}
  .feature-service,.feature-service.feature-service--window{gap:5%;padding:38px;min-height:0}
  .feature-service h3{font-size:clamp(2.5rem,4.2vw,3.8rem)}
  .about-grid{gap:6%}
}
@media(max-width:760px){
  .wrap{width:calc(100% - 36px)}
  .header-inner{min-height:79px}
  .logo{width:163px}
  .hero{min-height:0}
  .hero:before{inset:0;background:linear-gradient(90deg,#08283fd9,#08283f91),url('window-hero.webp') 62% center/cover}
  .hero-inner{padding:76px 0 88px}
  .hero-inner:before{display:none}
  .hero h1{font-size:clamp(3.25rem,10.7vw,5.4rem);max-width:580px}
  .hero p{max-width:540px}
  .project-showcase{padding:67px 0 73px}
  .showcase-heading{display:block;margin-bottom:27px}
  .showcase-heading h2{font-size:clamp(2.7rem,8vw,4.5rem)}
  .showcase-heading p{margin:20px 0 0;max-width:620px}
  .showcase-grid{grid-template-columns:1fr 1fr;gap:9px}
  .showcase-photo--home{grid-column:span 2;grid-row:auto;min-height:360px}
  .showcase-photo--glass,.showcase-photo--detail{min-height:270px}
  .showcase-photo span{bottom:17px;left:17px;right:13px}
  .showcase-photo strong{font-size:clamp(1.35rem,4vw,2rem)}
  .showcase-photo small{font-size:.63rem}
  .services.section{padding:70px 0 76px}
  .feature-service,.feature-service.feature-service--window{grid-template-columns:1fr;gap:30px;padding:27px;margin:18px 0}
  .feature-service .before-after,.feature-service.feature-service--window .before-after{grid-column:1;grid-row:1;width:100%;max-width:590px;margin:0 auto}
  .feature-service > div:first-child:not(.before-after),.feature-service .feature-copy,.feature-service--window .feature-copy{grid-column:1;grid-row:2}
  .feature-service h3{font-size:clamp(2.65rem,8vw,4rem);margin-bottom:13px}
  .feature-service p{font-size:1.04rem}
  .more-care{grid-template-columns:1fr;gap:28px;padding:35px 29px}
  .about.section{padding:75px 0}
  .about-grid{grid-template-columns:1fr;gap:45px}
  .about-image img{height:420px}
  .about h2{font-size:clamp(2.8rem,7vw,4.3rem)}
  .review-card{box-shadow:8px 9px 0 #c8e5f1}
}
@media(max-width:520px){
  .hero-brand strong{font-size:2.3rem}
  .hero h1{font-size:clamp(3.15rem,11vw,4.2rem)}
  .hero .buttons{gap:10px}
  .hero .btn{width:100%}
  .showcase-photo--home{min-height:280px}
  .showcase-photo--glass,.showcase-photo--detail{min-height:220px}
  .showcase-photo--detail img{object-position:center 32%}
  .feature-service,.feature-service.feature-service--window{padding:20px 20px 27px}
  .feature-service .project-preview img{height:120px}
  .about-image img{height:310px}
  .about-image:after{inset:12px -8px -12px 8px}
  .about .statement{font-size:1.75rem}
}
@media(prefers-reduced-motion:reduce){.showcase-photo img{transition:none}.hero:before{animation:none}}
