:root{
  --bg:#1B2142; --bg2:#232B52; --ink:#F4F6FC; --muted:#AFB8D6; --line:rgba(255,255,255,.16);
  --glass:rgba(255,255,255,.08); --glass2:rgba(255,255,255,.12);
  --heat:#E12026; --heat2:#FF5A54; --cool:#8FB8DE; --cool2:#3D6FB4;
  --mix:0; /* 0 = heat, 1 = cool (thermostat) */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background-color:var(--bg);color:var(--ink);font-family:'Barlow',system-ui,sans-serif;font-size:17px;line-height:1.65;overflow-x:hidden}
::selection{background:var(--heat);color:#fff}
h1,h2,h3{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.5px;line-height:1.05;margin:0;text-wrap:balance;text-transform:uppercase}
.mono{font-family:'IBM Plex Mono',monospace}
a{color:var(--cool)}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}

main{position:relative;z-index:1}

/* progress rail */
.rail{position:fixed;left:26px;top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;gap:26px}
.rail a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--muted)}
.rail .dot{width:9px;height:9px;border-radius:50%;border:2px solid var(--muted);transition:all .3s}
.rail .lbl{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:0;transform:translateX(-6px);transition:all .3s}
.rail a.on .dot{background:var(--heat);border-color:var(--heat);box-shadow:0 0 12px #E1202680}
.rail a.on .lbl{opacity:1;transform:none;color:var(--ink)}
.rail a:hover .lbl{opacity:1;transform:none}
@media(max-width:1240px){.rail{display:none}}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:10;background:transparent;border-bottom:1px solid transparent;transition:background .35s,border-color .35s,backdrop-filter .35s}
nav.scrolled{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(27,33,66,.65);border-bottom:1px solid var(--line)}
.navin{max-width:1080px;margin:0 auto;padding:10px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-family:'Anton',sans-serif;font-size:20px;letter-spacing:1px;color:var(--ink);text-decoration:none;text-transform:uppercase}
.logo .star{color:var(--heat)}
.navlinks{display:flex;gap:16px;align-items:center}
.navlinks a{color:var(--muted);text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}
.navlinks a:hover{color:var(--ink)}
.hirepill{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#101736;border:0;border-radius:20px;padding:9px 16px;text-decoration:none;background:linear-gradient(120deg,var(--cool2),var(--cool));box-shadow:0 2px 18px rgba(143,184,222,.4);white-space:nowrap;transition:all .25s}
.hirepill::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff;animation:hpulse 1.6s ease-in-out infinite}
.hirepill:hover{filter:brightness(1.12);transform:translateY(-1px)}
@keyframes hpulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion: reduce){.hirepill::before{animation:none}}
.est{border:1px solid var(--line);color:var(--ink)!important;padding:9px 16px;border-radius:6px;font-size:14.5px!important;background:var(--glass);font-weight:600}
.est:hover{border-color:rgba(255,255,255,.3)}
@media(max-width:760px){.navlinks a:not(.call):not(.est){display:none}.logo img{height:78px!important}.hero{padding-top:200px!important}.est{padding:8px 12px}}
.call .num{display:none}
@media(max-width:1120px){.call{padding:9px 14px}.navlinks{gap:11px}.navlinks a{font-size:13.5px}.est{padding:8px 12px}}
.call{background:linear-gradient(120deg,var(--heat),var(--heat2));color:#fff!important;font-weight:600;padding:9px 18px;border-radius:6px;font-size:15px!important}
.call:hover{filter:brightness(1.08)}


/* nav trust badges */
.navleft{display:flex;align-items:center;gap:16px}
.navbadges{display:flex;gap:7px;align-items:center}
.mbadges{display:none;justify-content:center;gap:10px;margin:0 0 26px}
.mbadges .nb{width:40px;height:40px;border-radius:9px}
.mbadges .nb svg{width:22px;height:22px}
.nb{width:34px;height:34px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .25s;flex:none}
.nb:hover{transform:translateY(-2px)}
.nb svg{width:19px;height:19px;display:block}
.nb.bbb span{font-family:'Anton',sans-serif;font-size:11px;color:#1B5E9E;letter-spacing:.4px}
.nb.as span{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700;font-size:14px;color:#1B4C80}
@media(max-width:1180px){.navbadges{gap:6px}.nb{width:30px;height:30px;border-radius:7px}.nb svg{width:17px;height:17px}.nb.bbb span{font-size:9.5px}.nb.as span{font-size:12px}}
@media(max-width:980px){.navbadges{display:none}.mbadges{display:flex}.navin{flex-wrap:wrap;row-gap:14px}.navleft{width:100%;justify-content:space-between}.navlinks{width:100%;justify-content:flex-end;gap:10px}}

/* hero */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 140px;position:relative}
.hero::before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:100vw;z-index:-1;
  background:
    linear-gradient(100deg,rgba(27,33,66,.88) 0%,rgba(27,33,66,.58) 55%,rgba(27,33,66,.2) 100%),
    linear-gradient(180deg,rgba(27,33,66,.78) 0%,rgba(27,33,66,.25) 28%,rgba(27,33,66,.38) 62%,#1B2142 97%),
    url("/img/hero.webp") center 32%/cover no-repeat;
}
.kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.kicker b{color:var(--heat);font-weight:500}
.badge2008{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border:1px solid rgba(225,32,38,.6);border-radius:20px;background:linear-gradient(120deg,rgba(225,32,38,.16),rgba(61,111,180,.12));color:var(--ink);font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;vertical-align:middle}
.badge2008 .st{color:var(--heat);font-size:12px}
.hero .kicker{color:#DEE4F4;text-shadow:0 1px 12px rgba(10,14,34,.95)}
.hero h1{text-shadow:0 4px 30px rgba(10,14,34,.7)}
.hero .sub{color:#E4E9F5!important;text-shadow:0 1px 14px rgba(10,14,34,.9)}
.hero .sub em{color:#fff}
.hero .badge2008{background:rgba(18,24,50,.8);border-color:rgba(255,90,84,.7)}
.kick-mob{display:none;line-height:2}
.rocpills{display:flex;gap:8px;margin-top:6px}
.rocpills a{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.08em;color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:16px;padding:4px 12px;background:var(--glass)}
.rocpills a:active,.rocpills a:hover{color:var(--ink);border-color:rgba(255,255,255,.3)}
@media(max-width:760px){.kick-desk{display:none}.kick-mob{display:block}}

.hero h1{font-size:clamp(42px,7vw,88px)}
.hero h1 .hot{color:var(--heat)}
.hero h1 .cold{color:var(--cool)}
.hero .sub{max-width:56ch;color:var(--muted);font-size:19px;margin:22px 0 0}
.hero .sub em{color:var(--ink);font-style:normal;font-weight:600}

.emerg{display:inline-flex;align-items:center;gap:12px;margin-top:26px;padding:13px 24px;border:1px solid rgba(255,90,84,.7);border-radius:10px;background:rgba(225,32,38,.18);font-family:'IBM Plex Mono',monospace;font-size:13.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;text-decoration:none;text-shadow:0 1px 10px rgba(10,14,34,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .25s}
.emerg:hover{background:rgba(225,32,38,.3);transform:translateY(-1px)}
.emerg .edot{width:9px;height:9px;border-radius:50%;background:var(--heat2);box-shadow:0 0 12px var(--heat2);animation:hpulse 1.4s ease-in-out infinite;flex:none}
@media (prefers-reduced-motion: reduce){.emerg .edot{animation:none}}
/* same-day ticket */
.sameday{display:flex;align-items:center;margin-top:28px;max-width:660px;border-radius:12px;overflow:hidden;text-decoration:none;background:rgba(23,28,56,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,90,84,.55);box-shadow:0 6px 30px rgba(225,32,38,.25);transition:transform .3s,box-shadow .3s;animation:sdglow 2.6s ease-in-out infinite}
.sameday:hover{transform:translateY(-3px);box-shadow:0 10px 40px rgba(225,32,38,.45)}
@keyframes sdglow{0%,100%{box-shadow:0 6px 30px rgba(225,32,38,.22)}50%{box-shadow:0 6px 38px rgba(225,32,38,.42)}}
.sd-badge{background:linear-gradient(160deg,var(--heat),var(--heat2));color:#fff;font-family:'Anton',sans-serif;font-size:21px;letter-spacing:1px;padding:16px 20px;line-height:1.05;position:relative;flex:none;text-transform:uppercase}
.sd-badge small{display:block;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.22em;font-weight:400;margin-top:3px;opacity:.9}
.sd-badge::after{content:"";position:absolute;right:0;top:7px;bottom:7px;border-right:2px dashed rgba(255,255,255,.4)}
.sd-text{padding:13px 18px;flex:1;min-width:0}
.sd-text b{color:#fff;font-size:16.5px;display:block}
.sd-meta{display:block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.08em;color:#C9D1E8;margin-top:5px;text-transform:uppercase}
.sd-cta{margin-right:20px;font-weight:700;color:var(--heat2);white-space:nowrap;font-size:15px;flex:none}
@media(max-width:560px){.sd-cta{display:none}.sd-badge{font-size:18px;padding:14px 14px}}
@media (prefers-reduced-motion: reduce){.sameday{animation:none}}
.guarantee{margin-top:16px;font-size:14.5px;font-style:italic;color:#DFE4F0;text-shadow:0 1px 12px rgba(10,14,34,.9)}
.guarantee .st,.gline .st{color:var(--heat);font-style:normal}
.gline{margin-top:12px;font-size:13.5px;font-style:italic;color:var(--muted)}
.finline{margin-top:16px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cool);position:relative}
.heroctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;font-weight:600;padding:14px 26px;border-radius:8px;font-size:16px}
.btn.primary{background:linear-gradient(120deg,var(--heat),var(--heat2));color:#fff}
.btn.ghost{border:1px solid var(--line);color:var(--ink);background:var(--glass)}
.btn:hover{filter:brightness(1.1)}


/* google trust band */
.gtrust{padding:64px 0 0}
.gband{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:26px 30px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media(max-width:820px){.gband{grid-template-columns:1fr;text-align:center;justify-items:center}}
.gscore{display:flex;align-items:center;gap:16px}
.gtile{width:56px;height:56px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none}
.gtile svg{width:32px;height:32px}
.gnum{font-family:'Anton',sans-serif;font-size:52px;line-height:1;color:var(--heat2)}
.gquote{font-size:17px;line-height:1.55;color:var(--ink);font-style:italic;max-width:52ch}
.gquote .gwho{display:block;font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:8px}

/* sections */
section{padding:96px 0;position:relative}
section.gtrust{padding:64px 0 0}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}
.eyebrow.h{color:var(--heat)}.eyebrow.c{color:var(--cool)}
section h2{font-size:clamp(34px,5vw,54px);margin-bottom:14px}
.lead{color:var(--muted);font-size:18.5px;max-width:62ch}
.lead strong{color:var(--ink)}

/* glass cards */
.grid{display:grid;gap:16px;margin-top:36px}
.grid.c3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.gcard{background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:24px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .35s,border-color .35s,background .35s}
.gcard:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.2);background:var(--glass2)}
.gcard h3{font-size:20px;letter-spacing:.6px;margin-bottom:8px}
.gcard p{color:var(--muted);font-size:15.5px;margin:0}
.gcard .tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;display:inline-block;margin-bottom:12px;padding:3px 9px;border-radius:20px}
.tag.pain{background:#FF6B3518;color:var(--heat)}
.tag.fix{background:#4FC3F718;color:var(--cool)}


/* about */
.aboutwrap{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;margin-top:36px;align-items:start}
@media(max-width:860px){.aboutwrap{grid-template-columns:1fr}}
.ericcard{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);position:relative}
.ericcard img{width:100%;display:block}
.ericcard figcaption{position:absolute;bottom:0;left:0;right:0;padding:28px 16px 12px;background:linear-gradient(transparent,rgba(23,28,56,.96));font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.promise{background:var(--glass);border:1px solid rgba(225,32,38,.35);border-radius:14px;padding:28px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:relative}
.promise .pop{position:absolute;top:-12px;left:26px;background:linear-gradient(120deg,var(--heat),var(--heat2));color:#fff;font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:20px;font-family:'IBM Plex Mono',monospace}
.promise ul{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:12px}
.promise li{padding-left:26px;position:relative;color:var(--muted);font-size:15.5px;line-height:1.5}
.promise li::before{content:"★";position:absolute;left:0;color:var(--heat);font-size:13px;top:3px}
.promise li b{color:var(--ink)}
.aboutcopy p{color:var(--muted);font-size:16px}
.aboutcopy p b{color:var(--ink)}

/* founder */
.founder{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;align-items:start;margin-top:36px}
@media(max-width:820px){.founder{grid-template-columns:1fr}}
.quotebox{background:var(--glass);border:1px solid var(--line);border-left:4px solid var(--heat);border-radius:0 12px 12px 0;padding:28px 30px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.quotebox p{font-size:21px;line-height:1.5;margin:0;font-weight:500}
.quotebox .who{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muted);margin-top:16px;letter-spacing:.1em;text-transform:uppercase}
.creds{display:flex;flex-direction:column;gap:14px}
.cred{display:flex;gap:14px;align-items:flex-start}
.cred .n{font-family:'Anton',sans-serif;font-size:30px;color:var(--cool);min-width:74px;line-height:1.1}
.cred p{margin:0;color:var(--muted);font-size:15.5px}
.cred p b{color:var(--ink)}


/* answers-to-you statement */
.answers{margin-top:64px;padding:56px 20px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.answers .pre{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.answers .big{font-family:'Anton',sans-serif;font-size:clamp(40px,6.5vw,76px);line-height:1.08;text-transform:uppercase;letter-spacing:.5px;text-wrap:balance}
.answers .you{position:relative;display:inline-block;padding:0 6px}
.answers .you::after{content:"";position:absolute;left:0;bottom:4px;height:10px;width:0;background:var(--heat);opacity:.85;z-index:-1;transform:rotate(-1.2deg);transition:width .7s cubic-bezier(.7,0,.2,1) .4s}
.answers.in .you::after{width:100%}
.answers .stars{color:var(--heat);letter-spacing:14px;margin-top:20px;font-size:15px}
@media (prefers-reduced-motion: reduce){.answers .you::after{width:100%;transition:none}}

/* brands */
.brands{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.brand{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.08em;padding:8px 16px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--glass)}

/* pricing */
.pricewrap{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:36px;align-items:stretch}
@media(max-width:820px){.pricewrap{grid-template-columns:1fr}}
.plan{background:var(--glass);border:1px solid rgba(143,184,222,.35);border-radius:14px;padding:30px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:relative}
.plan .pop{position:absolute;top:-12px;left:26px;background:linear-gradient(120deg,var(--cool2),var(--cool));color:#1B2142;font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:20px;font-family:'IBM Plex Mono',monospace}
.toggle{display:inline-flex;border:1px solid var(--line);border-radius:30px;padding:4px;gap:4px;margin:14px 0 6px;background:rgba(0,0,0,.25)}
.toggle button{border:0;background:transparent;color:var(--muted);font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:7px 16px;border-radius:20px;cursor:pointer}
.toggle button.on{background:var(--cool);color:#1B2142;font-weight:600}
.price{font-family:'Anton',sans-serif;font-size:64px;line-height:1;margin:10px 0 2px}
.price small{font-size:22px;color:var(--muted);font-family:'Barlow',sans-serif}
.save{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--cool);letter-spacing:.06em;min-height:20px}
.plan ul{list-style:none;padding:0;margin:20px 0 24px;display:flex;flex-direction:column;gap:10px}
.plan li{padding-left:26px;position:relative;color:var(--muted);font-size:15.5px}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--cool);font-weight:700}
.plan li b{color:var(--ink)}
.entry{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:30px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;justify-content:center}
.entry .price{font-size:48px;color:var(--heat)}
.entry p{color:var(--muted);font-size:15.5px}

/* reviews + GBP */
.gbp{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:30px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;margin-top:36px}
@media(max-width:820px){.gbp{grid-template-columns:1fr;text-align:center}}
.gbp .big{font-family:'Anton',sans-serif;font-size:64px;line-height:1;color:var(--heat2)}
.stars{position:relative;display:inline-block;font-size:20px;letter-spacing:3px;color:rgba(255,255,255,.18)}
.stars .fill{position:absolute;left:0;top:0;width:96%;overflow:hidden;white-space:nowrap;color:var(--heat2)}
.gbp .meta{color:var(--muted);font-size:14.5px;line-height:1.8}
.gbp .meta b{color:var(--ink)}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:26px}
.review{background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:22px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.review p{margin:0 0 12px;font-size:16px;line-height:1.6}
.review .who{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}

/* footer / contact */
.contactband{background:linear-gradient(120deg,#E1202616,#3D6FB416);border:1px solid var(--line);border-radius:16px;padding:44px 36px;text-align:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.contactband h2{font-size:clamp(32px,5vw,48px)}
.bigphone{font-family:'Anton',sans-serif;font-size:clamp(30px,5vw,44px);color:var(--heat);text-decoration:none;display:inline-block;margin:14px 0}
footer{border-top:1px solid var(--line);padding:34px 0 44px;color:var(--muted);font-size:13.5px}
.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer .mono{font-size:12px;letter-spacing:.06em}
.riotag{opacity:.65}


/* featured work */
.wgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:36px}
.wcard{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--glass)}
.wcard img{width:100%;height:250px;object-fit:cover;display:block;transition:transform .5s}
.wcard:hover img{transform:scale(1.04)}
.wcard.tall img{height:100%;min-height:250px}
.wcard .cap{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(transparent,rgba(23,28,56,.92))}
@media(min-width:760px){.wcard.tall{grid-row:span 2}.wcard.wide{grid-column:span 2}}
/* trust badges */
.badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:30px}
.badge{display:flex;align-items:center;gap:12px;background:var(--glass);border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .3s,border-color .3s}
.badge:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.25)}
.badge .bmark{flex:none;width:48px;height:48px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.badge .bmark svg{width:28px;height:28px;display:block}
.badge.bbb .bmark span{font-family:'Anton',sans-serif;font-size:15px;color:#1B5E9E;letter-spacing:.5px;line-height:1;text-align:center}
.badge.bbb .bmark span small{display:block;font-family:'IBM Plex Mono',monospace;font-size:8px;color:#1B5E9E;letter-spacing:.05em}
.badge.as .bmark span{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700;font-size:19px;color:#1B4C80;line-height:1}
.badge .bt{font-size:13.5px;line-height:1.45;color:var(--muted)}
.badge .bt b{display:block;color:var(--ink);font-size:14.5px}


/* FAQ */
.faqgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px;align-items:start}
@media(max-width:820px){.faqgrid{grid-template-columns:1fr}}
.faq{background:var(--glass);border:1px solid var(--line);border-radius:12px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .3s}
.faq[open]{border-color:rgba(143,184,222,.4)}
.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:14px;padding:18px 20px;font-weight:600;font-size:16.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ftag{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.1em;color:var(--cool);border:1px solid rgba(143,184,222,.35);border-radius:20px;padding:2px 8px;flex:none}
.faq summary .fplus{margin-left:auto;font-family:'Anton',sans-serif;font-size:22px;color:var(--heat);transition:transform .35s;flex:none;line-height:1}
.faq[open] summary .fplus{transform:rotate(45deg)}
.faq .fa{padding:0 20px 18px;color:var(--muted);font-size:15px;line-height:1.65}
.faq .fa a{color:var(--cool)}
/* contact form */
.estwrap{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;margin-top:36px;align-items:start}
@media(max-width:860px){.estwrap{grid-template-columns:1fr}}
.cform{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:28px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.cform label{display:block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#C7CEE2;margin:18px 0 7px}
.cform label:first-child{margin-top:0}
.cform input,.cform textarea{width:100%;background:rgba(10,14,34,.45);border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:12px 14px;color:#F2F4FA;font-family:'Barlow',sans-serif;font-size:15.5px}
.cform input:focus-visible,.cform textarea:focus-visible{outline:none;border-color:var(--cool);box-shadow:0 0 0 3px rgba(143,184,222,.18)}
.cform textarea{min-height:110px;resize:vertical}
.cform button{margin-top:20px;width:100%;border:0;cursor:pointer;font-family:'Barlow',sans-serif}
#formMsg{margin-top:12px;font-size:14.5px;min-height:20px}
.estinfo .bigline{font-family:'Anton',sans-serif;font-size:clamp(26px,3.4vw,38px);text-transform:uppercase;line-height:1.15;margin:18px 0 10px}
.estinfo .row{display:flex;gap:12px;align-items:baseline;margin:12px 0;color:var(--muted);font-size:15.5px}
.estinfo .row .k{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cool);min-width:86px}


/* careers */
.pillgrid{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.pchk{position:relative}
.pchk input{position:absolute;opacity:0;inset:0}
.pillgrid .pchk{margin:0;display:inline-flex}
.pchk span{display:inline-flex;align-items:center;padding:9px 16px;border:1px solid rgba(255,255,255,.24);border-radius:22px;font-family:'Barlow',sans-serif;font-size:14.5px;font-weight:500;letter-spacing:0;text-transform:none;color:#DEE3F0;background:rgba(255,255,255,.05);cursor:pointer;transition:all .25s;user-select:none;line-height:1.2}
.pchk input:checked+span{background:var(--cool);color:#1B2142;border-color:var(--cool);font-weight:600}
.pchk input:focus-visible+span{box-shadow:0 0 0 3px rgba(143,184,222,.3)}
.cform fieldset{border:0;border-top:1px dashed var(--line);margin:26px 0 0;padding:18px 0 0}
.cform fieldset:first-of-type{border-top:0;margin-top:0;padding-top:0}
.cform legend{font-family:'Anton',sans-serif;font-size:17px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink);padding-right:12px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.frow{grid-template-columns:1fr}}
.cform input[type=file]{padding:10px;font-size:14px}
.cform input[type=file]::file-selector-button{background:var(--glass2);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:8px 14px;margin-right:12px;cursor:pointer;font-family:'Barlow',sans-serif}
.agree{display:flex;gap:12px;align-items:flex-start;margin-top:14px;color:#C7CEE2;font-size:15px;font-family:'Barlow',sans-serif;text-transform:none;letter-spacing:0}
.agree input{width:17px;height:17px;accent-color:var(--heat);margin-top:2px;flex:none}


/* tune-up promo */
.promo{position:relative;overflow:hidden;border:1px solid rgba(225,32,38,.45);border-radius:16px;padding:44px 40px;background:linear-gradient(120deg,rgba(225,32,38,.14),rgba(61,111,180,.12)),var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;grid-template-columns:1.2fr auto;gap:36px;align-items:center}
@media(max-width:820px){.promo{grid-template-columns:1fr;padding:34px 24px;text-align:center;justify-items:center}}
.promo::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpath d='M36 10l6 14 15 1-11 10 3 15-13-8-13 8 3-15-11-10 15-1z' fill='%23ffffff'/%3E%3C/svg%3E");background-size:72px 72px;opacity:.05;pointer-events:none}
.promo h3{font-size:clamp(26px,3.6vw,40px);letter-spacing:.5px;line-height:1.12;text-transform:uppercase;font-family:'Anton',sans-serif;margin-bottom:10px}
.promo p{color:var(--muted);font-size:16px;max-width:52ch;margin:0 0 20px}
.promo p b{color:var(--ink)}
.bigprice{font-family:'Anton',sans-serif;font-size:clamp(64px,8vw,104px);line-height:1;color:var(--heat);text-shadow:0 4px 30px rgba(225,32,38,.35)}
.bigprice small{font-size:.38em;color:var(--ink)}
.pricecap{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:8px}

/* section photo backgrounds */
.photobg{position:relative}
.photobg::before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:100vw;z-index:-1;background:linear-gradient(180deg,var(--bg) 0%,rgba(27,33,66,.9) 12%,rgba(27,33,66,.88) 85%,var(--bg) 100%),var(--pbg) center/cover no-repeat}
#reviews.photobg{--pbg:url("/img/bg-reviews.webp")}
#careers.photobg{--pbg:url("/img/bg-careers.webp")}
/* button sheen */
.btn.primary,.call{position:relative;overflow:hidden}
.btn.primary::after,.call::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .55s ease}
.btn.primary:hover::after,.call:hover::after{left:130%}
@media (prefers-reduced-motion: reduce){.btn.primary::after,.call::after{display:none}}

/* reveal */
.rev{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rev.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .rev{opacity:1;transform:none;transition:none}
  .gcard,.gcard:hover{transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* trust strip (above-the-fold) */
.truststrip{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.tp{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border:1px solid var(--line);border-radius:12px;background:rgba(18,24,50,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-decoration:none;color:var(--ink);transition:transform .25s,border-color .25s;box-shadow:0 8px 24px rgba(10,14,34,.35)}
.tp:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.32)}
.tp .tm{flex:0 0 auto;width:34px;height:34px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tp .tm svg{width:20px;height:20px;display:block}
.tp.bbb .tm span{font-family:Anton,sans-serif;font-size:12px;color:#1B5E9E;letter-spacing:.4px}
.tp.as .tm span{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;font-size:15px;color:#1B4C80}
.tp .tt{display:flex;flex-direction:column;line-height:1.15}
.tp .tt b{font-family:Anton,sans-serif;font-weight:400;font-size:17px;letter-spacing:.02em;color:var(--ink);white-space:nowrap}
.tp .tt span{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.tp.google .tt b{color:#FF7A6E}.tp.ha .tt b{color:#F6A54A}.tp.bbb .tt b{color:var(--cool)}
.tstars{font-style:normal;font-size:12px;color:#FF7A6E;letter-spacing:1px;vertical-align:2px;margin-left:4px}
@media(max-width:760px){.truststrip{gap:8px;margin-bottom:20px}.tp{padding:6px 10px 6px 6px}.tp .tm{width:28px;height:28px}.tp .tm svg{width:17px;height:17px}.tp .tt b{font-size:14px}.tp .tt span{font-size:9px}.tp.as,.tp.yelp{display:none}}

/* ===== subpages: blog + city ===== */
.post,.postlist{padding-top:150px}
.posthead{padding:150px 0 40px;max-width:820px}
.postlist+.ctabox,.posthead+.postlist{padding-top:0}
.post .posthead{padding-top:0}
.post{padding-bottom:80px}
.posthead h1{font-size:clamp(34px,5.2vw,60px)}
.posthead .eyebrow a{color:var(--muted);text-decoration:none}
.byline{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:18px}
.postgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start;margin-top:36px}
@media(max-width:900px){.postgrid{grid-template-columns:1fr}.postside{order:-1}}
.postbody{max-width:72ch;font-size:17.5px}
.postbody h2{font-size:clamp(24px,3vw,32px);margin:44px 0 14px;scroll-margin-top:110px}
.postbody h3{font-family:'Barlow',sans-serif;text-transform:none;letter-spacing:0;font-weight:600;font-size:20px;margin:30px 0 8px}
.postbody p{margin:0 0 18px}
.postbody ul,.postbody ol{padding-left:22px;margin:0 0 18px}
.postbody li{margin-bottom:8px}
.postbody b{color:var(--ink)}
.postbody blockquote{margin:26px 0;padding:18px 22px;border-left:3px solid var(--heat);background:var(--glass);border-radius:0 12px 12px 0;font-size:18px;font-style:italic}
.postbody a{color:var(--cool);text-decoration:underline;text-underline-offset:3px}
.faqblock{margin-top:40px;display:grid;gap:12px}
.faqblock h2{margin-bottom:6px}
.faqblock .faq summary{justify-content:space-between}
.ctabox{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:26px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:110px}
.postbody .ctabox{position:static;margin:34px 0}
.ctabox h3{font-size:26px;margin:6px 0 10px}
.ctabox p{color:var(--muted);font-size:15.5px;margin:0 0 18px}
.ctabox .btn{display:block;text-align:center;margin-bottom:10px}
.sidecard{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:22px;margin-top:16px}
.sidecard a{display:block;color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:1px solid var(--line);font-weight:500}
.sidecard a:last-child{border:0}
.sidecard a:hover{color:var(--cool)}
.related{padding:60px 0 0}
.relgrid,.postlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.postlist{padding-bottom:70px}
.relcard,.postcard{display:flex;flex-direction:column;gap:8px;background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:22px;text-decoration:none;color:var(--ink);transition:border-color .3s,transform .3s}
.relcard:hover,.postcard:hover{border-color:rgba(255,255,255,.3);transform:translateY(-3px)}
.relcard .mono,.postcard .mono{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.postcard h3{font-size:24px;line-height:1.1}
.postcard p{color:var(--muted);font-size:15px;margin:0;flex:1}
.postcard .more{color:var(--cool);font-weight:600;font-size:14px}
.city .gline{margin-top:20px}
.zips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.zips span{font-family:'IBM Plex Mono',monospace;font-size:12px;border:1px solid var(--line);border-radius:6px;padding:4px 9px;color:var(--muted)}
@media(max-width:1300px){.navlinks a[href="/blog/"]{display:none}}

/* city hero photo */
.city.hashero{position:relative;padding-top:0;margin-top:0}
.city.hashero::before{content:"";position:absolute;left:50%;top:0;width:100vw;height:560px;transform:translateX(-50%);z-index:-1;
  background:linear-gradient(180deg,rgba(27,33,66,.35) 0%,rgba(27,33,66,.45) 55%,var(--bg) 100%),var(--hero) center 40%/cover no-repeat}
.city.hashero .posthead h1,.city.hashero .posthead .lead{text-shadow:0 2px 18px rgba(0,0,0,.55)}
.city.hashero .posthead .lead{color:#E6EAF5}
.city.hashero .posthead{padding-top:170px;min-height:480px;display:flex;flex-direction:column;justify-content:flex-end;position:relative}
.city .photocredit{position:absolute;top:120px;right:0;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45)}
@media(max-width:760px){.city.hashero::before{height:460px;background-image:linear-gradient(180deg,rgba(27,33,66,.35) 0%,rgba(27,33,66,.45) 55%,var(--bg) 100%),var(--hero-m)}.city.hashero .posthead{padding-top:150px;min-height:400px}.city .photocredit{display:none}}

@media(max-width:760px){.hero::before{background-image:linear-gradient(100deg,rgba(27,33,66,.88) 0%,rgba(27,33,66,.58) 55%,rgba(27,33,66,.2) 100%),linear-gradient(180deg,rgba(27,33,66,.78) 0%,rgba(27,33,66,.25) 28%,rgba(27,33,66,.38) 62%,#1B2142 97%),url("/img/hero-m.webp")}}
