/* Service landing pages (booking systems, charities, Aberdeenshire). Loaded after site.css and website-design.css. */
.page-hero{padding:168px 0 72px;border-bottom:1px solid var(--line)}
.page-hero h1{max-width:900px;font-size:clamp(40px,5.2vw,72px);line-height:1.04;letter-spacing:-.045em;text-wrap:balance}
.page-intro{max-width:640px;margin:28px 0 0;color:var(--muted);font-size:clamp(17px,1.4vw,19px);line-height:1.65}
.service-hero .trust{margin-top:44px}
.feature-list a,.lead a{color:var(--text);text-underline-offset:3px}
.price-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--line);list-style:none}
.price-strip li{display:grid;align-content:start;gap:8px;padding:24px;background:var(--surface)}
.price-strip li.is-highlight{box-shadow:inset 0 2px 0 var(--accent)}
.price-strip b{font-size:15px}
.price-strip strong{font-size:28px;letter-spacing:-.03em;line-height:1.1}
.price-strip span{color:var(--muted);font-size:14px;line-height:1.55}
#prices .actions{margin-top:32px}
.bfg-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;padding:48px;border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--radius);background:var(--surface)}
.bfg-card h2{font-size:clamp(26px,2.8vw,38px)}
.bfg-card p{margin:0 0 16px;color:var(--muted);font-size:16px;line-height:1.7}
.bfg-card strong{color:var(--text)}
.town-list{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.town-list li{display:inline-flex;min-height:44px;align-items:center;padding:0 18px;border:1px solid var(--line-strong);border-radius:999px;font-size:15px;font-weight:600}
.town-list li:last-child{border-style:dashed;color:var(--muted)}
.mini-cases{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mini-case{display:grid;gap:12px;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .2s ease}
.mini-case:hover{border-color:var(--text)}
.mini-case span{color:var(--faint);font-size:12px;font-weight:700;letter-spacing:.08em}
.mini-case b{font-size:26px;letter-spacing:-.03em}
.mini-case p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}
.mini-case em{font-style:normal;font-size:14px;font-weight:700}
.final .final-alt{margin:24px auto 0;font-size:14px}
.final-alt a{color:var(--text)}
@media(max-width:900px){.price-strip{grid-template-columns:1fr}}
@media(max-width:1080px){.bfg-card{grid-template-columns:1fr;gap:20px}}
@media(max-width:680px){
  .page-hero{padding:128px 0 56px}
  .page-hero h1{font-size:clamp(34px,9.6vw,48px)}
  .mini-cases{grid-template-columns:1fr}
  .bfg-card,.mini-case{padding:28px 20px}
  .service-hero .actions .btn,#prices .actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.mini-case{transition:none}}
@media(min-width:1081px){#process .steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
