/* ─────────────────────────────────────────────────────────────────────────
   anytimejunk.ca — redesign system sheet (prototype, Sep 2026)
   Brand skin matched to booking form v3 (Sep 18): navy/blue palette, Inter,
   10px radius, 1.5px #DDE5EC borders, soft shadows, rounded chips. One file, no build step.
   Every page links this once; nothing else is per-page.
   ───────────────────────────────────────────────────────────────────────── */

:root{
  --bg:#FFFFFF;          /* page ground */
  --surface:#F7F9FB;     /* alternate sections, tinted cards */
  --border:#DDE5EC;      /* v3 field/card border */
  --radius:10px;         /* v3 --radius */
  --radius-sm:8px;       /* chips */
  --radius-lg:14px;      /* photos, big cards */
  --shadow:0 2px 12px rgba(13,43,62,.06);
  --shadow-lg:0 20px 56px rgba(0,0,0,.22);
  --white:#FFFFFF;
  --ink:#0D2B3E;         /* navy: text, dark bands */
  --ink-2:#3D5766;       /* body copy on light */
  --muted:#5A7080;
  --accent:#166F94;      /* primary action on light */
  --accent-600:#14647F;
  --accent-700:#0F4E64;
  --accent-100:#E8F6FC;
  --accent-200:#C9E6F3;
  --on-dark:#3AABDB;     /* primary action + accent on navy */
  --on-dark-600:#6ECBEA;
  --green:#0F7A3A;       /* availability only */
  --divider:#DDE5EC;
  --rule:1.5px solid var(--border);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --wrap:1200px;
  --gutter:24px;
  --sticky-h:64px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--font);overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--accent-700)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
