@media (max-width: 1180px) {
  :root { --wrap: min(100% - 40px, 1000px); }
  .site-brand { flex-basis: 285px; }
	.site-brand__emblem { flex-basis: 52px; width: 52px; height: 52px; }
  .site-brand__text small { display: none; }
  .primary-nav > ul { gap: 11px; }
  .primary-nav a { font-size: .75rem; }
  .focus-grid { grid-template-columns: repeat(2,1fr); }
  .focus-item:nth-child(4n+1) { border-left: 0; }
  .focus-item:nth-child(2n+1) { border-left: 1px solid var(--line); }
  .governor-strip { grid-template-columns: 1fr; gap: 10px; }
  .governor-strip__item { grid-template-columns: 150px 1fr; border-left: 1px solid var(--line); }
  .district-directory__row { grid-template-columns: 140px 1fr; }
  .district-directory__row > div:last-child { grid-column: 2; }
}

@media (max-width: 1024px) {
  .site-header__utility { display: none; }
  .site-header__main { min-height: 76px; }
  .menu-toggle { display: block; }
  .primary-nav { position: fixed; z-index: 99; inset: 76px 0 0; display: none; margin: 0; padding: 20px; overflow-y: auto; color: #fff; background: var(--navy-deep); }
  .is-staging .primary-nav { top: 104px; }
  .primary-nav.is-open { display: block; }
  .primary-nav > ul { display: block; }
  .primary-nav > ul > li { display: grid; grid-template-columns: 1fr 48px; border-bottom: 1px solid rgba(255,255,255,.2); }
  .primary-nav > ul > li > a { padding: 17px 4px; font-size: 1rem; }
  .primary-nav .nav-contact > a { margin-block: 10px; padding: 13px; background: var(--gold); color: var(--navy-deep); }
  .submenu-toggle { width: 48px; height: 56px; color: #fff; }
  .submenu { position: static; grid-column: 1/-1; min-width: 0; padding: 0 0 12px 15px; background: transparent; box-shadow: none; }
  .submenu li a { padding: 9px 4px; color: rgba(255,255,255,.78); font-size: .85rem; }
  .has-submenu:hover .submenu { display: none; }
  .has-submenu:focus-within .submenu { display: none; }
  .has-submenu.is-open .submenu { display: block; }
  .section-heading--split, .editorial-columns, .editorial-intro__grid, .information-band__grid, .impact-home__grid, .participate-home__panel, .site-footer__lead, .council-chair__grid, .district-governor__grid, .participate-route__grid, .contact-main__grid, .ethics-section__grid { grid-template-columns: 1fr; gap: 36px; }
	.convention-status .wrap { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hokkaido-map-layout { grid-template-columns: 1fr; }
  .home-hero { min-height: 690px; }
  .home-hero__image { object-position: 61% center; }
  .chair-feature__grid { grid-template-columns: minmax(240px,.7fr) minmax(0,1.3fr); gap: 50px; }
  .governor-portraits, .members-gateway__grid, .role-landscape__grid, .principles-section__grid, .joint-projects__grid, .convention-guide__grid, .convention-after__grid, .partnership-section__grid, .official-resource-grid, .verified-focus__grid { grid-template-columns: 1fr; }
	.organization-flow__line { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.activity-editorial, .notice-grid, .roster-framework__grid { grid-template-columns: 1fr; }
  .governor-portraits article { display: grid; grid-template-columns: 210px 1fr; }
  .reports-layout, .story-single__grid { grid-template-columns: 1fr; }
  .reports-sidebar { order: -1; }
  .site-footer__nav { grid-template-columns: repeat(2,1fr); }
  .site-footer__bottom { grid-template-columns: 1fr; text-align: left; }
  .site-footer__bottom p:last-child { text-align: left; }
  .official-roster__header { grid-template-columns: 1fr; align-items: start; }
  .official-roster__source { width: fit-content; }
  .official-roster__nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .official-roster__entry { grid-template-columns: minmax(170px,1fr) minmax(130px,.7fr) auto; }
  .official-roster__club { grid-column: 1 / 3; margin-top: -8px; }
  .official-roster__entry > .district-badge { grid-column: 3; grid-row: 1 / 3; }
  .committee-roster { grid-template-columns: 1fr; }
  .committee-roster__group h4 { min-height: 0; }
	.club-finder > .wrap { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  :root { --wrap: calc(100% - 32px); }
  body { line-height: 1.72; }
  .section-space { padding-block: 68px; }
  .site-brand { flex-basis: auto; }
	.site-brand__emblem { flex-basis: 44px; width: 44px; height: 44px; }
  .site-brand__text strong { font-size: .9rem; }
  .heading-phrase, .text-keep { white-space: normal; }
  .menu-toggle__label { font-size: .78rem; }
  .home-hero { min-height: 650px; }
  .home-hero { align-items: start; }
  .home-hero__content { padding-block: 62px 24px; }
  .home-hero__content h1 { margin-bottom: 18px; font-size: clamp(2.15rem,10.5vw,4.2rem); }
  .home-hero__content > p:not(.home-hero__year) { max-width: 34rem; padding: 7px 9px; font-size: .96rem; background: rgba(249,251,251,.54); }
  .home-hero__caption { right: 16px; bottom: 12px; left: 16px; }
  .purpose-rail__grid { grid-template-columns: 1fr; }
  .purpose-rail p { border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); padding: 18px 20px; }
  .chair-feature__grid { grid-template-columns: 1fr; }
  .chair-feature__portrait { width: calc(100% - 20px); }
  .chair-feature__mark { display: none; }
  .next-event dl { grid-template-columns: 1fr; }
	.focus-grid, .activity-editorial, .impact-home dl, .participate-home__panel nav, .wide-service__grid, .roster-framework__grid, .club-finder > .wrap > div:last-child, .reports-guide__grid, .schedule-framework__grid, .district-contact-links, .contact-form__grid, .portal-links { grid-template-columns: 1fr; }
  .focus-item, .focus-item:nth-child(2n+1) { border-left: 1px solid var(--line); }
  .governor-strip__item { grid-template-columns: 105px 1fr; padding: 20px 15px; }
  .governor-strip__item blockquote { display: none; }
  .activity-editorial__item { min-height: 0; }
	.asset-policy-note { display: grid; gap: 6px; }
	.hokkaido-map svg { min-width: 0; }
	.hokkaido-map__guide { padding-top: 12px; }
	.map-legend__item { min-height: 68px; grid-template-columns: 22px minmax(0,1fr) auto; padding: 13px 14px; }
	.home-hero__picture img { object-position: center; }
	.home-hero__shade { background: linear-gradient(180deg,rgba(249,251,251,.96) 0%,rgba(249,251,251,.87) 55%,rgba(249,251,251,.58) 79%,rgba(249,251,251,.08) 100%); }
  .participate-home { min-height: 980px; padding-block: 65px; }
  .participate-home__panel { grid-template-columns: 1fr; }
  .participate-home__panel nav a { min-height: 90px; }
  .editorial-intro { padding-block: 60px; }
  .editorial-intro h1 { font-size: clamp(2.8rem,14vw,4.5rem); }
  .organization-flow { grid-template-columns: 1fr; }
  .organization-flow__line { grid-template-columns: 1fr; min-height: 0; transform: none; }
  .organization-flow__line > div { min-height: 0; }
  .organization-roles__grid, .portal-guidance { grid-template-columns: 1fr; }
  .participate-route__grid .prose li { grid-template-columns: 1fr; gap: 5px; }
  .history-timeline article { grid-template-columns: 80px 1fr; gap: 15px; }
  .governor-portraits article { grid-template-columns: 120px 1fr; }
  .governor-portraits article > div { padding: 18px; }
  .official-roster__header { gap: 24px; padding-bottom: 28px; }
  .official-roster__source { min-width: 0; }
  .official-roster__nav { grid-template-columns: 1fr; margin-block: 22px 45px; }
  .official-roster__nav a { min-height: 62px; }
  .official-roster__section { padding-block: 44px; }
  .official-roster__section-heading { padding-left: 17px; }
  .official-roster__section-heading h3 { font-size: 1.45rem; }
  .official-roster__entry, .committee-roster__group .official-roster__entry { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px 14px; min-height: 0; padding: 18px; }
  .official-roster__position, .committee-roster__group .official-roster__position { grid-column: 1 / -1; }
  .official-roster__name, .committee-roster__group .official-roster__name { grid-column: 1; font-size: 1.12rem; }
  .official-roster__club, .committee-roster__group .official-roster__club { grid-column: 1; grid-row: auto; margin-top: 0; }
  .official-roster__entry > .district-badge, .committee-roster__group .district-badge { grid-column: 2; grid-row: 2 / 4; align-self: center; }
  .committee-roster__group h4 { padding: 19px 18px; }
  .district-contact .wrap, .page-cta .wrap { display: grid; }
  .district-directory__row { grid-template-columns: 1fr; gap: 10px; }
  .district-directory__row > div:last-child { grid-column: 1; }
  .club-search-callout { padding: 30px 22px; }
  .event-list__item { grid-template-columns: 1fr; gap: 10px; }
	.convention-status .wrap { grid-template-columns: 1fr; }
  .training-hub .wrap { grid-template-columns: 1fr; gap: 25px; }
  .contact-form { padding: 24px 18px; }
  .story-row { grid-template-columns: 1fr 24px; gap: 15px; }
  .story-row__meta { grid-column: 1/-1; display: flex; }
  .story-row__body { grid-column: 1; }
  .site-footer { padding-top: 65px; }
  .site-footer__nav { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .not-found__grid { grid-template-columns: 1fr; }
  .not-found nav { grid-template-columns: 1fr; }
}

@media (max-width: 1024px) {
  .home-contact__grid, .partnership-section__grid { grid-template-columns: 1fr; }
  .home-contact__grid { gap: 28px; }
  .partnership-section__grid { grid-template-areas: "copy" "media" "action"; }
  .partnership-section__copy { padding-bottom: 28px; }
  .partnership-section__action { padding-top: 28px; }
  .activity-editorial--list { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .home-hero { min-height: 610px; }
  .home-hero__content h1 { font-size: clamp(2.55rem,13vw,4.1rem); }
  .home-hero__content h1 span { font-size: .29em; }
  .home-hero__summary { max-width: 31rem; }
  .home-participation__links { grid-template-columns: 1fr; }
  .home-participation__links a { min-height: 0; }
  .governor-strip__item blockquote { display: block; }
  .site-footer__nav { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 300px) {
  .home-hero__content h1 { font-size: 7.5vw; }
  .editorial-intro h1 { font-size: 8vw; }
  .editorial-intro .lede--segmented { font-size: 8vw; }
  .section-heading h2, .hokkaido-map__guide h3 { font-size: 7vw; }
  .map-legend__item { grid-template-columns: 20px minmax(0,1fr) auto; gap: 8px; padding-inline: 10px; }
  .map-legend__label strong { font-size: .72rem; white-space: normal; }
  .governor-portraits article { grid-template-columns: 1fr; }
  .governor-portraits article > img { width: 100%; max-width: 160px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto!important; transition-duration: .01ms!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; }
}

@media print {
  .site-header, .site-footer, .staging-flag, .breadcrumbs, .button-row { display: none!important; }
  body { background: #fff; color: #000; }
  a { text-decoration: none; }
}
