/* D&P Automotive — Albany NY.
   Palette taken straight off his business card: black ground, red #E23A42
   (sampled from the swoosh and the phone number), white. Nothing invented. */
:root{
  --black:#000000; --ink:#0A0A0B; --ink-2:#121215; --ink-3:#1B1B20;
  --red:#E23A42; --red-hi:#F4555C; --red-d:#B4262D; --red-deep:#7A171C;
  --white:#FFFFFF; --bone:#F4F4F6; --mut:#9A9AA4; --mut-2:#6C6C77;
  --line:rgba(255,255,255,.12); --line-2:rgba(255,255,255,.2);
  --amber:#FFB43A; --cyan:#38F2FF;
  --wrap:1180px; --gut:22px;
  --disp:"Barlow Condensed",Impact,sans-serif;
  --body:"Barlow",system-ui,-apple-system,sans-serif;
  --sh:0 10px 30px rgba(0,0,0,.5);
  --sh-lg:0 26px 70px rgba(0,0,0,.7);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--bone);font-family:var(--body);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--red-hi)}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
section{position:relative}
section[id]{scroll-margin-top:72px}
.pad{padding-top:clamp(54px,7vw,96px);padding-bottom:clamp(54px,7vw,96px)}
.dk{background:var(--ink)}
.dk2{background:var(--ink-2)}
h1,h2,h3{margin:0;line-height:1.02;text-wrap:balance}
h1,h2{font-family:var(--disp);font-weight:800;letter-spacing:.005em;text-transform:uppercase}
h2{font-size:clamp(32px,5vw,58px)}
h3{font-family:var(--body);font-weight:700;font-size:19px;line-height:1.26;text-transform:none}
p{margin:0 0 1em}p:last-child{margin-bottom:0}
.ctr{text-align:center}
.sub{color:var(--mut);max-width:640px;margin-top:14px;font-size:17px}
.sub.ctr{margin-left:auto;margin-right:auto}
.eyebrow{font-weight:700;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--red);margin:0 0 13px}
.fine{margin-top:24px;color:var(--mut-2);font-size:13.4px}
.area-link{color:var(--red-hi);font-weight:700;text-underline-offset:3px}
.area-link:hover{color:var(--red)}
.sch-callout{padding:28px;border:1px solid rgba(226,58,66,.35);border-left:4px solid var(--red);
  border-radius:8px;background:rgba(255,255,255,.045);box-shadow:var(--sh)}
