/* American Professional Plumbing Services, v34, redesign 2026-09-28. Written for this client, not forked.
   Reference for the feel: gssnllc.com (Zack). Photo hero, tilted service tiles, angled colour bands, framed job photos,
   sunburst "why" band, contact band over the fleet photo. Navy, red and gold come from their shield and van wraps.
   Type: Oswald for display, Source Sans 3 for reading. */
:root{
  --ap-navy:#2D3384; --ap-navy-dk:#1B1F5C; --ap-navy-dkr:#12153A; --ap-navy-lt:#ECEDF8;
  --ap-red:#D01C18; --ap-red-dk:#A51411;
  --ap-gold:#F5C518; --ap-gold-lt:#FFE27A;
  --ap-ink:#12153A; --ap-text:#23263A; --ap-muted:#5C6178; --ap-line:#DFE1EE; --ap-paper:#F6F7FC;
  --ap-tilt:3.2vw;
  /* names the older markup and the mu-plugins still reference */
  --ap-teal:var(--ap-navy); --ap-teal-dk:var(--ap-navy-dk); --ap-teal-lt:var(--ap-navy-lt); --ap-orange:var(--ap-red); --ap-orange-dk:var(--ap-red-dk); --ap-cream:var(--ap-paper); --ap-radius:6px;
}

