/* ═══ FOOTHILLS GUTTER PRO — SHARED STYLES ═══ */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Navy Blue + Carhartt Tan palette */
  --navy:#0e2a47;
  --navy-mid:#143560;
  --navy-light:#1c4a82;
  --navy-soft:#22568f;
  --tan:#b88a4a;
  --tan-light:#d4a76a;
  --tan-soft:#e8d3b0;
  --cream:#faf6ef;
  --silver:#eef1f6;
  --text:#1a1e25;
  --muted:#5a6070;
  --white:#fff;
  --border:#e2dccf;
}
html{scroll-behavior:smooth}
body{font-family:"Source Sans 3",sans-serif;color:#1a1e25;background:#ffffff;width:100%;max-width:100%;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

/* ── TOP BAR ── */
.top-bar{background:var(--navy);padding:10px 56px;display:flex;align-items:center;justify-content:space-between}
.tb-left{display:flex;align-items:center;gap:12px}
.tb-pulse{width:10px;height:10px;border-radius:50%;background:var(--tan-light);animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}
.tb-text{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;color:#fff;letter-spacing:0.5px;text-transform:uppercase}
.tb-right{display:flex;align-items:center;gap:16px}
.tb-phone{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;color:#fff;letter-spacing:0.5px;text-decoration:none}
.tb-btn{font-family:'Oswald',sans-serif;font-size:12px;font-weight:700;background:var(--tan);color:#fff;padding:7px 18px;border-radius:3px;text-transform:uppercase;letter-spacing:1px;text-decoration:none}

/* ── NAV ── */
nav.main-nav{background:#fff;padding:0 56px;display:flex;align-items:center;justify-content:space-between;height:82px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:0 2px 10px rgba(14,42,71,0.05)}
.logo-wrap{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0;max-width:280px}
.logo-img{height:54px !important;width:auto !important;max-width:240px !important;display:block;object-fit:contain;flex-shrink:0}
.logo-text-group{display:flex;flex-direction:column;line-height:1}
.logo-name{font-family:'Oswald',sans-serif;font-size:24px;font-weight:700;color:var(--navy);letter-spacing:1.5px;text-transform:uppercase}
.logo-tag{font-family:'Lora',serif;font-size:11px;color:var(--tan);letter-spacing:1.8px;margin-top:5px;font-style:italic;text-transform:uppercase}
.nav-links{display:flex;gap:0;align-items:center}
.nav-links a, .nav-dropdown-toggle{font-family:'Oswald',sans-serif;font-size:13px;font-weight:500;color:var(--navy);text-decoration:none;padding:0 18px;height:82px;display:flex;align-items:center;letter-spacing:0.5px;text-transform:uppercase;border-bottom:3px solid transparent;transition:color .2s,border-color .2s;background:none;border-top:none;border-left:none;border-right:none;cursor:pointer;font-family:'Oswald',sans-serif}
.nav-links a:hover, .nav-dropdown-toggle:hover, .nav-links a.active{color:var(--tan);border-bottom-color:var(--tan)}
.nav-dropdown{position:relative}
.nav-dropdown-toggle::after{content:'▾';margin-left:6px;font-size:11px;opacity:0.7}
.nav-dropdown-menu{display:none;position:absolute;top:82px;left:0;background:#fff;min-width:240px;box-shadow:0 8px 24px rgba(14,42,71,0.15);border-top:3px solid var(--tan);z-index:101}
.nav-dropdown:hover .nav-dropdown-menu{display:block}
.nav-dropdown-menu a{display:block;padding:14px 22px;height:auto;border-bottom:1px solid var(--border);font-size:13px}
.nav-dropdown-menu a:last-child{border-bottom:none}
.nav-dropdown-menu a:hover{background:var(--cream);color:var(--navy);border-bottom-color:var(--border)}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-phone{font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;color:var(--navy);border:2px solid var(--tan);padding:8px 18px;border-radius:4px;text-decoration:none}
.nav-cta{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;background:var(--navy);color:#fff;padding:10px 22px;border-radius:4px;text-transform:uppercase;letter-spacing:0.5px;text-decoration:none}
.mobile-nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.mobile-nav-toggle span{display:block;width:24px;height:2px;background:var(--navy)}
.mobile-nav-open{display:none;position:fixed;top:82px;left:0;right:0;background:#fff;border-top:2px solid var(--tan);padding:14px 24px;z-index:99;flex-direction:column;box-shadow:0 8px 20px rgba(14,42,71,0.1);max-height:calc(100vh - 82px);overflow-y:auto}
.mobile-nav-open a{font-family:'Oswald',sans-serif;font-size:15px;color:var(--navy);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:0.5px;display:block}
.mobile-nav-open .mn-sub{padding-left:18px;font-size:13px;color:var(--muted)}
.mobile-nav-open.active{display:flex}

/* ── BUTTONS ── */
.btn-primary{font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;background:var(--tan);color:#fff;padding:15px 32px;border-radius:4px;text-transform:uppercase;letter-spacing:0.5px;display:inline-block;border:2px solid var(--tan);text-decoration:none;transition:background .2s}
.btn-primary:hover{background:var(--tan-light);border-color:var(--tan-light)}
.btn-outline{font-family:'Oswald',sans-serif;font-size:15px;font-weight:500;background:transparent;color:#fff;padding:15px 30px;border:2px solid rgba(255,255,255,.4);border-radius:4px;display:inline-block;text-decoration:none;transition:background .2s}
.btn-outline:hover{background:rgba(255,255,255,.1)}
.btn-navy{font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;background:var(--navy);color:#fff;padding:15px 32px;border-radius:4px;text-transform:uppercase;letter-spacing:0.5px;display:inline-block;border:2px solid var(--navy);text-decoration:none;transition:background .2s}
.btn-navy:hover{background:var(--navy-light);border-color:var(--navy-light)}

/* ── SECTIONS ── */
.section{padding:96px 56px;background:#ffffff}
.section-alt{padding:96px 56px;background:var(--cream)}
.section-navy{padding:96px 56px;background:var(--navy);color:#fff}
.section-silver{padding:96px 56px;background:var(--silver)}
.section-narrow{max-width:1080px;margin:0 auto}
.sec-kicker{font-family:'Oswald',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--tan);margin-bottom:12px}
.sec-kicker-lite{font-family:'Oswald',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--tan-light);margin-bottom:12px}
.sec-title{font-family:'Oswald',sans-serif;font-size:42px;font-weight:700;color:var(--navy);line-height:1.05;margin-bottom:18px;letter-spacing:0.5px}
.sec-title-w{font-family:'Oswald',sans-serif;font-size:42px;font-weight:700;color:#fff;line-height:1.05;margin-bottom:18px;letter-spacing:0.5px}
.sec-sub{font-family:'Lora',serif;font-size:17px;color:var(--muted);line-height:1.8;max-width:680px;margin-bottom:56px}
.sec-sub-w{font-family:'Lora',serif;font-size:17px;color:rgba(255,255,255,.75);line-height:1.8;max-width:680px;margin-bottom:56px}

/* ── FORMS ── */
.hf-title{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:var(--navy);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.5px}
.hf-sub{font-family:'Lora',serif;font-size:13px;color:var(--muted);margin-bottom:20px;font-style:italic}
.hf-field, .hf-select, .hf-textarea{width:100%;background:#f7f4ec;border:1.5px solid var(--border);border-radius:4px;padding:12px 16px;font-size:14px;color:var(--text);font-family:'Source Sans 3',sans-serif;margin-bottom:12px}
.hf-field:focus, .hf-select:focus, .hf-textarea:focus{outline:none;border-color:var(--tan);background:#fff}
.hf-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%230e2a47' d='M5 6L0 0h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.hf-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hf-textarea{height:96px;resize:vertical}
.hf-btn{width:100%;font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;background:var(--tan);color:#fff;border:none;border-radius:4px;padding:15px;cursor:pointer;text-transform:uppercase;letter-spacing:0.5px;margin-top:6px;transition:background .2s}
.hf-btn:hover{background:var(--tan-light)}
.hf-note{font-size:11px;color:var(--muted);text-align:center;margin-top:10px;font-style:italic}
.hf-divider{display:flex;align-items:center;gap:10px;margin:14px 0}
.hf-divider::before,.hf-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.hf-divider span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.hf-phone{display:block;text-align:center;font-family:'Oswald',sans-serif;font-size:24px;font-weight:700;color:var(--navy);text-decoration:none}

/* ── TWO-STEP FORM ── */
.tsf{position:relative}
.tsf-progress{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.tsf-step{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.tsf-num{width:24px;height:24px;border-radius:50%;background:var(--silver);color:var(--muted);display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:12px;font-weight:700;flex-shrink:0;transition:background .25s,color .25s}
.tsf-step-label{font-family:'Oswald',sans-serif;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:1px;transition:color .25s}
.tsf-step.active .tsf-num{background:var(--tan);color:#fff}
.tsf-step.active .tsf-step-label{color:var(--navy)}
.tsf-step.complete .tsf-num{background:var(--navy);color:var(--tan-light)}
.tsf-bar{flex:1;height:2px;background:var(--silver);position:relative;border-radius:2px}
.tsf-bar-fill{position:absolute;left:0;top:0;height:100%;width:0;background:var(--tan);border-radius:2px;transition:width .35s ease}
.tsf-bar-fill.full{width:100%}
.tsf-page{display:none}
.tsf-page.active{display:block;animation:tsfFade .3s ease}
@keyframes tsfFade{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}
.tsf-actions{display:flex;gap:10px;margin-top:6px}
.tsf-back{flex:0 0 auto;font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;background:transparent;color:var(--muted);border:1.5px solid var(--border);border-radius:4px;padding:14px 18px;cursor:pointer;text-transform:uppercase;letter-spacing:0.5px;transition:border-color .2s,color .2s}
.tsf-back:hover{border-color:var(--navy);color:var(--navy)}
.tsf-next, .tsf-submit{flex:1;font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;background:var(--tan);color:#fff;border:none;border-radius:4px;padding:15px;cursor:pointer;text-transform:uppercase;letter-spacing:0.5px;transition:background .2s}
.tsf-next:hover, .tsf-submit:hover{background:var(--tan-light)}
.tsf-skip{display:block;text-align:center;font-size:11px;color:var(--muted);text-decoration:underline;margin-top:10px;cursor:pointer;background:none;border:none;width:100%;font-family:'Source Sans 3',sans-serif}
.tsf-skip:hover{color:var(--tan)}

/* Sidebar variant — tighter padding + smaller text */
.svc-side-card--form{padding:24px}
.svc-side-card--form .hf-title{font-size:16px;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.svc-side-card--form .hf-sub{font-size:12px;margin-bottom:16px}
.svc-side-card--form .tsf-progress{margin-bottom:14px;padding-bottom:12px}
.svc-side-card--form .tsf-step-label{display:none}
.svc-side-card--form .hf-field, .svc-side-card--form .hf-select, .svc-side-card--form .hf-textarea{padding:10px 14px;font-size:13px;margin-bottom:10px}
.svc-side-card--form .hf-textarea{height:72px}
.svc-side-card--form .tsf-next, .svc-side-card--form .tsf-submit{padding:13px;font-size:13px}
.svc-side-card--form .tsf-back{padding:13px 14px;font-size:12px}
.svc-side-card--form .hf-note{font-size:10px;margin-top:10px}
.svc-side-cta-mini{margin-top:18px;padding-top:18px;border-top:1px solid var(--border);text-align:center}
.ssc-phone-mini{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:var(--navy);text-decoration:none;display:block}
.ssc-phone-sub-mini{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:2px}

/* ── HONEYPOT — Lead Capture System v5 spec ── */
/* Use offscreen positioning, NEVER display:none (sophisticated bots detect that) */
._gotcha{
  position:absolute;
  left:-9999px;
  top:-9999px;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.form-step[hidden]{display:none}
.form-step{display:block}

/* ── INLINE FORM SECTION (centered, on about/services/gallery pages) ── */
.inline-form-section{padding:96px 56px;background:var(--cream)}
.inline-form-wrap{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:8px;padding:40px;box-shadow:0 8px 24px rgba(14,42,71,0.06)}
.inline-form-wrap .hf-title{font-size:24px;text-align:center;margin-bottom:8px}
.inline-form-wrap .hf-sub{text-align:center;font-size:14px;margin-bottom:22px}
.inline-form-section .sec-kicker, .inline-form-section .sec-title{text-align:center}
.inline-form-section .sec-title{margin-bottom:42px;max-width:680px;margin-left:auto;margin-right:auto}
@media(max-width:768px){
  .inline-form-section{padding:60px 22px}
  .inline-form-wrap{padding:28px 22px}
}
.field-label{font-family:'Oswald',sans-serif;font-size:11px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;display:block}
.field-row{margin-bottom:14px}
.required{color:var(--tan)}
.checkbox-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.checkbox-item{display:flex;align-items:center;gap:8px;background:#f7f4ec;border:1.5px solid var(--border);border-radius:4px;padding:10px 14px;cursor:pointer;font-size:13px;color:var(--text);transition:border-color .2s,background .2s}
.checkbox-item:hover{border-color:var(--tan)}
.checkbox-item input{cursor:pointer}
.checkbox-item input:checked + span{color:var(--tan);font-weight:600}

/* ── CTA BANNER ── */
.cta-banner{background:var(--navy);padding:72px 56px;display:grid;grid-template-columns:1fr auto;gap:56px;align-items:center;position:relative;overflow:hidden}
.cta-banner::before{content:'';position:absolute;right:-60px;top:-60px;width:300px;height:300px;border-radius:50%;background:rgba(184,138,74,.08)}
.cb-title{font-family:'Oswald',sans-serif;font-size:42px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:1.5px;line-height:1.05;margin-bottom:14px}
.cb-sub{font-family:'Lora',serif;font-size:17px;color:rgba(255,255,255,.88);line-height:1.7;max-width:580px}
.cb-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-end;flex-shrink:0}
.cb-phone{font-family:'Oswald',sans-serif;font-size:36px;font-weight:700;color:#fff;text-align:center;letter-spacing:0.5px;text-decoration:none}
.cb-phone-sub{font-size:12px;color:rgba(255,255,255,.7);text-align:center;text-transform:uppercase;letter-spacing:1.5px;margin-top:2px}
.cb-btn{font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;background:var(--tan);color:#fff;padding:16px 36px;border-radius:4px;text-decoration:none;text-transform:uppercase;letter-spacing:0.5px;display:block;text-align:center;white-space:nowrap;transition:background .2s}
.cb-btn:hover{background:var(--tan-light)}

/* ── FOOTER ── */
footer{background:var(--navy);border-top:4px solid var(--tan);padding:64px 56px 32px}
.footer-logo{height:64px !important;width:auto !important;max-width:280px !important;display:block;margin-bottom:18px;object-fit:contain}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:42px;margin-bottom:42px}
.fg-col h4{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;color:var(--tan-light);text-transform:uppercase;letter-spacing:1.8px;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(184,138,74,.25)}
.fg-col p,.fg-col li{font-size:13px;color:rgba(255,255,255,.6);line-height:2}
.fg-col ul{list-style:none}
.fg-col a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s}
.fg-col a:hover{color:var(--tan-light)}
.fg-nap{font-size:13px;color:rgba(255,255,255,.65);line-height:2}
.fg-nap strong{color:#fff}
.fg-lic{font-size:11px;color:rgba(255,255,255,.4);line-height:1.7;margin-top:12px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-copy{font-size:12px;color:rgba(255,255,255,.4)}
.footer-bottom a{color:rgba(255,255,255,.4);text-decoration:none}
.footer-bottom a:hover{color:var(--tan-light)}

/* ── PAGE HEADER ── */
.page-header{background:linear-gradient(150deg,#091e34 0%,var(--navy) 50%,#0e2a47 100%);padding:84px 56px 76px;text-align:center;position:relative;overflow:hidden}
.page-header::before{content:'';position:absolute;right:-80px;top:-80px;width:380px;height:380px;border-radius:50%;background:rgba(184,138,74,.07)}
.page-header::after{content:'';position:absolute;bottom:-60px;left:-60px;width:280px;height:280px;border-radius:50%;background:rgba(28,74,130,.12)}
.ph-kicker{font-family:'Oswald',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--tan-light);margin-bottom:14px;position:relative;z-index:1}
.ph-title{font-family:'Oswald',sans-serif;font-size:48px;font-weight:700;color:#fff;line-height:1.05;margin-bottom:16px;letter-spacing:1px;text-transform:uppercase;position:relative;z-index:1}
.ph-sub{font-family:'Lora',serif;font-size:17px;color:rgba(255,255,255,.82);line-height:1.7;max-width:720px;margin:0 auto;position:relative;z-index:1}
.breadcrumbs{margin-top:22px;font-family:'Oswald',sans-serif;font-size:12px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:1.5px;position:relative;z-index:1}
.breadcrumbs a{color:rgba(255,255,255,.6);text-decoration:none}
.breadcrumbs a:hover{color:var(--tan-light)}
.breadcrumbs span{margin:0 10px;color:var(--tan-light)}

/* ── MOBILE STICKY ── */
.mobile-sticky{background:var(--navy);border-top:2px solid var(--tan);padding:14px 56px;display:none;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:0;right:0;z-index:90;box-shadow:0 -4px 16px rgba(0,0,0,0.15)}
.ms-text{font-family:'Lora',serif;font-size:13px;color:rgba(255,255,255,.85);font-style:italic}
.ms-phone{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:#fff;letter-spacing:0.5px;text-decoration:none}
.ms-btn{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;background:var(--tan);color:#fff;padding:10px 20px;border-radius:4px;text-transform:uppercase;letter-spacing:0.5px;text-decoration:none}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .top-bar,nav.main-nav,.anchor-strip,.section,.section-navy,.section-alt,.section-silver,.cta-banner,footer,.page-header{padding-left:36px;padding-right:36px}
  .nav-links{display:none}
  .mobile-nav-toggle{display:flex}
  .logo-img{height:48px !important;max-width:210px !important}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .cta-banner{grid-template-columns:1fr;gap:28px;text-align:center}
  .cb-actions{align-items:center}
  .sec-title,.sec-title-w,.cb-title{font-size:36px}
  .ph-title{font-size:42px}
}

@media(max-width:768px){
  .top-bar{flex-direction:column;gap:8px;padding:10px 22px;text-align:center}
  nav.main-nav{padding:0 22px;height:68px}
  .logo-name{font-size:19px}
  .logo-tag{font-size:9px}
  .logo-img{height:38px !important;max-width:180px !important}
  .footer-logo{height:50px !important;max-width:220px !important}
  .nav-phone{display:none}
  .nav-cta{font-size:12px;padding:8px 14px}
  .mobile-nav-open{top:68px;max-height:calc(100vh - 68px)}
  .anchor-strip{padding-left:22px;padding-right:22px}
  .section,.section-navy,.section-alt,.section-silver,.cta-banner,.page-header{padding-left:22px;padding-right:22px}
  .section,.section-navy,.section-alt,.section-silver{padding-top:60px;padding-bottom:60px}
  .page-header{padding-top:56px;padding-bottom:54px}
  .sec-title,.sec-title-w{font-size:30px}
  .ph-title{font-size:34px}
  .cb-title{font-size:28px}
  .cb-phone{font-size:28px}
  footer{padding:48px 22px 24px}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .mobile-sticky{display:flex;padding:12px 22px}
  body{padding-bottom:64px}
  .mobile-sticky .ms-text{display:none}
}

@media(max-width:480px){
  .tb-right .tb-btn{display:none}
  .nav-cta{display:none}
  .hero h1{font-size:32px}
  .ph-title{font-size:28px}
  .sec-title,.sec-title-w{font-size:26px}
  .cb-title{font-size:24px}
}
