:root{
  --green:#2bafc2;
  --green2:#14718d;
  --cyan:#48c4d5;
}
.hero{grid-template-columns:minmax(0,1.04fr) minmax(300px,.96fr)}
.hero>.particles{position:absolute;inset:0;pointer-events:none}
.hero>.hero-copy{grid-column:1;grid-row:1}
.hero>.hero-portrait{grid-column:2;grid-row:1}
.story-media .story-main-photo{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 32%}
.story-media .story-inset-photo{position:absolute;z-index:3;right:-38px;bottom:30px;width:34%;height:auto;aspect-ratio:1/1;object-fit:cover;border:5px solid #071011;border-radius:20px;box-shadow:0 18px 46px rgba(0,0,0,.55),0 0 0 1px rgba(45,199,205,.5)}
.story-media .experience{z-index:4;left:22px;right:auto}
.grid-bg{
  background-image:linear-gradient(rgba(22,143,165,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(22,143,165,.07) 1px,transparent 1px);
}
.hero-portrait{
  aspect-ratio:2/3;
  min-height:0;
  max-width:520px;
  justify-self:end;
  align-self:start;
  margin-top:0;
  background:linear-gradient(145deg,rgba(53,174,203,.82),rgba(20,113,141,.18) 42%,rgba(22,143,165,.72));
  box-shadow:0 0 0 1px rgba(22,143,165,.28),0 35px 100px rgba(0,0,0,.56),0 0 70px rgba(53,174,203,.18);
}
.hero-portrait img{object-fit:cover;object-position:center top}
.hero .kicker{border-color:rgba(22,143,165,.45);background:rgba(22,143,165,.09)}
.hero-truth{border-left-color:var(--green);background:linear-gradient(90deg,rgba(22,143,165,.13),rgba(22,143,165,.025))}
.portrait-badge{border-color:rgba(22,143,165,.42)}
.btn-green{box-shadow:0 0 30px rgba(22,143,165,.22)}
.btn-green:hover{box-shadow:0 0 48px rgba(22,143,165,.42)}
.story-media:after,
.popular,
.path-card{border-color:rgba(22,143,165,.4)}
.why-grid article:hover,
.service-card:hover,
.price-grid article:hover,
.article-grid article:hover,
.service-card.featured,
.team-card:hover{border-color:rgba(22,143,165,.55)}
.timeline li{border-top-color:rgba(22,143,165,.35)}
.response-row div{background:rgba(22,143,165,.075)}
.core-services .service-card.featured>span{background:rgba(22,143,165,.12)}
.service-card:after{background:var(--green)}
input:focus,textarea:focus{box-shadow:0 0 0 3px rgba(22,143,165,.16)}
.team-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-card:last-child{grid-column:auto}}
@media(max-width:940px){.hero{padding-inline:24px;gap:30px}.hero h1{font-size:clamp(3rem,7vw,4.6rem)}.hero-portrait{max-width:480px;min-height:0;margin-top:0}}
@media(max-width:680px){.hero{grid-template-columns:1fr}.hero>.hero-copy{grid-column:1;grid-row:1}.hero>.hero-portrait{grid-column:1;grid-row:2}.timeline li{border-left-color:rgba(22,143,165,.35)}.hero-portrait{max-width:460px;min-height:0;justify-self:center}.team-grid{grid-template-columns:1fr}.team-card:last-child{grid-column:auto}.story-media{margin-right:22px}.story-media .story-inset-photo{right:-22px;bottom:24px;width:36%;border-width:4px;border-radius:15px}}

/* Signature interactive contractor calendar diagnostic */
.leak-check{position:relative;overflow:hidden;padding:110px max(5vw,calc((100vw - 1240px)/2));background:radial-gradient(circle at 12% 15%,rgba(43,175,194,.17),transparent 36%),linear-gradient(135deg,#071113,#030606 62%);border-block:1px solid rgba(72,196,213,.22)}
.leak-check:before{content:"LEAK CHECK";position:absolute;right:-.04em;top:-.2em;color:rgba(72,196,213,.035);font-size:clamp(7rem,18vw,18rem);font-weight:950;line-height:1;letter-spacing:-.08em;white-space:nowrap;pointer-events:none}
.leak-check-inner{position:relative;z-index:1;display:grid;grid-template-columns:.86fr 1.14fr;gap:72px;align-items:center}
.leak-intro h2{max-width:650px;font-size:clamp(2.5rem,4.6vw,5rem);line-height:.95;letter-spacing:-.055em}
.leak-intro>p{max-width:590px;color:#aebbbd;font-size:1.08rem}
.leak-signature{margin-top:34px;padding-left:18px;border-left:3px solid var(--green)}
.leak-signature strong,.leak-signature span{display:block}.leak-signature span{color:#819094;font-size:.82rem}
.leak-panel{padding:30px;border-radius:28px}.leak-panel fieldset{margin:0 0 22px;padding:0;border:0}.leak-panel legend{margin-bottom:18px;font-size:1.15rem;font-weight:900}
.leak-panel label{display:flex;gap:14px;align-items:flex-start;margin:0;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer}
.leak-panel label:first-of-type{border-top:1px solid rgba(255,255,255,.08)}.leak-panel input{flex:0 0 auto;width:20px;height:20px;margin:4px 0 0;accent-color:var(--green)}
.leak-panel label span,.leak-panel label b,.leak-panel label small{display:block}.leak-panel label b{font-size:.93rem}.leak-panel label small{color:#849296;font-size:.76rem;font-weight:500}
.leak-panel .btn{width:100%}.leak-result{margin-top:18px;padding:20px;border:1px solid rgba(72,196,213,.35);border-radius:18px;background:rgba(43,175,194,.1)}
.leak-result span,.leak-result strong,.leak-result p,.leak-result a{display:block}.leak-result span{color:var(--green);font-size:.7rem;font-weight:950;letter-spacing:.16em}.leak-result strong{margin:4px 0;font-size:1.5rem}.leak-result p{margin-bottom:8px;color:#afbec0}.leak-result a{color:var(--cyan);font-weight:900}
@media(max-width:900px){.leak-check-inner{grid-template-columns:1fr;gap:42px}.leak-check{padding:85px 24px}}
@media(max-width:680px){.leak-check{padding:74px 20px}.leak-panel{padding:22px}.leak-intro h2{font-size:clamp(2.4rem,12vw,3.5rem)}}
