:root {
  --blue-950: #05305f;
  --blue-900: #063c78;
  --blue-800: #075b9c;
  --blue-700: #0b73ba;
  --blue-100: #e7f5fb;
  --red: #e85f58;
  --yellow: #f2bd4b;
  --green: #46a878;
  --ink: #17304d;
  --muted: #5d748c;
  --line: #d5e4ec;
  --sidebar: 286px;
  --icon-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.6 12 3l9 7.6v9.9a.5.5 0 0 1-.5.5H15v-6H9v6H3.5a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
  --icon-message: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm-8 9a8 8 0 0 1 16 0z'/%3E%3C/svg%3E");
  --icon-overview: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 5h2v2h-2zm0 4h2v10h-2z'/%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Z'/%3E%3C/svg%3E");
  --icon-program: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3zm11 8H6v10h12zM8 12h8v2H8zm0 4h6v2H8z'/%3E%3C/svg%3E");
  --icon-cfa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 10h3l10-5v14L7 14H4zm15-1.2 3-1.8v10l-3-1.8zM7 15l3 6H7l-2.4-6z'/%3E%3C/svg%3E");
  --icon-registration: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6a3 3 0 0 1 3-3h15v5a3 3 0 0 0 0 6v5H6a3 3 0 0 1-3-3v-2a3 3 0 0 0 0-6zm9 1h2v3h3v2h-3v3h-2v-3H9v-2h3z'/%3E%3C/svg%3E");
  --icon-participant: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm8 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM2 21a6 6 0 0 1 12 0zm12.5 0a7.5 7.5 0 0 0-2.1-5.2A5 5 0 0 1 22 18v3z'/%3E%3C/svg%3E");
  --icon-speakers: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a4 4 0 0 0-4 4v5a4 4 0 0 0 8 0V7a4 4 0 0 0-4-4Zm-7 8h2v1a5 5 0 0 0 10 0v-1h2v1a7 7 0 0 1-6 6.9V22h-2v-3.1A7 7 0 0 1 5 12z'/%3E%3C/svg%3E");
  --icon-sponsor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21V7l9-4 9 4v14h-6v-6H9v6zm6-10h2V8H9zm4 0h2V8h-2z'/%3E%3C/svg%3E");
  --icon-press: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v14H4zm2 2v10h12V7zm2 2h4v4H8zm6 0h3v2h-3zm0 4h3v2h-3z'/%3E%3C/svg%3E");
  --icon-access: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7Zm0 10.5A3.5 3.5 0 1 1 12 5a3.5 3.5 0 0 1 0 7.5Z'/%3E%3C/svg%3E");
  --icon-poster: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h14v18H5zm2 2v14h10V5zm1.5 10 2.5-3 2 2.4 1.2-1.4 2.3 3zM9 8.5A1.5 1.5 0 1 1 12 8.5 1.5 1.5 0 0 1 9 8.5Z'/%3E%3C/svg%3E");
  --icon-link: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 14.5 6.8 13l-1.9 1.9a3 3 0 0 0 4.2 4.2l3.2-3.2a3 3 0 0 0 0-4.2l1.4-1.4a5 5 0 0 1 0 7l-3.2 3.2a5 5 0 0 1-7.1-7.1L5.3 12zm2-4.2a5 5 0 0 1 0-7l3.2-3.2a5 5 0 0 1 7.1 7.1L18.9 9l-1.4-1.4 1.9-1.9a3 3 0 1 0-4.2-4.2L12 4.7a3 3 0 0 0 0 4.2zm-3.2 5.4 8.5-8.5 1.4 1.4-8.5 8.5z'/%3E%3C/svg%3E");
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  background: #eaf6fb url("../../images/hero-img.png") center / cover fixed no-repeat;
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
  letter-spacing: 0;
}

body {
  margin: 0;
  background: transparent;
}

body.menu-open {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.site-shell {
  display: grid;
  grid-template-columns: var(--sidebar) minmax(0, 1fr);
  min-height: 100vh;
  background:
    radial-gradient(circle at 83% 8%, rgba(255, 255, 255, .5) 0 92px, transparent 93px),
    rgba(255, 255, 255, .56);
  backdrop-filter: blur(14px);
}

.sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 20px;
  overflow-y: auto;
  min-height: 100vh;
  max-height: 100vh;
  padding: 28px 22px 24px;
  color: #fff;
  border-right: 0;
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  color: var(--blue-900);
}

