/* Facility photographs and corporate support, within the selected B design. */
.theme-b .extra-section { padding-block:96px; }
.theme-b .extra-section.section-boundary > .section-inner { position:relative; z-index:3; }
.theme-b .extra-page-hero { padding-block:36px 76px; }
.extra-page-hero .breadcrumb { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:44px; font-size:14px; color:#435984; }
.extra-page-hero .breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.extra-hero-layout { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:56px; align-items:center; }
.extra-hero-copy { min-width:0; }
.theme-b .extra-hero-copy h1 { font-size:clamp(33px,3.5vw,49px); line-height:1.8; }
.extra-hero-copy .extra-lead { margin-top:25px; font-size:18px; line-height:2; color:#435984; }
.extra-hero-copy > .button { margin-top:28px; }
.theme-b .extra-section h2 { font-size:clamp(28px,2.8vw,39px); line-height:1.85; }
.theme-b .extra-section h3 { font-size:21px; line-height:1.7; }
.extra-section-heading { max-width:810px; margin-bottom:36px; }
.extra-section-heading > p:last-child { margin-top:22px; color:#435984; font-size:18px; }
.facility-photo { min-width:0; margin:0; }
.facility-photo-link { display:block; overflow:hidden; border-radius:12px; background:#e1e7ee; }
.facility-photo-link:focus-visible { outline:3px solid #1648ce; outline-offset:5px; }
.facility-photo img { display:block; width:100%; height:auto; object-fit:cover; transition:filter .25s; }
.facility-photo-link:hover img { filter:brightness(1.045); }
.facility-photo figcaption { margin-top:11px; color:#435984; font-size:14px; line-height:1.8; }
.facility-hero-photo .facility-photo-link { border-radius:38% 8% 8% 8%; }
.facility-hero-photo img { aspect-ratio:1.2; object-position:55% 50%; }
.facility-quick-facts { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:27px 0 0; }
.facility-quick-facts li { padding:5px 13px; border:1px solid #c4d1ec; background:#fffdf7; border-radius:999px; font-size:13px; color:#243e78; }
.facility-gallery-note { margin-top:23px; font-size:13px; color:#435984; text-align:right; }
.facility-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:66px; align-items:end; margin-bottom:36px; }
.facility-heading > p { font-size:18px; line-height:2; color:#435984; }
.facility-learning-grid { display:grid; grid-template-columns:minmax(0,1.36fr) minmax(0,.64fr); gap:32px; align-items:start; }
.facility-learning-wall .facility-photo-link { margin-top:40px; }
.facility-learning-wall img { aspect-ratio:4/3; }
.facility-pc-photo { max-width:360px; margin-inline:auto; }
.facility-pc-photo img { aspect-ratio:3/4; }
.facility-equipment-note { border-top:1px solid #c4d1ec; margin-top:23px; padding-top:22px; }
.facility-equipment-note > p { margin-top:12px; font-size:16px; color:#435984; }
.facility-living-photo img { aspect-ratio:1.9; object-position:50% 53%; }
.facility-screen-note { display:flex; align-items:baseline; gap:16px; font-size:15px; color:#435984; padding:20px 0; border-bottom:1px solid #e1d49e; }
.facility-screen-note strong { flex:0 0 205px; font-weight:500; color:#243e78; }
.facility-details-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:34px; }
.facility-details-grid img { aspect-ratio:4/3; }
.facility-daily-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:76px; }
.facility-wash-photo { max-width:400px; }
.facility-wash-photo img { aspect-ratio:3/4; }
.facility-daily-copy > p:not(.eyebrow) { margin-top:24px; color:#435984; font-size:18px; }
.facility-equipment-list { margin:27px 0 0; }
.facility-equipment-list > div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:16px; padding-block:16px; border-top:1px solid #d3def0; }
.facility-equipment-list dt { color:#435984; font-size:14px; }
.facility-equipment-list dd { margin:0; font-size:16px; }
.facility-outdoor-photo img { aspect-ratio:1.9; object-position:50% 60%; }
.facility-exterior-photo img { aspect-ratio:1.9; object-position:50% 47%; }
.facility-entrance-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; max-width:780px; margin:34px auto 0; }
.facility-entrance-grid img { aspect-ratio:3/4; }
.extra-contact-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:45px; align-items:center; padding:34px 38px; margin-top:55px; border:1px solid #c4d1ec; border-radius:16px; background:#edf3ff; }
.extra-contact-panel .eyebrow { margin-bottom:12px; }
.extra-contact-panel p:not(.eyebrow) { margin-top:12px; color:#435984; font-size:16px; max-width:650px; }
.extra-contact-panel .button { gap:20px; }
.sponsor-hero-layout { grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:64px; align-items:center; }
.sponsor-hero-card { background:#fff4c7; border:1px solid #e5d495; border-radius:18px; padding:36px 30px; transform:rotate(2deg); }
.sponsor-hero-card .eyebrow { color:#526182; font-size:13px; letter-spacing:.1em; }
.sponsor-hero-card-title { font-family:var(--font-heading); font-size:27px; line-height:1.9; }
.sponsor-hero-card > p:not(.eyebrow):not(.sponsor-hero-card-title) { font-size:16px; color:#435984; margin-top:22px; }
.sponsor-hero-card .sponsor-hero-card-note { padding-top:20px; border-top:1px solid #ddcc8b; font-size:13px!important; }
.sponsor-purpose-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:70px; align-items:start; }
.sponsor-purpose-copy { color:#435984; font-size:18px; line-height:2.1; }
.sponsor-uses { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; list-style:none; padding:0; margin:42px 0 0; }
.sponsor-uses li { padding:20px 23px; border-block:1px solid #c4d1ec; display:flex; align-items:center; gap:18px; font-size:18px; }
.sponsor-uses span { font:27px/1.2 Georgia,serif; color:#879bc0; }
.sponsor-monthly { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:22px; padding:30px 34px; background:#fffdf7; border:1px solid #dfcd89; border-radius:14px; }
.sponsor-plan-type { display:block; font-size:14px; color:#435984; margin-bottom:9px; }
.theme-b .sponsor-monthly h3 { font-size:25px; }
.sponsor-price { font:500 clamp(30px,3vw,42px)/1.6 var(--font-text); color:#1648ce; margin:0; font-variant-numeric:tabular-nums; }
.sponsor-price small { display:inline-block; margin-right:12px; font-size:14px; color:#435984; }
.sponsor-price span { font-size:18px; margin-left:8px; color:#243e78; }
.sponsor-annual-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px 24px; margin:35px 0 19px; }
.sponsor-annual-heading p { color:#435984; font-size:15px; }
.sponsor-plan-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; padding:0; margin:0; list-style:none; }
.sponsor-plan-grid li { padding:27px 22px; border:1px solid #dfcd89; border-radius:12px; background:#fffdf7; }
.sponsor-plan-en { font:12px/1.5 Arial,sans-serif; letter-spacing:.12em; color:#435984; }
.sponsor-plan-grid h4 { font-size:18px; font-weight:500; margin:10px 0 22px; }
.sponsor-plan-grid p { font-size:26px; font-weight:500; line-height:1.8; color:#1648ce; font-variant-numeric:tabular-nums; }
.sponsor-plan-grid p span { display:block; color:#435984; font-size:14px; }
.sponsor-goods { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:36px; border-top:1px solid #dfcd89; margin-top:30px; padding-top:29px; }
.sponsor-goods > p { font-size:17px; color:#435984; }
.sponsor-recognition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 32px; list-style:none; padding:0; margin:0; }
.sponsor-recognition-grid li { padding:26px 28px; border-radius:12px; border:1px solid #c4d1ec; background:#edf3ff; }
.sponsor-recognition-grid p { font-size:16px; color:#435984; margin-top:12px; }
.sponsor-lead-company { text-align:center; background:#fffdf7; border:1px solid #c4d1ec; border-top:4px solid #e5bb32; border-radius:14px; padding:30px 25px 35px; }
.sponsor-lead-company > p { font-size:13px; color:#435984; margin-bottom:10px; }
.sponsor-lead-company strong { font-size:clamp(27px,3.6vw,46px); font-weight:500; letter-spacing:.055em; overflow-wrap:anywhere; }
.sponsor-company-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; padding:0; gap:22px; margin:23px 0 0; }
.sponsor-company-list li { border:1px solid #c4d1ec; border-radius:12px; padding:24px; background:#fffdf7; font-size:23px; text-align:center; overflow-wrap:anywhere; }
.sponsor-inquiry-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:65px; align-items:start; }
.sponsor-inquiry-layout > div:first-child > p:not(.eyebrow) { margin-top:25px; color:#435984; font-size:18px; }
.sponsor-inquiry-layout > div:first-child > .button { margin-top:28px; gap:20px; }
.sponsor-operator { border:1px solid #c4d1ec; border-radius:14px; padding:30px; background:#edf3ff; }
.sponsor-operator > p:not(.sponsor-plan-type) { margin-top:10px; font-size:16px; color:#435984; }
.sponsor-operator dl { margin:24px 0 0; }
.sponsor-operator dl > div { display:grid; grid-template-columns:50px minmax(0,1fr); gap:14px; padding:15px 0; border-top:1px solid #c4d1ec; }
.sponsor-operator dt { font-size:14px; color:#435984; }
.sponsor-operator dd { margin:0; font-size:16px; overflow-wrap:anywhere; }
.sponsor-operator dd a { text-decoration:underline; text-underline-offset:4px; }
.sponsor-operator dd small { display:block; font-size:13px; color:#435984; margin-top:4px; }
@media (max-width:1100px) {
  .extra-hero-layout,.facility-heading,.sponsor-purpose-layout,.sponsor-inquiry-layout { gap:38px; }
  .sponsor-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .facility-daily-layout { gap:45px; }
  .extra-contact-panel { grid-template-columns:1fr; gap:23px; }
  .extra-contact-panel .button { justify-self:start; }
  .sponsor-uses li { display:block; font-size:16px; }
  .sponsor-uses span { display:block; margin-bottom:12px; }
}
@media (max-width:800px) {
  .theme-b .extra-section { padding-block:68px; }
  .theme-b .extra-page-hero { padding-block:26px 49px; }
  .extra-page-hero .breadcrumb { margin-bottom:28px; font-size:13px; gap:9px; }
  .extra-hero-layout,.facility-heading,.facility-learning-grid,.facility-daily-layout,.sponsor-purpose-layout,.sponsor-inquiry-layout,.sponsor-goods { grid-template-columns:1fr; gap:28px; }
  .theme-b .extra-hero-copy h1 { font-size:32px; }
  .extra-hero-copy .extra-lead,.facility-heading > p,.facility-daily-copy > p:not(.eyebrow),.extra-section-heading > p:last-child,.sponsor-purpose-copy,.sponsor-inquiry-layout > div:first-child > p:not(.eyebrow) { font-size:17px; }
  .extra-hero-copy .extra-lead br { display:none; }
  .theme-b .extra-section h2 { font-size:28px; }
  .theme-b .extra-section h3 { font-size:20px; }
  .facility-hero-photo { margin-top:4px; }
  .facility-hero-photo img { aspect-ratio:4/3; }
  .facility-gallery-note { margin-top:18px; text-align:left; font-size:12px; }
  .facility-quick-facts { margin-top:23px; gap:7px; }
  .facility-quick-facts li { padding-inline:11px; font-size:12px; }
  .facility-photo figcaption { font-size:13px; margin-top:9px; }
  .facility-heading { margin-bottom:27px; gap:20px; }
  .facility-learning-wall .facility-photo-link { margin-top:0; }
  .facility-pc-column { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:20px; align-items:center; }
  .facility-pc-photo { width:100%; }
  .facility-equipment-note { padding-top:0; margin-top:0; border:0; }
  .theme-b .facility-equipment-note h3 { font-size:17px; }
  .facility-equipment-note > p { font-size:15px; line-height:1.9; }
  .facility-living-photo img,.facility-outdoor-photo img,.facility-exterior-photo img { aspect-ratio:4/3; }
  .facility-screen-note { display:block; font-size:14px; padding:18px 0; }
  .facility-screen-note strong { display:block; margin-bottom:7px; }
  .facility-details-grid { grid-template-columns:1fr; gap:24px; margin-top:27px; }
  .facility-wash-photo { width:min(100%,350px); margin-inline:auto; }
  .facility-daily-copy { order:-1; }
  .facility-equipment-list > div { grid-template-columns:110px minmax(0,1fr); gap:12px; }
  .facility-equipment-list dt { font-size:13px; }
  .facility-equipment-list dd { font-size:15px; }
  .facility-entrance-grid { gap:18px; margin-top:26px; }
  .extra-contact-panel { padding:26px 23px; margin-top:36px; }
  .extra-contact-panel p:not(.eyebrow) { font-size:16px; }
  .sponsor-hero-card { padding:27px 25px; transform:none; }
  .sponsor-hero-card-title { font-size:25px; }
  .sponsor-uses { grid-template-columns:1fr; gap:0; margin-top:28px; }
  .sponsor-uses li { display:flex; padding:19px 6px; border-bottom:0; font-size:17px; }
  .sponsor-uses li:last-child { border-bottom:1px solid #c4d1ec; }
  .sponsor-uses span { margin-bottom:0; }
  .extra-section-heading { margin-bottom:27px; }
  .sponsor-monthly { padding:25px 23px; gap:15px; }
  .sponsor-price { font-size:36px; }
  .sponsor-price span { font-size:16px; }
  .sponsor-annual-heading { margin-top:29px; gap:7px; }
  .sponsor-plan-grid { gap:13px; }
  .sponsor-plan-grid li { padding:21px 17px; }
  .sponsor-plan-grid h4 { font-size:17px; margin-bottom:17px; }
  .sponsor-plan-grid p { font-size:25px; }
  .sponsor-goods { gap:16px; }
  .sponsor-goods > p { font-size:16px; }
  .sponsor-recognition-grid { grid-template-columns:1fr; gap:17px; }
  .sponsor-recognition-grid li { padding:23px; }
  .sponsor-company-list { gap:14px; }
  .sponsor-company-list li { font-size:19px; padding:22px 15px; }
  .sponsor-lead-company { padding:25px 19px 29px; }
  .sponsor-lead-company strong { font-size:28px; }
  .sponsor-operator { padding:26px 23px; }
}
@media (max-width:380px) {
  .facility-pc-column { grid-template-columns:1fr; gap:21px; }
  .facility-pc-photo { max-width:240px; }
  .facility-entrance-grid { gap:14px; }
  .sponsor-plan-grid li { padding-inline:13px; }
  .sponsor-plan-grid p { font-size:22px; }
  .sponsor-company-list { grid-template-columns:1fr; }
  .sponsor-lead-company strong { font-size:25px; }
}
@media (prefers-reduced-motion:reduce) {
  .facility-photo img { transition:none; }
}
@media print {
  .extra-section { break-inside:auto; }
  .facility-photo,.sponsor-plan-grid li,.sponsor-lead-company,.sponsor-operator { break-inside:avoid; }
  .facility-photo-link { border:1px solid #c4d1ec; }
}
