/* SERVICE PAGE SHARED CSS */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#0D1F3C;--navy2:#152B52;--navy3:#1E3A6B;--steel:#2C5282;
  --gold:#C9A84C;--gold-light:#E8C96A;--cream:#F8F6F0;--white:#FFFFFF;
  --gray:#6B7A8D;--light:#EEF2F7;
  --font-serif:'Playfair Display',serif;--font-sans:'Source Sans 3',sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);color:var(--navy);background:var(--white);overflow-x:hidden}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(13,31,60,0.97);box-shadow:0 2px 24px rgba(0,0,0,0.3);padding:0 48px;height:72px;display:flex;align-items:center;justify-content:space-between}
nav.scrolled{background:rgba(13,31,60,0.99)}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav-logo-img{height:56px;width:auto;max-width:220px;mix-blend-mode:screen;display:block}
.nav-logo-text{font-family:var(--font-serif);font-size:16px;color:var(--white);line-height:1.2;font-weight:700}
.nav-logo-text span{display:block;font-family:var(--font-sans);font-size:11px;font-weight:300;letter-spacing:2px;text-transform:uppercase;color:var(--gold-light);margin-top:2px}
.nav-links{display:flex;gap:28px}
.nav-links a{color:rgba(255,255,255,0.8);font-size:13px;font-weight:500;text-decoration:none;letter-spacing:0.5px;text-transform:uppercase;transition:color .2s}
.nav-links a:hover{color:var(--white)}
.nav-cta{background:var(--gold);color:var(--navy);font-family:var(--font-sans);font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:10px 22px;border:none;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s}
.nav-cta:hover{background:var(--gold-light)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px}
.hamburger span{width:22px;height:2px;background:rgba(255,255,255,0.9);display:block}
.mobile-menu{display:none;position:fixed;inset:0;background:var(--navy);z-index:200;flex-direction:column;justify-content:center;align-items:center;gap:24px}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--font-serif);font-size:26px;color:var(--white);text-decoration:none}
.mobile-menu-close{position:absolute;top:24px;right:24px;background:none;border:none;color:rgba(255,255,255,0.6);font-size:28px;cursor:pointer}

/* PAGE HERO */
.page-hero{position:relative;height:380px;background-size:cover;background-position:center;background-color:var(--navy);margin-top:72px;display:flex;align-items:center}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(13,31,60,0.88) 50%,rgba(13,31,60,0.5))}
.page-hero-content{position:relative;z-index:1;padding:0 64px;max-width:700px}
.breadcrumb{font-size:12px;color:rgba(255,255,255,0.5);letter-spacing:0.5px;margin-bottom:16px}
.breadcrumb a{color:rgba(255,255,255,0.5);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--gold-light)}
.breadcrumb span{margin:0 8px}
.page-hero-content h1{font-family:var(--font-serif);font-size:56px;color:var(--white);font-weight:900;line-height:1.05;margin-bottom:12px}
.page-hero-content h1 em{color:var(--gold);font-style:italic}
.page-hero-content p{color:rgba(255,255,255,0.65);font-size:16px;font-weight:300}

