@charset "utf-8";
/* =========================================================================
   Info + legal pages — "Fleet Livery". Loads after livery.css, service.css
   (text blocks, sections, red band) and location.css (the van-door hero).
   Adds: the legal reading column with its "On this page" index, the contact
   card, and the photo-beside-copy section of About / Contact.
   ========================================================================= */

/* ---------- hero ---------- */
.ih .hero-lede+.hero-lede{margin-top:14px}
.ih .hero-copy{padding-bottom:clamp(64px,7vw,100px)}

/* ---------- legal: index + reading column ---------- */
.lg{padding:clamp(88px,9vw,130px) 0 clamp(96px,10vw,140px)}
.lg-grid{display:grid;grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.lg-toc{position:sticky;top:calc(var(--bar) + 40px);padding-top:18px;border-top:2px solid var(--ink)}
.lg-toc-h{margin-bottom:14px;font:800 12.5px/1 var(--f-d);font-stretch:88%;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.lg-toc ol{display:grid;gap:2px}
.lg-toc a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;padding:7px 0;font:500 14.5px/1.35 var(--f-b);color:var(--soft);text-decoration:none;transition:color .2s var(--ease)}
.lg-toc-i{font:800 italic 12.5px/1.6 var(--f-d);font-stretch:118%;color:var(--red)}
.lg-body{max-width:780px}
.lg-sec{position:relative;padding:34px 0 40px;border-top:2px solid var(--ink);scroll-margin-top:calc(var(--bar) + 24px)}
.lg-sec::before{content:"";position:absolute;left:0;top:-2px;width:52px;height:4px;background:var(--red);transform:skewX(-12deg);transform-origin:0 0}
.lg-n{display:block;margin-bottom:12px;font:900 italic 26px/1 var(--f-d);font-stretch:125%;color:transparent;-webkit-text-stroke:1.1px var(--ink)}
.lg-sec .h2{font-size:clamp(26px,2.7vw,38px)}
.lg-text{margin-top:22px}
.lg-text .bp{max-width:68ch}
.lg-text .h3b,.lg-text h3{margin-top:26px}
.lg-text .h3-grid{grid-template-columns:minmax(0,1fr)}
.lg-text .h3b{padding-top:20px;border-top-width:1px}
.lg-text .h3b-i{display:none}
.lg-text .ticks{margin:16px 0 4px}
.lg-text .ticks+.bp{margin-top:22px}

/* ---------- contact card ---------- */
.ccard{position:relative;margin:22px 0 6px;padding:26px 28px 22px;background:#fff;box-shadow:0 0 0 1px var(--line),0 30px 50px -44px rgba(15,16,18,.5);max-width:460px}
.ccard::before{content:"";position:absolute;left:28px;top:0;width:58px;height:5px;background:var(--red);transform:skewX(-12deg);transform-origin:0 0}
.ccard p{color:var(--ink-2);font-size:16px;line-height:1.5}
.ccard .ccard-t{margin-bottom:10px;font:900 italic 20px/1.2 var(--f-d);font-stretch:112%;color:var(--ink)}
.ccard .ccard-t strong{font-weight:900}
.ccard .ccard-l{padding:8px 0;border-top:1px solid var(--line)}
.ccard .ccard-l strong{font:800 12.5px/1 var(--f-d);font-stretch:88%;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);margin-right:6px}
.ccard a.tel{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:4px}
.ccard+.bp{margin-top:22px}
.sc .ccard{margin-top:26px;color:var(--ink)}

/* ---------- photo beside copy (About / Contact) ---------- */
.ip{background:var(--paint-2);padding:clamp(92px,9.6vw,136px) 0}
.ip+.ss-std{padding-top:clamp(66px,7vw,100px)}
.ip-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(36px,5vw,84px);align-items:center}
.ip-photo{--fh:clamp(360px,36vw,500px);height:var(--fh);margin:0;background:var(--ink);
  clip-path:polygon(0 0,100% 0,calc(100% - var(--fh) * var(--tan)) 100%,0 100%)}
.ip-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.ip-copy .h2{font-size:clamp(32px,3.6vw,50px)}
.ip-copy .bp{margin-top:18px}
.ip-copy .ticks{margin-top:22px}

@media(hover:hover){
  .lg-toc a:hover{color:var(--red)}
}
.lg-toc a:focus-visible{color:var(--red)}

/* ---------- ≤980 ---------- */
@media(max-width:980px){
  .lg-grid,.ip-grid{grid-template-columns:minmax(0,1fr)}
  .lg-toc{position:static}
  .lg-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
  .ip-photo{--fh:clamp(260px,56vw,420px);margin-inline:calc(-1 * var(--gut))}
}
@media(max-width:560px){
  .lg-toc ol{grid-template-columns:minmax(0,1fr)}
  .ccard{padding:24px 20px 18px}
}

/* ---------- articles (blog posts, wiki) ---------- */
.aimg{--fh:clamp(260px,30vw,400px);height:var(--fh);margin:28px 0 30px;background:var(--ink);
  clip-path:polygon(0 0,100% 0,calc(100% - var(--fh) * var(--tan)) 100%,0 100%)}
.aimg img{width:100%;height:100%;object-fit:cover}
.acall{margin-top:26px}
.lg-text .acall{margin:22px 0 4px}
.olist{display:grid;gap:0;margin:16px 0 6px;border-top:2px solid var(--ink)}
.olist li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font:500 16px/1.55 var(--f-b);color:var(--ink-2)}
.ol-n{font:900 italic 16px/1.5 var(--f-d);font-stretch:125%;color:var(--red)}
.lg-text .bp a,.hero-lede a{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:3px}
.ccard .ccard-p{font-size:16px;line-height:1.9;color:var(--ink-2)}
.ccard .ccard-p strong{font:800 12.5px/1 var(--f-d);font-stretch:88%;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);margin-right:4px}
.ccard .ccard-p a{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
/* blog-page rule: the in-page address repeats the footer's — kept in the markup, not shown */
body.blog-page .blog-address{display:none!important}
@media(hover:hover){
  .lg-text .bp a:hover,.hero-lede a:hover{color:var(--red)}
}

/* ---------- sitemap page ---------- */
.smh .hero-copy{padding-bottom:clamp(70px,7vw,110px)}
.smh-photo{min-height:clamp(300px,30vw,420px);padding:0;overflow:hidden}
.smh-photo::before{display:none}
.smh-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;
  clip-path:polygon(calc(100% * .16) 0,100% 0,100% 100%,0 100%)}
.smap{padding:clamp(88px,9vw,130px) 0 clamp(96px,10vw,140px)}
.smap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px clamp(28px,3.4vw,52px)}
.smap-col{padding-top:20px;border-top:2px solid var(--ink)}
.smap-h{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;font:900 italic 20px/1.1 var(--f-d);font-stretch:118%;text-transform:uppercase;color:var(--ink)}
.smap-i{font-size:14px;color:var(--red)}
.smap-col li{border-bottom:1px solid var(--line)}
.smap-col a{display:block;padding:10px 0;font:500 15px/1.4 var(--f-b);color:var(--ink-2);text-decoration:none;transition:color .2s var(--ease),padding .35s var(--ease)}
@media(hover:hover){ .smap-col a:hover{color:var(--red);padding-left:6px} }
.smap-col a:focus-visible{color:var(--red)}
@media(max-width:1100px){ .smap-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:980px){ .smh-photo{min-height:clamp(240px,60vw,380px)} .smh-photo img{clip-path:polygon(0 34px,100% 0,100% 100%,0 100%)} }
@media(max-width:560px){ .smap-grid{grid-template-columns:minmax(0,1fr)} }
