@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Paperozi";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-display: swap;
}

:root {
  --ink: #0d0a00;
  --paper: #fff;
  --cream: #fef6d6;
  --line: #131313;
  --soft: #f6f6f3;
  --content: 1200px;
  --gutter: clamp(16px, 3vw, 36px);
  --section-gap: 72px;
}

* { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Paperozi", Arial, sans-serif; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
a:focus-visible, button:focus-visible { outline: 3px solid #01a1e9; outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header { position: sticky; z-index: 100; top: 0; padding-inline: var(--gutter); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); backdrop-filter: blur(10px); }
.header-inner { display: flex; width: min(100%, var(--content)); height: 76px; margin: 0 auto; padding: 8px 10px; align-items: center; gap: 28px; }
.site-logo { display: flex; align-items: center; }
.site-logo img { width: auto; height: 60px; }
.year-navigation { display: flex; margin-left: auto; align-items: center; gap: 28px; }
.year-navigation > a, .year-menu-button { padding: 4px 0; border: 0; border-bottom: 1px solid transparent; background: transparent; font-size: 16px; font-weight: 400; letter-spacing: .12em; cursor: pointer; }
.year-navigation > a:hover, .year-menu-button:hover, .year-menu.is-open .year-menu-button { border-bottom-color: var(--line); }
.year-menu { position: relative; }
.year-dropdown { position: absolute; top: calc(100% + 17px); left: 50%; display: none; width: 160px; padding: 8px 0; background: var(--paper); transform: translateX(-50%); }
.year-menu.is-open .year-dropdown { display: block; }
.year-dropdown a { display: block; padding: 10px 20px; font-size: 12px; letter-spacing: .06em; }
.year-dropdown a:hover, .year-dropdown a:focus-visible { background: #f3f3f3; }
.mobile-menu-button, .mobile-navigation { display: none; }

main, .site-footer { padding-inline: var(--gutter); }
.hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, var(--content)); min-height: 610px; margin: 0 auto; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.hero-copy { display: flex; padding: clamp(44px, 5.5vw, 76px); border-right: 1px solid var(--line); flex-direction: column; justify-content: center; }
.eyebrow { margin: 0 0 22px; font-size: 14px; font-weight: 800; letter-spacing: .16em; }
.hero h1 { margin: 0; font-size: clamp(48px, 4vw, 60px); line-height: 1.03; letter-spacing: -.055em; }
.event-date { margin: 42px 0 0; padding-top: 24px; border-top: 2px solid var(--line); font-size: clamp(18px, 1.75vw, 25px); font-weight: 800; line-height: 1.4; }
.overview-reservation-action { display: flex; margin-top: 32px; justify-content: center; }
.hero-reservation-link { display: inline-flex; min-width: min(100%, 340px); min-height: 52px; padding: 13px 24px; border: 1px solid #009fe8; align-items: center; justify-content: center; background: #009fe8; color: var(--paper); font-size: 16px; font-weight: 700; transition: background-color .18s ease, border-color .18s ease; }
.hero-reservation-link:hover, .hero-reservation-link:focus-visible { border-color: #008dcc; background: #008dcc; color: var(--paper); }
.hero-reservation-link:active { border-color: #e40a0a; background: #e40a0a; }
.hero-visual { display: grid; padding: clamp(38px, 5vw, 70px); background: var(--cream); place-items: center; }
.hero-visual img { width: min(100%, 460px); height: auto; }

.event-overview { width: min(100%, var(--content)); margin: 0 auto; padding: clamp(70px, 8vw, 110px) clamp(24px, 5vw, 72px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.event-overview h2 { margin: 0 0 36px; font-size: clamp(40px, 4.5vw, 62px); line-height: 1; letter-spacing: -.05em; }
.overview-table { overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: 12px; }
.overview-table > div { display: grid; grid-template-columns: 180px minmax(0,1fr); min-height: 78px; border-bottom: 1px solid var(--line); }
.overview-table > div:last-child { border-bottom: 0; }
.overview-table dt, .overview-table dd { display: flex; margin: 0; padding: 20px 24px; align-items: center; font-size: 17px; line-height: 1.9; }
.overview-table dt { border-right: 1px solid var(--line); background: var(--cream); font-weight: 700; }
.overview-table dd { font-weight: 500; }

.quick-links { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); width: min(100%, var(--content)); margin: 0 auto; padding: clamp(28px, 4vw, 48px); border-right: 1px solid var(--line); border-left: 1px solid var(--line); gap: 14px; }
.quick-links a { display: flex; min-height: 82px; padding: 18px 22px; border: 1px solid #c9c9c5; border-radius: 7px; background: #f4f4f2; align-items: center; justify-content: space-between; gap: 16px; font-size: 16px; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.quick-links a:hover, .quick-links a:focus-visible { border-color: var(--line); background: var(--paper); transform: translateY(-2px); }
.quick-links a span:last-child { color: var(--line); transition: transform .18s ease; }
.quick-links a:hover span:last-child, .quick-links a:focus-visible span:last-child { transform: translateX(4px); }
.quick-links.subpage-quick-links { width: min(calc(100% - (2 * var(--gutter))), var(--content)); padding: clamp(24px, 3vw, 36px); border-top: 1px solid #c9c9c5; }
.quick-links a[aria-current="page"] { border-color: #c9c9c5; background: #f4f4f2; color: var(--ink); pointer-events: auto; }
.quick-links a[aria-current="page"]:hover, .quick-links a[aria-current="page"]:focus-visible { border-color: var(--line); background: var(--paper); color: var(--ink); transform: translateY(-2px); }

.site-footer { border-top: 1px solid #c9c9c5; border-bottom: 1px solid #c9c9c5; text-align: center; }
.footer-inner { width: min(100%, var(--content)); margin: 0 auto; padding: 52px 24px 56px; }
.footer-inner strong { display: block; margin-bottom: 20px; font-size: 16px; }
.footer-inner address, .footer-inner p { margin: 0; color: #777; font-size: 12px; font-style: normal; line-height: 1.8; }
.footer-inner p { margin-top: 6px; }
.science-center-link { display: inline-flex; min-height: 46px; margin-top: 24px; padding: 0 20px; border-radius: 4px; background: var(--line); color: var(--paper); align-items: center; gap: 12px; font-size: 13px; font-weight: 700; }

.floating-controls { position: fixed; z-index: 20; right: 18px; bottom: 18px; display: grid; width: 62px; gap: 12px; }
.social-controls { display: grid; overflow: hidden; border: 1px solid var(--line); background: var(--paper); }
.social-label, .social-controls a { display: grid; min-height: 52px; border-bottom: 1px solid var(--line); place-items: center; }
.social-label { min-height: 32px; font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.social-controls a:last-child { border-bottom: 0; }
.social-controls img { width: 19px; height: 19px; }
.social-controls a { transition: background .18s ease; }
.social-controls a:hover, .social-controls a:focus-visible { background: var(--cream); }
.back-to-top { visibility: hidden; display: grid; min-height: 62px; padding: 6px; border: 1px solid var(--line); background: var(--paper); opacity: 0; place-items: center; cursor: pointer; transition: background .18s ease, opacity .18s, visibility .18s; }
.back-to-top:hover, .back-to-top:focus-visible { background: #ededeb; }
.back-to-top.is-visible { visibility: visible; opacity: 1; }
.back-to-top small { font-size: 10px; font-weight: 800; }

@media (max-width: 900px) {
  :root { --section-gap: 56px; }
  .year-navigation { display: none; }
  .header-inner { padding-inline: 16px; }
  .mobile-menu-button { display: grid; width: 48px; height: 48px; margin-left: auto; padding: 11px; border: 0; background: transparent; place-content: center; gap: 5px; }
  .mobile-menu-button i { display: block; width: 26px; height: 2px; background: var(--line); transition: transform .18s, opacity .18s; }
  .mobile-menu-button[aria-expanded="true"] i:first-of-type { transform: translateY(7px) rotate(45deg); }
  .mobile-menu-button[aria-expanded="true"] i:nth-of-type(2) { opacity: 0; }
  .mobile-menu-button[aria-expanded="true"] i:last-of-type { transform: translateY(-7px) rotate(-45deg); }
  .mobile-navigation { width: min(100%, var(--content)); margin: 0 auto; border: 1px solid var(--line); border-top: 0; background: var(--paper); }
  .mobile-navigation.is-open { display: block; }
  .mobile-navigation > a, .mobile-year-button, .mobile-year-links a { display: flex; width: 100%; min-height: 52px; padding: 13px 20px; border: 0; border-bottom: 1px solid var(--line); background: transparent; align-items: center; font-weight: 700; }
  .mobile-year-button { justify-content: space-between; }
  .mobile-year-links { display: none; background: #f6f6f3; }
  .mobile-year-group.is-open .mobile-year-links { display: block; }
  .mobile-year-links a { padding-left: 36px; font-size: 14px; }
  .hero { grid-template-columns: 1fr; min-height: 0; }
  .hero-copy { min-height: 430px; border-right: 0; border-bottom: 1px solid var(--line); }
  .hero-visual { min-height: 480px; }
  .quick-links { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 600px) {
  :root { --gutter: 12px; --section-gap: 44px; }
  .hero-copy { min-height: 350px; padding: 44px 24px; }
  .hero h1 { font-size: clamp(36px, 10.5vw, 46px); }
  .event-date { margin-top: 30px; font-size: 18px; }
  .hero-reservation-link { width: 100%; min-height: 54px; }
  .hero-visual { min-height: 0; padding: 34px 20px; }
  .event-overview { padding: 58px 16px; }
  .event-overview h2 { margin-bottom: 26px; }
  .overview-table > div { grid-template-columns: 1fr; }
  .overview-table dt { border-right: 0; border-bottom: 1px solid var(--line); }
  .overview-table dt, .overview-table dd { padding: 16px 18px; }
  .quick-links { grid-template-columns: 1fr; padding: 16px; }
  .quick-links a { min-height: 68px; }
  .footer-inner { padding: 44px 20px 48px; }
  .floating-controls { position: static; display: grid; grid-template-columns: auto 56px; width: max-content; margin: 16px 12px 16px auto; }
  .social-controls { grid-template-columns: 46px 46px 46px; }
  .social-label, .social-controls a { min-height: 46px; border-right: 1px solid var(--line); border-bottom: 0; }
  .social-controls a:last-child { border-right: 0; }
  .back-to-top { visibility: visible; min-height: 46px; opacity: 1; }
}

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

/* Subpages */
.subpage-main { padding-inline: var(--gutter); }
.page-layout { width: min(100%, var(--content)); margin: 0 auto; border-right: 1px solid var(--line); border-left: 1px solid var(--line); background: var(--paper); }
.page-masthead { display: grid; grid-template-columns: 1fr auto; min-height: 260px; padding: clamp(48px, 7vw, 92px); border-bottom: 1px solid var(--line); align-items: end; gap: 32px; }
.page-kicker { margin: 0 0 14px; color: #777; font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.page-masthead h1 { margin: 0; font-size: clamp(42px, 6vw, 72px); line-height: 1.08; letter-spacing: -.045em; }
.page-period { margin: 0; color: #555; font-size: 14px; font-weight: 700; white-space: nowrap; }
.section-navigation { display: flex; overflow-x: auto; padding: 0 clamp(20px, 5vw, 64px); border-bottom: 1px solid var(--line); scrollbar-width: none; }
.section-navigation::-webkit-scrollbar { display: none; }
.section-navigation--no-y-scroll { overflow-y: hidden; }
.section-navigation a { position: relative; display: flex; min-height: 64px; padding: 0 22px; align-items: center; flex: 0 0 auto; font-size: 14px; font-weight: 700; }
.section-navigation a[aria-current="page"]::after { position: absolute; right: 18px; bottom: -1px; left: 18px; height: 4px; background: var(--red); content: ""; }
.section-navigation--soft a[aria-current="page"]::after { display: none; }
.section-navigation--soft a[aria-current="page"] { background: #f7f7f5; }
.section-navigation--soft a:hover, .section-navigation--soft a:focus-visible { background: #f3f3f1; }
.page-content { padding: clamp(52px, 7vw, 92px); border-bottom: 1px solid var(--line); }
.page-content:last-child { border-bottom: 0; }
.page-content > h2, .content-block h2, .placeholder-stack h2 { margin: 0 0 24px; font-size: clamp(25px, 3vw, 34px); letter-spacing: -.03em; }
.page-content > h2:not(:first-child) { margin-top: var(--section-gap); }
.page-content > h3 { margin: 36px 0 18px; font-size: 20px; }
.page-content > p { margin: 0 0 28px; color: #555; line-height: 1.9; }
.content-block + .content-block, .placeholder-stack > * + * { margin-top: var(--section-gap); }
.overview-list { display: grid; margin: 0; border-top: 2px solid var(--line); }
.overview-list > div { display: grid; grid-template-columns: 180px 1fr; border-bottom: 1px solid #d8d8d8; }
.overview-list dt, .overview-list dd { margin: 0; padding: 20px 22px; font-size: 17px; line-height: 1.8; }
.overview-list dt { background: var(--cream); font-weight: 800; }
.overview-list dd { color: #444; }
.overview-content { padding-top: clamp(58px, 7vw, 84px); }
.overview-section + .overview-section { margin-top: 96px; }
.overview-recruitment-heading { margin: clamp(112px, 12vw, 156px) 0 48px; padding-top: 32px; border-top: 1px solid #c9c9c5; }
.overview-recruitment-heading p { margin: 0 0 8px; color: #777; font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.overview-recruitment-heading h2 { margin: 0; font-size: clamp(32px, 4vw, 48px); line-height: 1.15; letter-spacing: -.04em; }
.overview-section-title { display: flex; margin: 0 0 26px; align-items: baseline; gap: 14px; }
.overview-section-title span, .overview-section-title h2 { margin: 0; font-size: 29px; font-weight: 700; line-height: 1.2; letter-spacing: -.03em; }
.overview-section-title span { color: #777; }
.overview-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.overview-summary-card { min-height: 148px; padding: 24px 21px; border: 1px solid #eadca4; border-radius: 8px; background: var(--cream); }
.overview-summary-card small { display: block; color: #70694f; font-size: 11px; }
.overview-summary-card strong { display: block; margin-top: 13px; font-size: 16px; line-height: 1.5; }
.overview-summary-date { font-size: clamp(13px, 1.35vw, 16px); white-space: nowrap; }
.overview-summary-card p { margin: 9px 0 0; color: #70694f; font-size: 12px; line-height: 1.6; }
.overview-event-intro { padding: clamp(30px, 4vw, 48px); background: #fff465; color: #00aeef; }
.overview-event-eyebrow, .overview-panel-kicker { margin: 0 0 12px; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.overview-event-intro h2 { max-width: 850px; margin: 0; font-size: clamp(25px, 3.2vw, 42px); line-height: 1.25; letter-spacing: -.04em; }
.overview-event-intro > p:last-child { max-width: 940px; margin: 18px 0 0; font-size: clamp(15px, 1.6vw, 19px); line-height: 1.75; }
.overview-program-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); border: 1px solid var(--line); }
.overview-venue-panel, .overview-maker-panel { padding: clamp(26px, 4vw, 44px); }
.overview-program-grid h2 { margin: 0 0 26px; font-size: clamp(25px, 3vw, 38px); letter-spacing: -.04em; }
.overview-venue-panel ul { display: grid; margin: 0; padding: 0; list-style: none; }
.overview-venue-panel li { display: grid; grid-template-columns: 120px 1fr; padding: 13px 0; border-top: 1px solid #d7d7d2; gap: 18px; font-size: 14px; line-height: 1.55; }
.overview-venue-panel li strong { font-weight: 800; }
.overview-venue-panel li span { color: #555; }
.overview-maker-panel { display: flex; border-left: 1px solid var(--line); background: var(--cream); flex-direction: column; }
.overview-maker-panel > p:not(.overview-panel-kicker) { margin: 0; color: #444; font-size: 14px; line-height: 1.8; }
.overview-maker-link { display: inline-flex; min-height: 52px; margin-top: auto; padding: 14px 18px; border: 1px solid var(--line); align-items: center; justify-content: space-between; background: var(--paper); color: var(--ink); font-weight: 700; transition: background-color .18s ease, color .18s ease; }
.overview-maker-link:hover, .overview-maker-link:focus-visible { background: var(--ink); color: var(--paper); }
.overview-workshop-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); }
.overview-workshop-card { padding: clamp(26px, 3vw, 38px); }
.overview-workshop-card + .overview-workshop-card { border-left: 1px solid var(--line); }
.overview-workshop-card small { color: #009fe8; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.overview-workshop-card h3 { margin: 13px 0 25px; font-size: clamp(20px, 2vw, 26px); line-height: 1.35; }
.overview-workshop-card dl { margin: 0; }
.overview-workshop-card dl > div { display: grid; grid-template-columns: 58px 1fr; padding: 11px 0; border-top: 1px solid #deded9; gap: 13px; }
.overview-workshop-card dt, .overview-workshop-card dd { margin: 0; font-size: 13px; line-height: 1.65; }
.overview-workshop-card dt { font-weight: 800; }
.overview-workshop-card dd { color: #555; }
.overview-workshop-card dd strong { display: block; color: #e40a0a; }
.overview-workshop-reservation-link { display: inline-flex; min-height: 36px; margin-top: 10px; padding: 8px 12px; border: 1px solid #00aeef; align-items: center; gap: 8px; background: #00aeef; color: #fff; font-weight: 700; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.overview-workshop-reservation-link:hover, .overview-workshop-reservation-link:focus-visible { border-color: var(--ink); background: var(--ink); color: var(--paper); }
.eligibility-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.eligibility-card { min-height: 220px; padding: 26px 24px; border: 1px solid #d4d4d0; border-radius: 8px; }
.eligibility-card small { color: #777; font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.eligibility-card h3 { margin: 16px 0 12px; font-size: 18px; line-height: 1.45; }
.eligibility-card p { margin: 0; color: #666; font-size: 13px; line-height: 1.75; }
.eligibility-card strong { display: block; margin-top: 18px; font-size: 12px; }
.keyword-block { margin-top: 30px; }
.keyword-block h3 { margin: 0 0 14px; font-size: 17px; }
.keyword-list { display: flex; flex-wrap: wrap; gap: 8px; }
.keyword-list span { padding: 8px 12px; border-radius: 999px; background: #f3f3f1; color: #555; font-size: 12px; }
.detail-panel { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); overflow: hidden; border: 1px solid #d4d4d0; border-radius: 8px; }
.detail-panel > div { padding: 26px; }
.detail-panel > div + div { border-left: 1px solid #d4d4d0; background: #f7f7f5; }
.detail-panel small { color: #777; font-size: 11px; font-weight: 700; }
.detail-panel strong { display: block; margin-top: 14px; font-size: 17px; }
.detail-panel p, .detail-panel ul { margin: 12px 0 0; color: #555; font-size: 13px; line-height: 1.8; }
.detail-panel ul { padding-left: 19px; }
.recruitment-timeline { margin: 0 0 0 6px; padding: 0; list-style: none; }
.recruitment-timeline li { display: grid; grid-template-columns: 30px 1fr; min-height: 88px; }
.timeline-marker { display: flex; flex-direction: column; align-items: center; }
.timeline-dot { width: 14px; height: 14px; margin-top: 4px; border: 2px solid var(--line); border-radius: 50%; background: var(--paper); }
.timeline-line { width: 1px; flex: 1; background: #c8c8c3; }
.recruitment-timeline li:last-child .timeline-line { display: none; }
.recruitment-timeline li > div { padding: 0 0 26px 14px; }
.recruitment-timeline strong { font-size: 16px; }
.recruitment-timeline p { margin: 7px 0 0; color: #666; font-size: 13px; }
.overview-notice { display: grid; grid-template-columns: 46px 1fr; margin-top: 68px; padding: 24px 26px; border: 1px solid #dadad6; border-radius: 8px; background: #f7f7f5; gap: 15px; }
.overview-notice-icon { display: grid; width: 38px; height: 38px; border: 1px solid #333; border-radius: 50%; background: var(--paper); place-items: center; font-size: 22px; font-weight: 700; }
.overview-notice small { display: block; margin-bottom: 5px; color: #777; font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.overview-notice h2 { margin: 0 0 10px; color: #282828; font-size: 18px; }
.overview-notice ul { margin: 0; padding-left: 18px; color: #555; font-size: 13px; line-height: 1.85; }
.wireframe-placeholder { display: grid; min-height: 360px; padding: 32px; border: 1px solid #b9b9b9; border-radius: 12px; background: linear-gradient(135deg, #fafafa, #f1f1ed); color: #777; place-items: center; text-align: center; }
.wireframe-placeholder.compact { min-height: 220px; }
.program-stack { display: grid; gap: var(--section-gap); }
.program-panel { min-height: 300px; }
.program-section-heading { display: grid; margin-bottom: 32px; grid-template-columns: 110px 1fr; align-items: end; gap: 24px; }
.program-section-heading p { margin: 0 0 5px; color: #777; font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.program-section-heading h2 { margin: 0; font-size: clamp(34px, 4vw, 52px); letter-spacing: -.045em; text-align: right; }
.program-experience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid var(--line); border-bottom: 1px solid var(--line); }
.program-experience-card { display: grid; min-width: 0; grid-template-rows: auto 1fr; }
.program-experience-card + .program-experience-card { border-left: 1px solid var(--line); }
.program-experience-card figure { display: grid; min-height: 330px; margin: 0; padding: clamp(24px, 4vw, 44px); border-bottom: 1px solid var(--line); background: var(--soft); place-items: center; }
.program-experience-card img { width: 100%; height: 270px; object-fit: contain; }
.program-experience-copy { padding: clamp(28px, 4vw, 44px); }
.program-experience-copy > span { display: block; margin-bottom: 18px; color: #009fe8; font-size: 14px; font-weight: 800; }
.program-experience-copy h3 { margin: 0 0 20px; font-size: clamp(25px, 2.7vw, 36px); line-height: 1.2; letter-spacing: -.04em; }
.program-experience-copy p { margin: 0; color: #444; font-size: 16px; line-height: 1.85; }
.program-experience-copy ul { margin: 26px 0 0; padding: 22px 0 0 20px; border-top: 1px solid #d4d4d0; color: #555; font-size: 14px; line-height: 1.8; }
.notice-list { margin: 0; padding: 0; border-top: 2px solid var(--line); list-style: none; }
.notice-list a { display: grid; grid-template-columns: 70px 1fr 110px; min-height: 76px; padding: 0 18px; border-bottom: 1px solid #d8d8d8; align-items: center; gap: 18px; }
.notice-list a:hover, .notice-list a:focus-visible { background: #f7f7f5; }
.notice-list strong { overflow-wrap: anywhere; }
.notice-number { color: #777; font-variant-numeric: tabular-nums; }
.notice-list time { color: #777; text-align: right; }
.notice-empty { margin: 0; padding: 54px 18px; border-top: 2px solid var(--line); border-bottom: 1px solid #d8d8d8; color: #777; text-align: center; }
.notice-pagination { margin-top: 36px; }
.notice-pagination .page-numbers { display: flex; margin: 0; padding: 0; justify-content: center; flex-wrap: wrap; gap: 8px; list-style: none; }
.notice-pagination a, .notice-pagination span { display: grid; min-width: 42px; min-height: 42px; padding: 8px 11px; border: 1px solid #d4d4d0; border-radius: 4px; place-items: center; font-size: 13px; }
.notice-pagination a:hover, .notice-pagination a:focus-visible { border-color: var(--line); background: #f7f7f5; }
.notice-pagination .current { border-color: var(--line); background: var(--line); color: var(--paper); }
.notice-detail-header { padding-bottom: 28px; border-bottom: 2px solid var(--line); }
.notice-detail-header h2 { margin: 0 0 16px; font-size: clamp(25px, 3vw, 34px); line-height: 1.4; letter-spacing: -.03em; overflow-wrap: anywhere; }
.notice-detail-header time { color: #777; font-size: 14px; }
.notice-detail-content { min-height: 240px; padding: 42px 0 58px; border-bottom: 1px solid #d8d8d8; color: #444; line-height: 1.9; overflow-wrap: anywhere; }
.notice-detail-content > :first-child { margin-top: 0; }
.notice-detail-content > :last-child { margin-bottom: 0; }
.notice-detail-content a { text-decoration: underline; text-underline-offset: 3px; }
.notice-list-link { display: flex; width: max-content; min-width: 112px; min-height: 48px; margin: 34px 0 0 auto; padding: 10px 22px; border: 1px solid var(--line); border-radius: 4px; align-items: center; justify-content: center; font-weight: 700; }
.notice-list-link:hover, .notice-list-link:focus-visible { background: var(--line); color: var(--paper); }
.gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 20px; }
.gallery-card { min-width: 0; }
.gallery-card-media { display: block; overflow: hidden; width: 100%; padding: 0; aspect-ratio: 4 / 3; border: 1px solid #d8d8d8; border-radius: 6px; background: #f3f3f1; color: inherit; font: inherit; text-align: inherit; cursor: zoom-in; }
.gallery-card-media img { width: 100%; height: 100%; object-fit: cover; transition: opacity .18s ease; }
.gallery-card-placeholder { display: grid; width: 100%; height: 100%; color: #888; place-items: center; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.gallery-card-media-placeholder { cursor: default; }
.gallery-card-media:hover img, .gallery-card-media:focus-visible img { opacity: .84; }
.gallery-empty { margin: 0; padding: 54px 18px; border-top: 2px solid var(--line); border-bottom: 1px solid #d8d8d8; color: #777; text-align: center; }
.gallery-pagination { margin-top: 42px; }
.gallery-pagination .page-numbers { display: flex; margin: 0; padding: 0; justify-content: center; flex-wrap: wrap; gap: 8px; list-style: none; }
.gallery-pagination a, .gallery-pagination span { display: grid; min-width: 42px; min-height: 42px; padding: 8px 11px; border: 1px solid #d4d4d0; border-radius: 4px; place-items: center; font-size: 13px; }
.gallery-pagination a:hover, .gallery-pagination a:focus-visible { border-color: var(--line); background: #f7f7f5; }
.gallery-pagination .current { border-color: var(--line); background: var(--line); color: var(--paper); }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox { position: fixed; z-index: 10000; inset: 0; display: grid; padding: 32px; background: rgb(0 0 0 / 82%); place-items: center; }
.gallery-lightbox-dialog { position: relative; display: grid; width: min(1180px, 100%); height: min(88vh, 900px); grid-template-columns: 52px minmax(0, 1fr) 52px; align-items: center; }
.gallery-lightbox figure { display: grid; max-width: 100%; max-height: 100%; margin: 0; justify-items: center; }
.gallery-lightbox-image { max-width: 100%; max-height: calc(88vh - 54px); object-fit: contain; }
.gallery-lightbox-close, .gallery-lightbox-prev, .gallery-lightbox-next { display: grid; min-width: 48px; min-height: 48px; padding: 0; border: 0; color: #fff; background: transparent; place-items: center; cursor: pointer; }
.gallery-lightbox-close { position: absolute; z-index: 1; top: -4px; right: 0; font-size: 38px; }
.gallery-lightbox-prev, .gallery-lightbox-next { font-size: 52px; }
.gallery-lightbox button:hover, .gallery-lightbox button:focus-visible { background: rgb(255 255 255 / 14%); }
body.gallery-lightbox-open { overflow: hidden; }
.gallery-detail-header { padding-bottom: 28px; border-bottom: 2px solid var(--line); }
.gallery-detail-header h2 { margin: 0 0 16px; font-size: clamp(25px, 3vw, 34px); line-height: 1.4; letter-spacing: -.03em; overflow-wrap: anywhere; }
.gallery-detail-header time { color: #777; font-size: 14px; }
.gallery-detail-featured { margin: 42px 0 0; }
.gallery-detail-featured img { width: 100%; height: auto; }
.gallery-detail-content { min-height: 180px; padding: 42px 0 58px; border-bottom: 1px solid #d8d8d8; color: #444; line-height: 1.9; overflow-wrap: anywhere; }
.gallery-detail-content > :first-child { margin-top: 0; }
.gallery-detail-content > :last-child { margin-bottom: 0; }
.gallery-detail-content img { height: auto; }
.gallery-list-link { display: flex; width: max-content; min-width: 112px; min-height: 48px; margin: 34px 0 0 auto; padding: 10px 22px; border: 1px solid var(--line); border-radius: 4px; align-items: center; justify-content: center; font-weight: 700; }
.gallery-list-link:hover, .gallery-list-link:focus-visible { background: #f3f3f1; }
.reservation-key-visual { margin: 0; }
.reservation-key-visual img { display: block; width: 100%; height: auto; }
.reservation-content { display: grid; gap: var(--section-gap); }
.reservation-highlight { position: relative; display: grid; min-height: 430px; overflow: hidden; padding: clamp(42px, 6vw, 72px); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--cream); align-content: end; justify-items: center; text-align: center; }
.reservation-highlight::after { position: absolute; top: clamp(30px, 4vw, 48px); right: clamp(30px, 4vw, 48px); width: clamp(20px, 2.5vw, 34px); aspect-ratio: 1; background: #e40a0a; content: ""; }
.reservation-highlight-kicker { margin: 0 0 clamp(36px, 6vw, 72px); color: #009fe8; font-size: 13px; font-weight: 800; letter-spacing: .16em; }
.reservation-highlight-number { color: #009fe8; font-size: clamp(96px, 17vw, 210px); font-weight: 800; line-height: .76; letter-spacing: -.085em; }
.reservation-highlight h2 { margin: clamp(30px, 4vw, 48px) 0 0; font-size: clamp(32px, 4.7vw, 58px); line-height: 1.08; letter-spacing: -.05em; }
.reservation-highlight h2 strong { font-weight: 800; }
.reservation-highlight-summary { display: flex; width: 100%; margin: clamp(20px, 3vw, 30px) 0 0; padding-top: clamp(18px, 2.5vw, 26px); border-top: 1px solid rgba(19,19,19,.35); align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 12px; font-size: clamp(18px, 2vw, 24px); line-height: 1.55; }
.reservation-highlight-summary strong { color: #e40a0a; font-weight: 800; }
.reservation-experience { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.reservation-experience p { margin: 0; padding: clamp(30px, 4vw, 56px); border-bottom: 1px solid var(--line); font-size: clamp(22px, 2.5vw, 38px); line-height: 1.35; }
.reservation-experience p:nth-child(2) { font-size: clamp(20px, 2vw, 30px); white-space: nowrap; }
.reservation-experience p + p { border-left: 1px solid var(--line); }
.reservation-experience strong { font-size: 1.45em; letter-spacing: -.06em; }
.reservation-notice { display: grid; padding: clamp(26px, 4vw, 44px); background: #f7f7f5; gap: 22px; }
.reservation-notice p { margin: 0; font-size: 17px; line-height: 1.9; }
.reservation-notice > div { display: grid; grid-template-columns: 130px 1fr; padding-top: 22px; border-top: 1px solid #c9c9c5; }
.reservation-form-action { display: flex; justify-content: center; }
.reservation-form-link { display: inline-flex; width: min(100%, 340px); min-height: 54px; padding: 14px 24px; border: 1px solid #009fe8; align-items: center; justify-content: center; background: #009fe8; color: var(--paper); font-weight: 700; transition: background-color .18s ease, border-color .18s ease; }
.reservation-form-link:hover, .reservation-form-link:focus-visible { border-color: #008dcc; background: #008dcc; color: var(--paper); }
.reservation-form-link:active { border-color: #e40a0a; background: #e40a0a; }

.parking-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .8fr); gap: 28px; }
.kakao-map-panel { overflow: hidden; border: 1px solid #c9c9c5; border-radius: 12px; background: #f4f4f2; }
.kakao-map-canvas { width: 100%; height: clamp(300px, 34vw, 430px); background: #efefec; }
.kakao-map-canvas.is-unavailable { display: none; }
.kakao-map-status { margin: 0; padding: 28px 24px 0; color: #555; font-size: 14px; line-height: 1.7; text-align: center; }
.kakao-map-label { padding: 8px 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); box-shadow: 0 4px 12px rgb(0 0 0 / 14%); font-size: 13px; font-weight: 800; white-space: nowrap; }
.kakao-map-link { display: flex; min-height: 54px; padding: 13px 18px; border-top: 1px solid #c9c9c5; align-items: center; justify-content: space-between; background: #f4f4f2; font-size: 14px; font-weight: 700; transition: background-color .18s ease, color .18s ease; }
.kakao-map-link:hover, .kakao-map-link:focus-visible { background: var(--ink); color: var(--paper); }
.data-table { width: 100%; border-collapse: collapse; border-top: 2px solid var(--line); }
.data-table th, .data-table td { padding: 18px 16px; border-right: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8; text-align: left; line-height: 1.7; }
.data-table th:last-child, .data-table td:last-child { border-right: 0; }
.data-table th { background: var(--cream); }
.transit-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 2px solid var(--line); list-style: none; }
.transit-list li { min-height: 150px; padding: 24px; border-right: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8; line-height: 1.8; }
.transit-list li:nth-child(2n) { border-right: 0; }

@media (max-width: 760px) {
  .reservation-highlight { min-height: 360px; padding: 36px 24px; }
  .reservation-highlight::after { top: 24px; right: 24px; }
  .reservation-highlight-kicker { margin-bottom: 48px; font-size: 11px; }
  .reservation-highlight-number { font-size: clamp(82px, 30vw, 126px); }
  .reservation-highlight h2 { margin-top: 28px; }
  .reservation-highlight-summary { gap: 4px 8px; }
  .reservation-experience { grid-template-columns: 1fr; }
  .reservation-experience p:nth-child(2) { white-space: normal; }
  .reservation-experience p + p { border-left: 0; }
  .reservation-notice > div { grid-template-columns: 1fr; gap: 10px; }
  .program-section-heading { grid-template-columns: 1fr; gap: 8px; }
  .program-experience-grid { grid-template-columns: 1fr; }
  .program-experience-card + .program-experience-card { border-top: 1px solid var(--line); border-left: 0; }
  .program-experience-card figure { min-height: 250px; }
  .program-experience-card img { height: 210px; }
}

@media (max-width: 900px) {
  .overview-program-grid, .overview-workshop-grid { grid-template-columns: 1fr; }
  .overview-maker-panel { min-height: 330px; border-top: 1px solid var(--line); border-left: 0; }
  .overview-workshop-card + .overview-workshop-card { border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 600px) {
  .overview-event-intro { margin-right: calc(var(--gutter) * -1); margin-left: calc(var(--gutter) * -1); }
  .overview-venue-panel li, .overview-workshop-card dl > div { grid-template-columns: 1fr; gap: 4px; }
  .overview-maker-panel { min-height: 0; }
  .overview-maker-link { margin-top: 28px; }
}

@media (max-width: 900px) {
  .page-masthead, .page-content { padding: 56px 40px; }
  .overview-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eligibility-grid { grid-template-columns: 1fr; }
  .detail-panel { grid-template-columns: 1fr; }
  .detail-panel > div + div { border-top: 1px solid #d4d4d0; border-left: 0; }
  .parking-grid { grid-template-columns: 1fr; }
}

@media (max-width: 960px) {
  .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
  .gallery-pagination { margin-top: 32px; }
  .gallery-detail-header { padding-bottom: 22px; }
  .gallery-detail-featured { margin-top: 32px; }
  .gallery-detail-content { padding: 32px 0 44px; }
  .gallery-list-link { width: 100%; margin-top: 28px; }
  .gallery-lightbox { padding: 12px; }
  .gallery-lightbox-dialog { height: 92vh; grid-template-columns: 44px minmax(0, 1fr) 44px; }
  .gallery-lightbox-image { max-height: calc(92vh - 74px); }
  .gallery-lightbox-close, .gallery-lightbox-prev, .gallery-lightbox-next { min-width: 44px; min-height: 44px; }
  .gallery-lightbox-close { top: 0; }
  .gallery-lightbox-prev, .gallery-lightbox-next { font-size: 42px; }
}

@media (max-width: 420px) {
  .gallery-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .page-masthead { grid-template-columns: 1fr; min-height: 220px; padding: 44px 24px 34px; align-items: start; gap: 22px; }
  .page-masthead h1 { font-size: clamp(38px, 12vw, 52px); }
  .page-period { white-space: normal; }
  .section-navigation { padding-inline: 8px; }
  .section-navigation a { min-height: 56px; padding-inline: 16px; }
  .page-content { padding: 46px 24px; }
  .overview-section + .overview-section { margin-top: 64px; }
  .overview-recruitment-heading { margin-top: 80px; padding-top: 24px; }
  .overview-section-title span, .overview-section-title h2 { font-size: 24px; }
  .overview-summary { grid-template-columns: 1fr; }
  .overview-summary-card { min-height: 0; }
  .overview-notice { grid-template-columns: 38px 1fr; margin-top: 48px; padding: 20px 18px; }
  .overview-notice-icon { width: 32px; height: 32px; font-size: 18px; }
  .overview-list > div { grid-template-columns: 1fr; }
  .overview-list dt { padding-bottom: 10px; }
  .overview-list dd { padding-top: 10px; }
  .wireframe-placeholder { min-height: 240px; padding: 24px; }
  .wireframe-placeholder.compact { min-height: 170px; }
  .notice-list a { grid-template-columns: 40px 1fr; padding: 14px 8px; }
  .notice-list time { grid-column: 2; text-align: left; }
  .notice-empty { padding: 44px 12px; }
  .notice-pagination { margin-top: 28px; }
  .notice-pagination a, .notice-pagination span { min-width: 38px; min-height: 38px; }
  .notice-detail-header { padding-bottom: 22px; }
  .notice-detail-content { min-height: 180px; padding: 32px 0 44px; }
  .notice-list-link { width: 100%; margin-top: 28px; }
  .transit-list { grid-template-columns: 1fr; }
  .transit-list li { min-height: 0; border-right: 0; }
  .data-table { font-size: 13px; }
}

.maker-team-content { padding-top: clamp(64px, 8vw, 104px); }
.maker-team-count { display: flex; margin-bottom: 32px; padding-bottom: 18px; border-bottom: 1px solid var(--line); justify-content: flex-end; }
.maker-team-count > strong { font-size: 16px; white-space: nowrap; }
.maker-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 18px; }
.maker-team-card { overflow: hidden; border: 1px solid #c9c9c5; border-radius: 8px; background: var(--paper); align-self: start; }
.maker-team-media { position: relative; display: grid; overflow: hidden; aspect-ratio: 4 / 3; border-bottom: 1px solid #c9c9c5; background: #f4f4f2; place-items: center; }
.maker-team-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.maker-team-media--focus-lower { position: relative; }
.maker-team-media--focus-lower .maker-team-image--focus-lower { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.maker-team-media--contain-wide { background: #eaf6fb; }
.maker-team-media--contain-wide .maker-team-image--contain-wide { object-fit: contain; object-position: center; }
.maker-team-media--contain { position: relative; background: #f4f4f2; }
.maker-team-media--contain .maker-team-image--contain { position: absolute; inset: 0; object-fit: contain; object-position: center; }
.maker-team-media--empty { color: #888; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.maker-team-body { padding: 20px; }
.maker-team-meta { display: flex; margin-bottom: 12px; color: #777; justify-content: space-between; gap: 12px; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.maker-team-name { min-height: 3em; margin: 0; font-size: 18px; line-height: 1.5; letter-spacing: -.025em; overflow-wrap: anywhere; }
.maker-team-description { margin-top: 18px; border-top: 1px solid #deded9; }
.maker-team-description summary { padding: 14px 2px 0; font-size: 13px; font-weight: 700; cursor: pointer; }
.maker-team-description summary::marker { color: #777; }
.maker-team-description > div { padding-top: 14px; color: #555; font-size: 13px; line-height: 1.75; }
.maker-team-description p { margin: 0 0 12px; text-align: left; word-break: keep-all; overflow-wrap: break-word; line-break: strict; text-wrap: pretty; }
.maker-team-description p:last-child { margin-bottom: 0; }


@media (max-width: 900px) {
  .maker-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .maker-team-count { justify-content: flex-start; }
  .maker-team-grid { grid-template-columns: 1fr; gap: 20px; }
  .maker-team-name { min-height: 0; }
}
.side-event-page .program-experience-card figure { min-height: 0; margin: 0; padding: clamp(16px, 2.5vw, 28px); background: #f4f4f2; }
.side-event-media { display: grid; width: 100%; height: clamp(300px, 30vw, 440px); min-height: 0; align-items: center; gap: 12px; }
.side-event-media--single { grid-template-columns: 1fr; }
.side-event-media--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.side-event-media img { display: block; width: 100%; height: 100%; max-height: 390px; object-fit: contain; object-position: center; }
.reservation-open-date { margin: 14px 0 0; font-size: clamp(17px, 2vw, 22px); white-space: nowrap; }
.workshop-content { display: grid; gap: clamp(40px, 7vw, 80px); }
.workshop-card { border-top: 2px solid var(--line); }
.workshop-card > header { display: flex; gap: 22px; padding: 26px 0; align-items: flex-start; }
.workshop-card > header > span { color: #00aeef; font-weight: 800; }
.workshop-card > header p { margin: 0 0 6px; color: #666; font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.workshop-card h2 { margin: 0; font-size: clamp(26px, 4vw, 44px); }
.workshop-card > p { margin: 24px 0 0; font-size: 17px; line-height: 1.8; }
.workshop-details { margin: 0; border-top: 1px solid #c9c9c5; }
.workshop-details > div { display: grid; grid-template-columns: 120px 1fr; border-bottom: 1px solid #c9c9c5; }
.workshop-details dt, .workshop-details dd { margin: 0; padding: 18px; }
.workshop-details dt { background: #fff465; font-weight: 800; }
.workshop-schedule { margin-top: 26px; border-top: 1px solid #c9c9c5; }
.workshop-schedule > div { display: grid; grid-template-columns: 150px 1fr; border-bottom: 1px solid #c9c9c5; }
.workshop-schedule time, .workshop-schedule p { margin: 0; padding: 16px 18px; }
.workshop-schedule time { color: #00aeef; font-weight: 800; }
.zone-guide { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 28px; padding: 0; border-top: 2px solid var(--line); list-style: none; }
.zone-guide li { display: flex; justify-content: space-between; gap: 20px; padding: 20px; border-bottom: 1px solid #c9c9c5; }
.zone-guide li:nth-child(odd) { border-right: 1px solid #c9c9c5; }
.zone-guide strong { color: #00aeef; }
.map-guide-flow { display: grid; gap: clamp(28px, 4vw, 48px); }
.map-guide-flow > * { margin: 0; }
.map-directions-link { display: inline-flex; min-width: 220px; padding: 18px 22px; background: #f4f4f2; justify-content: space-between; font-weight: 700; }
.map-directions-link:hover, .map-directions-link:focus-visible { background: var(--paper); }
.map-layout-placeholder { margin-top: 0; }
.map-layout-figure { overflow: hidden; margin: 0; border: 1px solid #c9c9c5; border-radius: 12px; background: #f5f3fb; }
.map-layout-figure img { display: block; width: 100%; height: auto; }
.visitor-directions { border-top: 1px solid #c9c9c5; }
.visitor-directions > h3 { margin: 48px 0 14px; font-size: clamp(20px, 2.1vw, 28px); }
.visitor-directions > h2 + h3 { margin-top: 28px; }
.visitor-place { margin: 0 0 18px; font-weight: 700; }
@media (max-width: 680px) {
  .workshop-details > div, .workshop-schedule > div { grid-template-columns: 1fr; }
  .workshop-details dd, .workshop-schedule p { padding-top: 0; }
  .zone-guide { grid-template-columns: 1fr; }
  .zone-guide li:nth-child(odd) { border-right: 0; }
  .side-event-media--pair { grid-template-columns: 1fr; }
  .side-event-media { height: auto; min-height: 0; }
  .side-event-media img { height: auto; max-height: none; }
}
.footer-actions { display: flex; margin-top: 24px; align-items: stretch; justify-content: center; gap: 8px; }
.footer-actions .science-center-link { margin-top: 0; }
.mfs-footer-home-link { display: grid; width: 46px; min-height: 46px; border-radius: 4px; background: var(--cream); place-items: center; transition: background .18s ease, color .18s ease; }
.mfs-footer-home-link svg { width: 20px; height: 20px; fill: currentColor; }
.mfs-footer-home-link:hover, .mfs-footer-home-link:focus-visible { background: var(--line); color: var(--paper); }

/* 2026-09-10 content update */
.maker-team-booth { flex: 0 0 auto; color: #555; }
.maker-team-place { display: grid; justify-items: end; text-align: right; gap: 4px; }
.maker-team-place-name { color: #555; }
.maker-team-category { color: #777; font-size: 10px; font-weight: 700; letter-spacing: .02em; }
.reservation-closed-notice { width: min(100%, 560px); margin: 0; padding: 18px 24px; border: 1px solid var(--line); background: #f7f7f5; text-align: center; }
.reservation-closed-notice strong { font-size: clamp(18px, 2vw, 22px); line-height: 1.5; }
.parking-alert { display: grid; margin: 24px 0 30px; padding: 22px 24px; border-left: 4px solid #e40a0a; background: #f7f7f5; gap: 8px; }
.parking-alert strong { color: #b50909; }
.parking-alert span { line-height: 1.8; word-break: keep-all; }
.overview-robots { margin-top: clamp(64px, 8vw, 104px); }

@media (max-width: 600px) {
  .maker-team-meta { align-items: start; }
  .parking-alert { padding: 18px; }
}
