/* SAS INSTITUTIONS - FACILITIES PAGE */

.facilities-page__breadcrumb { background: var(--off-white); border-bottom: 1px solid var(--border); padding: 14px 0; }
.facilities-page__breadcrumb .container { display: flex; align-items: center; gap: 10px; }
.facilities-page__breadcrumb a, .facilities-page__breadcrumb span { color: var(--text-muted); font-size: .82rem; }
.facilities-page__breadcrumb a { color: var(--navy); }

.facilities-hero { background: linear-gradient(115deg, #eef9fa 0%, #fff 58%, #f6f1e7 100%); padding: clamp(40px, 5vw, 70px) 0; overflow: hidden; }
.facilities-hero__inner { display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); gap: clamp(40px, 7vw, 100px); align-items: center; }
.facilities-hero__copy { max-width: 610px; }
.facilities-hero h1 { color: var(--navy-deep); font-family: var(--font-heading); font-size: clamp(2.7rem, 5.4vw, 5.1rem); line-height: 1.04; font-weight: 800; letter-spacing: -.035em; margin-bottom: 26px; }
.facilities-hero__lead { color: var(--text-muted); font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.8; max-width: 570px; }
.facilities-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.facilities-hero__visual { position: relative; min-height: 440px; }
.facilities-hero__visual::before { content: ''; position: absolute; inset: 20px -22px -20px 22px; border: 1px solid var(--gold); opacity: .55; }
.facilities-hero__visual img { position: relative; width: 100%; height: 440px; object-fit: cover; border-radius: var(--radius-sm); box-shadow: 18px 20px 0 rgba(7,84,99,.1); }
.facilities-hero__caption { position: absolute; right: -12px; bottom: 28px; display: flex; align-items: center; gap: 12px; background: var(--navy-deep); color: var(--white); padding: 16px 20px; font-size: .78rem; line-height: 1.45; letter-spacing: .04em; }
.facilities-hero__caption-number { color: var(--gold-light); font-family: var(--font-heading); font-size: 1.6rem; font-weight: 800; }

.facilities-principles { background: var(--navy); color: var(--white); padding: clamp(30px, 4vw, 50px) 0; }
.facilities-principles__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 42px; }
.facilities-principles__grid > div { border-left: 1px solid rgba(255,255,255,.24); padding-left: 22px; }
.facilities-principles__number { color: var(--gold-light); font-size: .75rem; font-weight: 700; letter-spacing: .15em; }
.facilities-principles h2 { font: 700 1.15rem/1.3 var(--font-heading); margin: 10px 0 8px; }
.facilities-principles p { color: rgba(255,255,255,.7); font-size: .9rem; line-height: 1.65; max-width: 300px; }

.facility-groups { padding: var(--section-v) 0; background: var(--white); }
.facility-groups__header { max-width: 700px; margin-bottom: 60px; }
.facility-groups__header h2 { color: var(--navy-deep); font: 700 clamp(2rem, 4vw, 3.4rem)/1.1 var(--font-heading); letter-spacing: -.025em; margin-bottom: 18px; }
.facility-groups__header > p:last-child { color: var(--text-muted); font-size: 1.05rem; line-height: 1.75; }
.facility-groups__list { display: grid; gap: 70px; }
.facility-group { display: grid; grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); gap: clamp(32px, 7vw, 110px); padding-top: 35px; border-top: 1px solid var(--border); }
.facility-group__number { display: block; color: var(--gold); font: 800 clamp(2.3rem, 5vw, 4rem)/1 var(--font-heading); margin-bottom: 24px; }
.facility-group__intro h3 { color: var(--navy); font: 700 clamp(1.45rem, 2.5vw, 2.15rem)/1.2 var(--font-heading); margin: 14px 0 16px; }
.facility-group__intro > p:last-child { color: var(--text-muted); line-height: 1.75; }
.facility-group__items { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.facility-card { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: start; min-height: 150px; padding: 22px 18px; background: var(--off-white); border: 1px solid transparent; transition: transform .25s var(--ease-out), border-color .25s ease, background .25s ease; }
.facility-card:hover { transform: translateY(-4px); border-color: var(--gold-light); background: #fff; }
.facility-card__index { color: var(--gold); font-size: .7rem; font-weight: 700; letter-spacing: .1em; }
.facility-card h4 { color: var(--navy-deep); font: 700 1rem/1.35 var(--font-heading); margin-bottom: 8px; }
.facility-card p { color: var(--text-muted); font-size: .83rem; line-height: 1.6; }
.facility-card__arrow { color: var(--gold); font-size: 1.15rem; }

.facilities-cta { background: var(--navy-deep); color: var(--white); padding: clamp(40px, 5vw, 70px) 0; }
.facilities-cta__inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: end; }
.facilities-cta h2 { max-width: 700px; font: 700 clamp(2rem, 4vw, 3.6rem)/1.12 var(--font-heading); letter-spacing: -.025em; }
.facilities-cta__inner > div:last-child p { color: rgba(255,255,255,.7); line-height: 1.75; margin-bottom: 24px; }

@media (max-width: 900px) {
    .facilities-hero__inner, .facility-group, .facilities-cta__inner { grid-template-columns: 1fr; }
    .facilities-hero__visual { max-width: 680px; width: 100%; margin: 0 auto; }
    .facilities-principles__grid { gap: 24px; }
}
@media (max-width: 600px) {
    .facilities-hero__visual, .facilities-hero__visual img { min-height: 300px; height: 300px; }
    .facilities-hero__visual::before { inset: 12px -10px -12px 10px; }
    .facilities-hero__caption { right: 0; bottom: 18px; padding: 12px 14px; }
    .facilities-principles__grid { grid-template-columns: 1fr; gap: 28px; }
    .facility-group__items { grid-template-columns: 1fr; }
    .facility-card { min-height: 120px; }
    .facilities-cta__inner { gap: 28px; }
}