/* Tracked N Solved city-page modules. One shared stylesheet. Built 2026-10-08. */
:root{
  --navy:#00007C; --navy-d:#0A1F44; --gold:#c9a227; --gold-d:#a8851a;
  --ink:#2c2c2c; --text:#4a4a4a; --grey:#F5F5F5; --line:#dfe2e8; --green:#1e8e3e;
  --wrap:1280px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Source Sans Pro","Source Sans 3",Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy)}
h1,h2,h3,h4{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;color:var(--ink);margin:0;line-height:1.1;letter-spacing:.2px}
.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:8px 14px;z-index:100}
.skip:focus{left:8px;top:8px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* ---------- header ---------- */
.site-header{position:absolute;top:0;left:0;right:0;z-index:20}
.site-header .bar{position:relative;width:min(var(--wrap),100% - 40px);margin-inline:auto;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.logo-tile{background:#fff;width:128px;height:108px;border-radius:0 0 20px 20px;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.logo-tile img{width:100px;height:100px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:0;margin-left:auto;height:60px}
.main-nav>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.main-nav>ul>li{position:relative;border-left:1px solid rgba(255,255,255,.18)}
.main-nav>ul>li:first-child{border-left:0}
.main-nav a,.main-nav button.sub-toggle{font:600 14px/1 "Source Sans Pro",Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:#fff;text-decoration:none;padding:20px 24px;display:block;background:none;border:0;cursor:pointer}
.main-nav>ul>li>a:hover,.main-nav>ul>li>button:hover,.main-nav>ul>li:focus-within>a,.main-nav>ul>li:focus-within>button{background:rgba(255,255,255,.12)}
.main-nav .caret{font-size:10px;margin-left:6px}
.sub{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.3);border-top:3px solid var(--gold);z-index:30;text-align:left}
.has-sub:hover>.sub,.has-sub.open>.sub,.has-sub:focus-within>.sub{display:block}
.sub-services{min-width:290px;padding:8px 0}
.sub a{color:var(--ink)!important;text-transform:none!important;letter-spacing:0!important;font-weight:600;font-size:15px!important;padding:9px 20px!important}
.sub a:hover{background:var(--grey)!important;color:var(--navy)!important}
.main-nav>ul>li.loc{position:static}
.sub-locations{width:min(980px,100%);top:60px;right:0;left:auto;padding:22px 24px;grid-template-columns:repeat(4,1fr);gap:18px 24px}
.has-sub:hover>.sub-locations,.has-sub.open>.sub-locations,.has-sub:focus-within>.sub-locations{display:grid}
.sub-locations h4{font-size:22px;color:var(--navy);border-bottom:2px solid var(--gold);margin-bottom:6px;padding-bottom:2px}
.sub-locations ul{list-style:none;margin:0;padding:0}
.sub-locations a{padding:5px 0!important;font-size:14px!important;font-weight:400}
.sub-locations a:hover{background:none!important;text-decoration:underline}
.sub-locations .t{grid-column:1/-1;font-family:"Bebas Neue",Impact,sans-serif;font-size:26px;color:var(--ink)}
.head-phone{display:flex;align-items:center;gap:11px;margin:10px 0 0 10px;color:#fff;text-decoration:none}
.head-phone .ico{width:44px;height:44px;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex:none}
.head-phone small{display:block;font:400 15px/1 "Bebas Neue",sans-serif;letter-spacing:.3px;text-transform:uppercase}
.head-phone strong{display:block;font:400 23px/1.1 "Bebas Neue",sans-serif;letter-spacing:.3px}
.nav-toggle{display:none;background:var(--navy);color:#fff;border:0;width:48px;height:48px;font-size:22px;margin-top:12px;cursor:pointer;border-radius:4px}
.head-right{display:flex;align-items:flex-start}

/* ---------- hero ---------- */
.hero{position:relative;width:100%;min-height:645px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.66) 45%,rgba(2,8,30,.72) 100%);z-index:-1}
.hero .wrap{padding:200px 0 80px}
.hero h1{font-size:clamp(46px,7.4vw,98px);color:#fff;line-height:.98;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.hero .sub-h{font-family:"Bebas Neue",Impact,sans-serif;font-size:clamp(26px,3.3vw,45px);color:var(--gold);margin:22px 0 18px;line-height:1.05}
.hero p{max-width:900px;font-size:19px;line-height:1.55;margin:0 0 28px;color:#fff}
.hero .wrap>*{animation:flyin .9s cubic-bezier(.2,.7,.2,1) both}
.hero .wrap>:nth-child(2){animation-delay:.12s}
.hero .wrap>:nth-child(3){animation-delay:.24s}
.hero .wrap>:nth-child(4){animation-delay:.36s}
@keyframes flyin{from{opacity:0;transform:translateX(120px)}to{opacity:1;transform:none}}
.btn{display:inline-block;font:700 15px/1 "Source Sans Pro",Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;text-decoration:none;padding:15px 26px;border-radius:3px;transition:background .25s,transform .25s}
.btn-gold{background:var(--gold);color:var(--navy-d)}
.btn-gold:hover{background:#dcb43a;transform:translateY(-2px)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:#0b0bb0}

/* ---------- 3-column cta (type and field heights are 1.2x the first version, operator 2026-10-09) ---------- */
.cta3{background:var(--grey);padding:70px 0}
.cta3 .grid{width:97%;max-width:none;margin-inline:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.col{background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px 30px 30px;display:flex;flex-direction:column;box-shadow:0 6px 22px rgba(10,31,68,.07)}
.col h2{font-size:45.6px;color:var(--navy);margin-bottom:18px;padding-bottom:10px;border-bottom:3px solid var(--gold)}
.col .pic{width:100%;height:150px;object-fit:cover;border-radius:8px;margin-bottom:18px}
.col .lead{font-size:20.4px;line-height:1.5;color:var(--ink);margin:0 0 16px;font-weight:600}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-between;flex:1;gap:12px}
.ticks li{display:flex;gap:13px;align-items:flex-start;font-size:18.6px;line-height:1.4}
.ticks li>i{color:var(--green);margin-top:4px;font-size:18px;flex:none}
.ticks li b{display:block;color:var(--ink);font-weight:700;font-size:19.2px}
.ticks li b a{color:var(--ink);text-decoration:none}
.ticks li b a:hover{color:var(--navy);text-decoration:underline}
.ticks li span{display:block;color:var(--text);font-size:17.4px}
.col form{display:flex;flex-direction:column;gap:12px;margin:0}
.col .intro{margin:0 0 14px;font-size:18.6px;color:var(--text)}
.col input,.col select,.col textarea{width:100%;font:400 19.2px/1.2 "Source Sans Pro",Arial,sans-serif;padding:0 16px;border:1px solid #b9bfca;border-radius:6px;background:#fff;color:var(--ink)}
.col input{height:54.2px}
.col select{height:57.6px}
.col textarea{height:60px;max-height:60px;min-height:60px;resize:none;line-height:1.3;padding-top:12px;padding-bottom:12px}
.col input:focus,.col select:focus,.col textarea:focus{border-color:var(--navy);outline:2px solid rgba(0,0,124,.25)}
.col .cf-turnstile{width:100%;min-height:65px}
.col .btn{width:100%;border:0;cursor:pointer;text-align:center;padding:0;height:54px;font-size:18px}
.steps{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;counter-reset:s}
.steps li{display:flex;gap:13px;font-size:18px;line-height:1.4;align-items:flex-start}
.steps li::before{counter-increment:s;content:counter(s);flex:none;width:28.8px;height:28.8px;border-radius:50%;background:var(--navy);color:#fff;font:700 15.6px/28.8px "Source Sans Pro",sans-serif;text-align:center;margin-top:1px}
.col .form-fill{flex:1;display:flex;flex-direction:column;justify-content:space-between}
.col .form-fill>div{flex:1;display:flex;flex-direction:column}
.col .steps{flex:1;justify-content:space-evenly}
.secure{display:flex;gap:12px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:16.8px;color:var(--text)}
.secure i{color:var(--green);font-size:28.8px;flex:none}

/* ---------- city picture ---------- */
.citypic{width:100%;background:#d6e4ee}
.citypic img{width:100%;height:auto;max-height:700px;object-fit:cover}

/* ---------- hotline ---------- */
.hotline{background:linear-gradient(135deg,var(--navy-d),var(--navy));color:#fff;text-align:center;padding:60px 0 64px}
.hotline h2{color:#fff;font-size:clamp(48px,7.2vw,91.2px)}
.hotline .tel{display:inline-block;font-family:"Bebas Neue",Impact,sans-serif;font-size:clamp(67.2px,12vw,153.6px);line-height:1.05;color:var(--gold);text-decoration:none;letter-spacing:1px;margin:6px 0}
.hotline .tel:hover{color:#f0cb55}
.hotline p{margin:6px 0 0;font-size:21.6px;color:#e9ecf7}

/* ---------- content ---------- */
.content{padding:70px 0}
.content h2{text-wrap:balance;font-size:clamp(43.2px,5.28vw,67.2px);color:var(--ink);margin-bottom:22px;column-span:all}
.content p{font-size:21.6px;line-height:1.7;margin:0 0 20px;color:#3d3d3d;orphans:3;widows:3;break-inside:avoid}
.content figure{margin:0 0 32px;width:650px;max-width:100%}
.content figure img{width:100%;height:auto;border-radius:10px;box-shadow:0 8px 24px rgba(10,31,68,.18)}
.content-b{background:var(--grey)}
.content p a{font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
/* picture + intro text side by side (desktop), the rest of the text in columns below */
.lead-row{display:grid;grid-template-columns:1fr;gap:0}
.lead-row figure{order:-1}
.rest-cols{margin-top:6px}
.lead-text,.rest-cols{min-width:0}
@media (min-width:1024px){
  .hotline .wrap,.content .wrap,.areas .wrap,.band .wrap,section.cards .wrap{width:95%;max-width:none}
  .lead-row{gap:48px;align-items:start;margin-bottom:24px}
  .lead-row.pic-right{grid-template-columns:minmax(0,1fr) 650px}
  .lead-row.pic-left{grid-template-columns:650px minmax(0,1fr)}
  .lead-row.pic-right figure{order:2}
  .lead-row.pic-left figure{order:0}
  .lead-row figure{margin:0;width:auto}
  .lead-row figure img{width:100%;height:auto}
  .rest-cols{column-count:2;column-gap:48px}
}
@media (min-width:1800px){
  .lead-text p{break-inside:auto;orphans:2;widows:2}
  .rest-cols{column-count:3}
  .lead-text{column-count:2;column-gap:48px;column-fill:balance}
}
.scen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:34px}
.scen h3{font-size:36px;color:var(--navy);border-bottom:3px solid var(--gold);padding-bottom:6px;margin-bottom:14px}
.scen ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.scen li{display:flex;gap:13px;font-size:19.8px;line-height:1.45;color:#333}
.scen li i{color:var(--green);margin-top:4px;flex:none}

/* ---------- map ---------- */
.mapmod{width:100%;height:500px;display:flex;flex-direction:column;background:var(--navy-d)}
.mapmod iframe{display:block;width:100%;flex:1;min-height:0;border:0;background:#e5e3df}
.mapmod .mapbar{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding:10px 20px;color:#fff;font-size:15px}
.mapmod .mapbar p{margin:0}

/* ---------- global cards ---------- */
.cards{padding:70px 0 20px}
.cards .wrap{width:90%;max-width:none}
.photo-cards{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:340px 340px;gap:20px}
.pcard{position:relative;overflow:hidden;display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.pcard.tall{grid-row:1/3}
.pcard .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s ease}
.pcard::before{content:"";position:absolute;inset:0;background:rgba(0,0,124,.47);transition:background .7s ease;z-index:-1}
.pcard:hover .bg,.pcard:focus-within .bg{transform:scale(1.12) translateX(-2%)}
.pcard:hover::before,.pcard:focus-within::before{background:rgba(1,1,1,.73)}
.pcard .in{padding:48px 80px 48px 48px}
.pcard h3{font-size:56px;color:#fff;margin-bottom:14px;line-height:1.05}
.pcard p{margin:0;font-size:24px;line-height:1.45;color:#fff}
.svc-h{text-align:center;margin:90px 0 16px;font-size:64px;color:var(--ink)}
.svc-p{text-align:center;font-size:22px;color:#2C2C2C;margin:0 0 44px}
.flips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0}
.flip{height:400px;perspective:1000px;position:relative}
.flip-in{position:relative;width:100%;height:100%;transition:transform .5s ease;transform-style:preserve-3d}
.flip:hover .flip-in,.flip:focus-within .flip-in{transform:rotateY(180deg)}
.flip .face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.flip .front{background:#F5F5F5;border:4px solid var(--navy);padding:24px 20px}
.flip .back{background:var(--navy);border:1px solid #B38E58;padding:24px 40px;transform:rotateY(180deg);color:#fff}
.flip img{width:96px;height:96px;object-fit:contain;margin-bottom:16px}
.flip h3{font-size:38px;margin:0 0 12px;line-height:1.1}
.flip .front h3{color:#222}
.flip .back h3{color:#fff}
.flip .bh{font:400 38px/1.1 "Bebas Neue",Impact,sans-serif!important;color:#fff!important;margin:0 0 12px!important}
.flip p{margin:0;font:400 18px/1.55 Poppins,"Source Sans Pro",sans-serif}
.flip .front p{color:#2C2C2C}
.flip .back p{color:#fff}
.flip .more{position:absolute;inset:0;z-index:3;border-radius:0}

/* ---------- areas ---------- */
.areas{background:var(--grey);padding:75px 0}
.areas h2{text-wrap:balance;font-size:36px;margin-bottom:22px;color:var(--ink)}
.areas ul{list-style:none;margin:0;padding:0;columns:3;column-gap:30px}
.areas li{break-inside:avoid;font:400 16.8px/36px Roboto,Arial,sans-serif}
.areas li a{color:#000;text-decoration:none;display:flex;gap:9px;align-items:baseline}
.areas li a:hover{text-decoration:underline}
.areas li i{color:var(--navy);font-size:14px}

/* ---------- 24 hour band ---------- */
.band{position:relative;background:#010101;color:#fff;padding:5em 1em;isolation:isolate}
.band::before{content:"";position:absolute;inset:0;background:url("img/global/band-bg.jpg") center/cover no-repeat;opacity:.35;filter:saturate(0);z-index:-1}
.band .wrap{display:grid;grid-template-columns:40% 60%;align-items:center}
.band .left{text-align:center;padding-right:3em}
.band .ico{display:inline-flex;width:60px;height:60px;background:var(--navy);align-items:center;justify-content:center;font-size:28px;color:#fff}
.band .oncall{display:block;font:400 33.6px/1.1 "Bebas Neue",sans-serif;margin-top:6px}
.band .phone{display:block;font:400 clamp(48px,4.8vw,64.8px)/1.1 "Bebas Neue",sans-serif;color:#fff;text-decoration:none;margin:4px 0 12px}
.band .seal{margin:0 auto}
.band h2{text-wrap:balance;color:#fff;font-size:clamp(40.8px,5.04vw,67.2px);margin-bottom:22px}
.band p{font-size:21.6px;line-height:1.35;margin:0 0 28px;max-width:792px;color:#fff}

/* ---------- footer ---------- */
.foot{position:relative;background:#010101;color:#fff;padding:4em 1em;isolation:isolate}
.foot::before{content:"";position:absolute;inset:0;background:url("img/global/footer-bg.jpg") center/cover no-repeat;opacity:.12;z-index:-1}
.foot .wrap{display:grid;grid-template-columns:40% 20% 20% 20%;gap:0}
.foot .brand{padding-right:5em}
.foot h2{color:#fff;font-size:50px}
.foot h3{color:#fff;font-size:21px;margin-bottom:14px;line-height:1.2}
.foot p{margin:0 0 12px;color:#fff;font-size:16px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 5px}
.foot a{color:#fff;text-decoration:none}
.foot a:hover{color:#C5C5C5}
.foot .contact li{display:flex;gap:11px;margin-bottom:10px}
.foot .contact i{font-size:20px;width:23px;flex:none;margin-top:3px}
.social{display:flex;gap:7px;margin-top:22px}
.social a{width:38px;height:38px;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:16px}
.social a:hover{color:#fff;background:#0b0bb0}
.copy{background:#000;color:#fff;text-align:center;padding:1em;font-size:16px}
.copy div{width:min(var(--wrap),100% - 40px);margin:auto}

.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- responsive ---------- */
@media (max-width:1023px){.rest-cols{margin-top:20px}.lead-text>p:last-child{margin-bottom:0}.lead-row{margin-bottom:0}.rest-cols p:first-child{margin-top:0}}
@media (min-width:1024px){.band{padding-left:0;padding-right:0}}
@media (max-width:1100px){
  .nav-toggle{display:block}
  .head-right{margin-left:auto}
  .main-nav{display:none;position:absolute;top:108px;left:0;right:0;height:auto;background:var(--navy-d);flex-direction:column;align-items:stretch;max-height:calc(100vh - 110px);overflow:auto;border-bottom:3px solid var(--gold)}
  .main-nav.open{display:flex}
  .main-nav>ul{flex-direction:column;align-items:stretch}
  .main-nav>ul>li{border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .main-nav a,.main-nav button.sub-toggle{padding:16px 22px;width:100%;text-align:left}
  .main-nav>ul>li.loc{position:relative}
  .sub,.sub-locations{position:static;width:auto;box-shadow:none;border-top:0;background:rgba(255,255,255,.06)}
  .has-sub:hover>.sub{display:none}.has-sub.open>.sub,.has-sub:focus-within>.sub{display:block}
  .has-sub:hover>.sub-locations{display:none}.has-sub.open>.sub-locations,.has-sub:focus-within>.sub-locations{display:grid}
  .sub a{color:#fff!important;padding:10px 22px!important}
  .sub a:hover{background:rgba(255,255,255,.1)!important;color:#fff!important}
  .sub-locations{grid-template-columns:repeat(2,1fr);padding:14px 22px}
  .sub-locations h4{color:#fff}
  .sub-locations a{padding:5px 0!important}
  .head-phone{display:none}
  .cta3 .grid{grid-template-columns:1fr}
  .flips{grid-template-columns:repeat(2,minmax(0,1fr))}
  .band .wrap{grid-template-columns:1fr}
  .band .left{padding:0 0 2.5em}
  .foot .wrap{grid-template-columns:1fr 1fr;gap:34px}
  .foot .brand{padding-right:0;grid-column:1/-1}
}
@media (max-width:820px){
  .photo-cards{grid-template-columns:1fr;grid-template-rows:none}
  .pcard.tall{grid-row:auto;min-height:520px}
  .pcard{min-height:340px}
  .pcard .in{padding:28px 24px}
  .pcard h3{font-size:44px}
  .pcard p{font-size:20px}
  .scen{grid-template-columns:1fr}
  .areas ul{columns:2}
}
@media (max-width:1023px){
  .content figure{width:100%}
}
@media (max-width:820px){
  .ticks li b a{display:inline-block;padding:12px 0;margin:-12px 0;line-height:23px}
  .areas li a{min-height:44px;align-items:center}
  .foot li a{display:inline-flex;align-items:center;min-height:44px}
  .social a{width:44px;height:44px}
}
@media (max-width:600px){
  .site-header .bar{width:calc(100% - 28px)}
  .logo-tile{width:96px;height:84px}
  .logo-tile img{width:74px;height:74px}
  .main-nav{top:84px}
  .hero{min-height:560px}
  .hero .wrap{padding:150px 0 54px}
  .hero p{font-size:17px}
  .flips{grid-template-columns:1fr}
  .areas ul{columns:1}
  .sub-locations{grid-template-columns:1fr}
  .foot .wrap{grid-template-columns:1fr}
  .cta3,.content{padding:48px 0}
  .col{padding:22px 18px}
  .svc-h{font-size:40px;margin-top:56px}
  .mapmod .mapbar{padding:10px 14px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
