/* BT Area Pages: service × borough. Builds on service.css (sv-*); everything here is ar-*. */
#bt-root.bt-area .bt-btn { white-space:normal; text-align:center; max-width:100%; height:auto; padding-top:12px; padding-bottom:12px; line-height:1.3; }
#bt-root.bt-area .bt-btn--lg { min-height:64px; padding:0 32px; font-size:1.125rem; }
#bt-root .bt-btn--ghost { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.7); }
#bt-root a.bt-btn--ghost:hover { background:#fff; color:var(--c-black); }
#bt-root .ar-eyebrow { font-size:.875rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--c-primary); margin:0 0 var(--space-3); }
#bt-root .ar-intro { font-size:var(--fs-body-lg); line-height:1.7; color:var(--c-text-80); max-width:880px; margin:0 0 var(--space-6); }
#bt-root .ar-h3 { font-size:1.375rem; font-weight:600; margin:var(--space-6) 0 var(--space-3); color:var(--c-black); }
#bt-root .sv-related .ar-h3 { margin-top:0; }

/* Hero */
#bt-root .ar-hero { padding-top:var(--space-5); }
#bt-root .ar-hero__card { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(24px,4vw,64px); align-items:stretch; background:var(--c-dark); border-radius:var(--r-pill); padding:clamp(28px,4.5vw,72px); color:#fff; overflow:hidden; }
#bt-root .ar-crumbs { font-size:.9375rem; color:rgba(255,255,255,.7); margin-bottom:var(--space-5); }
#bt-root .ar-crumbs a { color:rgba(255,255,255,.85); text-decoration:none; }
#bt-root .ar-crumbs a:hover { text-decoration:underline; }
#bt-root .ar-crumbs span { margin:0 4px; }
#bt-root .ar-crumbs [aria-current] { color:#fff; margin:0; }
#bt-root .ar-hero__title { font-size:clamp(2.4rem,1.4rem+3.6vw,4.75rem); font-weight:500; line-height:1.05; color:#fff; margin:0 0 var(--space-5); }
#bt-root .ar-hero__lede { font-size:clamp(1.0625rem,1rem+.35vw,1.3125rem); line-height:1.6; color:rgba(255,255,255,.9); margin:0 0 var(--space-6); max-width:640px; }
#bt-root .ar-hero__actions { display:flex; flex-wrap:wrap; gap:14px; margin:0 0 var(--space-7); }
#bt-root .ar-updated { font-size:.875rem; color:rgba(255,255,255,.65); margin:-16px 0 var(--space-5); }
#bt-root .ar-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; padding-top:var(--space-5); border-top:1px solid rgba(255,255,255,.18); }
#bt-root .ar-stats dt { font-size:clamp(1.75rem,1.3rem+1.4vw,2.75rem); font-weight:500; line-height:1.1; color:#fff; }
#bt-root .ar-stats dt span { color:var(--c-star); }
#bt-root .ar-stats dd { margin:6px 0 0; font-size:.9375rem; line-height:1.45; color:rgba(255,255,255,.75); }
#bt-root .ar-hero__media { border-radius:var(--r-xl); overflow:hidden; min-height:320px; }
#bt-root .ar-hero__img { width:100%; height:100%; object-fit:cover; }

/* Short answer + facts */
#bt-root .ar-glance__grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:21px; }
#bt-root .ar-glance__answer { border-left:8px solid var(--c-primary); }
#bt-root .ar-glance__answer .sv-h2 { font-size:clamp(1.5rem,1.2rem+1vw,2.25rem); margin-bottom:var(--space-4); }
#bt-root .ar-glance__text { font-size:1.1875rem; line-height:1.65; color:var(--c-black); margin:0 0 var(--space-6); }
#bt-root .ar-facts { background:var(--c-surface); }
#bt-root .ar-facts__title { font-size:1.25rem; font-weight:600; margin:0 0 var(--space-4); }
#bt-root .ar-facts dl { margin:0; }
#bt-root .ar-facts dl > div { padding:12px 0; border-bottom:1px solid var(--c-border); }
#bt-root .ar-facts dl > div:last-child { border-bottom:0; }
#bt-root .ar-facts dt { font-size:.875rem; color:var(--c-text-60); }
#bt-root .ar-facts dd { margin:2px 0 0; font-weight:500; color:var(--c-black); }

/* Types */
#bt-root .ar-types { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
#bt-root .ar-type { display:flex; flex-direction:column; background:var(--c-surface-alt); border-radius:var(--r-l); padding:26px 24px; }
#bt-root .ar-type__name { font-size:1.375rem; font-weight:600; margin:0 0 10px; }
#bt-root .ar-badge { align-self:flex-start; font-size:.8125rem; font-weight:600; padding:5px 12px; border-radius:20px; margin:0 0 14px; }
#bt-root .ar-badge--ok { background:#E3F1E8; color:#1E6B3A; }
#bt-root .ar-badge--warn { background:#FFF1D6; color:#8A5A00; }
#bt-root .ar-type__text { font-size:1rem; line-height:1.6; color:var(--c-text-80); margin:0 0 18px; flex:1; }
#bt-root .ar-type__link { color:var(--c-primary); font-weight:600; text-decoration:none; }
#bt-root .ar-type__link:hover { text-decoration:underline; }

