:root{--navy:#082649;--red:#cc1525;--muted:#4d6078}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#fff;color:var(--navy);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #e9b73c;outline-offset:5px}.skip{position:absolute;top:-80px;left:12px;z-index:20;background:#fff;padding:12px}.skip:focus{top:12px}.opening{position:relative;isolation:isolate;min-height:620px;height:45.5vw;overflow:hidden}.scene{position:absolute;inset:0;z-index:-1}.scene-image{position:absolute;inset:0;background-size:cover;background-position:center bottom}.fixed{background-image:url('assets/house-v3.png')}.damaged{background-image:url('assets/damaged-v3.png');clip-path:polygon(10.5% 53%,54.5% 53%,54.5% 89%,10.5% 89%);animation:repair 8s infinite;opacity:0}@keyframes repair{0%{opacity:0}10%,40%{opacity:1}55%,100%{opacity:0}}.paused .damaged{animation-play-state:paused}.masthead{height:165px;display:grid;grid-template-columns:1fr 330px 1fr;align-items:center;gap:30px;max-width:1100px;margin:auto;padding:8px 20px}.brand{display:block;mix-blend-mode:multiply}.brand img{display:block;width:100%;height:165px;object-fit:contain}.phone{font-weight:700;text-shadow:none}.person{display:block;font-size:22px;margin-bottom:9px}.number{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:28px}.phone-icon{display:inline-flex;border-radius:50%;background:var(--red);color:#fff;align-items:center;justify-content:center;width:40px;height:40px;font-size:25px;text-shadow:none}.left{text-align:center}.right{text-align:center}nav{height:48px;background:var(--red);display:flex;justify-content:center;align-items:center;gap:65px;color:#fff;font-weight:700;font-size:17px}nav a{padding:13px 5px}nav a:hover{text-decoration:underline;text-underline-offset:7px}.hero{display:flex;align-items:center;justify-content:flex-end;height:calc(100% - 213px);padding:30px 9%;position:relative}.hero-panel{width:402px;background:rgba(5,31,59,.91);padding:30px;color:#fff;box-shadow:0 16px 50px #071d3225}.hero h1{font-size:35px;line-height:1.16;margin:0;letter-spacing:-.8px}.rule{display:block;width:62px;height:3px;background:var(--red);margin:22px 0 16px}.hero p{font-size:23px;line-height:1.35;margin:0 0 23px}.button{background:var(--red);display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:14px 22px;font-size:19px;font-weight:700;border-radius:5px}.button:hover{background:#ad1020}.motion{position:absolute;bottom:14px;left:20px;background:#082649c9;color:#fff;border:1px solid #ffffff7a;padding:7px 10px;border-radius:4px;font-size:12px;cursor:pointer}.section{max-width:1320px;margin:auto;padding:48px 38px}.section-title{display:flex;align-items:center;justify-content:center;gap:35px;margin:0 0 28px}.section-title span{height:1px;background:#d0d8e0;width:190px}h2{font-size:42px;letter-spacing:-1.1px;line-height:1.12;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cards article{border:1px solid #e1e7ee;border-radius:7px;overflow:hidden}.cards img{width:100%;height:172px;display:block;object-fit:cover}.card-body{padding:22px 20px 26px}.cards h3{font-size:25px;line-height:1.15;margin:0 0 12px;letter-spacing:-.6px}p{line-height:1.65}.cards p{color:var(--muted);font-size:16px;margin:0}.about{border-top:1px solid #e1e7ee;display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:55px;padding-bottom:60px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--red);margin:0 0 16px}.about p:not(.eyebrow){font-size:17px;color:var(--muted);margin:0 0 18px}.text-link{font-weight:700;border-bottom:1px solid var(--red);padding-bottom:4px}.contact{background:var(--navy);color:#fff}.contact .section{text-align:center;padding-top:60px;padding-bottom:60px}.contact .eyebrow{color:#ff8e98}.contact-intro{color:#c5d1de;font-size:17px}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:850px;margin:30px auto}.contact-cards a{background:#ffffff08;border:1px solid #ffffff30;padding:25px}.contact-cards a:hover{background:#ffffff12}.contact-cards .person{font-size:18px;font-weight:400;color:#cad5e2}.contact-cards strong{display:block;font-size:32px}.call-label{display:inline-flex;gap:40px;background:var(--red);font-weight:700;padding:12px 24px;margin-top:20px;border-radius:4px}.area{color:#c5d1de;font-size:14px;margin-bottom:0}footer{display:flex;justify-content:space-between;padding:23px max(25px,calc((100vw - 1244px)/2));font-size:13px}footer span{font-weight:700}@media(min-width:1800px){.masthead{height:190px;grid-template-columns:1fr 330px 1fr;max-width:1200px}.brand img{height:170px}.hero{height:calc(100% - 238px)}.hero-panel{width:440px}.hero h1{font-size:40px}}@media(max-width:900px){.masthead{grid-template-columns:1fr 230px 1fr;gap:10px;height:145px}.brand img{height:130px}.number{font-size:19px;gap:5px}.person{font-size:17px}.phone-icon{width:28px;height:28px;font-size:18px}.hero{height:calc(100% - 193px);padding:25px 5%}.hero-panel{width:330px;padding:25px}.hero h1{font-size:29px}.cards h3{font-size:21px}.section{padding:35px 24px}.about{gap:35px}h2{font-size:35px}}@media(max-width:600px){.opening{height:auto;min-height:0;overflow:hidden}.scene-image{background-size:auto 420px;background-position:38% 156px;background-repeat:no-repeat;background-color:#e8f3fb}.damaged{clip-path:none;animation:none;display:none}.masthead{height:156px;grid-template-columns:1fr 1fr;grid-template-rows:95px 61px;padding:0 15px;gap:0 10px}.brand{grid-column:1 / -1;grid-row:1;width:180px;margin:auto}.brand img{height:95px}.phone{grid-row:2}.person{font-size:13px;margin-bottom:4px}.number{font-size:16px;justify-content:center}.phone-icon{width:23px;height:23px;font-size:15px}nav{height:44px;gap:35px;font-size:14px}.hero{height:auto;display:block;padding:275px 18px 25px}.hero-panel{width:100%;padding:24px}.hero h1{font-size:31px}.hero p{font-size:20px}.hero p br{display:none}.hero .motion{display:none}.button{width:100%}.section{padding:34px 20px}.section-title{gap:16px;margin-bottom:23px}.section-title span{width:40px}h2{font-size:31px}.cards{grid-template-columns:1fr;gap:25px}.cards img{height:190px}.cards h3{font-size:25px}.card-body{padding:18px 0 22px}.about{grid-template-columns:1fr;gap:24px}.contact-cards{grid-template-columns:1fr;gap:15px}.contact-cards strong{font-size:29px}.contact .section{padding-top:40px;padding-bottom:40px}footer{font-size:12px;padding:20px}.motion{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.damaged{animation:none;display:none}.motion{display:none}}

/* Reference layout: photograph reaches the top edge; no header overlay. */
.service-details{margin-top:32px;padding:30px 32px;background:#f5f7f9;border:1px solid #dce2e8;border-radius:8px}.service-details h3{margin:0 0 24px;font-size:25px}.service-details ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:19px 40px}.service-details li{position:relative;padding-left:28px;font-size:16px;color:#263c55}.service-details li:before{content:'✓';position:absolute;left:0;color:var(--red);font-weight:bold}
.about-wrap{background:var(--navy);color:white}.about{display:block;text-align:center;max-width:1000px;border:0;padding-top:52px;padding-bottom:52px}.about-logo{display:block;width:300px;height:185px;object-fit:contain;margin:0 auto 22px;background:white;border-radius:8px}.about h2{margin-bottom:22px}.about p:not(.eyebrow){color:#dce6ef;max-width:780px;margin:0 auto 14px}.about-call{margin-top:16px}.contact{background:#f6f8fa;color:var(--navy)}.contact-intro,.contact .area{color:var(--muted)}.contact .eyebrow{color:var(--red)}.contact-cards a{background:white;border-color:#dce2e8;border-radius:8px}.contact-cards a:hover{background:#edf2f7}.contact-cards .person{color:var(--muted)}
@media(min-width:901px){.hero-panel{transform:translateY(-8px)}.brand{overflow:hidden}.brand img{width:330px;height:185px;max-width:none;margin-top:-10px}.masthead{gap:20px}}
@media(min-width:601px) and (max-width:900px){.opening{height:620px}.scene-image{background-size:auto 100%;background-position:43% bottom}.brand img{height:140px}.hero-panel{width:310px}}
@media(max-width:600px){.opening{min-height:0}.scene-image{background-size:auto 540px;background-position:38% 60px}.masthead{position:relative}.service-details{padding:24px 20px}.service-details ul{grid-template-columns:1fr;gap:15px}.about-logo{width:250px;height:155px}.about{padding-top:35px;padding-bottom:35px}.hero-panel{transform:none}}

@media(min-width:901px){.scene-image{background-position:center -3.8vw}}
@media(max-width:600px){.scene-image{background-size:auto 600px;background-position:38% top}}

/* Soft white fade behind the masthead, keeping the house visible. */
.masthead{position:relative}
.masthead::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;bottom:-35px;left:calc((100% - 100vw)/2);width:100vw;background:linear-gradient(to bottom,rgba(255,255,255,.76) 0%,rgba(255,255,255,.62) 55%,rgba(255,255,255,.28) 80%,rgba(255,255,255,0) 100%)}
@media(max-width:600px){.masthead::before{bottom:-25px;background:linear-gradient(to bottom,rgba(255,255,255,.78),rgba(255,255,255,.52) 70%,rgba(255,255,255,0))}}

/* Symmetric contact blocks; each name centered over its phone number. */
.masthead .phone{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0}
.masthead .number{justify-content:center}
.masthead .person{width:100%;text-align:center}
@media(min-width:901px){.masthead{grid-template-columns:minmax(0,1fr) 330px minmax(0,1fr);max-width:1160px;gap:35px}.masthead .number{font-size:27px}.masthead .person{font-size:22px}}
