/* Kyoto CREA: open, bright club identity. Shared across the existing pages. */
:root {
  --color-navy: #18334f;
  --color-navy-deep: #153b72;
  --color-blue: #175bd1;
  --color-blue-bright: #2775ec;
  --color-blue-light: #dcecff;
  --color-ink: #20344b;
  --color-muted: #566578;
  --color-cloud: #f4f8fc;
  --color-mist: #dee6ed;
  --radius-button: 999px;
  --shadow-soft: 0 12px 28px rgb(34 70 116 / .06);
}
.multi-page { background: #fff; }
.multi-page .organization-line { background: #f2f7fc; color: #466079; padding-block: 5px; }
.multi-page .organization-line span { color: #596d81; }
.multi-page .portal-header { box-shadow: none; border-bottom: 1px solid #e5ecf2; }
.multi-page .portal-header__brandrow { min-height: 88px; }
.multi-page .brand__name { color: #175bd1; letter-spacing: -.04em; font-size: 1.8rem; }
.multi-page .brand__team { font-weight: 600; letter-spacing: .12em; }
.multi-page .portal-utility a { font-weight: 600; }
.multi-page .portal-utility .portal-trial { background: #175bd1; border-radius: 999px; padding: 12px 20px; }
.multi-page .page-tabs { border-top: 0; }
.multi-page .page-tabs a { font-weight: 700; border-bottom-width: 3px; }
.multi-page .page-tabs a[aria-current="page"] { background: transparent; border-bottom-color: #f04f95; color: #175bd1; }
.multi-page .page-tabs a:hover { background: #f4f8fc; border-bottom-color: #99bdf2; }
.multi-page .section { padding-block: 68px; }
.multi-page .section-title { letter-spacing: -.025em; font-size: clamp(1.7rem,3vw,2.35rem); }
.multi-page .section-kicker { font-weight: 700; font-size: .66rem; letter-spacing: .13em; }
.multi-page .section-lead { line-height: 1.95; }
.multi-page .button { border-radius: 999px; box-shadow: none; padding: 13px 23px; font-weight: 700; }
.multi-page .button--primary, .multi-page .button--blue { background: #175bd1; border-color: #175bd1; color: #fff; }
.multi-page .button--primary:hover, .multi-page .button--blue:hover { background: #104bb6; }
.multi-page .button--secondary, .multi-page .button--outline { color: #175bd1; border-color: #bbcde5; background: #fff; }
.multi-page .hero { background: #f8fbff; color: #18334f; overflow: hidden; }
.multi-page .hero::before, .multi-page .hero::after { display: none; }
.multi-page .hero__inner { display: grid; grid-template-columns: 1fr 1.02fr; gap: 42px; padding-block: 48px 60px; align-items: center; }
.multi-page .hero__copy { max-width: none; min-width: 0; }
.multi-page .hero h1, .multi-page .hero__category, .multi-page .hero__lead { text-shadow: none; }
.multi-page .hero__topline { gap: 9px 14px; margin-bottom: 25px; }
.multi-page .hero__category { color: #466079; font-weight: 700; font-size: .75rem; letter-spacing: .01em; }
.multi-page .hero__category::before { height: 1.1em; transform: skew(-18deg); }
.multi-page .hero__reading { color: #566578; font-size: .78rem; }
.multi-page .status-pill { background: #edf4ff; border: 1px solid #b7cef0; color: #175bd1; font-size: .7rem; font-weight: 700; }
.multi-page .status-pill::before { background: #f04f95; }
.multi-page .hero__team-name { font-family: Arial, sans-serif; font-size: clamp(3.3rem,6.1vw,5.3rem); color: #175bd1; letter-spacing: -.065em; font-weight: 900; white-space: nowrap; line-height: 1.05; }
.multi-page .hero__tagline { color: #18334f; font-size: clamp(1.2rem,1.8vw,1.5rem); letter-spacing: -.055em; line-height: 1.55; margin-top: 24px; }
.multi-page .hero__accent { color: #18334f; font-size: 1.32em; margin-top: 4px; }
.multi-page .hero__lead { color: #4d5e71; font-size: .92rem; line-height: 1.95; margin-top: 22px; }
.multi-page .hero__invitation { color: #18334f; font-size: .94rem; margin-top: 18px; }
.multi-page .hero__actions { gap: 10px; margin-top: 24px; }
.multi-page .hero__actions .button { font-size: .83rem; padding: 12px 19px; }
.hero__visual { position: relative; min-width: 0; margin: 0; align-self: stretch; padding: 14px 0 24px; }
.hero__visual::before { content: ''; position: absolute; inset: 0 -20px 40px 30px; background: #dfedff; border-radius: 70px 6px 6px 6px; transform: rotate(3deg); }
.hero__visual img { width: 100%; height: 100%; min-height: 450px; max-height: 570px; object-fit: cover; object-position: 57% 54%; position: relative; border-radius: 62px 6px 62px 6px; }
.hero__visual figcaption { position: absolute; bottom: 6px; left: 20px; color: #175bd1; background: #fff; border-left: 3px solid #f04f95; padding: 11px 20px; font-size: .75rem; font-weight: 700; letter-spacing: .05em; }
.multi-page .club-strengths { background: #fff; }
.multi-page .club-strengths .section-header { margin-bottom: 38px; }
.multi-page .strength-grid { gap: 0; grid-template-columns: repeat(3,minmax(0,1fr)); }
.multi-page .strength-card { padding: 0 28px; background: transparent; border: 0; border-left: 1px solid #dee6ed; border-radius: 0; box-shadow: none; }
.multi-page .strength-card:first-child { padding-left: 0; border-left: 0; }
.multi-page .strength-card:last-child { padding-right: 0; }
.multi-page .strength-card__number { font-size: 2.15rem; font-style: italic; line-height: 1; color: #b8cfee; font-weight: 600; letter-spacing: -.04em; }
.multi-page .strength-card h3 { font-size: 1.22rem; margin: 18px 0 16px; line-height: 1.65; }
.multi-page .strength-card h3 .text-unit { white-space: normal; }
.multi-page .strength-card p { font-size: .92rem; line-height: 1.95; }
.multi-page .strength-card > a { font-size: .84rem; font-weight: 600; }
.multi-page .home-guide { background: #f8f9fb; padding-block: 72px 46px; border: 0; }
.home-guide--club > .container { display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; }
.home-guide--club .home-guide__heading { grid-column: 1; grid-row: 1; }
.home-guide--club .home-guide__heading h2 { font-size: clamp(1.7rem,3vw,2.35rem); letter-spacing: -.025em; }
.home-guide--club .home-guide__lead { font-size: .92rem; margin-bottom: 22px; }
.club-life-photo { grid-column: 2; grid-row: 1 / 3; margin: 0; min-height: 0; position: relative; align-self: stretch; }
.club-life-photo img { height: calc(100% - 32px); max-height: 590px; width: 100%; object-fit: cover; object-position: center 63%; border-radius: 6px 56px 6px 6px; }
.club-life-photo figcaption { font-size: .75rem; color: #596d81; margin-top: 8px; }
.multi-page .guide-grid--club { grid-column: 1; grid-row: 2; display: block; }
.multi-page .guide-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0 18px; padding: 20px 0; border: 0; border-top: 1px solid #d9e2ed; border-radius: 0; background: transparent; box-shadow: none; }
.multi-page .guide-card:hover { border-color: #175bd1; background: #edf4ff; }
.multi-page .guide-card__label { grid-column: 1; font-size: .57rem; color: #65788c; }
.multi-page .guide-card h3 { grid-column: 1; font-size: 1.24rem; margin: 5px 0 8px; }
.multi-page .guide-card p { grid-column: 1; font-size: .88rem; }
.multi-page .guide-card__arrow { grid-column: 2; grid-row: 1 / 4; align-self: center; justify-self: end; margin: 0; padding: 0; width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid #bfd2eb; border-radius: 50%; font-size: 1.25rem; }
.multi-page .guide-card--trial h3 { color: #175bd1; }
.multi-page .guide-card__cta { grid-column: 1 / -1; font-size: .82rem; padding-top: 10px; margin: 0; }
.home-guide--club .home-social { grid-column: 1 / -1; margin-top: 38px; border-color: #d9e2ed; padding-top: 28px; }
.multi-page .news-home { background: #fff; border-bottom: 1px solid #dee6ed; padding-block: 68px; }
.multi-page .news-home__heading h2 { color: #18334f; font-size: 2.25rem; }
.multi-page .news-home .section-kicker { color: #175bd1; }
.multi-page .news-home__heading > a { border: 0; color: #175bd1; padding-right: 0; }
.multi-page .news-list { gap: 0; }
.multi-page .news-card { border: 0; border-top: 1px solid #dee6ed; border-radius: 0; grid-template-columns: 105px minmax(0,1fr); box-shadow: none; background: #fff; }
.multi-page .news-card:last-child { border-bottom: 1px solid #dee6ed; }
.multi-page .news-card:hover, .multi-page .news-home .news-card:hover { border-color: #b7cce8; background: #f8fbff; box-shadow: none; }
.multi-page .news-card__date { background: transparent; color: #708093; padding: 28px 15px 24px 0; align-self: start; }
.multi-page .news-card__date::after { display: none; }
.multi-page .news-card__date > span { font-size: .67rem; }
.multi-page .news-card__date strong { color: #175bd1; font-size: 1.85rem; margin: 3px 0; }
.multi-page .news-card__content { padding: 25px 0 26px 18px; }
.multi-page .news-card h2, .multi-page .news-card h3 { font-size: 1.12rem; margin-top: 10px; }
.multi-page .news-card p { font-size: .9rem; }
.multi-page .news-tags span { border: 0; border-radius: 4px; font-weight: 400; background: #eef4fc; }
.multi-page .news-card__when { font-weight: 500; }
.multi-page .news-status--report { background: #eef5ee; color: #46684e; }
.multi-page .news-card__link { text-align: left; font-weight: 600; }
.multi-page .school-community { background: #f7fafc; border: 0; padding-block: 40px; }
.multi-page .home-trial-close { background: #edf4ff; padding-block: 55px; border-top: 3px solid #f4c8dc; }
.multi-page .home-trial-close h2 { font-size: clamp(1.7rem,3vw,2.25rem); }
.multi-page .portal-heading, .multi-page .news-page-heading { background: #f6f9fe; border: 0; position: relative; padding-block: 34px 42px; }
.multi-page .portal-heading::after, .multi-page .news-page-heading::after { content: ''; display: block; height: 3px; width: 58px; position: absolute; bottom: 0; left: max(calc((100% - 1088px) / 2),5vw); background: #f04f95; }
.multi-page .news-page-heading h1 { color: #18334f; }
.multi-page .news-page-heading p { color: #566578; }
.multi-page .news-page-heading .section-kicker { color: #175bd1; }
.multi-page .portal-heading h1 { letter-spacing: -.025em; font-size: clamp(2rem,4vw,3rem); }
.multi-page .section--navy { background: #f5f8fc; color: #20344b; }
.multi-page .section--navy .section-title, .multi-page .values-subheading { color: #18334f; }
.multi-page .section--navy .section-lead { color: #566578; }
.multi-page .section--navy .section-kicker { color: #175bd1; }
.multi-page .creation-panel { background: #e5efff; border: 0; border-radius: 6px 54px 6px 6px; box-shadow: none; }
.multi-page .creation-panel :is(.creation-panel__label,.creation-panel__message,.creation-panel__footer) { color: #175bd1; }
.multi-page .creation-panel__title { color: #175bd1; font-weight: 800; }
.multi-page .value-grid { gap: 24px; }
.multi-page .value-card { border-top: 2px solid #c0d5f1; padding-inline: 0; }
.multi-page .value-card h3 { color: #175bd1; font-size: 1.2rem; }
.multi-page .value-card p { color: #566578; font-size: .88rem; }
.multi-page .coach-card { background: #fff; color: #20344b; border-radius: 6px; border-left: 3px solid #bfd2eb; margin-left: 0; box-shadow: none; }
.multi-page .coach-card h3 { color: #18334f; font-size: 1.8rem; }
.multi-page .coach-card__role { color: #566578; font-weight: 500; }
.multi-page .coach-card__career { color: #566578; font-size: .87rem; font-weight: 400; margin-bottom: 18px; }
.multi-page .coach-card__text { color: #566578; line-height: 1.95; }
.multi-page .membership-card { border-color: #dce6f3; border-radius: 6px; }
.multi-page .membership-card__summary { background: #edf4ff; color: #175bd1; }
.multi-page .membership-card__label, .multi-page .membership-card__date { color: #566578; }
.multi-page .relation-card, .multi-page .field-card, .multi-page .contact-card { box-shadow: none; border-radius: 8px; }
.multi-page .contact-card p, .multi-page .field-card p { font-size: .93rem; line-height: 1.9; }
.multi-page .report-links a { background: #edf4ff; color: #18334f; border-radius: 8px; }
.multi-page .report-links span { color: #175bd1; }
.multi-page .report-links p { color: #566578; }
.multi-page .school-intro { background: #fff8e9; border-bottom: 3px solid #f4c8dc; }
.multi-page .site-footer { background: #f2f7fc; color: #18334f; border-top: 1px solid #dce6f1; }
.multi-page .site-footer__team, .multi-page .footer-social a { color: #566578; }
.multi-page .site-footer__links a, .multi-page .footer-email a { color: #175bd1; }
.multi-page .site-footer__bottom { border-top-color: #d4e1ef; }
.multi-page .site-footer__bottom p { color: #65788c; }
.multi-page .mobile-trial-bar { box-shadow: 0 -3px 18px rgb(34 70 116 / .05); }
.multi-page .mobile-trial-bar a { background: #175bd1; border-radius: 999px; }
@media (max-width: 1000px) {
  .multi-page .hero__inner { gap: 28px; }
  .multi-page .hero__team-name { font-size: clamp(3rem,6.1vw,5rem); }
  .multi-page .hero__tagline { font-size: 1.18rem; }
  .multi-page .hero__actions .button { padding-inline: 15px; }
  .multi-page .strength-card { padding-inline: 20px; }
  .home-guide--club > .container { column-gap: 38px; }
}
@media (max-width: 820px) {
  .multi-page .hero__inner { grid-template-columns: 1fr; gap: 22px; padding-block: 32px 42px; }
  .multi-page .hero__copy { display: contents; }
  .multi-page .hero__topline { grid-row: 1; margin-bottom: 0; }
  .multi-page .hero h1 { grid-row: 2; }
  .multi-page .hero__visual { grid-row: 3; }
  .multi-page .hero__lead { grid-row: 4; margin-top: 0; }
  .multi-page .hero__invitation { grid-row: 5; margin-top: 0; }
  .multi-page .hero__actions { grid-row: 6; margin-top: 0; }
  .multi-page .hero__team-name { font-size: clamp(3.3rem,10vw,5.2rem); }
  .multi-page .hero__tagline { font-size: clamp(1.22rem,3.4vw,1.65rem); }
  .multi-page .hero__visual { padding-block: 8px 21px; }
  .multi-page .hero__visual img { min-height: 0; height: 350px; max-height: none; object-position: center 50%; border-radius: 42px 6px 42px 6px; }
  .multi-page .hero__visual::before { inset: 0 -12px 34px 24px; }
  .multi-page .strength-grid { grid-template-columns: 1fr; gap: 28px; }
  .multi-page .strength-card, .multi-page .strength-card:first-child, .multi-page .strength-card:last-child { padding: 24px 0 0; border: 0; border-top: 1px solid #dee6ed; }
  .multi-page .strength-card:first-child { padding-top: 0; border-top: 0; }
  .multi-page .strength-card h3 .text-unit + .text-unit { margin-left: 0; }
  .multi-page .strength-card p { margin-bottom: 12px; }
  .home-guide--club > .container { display: block; }
  .club-life-photo { margin: 26px 0 24px; }
  .club-life-photo img { height: 310px; object-position: center 63%; }
  .multi-page .value-grid { gap: 18px; }
}
@media (max-width: 580px) {
  .multi-page .portal-header__brandrow { min-height: 66px; }
  .multi-page .brand__name { font-size: 1.28rem; }
  .multi-page .portal-utility .portal-trial { padding: 10px 12px; }
  .multi-page .section { padding-block: 42px; }
  .multi-page .hero__category { font-size: .64rem; }
  .multi-page .hero__topline { margin-bottom: 0; }
  .multi-page .hero__team-name { font-size: clamp(2.8rem,13vw,4rem); }
  .multi-page .hero__tagline { margin-top: 18px; font-size: clamp(1.02rem,4.7vw,1.3rem); letter-spacing: -.06em; line-height: 1.65; }
  .multi-page .hero__tagline .hero__accent { font-size: 1.24em; }
  .multi-page .hero__lead { font-size: .9rem; margin-top: 0; }
  .multi-page .hero__invitation { font-size: .88rem; margin-top: 0; }
  .multi-page .hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 0; }
  .multi-page .hero__actions .button { width: auto; font-size: .77rem; padding: 12px 16px; }
  .multi-page .hero__visual img { height: 250px; object-position: center 48%; }
  .hero__visual figcaption { left: 12px; padding: 8px 12px; font-size: .65rem; }
  .multi-page .strength-card h3 { font-size: 1.2rem; margin: 12px 0; }
  .multi-page .strength-card h3 .text-unit { display: inline-block; white-space: nowrap; }
  .multi-page .strength-card p { font-size: .91rem; }
  .multi-page .home-guide { padding-block: 44px 36px; }
  .club-life-photo img { height: 270px; }
  .multi-page .guide-card { padding-block: 20px; }
  .multi-page .news-home { padding-block: 42px; }
  .multi-page .news-home__heading h2 { font-size: 1.85rem; }
  .multi-page .news-home__heading > a { font-size: .72rem; }
  .multi-page .news-card { display: block; }
  .multi-page .news-card__date { display: none; }
  .multi-page .news-card__content { padding: 23px 0; }
  .multi-page .news-card h2, .multi-page .news-card h3 { font-size: 1.05rem; }
  .multi-page .news-card__content > p:not(.news-card__when) { display: none; }
  .multi-page .news-card .news-card__when { font-size: .78rem; font-weight: 400; }
  .multi-page .news-meta { font-size: .66rem; gap: 6px 9px; }
  .multi-page .news-tags span { font-size: .67rem; }
  .multi-page .home-trial-close { padding-block: 38px; }
  .multi-page .portal-heading, .multi-page .news-page-heading { padding-block: 26px 32px; }
  .multi-page .portal-heading h1 { font-size: 1.9rem; }
  .multi-page .portal-heading p { font-size: .87rem; line-height: 1.9; }
  .multi-page .value-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
  .multi-page .value-card { display: grid; grid-template-columns: 3em minmax(0,1fr); gap: 16px; padding-top: 18px; }
  .multi-page .value-card h3 { font-size: 1.1rem; margin: 0; }
  .multi-page .value-card p .text-unit { white-space: normal; display: inline; }
  .multi-page .creation-panel { max-width: none; padding: 25px; }
  .multi-page .creation-panel__title { font-size: 3.8rem; margin-block: 14px; }
  .multi-page .coach-card { padding: 24px; }
  .multi-page .coach-card__text { font-size: .93rem; }
  .multi-page .contact-card p, .multi-page .field-card p { font-size: .91rem; }
}
@media (max-width: 360px) {
  .multi-page .portal-utility > a:not(.portal-trial) { display: none; }
  .multi-page .portal-utility .portal-trial { white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Selected club photographs, with privacy processing already in the files. */
.multi-page .hero__visual--dual { display: flex; flex-direction: column; padding: 10px 0 12px; justify-content: center; }
.multi-page .hero__visual--dual::before { inset: 0 -18px 20px 26px; }
.hero__photo-grid { display: grid; gap: 12px; }
.hero__photo { position: relative; aspect-ratio: 2 / 1; overflow: hidden; border-radius: 36px 6px 6px 6px; }
.hero__photo + .hero__photo { border-radius: 6px 6px 36px 6px; }
.multi-page .hero__visual--dual .hero__photo img { width: 100%; height: 100%; min-height: 0; max-height: none; border-radius: 0; object-fit: cover; object-position: center 78%; }
.multi-page .hero__visual--dual .hero__photo + .hero__photo img { object-position: center bottom; }
.hero__photo > span { position: absolute; left: 12px; bottom: 10px; background: rgb(255 255 255 / .96); color: #175bd1; font-size: .72rem; font-weight: 700; line-height: 1.4; padding: 6px 11px; border-radius: 999px; }
.multi-page .hero__visual--dual figcaption { position: static; padding: 0; border: 0; margin: 9px 0 0 3px; background: none; color: #596d81; font-size: .7rem; letter-spacing: .02em; }
.club-life-photo--together { align-self: center; }
.club-life-photo--together img { width: 100%; height: auto; max-height: none; aspect-ratio: 1447 / 1087; object-fit: contain; border-radius: 6px 46px 6px 6px; }
.team-picture .team-practice-photo img { width: 100%; height: auto; aspect-ratio: 1447 / 1087; object-fit: contain; }
.team-picture .team-practice-photo figcaption { padding: 10px 0 0; color: #596d81; font-size: .78rem; }
.trial-practice-photo { margin: 0 0 24px; }
.trial-practice-photo img { width: 100%; height: 270px; object-fit: cover; object-position: center 58%; border-radius: 6px 30px 6px 6px; }
.trial-practice-photo figcaption { color: #596d81; font-size: .78rem; padding-top: 8px; }
.activity-photo-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; margin: 24px 0 32px; }
.activity-photo-grid figure, .article-photo-pair figure { margin: 0; min-width: 0; }
.activity-photo-grid img, .article-photo-pair img { width: 100%; height: auto; border-radius: 6px 30px 6px 6px; }
.activity-photo-grid figcaption { color: #596d81; font-size: .83rem; margin-top: 12px; }
.activity-photo-grid figcaption strong { display: block; color: #175bd1; margin-bottom: 4px; font-size: .95rem; }
.article-photo-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 28px 0 36px; }
.article-photo-pair figcaption { color: #596d81; font-size: .78rem; margin-top: 8px; }
@media (max-width: 820px) {
  .multi-page .hero__visual--dual { padding: 6px 0 10px; }
  .multi-page .hero__visual--dual::before { inset: 0 -10px 24px 20px; }
  .club-life-photo--together img { height: auto; aspect-ratio: 1447 / 1087; }
}
@media (max-width: 580px) {
  .hero__photo-grid { gap: 10px; }
  .hero__photo { border-top-left-radius: 28px; }
  .hero__photo + .hero__photo { border-bottom-right-radius: 28px; }
  .hero__photo > span { left: 8px; bottom: 8px; font-size: .62rem; padding: 5px 9px; }
  .multi-page .hero__visual--dual figcaption { font-size: .65rem; margin-top: 7px; }
  .activity-photo-grid { grid-template-columns: 1fr; gap: 25px; }
  .article-photo-pair { grid-template-columns: 1fr; }
  .trial-practice-photo img { height: 250px; }
  .club-life-photo--together img { height: auto; }
}
