/* Main-page follow-up, 2026-10-08: education photos, notice list and address card. */
body.academy-home .academy-story .academy-story__grid {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:36px;
}
body.academy-home .academy-story .academy-story__media {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
body.academy-home .academy-story .academy-story__shot img {
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-radius:16px;
}
body.academy-home .academy-story .academy-story__shot--practice img { object-position:50% 43%; }
body.academy-home .academy-story .academy-story__shot figcaption {
  font-size:18px !important;
  line-height:1.5;
}
body.academy-home .academy-story__copy {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  gap:48px;
  min-width:0;
}
body.academy-home .academy-story__intro { min-width:0; }
body.academy-home .academy-story__intro > p:not(.academy-kicker) {
  margin:24px 0 0;
  color:var(--academy-muted);
  font-size:16px;
  line-height:1.8;
}
body.academy-home .academy-story__intro > .academy-text-link { margin-top:24px; }
body.academy-home .academy-story__copy .academy-steps { margin:0; }

body.academy-home .academy-notice-list .home-notice-item {
  min-height:64px;
  grid-template-columns:52px minmax(0,1fr) max-content 28px;
  gap:16px;
  padding:16px 8px;
}
body.academy-home .academy-notice-list .home-notice-item strong {
  display:block;
  overflow:visible;
  white-space:normal;
  text-overflow:clip;
  word-break:keep-all;
  overflow-wrap:anywhere;
  font-size:18px;
  font-weight:600;
  line-height:1.5;
}
body.academy-home .academy-notice-list .home-notice-item time {
  display:block;
  grid-column:auto;
  grid-row:auto;
  font-size:14px;
  line-height:1.5;
  white-space:nowrap;
  text-align:right;
}
body.academy-home .academy-notice-list :is(.home-notice-badge,.home-notice-number) { font-size:12px; }
body.academy-home .academy-notice-list .home-notice-item:focus-visible {
  outline:2px solid var(--academy-pink);
  outline-offset:3px;
}

body.academy-home .academy-contact__info--photo {
  min-width:0;
  padding:0;
  overflow:hidden;
}
body.academy-home .academy-contact__photo {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:cover;
  object-position:50% 73%;
}
body.academy-home .academy-contact__details { padding:30px 38px 36px; }
body.academy-home .academy-contact__details > a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:20px;
  border-top:1px solid var(--academy-line);
  color:var(--academy-ink);
  font-size:13px;
  font-weight:800;
}
body.academy-home .academy-contact__details > a span {
  display:grid;
  width:34px;
  height:34px;
  flex-shrink:0;
  place-items:center;
  border-radius:50%;
  background:var(--academy-pink);
  color:#fff;
}
@media (max-width:1023px) {
  body.academy-home .academy-story .academy-story__media,
  body.academy-home .academy-story__copy { grid-template-columns:minmax(0,1fr); }
  body.academy-home .academy-story .academy-story__media { row-gap:24px; }
  body.academy-home .academy-story__copy { gap:28px; }
}
@media (max-width:760px) {
  body.academy-home .academy-story__intro > p:not(.academy-kicker) { font-size:14px; }
  body.academy-home .academy-contact__details { padding:24px; }
}
@media (max-width:600px) {
  body.academy-home .academy-notice-list .home-notice-item {
    grid-template-columns:46px minmax(0,1fr) 24px;
    column-gap:10px;
    row-gap:6px;
    padding:16px 0;
  }
  body.academy-home .academy-notice-list .home-notice-item > :is(.home-notice-badge,.home-notice-number) {
    grid-column:1;
    grid-row:1;
    align-self:start;
    margin-top:1px;
  }
  body.academy-home .academy-notice-list .home-notice-item strong { grid-column:2; grid-row:1; }
  body.academy-home .academy-notice-list .home-notice-item time { grid-column:2; grid-row:2; text-align:left; }
  body.academy-home .academy-notice-list .home-notice-item i { grid-column:3; grid-row:1; align-self:start; }
}

/* Leave the existing fixed quick menu clear of the three edited sections. */
@media (min-width:1200px) {
  body.academy-home.has-hospital-floating-menu :is(.academy-story__grid,.academy-notices__grid,.academy-contact__grid) { padding-right:104px; }
}

/* Tablet cards need their own row before the mobile breakpoint. */
body.academy-home .academy-contact__grid { gap:clamp(32px,4vw,64px); }
@media (max-width:1199px) {
  body.academy-home .academy-contact__grid,
  body.academy-home .academy-notices__grid {
    grid-template-columns:minmax(0,1fr);
    gap:32px;
  }
  body.academy-home .academy-contact__details { padding:28px; }
}
@media (min-width:761px) and (max-width:1199px) {
  body.academy-home.has-hospital-floating-menu { padding-bottom:96px; }
  body.academy-home .hospital-floating-menu,
  body.academy-home .hospital-floating-menu[data-side="left"] {
    top:auto;
    bottom:max(10px,env(safe-area-inset-bottom));
    left:50%;
    right:auto;
    transform:translateX(-50%);
    width:min(680px,calc(100% - 32px));
    max-height:110px;
    padding:5px;
    flex-direction:row;
    overflow-x:auto;
    overflow-y:hidden;
    border-radius:20px;
  }
  body.academy-home .hospital-floating-menu__item {
    min-width:0;
    min-height:62px;
    flex:1 0 0;
    padding:7px 8px;
    gap:3px;
    border-radius:15px;
  }
  body.academy-home .hospital-floating-menu__icon { width:24px; height:24px; }
  body.academy-home .hospital-floating-menu__artwork { max-height:72px; }
}