.sidebar .brand {
  display: block;
}

.sidebar .brand > img {
  width: 100%;
  max-width: 236px;
  height: auto;
}

.side-nav {
  display: grid;
  gap: 8px;
}

.side-nav a {
  display: flex;
  align-items: center;
  min-height: 41px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: rgba(255, 255, 255, .95);
  font-size: 14px;
  font-weight: 500;
	background: var(--blue-900);
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.side-nav a::before,
.mobile-menu-panel a::before {
  content: "";
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin-right: 11px;
  background: currentColor;
  opacity: .86;
  -webkit-mask: var(--nav-icon) center / contain no-repeat;
  mask: var(--nav-icon) center / contain no-repeat;
}

.side-nav a[href$="index.html"],
.mobile-menu-panel a[href$="index.html"] {
  --nav-icon: var(--icon-home);
}

.side-nav a[href$="message.html"],
.mobile-menu-panel a[href$="message.html"] {
  --nav-icon: var(--icon-message);
}

.side-nav a[href$="overview.html"],
.mobile-menu-panel a[href$="overview.html"] {
  --nav-icon: var(--icon-overview);
}

.side-nav a[href$="program.html"],
.mobile-menu-panel a[href$="program.html"] {
  --nav-icon: var(--icon-program);
}

.side-nav a[href$="cfa.html"],
.mobile-menu-panel a[href$="cfa.html"] {
  --nav-icon: var(--icon-cfa);
}

.side-nav a[href$="registration.html"],
.mobile-menu-panel a[href$="registration.html"] {
  --nav-icon: var(--icon-registration);
}

.side-nav a[href$="participant.html"],
.mobile-menu-panel a[href$="participant.html"] {
  --nav-icon: var(--icon-participant);
}

.side-nav a[href$="speakers.html"],
.mobile-menu-panel a[href$="speakers.html"] {
  --nav-icon: var(--icon-speakers);
}

.side-nav a[href$="sponsor.html"],
.mobile-menu-panel a[href$="sponsor.html"] {
  --nav-icon: var(--icon-sponsor);
}

.side-nav a[href$="press.html"],
.mobile-menu-panel a[href$="press.html"] {
  --nav-icon: var(--icon-press);
}

.side-nav a[href$="access.html"],
.mobile-menu-panel a[href$="access.html"] {
  --nav-icon: var(--icon-access);
}

.side-nav a[href$="poster.html"],
.mobile-menu-panel a[href$="poster.html"] {
  --nav-icon: var(--icon-poster);
}

.side-nav a[href$="link.html"],
.mobile-menu-panel a[href$="link.html"] {
  --nav-icon: var(--icon-link);
}

.side-nav a::after {
  content: "›";
  margin-left: auto;
  color: currentColor;
  font-size: 22px;
  line-height: 1;
  opacity: .5;
}

.side-nav a:hover {
	opacity:0.6;
	transition: opacity 0.3s;
}

.side-nav a:active {
	opacity:0.4;
}

.side-nav a.is-active {
  color: var(--blue-950);
  background: #fff;
  box-shadow: 0 14px 26px rgba(0, 22, 56, .22);
}

.side-nav a.is-active::before {
  opacity: 1;
}

.side-nav a.is-active::after {
  opacity: .58;
}

.quick-links a.is-disabled,
.side-nav a.is-disabled,
.mobile-menu-panel a.is-disabled {
  opacity: .45;
  cursor: default;
}

.side-nav a.is-disabled:hover,
.side-nav a.is-disabled:active,
.quick-links a.is-disabled:hover,
.quick-links a.is-disabled:active,
.mobile-menu-panel a.is-disabled:hover,
.mobile-menu-panel a.is-disabled:active {
  opacity: .45;
}

.quick-links a.is-disabled:hover,
.quick-links a.is-disabled:active {
  transform: none;
  box-shadow: 0 16px 34px rgba(18, 70, 110, .08);
}

.main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100vh;
  padding-top: 46px;
}

