/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:#222;background:#fff}
a{color:#1a5c8a}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{line-height:1.25;color:#1a2a3a}
ul{padding-left:1.25rem}

/* ===== HEADER ===== */
.site-header{background:#1a2a3a;padding:.75rem 1rem}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.site-logo{font-size:1rem;font-weight:700;color:#fff;line-height:1.2}
.site-logo a{color:#fff;text-decoration:none}
.logo-accent{color:#f5a623}
.header-cta a{background:#f5a623;color:#1a2a3a;font-weight:700;padding:.55rem 1.1rem;border-radius:4px;font-size:.95rem;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none}
.header-cta a:hover{background:#e09610;text-decoration:none}

/* ===== NAV ===== */
.site-nav{background:#22405a;border-bottom:2px solid #1a5c8a}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap}
.site-nav a{color:#c8d8e8;padding:.65rem .85rem;display:inline-flex;align-items:center;font-size:.88rem;min-height:44px;text-decoration:none;border-right:1px solid #1a334d}
.site-nav a:hover,.site-nav a[aria-current="page"]{background:#1a5c8a;color:#fff}

/* ===== LAYOUT UTILITIES ===== */
.container{max-width:1200px;margin:0 auto;padding:0 1rem}
.section{padding:2.5rem 0}
.section-alt{background:#f5f7fa}
.section-title{font-size:1.4rem;margin-bottom:1.25rem}
.section-intro{max-width:720px;margin-bottom:1.5rem;color:#444}

/* ===== HERO ===== */
.hero{background:linear-gradient(150deg,#1a2a3a 0%,#1d5a8f 100%);color:#fff;padding:2.5rem 1rem;text-align:center}
.hero h1{font-size:1.75rem;margin-bottom:.75rem;max-width:700px;margin-left:auto;margin-right:auto;color:#fff}
.hero-sub{font-size:1rem;margin-bottom:1.75rem;opacity:.9;max-width:580px;margin-left:auto;margin-right:auto}
.hero-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem}

/* ===== HERO WITH FORM ===== */
.hero-with-form{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:1.75rem}
.hero-text-col .hero-sub{margin-left:0;margin-right:0;max-width:none}
.hero-text-col .hero-actions{justify-content:flex-start}
.hero-form-panel{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:1.25rem}
.hero-form-title{color:#fff;font-weight:700;font-size:1.05rem;margin-bottom:.85rem}
.hf-group{margin-bottom:.65rem}
.hf-group label{display:block;color:rgba(255,255,255,.85);font-size:.82rem;font-weight:600;margin-bottom:.2rem}
.hf-group input,.hf-group select{width:100%;padding:.55rem .75rem;border-radius:4px;border:none;background:#fff;font-size:.93rem;color:#222;min-height:40px}
.btn-submit-hero{width:100%;background:#f5a623;color:#1a2a3a;font-weight:700;font-size:1rem;padding:.75rem 1rem;border-radius:6px;border:none;cursor:pointer;min-height:48px;margin-top:.35rem}
.btn-submit-hero:hover{background:#e09610}
.form-consent{font-size:.78rem;color:rgba(255,255,255,.72);margin:.5rem 0 .4rem;line-height:1.45}
.form-consent a{color:rgba(255,255,255,.9);text-decoration:underline}
@media(min-width:900px){
  .hero-with-form{grid-template-columns:1fr 360px;gap:2.5rem;align-items:center}
}

/* ===== BUTTONS ===== */
.btn-phone{background:#f5a623;color:#1a2a3a;font-weight:700;font-size:1.25rem;padding:.85rem 1.75rem;border-radius:6px;display:inline-flex;align-items:center;gap:.4rem;min-height:56px;text-decoration:none;border:none;cursor:pointer}
.btn-phone:hover{background:#e09610;color:#1a2a3a;text-decoration:none}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);padding:.65rem 1.5rem;border-radius:4px;font-size:.95rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.btn-outline:hover{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}
.btn-primary{background:#1a5c8a;color:#fff;padding:.7rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:700;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;border:none;cursor:pointer}
.btn-primary:hover{background:#154e7a;color:#fff;text-decoration:none}

/* ===== CARDS / GRID ===== */
.grid-3{display:grid;grid-template-columns:1fr;gap:1.25rem}
.grid-2{display:grid;grid-template-columns:1fr;gap:1.25rem}
.card{background:#fff;border:1px solid #dde4ec;border-radius:8px;padding:1.5rem}
.card-accent{border-left:4px solid #f5a623}
.card h3{font-size:1.05rem;margin-bottom:.5rem;color:#1a2a3a}
.card .tag{background:#e8f4fd;color:#1a5c8a;font-size:.8rem;font-weight:700;padding:.2rem .5rem;border-radius:3px;display:inline-block;margin-bottom:.5rem}

/* ===== TRUST BAR ===== */
.trust-bar{background:#e8f4fd;border-left:4px solid #1a5c8a;padding:.85rem 1.1rem;border-radius:0 6px 6px 0;font-size:.95rem;color:#1a2a3a;margin:1.5rem 0}

/* ===== CTA SECTION ===== */
.cta-section{background:linear-gradient(150deg,#1d5a8f 0%,#1a2a3a 100%);color:#fff;padding:3rem 1rem;text-align:center}
.cta-section h2{font-size:1.4rem;margin-bottom:.75rem;color:#fff}
.cta-section p{margin-bottom:1.5rem;opacity:.9}

/* ===== PAGE LAYOUT ===== */
.page-wrap{max-width:1200px;margin:0 auto;padding:0 1rem}
.page-main{min-width:0}
.page-main .psection{padding:2rem 0;border-bottom:1px solid #eef0f4}
.page-main .psection:last-child{border-bottom:none;padding-bottom:2.5rem}
.page-main .psection h2{font-size:1.3rem;margin-bottom:.85rem;color:#1a2a3a}
.page-main .psection h3{font-size:1.05rem;margin-bottom:.5rem}

/* ===== ACTION IMAGES ===== */
.action-img{border-radius:6px;overflow:hidden;margin:1.25rem 0}
.action-img img{width:100%;height:auto;display:block}
.action-img-caption{font-size:.8rem;color:#666;margin-top:.35rem;font-style:italic}

/* ===== TWO-COLUMN CONTENT ===== */
.psection-two-col{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}
@media(min-width:900px){
  .psection-two-col{grid-template-columns:420px 1fr;gap:2.5rem}
}

/* ===== SERVICE SECTIONS ===== */
.service-block{padding:2rem 0;border-bottom:1px solid #dde4ec}
.service-block:last-child{border-bottom:none}
.service-block h2{font-size:1.3rem;margin-bottom:.75rem;color:#1a5c8a}
.service-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:.75rem 0;font-size:.9rem;color:#555}
.service-meta strong{color:#1a2a3a}
.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0}
.app-item{background:#f5f7fa;border-radius:4px;padding:.6rem .85rem;font-size:.9rem;text-align:center;font-weight:600;color:#1a2a3a}
@media(min-width:768px){.app-grid{grid-template-columns:repeat(3,1fr)}}

/* ===== FAQ ITEMS ===== */
.faq-item{border-bottom:1px solid #dde4ec;padding:1.25rem 0}
.faq-item:last-child{border-bottom:none}
.faq-item h3{font-size:1rem;margin-bottom:.5rem;font-weight:700;color:#1a2a3a}
.faq-item p{font-size:.95rem;color:#444;line-height:1.65}

/* ===== FAQ TEASER ===== */
.faq-teaser{list-style:none;padding:0}
.faq-teaser li{border-bottom:1px solid #dde4ec;padding:.85rem 0}
.faq-teaser li:last-child{border-bottom:none}
.faq-teaser .q{font-weight:700;color:#1a2a3a;margin-bottom:.25rem;font-size:.95rem}
.faq-teaser .a{font-size:.9rem;color:#555}

/* ===== SERVICE AREA ===== */
.area-primary{background:#e8f4fd;border:1px solid #b8d4ec;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}
.area-primary h2{color:#1a5c8a;margin-bottom:.75rem}
.area-card{border:1px solid #dde4ec;border-radius:8px;padding:1.25rem;background:#fff}
.area-card h3{color:#1a5c8a;margin-bottom:.5rem;font-size:1rem}
.area-card p{font-size:.9rem;color:#444}

/* ===== CONTACT PAGE ===== */
.contact-full{max-width:700px}
.hours-card{background:#fff;border:1px solid #dde4ec;border-radius:8px;padding:1.25rem;margin-top:1.5rem}
.hours-card h3{margin-bottom:.75rem;font-size:1.05rem}
.hours-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid #eee;font-size:.92rem}
.hours-row:last-child{border-bottom:none}

/* ===== ABOUT ===== */
.how-steps{counter-reset:steps;list-style:none;padding:0;margin:1.25rem 0}
.how-steps li{counter-increment:steps;padding:.85rem 1rem .85rem 3.5rem;position:relative;border-bottom:1px solid #dde4ec;font-size:.95rem}
.how-steps li:last-child{border-bottom:none}
.how-steps li::before{content:counter(steps);position:absolute;left:.75rem;top:.9rem;background:#f5a623;color:#1a2a3a;font-weight:700;width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;line-height:1}
.about-highlight{background:#e8f4fd;border-radius:8px;padding:1.25rem;margin:1.5rem 0;font-size:.95rem;color:#1a2a3a;border-left:4px solid #1a5c8a}

/* ===== PRIVACY ===== */
.prose h2{margin:1.75rem 0 .75rem;font-size:1.15rem;color:#1a2a3a}
.prose p{margin-bottom:1rem;color:#444;font-size:.95rem;line-height:1.7}
.prose ul{color:#444;font-size:.95rem;margin-bottom:1rem;line-height:1.7}
.prose li{margin-bottom:.35rem}
.prose .effective{color:#666;font-size:.9rem;margin-bottom:2rem;font-style:italic}

/* ===== THANK-YOU PAGE ===== */
.thankyou-wrap{max-width:600px;margin:3rem auto;padding:1rem 1rem 2rem;text-align:center}
.thankyou-icon{font-size:3.5rem;margin-bottom:1rem;display:block;color:#1a5c8a}
.thankyou-wrap h1{font-size:1.75rem;margin-bottom:1rem;color:#1a2a3a}
.thankyou-wrap p{font-size:1rem;color:#444;margin-bottom:1.5rem;line-height:1.7}

/* ===== FOOTER ===== */
.site-footer{background:#1a2a3a;color:#aab8c4;padding:2.5rem 1rem 1.5rem}
.footer-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem}
.footer-biz-name{font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:.35rem}
.footer-phone a{color:#f5a623;font-weight:700;font-size:1.05rem;text-decoration:none}
.footer-phone a:hover{text-decoration:underline}
.footer-nav-list{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin-top:.5rem}
.footer-nav-list a{color:#aab8c4;font-size:.88rem;text-decoration:none}
.footer-nav-list a:hover{color:#fff}
.footer-copy{font-size:.78rem;color:#5a6a76;border-top:1px solid #2a3a4a;padding-top:1rem}
.footer-map-wrap{margin-bottom:1.5rem}
.footer-map{width:100%;height:240px;border:0;border-radius:4px;display:block}

/* ===== STICKY MOBILE PHONE BAR ===== */
.sticky-phone-bar{display:none}
@media(max-width:767px){
  body{padding-bottom:60px}
  .sticky-phone-bar{display:block;position:fixed;bottom:0;left:0;width:100%;z-index:999;background:#f5a623}
  .sticky-phone-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60px;padding:.5rem 1rem;color:#1a2a3a;text-decoration:none;font-weight:700;line-height:1.2;text-align:center}
  .sticky-phone-bar a:hover{text-decoration:none;background:#e09610}
  .bar-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
  .bar-number{font-size:1.2rem;font-weight:700}
}

/* ===== RESPONSIVE: 768px ===== */
@media(min-width:768px){
  .hero h1{font-size:2.25rem}
  .hero-actions{flex-direction:row;justify-content:center}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .site-logo{font-size:1.15rem}
  .btn-phone{font-size:1.4rem}
}

/* ===== RESPONSIVE: 1200px ===== */
@media(min-width:1200px){
  .hero h1{font-size:2.75rem}
  .hero-sub{font-size:1.1rem}
}