::selection{background:var(--accent-200)}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4{margin:0;font-weight:800;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(30px,4.6vw,56px)}
h2{font-size:clamp(26px,3.2vw,38px)}
h3{font-size:19px;letter-spacing:-.01em;line-height:1.25}
p{margin:0 0 14px}
.aj-lede{font-size:clamp(17px,1.4vw,20px);color:var(--ink-2);max-width:60ch}
.aj-body{font-size:16px;color:var(--ink-2);max-width:68ch;line-height:1.7}
.aj-body a{font-weight:600}
.aj-label{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
.aj-dark .aj-label{color:var(--on-dark)}
.aj-muted{color:var(--muted)}
.aj-small{font-size:13px}

/* layout */
.aj-wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.aj-sec{padding:64px 0}
main>.aj-sec:nth-child(even){background:var(--surface)}
main>.aj-sec.aj-dark,main>.aj-sec.aj-band{background:var(--ink)}
main>.aj-sec.aj-band{background:var(--accent)}
.aj-sec-tight{padding:40px 0}
.aj-sec-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 32px;align-items:end;margin-bottom:32px}
.aj-sec-head p{margin:8px 0 0}
.aj-dark .aj-sec-head p,.aj-band .aj-sec-head p{color:rgba(255,255,255,.8)}
.aj-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}
.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c9{grid-column:span 9}.c12{grid-column:span 12}
/* modular cells: 2px gaps show the divider colour = visible structure */
.aj-cells{display:grid;gap:14px}
.aj-cells-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.aj-cells-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.aj-cells-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.aj-cells-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.aj-cell{background:var(--white);padding:22px 20px;min-width:0;display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none;border:var(--rule);border-radius:var(--radius);box-shadow:var(--shadow)}
.aj-cell.tint{background:var(--accent-100);border-color:var(--accent-200)}
/* price band grid — same treatment as the load-size guide table */
.aj-pricegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.aj-pricegrid button{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;min-height:48px;background:var(--white);border:var(--rule);border-radius:var(--radius-sm);color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer;box-shadow:none}
.aj-pricegrid button:hover{border-color:var(--accent);background:var(--accent-100)}
.aj-pricegrid button span{font-weight:600}
.aj-pricegrid button b{font-weight:800;color:var(--accent)}
.aj-dark .aj-pricegrid button{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
.aj-dark .aj-pricegrid button:hover{background:rgba(255,255,255,.12);border-color:var(--on-dark)}
.aj-dark .aj-pricegrid button b{color:var(--on-dark)}
@media (max-width:600px){.aj-pricegrid{grid-template-columns:1fr}}
.aj-cell h3{font-size:16px}
.aj-cell p{margin:0;font-size:14px;color:var(--ink-2)}
.aj-list{list-style:none;margin:0;padding:0;font-size:14px;color:var(--ink-2)}
.aj-list li{padding:5px 0;border-top:1px solid rgba(13,43,62,.14)}
.aj-list li:first-child{border-top:0}
.aj-dark .aj-cell{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none;color:#fff}
.aj-dark .aj-cell p,.aj-dark .aj-list{color:rgba(255,255,255,.85)}
.aj-dark .aj-list li{border-top-color:rgba(255,255,255,.18)}
a.aj-cell:hover{border-color:var(--accent);box-shadow:0 6px 20px rgba(13,43,62,.10)}
.aj-cell .num{font-size:13px;font-weight:700;color:var(--accent)}
.aj-hr{height:1.5px;background:var(--divider);border:0;margin:0}
.aj-dark{background:var(--ink);color:#fff}
.aj-dark .aj-lede,.aj-dark .aj-body,.aj-dark p{color:rgba(255,255,255,.82)}

.aj-dark .aj-cell p{color:rgba(255,255,255,.78)}
.aj-band{background:var(--accent);color:#fff}
.aj-band .aj-lede,.aj-band p{color:rgba(255,255,255,.9)}
.aj-band .aj-label,.aj-band .aj-kicker{color:#fff !important}


/* buttons — labels flush left, trailing glyph */
.aj-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border:1.5px solid transparent;border-radius:var(--radius);font-weight:700;font-size:15px;line-height:1.2;text-decoration:none;text-align:center;color:var(--ink);background:transparent;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.aj-btn .arr{font-weight:700}
.aj-btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px rgba(22,111,148,.28)}
.aj-btn-primary:hover{background:var(--accent-600);color:#fff}
.aj-btn-primary:active{background:var(--accent-700)}
.aj-btn-secondary{border-color:var(--border);color:var(--ink);background:var(--white)}
.aj-btn-secondary:hover{border-color:var(--ink);color:var(--ink)}
.aj-btn-ghost{color:var(--accent);padding-inline:6px}
.aj-btn-ghost:hover{background:var(--accent-100)}
.aj-btn-block{width:100%}
.aj-btn-lg{min-height:56px;font-size:16px;padding:14px 20px}
.aj-dark .aj-btn-primary,.aj-band .aj-btn-primary{background:var(--on-dark);color:var(--ink);box-shadow:0 4px 18px rgba(58,171,219,.35)}
.aj-dark .aj-btn-primary:hover,.aj-band .aj-btn-primary:hover{background:var(--on-dark-600);color:var(--ink)}
.aj-dark .aj-btn-secondary,.aj-band .aj-btn-secondary{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.aj-dark .aj-btn-secondary:hover,.aj-band .aj-btn-secondary:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.aj-btns{display:flex;flex-wrap:wrap;gap:12px}
.aj-btns .aj-btn{min-width:220px;white-space:nowrap}
.aj-icon{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.aj-tag{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--ink);background:var(--white);text-decoration:none}
.aj-tag:hover{border-color:var(--accent);background:var(--accent-100);color:var(--accent)}
.aj-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;align-content:flex-start}
.aj-tag{line-height:1.2;white-space:nowrap;height:36px;padding:0 12px}
.aj-photo{border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-lg)}
.aj-photo img{width:100%;height:100%;object-fit:cover}

/* checklist */
.aj-check{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.aj-check li{position:relative;padding-left:28px;font-size:15px;color:var(--ink-2);line-height:1.5}
.aj-check li::before{content:'';position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--accent)}
.aj-check li::after{content:'';position:absolute;left:5px;top:7px;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.aj-dark .aj-check li::before,.aj-hero .aj-check li::before{background:var(--on-dark)}
.aj-dark .aj-check li::after,.aj-hero .aj-check li::after{border-color:var(--ink)}

/* price teaser — opens the estimator sheet */
.aj-teaser{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 20px;width:100%;max-width:520px;padding:16px 20px;border:var(--rule);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);text-align:left;color:var(--ink)}
.aj-teaser:hover{border-color:var(--accent);box-shadow:0 6px 20px rgba(13,43,62,.10)}
.aj-teaser .t-k{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.aj-teaser .t-v{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.aj-teaser .t-s{font-size:13px;color:var(--muted)}
.aj-teaser .t-k{grid-column:1;grid-row:1;align-self:end}
.aj-teaser .t-v{grid-column:2;grid-row:1/3;align-self:center}
.aj-teaser .t-s{grid-column:1;grid-row:2}
.aj-teaser .t-a{grid-column:1/3;grid-row:3;margin-top:8px;padding-top:10px;border-top:1px solid rgba(13,43,62,.12);font-weight:700;color:var(--accent);white-space:nowrap}
.aj-dark .aj-teaser .t-a,.aj-hero .aj-teaser .t-a{border-top-color:rgba(255,255,255,.18)}
.aj-dark .aj-teaser,.aj-hero .aj-teaser{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.22);box-shadow:none}
.aj-dark .aj-teaser:hover,.aj-hero .aj-teaser:hover{background:rgba(255,255,255,.12);border-color:var(--on-dark)}
.aj-dark .aj-teaser .t-k,.aj-dark .aj-teaser .t-s,.aj-hero .aj-teaser .t-k,.aj-hero .aj-teaser .t-s{color:rgba(255,255,255,.72)}
.aj-dark .aj-teaser .t-a,.aj-hero .aj-teaser .t-a{color:var(--on-dark)}

/* availability bar — fixed height so it never shifts the page */
.aj-avail{height:40px;display:flex;align-items:center;background:var(--green);color:#fff;font-size:13px;font-weight:700}
.aj-avail .aj-wrap{display:flex;align-items:center;gap:10px;width:100%;white-space:nowrap;overflow:hidden}
.aj-avail .dot{width:10px;height:10px;border-radius:50%;background:#fff;flex:none;box-shadow:0 0 0 3px rgba(255,255,255,.3)}
.aj-avail .msg{overflow:hidden;text-overflow:ellipsis}
.aj-avail a{margin-left:auto;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px;flex:none;display:inline-flex;align-items:center;align-self:stretch;padding:0 8px;margin-right:-8px}
.aj-avail.is-fallback{background:var(--ink)}
.aj-avail.is-fallback .dot{background:rgba(255,255,255,.5);box-shadow:none}

/* header */
.aj-header{position:sticky;top:0;z-index:50;height:var(--sticky-h);background:var(--ink);color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.18)}
.aj-header .aj-wrap{height:100%;display:flex;align-items:center;gap:8px}
.aj-brand{display:flex;flex-direction:column;justify-content:center;text-decoration:none;color:#fff;margin-right:auto;line-height:1.05}
.aj-brand b{font-size:21px;font-weight:800;letter-spacing:-.02em}
.aj-brand b span{color:var(--on-dark)}
.aj-brand small{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.65);white-space:nowrap}
.aj-header .aj-muted{color:rgba(255,255,255,.7)}
.aj-nav{display:flex;align-items:center;gap:4px;white-space:nowrap}
.aj-nav>a,.aj-nav>button{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;background:none;border:0;border-radius:var(--radius-sm);font-weight:600;font-size:15px;color:#fff;text-decoration:none}
.aj-nav>a:hover,.aj-nav>button:hover,.aj-nav>button[aria-expanded="true"]{background:rgba(255,255,255,.1);color:var(--on-dark)}
.aj-nav .chev{width:14px;height:14px}
.aj-hdr-phone{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;font-weight:700;color:#fff;text-decoration:none;border:1.5px solid rgba(255,255,255,.35);border-radius:var(--radius);margin-left:8px;white-space:nowrap}
.aj-hdr-phone:hover{border-color:#fff;color:#fff}
.aj-header .aj-btn-secondary{border-color:rgba(255,255,255,.35);color:#fff;background:transparent}
.aj-header .aj-btn-secondary:hover{border-color:#fff;color:#fff}
.aj-hdr-book{white-space:nowrap}
@media (max-width:1100px){.aj-hdr-phone span{display:none}.aj-hdr-phone{padding:0 10px}.aj-nav>a,.aj-nav>button{padding:0 9px;font-size:14px}}
@media (max-width:1000px){.aj-nav,.aj-hdr-phone{display:none}.aj-header .aj-iconbtn{display:inline-flex}.aj-hdr-book{display:none}}
.aj-hdr-book{min-height:44px;padding:10px 18px;margin-left:8px;background:var(--on-dark) !important;color:var(--ink) !important;box-shadow:0 4px 18px rgba(58,171,219,.35) !important}
.aj-hdr-book:hover{background:var(--on-dark-600) !important}
.aj-iconbtn{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.35);border-radius:var(--radius);background:none;color:#fff}
.aj-iconbtn:hover{border-color:#fff}
/* mega panel */
.aj-mega{position:absolute;left:0;right:0;top:var(--sticky-h);background:var(--white);color:var(--ink);border-bottom:var(--rule);box-shadow:0 16px 40px rgba(13,43,62,.18)}
.aj-mega .aj-wrap{padding-top:24px;padding-bottom:24px}
.aj-mega-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.aj-mega-col{background:var(--surface);border:var(--rule);border-radius:var(--radius);padding:18px 20px}
.aj-mega-col h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:700}
.aj-mega-col a{display:block;padding:7px 0;color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:600}
.aj-mega-col a:hover{color:var(--accent)}
.aj-mega-col a.all{color:var(--accent);margin-top:6px}
.aj-mega-areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.aj-mega-areas a{background:var(--white);border:var(--rule);border-radius:var(--radius-sm);padding:12px 16px;color:var(--ink);text-decoration:none;font-weight:600;font-size:14.5px}
.aj-mega-areas a:hover{border-color:var(--accent);background:var(--accent-100);color:var(--accent)}
/* drawer (phone) */
.aj-drawer{position:fixed;inset:0;z-index:80;background:var(--ink);color:#fff;overflow:auto;padding-bottom:96px}
.aj-drawer-top{height:var(--sticky-h);display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.12)}
.aj-drawer-top .aj-wrap{display:flex;align-items:center;width:100%}
.aj-drawer-top .aj-iconbtn{display:inline-flex;margin-left:auto}
.aj-drawer details{border-bottom:1px solid rgba(255,255,255,.12)}
.aj-drawer summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 var(--gutter);font-weight:700;font-size:17px;cursor:pointer}
.aj-drawer summary::-webkit-details-marker{display:none}
.aj-drawer summary::after{content:'+';font-size:22px;font-weight:400;color:var(--on-dark)}
.aj-drawer details[open] summary::after{content:'–'}
.aj-drawer .dl{padding:0 var(--gutter) 12px}
.aj-drawer .dl h4{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin:14px 0 4px}
.aj-drawer .dl a{display:block;min-height:44px;line-height:44px;color:rgba(255,255,255,.88);text-decoration:none;font-weight:600;border-top:1px solid rgba(255,255,255,.08)}
.aj-drawer>a.row{display:flex;align-items:center;min-height:56px;padding:0 var(--gutter);border-bottom:1px solid rgba(255,255,255,.12);font-weight:700;font-size:17px;color:#fff;text-decoration:none}
.aj-drawer .aj-btn-primary{background:var(--on-dark);color:var(--ink)}
.aj-drawer .aj-btn-secondary{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.aj-drawer .aj-btns{padding:20px var(--gutter);flex-direction:column}
.aj-drawer .aj-btns .aj-btn{width:100%}

/* sticky mobile action bar */
.aj-sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;grid-template-columns:1fr 52px;gap:10px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:var(--rule);padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(13,43,62,.10)}
.aj-sticky .aj-btn{min-height:52px}
.aj-sticky .call{display:flex;align-items:center;justify-content:center;background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--ink)}

/* estimator sheet */
.aj-scrim{position:fixed;inset:0;z-index:90;background:rgba(13,43,62,.55)}
.aj-sheet{position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(560px,100%);background:var(--bg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}
.aj-sheet-head{display:flex;align-items:center;gap:12px;height:var(--sticky-h);padding:0 20px;border-bottom:var(--rule);flex:none}
.aj-sheet-head h2{font-size:18px}
.aj-sheet-head .aj-iconbtn{display:inline-flex;margin-left:auto}
.aj-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--surface);border:var(--rule);border-radius:var(--radius);padding:4px;margin:16px 20px 0}
.aj-seg button{min-height:40px;background:transparent;border:0;border-radius:var(--radius-sm);font-weight:700;font-size:14px;color:var(--muted)}
.aj-seg button[aria-pressed="true"]{background:var(--white);color:var(--accent);box-shadow:var(--shadow)}
.aj-sheet-body{flex:1;overflow:auto;padding:16px 20px 24px}
.aj-sheet-foot{flex:none;border-top:var(--rule);padding:12px 20px 16px;background:var(--white);display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center}
.aj-sheet-foot .k{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.aj-sheet-foot .v{font-size:24px;font-weight:800;letter-spacing:-.02em}
.aj-sheet-foot .s{font-size:12.5px;color:var(--muted)}
.aj-sheet-foot .aj-btn{grid-column:1/3}
/* load slider */
.aj-load{border:var(--rule);border-radius:var(--radius-lg);overflow:hidden;background:var(--white);box-shadow:var(--shadow)}
.aj-load .pic{aspect-ratio:4/3;background:var(--surface);overflow:hidden}
.aj-load .pic img{width:100%;height:100%;object-fit:cover;object-position:center 70%}
.aj-load .meta{padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:4px 16px;border-top:var(--rule)}
.aj-load .meta .b{display:none;justify-self:start;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--on-dark);padding:3px 10px;border-radius:20px}
.aj-load .meta .n{font-weight:800;font-size:17px;grid-row:1}
.aj-load .meta .p{grid-column:2;grid-row:1;font-size:22px;font-weight:800;letter-spacing:-.02em;align-self:center;color:var(--accent)}
.aj-load .meta .d{grid-column:1/3;font-size:13.5px;color:var(--ink-2);margin:6px 0 0}
.aj-load .meta .aj-tags{grid-column:1/3;margin-top:8px}
.aj-load .meta .aj-tag{min-height:28px;padding:2px 8px;font-size:12px}
.aj-range{padding:18px 18px 12px;border-top:var(--rule)}
.aj-range input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:var(--border);outline:none;margin:10px 0 8px}
.aj-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--accent);border:3px solid var(--white);box-shadow:0 2px 8px rgba(13,43,62,.3);cursor:grab}
.aj-range input[type=range]::-moz-range-thumb{width:24px;height:24px;background:var(--accent);border:3px solid var(--white);box-shadow:0 2px 8px rgba(13,43,62,.3);border-radius:50%;cursor:grab}
.aj-range input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.aj-marks{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:var(--muted)}
.aj-marks span.on{color:var(--accent);font-weight:800}
/* item builder */
.aj-items details{border-top:var(--rule)}
.aj-items details:last-child{border-bottom:var(--rule)}
.aj-items summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 4px;font-weight:700;cursor:pointer}
.aj-items summary::-webkit-details-marker{display:none}
.aj-items summary .cnt{font-size:12px;font-weight:700;color:var(--accent);margin-left:auto;margin-right:12px}
.aj-items summary::after{content:'+';font-size:20px;color:var(--accent);font-weight:400}
.aj-items details[open] summary::after{content:'–'}
.aj-row{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:48px;padding:4px 4px;border-top:1px solid rgba(13,43,62,.12);font-size:14.5px}
.aj-row .q{display:inline-flex;align-items:center;border:var(--rule);border-radius:var(--radius-sm);overflow:hidden}
.aj-row .q button{width:40px;height:36px;background:var(--white);border:0;font-size:18px;font-weight:700;color:var(--accent)}
.aj-row .q button:hover{background:var(--accent-100)}
.aj-row .q b{width:32px;text-align:center;font-size:14px}
.aj-row.on{font-weight:700}
.aj-custom{margin-top:16px;border:1.5px solid #F5D9A8;border-radius:var(--radius);background:#FFF7EA;padding:14px 16px}
.aj-custom p{font-size:13.5px;margin:0 0 10px}
.aj-custom .aj-tags .aj-tag{cursor:pointer}
.aj-custom .aj-tag[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}

/* FAQ — native details, collapsed on load */
.aj-faq{border:var(--rule);border-radius:var(--radius);background:var(--white);margin-bottom:8px;overflow:hidden}
.aj-faq[open]{border-color:var(--accent-200)}
.aj-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:14px 20px;font-weight:700;font-size:15.5px;cursor:pointer;text-align:left}
.aj-faq summary:hover,.aj-faq[open] summary{background:var(--surface)}
.aj-faq summary::-webkit-details-marker{display:none}
.aj-faq summary::after{content:'+';flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--accent-100);color:var(--accent);font-size:18px;font-weight:700}
.aj-faq[open] summary::after{content:'–'}
.aj-faq .a{padding:12px 20px 18px;font-size:15px;color:var(--ink-2);max-width:68ch;line-height:1.65}

/* steps */
.aj-steps{counter-reset:s}
.aj-step{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px 20px;border:var(--rule);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);margin-bottom:12px}
.aj-step::before{content:counter(s);width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--accent-100);color:var(--accent);font-size:15px;font-weight:800}
.aj-step h3{margin-bottom:4px}
.aj-step p{margin:0;color:var(--ink-2);font-size:15px}

/* review */
.aj-review{background:var(--white);padding:22px;display:flex;flex-direction:column;gap:12px;border:var(--rule);border-radius:var(--radius);box-shadow:var(--shadow)}
.aj-review .stars{color:#C98A00;font-size:14px;letter-spacing:2px;font-weight:700}
.aj-review q{quotes:none;font-size:15.5px;line-height:1.55;color:var(--ink-2);flex:1}
.aj-review .who{font-size:13px;font-weight:700}
.aj-review .who span{font-weight:400;color:var(--muted)}
.aj-proof{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;font-weight:600;list-style:none;margin:0;padding:0}
.aj-proof span::before,.aj-proof li::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:1px}

/* footer */
.aj-footer{background:var(--ink);color:rgba(255,255,255,.8)}
.aj-footer .top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;border-bottom:1px solid rgba(255,255,255,.1)}
.aj-footer .fcol{padding:40px 0 28px}
.aj-footer .fbrand b{display:block;font-size:22px;color:#fff;letter-spacing:-.02em}
.aj-footer .fbrand b span{color:var(--on-dark)}
.aj-footer .fbrand p{font-size:14px;margin:12px 0}
.aj-footer .fbrand a{color:#fff;text-decoration:none;font-weight:700;display:block;margin-bottom:6px}
.aj-footer .fcol h4,.aj-footer .fcol .fh{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 12px;display:flex;justify-content:space-between;align-items:center}
.aj-footer .fcol h4 button,.aj-footer .fcol .fh button{display:none;background:none;border:0;color:var(--on-dark);font-size:20px;line-height:1;padding:0 4px}
.aj-footer .fcol a.l{display:block;color:rgba(255,255,255,.82);text-decoration:none;font-size:14px;padding:5px 0}
.aj-footer .fcol a.l:hover{color:#fff;text-decoration:underline}
.aj-footer .bottom{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding:16px 0 20px;font-size:12.5px;color:rgba(255,255,255,.7)}
.aj-footer .bottom a{color:rgba(255,255,255,.85);text-decoration:none}

/* hero (shared) */
.aj-hero{padding:48px 0 56px;background:var(--ink);color:#fff}
.aj-hero .aj-lede,.aj-hero .aj-body,.aj-hero p{color:rgba(255,255,255,.78)}
.aj-hero .aj-muted{color:rgba(255,255,255,.7)}
.aj-hero .aj-label{color:var(--on-dark)}
.aj-hero .aj-btn-primary{background:var(--on-dark);color:var(--ink);box-shadow:0 4px 18px rgba(58,171,219,.35)}
.aj-hero .aj-btn-primary:hover{background:var(--on-dark-600);color:var(--ink)}
.aj-hero .aj-btn-secondary{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.aj-hero .aj-btn-secondary:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.aj-hero .aj-tag{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.aj-hero .aj-cell,.aj-hero .aj-photo{color:var(--ink)}
.aj-hero a{color:var(--on-dark)}
.aj-hero .aj-btn{color:inherit}
.aj-hero .aj-grid{align-items:center}
.aj-hero .aj-photo{aspect-ratio:1/1}
.aj-hero .aj-lede{margin:18px 0 24px}
.aj-kicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:5px 12px;margin-bottom:18px}
.aj-kicker a{color:inherit !important}

/* blog prose */
.aj-prose{max-width:68ch;font-size:17px;line-height:1.75;color:var(--ink-2)}
.aj-prose h2{font-size:26px;color:var(--ink);margin:40px 0 12px}
.aj-prose h3{color:var(--ink);margin:24px 0 8px}
.aj-prose p{margin:0 0 18px}
.aj-prose table{width:100%;border-collapse:collapse;font-size:15px;margin:12px 0 24px}
.aj-prose th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 8px;border-bottom:var(--rule)}
.aj-prose td{padding:10px 8px;border-bottom:1px solid rgba(13,43,62,.15)}
.aj-prose tr.hi td{background:var(--accent);color:#fff !important;font-weight:800}
.aj-prose table{border:var(--rule);border-radius:var(--radius);overflow:hidden;border-spacing:0}
.aj-toc{border:var(--rule);border-radius:var(--radius);background:var(--white);padding:16px 18px;font-size:14px;box-shadow:var(--shadow)}
.aj-toc h4{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.aj-toc a{display:block;padding:6px 0;color:var(--ink);text-decoration:none;font-weight:600;border-top:1px solid rgba(13,43,62,.12)}
.aj-toc a:hover{color:var(--accent)}

/* utilities */
.hide-m{display:initial}.show-m{display:none}
.aj-stack{display:grid;gap:16px}
.aj-pad-b{padding-bottom:0}

/* ── responsive ─────────────────────────────────────────────────────── */
@media (max-width:1024px){
  .aj-cells-6{grid-template-columns:repeat(3,minmax(0,1fr))}
  .aj-cells-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aj-mega-cols,.aj-mega-areas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aj-footer .top{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  :root{--gutter:16px}
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
  .aj-sec{padding:40px 0}
  .aj-sec-head{grid-template-columns:1fr;align-items:start;margin-bottom:24px}
  .aj-grid>*{grid-column:1/-1 !important}
  .aj-hero{padding:32px 0 40px}
  .aj-hero .aj-photo{aspect-ratio:16/10;margin-top:24px}
  .aj-nav,.aj-hdr-phone{display:none}
  .aj-brand small{display:none}
  h1{font-size:clamp(28px,8vw,34px)}
  h2{font-size:clamp(24px,6.5vw,28px)}
  .aj-iconbtn{display:inline-flex}
  .aj-hdr-book{display:none}
  .aj-sticky{display:grid}
  .aj-sheet{top:auto;left:0;width:100%;max-height:92dvh;border-radius:16px 16px 0 0}
  .aj-btns .aj-btn{min-width:0;flex:1 1 100%;white-space:normal}
  .aj-footer .top{grid-template-columns:1fr}
  .aj-footer .top{gap:0}
  .aj-footer .fcol{padding:18px 0;border-top:1px solid rgba(255,255,255,.1)}
  .aj-footer .fcol:first-child{border-top:0;padding-top:32px}
  .aj-footer .fcol h4 button,.aj-footer .fcol .fh button{display:inline-block}
  .aj-footer .fcol .fl{display:none}
  .aj-footer .fcol[data-open] .fl{display:block}
  .hide-m{display:none !important}.show-m{display:initial}
  .order-m-2{order:2}
}
@media (max-width:600px){
  .aj-cells-3,.aj-cells-4,.aj-cells-6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aj-cells-2{grid-template-columns:1fr}
  .aj-cells-1m{grid-template-columns:1fr !important}
  .aj-teaser{max-width:none;gap:4px 16px;padding:14px 16px}
  .aj-teaser .t-v{font-size:24px}
  .aj-load .pic{aspect-ratio:16/10}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* ── site additions (build 250) — things the prototype's React runtime did that static pages need ── */
[hidden]{display:none !important}
body.aj-lock{overflow:hidden}
body.aj-ui-open .aj-sticky{display:none !important}
.aj-avail{position:relative}
.aj-avail a{white-space:nowrap}
/* times panel: an overlay below the bar — never grows the bar (that growth was the CLS) */
#urgencyPanel{display:none;position:absolute;left:0;right:0;top:40px;z-index:70;background:var(--white);color:var(--ink);border-bottom:var(--rule);box-shadow:0 16px 40px rgba(13,43,62,.18)}
#urgencyPanel.open{display:block}
#urgencyPanel .ub-slot{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:var(--wrap);margin:0 auto;padding:10px var(--gutter);border-top:1px solid rgba(13,43,62,.1);font-size:14px}
#urgencyPanel .ub-slot:first-child{border-top:0}
#urgencyPanel .ub-when{display:flex;gap:10px;align-items:center;font-weight:600}
#urgencyPanel .ub-day{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);min-width:78px}
#urgencyPanel .ub-book{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:700;text-decoration:none}
#urgencyPanel .ub-book:hover{background:var(--accent-600);color:#fff}
/* header nav buttons + panels */
.aj-nav>button{cursor:pointer}
.aj-mega{z-index:55}
.aj-drawer .aj-brand{margin-right:auto}
.aj-drawer>a.row{color:#fff;text-decoration:none}
.aj-drawer .dl a{border-top:1px solid rgba(255,255,255,.08)}
/* estimator sheet: the shared items builder lives in the sheet in "sheet mode" */
.aj-sheet #quote{scroll-margin-top:0}
.aj-sheet #quote .q-layout{grid-template-columns:1fr !important;gap:0 !important}
.aj-sheet #q-panel{display:none}
.aj-sheet .q-cat{border-top:var(--rule)}
.aj-sheet-foot .aj-btn-secondary{grid-column:1/3;min-height:44px}
.aj-sheet-head .aj-btn-ghost{margin-left:auto;min-height:40px;font-size:14px}
.aj-sheet-head .aj-iconbtn{margin-left:0;color:var(--ink);border-color:var(--border)}
.aj-sheet .aj-iconbtn{display:inline-flex}
@media (max-width:900px){.aj-sheet{max-height:92dvh}.aj-sheet-body{padding:12px 16px 20px}}
/* item finder result cards (item-checker.js) */
.cit-card{margin-top:12px;border:var(--rule);border-radius:var(--radius);background:var(--white);padding:16px 18px;box-shadow:var(--shadow)}
.cit-card .cit-h{font-weight:800;font-size:16px;margin-bottom:6px}
.cit-card p{font-size:14px;color:var(--ink-2);margin:0 0 10px}
.cit-yes{border-color:#B7E0C4;background:#EAF7EE}.cit-no{border-color:#F3C1BC;background:#FDF0EE}.cit-maybe,.cit-none{border-color:#F5D9A8;background:#FFF7EA}
.cit-btns{display:flex;flex-wrap:wrap;gap:8px}
.cit-btns a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:var(--radius-sm);font-weight:700;font-size:14px;text-decoration:none}
.cit-b1{background:var(--accent);color:#fff}.cit-b2{border:var(--rule);color:var(--ink);background:var(--white)}
.aj-finder{display:grid;grid-template-columns:1fr auto;border:var(--rule);background:var(--white);border-radius:var(--radius);overflow:hidden}
.aj-finder input{border:0;background:transparent;padding:14px 16px;font:inherit;font-size:16px;min-width:0;outline:none}
.aj-finder .aj-btn{border-radius:0;border-left:var(--rule)}
.aj-tag[type=button]{cursor:pointer;font:inherit}
/* inline load-size guide on /pricing shares the sheet's slider component */
.aj-pricegrid button,.aj-teaser,.aj-cell[type=button]{cursor:pointer}
.aj-prose tbody tr{cursor:pointer}
.aj-prose tbody tr:hover td{background:var(--accent-100)}
.aj-prose tr.hi:hover td{background:var(--accent)}
/* demo video: the poster shows until the clip is really playing */
.aj-photo video{width:100%;height:100%;object-fit:cover;display:block}
.aj-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* tap targets + type floor (build 250 audit) */
.aj-footer .fcol .fh{font-weight:700}
.aj-footer .fcol .fh button{width:44px;height:44px;margin:-12px -8px -12px 0;display:none;align-items:center;justify-content:center}
@media (max-width:900px){.aj-footer .fcol .fh button{display:inline-flex}.aj-footer .fcol .fh{cursor:pointer}}
.aj-footer .bottom{font-size:13px}
.aj-footer .bottom a,.aj-footer .fbrand a{display:inline-block;padding:6px 0}
.aj-footer .fbrand a{display:block}
.aj-mega a.all,.aj-mega .aj-wrap>div>a{display:inline-block;padding:8px 0}
.aj-footer .fcol a.l{padding:7px 0}
/* contrast (axe, build 250): the hero's light-blue primary must keep navy text — a later `.aj-hero .aj-btn{color:inherit}` rule was turning it white (2.6:1) */
.aj-hero .aj-btn.aj-btn-primary,.aj-dark .aj-btn.aj-btn-primary,.aj-band .aj-btn.aj-btn-primary{color:var(--ink)}
.aj-dark .aj-cell .num{color:var(--on-dark)}
.aj-avail .aj-wrap{height:100%}
.aj-brand{min-height:44px}
/* ── ad landing pages (build 252): minimal header, v3 form in the hero, one-line footer ── */
.lp-header{height:64px;border-bottom:var(--rule);background:var(--bg)}
.lp-header .aj-wrap{height:100%;display:flex;align-items:center;gap:12px}
.lp-header .aj-brand{color:var(--ink)}
.lp-header .aj-brand small{color:var(--muted)}
.lp-header .aj-btn{margin-left:auto}
.lp-hero .aj-check li{color:#fff}
.lp-form{position:relative}
.lp-form .bk3{max-width:none;padding:0}
.lp-form .bk3-card{margin:0}
.lp-footer{border-top:var(--rule);padding:20px 0 24px;font-size:13px;color:var(--muted)}
.lp-footer .aj-wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.lp-footer a{color:var(--ink);font-weight:600;text-decoration:none}
body.aj-form-inview .aj-sticky{display:none !important}
@media (max-width:900px){.lp-hero .c6:first-child{order:2}.lp-hero .c6:last-child{order:1}.lp-hero h1{margin-top:0}.lp-hero .aj-lede{margin:12px 0 16px}}
.lp-header .aj-brand b span{color:var(--accent)}
/* the v3 form mounts after JS runs — reserve its step-1 height so the hero never shifts (CLS) */
.lp-form{min-height:var(--lpf-d,812px)}
@media (max-width:900px){.lp-form{min-height:var(--lpf-m,864px)}}
/* ── white header (owner request, build 253): same look as the ad landing pages' header ── */
.aj-header{background:var(--bg);color:var(--ink);box-shadow:none;border-bottom:var(--rule)}
.aj-header .aj-brand,.aj-header .aj-brand b{color:var(--ink)}
.aj-header .aj-brand b span{color:var(--accent)}
.aj-header .aj-brand small{color:var(--muted)}
.aj-nav>a,.aj-nav>button{color:var(--ink)}
.aj-nav>a:hover,.aj-nav>button:hover,.aj-nav>button[aria-expanded="true"]{background:var(--accent-100);color:var(--accent)}
.aj-hdr-phone{color:var(--ink);border-color:var(--border)}
.aj-hdr-phone:hover{border-color:var(--ink);color:var(--ink)}
.aj-header .aj-iconbtn{color:var(--ink);border-color:var(--border)}
.aj-header .aj-iconbtn:hover{border-color:var(--ink)}
.aj-hdr-book{background:var(--accent) !important;color:#fff !important;box-shadow:0 4px 14px rgba(22,111,148,.28) !important}
.aj-hdr-book:hover{background:var(--accent-600) !important}
.aj-mega{border-top:var(--rule)}
/* ── stage D (build 253): hub, blog, legal and utility pieces from the prototypes ── */
.hub-form{color:var(--ink);background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:24px 22px 20px}
.hub-form h2{color:var(--ink);font-size:22px}.hub-form p{color:var(--muted)}.hub-form .aj-label{color:var(--accent)}
.hub-form label{display:block;font-size:12px;font-weight:700;color:var(--ink);margin:12px 0 4px}
.hub-form input,.hub-form select,.hub-form textarea{width:100%;min-height:48px;padding:10px 12px;font:inherit;font-size:15px;color:var(--ink);background:var(--white);border:var(--rule);border-radius:var(--radius);box-sizing:border-box}
.hub-form input:focus,.hub-form select:focus,.hub-form textarea:focus{border-color:var(--accent);outline:none}
.hub-form textarea{min-height:96px;resize:vertical}
.hub-form .two,.hub-form .acct-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.hub-form button[type=submit]{margin-top:16px}
.hub-form .hp{position:absolute;left:-9999px}
.hub-success{background:#F0FAF3;border:1.5px solid #B7E4C7;border-radius:var(--radius-lg);padding:24px;text-align:center;margin-top:12px}
.hub-success h3{font-size:18px;margin-bottom:6px}
.hub-cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;border:var(--rule);border-radius:var(--radius);overflow:hidden;background:var(--white)}
.hub-cmp th{text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 12px;border-bottom:var(--rule)}
.hub-cmp th.us{color:var(--accent)}
.hub-cmp td{padding:14px 12px;border-bottom:1px solid rgba(13,43,62,.18);vertical-align:top}
.hub-cmp td:first-child{font-weight:700}
.hub-cmp td.us{background:var(--accent-100);font-weight:700}
.hub-cmp td.them{color:var(--ink-2)}
.ab-num{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ab-num div{background:var(--white);border:var(--rule);border-radius:var(--radius);padding:20px 18px}
.ab-num b{display:block;font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--accent);line-height:1.1;margin-bottom:6px}
.ab-num span{font-size:13.5px;color:var(--ink-2)}
.ab-quote{background:var(--white);border:var(--rule);border-radius:var(--radius-lg);padding:28px 28px 24px;box-shadow:var(--shadow);border-left:6px solid var(--accent)}
.ab-quote p{font-size:19px;line-height:1.5;font-weight:500;color:var(--ink);margin:0 0 14px}
.ab-quote .who{font-size:14px;color:var(--muted)}.ab-quote .who b{color:var(--ink)}
.bl-side{position:sticky;top:124px}
.bl-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.bl-meta span{font-size:12.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:5px 12px}
.bl-cmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 22px}.bl-cmp>div{background:var(--white);border:var(--rule);border-radius:var(--radius);padding:18px 18px 16px}.bl-cmp>div.us{background:var(--accent-100);border-color:var(--accent)}.bl-cmp .k{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.bl-cmp .us .k{color:var(--accent)}.bl-cmp .v{font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.1}.bl-cmp .s{display:block;font-size:13.5px;color:var(--ink-2);margin-top:4px}@media (max-width:520px){.bl-cmp{grid-template-columns:1fr}}
.bl-post{display:flex;flex-direction:column;gap:10px;min-height:220px}
.bl-post .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--accent)}
.bl-post h3{font-size:20px}
.bl-post .r{margin-top:auto;font-size:13px;color:var(--muted);font-weight:600}
.aj-prose .aj-cells{margin:8px 0 22px}
.aj-prose .aj-cell p{font-size:14px}
.aj-prose .aj-tags{margin:8px 0 22px}
.aj-prose ul,.aj-prose ol{margin:0 0 18px;padding-left:22px}
.aj-prose li{margin:6px 0}
.aj-prose h2{border-top:2px solid var(--divider);padding-top:22px}
.aj-prose h2:first-child{border-top:0;padding-top:0;margin-top:0}
.ut-404{font-size:clamp(96px,18vw,180px);font-weight:800;letter-spacing:-.04em;line-height:.9;color:var(--on-dark);margin:0 0 8px}
.ut-legal{max-width:720px}
.ut-legal h2{font-size:20px;margin:32px 0 8px}
.ut-legal h3{font-size:17px;margin:22px 0 6px}
.ut-legal p,.ut-legal li{font-size:16px;line-height:1.65;color:var(--ink-2);margin:0 0 14px}
.ut-legal ul{padding-left:22px}
.ut-toc{position:sticky;top:120px}
.aj-logos .aj-tag{cursor:default}
#service-finder{min-height:330px}
#service-finder section{padding-left:var(--gutter) !important;padding-right:var(--gutter) !important}
@media (max-width:900px){.bl-side,.ut-toc{position:static;margin-bottom:20px}.hub-form .two,.hub-form .acct-grid{grid-template-columns:1fr}.ab-num{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-quote p{font-size:17px}}
/* /booking with the new shell: the h1 block stays for search engines but is hidden on phones (owner decision, build 246) */
@media (max-width:900px){.book-hero{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0);white-space:nowrap;padding:0!important;margin:-1px!important}}
body.aj-no-sticky .aj-sticky{display:none !important}
.book-hero{padding:32px 0 8px}
.book-hero h1{font-size:clamp(26px,3.4vw,40px)}
.book-hero .aj-lede{margin:10px 0 0}
/* stage D audit fixes */
.aj-dark a,.aj-dark .aj-body a{color:var(--on-dark)}
.aj-toc .h{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-weight:700}
main>#bk3{min-height:700px}
.aj-dark .aj-check li,.aj-dark .aj-body,.aj-dark .aj-body p,.aj-dark .aj-body li,.aj-dark h3{color:rgba(255,255,255,.88)}
.aj-dark .aj-check li::before{background:var(--on-dark)}.aj-dark .aj-check li::after{border-color:var(--ink)}

/* build 254: maple leaf + whole-wordmark hover, hero highlight, taller bar, clickable video, footer heading tap */
.aj-brand b{display:inline-flex;align-items:center}
.aj-brand .leaf{width:17px;height:17px;fill:#D80621;flex:none;margin:-1px 0 0 5px}
.aj-brand:hover b,.aj-brand:hover b span,.aj-brand:focus-visible b,.aj-brand:focus-visible b span{color:var(--accent-700)}
.aj-drawer .aj-brand:hover b,.aj-drawer .aj-brand:hover b span{color:var(--on-dark)}
.aj-hl{color:var(--on-dark)}
.aj-avail{height:44px;font-size:14px}
#urgencyPanel{top:44px}
@media (max-width:600px){.aj-avail{font-size:13.5px}.aj-avail .msg{white-space:normal;line-height:1.2;max-height:2.4em;overflow:hidden;text-overflow:clip}.aj-avail a{padding:0 6px}}
@media (max-width:900px){.aj-footer .fcol .fh,.aj-footer .fcol h4{cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px;margin:-8px 0 4px}}
.bk2-video{cursor:pointer}

/* build 255: white drawer (matches the white header), Google reviews widget host, landing-form fixes */
.aj-drawer{background:var(--bg);color:var(--ink)}
.aj-drawer-top{border-bottom:var(--rule)}
.aj-drawer .aj-brand,.aj-drawer .aj-brand b{color:var(--ink)}
.aj-drawer .aj-brand b span{color:var(--accent)}
.aj-drawer .aj-brand:hover b,.aj-drawer .aj-brand:hover b span{color:var(--accent-700)}
.aj-drawer .aj-iconbtn{border-color:rgba(13,43,62,.3);color:var(--ink)}
.aj-drawer .aj-iconbtn:hover{border-color:var(--ink)}
.aj-drawer details{border-bottom:var(--rule)}
.aj-drawer summary{color:var(--ink)}
.aj-drawer summary::after{color:var(--accent)}
.aj-drawer .dl h4{color:var(--muted)}
.aj-drawer .dl a{color:var(--ink);border-top:1px solid rgba(13,43,62,.08)}
.aj-drawer>a.row{color:var(--ink);border-bottom:var(--rule)}
.aj-drawer .aj-btn-primary{background:var(--on-dark);color:var(--ink);box-shadow:0 4px 18px rgba(58,171,219,.35)}
.aj-drawer .aj-btn-secondary{border-color:var(--ink);color:var(--ink);background:transparent}
.ti-host{min-height:360px}
@media (max-width:600px){.ti-host{min-height:440px}}
.ti-host.is-fallback{min-height:0}
.ti-fallback[hidden]{display:none}
.lp-form .bk3-footer{margin-left:0;margin-right:0}

/* build 255: estimator sheet footer — truck size and price on one line, HST note under it, tighter */
.aj-sheet-foot{padding:10px 20px 14px;gap:4px 0;grid-template-columns:1fr}
.aj-sheet-foot>div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px}
.aj-sheet-foot>div br{display:none}
.aj-sheet-foot .k{line-height:1.3}
.aj-sheet-foot .v{font-size:22px;line-height:1.15}
.aj-sheet-foot .s{display:block;margin-bottom:6px}
.aj-sheet-foot .aj-btn,.aj-sheet-foot .aj-btn-secondary{grid-column:auto}

/* build 255: the estimator sheet fills the phone screen so the slider is on screen without scrolling */
@media (max-width:900px){
  .aj-sheet{max-height:100dvh;height:100dvh;border-radius:0}
  #ajSheetSliderWrap>p.aj-small{display:none}
  .aj-sheet-body{padding-top:10px}
}
@media (max-width:900px) and (max-height:720px){
  .aj-sheet .aj-load .pic{aspect-ratio:auto;height:160px;overflow:hidden}
  .aj-sheet .aj-load .pic img{display:block;width:100%;height:160px;object-fit:cover}
  .aj-sheet .aj-load .aj-tags{display:none}
}
/* build 256: speed + landing form card + widget contrast */
@font-face{font-family:'Inter Fallback';src:local('Arial'),local('Helvetica');size-adjust:107.64%;ascent-override:90.44%;descent-override:22.52%;line-gap-override:0%}
.lp-form .bk3-card{background:#fff;padding:18px 16px 0!important;border:1px solid #DDE5EC!important;border-radius:20px!important;box-shadow:0 12px 40px rgba(13,43,62,.18)!important}
.ti-widget .ti-read-more-active,.ti-widget .ti-read-more{color:#3D5766!important;opacity:1!important}

/* build 257: once the v3 form has rendered, the landing hero hugs the card instead of holding the pre-render
   reservation (the min-height only exists to stop layout shift before the script paints the form) */
.lp-form:has(.bk3-card){min-height:0}
.lp-form .bk3-step{padding-bottom:6px}

/* build 258: the hero's white paragraph colour leaked into the white form card on landing pages */
.lp-form .bk3-card p{color:#0D2B3E}
.lp-form .bk3-card .bk3-sub,.lp-form .bk3-card .bk3-foot,.lp-form .bk3-card .bk3-hint{color:#5A7080}
