
:root{--orange:#f36942;--navy:#29436f;--charcoal:#303030;--darkgray:#484a4c;--text:#27384d;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.container{width:min(var(--max),92%);margin:auto}
.orange{color:var(--orange)}.btn{display:inline-block;background:var(--orange);color:#fff;padding:10px 19px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;border:0;cursor:pointer}.btn:hover{background:#d95434}
.site-header{background:#fff;box-shadow:0 2px 8px #0002;position:relative;z-index:5}
.site-nav{width:min(var(--max),92%);margin:auto;min-height:76px;display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap}
.site-nav a{font-size:13px;font-weight:700;text-transform:uppercase;color:#333;padding:26px 0;border-bottom:3px solid transparent}
.site-nav a:hover,.site-nav a.active{color:var(--orange);border-color:var(--orange)}
.home-hero{min-height:520px;position:relative;background:#33465d url('images/slide21.jpg') center center/cover no-repeat;display:flex;align-items:center;padding:35px 0}.hero-inner{width:min(1240px,92%);margin:auto;display:flex;justify-content:flex-end;align-items:flex-start;gap:38px}.hero-logo{display:none}.hero-panel{background:rgba(255,255,255,.9);text-align:center;padding:14px 24px 17px;color:#333}.hero-panel h1{font-size:clamp(31px,4vw,52px);line-height:1.1;color:#050505;letter-spacing:1px;margin:0 0 14px;font-weight:900}.hero-panel .service-list{font-size:clamp(15px,1.65vw,21px);line-height:1.48;text-transform:uppercase}.hero-panel .service-list strong{font-weight:800}.hero-phone{color:var(--orange);font-size:clamp(17px,2vw,26px);font-weight:800;margin:45px 0 17px}.hero-panel .btn{margin:0 auto}
.dark-callout{background:var(--charcoal);color:#fff;text-align:center;padding:16px 15px 18px;font-size:28px;line-height:1.25;letter-spacing:.5px}.dark-callout strong{font-size:27px;display:block}.dark-callout span{display:block;font-size:27px}
.intro-overlap{position:relative;padding:0 0 35px;background:#fff}.intro-grid{display:grid;grid-template-columns:38% 62%;min-height:310px}.intro-photo-bg{background:#596070;position:relative;min-height:310px}.intro-photo{width:min(420px,92%);height:420px;object-fit:cover;position:absolute;left:max(18%,calc((100vw - var(--max))/2));top:38px;z-index:1}.intro-copy{padding:35px 5% 25px 60px;position:relative}.intro-copy h2{font-size:35px;line-height:1.15;margin:0 0 12px;font-weight:800}.intro-copy h2 .orange{color:var(--orange)}.intro-copy h2 .navy{color:var(--navy)}.intro-copy p{font-size:17px;line-height:1.48;margin:0 0 6px}.intro-copy .intro-mark{border-left:4px solid var(--orange);padding-left:30px;margin-bottom:10px}.intro-copy .btn{margin-top:14px}
.services-section{background:var(--charcoal);color:#fff;padding:24px 0 42px;margin-top:0}.services-section h2{text-align:center;text-transform:uppercase;font-size:40px;margin:0 0 28px;line-height:1.2}.services-section h2 .orange{color:var(--orange)}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:5.3%}.service-card{background:#fff;color:#383838;text-align:center;box-shadow:0 8px 16px #0002}.service-card img{width:100%;height:164px;object-fit:cover}.service-card h3{font-size:20px;line-height:1.08;margin:10px 8px 9px;font-weight:800;min-height:44px}.service-card .btn{background:#fff;color:var(--orange);border:1px solid var(--orange);padding:6px 15px;margin:0 0 20px}.service-card .btn:hover{background:var(--orange);color:#fff}
.page-section{padding:38px 0;background:#fff}.page-section.gray{background:var(--darkgray);color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center}.split .copy h2{font-size:29px;line-height:1.1;text-transform:uppercase;margin:0 0 12px;border-left:4px solid var(--orange);padding-left:20px;font-weight:700}.split .copy h2 .orange{color:var(--orange)}.split .copy h2 .plain{color:var(--text)}.gray .split .copy h2 .plain{color:#fff}.split .copy p{font-size:18px;line-height:1.42;margin:0 0 4px}.split .photo{width:100%;height:330px;object-fit:cover}.split .photo.product{height:332px;object-fit:contain;background:#fff}.roof-gallery{display:grid;grid-template-columns:.9fr 1fr 1fr;gap:5%;align-items:start}.roof-gallery .copy h2{font-size:28px;line-height:1.15;text-transform:uppercase;margin:0 0 12px;border-left:4px solid var(--orange);padding-left:20px;color:var(--orange)}.roof-gallery .copy p{font-size:18px;line-height:1.48;margin:0 0 14px}.roof-gallery img{width:100%;height:460px;object-fit:cover}
.page-hero{background:var(--charcoal);color:#fff;padding:42px 0}.page-hero h1{font-size:34px;margin:0 0 10px;text-transform:uppercase}.page-hero p{margin:0;font-size:18px}
.contact-section{padding:55px 0;background:#f5f5f5}.contact-section h2{text-transform:uppercase;color:var(--navy);font-size:32px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-info{border-left:4px solid var(--orange);padding-left:22px}.contact-info p{margin:8px 0}form{display:grid;gap:10px}label{font-size:14px;font-weight:bold}input,textarea{font:inherit;padding:11px;border:1px solid #ccc;width:100%}textarea{min-height:125px}.small{font-size:12px;color:#666}
footer{background:#242a32;color:#fff;padding:28px 0;font-size:14px}footer .foot{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}footer p{margin:4px 0}footer a{color:#fff}
@media(max-width:850px){.site-nav{gap:18px;min-height:64px}.site-nav a{padding:20px 0}.home-hero{padding:25px 0}.hero-inner{display:flex;justify-content:center;gap:18px}.hero-panel{padding:14px}.hero-phone{margin:20px 0 13px}.dark-callout,.dark-callout strong,.dark-callout span{font-size:22px}.intro-grid{grid-template-columns:34% 66%}.intro-photo{left:5%;width:90%;height:350px}.intro-copy{padding:28px 5% 25px 30px}.intro-copy h2{font-size:28px}.intro-copy p{font-size:15px}.service-cards{gap:18px}.service-card h3{font-size:17px}.split{gap:25px}.split .copy p,.roof-gallery .copy p{font-size:16px}.split .copy h2,.roof-gallery .copy h2{font-size:24px}.roof-gallery{gap:20px}.roof-gallery img{height:360px}}
@media(max-width:600px){.site-nav{gap:10px;padding:8px 0}.site-nav a{font-size:10px;padding:8px 0}.home-hero{padding:20px 0}.hero-inner{display:flex;gap:12px}.hero-panel{width:100%;padding:14px}.hero-panel h1{font-size:34px}.hero-panel .service-list{font-size:15px}.hero-phone{margin:17px 0 13px}.dark-callout,.dark-callout strong,.dark-callout span{font-size:19px}.intro-grid{display:flex;flex-direction:column}.intro-photo-bg{display:none}.intro-photo{position:relative;left:auto;top:auto;width:100%;height:240px;margin:0 auto}.intro-copy{padding:28px 5%}.intro-copy h2{font-size:28px}.services-section h2{font-size:30px}.service-cards{grid-template-columns:1fr;gap:22px}.service-card img{height:210px}.service-card h3{min-height:0;font-size:19px}.split,.roof-gallery,.contact-grid{grid-template-columns:1fr;gap:22px}.page-section{padding:30px 0}.split .photo,.split .photo.product{height:260px}.roof-gallery img{height:300px}.roof-gallery .copy{order:0}.page-hero h1{font-size:28px}.page-hero p{font-size:16px}.contact-section h2{font-size:26px}}

.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{font-weight:700;margin-bottom:18px}
.form-status.success{background:#e8f5e9;color:#1b5e20;border-left:4px solid #2e7d32;padding:12px 15px}
.form-status.error{background:#ffebee;color:#b71c1c;border-left:4px solid #c62828;padding:12px 15px}