/* Projects */
#bt-root .ar-projects { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:21px; }
#bt-root .ar-pcard img { aspect-ratio:4/3; }
#bt-root .ar-pcard .sv-pcard__body { padding:22px 26px 26px; }
#bt-root .ar-pcard .sv-pcard__title { font-size:1.375rem; }
#bt-root .ar-pcard .sv-pcard__type { margin-bottom:0; font-size:1rem; }
#bt-root .ar-pcard__meta { display:block; font-size:.8125rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--c-primary); margin-bottom:6px; }
#bt-root .ar-more { margin:var(--space-6) 0 0; text-align:center; }

/* Planning */
#bt-root .ar-planning { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:clamp(24px,4vw,64px); align-items:start; }
#bt-root .ar-bars { list-style:none; margin:0 0 var(--space-6); padding:0; display:grid; gap:14px; }
#bt-root .ar-bars__label { display:block; font-weight:500; margin-bottom:6px; }
#bt-root .ar-bars__track { display:block; height:12px; background:var(--c-surface-alt); border-radius:6px; overflow:hidden; }
#bt-root .ar-bars__track span { display:block; height:100%; background:var(--c-primary); border-radius:6px; }
#bt-root .ar-chips { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
#bt-root .ar-chips li { padding:7px 14px; border-radius:20px; background:var(--c-primary-20); color:var(--c-primary); font-size:.9375rem; font-weight:500; }
#bt-root .ar-quote { margin:0; background:var(--c-surface-alt); border-radius:var(--r-l); padding:28px; }
#bt-root .ar-quote blockquote { margin:0 0 12px; }
#bt-root .ar-quote blockquote p { font-size:1.1875rem; line-height:1.6; color:var(--c-black); margin:0; }
#bt-root .ar-quote figcaption { font-size:.875rem; color:var(--c-text-60); margin-bottom:18px; }

/* Steps */
#bt-root .ar-steps { list-style:none; counter-reset:ar; margin:0 0 var(--space-7); padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
#bt-root .ar-steps li { counter-increment:ar; background:var(--c-surface-alt); border-radius:var(--r-l); padding:24px; }
#bt-root .ar-steps li::before { content:counter(ar); display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:var(--c-primary); color:#fff; font-weight:600; margin-bottom:14px; }
#bt-root .ar-steps h3 { font-size:1.1875rem; font-weight:600; margin:0 0 8px; }
#bt-root .ar-steps p { margin:0; font-size:.9375rem; line-height:1.6; color:var(--c-text-80); }
#bt-root .ar-cost-h { margin-top:var(--space-6); }

/* Tour */
#bt-root .ar-tour { background:var(--c-primary); border-radius:var(--r-pill); padding:clamp(32px,5vw,64px) clamp(24px,6vw,96px); color:#fff; }
#bt-root .ar-tour .ar-eyebrow { color:rgba(255,255,255,.8); }
#bt-root .ar-tour p { font-size:1.125rem; line-height:1.6; max-width:760px; margin:0 0 var(--space-6); }

/* Review */
#bt-root .ar-review blockquote { margin:0 0 var(--space-4); padding-left:22px; border-left:4px solid var(--c-star); }
#bt-root .ar-review blockquote p { font-size:1.375rem; line-height:1.55; color:var(--c-black); margin:0 0 8px; }
#bt-root .ar-review blockquote footer { font-size:.9375rem; color:var(--c-text-60); }
#bt-root .ar-review a { color:var(--c-primary); font-weight:600; }

/* Sticky mobile bar */
#bt-root .ar-sticky { display:none; }

@media (max-width:1100px) {
  #bt-root .ar-types, #bt-root .ar-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  #bt-root .ar-hero__card { grid-template-columns:1fr; border-radius:var(--r-xl); padding:28px 20px; }
  #bt-root .ar-hero__media { order:-1; min-height:0; aspect-ratio:4/3; border-radius:var(--r-m); }
  #bt-root .ar-hero__actions .bt-btn { width:100%; }
  #bt-root .ar-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  #bt-root .ar-stats dd { font-size:.8125rem; }
  #bt-root .ar-glance__grid, #bt-root .ar-planning { grid-template-columns:1fr; }
  #bt-root .ar-types, #bt-root .ar-projects { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; margin:0 -20px; padding:0 20px 6px; }
  #bt-root .ar-type, #bt-root .ar-pcard { flex:0 0 82%; scroll-snap-align:start; }
  #bt-root .ar-steps { grid-template-columns:1fr; }
  #bt-root .ar-tour { border-radius:var(--r-xl); }
  #bt-root .ar-tour .bt-btn { width:100%; }
  #bt-root .ar-sticky { display:flex; gap:10px; position:fixed; left:0; right:0; bottom:0; z-index:50; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -6px 20px rgba(0,0,0,.08); }
  #bt-root .ar-sticky .bt-btn { flex:1; min-height:52px; justify-content:center; }
  #bt-root .ar-sticky .bt-btn--outline { flex:0 0 32%; }
  body:has(.bt-area) { padding-bottom:76px; }
}