/* CONTENT LAYOUT */
.service-wrap{display:grid;grid-template-columns:1fr 320px;gap:56px;max-width:1200px;margin:0 auto;padding:72px 64px}
.service-main h2{font-family:var(--font-serif);font-size:32px;color:var(--navy);font-weight:900;margin:36px 0 16px;line-height:1.2}
.service-main h2:first-child{margin-top:0}
.service-main p{font-size:15px;color:#444;line-height:1.8;font-weight:300;margin-bottom:16px}
.service-intro{background:var(--cream);padding:32px;margin-bottom:36px}
.service-intro p{margin-bottom:12px}
.service-intro p:last-child{margin-bottom:0}

/* ALERT & HIGHLIGHT */
.alert-box{background:#FFF8E6;border:1px solid rgba(201,168,76,0.4);padding:18px 20px;display:flex;gap:14px;align-items:flex-start;margin-top:16px;font-size:14px;color:#5a4a1a;line-height:1.6}
.alert-icon{font-size:20px;flex-shrink:0;margin-top:2px}
.highlight-box{background:var(--navy);padding:18px 20px;display:flex;gap:14px;align-items:flex-start;margin-top:12px;font-size:14px;color:rgba(255,255,255,0.8);line-height:1.6}
.highlight-icon{font-size:20px;flex-shrink:0;margin-top:2px}
.highlight-box strong{color:var(--gold-light)}
.alert-box strong,.highlight-box strong{display:block;margin-bottom:4px}

/* SERVICE DETAIL CARDS */
.service-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.service-detail-card{background:var(--light);padding:28px;border-top:3px solid var(--gold)}
.sdc-icon{font-size:32px;margin-bottom:12px}
.service-detail-card h3{font-family:var(--font-serif);font-size:20px;color:var(--navy);font-weight:700;margin-bottom:10px}
.service-detail-card p{font-size:14px;color:var(--gray);line-height:1.7;font-weight:300;margin-bottom:10px}
.service-detail-card p:last-child{margin-bottom:0}

/* STEPS */
.steps{display:flex;flex-direction:column;gap:16px;margin:20px 0}
.step{display:flex;gap:16px;align-items:flex-start;padding:20px;background:var(--cream)}
.step-num{width:36px;height:36px;background:var(--navy);color:var(--gold);font-family:var(--font-serif);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step h4{font-family:var(--font-sans);font-weight:600;font-size:14px;color:var(--navy);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.5px}
.step p{font-size:13px;color:var(--gray);line-height:1.6;font-weight:300}

/* ROOF TYPES ACCORDION */
.accordion{margin:20px 0}
.acc-item{border-bottom:1px solid #D9E0E9}
.acc-header{padding:18px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:16px}
.acc-header h4{font-family:var(--font-sans);font-weight:600;font-size:15px;color:var(--navy)}
.acc-toggle{width:26px;height:26px;background:var(--light);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--navy);flex-shrink:0;transition:background .2s,transform .3s}
.acc-item.open .acc-toggle{background:var(--gold);transform:rotate(45deg)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.acc-item.open .acc-body{max-height:400px}
.acc-body p{font-size:14px;color:var(--gray);line-height:1.75;font-weight:300;padding-bottom:18px}

/* SIDING TYPES GRID */
.siding-types{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.siding-type{background:var(--cream);padding:22px;border-left:3px solid var(--gold)}
.siding-type h4{font-family:var(--font-sans);font-weight:600;font-size:14px;color:var(--navy);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.5px}
.siding-type p{font-size:13px;color:var(--gray);line-height:1.6;font-weight:300}

/* REFERENCES */
.references{background:var(--light);padding:28px;margin:24px 0}
.references h3{font-family:var(--font-serif);font-size:20px;color:var(--navy);font-weight:700;margin-bottom:16px}
.ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ref-item{background:var(--white);padding:16px;border-left:2px solid var(--gold)}
.ref-item h5{font-size:13px;font-weight:600;color:var(--navy);margin-bottom:4px}
.ref-item p{font-size:12px;color:var(--gray);line-height:1.5;font-weight:300}
.testimonial-block{background:var(--navy);padding:28px;margin:24px 0;position:relative}
.testimonial-block blockquote{font-family:var(--font-serif);font-size:16px;color:rgba(255,255,255,0.85);line-height:1.7;font-style:italic;margin-bottom:12px}
.testimonial-block cite{font-size:12px;color:var(--gold);font-style:normal;letter-spacing:1px;text-transform:uppercase}

/* BENEFITS LIST */
.benefits{display:flex;flex-direction:column;gap:10px;margin:16px 0}
.benefit{display:flex;gap:12px;align-items:flex-start}
.benefit-dot{width:8px;height:8px;background:var(--gold);flex-shrink:0;margin-top:6px}
.benefit p{font-size:14px;color:#444;line-height:1.6;font-weight:300}
.benefit p strong{color:var(--navy);font-weight:600}

/* SIDEBAR */
.service-sidebar{position:sticky;top:100px;height:fit-content}
.sidebar-cta{background:var(--navy);padding:32px;margin-bottom:20px}
.sidebar-cta h3{font-family:var(--font-serif);font-size:22px;color:var(--white);font-weight:700;margin-bottom:10px}
.sidebar-cta p{font-size:14px;color:rgba(255,255,255,0.6);line-height:1.6;font-weight:300;margin-bottom:20px}
.sidebar-phone{display:block;font-family:var(--font-serif);font-size:24px;color:var(--gold);font-weight:700;text-decoration:none;text-align:center;margin-bottom:12px}
.sidebar-btn{display:block;background:var(--gold);color:var(--navy);font-family:var(--font-sans);font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:13px;text-align:center;text-decoration:none;transition:background .2s}
.sidebar-btn:hover{background:var(--gold-light)}
.sidebar-services{background:var(--cream);padding:24px}
.sidebar-services h4{font-family:var(--font-sans);font-weight:600;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-bottom:14px}
.sidebar-services a{display:block;font-size:14px;color:var(--navy);text-decoration:none;padding:10px 0;border-bottom:1px solid #D9E0E9;transition:color .2s;font-weight:400}
.sidebar-services a:last-child{border-bottom:none}
.sidebar-services a:hover{color:var(--steel)}
.sidebar-services a.active{color:var(--gold);font-weight:600}

/* BOTTOM CTA */
.bottom-cta{background:var(--navy);padding:72px 64px;text-align:center}
.bottom-cta h2{font-family:var(--font-serif);font-size:40px;color:var(--white);font-weight:900;margin-bottom:12px}
.bottom-cta p{color:rgba(255,255,255,0.6);font-size:16px;font-weight:300;margin-bottom:32px}
.bottom-cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn-gold{background:var(--gold);color:var(--navy);font-family:var(--font-sans);font-weight:600;font-size:14px;letter-spacing:1px;text-transform:uppercase;padding:16px 36px;border:none;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s}
.btn-gold:hover{background:var(--gold-light)}
.btn-ghost{color:var(--white);font-family:var(--font-sans);font-weight:500;font-size:14px;letter-spacing:1px;text-transform:uppercase;padding:15px 32px;border:1.5px solid rgba(255,255,255,0.4);background:transparent;cursor:pointer;text-decoration:none;display:inline-block;transition:border-color .2s}
.btn-ghost:hover{border-color:rgba(255,255,255,0.8)}

/* FOOTER */
footer{background:var(--navy);padding:40px 64px}
.footer-inner{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;margin-bottom:24px}
.footer-logo{font-family:var(--font-serif);font-size:20px;color:var(--white);font-weight:700}
.footer-logo span{color:var(--gold)}
.footer-tagline{font-size:11px;color:rgba(255,255,255,0.35);margin-top:4px;letter-spacing:1px;text-transform:uppercase}
.footer-links{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}
.footer-links a{color:rgba(255,255,255,0.4);font-size:12px;text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--gold-light)}
.footer-right{text-align:right}
.footer-phone{font-family:var(--font-serif);font-size:18px;color:var(--white);font-weight:700}
.footer-phone a{color:inherit;text-decoration:none}
.footer-address{font-size:12px;color:rgba(255,255,255,0.4);margin-top:4px;line-height:1.6}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:20px}
.footer-copy{font-size:12px;color:rgba(255,255,255,0.3)}

/* MOBILE */
@media(max-width:768px){
  nav{padding:0 20px}
  .nav-links,.nav-cta{display:none}
  .hamburger{display:flex}
  .page-hero{height:280px}
  .page-hero-content{padding:0 24px}
  .page-hero-content h1{font-size:36px}
  .service-wrap{grid-template-columns:1fr;padding:40px 24px;gap:32px}
  .service-sidebar{position:static}
  .service-cards,.ref-grid,.siding-types{grid-template-columns:1fr}
  .bottom-cta{padding:48px 24px}
  .footer-inner{grid-template-columns:1fr;text-align:center}
  .footer-right{text-align:center}
  .footer-links{justify-content:center}
}