.sch-callout h2{font-size:clamp(25px,3vw,34px);margin-bottom:14px;color:var(--ink)}
.sch-callout p,.sch-callout li{color:#5f6068;font-size:15.5px}
.sch-callout ul{padding-left:20px;margin:16px 0 0}
.sch-callout li+li{margin-top:7px}
.sch-content{max-width:820px;margin:32px auto 0}
.sch-content h3{font-size:22px;color:var(--ink);margin:30px 0 10px}
.sch-content p,.sch-content li{color:#5f6068}
.dk .sch-content h3{color:#fff}
.dk .sch-content p,.dk .sch-content li{color:var(--mut)}
.sch-content ul{padding-left:22px}
.sch-faq{padding:18px 0;border-bottom:1px solid var(--line)}
.sch-faq:first-of-type{border-top:1px solid var(--line)}
.sch-faq summary{font-weight:700;color:#fff;cursor:pointer}
.sch-faq p{margin:12px 0 0;color:var(--mut)}
@media(max-width:760px){.sch-callout{padding:22px}.sch-content{margin-top:24px}}
.sch-page .heroin{grid-template-columns:minmax(0,1fr) minmax(0,.92fr)}
@media(max-width:980px){.sch-page .heroin{grid-template-columns:minmax(0,1fr)}.sch-page .heroin>*{min-width:0}}
@media(max-width:600px){
  .sch-page .hero-cta{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}
  .sch-page .hero-cta .btn{width:100%;min-width:0;white-space:normal}
  .sch-page .hero h1{font-size:clamp(34px,10vw,52px)}
  .sch-page .sch-callout{min-width:0;overflow-wrap:anywhere}
}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:10px;z-index:99;background:var(--red);color:#fff;padding:9px 14px;
  border-radius:8px;font-weight:700}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:4px}

/* ---------------- buttons ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:var(--red);color:#fff;font-weight:700;font-size:16.5px;
  padding:15px 26px;border-radius:6px;text-decoration:none;border:2px solid var(--red);
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease;cursor:pointer;
  font-family:var(--body);box-shadow:0 6px 22px rgba(226,58,66,.3)}
.btn:hover{background:var(--red-d);border-color:var(--red-d);transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(226,58,66,.42)}
.btn-lg{font-size:18px;padding:17px 32px}
.btn-sm{font-size:14.5px;padding:10px 18px;box-shadow:none}
.btn-full{width:100%}
.btn-ghost{background:transparent;color:var(--bone);border-color:var(--line-2);box-shadow:none}
.btn-ghost:hover{background:transparent;border-color:var(--red);color:var(--red-hi);box-shadow:none}

/* ---------------- header ---------------- */
/* no backdrop-filter — it blanks the strip above a sticky bar in screenshots */
.bar{position:sticky;top:0;z-index:60;background:rgba(0,0,0,.97);border-bottom:1px solid var(--line)}
.barin{display:flex;align-items:center;gap:18px;height:70px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand img{height:44px;width:auto}
.brand b{font-family:var(--disp);font-weight:800;font-size:20px;color:#fff;letter-spacing:.02em;
  text-transform:uppercase;line-height:1}
.brand b i{display:block;font-style:normal;font-family:var(--body);font-weight:600;font-size:10px;
  letter-spacing:.2em;color:var(--mut)}
.nav{display:flex;gap:22px;margin-left:auto;font-size:15px;font-weight:600}
.nav a{color:var(--mut);text-decoration:none}
.nav a:hover{color:var(--red-hi)}
@media(max-width:980px){.nav{display:none}.bar .btn-sm{margin-left:auto}}
@media(max-width:420px){.brand b{display:none}}

/* ---------------- the 24 HOUR neon sign (deliberately small / subtle) ---------------- */
.nsign{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:1px;
  padding:11px 20px 12px;border-radius:9px;
  background:rgba(6,6,8,.6);border:1.5px solid rgba(226,58,66,.4);
  box-shadow:0 0 16px rgba(226,58,66,.22),inset 0 0 16px rgba(226,58,66,.1);
  transform-origin:50% -14px;animation:nswing 7s ease-in-out infinite}
.nsign::before,.nsign::after{content:"";position:absolute;top:-13px;width:1.5px;height:13px;
  background:rgba(255,255,255,.18)}
.nsign::before{left:17px}.nsign::after{right:17px}
.nsign b{font-family:var(--disp);font-weight:800;line-height:1;letter-spacing:.02em}
.ns-open{font-size:10.5px;letter-spacing:.3em!important;text-indent:.3em;color:#FFE2C6;
  text-shadow:0 0 2px #fff,0 0 7px var(--amber),0 0 15px rgba(255,180,58,.55);
  animation:nsblink 2.6s steps(1,end) infinite}
.ns-24{font-size:24px;color:#FFD9DC;
  text-shadow:0 0 2px #fff,0 0 8px var(--red-hi),0 0 18px var(--red),0 0 30px rgba(226,58,66,.5);
  animation:strike 1.7s steps(1,end) 1 both, buzz 5.8s ease-in-out 1.7s infinite}
@keyframes nswing{0%,100%{transform:rotate(-.9deg)}50%{transform:rotate(.9deg)}}
@keyframes nsblink{0%,72%{opacity:1}74%,80%{opacity:.2}82%,100%{opacity:1}}
@keyframes strike{0%,7%{opacity:.05}8%{opacity:.85}10%{opacity:.08}17%{opacity:.9}19%{opacity:.1}
  26%{opacity:.95}29%{opacity:.25}38%{opacity:1}41%{opacity:.5}47%,100%{opacity:1}}
@keyframes buzz{0%,100%{opacity:1}44%{opacity:.93}46%{opacity:1}88%{opacity:.96}}

/* ---------------- hero ---------------- */
.hero{position:relative;overflow:hidden;
  background:radial-gradient(120% 90% at 78% 10%,#241014 0%,#0B0708 46%,#000 100%)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
.heroin{position:relative;z-index:4;display:grid;grid-template-columns:1fr .92fr;
  gap:clamp(26px,4vw,54px);align-items:center;
  padding-top:clamp(34px,4.6vw,60px);padding-bottom:clamp(46px,6vw,84px)}
@media(max-width:980px){.heroin{grid-template-columns:1fr;text-align:center}}
.hero-logo{width:min(330px,74vw);margin-bottom:20px;border-radius:6px}
@media(max-width:980px){.hero-logo{margin-left:auto;margin-right:auto}}
.hero h1{font-size:clamp(38px,6.4vw,74px);color:#fff}
.hero h1 em{font-style:normal;color:var(--red)}
.hero .lede{margin-top:16px;color:var(--mut);font-size:clamp(16.5px,1.75vw,19px);max-width:34em}
@media(max-width:980px){.hero .lede{margin-left:auto;margin-right:auto}}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;align-items:center}
@media(max-width:980px){.hero-cta{justify-content:center}}
@media(max-width:430px){.hero-cta{display:grid;grid-template-columns:1fr}.hero-cta .btn{width:100%}}
.hero-sign{margin-top:26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
@media(max-width:980px){.hero-sign{justify-content:center}}
.hero-sign span{font-size:14.5px;color:var(--mut);letter-spacing:.02em}
.hero-sign span b{color:#fff}

/* real Google rating — 5.0 from 23 reviews, verified on his GBP */
.rating{display:inline-flex;align-items:center;gap:10px;margin-top:22px;
  background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:100px;
  padding:8px 16px 8px 13px}
.rating .num{font-family:var(--disp);font-weight:800;font-size:20px;color:#fff;line-height:1}
.rating .st{color:#F5A623;letter-spacing:1px;font-size:14px}
.rating .cnt{font-size:13.6px;color:var(--mut)}
@media(max-width:980px){.rating{margin-left:auto;margin-right:auto}}

.hero-shot{position:relative;border-radius:12px;overflow:hidden;box-shadow:var(--sh-lg);
  border:1px solid var(--line)}
.hero-shot img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-badge{position:absolute;left:12px;bottom:12px;background:rgba(226,58,66,.92);
  color:#fff;font-size:11.5px;font-weight:700;padding:6px 13px;border-radius:5px;
  letter-spacing:.1em;text-transform:uppercase}

/* ---------------- trust strip ---------------- */
.strip{background:var(--red);color:#fff}
.stripin{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  padding-top:24px;padding-bottom:24px;text-align:center}
@media(max-width:820px){.stripin{grid-template-columns:repeat(2,1fr);gap:20px}}
.stripin b{display:block;font-family:var(--disp);font-weight:800;font-size:23px;
  letter-spacing:.02em;text-transform:uppercase}
.stripin span{font-size:13.4px;color:rgba(255,255,255,.85)}

/* ---------------- services ---------------- */
/* 6 items → 3 / 2 / 1, explicit per breakpoint so the grid never holes */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}
@media(max-width:920px){.svc{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.svc{grid-template-columns:1fr}}
.sv{background:var(--ink-2);border:1px solid var(--line);border-radius:12px;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .16s ease,transform .16s ease}
.sv:hover{border-color:rgba(226,58,66,.55);transform:translateY(-3px)}
.sv .ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:#000}
.sv .ph img{width:100%;height:100%;object-fit:cover;opacity:.88}
.sv .ph::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.68))}
.sv .body{padding:19px 20px 22px}
.sv h3{margin-bottom:6px;color:#fff}
.sv p{color:var(--mut);font-size:15px;margin:0}
.chip{position:absolute;right:9px;top:9px;z-index:4;font-size:9.5px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:#EDEDF2;background:rgba(0,0,0,.76);
  border:1px solid rgba(255,255,255,.28);border-radius:100px;padding:4px 9px}
.chip.real{background:rgba(226,58,66,.9);border-color:transparent;color:#fff}

/* ---------------- impound band ---------------- */
.band{position:relative;overflow:hidden;background:#f5f5f7;border-top:1px solid #e0e1e5;border-bottom:1px solid #e0e1e5}
.band img{width:100%;height:clamp(300px,42vw,500px);object-fit:cover;object-position:center 45%;opacity:.5}
.band .veil{position:absolute;inset:0;background:linear-gradient(180deg,
  rgba(245,245,247,.74),rgba(245,245,247,.84) 30%,rgba(245,245,247,.96) 66%,rgba(245,245,247,1))}
.band .cap{position:absolute;left:0;right:0;bottom:0;padding:0 0 clamp(24px,3.4vw,44px)}
.band .cap h2{color:#171719;max-width:14em}
.band .cap p{margin-top:12px;color:#5f6068;max-width:34em}
@media(max-width:720px){
  .band img{height:auto;aspect-ratio:4/3}
  .band .veil{background:linear-gradient(180deg,rgba(245,245,247,.55),rgba(245,245,247,.92))}
  .band .cap{position:static;padding:22px 0 4px}
  .band{padding-bottom:34px}
}

/* ---------------- radar ---------------- */
.radarwrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,56px);
  align-items:center;margin-top:34px}
@media(max-width:900px){.radarwrap{grid-template-columns:1fr}}
.radar{position:relative;width:min(470px,88vw);aspect-ratio:1;margin:0 auto;
  border-radius:50%;background:radial-gradient(circle,rgba(226,58,66,.1) 0%,rgba(226,58,66,.03) 58%,transparent 72%),#0B0B0D;
  border:1px solid rgba(226,58,66,.22)}
/* NOT overflow:hidden — that clips the outer town labels. The sweep clips itself. */
.radar .ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  border:1px solid rgba(226,58,66,.2);border-radius:50%}
.radar .r1{width:32%;height:32%}
.radar .r2{width:62%;height:62%}
.radar .r3{width:92%;height:92%}
.radar .cross{position:absolute;background:rgba(226,58,66,.14)}
.radar .cx{left:5%;right:5%;top:50%;height:1px}
.radar .cy{top:5%;bottom:5%;left:50%;width:1px}
.radar .sweep{position:absolute;inset:0;border-radius:50%;clip-path:circle(50% at 50% 50%);
  background:conic-gradient(from 0deg,rgba(226,58,66,.34) 0deg,rgba(226,58,66,.12) 26deg,
    transparent 60deg,transparent 360deg);
  animation:sweep 4.4s linear infinite;transform-origin:50% 50%}
@keyframes sweep{to{transform:rotate(360deg)}}
.radar .hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:14px;height:14px;border-radius:50%;background:var(--red);
  box-shadow:0 0 0 6px rgba(226,58,66,.2);z-index:5}
.radar .hublbl{position:absolute;top:calc(50% + 14px);left:50%;transform:translateX(-50%);
  font-family:var(--disp);font-weight:800;font-size:13px;color:#fff;letter-spacing:.14em;
  z-index:5;white-space:nowrap;text-transform:uppercase}
.blip{position:absolute;transform:translate(-50%,-50%);z-index:4;display:flex;
  flex-direction:column;align-items:center;gap:3px}
.blip i{width:8px;height:8px;border-radius:50%;background:var(--red-hi);display:block;
  box-shadow:0 0 0 0 rgba(244,85,92,.5);animation:ping 4.4s ease-out infinite}
.blip b{font-size:10.6px;font-weight:600;color:#E6E6EC;white-space:nowrap;
  background:rgba(0,0,0,.72);padding:2px 6px;border-radius:3px;letter-spacing:.02em}
@keyframes ping{
  0%{box-shadow:0 0 0 0 rgba(244,85,92,.5);transform:scale(1)}
  10%{box-shadow:0 0 0 9px rgba(244,85,92,0);transform:scale(1.5)}
  22%,100%{box-shadow:0 0 0 0 rgba(244,85,92,0);transform:scale(1)}}
.arealist{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.arealist span{background:var(--ink-2);border:1px solid var(--line);border-radius:5px;
  padding:7px 14px;font-size:14.2px;color:#DDDDE4;font-weight:600}

/* ---------------- reviews ---------------- */
.snote{max-width:790px;margin:22px auto 0;text-align:center;font-size:14.5px;color:#F2D9A6;
  background:rgba(255,180,58,.08);border:1px solid rgba(255,180,58,.3);border-radius:10px;padding:14px 20px}
.snote b{color:var(--amber)}
.railwrap{margin-top:30px}
.railhead{display:flex;justify-content:flex-end;margin-bottom:11px}
.railbtn{background:transparent;color:var(--mut);border:1px solid var(--line-2);border-radius:5px;
  padding:7px 16px;font:600 13px var(--body);cursor:pointer}
.railbtn:hover{color:var(--red-hi);border-color:var(--red)}
.rail{position:relative;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.railtrack{display:flex;gap:15px;width:max-content;animation:roll 48s linear infinite}
.rail:hover .railtrack,.rail.paused .railtrack{animation-play-state:paused}
@keyframes roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rv{width:330px;flex:none;background:var(--ink-2);border:1px solid var(--line);
  border-radius:12px;padding:21px 21px 17px;display:flex;flex-direction:column;gap:10px}
.rv.is-real{border-color:rgba(226,58,66,.5)}
.rv.is-sample{border-style:dashed;border-color:rgba(255,180,58,.4)}
.rv .stars{color:#F5A623;letter-spacing:2px;font-size:15px}
.rv p{margin:0;font-size:15.2px;color:#DEDEE6;line-height:1.55}
.rv .who{margin-top:auto;display:flex;align-items:center;gap:9px;font-size:13.3px;color:var(--mut)}
.rv .tag{font-size:9.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  border-radius:100px;padding:3px 9px}
.rv .tag.real{color:#fff;background:var(--red)}
.rv .tag.samp{color:var(--amber);border:1px solid rgba(255,180,58,.5);background:rgba(255,180,58,.1)}
@media(max-width:600px){.rv{width:272px}}

/* ---------------- quote form ---------------- */
.qgrid{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:start}
@media(max-width:920px){.qgrid{grid-template-columns:1fr;gap:30px}}
.ticks{margin:20px 0 0;padding:0;list-style:none}
.ticks li{position:relative;padding-left:27px;margin:.5em 0;color:var(--mut);font-size:16px}
.ticks li::before{content:"▸";position:absolute;left:0;color:var(--red);font-weight:800}
.callrow{margin-top:24px;color:var(--mut);font-size:16px}
.phone{font-family:var(--disp);font-weight:800;font-size:28px;color:var(--red-hi);
  text-decoration:none;margin-left:8px;vertical-align:-3px;letter-spacing:.02em}
.form{background:var(--ink-2);border:1px solid var(--line);border-radius:14px;padding:25px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:13px}
@media(max-width:520px){.f2{grid-template-columns:1fr}}
.form label{display:block;font-size:12.4px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--mut);margin-bottom:13px}
/* dark section: set BOTH background and color or the text renders white-on-white */
.form input,.form select,.form textarea{width:100%;margin-top:7px;background:#070708;
  color:var(--bone);border:1px solid var(--line-2);border-radius:7px;padding:12px 13px;
  font:400 16px var(--body);letter-spacing:0;text-transform:none;color-scheme:dark}
.form textarea{resize:vertical;min-height:76px}
.form input::placeholder,.form textarea::placeholder{color:var(--mut-2)}
.form select{appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),
                   linear-gradient(135deg,var(--mut) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 2px),calc(100% - 13px) calc(50% + 2px);
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px}
.form select option{background:#070708;color:var(--bone)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--red);outline:none;
  box-shadow:0 0 0 3px rgba(226,58,66,.2)}
.formnote{margin:11px 0 0;text-align:center;font-size:13px;color:var(--mut-2)}

/* ---------------- card + map ---------------- */
.cardgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,50px);align-items:center;
  margin-top:30px}
@media(max-width:900px){.cardgrid{grid-template-columns:1fr}}
.cardshot{border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh)}
.mapbox{margin-top:28px;border-radius:12px;overflow:hidden;border:1px solid var(--line);
  height:clamp(290px,40vw,420px);background:var(--ink-2)}
.mapbox iframe{width:100%;height:100%;border:0;display:block}

/* ---------------- final ---------------- */
.final{position:relative;overflow:hidden;text-align:center;padding:clamp(56px,7.5vw,100px) 0;
  background:radial-gradient(110% 130% at 50% 120%,#3A1015 0%,#000 68%);border-top:1px solid var(--line)}
.final h2{font-size:clamp(34px,5.4vw,64px);color:#fff}
.final p{margin-top:13px;color:var(--mut)}
.final .hero-cta{justify-content:center}

/* ---------------- footer ---------------- */
.foot{background:#050506;border-top:1px solid var(--line);padding:40px 0 30px}
.footin{display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;align-items:flex-start}
.foot img{height:56px;border-radius:4px}
.fcol{display:flex;flex-direction:column;gap:7px;font-size:15.3px}
.fcol a{color:var(--mut);text-decoration:none}
.fcol a:hover{color:var(--red-hi)}
.fbot{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);
  color:var(--mut-2);font-size:13px}

@media(prefers-reduced-motion:reduce){
  .radar .sweep,.blip i,.railtrack,.nsign,.ns-open,.ns-24{
    animation:none!important;opacity:1!important;transform:none!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  html{scroll-behavior:auto}
}

/* ---------------- 2026 white presentation refresh ---------------- */
body{background:#fff;color:#171719}
h2{color:#101012}
.sub{color:#5f6068}
.fine{color:#757780}
.bar{background:rgba(255,255,255,.98);border-bottom:1px solid #dedee3;box-shadow:0 4px 18px rgba(15,15,18,.06)}
.brand img{height:48px;width:112px;object-fit:contain;background:#000;padding:3px 5px;border-radius:5px}
.brand b{color:#121214}
.brand b i{color:#686a72}
.nav a{color:#4f5159}
.nav a:hover{color:var(--red-d)}
.hero{background:#fff}
.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:var(--red)}
.hero::after{background:#e2e2e7}
.hero-logo{background:#000;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.hero h1{color:#111113}
.hero .lede,.hero-sign span{color:#5d5e66}
.hero-sign span b{color:#171719}
.rating{background:#fff;border-color:#d9d9df;box-shadow:0 7px 24px rgba(16,16,18,.07)}
.rating .num{color:#171719}
.rating .cnt{color:#62636c}
.google-stars,.google-star,.rv .stars{color:#fbbc04!important}
.hero-shot{background:#f2f2f4;border-color:#d9d9df;box-shadow:0 24px 60px rgba(20,20,24,.15)}
.hero-shot img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.btn-ghost{color:#171719;border-color:#c6c7cd}
.btn-ghost:hover{color:var(--red-d);border-color:var(--red)}
.nsign{background:#111114}

.strip{background:#151517}
.pad,.dk,.dk2{background:#fff}
.sv{background:#fff;border-color:#dedee3;box-shadow:0 9px 28px rgba(20,20,24,.06)}
.sv:hover{border-color:rgba(226,58,66,.55);box-shadow:0 15px 38px rgba(20,20,24,.1)}
.sv h3{color:#171719}
.sv p{color:#65666f}

.work{background:#f5f5f7}
.workgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px;align-items:start}
.reassure{display:flex;align-items:flex-start;gap:12px;max-width:820px;margin:28px auto 0;padding:16px 19px;background:#fff;border:1px solid #e4c4c6;border-left:4px solid var(--red);border-radius:10px;box-shadow:0 9px 24px rgba(18,18,21,.05)}
.reassure-mark{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;background:var(--red);color:#fff;font-size:14px;font-weight:800}
.reassure div{display:flex;flex-direction:column;gap:3px;text-align:left}
.reassure b{color:#171719;font-size:15px}
.reassure span:not(.reassure-mark){color:#64666e;font-size:14px;line-height:1.45}
.workcard{margin:0;background:#fff;border:1px solid #dcdde2;border-radius:14px;overflow:hidden;box-shadow:0 14px 38px rgba(18,18,21,.08)}
.workcard img{width:100%;height:clamp(220px,22vw,310px);object-fit:contain;background:#ececef}
.workcard figcaption{display:flex;flex-direction:column;gap:4px;padding:18px 19px 20px}
.workcard figcaption::before{content:"D&P work completed";color:var(--red);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.workcard figcaption b{font-size:18px;color:#171719}
.workcard figcaption span{font-size:14px;color:#64666e}
.proofline{display:flex;align-items:center;justify-content:center;gap:9px;margin:24px 0 0;color:#52545c;font-size:14px;font-weight:600}
.proofline span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--red);color:#fff;font-size:13px}
@media(max-width:1050px){.workgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.workgrid{grid-template-columns:repeat(2,1fr)}.workcard img{height:180px}.workcard figcaption{padding:12px 12px 14px}.workcard figcaption b{font-size:15px}.workcard figcaption span{font-size:12px;line-height:1.35}}
@media(max-width:420px){.workgrid{gap:11px}.workcard img{height:155px}.workcard figcaption{padding:10px 10px 12px}.workcard figcaption b{font-size:14px}.workcard figcaption span{font-size:11.5px}}

.radarwrap{color:#171719;overflow:hidden;padding:10px}
.area-title,.card-title{font-size:23px;margin-bottom:12px;color:#171719}
.card-title{font-size:22px;margin-bottom:10px}
.ink-text{color:#171719}
.arealist span{background:#f3f3f5;border-color:#d7d7dd;color:#28292e}
.radar{box-shadow:0 20px 52px rgba(18,18,21,.16)}
.snote{color:#6b4a08;background:#fff8e7;border-color:#ecd28e}
.snote b{color:#805b0a}
.railbtn{color:#585a62;border-color:#cfd0d6}
.rv{background:#fff;border-color:#dedee3;box-shadow:0 10px 30px rgba(18,18,21,.07)}
.rv p{color:#303138}
.rv .who{color:#686a72}

.form{background:#fff;border-color:#d9d9df;box-shadow:0 18px 46px rgba(18,18,21,.09)}
.form label{color:#555760}
.form input,.form select,.form textarea{background:#f7f7f8;color:#171719;border-color:#cfd0d6;color-scheme:light}
.form input::placeholder,.form textarea::placeholder{color:#888a92}
.form select option{background:#fff;color:#171719}
.formnote{color:#74767e}
.ticks li,.callrow{color:#5f6068}
.mapbox,.cardshot{border-color:#d9d9df;box-shadow:0 14px 38px rgba(18,18,21,.08)}

.final{background:#f5f5f7;border-top:1px solid #dcdde2}
.final h2{color:#111113}
.final p{color:#5f6068}
.final .btn-ghost{color:#171719;border-color:#bfc0c7}
.foot{background:#fff;border-top:1px solid #e0e1e5;color:#171719}
.foot img{background:#000;padding:4px;border-radius:5px}
.foot .fcol a{color:#5f6068}
.foot .fbot{border-top-color:#dedfe4;color:#777982}

@media(max-width:980px){
  .hero-shot{max-width:760px;margin-left:auto!important;margin-right:auto!important}
}

/* ---------------- 2026-09-18: even photo gallery + lightbox, all-white pass ---------------- */
/* 11 photos on a 4-col grid: one 2x2 feature + two 2-wide + eight singles = 16 cells, no holes.
   Same maths holds on 2 cols. Every tile is cropped to a uniform shape; the full photo opens in the viewer. */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,17vw,220px);
  grid-auto-flow:dense;gap:12px;margin-top:30px}
.gi{position:relative;display:block;overflow:hidden;border-radius:12px;background:#e9e9ec;
  box-shadow:0 8px 24px rgba(18,18,21,.08);cursor:zoom-in}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gi:hover img{transform:scale(1.04)}
.gi span{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 11px;color:#fff;
  font-weight:700;font-size:14.5px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72))}
.gi-feat{grid-column:span 2;grid-row:span 2}
.gi-feat span{font-size:18px;padding:40px 18px 15px}
.gi-wide{grid-column:span 2}
@media(max-width:760px){.gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(130px,40vw,210px);gap:9px}
  .gi span{font-size:12.5px;padding:22px 10px 8px}.gi-feat span{font-size:15px}}
.lb{position:fixed;inset:0;z-index:100;background:rgba(255,255,255,.97);display:flex;
  align-items:center;justify-content:center;padding:56px 64px}
.lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%;max-height:100%}
.lb img{max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;border-radius:10px;
  box-shadow:0 20px 60px rgba(0,0,0,.2)}
.lb figcaption{font-weight:700;color:#171719}
.lb button{position:absolute;background:#fff;border:1px solid #d6d7dc;color:#171719;border-radius:50%;
  width:46px;height:46px;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.1)}
.lb button:hover{border-color:var(--red);color:var(--red)}
.lb-x{top:14px;right:14px}.lb-prev{left:12px;top:50%;transform:translateY(-50%)}
.lb-next{right:12px;top:50%;transform:translateY(-50%)}
@media(max-width:600px){.lb{padding:64px 10px 80px}.lb-prev,.lb-next{top:auto;bottom:16px;transform:none}
  .lb-prev{left:calc(50% - 56px)}.lb-next{right:calc(50% - 56px)}}

/* remaining dark blocks -> white */
.strip{background:#fff;color:#171719;border-top:1px solid #e2e2e7;border-bottom:1px solid #e2e2e7}
.stripin b{color:var(--red-d)}
.stripin span{color:#5f6068}
.radar{background:radial-gradient(circle,rgba(226,58,66,.08) 0%,rgba(226,58,66,.02) 58%,transparent 72%),#fafafb;
  border-color:rgba(226,58,66,.3)}
.radar .hublbl{color:#171719}
.blip b{color:#171719;background:rgba(255,255,255,.92);border:1px solid #e0e0e5}
.lb[hidden]{display:none!important}

/* 2026-09-18: service photos shown at full strength — no dimming overlay */
.sv .ph{background:#e9e9ec}
.sv .ph img{opacity:1}
.sv .ph::after{display:none}
.band img{opacity:.7}

/* business card rebuilt as live text (source photo was too small to sharpen).
   Outer box is the size container; inner sizes off its width (cqw) so it never overflows. */
.bizcard{background:#000;aspect-ratio:1.78;container-type:inline-size;overflow:hidden}
.bc-in{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.15em;padding:4.5cqw 5cqw;text-align:center;font-size:4cqw}
.bc-in img{width:42%;height:auto;margin-bottom:.1em}
.bc-lot{font-family:var(--disp);font-weight:800;text-transform:uppercase;color:var(--red);
  font-size:2.5em;line-height:.95;letter-spacing:.01em}
.bc-addr{color:#fff;font-weight:700;font-size:.92em}
.bc-tel{color:var(--red);font-family:var(--disp);font-weight:800;font-style:italic;font-size:2.2em;
  line-height:1;text-decoration:none;letter-spacing:.02em;margin-top:.12em}