.main > section {
  width: min(1080px, calc(100% - 48px));
  max-width: 1080px;
  margin-inline: auto;
}

.mobile-header {
  display: none;
}

.mobile-menu {
  display: none;
}

.hero {
  position: relative;
  display: block;
  padding: 0;
  overflow: hidden;
}

.hero-copy {
  position: absolute;
  z-index: 2;
  top: clamp(76px, 8.5vw, 116px);
  left: 50%;
  width: min(86%, 860px);
  max-width: none;
  transform: translateX(-50%);
}

.hero-title {
  height: auto;
	width: 85%;
	margin: 0 auto;
}

.hero-visual {
  position: relative;
  margin: 0;
}

.hero-visual img,
.hero-visual video {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center center;
  margin-inline: auto;
  border-radius: 42px;
}

.quick-links {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: clamp(-400px, -36vw, -260px);
  padding: 0 74px 0;
}

.quick-links a,
.panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(18, 70, 110, .08);
}

.quick-links a {
  min-height: 142px;
  padding: 24px;
  transition: transform .2s ease, box-shadow .2s ease;
}

.quick-links a:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 38px rgba(18, 70, 110, .12);
}

.quick-links span {
  color: var(--blue-700);
  font-size: 12px;
  font-weight: 800;
}

.quick-links strong {
  display: block;
  margin-top: 10px;
  color: var(--blue-900);
  font-size: 24px;
}

.quick-links small {
  display: block;
  margin-top: 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

.news-section {
  position: relative;
  z-index: 4;
  margin-top: clamp(180px, 25vw, 292px);
  padding: 0 74px 76px;
}

.site-footer {
  padding: 42px clamp(24px, 6vw, 82px) 34px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(11, 115, 186, .22), transparent 54%),
    var(--blue-950);
	border-radius: 16px 0 0 0;
}

.footer-inner {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 28px;
  max-width: 1120px;
}

.footer-office {
  min-width: 0;
  padding: 2px 0 2px 22px;
  border-left: 4px solid var(--yellow);
}

.footer-office h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: 18px;
  line-height: 1.45;
}

.footer-office p {
  margin: 0;
  color: rgba(255, 255, 255, .86);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.85;
}

.footer-office a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer-office a[href^="mailto:"] {
  display: inline-flex;
  align-items: center;
  gap: .45em;
}

.footer-office a[href^="mailto:"]::before {
  content: "";
  flex: 0 0 auto;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3zm2.4 2 6.6 5 6.6-5zm13.6 10V9.3l-7 5.3-7-5.3V17z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3zm2.4 2 6.6 5 6.6-5zm13.6 10V9.3l-7 5.3-7-5.3V17z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.footer-copy {
  max-width: 1120px;
  margin: 30px 0 0;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.7;
}

.panel {
  padding: 28px;
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--blue-900);
  padding-bottom: 12px;
}

.section-heading p {
  margin: 0;
  color: var(--blue-700);
  font-size: 14px;
  font-weight: 800;
}

.section-heading h2 {
  margin: 0;
  color: var(--blue-900);
  font-size: 24px;
  line-height: 1.3;
}

.news ol {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news li {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 28px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
  font-weight: 500;
}

.news li:last-child {
  border-bottom: 0;
}

.news time {
  color: var(--muted);
  font-weight: 800;
}

.inner-page {
  flex: 1 0 auto;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 64px) 88px;
}

.link-page {
  display: flex;
  flex-direction: column;
}

.link-page .content-card {
  flex: 1 1 auto;
  width: 100%;
}

.page-kicker {
  margin: 0 0 14px;
  color: var(--red);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
}

.page-title {
  margin: 0;
  color: var(--blue-900);
  font-size: clamp(34px, 5vw, 54px);
  line-height: 1.25;
}

.page-lead {
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.9;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 28px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
}

.breadcrumb a {
  color: var(--blue-800);
}

.content-card {
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(18, 70, 110, .09);
}

.inner-content h1,
.inner-content h2,
.inner-content h3,
.inner-content h4,
.inner-content h5,
.inner-content h6 {
  color: var(--blue-900);
  font-weight: 700;
  line-height: 1.35;
}

.inner-content h1 {
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 3px solid var(--blue-900);
  font-size: clamp(26px, 3vw, 34px);
}

