/* October workbook. Existing green/Mincho design and reduced-motion rules remain. */
.home-pillars { margin-top: 54px; padding: 42px 34px; border-top: 1px solid #b6cab7; border-bottom: 1px solid #b6cab7; background: #f4f9f3; }
.pillars-label { margin: 0 0 30px; text-align: center; font-size: 24px; letter-spacing: .15em; }
.pillar-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.pillar { min-width: 0; }
.pillar figure { margin: 0; background: #fff; aspect-ratio: 1.5; display: flex; align-items: center; justify-content: center; }
.pillar figure img { width: 100%; height: 100%; object-fit: contain; }
.pillar-copy { position: relative; padding: 22px 0 12px; }
.pillar-number { font-family: Manrope,sans-serif; color: #568560; font-size: 15px; letter-spacing: .1em; }
.pillar h3 { font-size: clamp(20px,1.7vw,26px); line-height: 1.65; margin: 8px 0 14px; }
.pillar p { font-size: 15px; line-height: 2; }
.home-pillars > .center { margin-top: 30px; }
.split-image img.portrait-building { height: auto; max-height: 620px; width: 100%; object-fit: contain; }
.president-message > .wide-photo { width: 180px; height: 180px; object-fit: cover; border-radius: 6px; margin: 0 auto 36px; }
.community-photo-pair { display: grid; grid-template-columns: 1fr 1fr; background: #f0f5ef; }
.community-grid .community-photo-pair img { width: 100%; height: 250px; object-fit: contain; }
.mascot-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.mascot-heading > div:last-child:has(img) { display: flex; align-items: end; flex-shrink: 0; }
.mascot-heading img { width: auto; max-width: 130px; height: 150px; object-fit: contain; }
.mascot-heading h2 { margin-bottom: 24px; }
.steel-work-section { margin: 100px auto; }
.steel-work-section .cards { width: 100%; margin-top: 30px; }
.housing-options { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: stretch; gap: 20px; margin: 36px 0; text-align: left; }
.housing-options article { min-width: 0; padding: 24px; background: #fff; border-top: 3px solid #58855e; }
.housing-options article h3 { font-size: 21px; }
.housing-options .housing-or { align-self: center; font-size: 16px; margin: 0; }
.qualified-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
.number-card:has(.qualification-summary) { grid-column: span 2; }
.qualification-summary { columns: 2; font-size: 14px; text-align: left; }
@media (max-width: 900px) {
  .home-pillars { padding: 30px 22px; }
  .pillar-grid { gap: 20px; }
  .pillar h3 { font-size: 20px; }
  .housing-options { grid-template-columns: 1fr; gap: 14px; }
  .housing-options .housing-or { text-align: center; }
}
@media (max-width: 640px) {
  .home-pillars { margin-top: 32px; padding: 28px 18px; }
  .pillars-label { font-size: 22px; }
  .pillar-grid { grid-template-columns: 1fr; gap: 30px; }
  .pillar:not(:last-child) { border-bottom: 1px solid #d8e4d6; padding-bottom: 16px; }
  .pillar-copy { padding-top: 16px; }
  .pillar p { margin-bottom: 4px; }
  .mascot-heading { gap: 14px; align-items: flex-start; }
  .mascot-heading img { max-width: 62px; height: 90px; }
  .community-grid .community-photo-pair img { height: 190px; }
  .steel-work-section { margin: 64px auto; }
  .qualified-list { grid-template-columns: 1fr; }
  .number-card:has(.qualification-summary) { grid-column: 1 / -1; }
  .qualification-summary { columns: 1; }
}

@media (max-width:640px) { .housing-buddy h2 { font-size:22px; line-height:1.8; } }

/* Shared footer navigation, using the existing type and green accents. */
.footer-sitemap { display:grid; grid-template-columns:1fr 1fr; gap:56px; max-width:1200px; margin-top:44px; padding-top:36px; border-top:1px solid #d8e4d6; }
.footer-sitemap-group { min-width:0; }
.footer-sitemap h2 { font-size:20px; margin:0 0 20px; line-height:1.6; }
.footer-sitemap ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px; list-style:none; padding:0; margin:0; }
.footer-sitemap a { display:block; position:relative; padding:8px 0 8px 22px; font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
.footer-sitemap a:before { content:''; position:absolute; top:20px; left:0; width:12px; height:1px; background:var(--green); }
.footer-sitemap a:hover { text-decoration:underline; text-underline-offset:5px; }
.footer-sitemap a:focus-visible { outline:2px solid var(--forest); outline-offset:4px; }
@media(max-width:900px) { .footer-sitemap { gap:32px; } .footer-sitemap ul { grid-template-columns:1fr; } }
@media(max-width:700px) { .footer-sitemap { grid-template-columns:1fr; gap:32px; margin-top:36px; padding-top:30px; } .footer-sitemap ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 16px; } .footer-sitemap a { font-size:14px; padding-left:18px; } }
@media(max-width:359px) { .footer-sitemap ul { grid-template-columns:1fr; } }
