/* Matt’s Property Maintenance — shared styles */
:root{--blue:#007fbd;--deep:#006494;--ink:#101b23;--muted:#53616a;--line:#dce3e7;--pale:#eef5f8;--white:#fff;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #007fbd;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(3.2rem,5.8vw,5.4rem);margin-bottom:26px}h2{font-size:clamp(2rem,3.3vw,3.1rem);margin-bottom:22px}h3{font-size:1.3rem;letter-spacing:-.025em}p{color:var(--muted)}.container{width:min(1200px,calc(100% - 64px));margin-inline:auto}.topbar{background:var(--ink);color:white;font-size:.77rem;letter-spacing:.02em;padding:9px 0}.topbar .container{display:flex;justify-content:space-between;gap:12px}.topbar strong{margin-left:10px}.site-header{position:sticky;top:0;background:#fff;z-index:10;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:104px}.brand{width:235px;flex-shrink:0}.brand img{width:100%;max-height:88px;object-fit:contain}nav{display:flex;align-items:center;gap:30px;font-size:.86rem;font-weight:700}nav>a:not(.button){padding:12px 0}nav a[aria-current]{color:var(--deep);box-shadow:0 2px var(--blue)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:52px;padding:13px 23px;background:var(--blue);color:#fff;font-weight:700;font-size:.9rem;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button.small{min-height:44px;padding:10px 17px;gap:20px}.button span{font-size:1.25rem}.button.white{background:#fff;color:var(--ink)}.button.outline{background:transparent;border-color:var(--ink);color:var(--ink)}.button.outline:hover{background:var(--pale)}.text-link{font-size:.9rem;font-weight:700;display:inline-block;border-bottom:1px solid currentColor;padding-bottom:3px}.text-link:hover{color:var(--blue)}.hero{padding:70px 0 76px;background:linear-gradient(105deg,#fff 60%,#f0f6f9 60%)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.eyebrow{font-size:.7rem;letter-spacing:.17em;font-weight:700;color:var(--deep);margin-bottom:22px}.blue-line{display:inline-block;width:24px;height:2px;background:var(--blue);vertical-align:middle;margin-right:8px}h1 span{color:var(--blue)}.lead{font-size:1.06rem;max-width:530px;line-height:1.75}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.hero-note{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);margin-top:32px;padding-top:20px}.hero-note>span{color:var(--blue);font-weight:700;margin-right:8px}.hero-art{background:var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:16px 16px 0 #d9eaf3;transform:rotate(-1deg)}.art-heading{display:flex;justify-content:space-between;align-items:center;padding:32px 30px;color:#fff;font-size:1.7rem;line-height:1.15;letter-spacing:-.04em;font-weight:800}.roof-mark{color:#24a4e2;font-size:5rem;line-height:1}.hero-art img{width:100%}.art-bottom{display:flex;justify-content:space-between;align-items:end;padding:28px 30px;color:#fff;gap:15px}.art-bottom>span{font-size:1.4rem;line-height:1.15}.art-bottom strong{color:#51bdf0}.art-bottom a{font-size:.76rem;border-bottom:1px solid #6c7c86;padding-bottom:4px}.service-strip{background:var(--blue);color:#fff;padding:22px 0}.service-strip .container{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.84rem;font-weight:700;letter-spacing:.2em}.service-strip span:nth-child(even){opacity:.6;font-size:1.2rem}.section{padding:88px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:340px;margin-bottom:3px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:28px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:background .2s}.service-card:hover{background:var(--pale)}.card-number{font-size:.75rem;color:var(--deep);margin-bottom:30px}.service-card h3{min-height:2.2em;margin-bottom:15px}.service-card p{font-size:.86rem;margin-bottom:24px}.service-card a{font-size:.72rem;font-weight:700;margin-top:auto;display:flex;justify-content:space-between;gap:10px}.service-card a span{color:var(--blue)}.about{background:var(--pale)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.large-copy{font-size:1.35rem;line-height:1.55;color:var(--ink)}.work-preview{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.work-preview p{max-width:430px}.preview-placeholder{padding:45px;background:#f4f6f7;border:1px dashed #b6c8d2;border-radius:var(--radius);text-align:center}.preview-placeholder>span{display:block;color:var(--blue);font-size:3rem}.preview-placeholder strong{display:block;font-size:1.15rem}.preview-placeholder p{margin:8px 0 0;font-size:.85rem}.cta{padding:55px 0;background:var(--blue);color:#fff}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}.cta .eyebrow,.cta p{color:#fff}.cta .eyebrow{opacity:.9;margin-bottom:14px}.cta h2{margin-bottom:12px}.cta p:last-child{margin-bottom:0}footer{background:var(--ink);padding:48px 0 20px;color:#fff}.footer-grid{display:flex;justify-content:space-between;gap:35px}.footer-brand{font-size:1.8rem;line-height:1;font-weight:900;letter-spacing:-.035em}.footer-brand span{display:block;font-size:.66rem;letter-spacing:.08em;margin-top:8px;color:#75c9f1}.footer-grid p{font-size:.76rem;color:#c1cbd1;margin:22px 0}.footer-grid>div:last-child{display:flex;flex-direction:column;align-items:end;font-size:.95rem;gap:8px}.footer-bottom{border-top:1px solid #34414a;padding-top:20px;margin-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.7rem;color:#c1cbd1}.page-intro{padding:65px 0 48px;background:var(--pale)}.page-intro h1{font-size:clamp(3rem,5.3vw,4.8rem)}.page-intro .lead{margin-bottom:0}.gallery-section{padding-top:50px}.notice{display:flex;align-items:center;gap:28px;background:#f3f7f9;border-left:3px solid var(--blue);padding:28px;margin-bottom:45px}.notice-symbol{font-size:2.2rem;color:var(--blue)}.notice h2{font-size:1.3rem;margin-bottom:8px}.notice p{font-size:.9rem;margin-bottom:0;max-width:700px}.notice .text-link{white-space:nowrap;margin-left:auto}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project-placeholder{aspect-ratio:4/3;background:repeating-linear-gradient(135deg,#eef3f6,#eef3f6 20px,#e9eff3 20px,#e9eff3 21px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#738591;border-radius:6px}.project-placeholder>span{font-size:4rem;font-weight:800;color:#c1d1db}.project-placeholder small{font-size:.62rem;letter-spacing:.12em}.project-copy{padding:22px 0}.project-copy h3{margin-bottom:12px}.project-copy p{font-size:.9rem}.project-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.contact-section{padding-top:55px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}.contact-card{display:block;padding:25px 0;border-bottom:1px solid var(--line)}.contact-card>span,.contact-card>small{display:block}.contact-card>span{font-size:.64rem;letter-spacing:.16em;color:var(--muted)}.contact-card strong{display:block;font-size:1.8rem;letter-spacing:-.03em;margin:4px 0}.contact-card strong.email{font-size:1.3rem;overflow-wrap:anywhere}.contact-card small{font-size:.76rem;color:var(--deep)}.contact-help{font-size:.87rem;margin-top:27px;max-width:350px}.form-panel{padding:35px;background:#f4f7f9;border:1px solid var(--line);border-radius:8px}.form-panel h2{font-size:1.8rem;margin-bottom:10px}.form-panel>p{font-size:.82rem;margin-bottom:28px}label{display:block;font-size:.8rem;font-weight:700;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #b9c7d0;border-radius:4px;background:#fff;padding:11px 13px;color:var(--ink);margin-bottom:19px;min-width:0}input::placeholder,textarea::placeholder{color:#6b7881}textarea{resize:vertical;min-height:125px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-privacy{font-size:.74rem}.form-privacy a,.privacy a{text-decoration:underline}.submit{width:100%;justify-content:space-between}.submit:disabled{opacity:.65;cursor:wait;transform:none}.form-status:empty{display:none}.form-status{font-size:.88rem;margin:18px 0 0;padding:13px;border-radius:4px}.form-status[data-state=error]{color:#852121;background:#ffe8e8}.form-status[data-state=success]{color:#12522e;background:#e1f3e7}.privacy{padding-top:60px;max-width:850px}.privacy h2{font-size:1.2rem}.privacy p{font-size:.84rem}.skip-link{position:fixed;top:-100px;left:16px;padding:10px 20px;background:#fff;z-index:50}.skip-link:focus{top:10px}.menu-toggle{display:none}
@media(max-width:1050px){.hero-grid{gap:30px}.services-grid{grid-template-columns:repeat(2,1fr)}nav{gap:20px}.brand{width:205px}.contact-grid{gap:40px}.art-heading{font-size:1.4rem}.hero-art{box-shadow:9px 9px 0 #d9eaf3}.actions{gap:17px}}
@media(max-width:860px){.container{width:calc(100% - 40px)}.header-inner{min-height:88px;flex-wrap:wrap;gap:0;padding:10px 0}.brand{width:195px}.js .menu-toggle:not([hidden]){display:flex;align-items:center;gap:15px;background:white;border:1px solid var(--line);border-radius:4px;padding:9px 12px;font-weight:700;font-size:.8rem}nav{width:100%;flex-wrap:wrap;padding:18px 0 10px;gap:20px}.js nav{display:none}.js nav.is-open{display:flex}.hero{padding:45px 0 55px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-copy{max-width:600px}.hero-art{max-width:620px;transform:none}.hero h1{font-size:4.2rem}.art-heading{font-size:1.8rem}.section{padding:60px 0}.section-heading{gap:25px}.section-heading>p{max-width:280px}.about-grid,.work-preview{gap:35px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid aside{max-width:600px}.contact-card{padding:18px 0}.project-grid{gap:18px}.notice{flex-wrap:wrap}.notice .text-link{margin-left:0}.project-placeholder small{font-size:.5rem}.footer-grid>div:last-child{font-size:.85rem}}
@media(max-width:560px){.container{width:calc(100% - 36px)}.topbar{font-size:.63rem}.topbar strong{margin-left:4px}.brand{width:178px}.hero h1{font-size:3.6rem}.eyebrow{font-size:.6rem}.lead{font-size:1rem}.actions{align-items:flex-start;flex-direction:column}.art-heading{padding:23px;font-size:1.4rem}.art-bottom{padding:23px}.art-bottom>span{font-size:1.1rem}.service-strip{padding:17px 0}.service-strip .container{font-size:.58rem;letter-spacing:.08em;gap:7px}.service-strip span:nth-child(even){font-size:.7rem}.section-heading{display:block}.section-heading>p{margin-top:20px;max-width:none}.services-grid{grid-template-columns:1fr 1fr}.service-card{padding:20px 15px}.service-card h3{font-size:1.12rem;min-height:2.3em}.service-card p{font-size:.8rem}.service-card a{font-size:.65rem}.card-number{margin-bottom:20px}.about-grid,.work-preview,.project-grid{grid-template-columns:1fr}.preview-placeholder{padding:30px 18px}.cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{flex-direction:column;gap:10px}.footer-grid>div:last-child{align-items:start}.footer-bottom{flex-direction:column;gap:8px}.page-intro{padding:42px 0}.page-intro h1{font-size:3.3rem}.notice{padding:22px;gap:12px}.notice-symbol{display:none}.project-placeholder small{font-size:.65rem}.form-panel{padding:24px 18px}.form-row{grid-template-columns:1fr;gap:0}input,select,textarea{font-size:16px}.form-panel h2{font-size:1.65rem}.contact-card strong.email{font-size:1.25rem}.privacy{padding-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