/* ---------- base ---------- */
body .ap-page{ background:#fff; color:var(--ap-text); font-family:"Source Sans 3","Source Sans Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; font-size:18px; line-height:1.6; overflow-x:clip; }
body .ap-page *,.ap-footer,.ap-footer *{ box-sizing:border-box; }
body .ap-page h1,body .ap-page h2,body .ap-page h3,body .ap-page h4{ font-family:"Oswald","Arial Narrow",sans-serif; color:var(--ap-navy); margin:0; letter-spacing:0; font-weight:600; }
body .ap-page h2{ font-size:clamp(1.8rem,3.2vw,2.5rem); line-height:1.12; margin:0 0 .5em; }
body .ap-page h3{ font-size:1.55rem; line-height:1.2; }
body .ap-page p{ margin:0 0 1em; }
body .ap-page a{ color:var(--ap-red); }
body .ap-page .lead{ font-size:1.2rem; color:#3A3F55; }
body .ap-page ul,body .ap-page ol{ padding-left:1.2em; margin:0 0 1em; }
body .ap-page li{ margin:.3em 0; }
.ap-tel{ white-space:nowrap; font-weight:700; }
@media (prefers-reduced-motion:reduce){ .ap-page *{ transition:none!important; } }

/* release YOOtheme's container, ap-wrap carries the measure */
body main.tm-main.uk-section{ padding-top:0; padding-bottom:0; }
body .tm-main > .uk-container{ max-width:none; padding-left:0; padding-right:0; }
.ap-wrap{ max-width:1280px; margin:0 auto; padding:0 28px; position:relative; }
.ap-narrow{ max-width:820px; }
.ap-sec{ padding:88px 0; }
.ap-alt{ background:var(--ap-paper); }
@media (max-width:640px){ .ap-sec{ padding:56px 0; } .ap-wrap{ padding:0 20px; } }

/* heading rule, the short gold bar under section titles */
body .ap-page .ap-h{ position:relative; padding-bottom:.45em; margin-bottom:.7em; }
body .ap-page .ap-h::after{ content:""; position:absolute; left:0; bottom:0; width:84px; height:5px; background:var(--ap-gold); }
body .ap-page .ap-center{ text-align:center; }
body .ap-page .ap-center .ap-h::after{ left:50%; margin-left:-42px; }
/* eyebrow (kept for the few places that use one) */
.ap-label{ display:block; font-family:"Oswald",sans-serif; font-weight:500; text-transform:uppercase; letter-spacing:.12em; font-size:.95rem; color:var(--ap-red); margin-bottom:8px; }
body .ap-page .on-dark .ap-label,body .ap-page .ap-label.on-dark{ color:var(--ap-gold); }

/* ---------- buttons: squared, stamped ---------- */
.ap-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:58px; padding:0 30px; border-radius:4px; border:2px solid transparent; font-family:"Oswald",sans-serif; font-weight:600; font-size:1.12rem; letter-spacing:.03em; text-transform:uppercase; text-decoration:none!important; cursor:pointer; transition:transform .15s,background .2s,color .2s,box-shadow .2s; }
.ap-btn svg{ width:20px; height:20px; flex:0 0 auto; }
.ap-btn:hover,.ap-btn:focus{ transform:translateY(-2px); }
.ap-btn-primary,.ap-btn-red,body .ap-page .ap-btn-primary,body .ap-page .ap-btn-red,body .ap-tb .ap-btn-primary{ background:var(--ap-red); color:#fff!important; border-color:#fff; box-shadow:0 0 0 0 transparent; }
.ap-btn-primary:hover,.ap-btn-red:hover,.ap-btn-primary:focus,.ap-btn-red:focus,body .ap-page .ap-btn-primary:hover,body .ap-page .ap-btn-red:hover,body .ap-tb .ap-btn-primary:hover{ background:var(--ap-red-dk); color:#fff!important; }
body .ap-page .ap-btn-dash{ background:var(--ap-gold); color:var(--ap-navy-dkr)!important; border:2px dashed var(--ap-navy); }
body .ap-page .ap-btn-dash:hover,body .ap-page .ap-btn-dash:focus{ background:var(--ap-gold-lt); }
body .ap-page .ap-btn-navy,body .ap-page .ap-btn-teal{ background:var(--ap-navy); color:#fff!important; border-color:var(--ap-navy); }
body .ap-page .ap-btn-navy:hover,body .ap-page .ap-btn-teal:hover{ background:var(--ap-navy-dk); }
body .ap-page .ap-btn-ghost{ background:transparent; color:#fff!important; border-color:rgba(255,255,255,.8); }
body .ap-page .ap-btn-ghost:hover,body .ap-page .ap-btn-ghost:focus{ background:#fff; color:var(--ap-navy-dkr)!important; }
body .ap-page .ap-btn-outline{ background:transparent; color:var(--ap-navy)!important; border-color:var(--ap-navy); }
body .ap-page .ap-btn-outline:hover,body .ap-page .ap-btn-outline:focus{ background:var(--ap-navy); color:#fff!important; }
.ap-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-top:1.6em; }
@media (max-width:640px){ .ap-actions .ap-btn{ width:100%; } .ap-btn{ font-size:1.02rem; padding:0 20px; } }

/* ---------- hero ---------- */
.ap-hero{ position:relative; isolation:isolate; background:var(--ap-navy-dk); color:#fff; padding:72px 0 130px; overflow:hidden; }
.ap-hero .bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 35%; z-index:-2; }
.ap-hero::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(95deg,rgba(27,31,92,.97) 0%,rgba(27,31,92,.93) 34%,rgba(45,51,132,.72) 62%,rgba(45,51,132,.38) 100%); }
.ap-hero::after{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(rgba(255,255,255,.1) 1.5px,transparent 1.7px) 0 0/13px 13px; -webkit-mask-image:linear-gradient(90deg,#000 0,transparent 55%); mask-image:linear-gradient(90deg,#000 0,transparent 55%); pointer-events:none; }
.ap-hero .grid{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr); gap:56px; align-items:center; }
.ap-hero.sm .grid{ grid-template-columns:minmax(0,1fr); }
.ap-hero.sm{ padding:64px 0 120px; }
.ap-hero.compact{ padding:48px 0 104px; }
.ap-crumb{ display:flex; gap:8px; flex-wrap:wrap; font-size:.92rem; margin-bottom:22px; color:#D9DCEE; }
body .ap-page .ap-crumb a{ color:#D9DCEE; text-decoration:none; }
body .ap-page .ap-crumb a:hover{ color:#fff; }
.ap-crumb span::before{ content:"/"; margin-right:8px; color:var(--ap-gold); }
.ap-chip{ display:inline-flex; align-items:center; gap:10px; background:#fff; color:var(--ap-ink); border-radius:10px; padding:12px 20px; font-weight:700; font-size:.98rem; box-shadow:0 8px 22px rgba(0,0,0,.25); margin-bottom:26px; }
.ap-chip b{ font-family:"Oswald",sans-serif; font-size:1.25rem; line-height:1; }
.ap-chip .stars{ color:#F2A900; letter-spacing:2px; font-size:1.1rem; line-height:1; }
body .ap-page .ap-hero h1{ color:#fff; text-transform:uppercase; line-height:1.02; }
body .ap-page .ap-hero h1 .kw{ display:block; font-size:clamp(1.05rem,1.7vw,1.35rem); font-weight:500; letter-spacing:.1em; color:var(--ap-gold); margin-bottom:.55em; }
body .ap-page .ap-hero h1 .big,body .ap-page .ap-hero h1 .l1{ display:block; font-weight:700; font-size:clamp(2.7rem,6vw,5.2rem); color:#fff; }
body .ap-page .ap-hero h1 .big em{ font-style:normal; color:var(--ap-gold); }
body .ap-page .ap-hero.sm h1 .l1{ font-size:clamp(2.2rem,4.6vw,3.9rem); }
body .ap-page .ap-hero h1 .l2{ display:block; font-weight:500; font-size:clamp(1.2rem,2.2vw,1.7rem); color:var(--ap-gold); margin-top:.45em; text-transform:none; line-height:1.2; }
body .ap-page .ap-hero p{ color:#EEF0FA; max-width:640px; margin:1.2em 0 0; font-size:1.2rem; }
body .ap-page .ap-hero p a,body .ap-page .ap-hero a.ap-tel{ color:#fff; text-decoration:underline; text-decoration-color:var(--ap-gold); text-underline-offset:3px; }
.ap-feats{ list-style:none; display:flex; flex-wrap:wrap; gap:18px 30px; margin:30px 0 0!important; padding:0!important; }
.ap-feats li{ display:flex; align-items:center; gap:12px; margin:0; font-family:"Oswald",sans-serif; font-weight:500; font-size:1.12rem; line-height:1.15; color:#fff; }
.ap-feats .ic{ width:46px; height:46px; flex:0 0 46px; background:var(--ap-gold); color:var(--ap-navy-dk); display:flex; align-items:center; justify-content:center; border-radius:4px; }
.ap-feats .ic svg{ width:26px; height:26px; }
.ap-formcard{ background:#fff; border:5px solid var(--ap-gold); border-radius:6px; box-shadow:-10px 10px 0 var(--ap-red); padding:26px 24px 12px; color:var(--ap-text); }
body .ap-page .ap-formcard h2{ font-size:1.9rem; margin:0 0 .15em; color:var(--ap-navy); }
body .ap-page .ap-formcard p{ margin:0 0 .6em; color:var(--ap-muted); font-size:1rem; max-width:none; }
.ap-formwrap{ background:#fff; min-height:0; padding:0; border:0; }
.ap-formwrap iframe{ min-height:560px; display:block; }
@media (max-width:980px){
  .ap-hero{ padding:48px 0 96px; }
  .ap-hero .grid{ grid-template-columns:minmax(0,1fr); gap:40px; }
  .ap-hero::before{ background:linear-gradient(180deg,rgba(27,31,92,.95) 0%,rgba(27,31,92,.9) 55%,rgba(45,51,132,.82) 100%); }
  .ap-formcard{ box-shadow:-6px 6px 0 var(--ap-red); padding:20px 14px 8px; }
}
@media (max-width:640px){
  .ap-hero.sm{ padding:40px 0 92px; }
  .ap-feats{ gap:14px; flex-direction:column; align-items:flex-start; }
  body .ap-page .ap-hero p{ font-size:1.08rem; }
  .ap-chip{ font-size:.88rem; padding:10px 14px; gap:8px; }
}

/* ---------- call bar, sits across the hero's bottom edge ---------- */
.ap-callbar{ position:relative; z-index:3; margin-top:-64px; }
.ap-callbar .bar{ display:grid; grid-template-columns:minmax(0,1.2fr) auto auto auto; gap:14px 30px; align-items:center; background:var(--ap-navy); background-image:radial-gradient(rgba(255,255,255,.1) 1.5px,transparent 1.7px); background-size:13px 13px; border:3px solid var(--ap-gold); border-radius:6px; padding:22px 28px; box-shadow:0 14px 30px rgba(18,21,58,.28); color:#fff; }
.ap-callbar .t b{ display:block; font-family:"Oswald",sans-serif; font-weight:600; font-size:1.55rem; line-height:1.1; color:#fff; }
.ap-callbar .t span{ color:#D9DCEE; font-size:1rem; }
body .ap-page .ap-callbar .ph{ display:block; text-decoration:none; color:#fff; font-family:"Oswald",sans-serif; font-weight:600; font-size:1.6rem; line-height:1.05; white-space:nowrap; }
body .ap-page .ap-callbar .ph small{ display:block; font-family:"Source Sans 3",sans-serif; font-weight:700; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ap-gold); margin-bottom:3px; }
body .ap-page .ap-callbar .ph:hover{ color:var(--ap-gold); }
@media (max-width:1080px){ .ap-callbar .bar{ grid-template-columns:1fr 1fr; } .ap-callbar .t{ grid-column:1 / -1; } .ap-callbar .ap-btn{ grid-column:1 / -1; } }
@media (max-width:640px){ .ap-callbar .bar{ padding:18px; gap:14px 12px; } body .ap-page .ap-callbar .ph{ font-size:1.3rem; } .ap-callbar .t b{ font-size:1.35rem; } }

/* ---------- tilted service tiles ---------- */
.ap-tiles{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:44px 34px; padding:26px 0 18px; }
.ap-tiles.five{ grid-template-columns:repeat(5,minmax(0,1fr)); }
body .ap-page .ap-tile{ display:flex; align-items:center; justify-content:center; min-height:230px; padding:26px 16px; text-decoration:none; color:#fff; border-radius:18px; border:2px solid var(--ap-gold-lt); background:var(--ap-navy); background-image:radial-gradient(rgba(255,255,255,.13) 1.5px,transparent 1.7px),linear-gradient(160deg,#3A41A3 0%,var(--ap-navy) 60%,var(--ap-navy-dk) 100%); background-size:12px 12px,auto; box-shadow:8px 10px 0 var(--ap-red); transform:skewY(-5deg); transition:transform .18s,box-shadow .18s; }
body .ap-page .ap-tile:hover,body .ap-page .ap-tile:focus{ transform:skewY(-5deg) translateY(-6px); box-shadow:8px 16px 0 var(--ap-red-dk); }
.ap-tile .in{ display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; transform:skewY(5deg); }
.ap-tile .ic{ color:#fff; display:block; line-height:0; }
.ap-tile .ic svg{ width:58px; height:58px; stroke-width:1.7; }
.ap-tile .nm{ font-family:"Oswald",sans-serif; font-weight:600; font-size:1.42rem; line-height:1.12; text-transform:uppercase; color:var(--ap-gold); text-shadow:0 2px 0 rgba(0,0,0,.35); }
.ap-tiles.small .ap-tile{ min-height:170px; }
.ap-tiles.small .ap-tile .ic svg{ width:44px; height:44px; }
.ap-tiles.small .ap-tile .nm{ font-size:1.2rem; }
@media (max-width:1000px){ .ap-tiles,.ap-tiles.five{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 24px; } }
@media (max-width:640px){ .ap-tiles,.ap-tiles.five{ gap:28px 18px; } body .ap-page .ap-tile{ min-height:168px; padding:18px 10px; box-shadow:6px 8px 0 var(--ap-red); } .ap-tile .ic svg{ width:44px; height:44px; } .ap-tile .nm{ font-size:1.08rem; } .ap-tile .in{ gap:10px; } }

/* ---------- angled colour bands ---------- */
.ap-band{ position:relative; color:#fff; padding:calc(84px + var(--ap-tilt)) 0; clip-path:polygon(0 var(--ap-tilt),100% 0,100% calc(100% - var(--ap-tilt)),0 100%); margin:calc(var(--ap-tilt) * -.4) 0; }
.ap-band.flip{ clip-path:polygon(0 0,100% var(--ap-tilt),100% 100%,0 calc(100% - var(--ap-tilt))); }
.ap-band.red{ background:var(--ap-red); }
.ap-band.navy{ background:var(--ap-navy); background-image:radial-gradient(rgba(255,255,255,.09) 1.5px,transparent 1.7px); background-size:13px 13px; }
.ap-band.gold{ background:var(--ap-gold); color:var(--ap-navy-dkr); }
.ap-band.burst{ background:var(--ap-red); background-image:repeating-conic-gradient(from 0deg at 50% 100%,rgba(0,0,0,.075) 0deg 7deg,rgba(0,0,0,0) 7deg 14deg); }
body .ap-page .ap-band h2,body .ap-page .ap-band h3{ color:#fff; }
body .ap-page .ap-band.gold h2,body .ap-page .ap-band.gold h3{ color:var(--ap-navy-dkr); }
body .ap-page .ap-band p{ color:#fff; }
body .ap-page .ap-band a:not(.ap-btn){ color:var(--ap-gold-lt); }
body .ap-page .ap-band.red .ap-h::after,body .ap-page .ap-band.burst .ap-h::after{ background:rgba(255,255,255,.55); }
.ap-split{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:56px; align-items:center; }
@media (max-width:900px){ .ap-split{ grid-template-columns:minmax(0,1fr); gap:30px; } .ap-band{ padding:calc(60px + var(--ap-tilt)) 0; } }

/* check lists */
.ap-checks{ list-style:none; padding:0!important; margin:18px 0 0!important; display:grid; grid-template-columns:1fr 1fr; gap:16px 30px; }
.ap-checks li{ position:relative; padding-left:40px; margin:0; font-size:1.08rem; line-height:1.3; }
.ap-checks li::before{ content:""; position:absolute; left:0; top:-2px; width:28px; height:28px; border-radius:50%; background:var(--ap-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='M5 10.5l3.2 3.2L15 7'/%3E%3C/svg%3E") center/17px no-repeat; }
.ap-band .ap-checks li::before,.ap-reach .ap-checks li::before{ background-color:var(--ap-gold); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%231B1F5C' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round' d='M5 10.5l3.2 3.2L15 7'/%3E%3C/svg%3E"); }
body .ap-page .ap-band .ap-checks a,body .ap-page .ap-reach .ap-checks a{ color:#fff; text-decoration:none; font-weight:600; }
body .ap-page .ap-band .ap-checks a:hover{ color:var(--ap-gold-lt); text-decoration:underline; }
body .ap-page .ap-checks a{ color:var(--ap-navy); font-weight:600; text-decoration:none; }
body .ap-page .ap-checks a:hover{ color:var(--ap-red); text-decoration:underline; }
.ap-checks.one{ grid-template-columns:1fr; }
@media (max-width:640px){ .ap-checks{ grid-template-columns:1fr; gap:14px; } }

/* ---------- photo and text rows ---------- */
.ap-zig{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.ap-zig + .ap-zig{ margin-top:84px; }
.ap-zig.flip .ap-frame{ order:2; }
.ap-frame{ margin:0; position:relative; border:6px solid var(--ap-gold); border-radius:6px; box-shadow:-10px 10px 0 var(--ap-navy); background:var(--ap-navy-lt); line-height:0; }
.ap-zig.flip .ap-frame,.ap-frame.r{ box-shadow:10px 10px 0 var(--ap-navy); }
.ap-frame img{ display:block; width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; }
.ap-frame.tall img{ aspect-ratio:4/5; }
.ap-frame.wide img{ aspect-ratio:16/9; }
.ap-frame figcaption{ position:absolute; left:0; bottom:0; background:var(--ap-gold); color:var(--ap-navy-dkr); font-family:"Oswald",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.06em; font-size:.95rem; line-height:1; padding:9px 14px 8px; }
.ap-pair{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
body .ap-page .ap-zig .tx h2{ margin-bottom:.4em; }
body .ap-page .ap-zig .tx h3{ margin:1.1em 0 .35em; }
body .ap-page .ap-zig .tx h3:first-child,body .ap-page .ap-zig .tx h2 + h3{ margin-top:0; }
body .ap-page .ap-zig .tx h3 a{ color:var(--ap-navy); text-decoration:none; }
body .ap-page .ap-zig .tx h3 a:hover{ color:var(--ap-red); }
@media (max-width:900px){ .ap-zig{ grid-template-columns:minmax(0,1fr); gap:34px; } .ap-zig + .ap-zig{ margin-top:60px; } .ap-zig.flip .ap-frame{ order:0; } .ap-frame,.ap-zig.flip .ap-frame,.ap-frame.r{ box-shadow:-7px 7px 0 var(--ap-navy); margin-left:7px; } }
@media (max-width:520px){ .ap-pair{ gap:16px; } }

/* ---------- their numbers ---------- */
.ap-stats .row{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; text-align:center; }
.ap-stats .n{ font-family:"Oswald",sans-serif; font-weight:700; font-size:clamp(2.4rem,4.6vw,3.8rem); line-height:1; color:var(--ap-navy-dk); }
.ap-stats .n em{ font-style:normal; color:var(--ap-red); }
.ap-stats .t{ margin-top:.5em; font-weight:700; font-size:.95rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ap-navy-dkr); }
@media (max-width:760px){ .ap-stats .row{ grid-template-columns:1fr 1fr; gap:34px 16px; } .ap-stats .t{ font-size:.82rem; letter-spacing:.05em; } }

/* ---------- customer quotes ---------- */
.ap-quotes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:36px; text-align:left; }
.ap-quote{ position:relative; margin:0; background:#fff; border-radius:6px; border:4px solid var(--ap-gold); box-shadow:-8px 8px 0 var(--ap-navy-dkr); padding:30px 26px 24px; display:flex; flex-direction:column; gap:12px; }
.ap-quote .stars{ color:#F2A900; letter-spacing:3px; font-size:1.25rem; line-height:1; }
body .ap-page .ap-quote p{ margin:0; color:var(--ap-text); font-size:1.05rem; line-height:1.55; }
body .ap-page .ap-quote .nm{ margin-top:auto; padding-top:8px; font-family:"Oswald",sans-serif; font-weight:600; font-size:1.2rem; color:var(--ap-navy); }
.ap-quote .nm span{ display:block; font-family:"Source Sans 3",sans-serif; font-weight:700; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ap-muted); }
@media (max-width:900px){ .ap-quotes{ grid-template-columns:minmax(0,1fr); } .ap-quote{ margin-left:8px; } }
.ap-reviews{ background:#fff; padding:64px 0; }
.ap-reviews-slot{ margin-top:10px; min-height:0; }

/* ---------- why cards ---------- */
.ap-whys{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:34px; text-align:left; }
.ap-whyc{ background:var(--ap-navy); border:3px solid #fff; border-radius:4px; padding:26px 24px; box-shadow:0 6px 0 rgba(0,0,0,.18); }
body .ap-page .ap-whyc h3{ display:flex; align-items:center; gap:14px; color:#fff; font-size:1.5rem; padding-bottom:14px; margin-bottom:14px; border-bottom:3px solid var(--ap-gold); }
.ap-whyc h3 svg{ width:34px; height:34px; color:var(--ap-gold); flex:0 0 auto; }
body .ap-page .ap-whyc p{ color:#E6E8F6; margin:0; font-size:1.04rem; }
.ap-whyc.go{ background:var(--ap-gold); border-color:var(--ap-navy); }
body .ap-page .ap-whyc.go h3{ color:var(--ap-navy-dkr); border-bottom-color:var(--ap-red); }
.ap-whyc.go h3 svg{ color:var(--ap-red); }
body .ap-page .ap-whyc.go p{ color:var(--ap-navy-dkr); }
body .ap-page .ap-whyc.go .ap-btn{ margin-top:16px; min-height:50px; font-size:1.02rem; }
@media (max-width:980px){ .ap-whys{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .ap-whys{ grid-template-columns:minmax(0,1fr); } }

/* ---------- steps ---------- */
.ap-steps{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:34px; counter-reset:step; text-align:left; }
.ap-steps .st{ position:relative; padding:0 0 0 78px; }
.ap-steps .st::before{ counter-increment:step; content:counter(step); position:absolute; left:0; top:0; width:58px; height:58px; border-radius:4px; background:var(--ap-gold); color:var(--ap-navy-dk); font-family:"Oswald",sans-serif; font-weight:700; font-size:2rem; line-height:58px; text-align:center; box-shadow:-5px 5px 0 var(--ap-red); }
body .ap-page .ap-steps h3{ margin-bottom:.3em; }
body .ap-page .ap-steps p{ margin:0; }
@media (max-width:860px){ .ap-steps{ grid-template-columns:minmax(0,1fr); } }

/* ---------- offices ---------- */
.ap-offices{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:36px; text-align:left; }
.ap-office{ background:#fff; border-radius:6px; border:3px solid var(--ap-navy); border-top-width:12px; box-shadow:-8px 8px 0 var(--ap-gold); padding:26px 26px 24px; display:flex; flex-direction:column; gap:4px; }
.ap-office .st{ font-weight:700; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ap-red); }
body .ap-page .ap-office h3{ font-size:1.8rem; margin:.05em 0 .25em; }
body .ap-page .ap-office p{ margin:0; color:var(--ap-text); }
body .ap-page .ap-office .ap-phone{ font-size:1.7rem; margin:.45em 0 .35em; }
body .ap-page .ap-office a.more{ margin-top:auto; padding-top:8px; font-family:"Oswald",sans-serif; font-weight:600; letter-spacing:.05em; text-transform:uppercase; font-size:1rem; color:var(--ap-red); text-decoration:none; }
body .ap-page .ap-office a.more::after{ content:" \203A"; }
body .ap-page .ap-office a.more:hover{ text-decoration:underline; }
@media (max-width:900px){ .ap-offices{ grid-template-columns:minmax(0,1fr); gap:26px; } .ap-office{ margin-left:8px; } }
.ap-phone{ display:inline-block; font-family:"Oswald",sans-serif; font-weight:600; font-size:1.9rem; line-height:1.1; color:var(--ap-navy); text-decoration:none!important; margin:.2em 0 .4em; }
body .ap-page .ap-phone{ color:var(--ap-navy); }
body .ap-page .ap-phone:hover{ color:var(--ap-red); }

/* info card: address, phone, hours */
.ap-card{ background:#fff; border:3px solid var(--ap-navy); border-radius:6px; padding:26px; box-shadow:-8px 8px 0 var(--ap-gold); }
.ap-info .row{ display:grid; grid-template-columns:minmax(0,1fr); gap:18px; margin-top:16px; }
.ap-info .it{ display:grid; grid-template-columns:46px minmax(0,1fr); gap:14px; align-items:start; }
.ap-info .it > div{ min-width:0; }
.ap-info .it .ic{ width:46px; height:46px; border-radius:4px; background:var(--ap-navy); color:var(--ap-gold); display:flex; align-items:center; justify-content:center; }
.ap-info .it .ic svg{ width:24px; height:24px; }
.ap-info .it b{ display:block; font-family:"Oswald",sans-serif; font-weight:600; font-size:1.2rem; color:var(--ap-navy); line-height:1.2; }
body .ap-page .ap-info .it p{ margin:0; color:var(--ap-text); font-size:1.02rem; }
body .ap-page .ap-info a[href^="mailto:"]{ overflow-wrap:anywhere; word-break:break-word; }

/* ---------- contact band over the fleet photo ---------- */
.ap-reach{ position:relative; isolation:isolate; background:var(--ap-navy-dkr); color:#fff; padding:96px 0; overflow:hidden; }
.ap-reach .bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.ap-reach::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(18,21,58,.94) 0%,rgba(27,31,92,.86) 50%,rgba(27,31,92,.74) 100%); }
.ap-reach .grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:60px; align-items:center; }
body .ap-page .ap-reach h2{ color:#fff; font-size:clamp(2.2rem,4.4vw,3.6rem); line-height:1.05; margin-bottom:.15em; }
body .ap-page .ap-reach .sub{ color:var(--ap-gold); font-family:"Oswald",sans-serif; font-weight:500; font-size:1.35rem; margin:0 0 1em; }
body .ap-page .ap-reach p{ color:#EEF0FA; }
.ap-reach .ap-checks{ grid-template-columns:1fr; gap:16px; margin-top:6px!important; }
.ap-reach .ap-checks li{ font-size:1.18rem; color:#fff; }
.ap-reach .ap-formcard{ box-shadow:-10px 10px 0 var(--ap-red); }
.ap-officelist{ list-style:none; padding:0!important; margin:10px 0 14px!important; }
.ap-officelist li{ margin:0; padding:14px 0; border-top:1px solid var(--ap-line); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; align-items:center; }
.ap-officelist li:first-child{ border-top:0; }
.ap-officelist b{ font-family:"Oswald",sans-serif; font-weight:600; font-size:1.25rem; color:var(--ap-navy); display:block; line-height:1.15; }
.ap-officelist span{ color:var(--ap-muted); font-size:.98rem; }
body .ap-page .ap-officelist a{ font-family:"Oswald",sans-serif; font-weight:600; font-size:1.35rem; color:var(--ap-red); text-decoration:none; white-space:nowrap; }
@media (max-width:980px){ .ap-reach{ padding:64px 0; } .ap-reach .grid{ grid-template-columns:minmax(0,1fr); gap:40px; } .ap-reach .ap-formcard{ box-shadow:-6px 6px 0 var(--ap-red); margin-left:6px; } }
@media (max-width:520px){ .ap-officelist li{ grid-template-columns:minmax(0,1fr); } }

/* ---------- town links ---------- */
.ap-areas{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:28px; }
body .ap-page .ap-areas a{ display:inline-flex; align-items:center; gap:10px; padding:12px 22px; border-radius:4px; background:#fff; border:2px solid var(--ap-navy); color:var(--ap-navy); font-family:"Oswald",sans-serif; font-weight:500; font-size:1.12rem; text-decoration:none; transition:background .2s,color .2s; }
body .ap-page .ap-areas a svg{ width:18px; height:18px; color:var(--ap-red); }
body .ap-page .ap-areas a:hover,body .ap-page .ap-areas a.now{ background:var(--ap-navy); color:#fff; }
body .ap-page .ap-areas a:hover svg,body .ap-page .ap-areas a.now svg{ color:var(--ap-gold); }
@media (max-width:640px){ .ap-areas{ display:grid; grid-template-columns:1fr 1fr; gap:10px; } body .ap-page .ap-areas a{ padding:11px 10px; font-size:.98rem; white-space:nowrap; gap:6px; } }
.ap-towns{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:36px; text-align:left; }
body .ap-page .ap-towns a{ display:block; background:#fff; border:3px solid var(--ap-navy); border-radius:6px; box-shadow:-8px 8px 0 var(--ap-gold); padding:24px; text-decoration:none; color:var(--ap-text); transition:transform .18s; }
body .ap-page .ap-towns a:hover{ transform:translateY(-4px); }
.ap-towns .st{ font-weight:700; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ap-red); }
body .ap-page .ap-towns h3{ margin:.15em 0 .3em; }
body .ap-page .ap-towns p{ margin:0; font-size:1rem; color:var(--ap-text); }
@media (max-width:900px){ .ap-towns{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; } }
@media (max-width:600px){ .ap-towns{ grid-template-columns:minmax(0,1fr); } body .ap-page .ap-towns a{ margin-left:8px; } }

/* ---------- FAQ ---------- */
.ap-faq .uk-accordion{ margin:28px 0 0; padding:0; list-style:none; text-align:left; }
.ap-faq .uk-accordion > li{ margin:0 0 12px; border:2px solid var(--ap-navy); border-radius:4px; background:#fff; }
body .ap-page .ap-faq .uk-accordion-title{ display:block; font-family:"Oswald",sans-serif; font-weight:500; font-size:1.3rem; line-height:1.25; color:var(--ap-navy); padding:18px 62px 18px 20px; position:relative; text-decoration:none; }
.ap-faq .uk-accordion-title::before{ content:""; position:absolute; right:14px; top:50%; width:32px; height:32px; margin-top:-16px; border-radius:4px; background:var(--ap-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%231B1F5C' stroke-width='2.6' stroke-linecap='round' d='M10 4.5v11M4.5 10h11'/%3E%3C/svg%3E") center/16px no-repeat; }
.ap-faq .uk-open > .uk-accordion-title::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%231B1F5C' stroke-width='2.6' stroke-linecap='round' d='M4.5 10h11'/%3E%3C/svg%3E"); }
.ap-faq .uk-open{ background:var(--ap-paper); }
.ap-faq .uk-accordion-content{ margin:0; padding:0 20px 18px; }
body .ap-page .ap-faq .uk-accordion-content p{ margin:0; }

/* ---------- long form text (legal pages) ---------- */
body .ap-page .ap-prose h2{ font-size:1.7rem; margin:1.5em 0 .35em; }
body .ap-page .ap-prose h2:first-child{ margin-top:0; }

/* ---------- header ---------- */
body .tm-toolbar.tm-toolbar-default{ background:var(--ap-navy-dk)!important; background-image:none!important; color:#fff; padding-top:7px; padding-bottom:7px; }
body .tm-toolbar .uk-container{ max-width:none; padding-left:40px; padding-right:40px; }
.ap-tb{ display:flex; align-items:center; gap:0; font-family:"Source Sans 3",system-ui,sans-serif; font-size:.95rem; color:#fff; }
.ap-tb .say{ font-family:"Oswald",sans-serif; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--ap-gold); font-size:.95rem; }
body .ap-tb a{ color:#fff; text-decoration:none; font-weight:700; padding:0 18px; border-left:1px solid rgba(255,255,255,.22); display:inline-flex; align-items:center; gap:8px; line-height:1.2; }
body .ap-tb a:first-child{ border-left:0; }
body .ap-tb a.tel .lbl{ font-weight:700; color:var(--ap-gold); margin-right:2px; }
body .ap-tb a.tel{ white-space:nowrap; }
body .ap-tb a svg{ width:16px; height:16px; color:var(--ap-gold); }
body .ap-tb a:hover{ color:var(--ap-gold); }
body .ap-tb a.ap-btn{ border:2px solid #fff; padding:0 18px; min-height:38px; font-size:.95rem; margin-left:18px; }
body .ap-tb a.ap-btn:hover{ color:#fff; }
body .tm-header .uk-navbar-container{ background:#fff; border-bottom:5px solid var(--ap-gold); }
body .tm-header .uk-navbar-nav > li > a{ font-family:"Source Sans 3",system-ui,sans-serif; font-weight:600; color:var(--ap-ink); text-transform:none; font-size:1.06rem; letter-spacing:0; min-height:92px; }
body .tm-header .uk-navbar-nav{ gap:24px; }
body .tm-header .uk-navbar-nav > li:hover > a,body .tm-header .uk-navbar-nav > li.uk-active > a{ color:var(--ap-red); }
body .tm-header .uk-navbar-nav > li > a::before{ background-color:var(--ap-navy)!important; border-color:var(--ap-navy)!important; }
body .tm-header .uk-drop,body .tm-header .uk-navbar-dropdown,body .uk-navbar-container .uk-navbar-dropdown{ position:absolute!important; }
body .uk-navbar-dropdown{ background:#fff; border-radius:4px; border-top:4px solid var(--ap-red); box-shadow:0 18px 40px rgba(18,21,58,.18); padding:16px 22px; width:320px; }
body .uk-navbar-dropdown-nav > li > a{ color:var(--ap-ink); font-weight:600; padding:7px 0; }
body .uk-navbar-dropdown-nav > li > a:hover{ color:var(--ap-red); }
body .uk-logo{ flex-shrink:0; }
body .tm-header .uk-logo img{ max-height:72px; width:auto; }
@media (min-width:1100px) and (max-width:1380px){ body .tm-header .uk-logo img{ max-height:54px; } body .tm-header .uk-navbar-nav{ gap:14px; } body .tm-header .uk-navbar-nav > li > a{ font-size:.96rem; } }
body .uk-offcanvas-bar{ background:var(--ap-navy-dk); }
body .uk-offcanvas-bar .uk-nav > li > a{ color:#fff; font-family:"Oswald",sans-serif; font-weight:500; font-size:1.2rem; }
body .uk-offcanvas-bar .uk-nav-sub a{ color:#D9DCEE; }
body .uk-offcanvas-bar .uk-nav-parent-icon > a::after{ filter:invert(1); }
body .tm-header-mobile .uk-navbar-container{ background:#fff!important; border-bottom:4px solid var(--ap-gold); }
body .tm-header-mobile .uk-container{ padding-left:20px!important; padding-right:20px!important; }
body .tm-header-mobile .uk-logo img{ max-height:48px; width:auto; }
body .tm-header-mobile .uk-navbar-toggle{ color:var(--ap-ink); }

/* mobile sticky call bar (HFCM Mobile Buttons). One reservation, the bar's own height */
body .mobile-buttons{ display:none; }
@media (max-width:1099px){
  html,body{ background:#fff!important; }
  html{ padding-top:0!important; margin-top:0!important; }
  body{ margin-top:0!important; padding-top:0!important; padding-bottom:0; }
  body .mobile-buttons{ display:flex!important; position:fixed; top:0; left:0; right:0; z-index:1000!important; width:100%; }
  body .mobile-buttons ul{ display:grid!important; grid-template-columns:1fr 1fr; width:100%; margin:0; padding:0; list-style:none; }
  body .mobile-buttons li{ margin:0; }
  body .mobile-buttons a{ display:flex; align-items:center; justify-content:center; height:56px; box-sizing:border-box; border:0!important; font-family:"Oswald",sans-serif; font-weight:600; font-size:1.05rem; letter-spacing:.04em; text-transform:uppercase; text-decoration:none; color:#fff; }
  body .mobile-buttons .button-left{ background:var(--ap-red)!important; color:#fff!important; }
  body .mobile-buttons .button-right{ background:var(--ap-navy)!important; color:#fff!important; }
  body .tm-page{ padding-top:56px!important; margin-top:0!important; }
}

/* ---------- footer ---------- */
body footer.tm-footer,body .tm-footer .uk-section-default{ background:var(--ap-navy-dk); }
body .tm-footer .uk-container.uk-container-expand,body footer .uk-container{ padding-left:0!important; padding-right:0!important; max-width:none!important; }
body footer .uk-grid.tm-grid-expand{ margin-left:0!important; }
body footer .uk-grid.tm-grid-expand > *{ padding-left:0!important; }
body footer .uk-section{ padding:0; }
.ap-footer{ background:var(--ap-navy-dk); background-image:radial-gradient(rgba(255,255,255,.07) 1.5px,transparent 1.7px); background-size:13px 13px; border-top:6px solid var(--ap-gold); color:#D9DCEE; font-family:"Source Sans 3",system-ui,sans-serif; font-size:1.02rem; }
.ap-footer .top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding:60px 0 44px; }
.ap-footer .ap-fh{ color:#fff; font-family:"Oswald",sans-serif; font-weight:600; font-size:1.35rem; margin:0 0 14px; }
.ap-footer ul{ list-style:none; padding:0; margin:0; }
.ap-footer li{ margin:0 0 9px; }
.ap-footer a{ color:#fff; text-decoration:none; }
body .ap-footer a:hover{ color:var(--ap-gold); }
.ap-footer .mark{ display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.ap-footer .mark img{ width:76px; height:76px; display:block; }
.ap-footer .mark b{ display:block; color:#fff; font-family:"Oswald",sans-serif; font-weight:600; font-size:1.4rem; line-height:1.08; text-transform:uppercase; }
.ap-footer .mark span{ display:block; color:var(--ap-gold); font-family:"Oswald",sans-serif; font-weight:500; font-size:.95rem; letter-spacing:.08em; text-transform:uppercase; margin-top:5px; }
.ap-footer .brand p{ max-width:360px; margin:0 0 12px; }
.ap-footer .brand .ap-phone{ color:#fff; font-size:1.7rem; }
.ap-footer .offices{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:28px 0; border-top:1px solid rgba(255,255,255,.16); }
.ap-footer .offices .offh{ grid-column:1/-1; margin:0 0 2px; }
.ap-footer .offices b{ display:block; color:var(--ap-gold); font-family:"Oswald",sans-serif; font-weight:600; font-size:1.2rem; margin-bottom:4px; }
.ap-footer .offices p{ margin:0; line-height:1.5; }
.ap-footer .offices a{ font-weight:700; }
.ap-footer .bottom{ border-top:1px solid rgba(255,255,255,.16); padding:20px 0; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.92rem; color:#BFC4DE; }
.ap-footer .bottom a{ color:#BFC4DE; }
@media (max-width:900px){ .ap-footer .top{ grid-template-columns:1fr 1fr; } }
@media (max-width:760px){ .ap-footer .offices{ grid-template-columns:1fr; text-align:center; gap:20px; } }
@media (max-width:560px){
  .ap-footer .top{ grid-template-columns:1fr 1fr; gap:28px 16px; text-align:center; padding:44px 0 28px; }
  .ap-footer .brand{ grid-column:1 / -1; display:flex; flex-direction:column; align-items:center; }
  .ap-footer .mark{ flex-direction:column; gap:10px; text-align:center; }
  .ap-footer .brand p{ max-width:320px; margin:0 auto 12px; }
  .ap-footer .bottom{ justify-content:center; text-align:center; flex-direction:column; gap:6px; }
  .ap-footer .top > div:last-child{ grid-column:1 / -1; }
}

/* ---------- v5: home hero is a split. Copy on navy at the left, their team photo clear at the right behind an angled edge ---------- */
.ap-hero::before{ background:linear-gradient(95deg,rgba(27,31,92,.97) 0%,rgba(27,31,92,.92) 36%,rgba(45,51,132,.6) 64%,rgba(45,51,132,.22) 100%); }
.ap-hero.home{ padding:84px 0 150px; background:var(--ap-navy-dk); }
.ap-hero.home::before{ background:none; }
.ap-hero.home::after{ -webkit-mask-image:linear-gradient(90deg,#000 0,#000 40%,transparent 56%); mask-image:linear-gradient(90deg,#000 0,#000 40%,transparent 56%); }
.ap-hero.home .bg{ left:auto; right:0; width:50%; z-index:-1; object-position:40% 50%; clip-path:polygon(14% 0,100% 0,100% 100%,0 100%); }
.ap-hero.home .edge{ position:absolute; top:0; bottom:0; right:0; width:50%; z-index:-1; pointer-events:none; clip-path:polygon(14% 0,15.4% 0,1.4% 100%,0 100%); background:var(--ap-gold); }
.ap-hero.home .grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.ap-hero.home .txt{ padding-right:20px; }
@media (max-width:980px){
  .ap-hero.home{ padding:0 0 96px; }
  .ap-hero.home .bg{ position:relative; display:block; width:100%; height:250px; clip-path:none; object-position:45% 50%; z-index:0; border-bottom:5px solid var(--ap-gold); }
  .ap-hero.home .edge{ display:none; }
  .ap-hero.home .grid{ grid-template-columns:minmax(0,1fr); padding-top:34px; }
  .ap-hero.home::after{ -webkit-mask-image:none; mask-image:none; }
}
/* the quote form and the call card sit side by side across the hero's bottom edge */
.ap-under{ position:relative; z-index:3; margin-top:-84px; }
.ap-under .row{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:44px; align-items:start; }
.ap-callcard{ background:var(--ap-navy); background-image:radial-gradient(rgba(255,255,255,.1) 1.5px,transparent 1.7px); background-size:13px 13px; border:3px solid var(--ap-gold); border-radius:6px; box-shadow:10px 10px 0 var(--ap-red); padding:30px 30px 32px; color:#fff; }
body .ap-page .ap-callcard h2{ color:#fff; font-size:2rem; margin:0 0 .1em; }
body .ap-page .ap-callcard p{ color:#D9DCEE; margin:0 0 1.1em; }
body .ap-page .ap-callcard .ph{ display:block; text-decoration:none; color:#fff; font-family:"Oswald",sans-serif; font-weight:600; font-size:2.3rem; line-height:1.05; white-space:nowrap; padding:14px 0; border-top:1px solid rgba(255,255,255,.2); }
body .ap-page .ap-callcard .ph small{ display:block; font-family:"Source Sans 3",sans-serif; font-weight:700; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ap-gold); margin-bottom:4px; }
body .ap-page .ap-callcard .ph:hover{ color:var(--ap-gold); }
.ap-callcard .ap-checks{ grid-template-columns:1fr; gap:14px; padding-top:20px!important; margin-top:0!important; border-top:1px solid rgba(255,255,255,.2); }
.ap-callcard .ap-checks li{ color:#fff; }
.ap-callcard .ap-checks li::before{ background-color:var(--ap-gold); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%231B1F5C' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round' d='M5 10.5l3.2 3.2L15 7'/%3E%3C/svg%3E"); }
@media (max-width:980px){ .ap-under{ margin-top:-64px; } .ap-under .row{ grid-template-columns:minmax(0,1fr); gap:34px; } .ap-callcard{ box-shadow:6px 6px 0 var(--ap-red); margin-right:6px; padding:24px 20px; } .ap-under .ap-formcard{ margin-left:6px; } body .ap-page .ap-callcard .ph{ font-size:1.9rem; } }
/* the GHL embed script grows the frame to whatever height it is given, hold it to the form */
body .ap-page .ap-formwrap iframe{ height:900px!important; min-height:0; max-height:900px; }   /* 900 since the service fields went on 2026-10-12 */
@media (max-width:980px){ body .ap-page .ap-formwrap iframe{ height:920px!important; max-height:920px; } }
@media (max-width:640px){ body .ap-page .ap-formwrap iframe{ height:920px!important; max-height:920px; } }
body .ap-page .ap-zig .tx h3{ font-size:1.8rem; }

/* ---------- v6: fixes from the first look ---------- */
body .ap-page .ap-reach .ap-formcard h2{ color:var(--ap-navy); font-size:1.9rem; line-height:1.15; margin:0 0 .15em; }
body .ap-page .ap-reach .ap-formcard p{ color:var(--ap-muted); }
body .ap-page .ap-faq .uk-accordion > li{ margin:0 0 12px!important; padding:0!important; border-top:2px solid var(--ap-navy); }
body .ap-page .ap-faq .uk-accordion-title{ margin:0; }
/* bands that follow each other share one slanted edge */
.ap-band + .ap-band{ margin-top:calc(var(--ap-tilt) * -1); padding-top:calc(84px + var(--ap-tilt) * 1.4); }

/* ---------- v7: two offices (Leesburg dropped 2026-09-28) ---------- */
.ap-offices{ grid-template-columns:repeat(2,minmax(0,1fr)); max-width:900px; margin-left:auto; margin-right:auto; }
.ap-footer .offices{ grid-template-columns:repeat(2,1fr); }
@media (max-width:900px){ .ap-offices{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:760px){ .ap-footer .offices{ grid-template-columns:1fr; } }
/* v7: Zack, no dots on the footer */
.ap-footer{ background-image:none; }
/* v9: careers application form, longer than the quote form */
body .ap-page .ap-applywrap iframe{ display:block; width:100%; height:1200px!important; min-height:0; max-height:1200px; }
@media (max-width:640px){ body .ap-page .ap-applywrap iframe{ height:1250px!important; max-height:1250px; } }

/* recent job galleries on the service pages, 2026-10-11 */
.ap-gal{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-top:36px; }
.ap-gal .ap-frame{ box-shadow:-8px 8px 0 var(--ap-navy); }
.ap-gal.c3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .ap-gal{ grid-template-columns:repeat(2,1fr); gap:22px; } }

/* ---------- 2026-10-12 (Zack): home hero photo framed whole, Get a Quote higher, short rating chip, taller quote form ---------- */
.ap-hero.home{ padding:72px 0 140px; }
.ap-hero.home .grid{ grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:60px; }
.ap-hero.home .herofig{ order:2; box-shadow:12px 12px 0 var(--ap-red); }
.ap-hero.home .txt{ padding-right:0; }
.ap-hero.home .ap-actions{ margin-top:26px; }
.ap-hero.home .ap-feats{ margin-top:28px!important; }
.ap-chip{ white-space:nowrap; max-width:100%; }
.ap-chip small{ font-size:.85em; font-weight:600; color:var(--ap-muted); }
@media (max-width:980px){
  .ap-hero.home{ padding:22px 0 96px; }
  .ap-hero.home .grid{ grid-template-columns:minmax(0,1fr); gap:26px; padding-top:0; }
  .ap-hero.home .herofig{ order:0; box-shadow:7px 7px 0 var(--ap-red); margin-right:7px; margin-left:0; }
}
@media (max-width:640px){
  .ap-chip{ font-size:.8rem; padding:8px 12px; gap:6px; margin-bottom:18px; }
  .ap-chip b{ font-size:1.05rem; }
  .ap-chip .stars{ font-size:.9rem; letter-spacing:1px; }
  .ap-hero.home .ap-feats{ margin-top:24px!important; }
  .ap-checks li{ font-size:1.02rem; }
}
/* 2026-10-12 (Zack): service lists in the red bands, one per line, never wrapped into an indented second line */
.ap-split .ap-checks{ grid-template-columns:1fr; gap:14px; }
.ap-split .ap-checks li{ white-space:nowrap; }
@media (max-width:420px){ .ap-split .ap-checks li{ font-size:.98rem; padding-left:36px; } .ap-split .ap-checks li::before{ width:26px; height:26px; } }
/* 2026-10-12: thirteen service tiles, the short last row sits centered */
.ap-tiles:not(.small){ display:flex; flex-wrap:wrap; justify-content:center; }
.ap-tiles:not(.small) .ap-tile{ flex:0 0 calc((100% - 3 * 34px) / 4); }
@media (max-width:980px){ .ap-tiles:not(.small) .ap-tile{ flex-basis:calc((100% - 2 * 34px) / 3); } }
@media (max-width:640px){ .ap-tiles:not(.small) .ap-tile{ flex-basis:calc((100% - 18px) / 2); } }

/* ===================== 2026-10-12 interactive layer (fx.py + ap-fx.js) ===================== */
/* video in a frame */
.ap-vid video{ display:block; width:100%; height:100%; aspect-ratio:4/5; object-fit:cover; background:var(--ap-navy-dk); }

/* answering now dot */
.ap-live{ display:inline-block; width:10px; height:10px; border-radius:50%; background:#2BD46B; margin-right:9px; vertical-align:middle; position:relative; top:-1px; box-shadow:0 0 0 0 rgba(43,212,107,.7); animation:apPulse 1.8s infinite; }
@keyframes apPulse{ 0%{ box-shadow:0 0 0 0 rgba(43,212,107,.7); } 70%{ box-shadow:0 0 0 10px rgba(43,212,107,0); } 100%{ box-shadow:0 0 0 0 rgba(43,212,107,0); } }

/* flag stripe above the footer, the van wrap in a line */
.ap-flag{ display:flex; height:22px; }
.ap-flag .c{ flex:0 0 min(28%,320px); background:var(--ap-navy-dk) radial-gradient(#fff 1.4px,transparent 1.8px) 0 0/16px 11px; }
.ap-flag .s{ flex:1; background:repeating-linear-gradient(180deg,var(--ap-red) 0 3.14px,#fff 3.14px 6.28px); }

/* problem finder */
.ap-finder-box{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); margin-top:34px; border:4px solid var(--ap-navy); border-radius:6px; box-shadow:-10px 10px 0 var(--ap-red); background:#fff; overflow:hidden; }
.ap-finder .tabs{ display:flex; flex-direction:column; background:var(--ap-navy); background-image:radial-gradient(rgba(255,255,255,.08) 1.5px,transparent 1.7px); background-size:13px 13px; padding:10px; gap:6px; }
.ap-finder .tabs button{ all:unset; box-sizing:border-box; cursor:pointer; padding:13px 16px 13px 44px; position:relative; color:#fff; font-family:"Oswald",sans-serif; font-weight:500; font-size:1.08rem; letter-spacing:.02em; border-radius:4px; line-height:1.2; transition:background .15s; }
.ap-finder .tabs button::before{ content:""; position:absolute; left:16px; top:50%; width:14px; height:14px; margin-top:-7px; border:2px solid var(--ap-gold); border-radius:50%; box-sizing:border-box; }
.ap-finder .tabs button:hover{ background:rgba(255,255,255,.08); }
.ap-finder .tabs button:focus-visible{ outline:3px solid var(--ap-gold); outline-offset:-3px; }
.ap-finder .tabs button[aria-selected="true"]{ background:var(--ap-gold); color:#12153A; }
.ap-finder .tabs button[aria-selected="true"]::before{ background:var(--ap-red); border-color:var(--ap-red); }
.ap-finder .panels{ padding:34px 36px; display:flex; align-items:center; }
.ap-finder .pnl{ width:100%; animation:apIn .25s ease; }
.ap-finder .pnl[hidden]{ display:none; }
@keyframes apIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
body .ap-page .ap-finder .pnl h3{ font-size:2rem; color:var(--ap-navy); margin:.35em 0 .5em; text-transform:uppercase; }
body .ap-page .ap-finder .pnl p{ font-size:1.1rem; margin:0 0 .8em; }
.ap-finder .tag{ display:inline-block; background:var(--ap-red); color:#fff; font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:.85rem; padding:6px 10px 5px; border-radius:3px; }
.ap-finder .tag.calm{ background:var(--ap-navy); }
.ap-finder .acts{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:20px; }
body .ap-page .ap-finder .acts .more{ font-weight:700; color:var(--ap-navy); text-decoration:underline; text-decoration-color:var(--ap-gold); text-underline-offset:4px; text-decoration-thickness:2px; margin-left:6px; }
@media (max-width:900px){
  .ap-finder-box{ grid-template-columns:minmax(0,1fr); box-shadow:-6px 6px 0 var(--ap-red); margin-left:6px; }
  .ap-finder .tabs{ flex-direction:row; flex-wrap:wrap; gap:6px; padding:10px; }
  .ap-finder .tabs button{ flex:1 1 auto; padding:10px 12px 10px 34px; font-size:.98rem; background:rgba(255,255,255,.07); }
  .ap-finder .tabs button::before{ left:13px; }
  .ap-finder .panels{ padding:24px 20px 26px; }
  body .ap-page .ap-finder .pnl h3{ font-size:1.6rem; }
  .ap-finder .acts .ap-btn{ width:100%; }
  body .ap-page .ap-finder .acts .more{ margin:6px 0 0; }
}

/* before and after slider */
.ap-ba{ position:relative; overflow:hidden; user-select:none; touch-action:pan-y; }
.ap-ba img{ display:block; width:100%; aspect-ratio:4/5; object-fit:cover; }
.ap-ba .bf{ position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--pos)) 0 0); }
.ap-ba .bf img{ height:100%; }
.ap-ba .hd{ position:absolute; top:0; bottom:0; left:var(--pos); width:4px; margin-left:-2px; background:var(--ap-gold); pointer-events:none; }
.ap-ba .hd::after{ content:"\2194"; position:absolute; top:50%; left:50%; width:46px; height:46px; margin:-23px 0 0 -23px; border-radius:50%; background:var(--ap-gold); color:var(--ap-navy-dk); font:700 22px/46px "Oswald",sans-serif; text-align:center; box-shadow:0 4px 14px rgba(0,0,0,.35); }
.ap-ba .lb{ position:absolute; top:12px; background:var(--ap-navy-dk); color:#fff; font:600 .85rem/1 "Oswald",sans-serif; letter-spacing:.08em; text-transform:uppercase; padding:8px 11px 7px; pointer-events:none; }
.ap-ba .lb.l{ left:12px; } .ap-ba .lb.r{ right:12px; background:var(--ap-red); }
.ap-ba input{ position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; -webkit-appearance:none; appearance:none; }

/* service area map v2 (2026-10-12): real counties, fx_map.py */
.ap-map{ margin:30px auto 34px; max-width:1040px; background:#fff; border:5px solid var(--ap-gold); border-radius:8px; box-shadow:12px 12px 0 var(--ap-red); padding:0; overflow:hidden; text-align:left; }
.ap-map-svg{ display:block; width:100%; height:auto; }
.ap-map-svg .bg{ fill:#EEF0F7; }
.ap-map-svg .co{ fill:#DFE2EE; stroke:#fff; stroke-width:1.6; stroke-linejoin:round; }
.ap-map-svg .co.sv{ fill:#2D3384; stroke:rgba(255,255,255,.28); stroke-width:1.4; }
.ap-map-svg .co.sv.va{ fill:#262C78; }
.ap-map-svg .co.city{ stroke:none; }
.ap-map-svg .terr{ fill:none; stroke:var(--ap-gold); stroke-width:4; stroke-linejoin:round; }
.ap-map-svg .sline{ fill:none; stroke:#fff; stroke-width:2.4; stroke-dasharray:9 6; stroke-linecap:round; opacity:.85; }
.ap-map-svg .stn{ fill:#8F95B8; font:600 20px "Oswald",sans-serif; letter-spacing:.32em; }
.ap-map-svg .cn{ fill:rgba(255,255,255,.22); font:600 15px "Oswald",sans-serif; letter-spacing:.24em; pointer-events:none; }
.ap-map-svg .tw circle{ fill:#fff; stroke-width:3; transition:r .15s; }
.ap-map-svg .tw.wv circle{ stroke:var(--ap-gold); } .ap-map-svg .tw.va circle{ stroke:#FF5A55; }
.ap-map-svg .tw text{ fill:#fff; font:600 14px "Source Sans 3",sans-serif; paint-order:stroke; stroke:#1B1F5C; stroke-width:3.5px; stroke-linejoin:round; }
.ap-map-svg .tw:hover circle,.ap-map-svg .tw:focus circle{ r:8.5; fill:var(--ap-gold); }
.ap-map-svg .tw:hover text,.ap-map-svg .tw:focus text{ fill:var(--ap-gold); }
.ap-map-svg .of .pin{ fill:var(--ap-red); stroke:#fff; stroke-width:3; }
.ap-map-svg .of .dot{ fill:#fff; }
.ap-map-svg .of .lead{ fill:none; stroke:#fff; stroke-width:2.5; stroke-dasharray:3 5; stroke-linecap:round; }
@media (max-width:700px){ .ap-map-svg .of .lead{ display:none; } }
.ap-map-svg .of .ring{ fill:rgba(208,28,24,.35); stroke:none; animation:apRing 2.4s infinite; transform-box:fill-box; transform-origin:center; }
@keyframes apRing{ 0%{ transform:scale(.4); opacity:1; } 100%{ transform:scale(2.2); opacity:0; } }
.ap-map-svg .of .card rect{ fill:#fff; }
.ap-map-svg .of .card rect.tab{ fill:var(--ap-red); }
.ap-map-svg .of.wv .card rect.tab{ fill:var(--ap-gold); }
.ap-map-svg .of .card .nm{ fill:#12153A; font:700 19px "Oswald",sans-serif; letter-spacing:.05em; }
.ap-map-svg .of .card .ph{ fill:var(--ap-red); font:600 19px "Oswald",sans-serif; letter-spacing:.03em; }
.ap-map-svg .of:hover .card rect:not(.tab){ fill:#FFF8DD; }
.ap-map-svg .of .mlbl{ display:none; }
.ap-map-key{ display:flex; flex-wrap:wrap; gap:10px 28px; align-items:center; background:var(--ap-navy-dk); color:#E6E8F5; font-size:1rem; padding:14px 22px; }
.ap-map-key i{ display:inline-block; width:14px; height:14px; border-radius:50%; background:#fff; border:3px solid; margin-right:9px; vertical-align:-2px; box-sizing:border-box; }
.ap-map-key i.wv{ border-color:var(--ap-gold); } .ap-map-key i.va{ border-color:#FF5A55; }
body .ap-page .ap-map-key a{ color:#fff; font-weight:700; text-decoration:none; } .ap-map-key .hint{ color:#AEB3D6; margin-left:auto; }
@media (max-width:700px){
  .ap-map{ box-shadow:6px 6px 0 var(--ap-red); margin-right:6px; border-width:4px; }
  .ap-map-svg .tw text,.ap-map-svg .cn,.ap-map-svg .of .card{ display:none; }
  .ap-map-svg .tw circle{ r:9; stroke-width:4; }
  .ap-map-svg .stn{ font-size:30px; }
  .ap-map-svg .of .mlbl{ display:block; fill:#fff; font:700 38px "Oswald",sans-serif; letter-spacing:.04em; paint-order:stroke; stroke:#12153A; stroke-width:8px; stroke-linejoin:round; }
  .ap-map-key{ flex-direction:column; align-items:flex-start; gap:8px; font-size:.95rem; padding:12px 16px; } .ap-map-key .hint{ margin-left:0; }
}

@media (prefers-reduced-motion:reduce){ .ap-live,.ap-map-svg .of .ring,.ap-finder .pnl{ animation:none; } }

/* 2026-10-12: tile names on one line on a phone */
@media (max-width:640px){ body .ap-page .ap-tile .nm{ white-space:nowrap; font-size:.95rem; letter-spacing:0; } body .ap-page .ap-tile{ padding:18px 6px; } }
@media (max-width:370px){ body .ap-page .ap-tile .nm{ font-size:.86rem; } }

/* 2026-10-12: services hub grouped like the menu */
.ap-groups{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 56px; margin-top:34px; }
.ap-group{ scroll-margin-top:120px; }
.ap-group .ap-tiles{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 22px; }
@media (max-width:900px){ .ap-groups{ grid-template-columns:minmax(0,1fr); gap:36px; } .ap-group .ap-tiles{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
body .ap-page .ap-gh{ font-size:1.05rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ap-red); margin:0 0 4px; padding-bottom:8px; border-bottom:3px solid var(--ap-gold); display:inline-block; }
.ap-group .ap-tiles{ padding-top:18px; }
/* group tiles: names on one line */
body .ap-page .ap-group .ap-tile .nm{ white-space:nowrap; font-size:1rem; letter-spacing:.01em; }
body .ap-page .ap-group .ap-tile{ padding-left:6px; padding-right:6px; }
@media (max-width:1100px) and (min-width:901px){ body .ap-page .ap-group .ap-tile .nm{ font-size:.88rem; } }
@media (max-width:640px){ body .ap-page .ap-group .ap-tile .nm{ font-size:.95rem; letter-spacing:0; } }
@media (max-width:370px){ body .ap-page .ap-group .ap-tile .nm{ font-size:.86rem; } }

/* ---------- 2026-10-12 (Zack): home hero v3. Team photo behind everything, quote form top right, slim call bar under it ---------- */
.ap-hero.home2{ padding:64px 0 130px; }
.ap-hero.home2 .bg{ position:absolute; inset:0; width:100%; height:100%; clip-path:none; object-fit:cover; object-position:50% 45%; z-index:-2; border:0; }
.ap-hero.home2::before{ background:linear-gradient(90deg,rgba(20,24,72,.95) 0%,rgba(20,24,72,.86) 40%,rgba(27,31,92,.55) 62%,rgba(27,31,92,.35) 100%); }
.ap-hero.home2::after{ -webkit-mask-image:linear-gradient(90deg,#000 0,#000 35%,transparent 55%); mask-image:linear-gradient(90deg,#000 0,#000 35%,transparent 55%); }
.ap-hero.home2 .edge{ display:none; }
.ap-hero.home2 .grid{ grid-template-columns:minmax(0,1fr) minmax(0,.86fr); gap:54px; align-items:start; }
.ap-hero.home2 .txt{ padding-top:28px; text-shadow:0 2px 14px rgba(0,0,0,.35); }
.ap-hero.home2 .formside .ap-formcard{ box-shadow:-12px 12px 0 var(--ap-red); }
.ap-callbar.slim .bar{ grid-template-columns:minmax(0,1.3fr) auto auto; padding:18px 30px; }
@media (max-width:980px){
  .ap-hero.home2{ padding:0 0 110px; }
  .ap-hero.home2 .bg{ position:relative; display:block; height:auto; aspect-ratio:16/9; border-bottom:5px solid var(--ap-gold); z-index:0; }
  .ap-hero.home2::before{ background:linear-gradient(180deg,transparent 0,transparent 52vw,rgba(20,24,72,.97) 52vw); }
  .ap-hero.home2 .grid{ grid-template-columns:minmax(0,1fr); gap:34px; padding-top:30px; }
  .ap-hero.home2 .txt{ padding-top:0; text-shadow:none; }
  .ap-hero.home2 .formside .ap-formcard{ box-shadow:-6px 6px 0 var(--ap-red); margin-left:6px; }
  .ap-callbar.slim .bar{ grid-template-columns:1fr 1fr; }
}

/* ---------- Google Ads landing pages + thank-you pages (2026-10-13). body.ap-lp: no site chrome, only call or submit ---------- */
body.ap-lp .tm-header,body.ap-lp .tm-header-mobile,body.ap-lp .tm-toolbar,body.ap-lp footer,body.ap-lp .mobile-buttons{ display:none!important; }
body.ap-lp .tm-page{ padding-top:0!important; }
.ap-lphead{ position:sticky; top:0; z-index:50; background:#fff; border-bottom:4px solid var(--ap-gold); box-shadow:0 6px 18px rgba(18,21,58,.12); }
.ap-lphead .row{ display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:84px; }
.ap-lphead .logo{ height:56px; width:auto; display:block; }
.ap-lphead .act{ display:flex; align-items:center; gap:20px; }
body .ap-page .ap-lphead .tel{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ap-navy); font-family:"Oswald",sans-serif; font-weight:600; font-size:1.6rem; line-height:1; }
.ap-lphead .tel svg{ width:34px; height:34px; padding:7px; background:var(--ap-red); color:#fff; border-radius:4px; }
.ap-lphead .tel small{ display:block; font-family:"Source Sans 3",sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ap-red); margin-bottom:3px; }
body .ap-page .ap-hero h1 .lpcaps{ text-transform:uppercase; font-size:clamp(2.4rem,5.2vw,4.6rem); line-height:1.02; }
.ap-hero.lp .say{ font-family:"Oswald",sans-serif; font-weight:500; text-transform:uppercase; letter-spacing:.1em; color:#fff; margin-top:22px; }
.ap-hero.lp .say em{ font-style:normal; color:var(--ap-gold); }
body .ap-page .ap-formwrap.ads iframe{ height:560px!important; max-height:560px; }
.ap-lpproof{ background:var(--ap-navy-dk); border-bottom:5px solid var(--ap-gold); padding:26px 0; }
.ap-lpproof ul{ list-style:none; margin:0!important; padding:0!important; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.ap-lpproof li{ display:flex; align-items:center; gap:12px; margin:0; color:#fff; font-family:"Oswald",sans-serif; font-weight:500; font-size:1.05rem; line-height:1.2; }
.ap-lpproof .ic{ flex:0 0 42px; width:42px; height:42px; background:var(--ap-gold); color:var(--ap-navy-dk); display:flex; align-items:center; justify-content:center; border-radius:4px; }
.ap-lpproof .ic svg{ width:24px; height:24px; }
.ap-lpsvcs{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:34px; }
.ap-lpsvc{ background:#fff; border:2px solid var(--ap-line); border-top:6px solid var(--ap-red); border-radius:4px; padding:26px 24px; box-shadow:8px 8px 0 var(--ap-navy-lt); }
.ap-lpsvc .ic{ width:52px; height:52px; display:flex; align-items:center; justify-content:center; background:var(--ap-navy); color:#fff; border-radius:4px; margin-bottom:14px; }
.ap-lpsvc .ic svg{ width:30px; height:30px; }
body .ap-page .ap-lpsvc h3{ font-size:1.4rem; margin-bottom:6px; }
.ap-lpsvc p{ margin:0; color:var(--ap-muted); }
.ap-lpfoot{ background:var(--ap-navy-dkr); color:#D9DCEE; padding:26px 0 30px; font-size:.95rem; text-align:center; }
.ap-lpfoot p{ margin:4px 0; }
body .ap-page .ap-lpfoot a{ color:#fff; }
.ap-lpbar{ display:none; }
.ap-ty{ padding:90px 0; }
.ap-ty .ap-h::after{ left:50%; transform:translateX(-50%); }
.ap-ty .ap-actions{ justify-content:center; }
.ap-ty .small{ color:var(--ap-muted); font-size:1rem; margin-top:22px; }
@media (max-width:1099px){
  .ap-lpproof ul{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ap-lpsvcs{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ap-lpbar{ display:grid; grid-auto-flow:column; grid-auto-columns:1fr; position:fixed; left:0; right:0; bottom:0; z-index:1000; box-shadow:0 -4px 14px rgba(0,0,0,.2); }
  body .ap-page .ap-lpbar a{ display:flex; align-items:center; justify-content:center; gap:8px; height:58px; text-decoration:none; color:#fff; font-family:"Oswald",sans-serif; font-weight:600; font-size:1.05rem; letter-spacing:.04em; text-transform:uppercase; }
  .ap-lpbar svg{ width:20px; height:20px; }
  .ap-lpbar .c{ background:var(--ap-red); }
  .ap-lpbar .q{ background:var(--ap-navy); }
  body.ap-lp .ap-page{ padding-bottom:58px; }
}
@media (max-width:700px){
  .ap-lphead .row{ min-height:66px; }
  .ap-lphead .logo{ height:40px; }
  .ap-lphead .act .ap-btn,.ap-lphead .tel span{ display:none; }
  .ap-lphead .tel svg{ width:44px; height:44px; padding:10px; }
  .ap-lpproof ul{ grid-template-columns:minmax(0,1fr); gap:12px; }
  .ap-lpsvcs{ grid-template-columns:minmax(0,1fr); gap:18px; }
  .ap-ty{ padding:60px 0; }
}
.ap-band.lpcta .ap-actions{ justify-content:center; }
.ap-band.lpcta .ap-h::after{ left:50%; transform:translateX(-50%); }

/* 2026-10-22 emergency call or text line (571) */
body .ap-page .ap-emer{ margin:0 0 .8em; font-weight:700; color:var(--ap-red); font-size:1rem; max-width:none; }
body .ap-page .ap-emer a{ color:var(--ap-red); text-decoration:underline; white-space:nowrap; }
body .ap-page .ap-emer a.sms{ display:inline-block; margin-left:6px; padding:1px 9px; border:2px solid currentColor; border-radius:3px; text-decoration:none; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; }
body .ap-page .ap-callbar .ap-emer.onnavy{ display:block; margin:.35em 0 0; color:var(--ap-gold); font-size:.95rem; }
body .ap-page .ap-callbar .ap-emer.onnavy a{ color:var(--ap-gold); }
body .ap-page .ap-formcard .ap-emer, body .ap-page .ap-formcard .ap-emer a{ color:var(--ap-red)!important; }
/* 2026-10-25 phone menu stays reachable: the mobile navbar is sticky (deploy.php mobile.navbar.sticky = 1), parked under the fixed call bar and a little shorter once stuck */
@media (max-width:959px){
  body .tm-header-mobile .uk-sticky-fixed{ top:56px!important; z-index:990!important; }
  body .tm-header-mobile .uk-navbar-sticky .uk-navbar-item,body .tm-header-mobile .uk-navbar-sticky .uk-navbar-toggle{ min-height:64px; }
  body .tm-header-mobile .uk-navbar-sticky .uk-logo img{ max-height:40px; }
}
