/* Local photo review, 2026-10-17. Originals remain intact; framing is presentation-only. */
.hero-slide--academy-photo img {
    object-position: 50% 64%;
    filter: brightness(1.10) saturate(.94) contrast(.98);
}
.facility-review .hero-visual {
    border: 7px solid #fff;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(30,36,40,.08);
}
.facility-review .hero-visual img { object-position: 50% 55%; }
.facility-feature {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    align-items: stretch;
    gap: 32px;
}
.facility-photo {
    margin: 0;
    min-width: 0;
    padding: 5px;
    border: 1px solid #deded4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(30,36,40,.025);
}
.facility-frame {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    background: #eeeae2;
}
.facility-frame > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.90) contrast(.97) brightness(1.03) sepia(.05);
}
.facility-classroom-frame { width:100%; aspect-ratio:16 / 9; max-height:290px; }
.facility-classroom-frame img { object-position: 50% 70%; }
.facility-photo figcaption { padding: 14px 10px 10px; }
.facility-photo figcaption strong { display:block; font-size:17px; color:var(--ink,#243e31); }
.facility-photo figcaption span { display:block; margin-top:6px; font-size:14px; line-height:1.7; color:var(--muted,#5c6b61); }
.facility-feature-copy { display:flex; flex-direction:column; justify-content:center; padding:24px 30px; border:1px solid #deded4; border-radius:16px; background:#fffdf9; }
.facility-feature-copy .label { font-size:12px; letter-spacing:.035em; margin:0 0 12px; }
.facility-feature-copy h3 { margin:0 0 14px; font-size:clamp(23px,2.1vw,28px); line-height:1.5; letter-spacing:-.035em; }
.facility-feature-copy p { margin:0; color:var(--muted,#5c6b61); font-size:15px; line-height:1.85; }
.facility-feature-copy a { display:inline-block; margin-top:12px; color:var(--green-deep,#245b43); font-weight:700; text-underline-offset:5px; }
.facility-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; align-items:stretch; }
.facility-lobby-frame { aspect-ratio: 4 / 3; }
.facility-lobby-frame > img {
    position:absolute; width:218.182%; height:auto; max-width:none;
    top:-48.485%; left:-6.061%; object-fit:initial;
}
.facility-corridor-frame { aspect-ratio:4 / 3; }
.facility-corridor-frame > img {
    position:absolute; width:105.882%; height:auto; max-width:none;
    top:-103.268%; left:-2.941%; object-fit:initial;
}
.facility-teacher-frame { aspect-ratio:4 / 3; }
.facility-teacher-frame img { object-position:48% 46%; filter:saturate(.86) contrast(.96) brightness(1.06) sepia(.05); }
.consult-photo-review .hero-card {
    align-self:start;
    grid-template-rows:auto auto;
    padding:7px 7px 0;
    border:1px solid #d7ddd4;
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 28px rgba(30,36,40,.065);
}
.consult-photo-review .hero-card img {
    display:block;
    width:100%; height:auto; aspect-ratio: 6 / 5;
    border-radius:10px 10px 0 0;
    object-fit:cover; object-position:50% 61%;
    filter:brightness(1.12) saturate(.94) contrast(.98);
}
.consult-photo-review .hero-card-copy { margin:0 -7px; }
@media (max-width:760px) {
    .hero-slide--academy-photo img { object-position:62% 62%; }
    .facility-feature { grid-template-columns:minmax(0,1fr); gap:22px; }
    .facility-classroom-frame { aspect-ratio: 4 / 3; max-height:260px; }
    .facility-feature-copy { padding:22px 20px; }
    .facility-gallery { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:24px; }
    .facility-photo { padding:6px; border-radius:14px; }
    .facility-photo figcaption { padding:12px 10px 10px; }
    .facility-review .hero-visual { border-width:6px; }
    .consult-photo-review .hero-card img { aspect-ratio: 6 / 5; }
}

/* Learning-system section rhythm and management balance. */
.facility-review #management { padding:52px 0; }
.facility-review #spaces { padding:48px 0 40px; }
.facility-review #study-cafe { padding:44px 0 48px; }
.facility-review #class-stories,
.facility-review #course-consult { padding:52px 0; }
.facility-review #management .flow-shell {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    align-items:stretch;
}
.facility-review #management .flow-card {
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:6px;
    padding:22px;
    box-shadow:0 6px 20px rgba(30,36,40,.035);
}
.facility-review #management .flow-card strong { margin:0; }
.facility-review #management .visual-copy {
    padding:24px;
    gap:18px;
    grid-template-rows:auto minmax(0,1fr);
    box-shadow:0 6px 20px rgba(30,36,40,.035);
}
.facility-review #management .visual-mock {
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    gap:10px;
    grid-template-rows:repeat(4,minmax(0,1fr));
}
.facility-review #management .flow-card p { word-break:keep-all; font-size:15px; line-height:1.75; }
.facility-review #management .mock-row { grid-template-columns:58px minmax(0,1fr); gap:12px; }
.facility-review #management .mock-chip { margin-top:10px; }
.facility-review #management .mock-box { display:flex; flex-direction:column; justify-content:center; padding:10px 14px; font-size:14px; line-height:1.65; word-break:keep-all; }
.facility-review #management .mock-box strong { margin-bottom:3px; }
.facility-review #management > .wrap > .manage-list {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid var(--line);
    font-size:14px;
}
@media (max-width:920px) {
    .facility-review #management .flow-shell { grid-template-columns:minmax(0,1fr); }
    .facility-review #management > .wrap > .manage-list { grid-template-columns:minmax(0,1fr); gap:10px; }
}
@media (max-width:640px) {
    .facility-review #management,
    .facility-review #spaces,
    .facility-review #study-cafe,
    .facility-review #class-stories,
    .facility-review #course-consult { padding:36px 0; }
    .facility-review #management .flow-card { padding:20px; }
    .facility-review #management .visual-copy { padding:20px 18px; }
    .facility-review #management .mock-row { grid-template-columns:48px minmax(0,1fr); gap:8px; }
    .facility-review #management .mock-chip { padding:0 6px; }
}