.inner-content h2 {
  margin: 42px 0 18px;
  padding-left: 16px;
  border-left: 6px solid var(--red);
  font-size: clamp(22px, 3vw, 28px);
}

.inner-content h3 {
  margin: 32px 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  font-size: 24px;
  font-weight: 650;
}

.inner-content h4 {
  margin: 26px 0 12px;
  color: var(--blue-800);
  font-size: 20px;
  font-weight: 650;
}

.inner-content h5 {
  margin: 22px 0 10px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 600;
}

.inner-content h6 {
  margin: 22px 0 12px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.inner-content p {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.9;
}

.lead-box {
  padding: 22px 24px;
  border-radius: 8px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
}

.table-wrap {
  overflow-x: auto;
  margin: 18px 0 30px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.inner-content table {
  width: max-content;
  min-width: 100%;
  max-width: none;
  border-collapse: collapse;
  font-size: 15px;
}

.inner-content th,
.inner-content td {
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.inner-content th {
  width: auto;
  color: #fff;
  background: var(--blue-800);
  font-weight: 500;
}

.inner-content tr:last-child th,
.inner-content tr:last-child td {
  border-bottom: 0;
}

.definition-list {
  display: grid;
  overflow: hidden;
  margin: 18px 0 30px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.definition-list div {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  border-bottom: 1px solid var(--line);
}

.definition-list div:last-child {
  border-bottom: 0;
}

.definition-list dt,
.definition-list dd {
  margin: 0;
  padding: 15px 18px;
}

.definition-list dt {
  color: var(--blue-900);
  background: var(--blue-100);
  font-weight: 500;
}

.definition-list dd {
  color: var(--muted);
  font-weight: 500;
  line-height: 1.7;
}

.list-area {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.list-box {
  padding: 22px 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.list-box h4 {
  margin-top: 0;
}

.inner-content ul,
.inner-content ol {
  margin: 0;
  padding-left: 1.4em;
  color: var(--muted);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.85;
}

.inner-content li::marker {
  color: var(--blue-700);
  font-weight: 700;
}

.button-sample {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.sponsor-application-note {
  margin-top: 2em;
}

.sample-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
}

.sample-button.primary {
  color: #fff;
  background: linear-gradient(135deg, var(--blue-800), var(--blue-700));
  box-shadow: 0 12px 22px rgba(7, 91, 156, .18);
}

.sample-button.secondary {
  color: var(--blue-900);
  border: 1px solid var(--line);
  background: #fff;
}

.sample-button.accent {
  color: #fff;
  background: linear-gradient(135deg, #ef7167, var(--red));
  box-shadow: 0 14px 24px rgba(232, 95, 88, .2);
}

.sample-button.text {
  color: var(--blue-800);
  background: transparent;
  padding-inline: 4px;
}

.map-embed {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 24px 0 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--blue-100);
  box-shadow: 0 16px 34px rgba(18, 70, 110, .08);
}

.map-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.map-link {
  margin-bottom: 0;
}

.note-box {
  margin-top: 26px;
  padding: 18px 20px;
  border-left: 6px solid var(--yellow);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
}

.message-intro {
  display: grid;
	grid-template-columns: 25% 1fr;
  gap: clamp(24px, 4vw, 42px);
  align-items: end;
  margin-bottom: 34px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--line);
}

.chair-photo {
  margin: 0;
}

.chair-photo img {
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 18px 34px rgba(18, 70, 110, .14);
}

.message-lead p {
  color: var(--ink);
}

.chair-name {
  margin-top: 28px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.8;
}

.chair-name strong {
  color: var(--blue-900);
  font-size: 22px;
  font-weight: 700;
}

.chair-name span {
  color: var(--muted);
}

.message-body {
  max-width: 760px;
  margin-inline: auto;
}

.message-body p {
  color: var(--ink);
  font-size: 16px;
  line-height: 2.05;
}

@media (max-width: 1080px) {
  .site-shell {
    display: block;
    backdrop-filter: none;
  }

  .main {
    padding-top: 0;
  }

  .main > section {
    width: min(1100px, calc(100% - 32px));
  }

  .sidebar {
    display: none;
  }

  .mobile-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 76px;
    padding: 14px 20px;
    background: #fff;
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(10px);
  }

  .mobile-header .brand > img {
    width: 150px;
    height: auto;
  }

  .menu-button {
    display: grid;
    gap: 5px;
    width: 44px;
    height: 44px;
    place-content: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
  }

  .menu-button span {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--blue-900);
    transition: transform .2s ease, opacity .2s ease;
  }

  .menu-open .menu-button span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .menu-open .menu-button span:nth-child(2) {
    opacity: 0;
  }

  .menu-open .menu-button span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .mobile-menu {
    position: fixed;
    inset: 76px 0 0;
    z-index: 19;
    display: block;
    width: 100vw;
    height: calc(100dvh - 76px);
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
  }

  .menu-open .mobile-menu {
    visibility: visible;
    pointer-events: auto;
  }

  .mobile-menu-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    border: 0;
    background: rgba(6, 60, 120, .24);
    opacity: 0;
    transition: opacity .22s ease;
  }

  .menu-open .mobile-menu-backdrop {
    opacity: 1;
  }

.mobile-menu-panel {
    position: absolute;
    top: 0;
    right: 0;
    display: grid;
    gap: 6px;
    width: min(342px, calc(100vw - 32px));
    max-height: calc(100dvh - 92px);
    overflow: auto;
    padding: 18px;
    border-left: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    border-radius: 0 0 0 8px;
    background: #fff;
    box-shadow: 0 24px 48px rgba(6, 60, 120, .18);
    transform: translateX(100%);
    transition: transform .24s ease;
  }

  .menu-open .mobile-menu-panel {
    transform: translateX(0);
  }

  .mobile-menu-panel a {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--blue-900);
    font-size: 14px;
    font-weight: 750;
    background: transparent;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
  }

  .mobile-menu-panel a:hover {
    border-color: rgba(7, 91, 156, .16);
    background: rgba(11, 115, 186, .08);
  }

  .mobile-menu-panel a:active {
    border-color: rgba(7, 91, 156, .28);
    background: rgba(11, 115, 186, .14);
  }

  .mobile-menu-panel a.is-active {
    color: var(--blue-900);
    background: transparent;
    box-shadow: none;
  }

  .mobile-menu-panel a.is-active::before {
    opacity: 1;
  }

  .hero {
    padding: 0;
    margin: 0 !important;
    width: 100% !important;
  }

  .hero-copy {
    top: clamp(34px, 9vw, 76px);
    width: min(88%, 640px);
    max-width: none;
    order: initial;
  }

  .hero-title {
    width: 100%;
  }

  .hero-visual {
    order: initial;
  }

  .hero-visual img,
  .hero-visual video {
    width: 100%;
    border-width: 0;
    border-radius: 0;
  }

  .quick-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
    padding: 0 0 30px;
  }

  .news-section {
    margin-top: 0;
    padding: 0 0 46px;
  }

  .site-footer {
    padding: 34px 20px 30px;
    border-radius: 0;
  }

  .footer-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (min-width: 1081px) and (max-width: 1360px) {
  .hero {
    padding: 0;
  }

  .hero-title {
		width: 75%;
		margin: 0 auto;
  }

  .hero-visual img,
  .hero-visual video {
    width: 100%;
  }

  .quick-links {
    padding-inline: 38px;
  }

  .news-section {
    padding-inline: 38px;
  }

  .site-footer {
    padding-inline: 38px;
  }
}

@media (max-width: 620px) {
  .hero-title {
    width: 100%;
  }

  .quick-links {
    grid-template-columns: 1fr;
  }

  .quick-links a {
    min-height: 112px;
  }

  .section-heading {
    display: block;
  }

  .section-heading h2 {
    margin-top: 6px;
    font-size: 21px;
  }

  .news li {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .inner-page {
    padding: 30px 20px 58px;
  }

  .content-card {
    padding: 22px 20px;
  }

  .definition-list div,
  .list-area {
    grid-template-columns: 1fr;
  }

  .map-embed {
    aspect-ratio: 4 / 3;
  }

  .message-intro {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .chair-photo {
    max-width: 260px;
  }
}


.sitelink {
  text-decoration: underline;
}
