/* ── Campus overview ── */
    .campus-overview{padding:88px 0;background:var(--surface)}
    .campus-overview-inner{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
    .campus-overview-img{position:relative;border-radius:20px;overflow:hidden;box-shadow:var(--sh-lg)}
    .campus-overview-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
    .campus-badge{position:absolute;bottom:-16px;left:-16px;background:var(--gradient);border-radius:14px;padding:18px 22px;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:0 12px 32px rgba(6,61,147,.3)}
    .campus-badge-num{font-family:var(--font-d);font-size:2rem;font-weight:700;color:#fff;line-height:1}
    .campus-badge-lbl{font-size:10.5px;font-weight:500;color:rgba(255,255,255,.8);text-align:center}
    .campus-overview-body{font-size:15px;color:var(--muted);line-height:1.8;margin-top:16px}
    .campus-overview-body p+p{margin-top:14px}
    .campus-overview-inner .sec-label{text-align:left}
    .campus-overview-inner .sec-label::after{left:0;transform:none}
    .campus-overview-inner .sec-title{text-align:left;white-space:normal}
    @media(max-width:900px){.campus-overview-inner{grid-template-columns:1fr;gap:36px}.campus-badge{left:auto;right:16px}}
    @media(max-width:768px){
      .campus-overview-inner .sec-label{text-align:center;display:block;width:fit-content;margin:0 auto}
      .campus-overview-inner .sec-label::after{left:50%;transform:translateX(-50%)}
      .campus-overview-inner .sec-title{text-align:center}
      .campus-overview-body{text-align:center}
    }

    /* ── Facility cards ── */
    .facilities-section{padding:96px 0;background:var(--ground)}
    .facilities-header{text-align:center;margin-bottom:72px}
    .facility{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;border-radius:24px;overflow:hidden;box-shadow:var(--sh-md);margin-bottom:40px;background:var(--surface)}
    .facility:last-child{margin-bottom:0}
    .facility.reverse .facility-img{order:2}
    .facility.reverse .facility-body{order:1}
    .facility-img{position:relative;overflow:hidden;min-height:340px}
    .facility-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;display:block}
    .facility:hover .facility-img img{transform:scale(1.04)}
    .facility-img-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(14,27,46,.35),transparent)}
    .facility-icon{position:absolute;bottom:20px;left:20px;width:52px;height:52px;border-radius:14px;background:var(--gradient);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.25)}
    .facility-icon i{font-size:26px;color:#fff}
    .facility-body{padding:44px 44px;display:flex;flex-direction:column;justify-content:center}
    .facility-num{font-family:var(--font-d);font-size:4rem;font-weight:700;line-height:1;background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.15;margin-bottom:-20px;pointer-events:none;user-select:none}
    .facility-name{font-family:var(--font-d);font-size:1.7rem;font-weight:700;color:var(--ink);margin-bottom:16px;line-height:1.2}
    .facility-desc{font-size:14.5px;color:var(--muted);line-height:1.8}
    .facility-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
    .facility-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ink2);background:var(--ground);border:1px solid var(--border);border-radius:50px;padding:5px 13px}
    .facility-tag i{font-size:13px;background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
    @media(max-width:900px){.facility,.facility.reverse{grid-template-columns:1fr}.facility.reverse .facility-img{order:0}.facility.reverse .facility-body{order:0}.facility-body{padding:28px 24px}.facility-img{min-height:220px}}

    /* ── Safety stats strip ── */
    .safety-strip{background:var(--ink);padding:64px 48px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;max-width:1280px;margin:0 auto}
    .safety-stat{text-align:center}
    .safety-stat-icon{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
    .safety-stat-icon i{font-size:24px;background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
    .safety-stat-val{font-family:var(--font-d);font-size:1.9rem;font-weight:700;color:#fff;line-height:1;margin-bottom:6px}
    .safety-stat-lbl{font-size:12px;color:rgba(255,255,255,.55);line-height:1.5}
    @media(max-width:768px){.safety-strip{grid-template-columns:repeat(2,1fr);gap:24px;padding:44px 20px}}

    /* ── FAQ section ── */
    .faq-section{padding:88px 0;background:var(--surface)}