/* Bangalore Metro study — page-specific graphics. Reuses project-study.css.
   Diagrams stay complete without JS/motion; animations only enhance. */

.bangalore-study h1 { font-size:clamp(34px,3.2vw,52px); }
.bangalore-study .study-lead { font-size:clamp(18px,1.5vw,23px); }
.bangalore-study main p a { text-decoration:underline; text-underline-offset:3px; }

/* Hero figure holds an SVG cross-section instead of a photo */
.bangalore-study .bmrcl-hero-figure { margin:0; }
.bangalore-study .bmrcl-hero-figure svg { display:block; width:100%; height:auto; background:#f5f8fb; border:1px solid #dedede; }

/* ── At-a-glance snapshot (icon tiles) ── */
.bangalore-study .bmrcl-snapshot-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:18px 0 0; padding:0; list-style:none; }
.bangalore-study .bmrcl-snap { display:flex; gap:13px; align-items:flex-start; background:#fff; border:1px solid #dedede; border-radius:4px; padding:15px 16px; min-width:0; }
.bangalore-study .bmrcl-snap svg { flex:0 0 28px; width:28px; height:28px; fill:none; stroke:#b95500; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; margin-top:2px; }
.bangalore-study .bmrcl-snap dt { font-size:10.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#8a8a8a; margin:0 0 4px; }
.bangalore-study .bmrcl-snap dd { margin:0; font-size:15px; font-weight:650; color:#171717; line-height:1.3; }
.bangalore-study .bmrcl-snap dd span { display:block; font-size:12px; font-weight:400; color:#626262; margin-top:3px; line-height:1.45; }

/* ── EN 13030 certification panel ── */
.bangalore-study .bmrcl-cert { margin:26px 0 0; padding:26px; background:#f5f5f5; border:1px solid #e2e2e2; }
.bangalore-study .bmrcl-cert-head { display:flex; align-items:center; gap:14px; margin:0 0 20px; }
.bangalore-study .bmrcl-cert-head svg { flex:0 0 40px; width:40px; height:40px; fill:none; stroke:#b95500; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.bangalore-study .bmrcl-cert-head h3 { margin:0; font-size:19px; font-weight:700; }
.bangalore-study .bmrcl-cert-head p { margin:3px 0 0; font-size:13px; }
.bangalore-study .bmrcl-cert-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.bangalore-study .bmrcl-cert-card { background:#fff; border:1px solid #dedede; border-radius:4px; padding:18px; }
.bangalore-study .bmrcl-cert-card .bmrcl-cc-label { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#8a8a8a; margin:0 0 8px; }
.bangalore-study .bmrcl-cert-card .bmrcl-cc-value { font-size:22px; font-weight:750; color:#171717; line-height:1.1; margin:0; }
.bangalore-study .bmrcl-cert-card .bmrcl-cc-value em { font-style:normal; color:#1f9d57; }
.bangalore-study .bmrcl-cert-card p { font-size:12.5px; margin:8px 0 0; line-height:1.5; }
/* Class A–D scale */
.bangalore-study .bmrcl-scale { display:flex; gap:5px; margin:12px 0 0; }
.bangalore-study .bmrcl-scale span { flex:1; text-align:center; font-size:12px; font-weight:700; padding:6px 0; border-radius:3px; background:#eaeaea; color:#9a9a9a; }
.bangalore-study .bmrcl-scale span.is-achieved { background:#1f9d57; color:#fff; }
.bangalore-study .bmrcl-scale-note { font-size:11px; color:#8a8a8a; margin:7px 0 0; }
.bangalore-study .bmrcl-cc-check { display:inline-flex; align-items:center; gap:7px; color:#1f9d57; font-weight:700; font-size:14px; margin-top:4px; }
.bangalore-study .bmrcl-cc-check svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }

/* ── Generic diagram figure wrapper ── */
.bangalore-study .bmrcl-figure { margin:24px 0 0; background:#fff; border:1px solid #dedede; }
.bangalore-study .bmrcl-figure svg { display:block; width:100%; height:auto; padding:22px 20px 6px; overflow:visible; }
.bangalore-study .bmrcl-figure figcaption { padding:11px 16px; background:#f5f5f5; color:#525252; font-size:12px; line-height:1.5; border-top:1px solid #ededed; }
.bangalore-study .bmrcl-figure svg text { font-family:inherit; fill:#525252; }
.bangalore-study .bmrcl-figure .lbl { font-size:12px; font-weight:600; }
.bangalore-study .bmrcl-figure .lbl-sm { font-size:10.5px; }
/* Diagram element classes */
.bangalore-study .d-ground { fill:#e7ecf1; stroke:#b9c4cf; stroke-width:1.5; }
.bangalore-study .d-structure { fill:#f5f5f5; stroke:#737373; stroke-width:2; }
.bangalore-study .d-shaft { fill:#fff; stroke:#737373; stroke-width:2; }
.bangalore-study .d-louver { fill:#ef7f1b; stroke:#b95500; stroke-width:1; }
.bangalore-study .d-supply { fill:none; stroke:#2a7fb0; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }
.bangalore-study .d-exhaust { fill:none; stroke:#8a6a4a; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }
.bangalore-study .d-rain { fill:none; stroke:#2a7fb0; stroke-width:2; stroke-linecap:round; }
.bangalore-study .d-fill-supply { fill:#2a7fb0; }
.bangalore-study .d-fill-exhaust { fill:#8a6a4a; }
.bangalore-study .d-train { fill:#363636; stroke:#171717; stroke-width:1; }

/* Two-up diagram row */
.bangalore-study .bmrcl-two { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:24px; }
.bangalore-study .bmrcl-two .bmrcl-figure { margin-top:0; }

/* Legend chips */
.bangalore-study .bmrcl-legend { display:flex; flex-wrap:wrap; gap:8px 22px; margin:16px 0 0; padding:0; list-style:none; font-size:13px; color:#525252; }
.bangalore-study .bmrcl-legend li { display:flex; align-items:center; gap:8px; }
.bangalore-study .bmrcl-legend .sw { width:14px; height:14px; border-radius:3px; flex:0 0 14px; }
.bangalore-study .bmrcl-legend .sw-louver { background:#ef7f1b; }
.bangalore-study .bmrcl-legend .sw-supply { background:#2a7fb0; }
.bangalore-study .bmrcl-legend .sw-exhaust { background:#8a6a4a; }

/* ── Six-station line ── */
.bangalore-study .bmrcl-stations { margin:20px 0 0; }
.bangalore-study .bmrcl-stations svg { display:block; width:100%; height:auto; overflow:visible; }
.bangalore-study .bmrcl-line { fill:none; stroke:#ef7f1b; stroke-width:5; stroke-linecap:round; }
.bangalore-study .bmrcl-node { fill:#fff; stroke:#171717; stroke-width:2.5; }
.bangalore-study .bmrcl-stations text { font-family:inherit; fill:#171717; }
.bangalore-study .bmrcl-stations .st-name { font-size:12px; font-weight:650; }
.bangalore-study .bmrcl-stations .st-sub { font-size:10.5px; fill:#8a8a8a; }

/* Section-nav icons */
.bangalore-study .study-nav a { display:inline-flex; align-items:center; gap:8px; }
.bangalore-study .study-nav svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; opacity:.65; flex:0 0 16px; }
.bangalore-study .study-nav a[aria-current] svg { opacity:1; stroke:#ef7f1b; }

/* ── Advantages grid ── */
.bangalore-study .bmrcl-adv { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:22px 0 0; padding:0; list-style:none; }
.bangalore-study .bmrcl-adv li { background:#fff; border:1px solid #dedede; border-radius:4px; padding:18px; }
.bangalore-study .bmrcl-adv svg { width:30px; height:30px; fill:none; stroke:#b95500; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; margin-bottom:10px; }
.bangalore-study .bmrcl-adv h4 { font-size:15px; font-weight:650; margin:0 0 6px; }
.bangalore-study .bmrcl-adv p { font-size:13px; line-height:1.55; }

/* ── Photo slots (Both: SVG now, images later) ── */
.bangalore-study .bmrcl-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:26px; }
.bangalore-study .bmrcl-slot { aspect-ratio:16/10; background:#f0f0f0; border:1px dashed #c4c4c4; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; padding:24px; color:#8a8a8a; }
.bangalore-study .bmrcl-slot svg { width:44px; height:44px; fill:none; stroke:#b0b0b0; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.bangalore-study .bmrcl-slot span { font-size:13px; line-height:1.5; max-width:34ch; }
.bangalore-study .bmrcl-gallery figcaption { padding:11px 16px; background:#f5f5f5; color:#525252; font-size:12px; line-height:1.5; }
.bangalore-study .bmrcl-gallery figure { margin:0; }

/* ── Status banner ── */
.bangalore-study .bmrcl-status-tag { display:inline-flex; align-items:center; gap:8px; background:#fff2e7; color:#b95500; border:1px solid #f3cfa6; font-size:12.5px; font-weight:650; padding:6px 13px; border-radius:100px; }
.bangalore-study .bmrcl-status-tag::before { content:""; width:8px; height:8px; border-radius:50%; background:#ef7f1b; }

/* Entrance animation (progressive) */
@media screen and (prefers-reduced-motion:no-preference) {
  .bangalore-study [data-study-graphic] .d-supply,
  .bangalore-study [data-study-graphic] .d-exhaust { stroke-dasharray:6 6; }
  .bangalore-study [data-study-graphic].is-illustrating .d-supply { animation:bmrcl-flow 1.6s linear 2; }
  .bangalore-study [data-study-graphic].is-illustrating .d-exhaust { animation:bmrcl-flow 1.6s linear 2; }
  .bangalore-study [data-study-graphic].is-illustrating .d-louver { animation:bmrcl-fade 1.2s ease-out 1; }
}
@keyframes bmrcl-flow { to { stroke-dashoffset:-24; } }
@keyframes bmrcl-fade { from { opacity:.4; } to { opacity:1; } }

/* ── Responsive ── */
@media(max-width:980px) {
  .bangalore-study .bmrcl-snapshot-grid { grid-template-columns:1fr 1fr; }
  .bangalore-study .bmrcl-cert-cards { grid-template-columns:1fr; }
  .bangalore-study .bmrcl-adv { grid-template-columns:1fr 1fr; }
}
@media(max-width:767px) {
  .bangalore-study .bmrcl-snapshot-grid { grid-template-columns:1fr; gap:10px; }
  .bangalore-study .bmrcl-two { grid-template-columns:1fr; }
  .bangalore-study .bmrcl-adv { grid-template-columns:1fr; }
  .bangalore-study .bmrcl-gallery { grid-template-columns:1fr; }
  .bangalore-study .study-nav svg { display:none; }
}

/* ── Print ── */
@page bmrcl { size:A4 portrait; margin:14mm; }
@media print {
  html:has(.bangalore-study), body.bangalore-study { margin:0!important; padding:0!important; }
  .bangalore-study { page:bmrcl; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .bangalore-study *, .bangalore-study *::before, .bangalore-study *::after { animation:none!important; transition:none!important; }
  .bangalore-study .study-nav, .bangalore-study .bmrcl-slot { display:none!important; }
  .bangalore-study .bmrcl-snapshot-grid { grid-template-columns:repeat(4,1fr); gap:2.5mm; }
  .bangalore-study .bmrcl-snap { padding:2mm; gap:2mm; break-inside:avoid; }
  .bangalore-study .bmrcl-snap svg { flex-basis:5mm; width:5mm; height:5mm; }
  .bangalore-study .bmrcl-snap dt { font-size:6pt; }
  .bangalore-study .bmrcl-snap dd { font-size:8pt; }
  .bangalore-study .bmrcl-snap dd span { font-size:6.5pt; }
  .bangalore-study .bmrcl-cert, .bangalore-study .bmrcl-figure, .bangalore-study .bmrcl-two, .bangalore-study .bmrcl-stations, .bangalore-study .bmrcl-adv li { break-inside:avoid; }
  .bangalore-study .bmrcl-cert-cards { grid-template-columns:repeat(3,1fr); gap:3mm; }
  .bangalore-study .bmrcl-adv { grid-template-columns:repeat(3,1fr); gap:3mm; }
  .bangalore-study .study-section { padding:7mm 0; }
}
