@font-face {
  font-family: "NmGimpoDisplay";
  src: url("https://cdn.jsdelivr.net/npm/pretendard@latest/dist/web/static/woff2/Pretendard-Black.woff2") format("woff2");
  font-weight: 900;
  font-display: swap;
}

:root {
  --nm-black: #111111;
  --nm-white: #ffffff;
  --nm-paper: #fffaf1;
  --nm-blue: #87c1eb;
  --nm-pale-blue: #ddf0ff;
  --nm-neutral: #f5f5f2;
  --nm-line: #d7d7d3;
  --nm-copy: #414141;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.gimpo-page {
  margin: 0;
  max-width: 100%;
  overflow-x: clip;
  background: var(--nm-white);
  color: var(--nm-black);
  font-family: "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  line-height: 1.55;
}
.gimpo-page img { display: block; max-width: 100%; }
.gimpo-page a { color: inherit; text-decoration: none; }
.gimpo-page button { font: inherit; }
.gimpo-page h1,
.gimpo-page h2,
.gimpo-page h3,
.gimpo-page p,
.gimpo-page figure { margin-top: 0; }
.gimpo-page h1,
.gimpo-page h2,
.gimpo-page h3 {
  color: var(--nm-black);
  font-family: "NmGimpoDisplay", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  font-weight: 900;
  font-synthesis: weight;
  letter-spacing: -.067em;
}
.gimpo-page h2 { font-size: clamp(38px, 4.3vw, 62px); line-height: 1.14; }
.gimpo-page h3 { font-size: 23px; line-height: 1.2; }
.gimpo-page address { font-style: normal; }
.gimpo-page :focus-visible { outline: 3px solid #1875b6; outline-offset: 3px; }

.gimpo-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  min-height: 66px;
  padding: 8px clamp(16px, 3vw, 48px);
  border-bottom: 1px solid var(--nm-line);
  background: var(--nm-white);
}
.gimpo-page .wordmark,
.gimpo-page .wordmark span {
  color: var(--nm-black);
  font-family: "NmGimpoDisplay", "Arial Black", "Apple SD Gothic Neo", sans-serif;
  font-size: clamp(18px, 1.7vw, 24px);
  font-weight: 900;
  letter-spacing: -.075em;
  line-height: 1;
  white-space: nowrap;
}
.gimpo-header nav { display: flex; align-items: center; gap: clamp(20px, 3.1vw, 48px); }
.gimpo-header nav a { padding: 8px 0; font-size: 13px; font-weight: 800; letter-spacing: .03em; }
.gimpo-header nav a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }

.eyebrow {
  margin-bottom: 15px;
  color: var(--nm-black);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .15em;
  line-height: 1.5;
  text-transform: uppercase;
}
.button-row { display: flex; flex-wrap: wrap; gap: 9px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 48px;
  padding: 10px 16px;
  border: 2px solid var(--nm-black);
  border-radius: 7px;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  transition: transform .2s ease, background-color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--nm-black); color: var(--nm-white) !important; }
.gimpo-hero .button-dark { background: var(--nm-blue); color: var(--nm-black) !important; }
.button-outline,
.button-white { background: var(--nm-white); color: var(--nm-black) !important; }
.button-outline:hover,
.button-white:hover { background: var(--nm-pale-blue); }

.gimpo-hero,
.pickup-hero {
  display: grid;
  grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
  align-items: center;
  gap: clamp(22px, 3vw, 42px);
  width: min(1380px, calc(100% - 64px));
  margin: 0 auto;
  padding: clamp(30px, 4vw, 54px) 0 clamp(34px, 4vw, 54px);
}
.hero-copy,
.pickup-hero-copy { min-width: 0; }
.hero-copy .eyebrow,
.pickup-hero-copy .eyebrow { margin-bottom: 17px; }
.hero-copy h1,
.pickup-hero h1 {
  width: 100%;
  max-width: 100%;
  margin-bottom: 17px;
  font-size: clamp(50px, 5vw, 74px);
  font-weight: 900;
  line-height: 1.01;
  overflow-wrap: normal;
  word-break: keep-all;
}
.hero-copy h1::after {
  content: "✈";
  display: inline-block;
  margin-left: .22em;
  color: var(--nm-black);
  font-family: sans-serif;
  font-size: .48em;
  line-height: 1;
  vertical-align: .14em;
}
.hero-description,
.pickup-hero-copy > p:not(.eyebrow) {
  max-width: 460px;
  margin-bottom: 21px;
  color: var(--nm-copy);
  font-size: 17px;
  line-height: 1.7;
  word-break: keep-all;
}
.hero-visual,
.pickup-hero-art { min-width: 0; }
.hero-visual img,
.pickup-hero-art img {
  width: 100%;
  height: auto;
  aspect-ratio: 1.18;
  border: 3px solid var(--nm-black);
  border-radius: 12px;
  background: var(--nm-neutral);
  object-fit: cover;
  object-position: center top;
}
.hero-route { display: flex; gap: 12px; margin: 13px 0 0; font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.hero-route span { color: #327eaf; }
.hero-visual-label,
.pickup-hero-art span {
  display: block;
  margin-top: 7px;
  color: var(--nm-black);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
}

.quick-info {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(1380px, calc(100% - 64px));
  margin: 0 auto;
  border-top: 1px solid var(--nm-black);
  border-bottom: 1px solid var(--nm-black);
}
.quick-info > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  min-height: 92px;
  justify-content: center;
  padding: 13px 22px;
  border-right: 1px solid var(--nm-line);
}
.quick-info > div:first-child { padding-left: 0; }
.quick-info > div:last-child { border-right: 0; }
.info-number { font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.quick-info strong { font-size: 15px; font-weight: 800; word-break: keep-all; }

.gimpo-tools { border-bottom: 2px solid var(--nm-black); background: var(--nm-pale-blue); }
.gimpo-tools-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 28px; width: min(1380px, calc(100% - 64px)); margin: 0 auto; padding: 27px 0; }
.gimpo-tools .eyebrow, .gimpo-related .eyebrow { margin-bottom: 6px; }
.gimpo-tools h2, .gimpo-related h2 { margin-bottom: 8px; font-size: clamp(28px, 3vw, 39px); }
.gimpo-tools p:not(.eyebrow) { max-width: 550px; margin-bottom: 0; font-size: 14px; }
.gimpo-tool-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.gimpo-tool-links a { display: flex; align-items: center; min-height: 58px; padding: 10px 13px; border: 2px solid var(--nm-black); border-radius: 6px; background: var(--nm-white); font-size: 13px; font-weight: 900; line-height: 1.35; word-break: keep-all; }
.gimpo-tool-links a:hover { background: var(--nm-paper); }
.gimpo-faq { border-top: 1px solid var(--nm-line); }
.gimpo-faq h2 { max-width: 900px; margin-bottom: 22px; font-size: clamp(31px, 3.2vw, 44px); }
.gimpo-faq-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gimpo-faq-grid article { min-width: 0; padding: 17px 0; border-top: 2px solid var(--nm-black); }
.gimpo-faq-grid h3 { margin-bottom: 10px; font-size: clamp(18px, 1.8vw, 24px); word-break: keep-all; }
.gimpo-faq-grid p { margin-bottom: 0; color: var(--nm-copy); font-size: 14px; line-height: 1.65; word-break: keep-all; }
.gimpo-related { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: 28px; padding-top: 30px; padding-bottom: 30px; border-top: 1px solid var(--nm-line); }
.gimpo-related h2 { margin-bottom: 0; }

.section { width: min(1380px, calc(100% - 64px)); margin: 0 auto; padding: clamp(48px, 4.8vw, 64px) 0; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p { max-width: 310px; margin-bottom: 5px; color: var(--nm-copy); font-size: 15px; line-height: 1.8; }
.cookie-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: clamp(14px, 1.6vw, 24px); }
.cookies-section .section-heading { display: block; min-width: 0; margin: 0; }
.cookies-section .section-heading h2 { font-size: clamp(32px, 3vw, 45px); line-height: 1.04; }
.cookies-section .section-heading > p { margin-top: 17px; font-size: 13px; }
.cookie-card { display: block; min-width: 0; }
.cookie-image {
  aspect-ratio: 1;
  overflow: hidden;
  border: 3px solid var(--nm-black);
  border-radius: 11px;
  background: var(--nm-neutral);
}
.cookie-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.cookie-card:hover .cookie-image img { transform: scale(1.025); }
.cookie-image-flight img { object-fit: contain; background: var(--nm-white); }
.cookie-image-terminal img { object-position: center; }
.cookie-image-airplane img { object-fit: cover; object-position: center; }
.cookie-card-meta { display: flex; justify-content: space-between; gap: 5px; margin: 10px 0 6px; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.cookie-card h3 { margin: 0 0 5px; font-size: clamp(18px, 1.65vw, 22px); font-weight: 900; }
.cookie-card p { margin: 0 0 7px; color: var(--nm-copy); font-size: 12px; }
.cookie-card strong { display: block; margin-bottom: 4px; font-size: 14px; font-weight: 900; }
.product-view { display: inline-block; border-bottom: 1.5px solid var(--nm-black); padding: 3px 0; font-size: 12px; font-weight: 900; }

.experience-section { background: var(--nm-blue); }
.experience-layout { display: grid; grid-template-columns: minmax(0, .26fr) minmax(0, .74fr); align-items: center; gap: clamp(18px, 2vw, 30px); }
.experience-copy h2 { margin-bottom: 10px; font-size: clamp(31px, 3vw, 43px); }
.experience-copy > p:not(.eyebrow) { max-width: 320px; margin-bottom: 0; color: var(--nm-copy); font-size: 13px; line-height: 1.5; }
.gimpo-page .gimpo-board {
  min-width: 0;
  padding: 16px 18px 13px;
  border: 2px solid var(--nm-black);
  border-radius: 6px;
  background: #151515;
  color: #f7f7f2;
}
.gimpo-page .board-title,
.gimpo-page .board-bottom { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.gimpo-page .board-title { padding-bottom: 12px; border-bottom: 1px solid #555; }
.gimpo-page .board-title strong { color: var(--nm-white); font: 900 23px/1 "Arial Narrow", Impact, sans-serif; letter-spacing: .07em; }
.gimpo-page .board-title span { color: #cbd5d9; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-align: right; }
.gimpo-page .board-column-head,
.gimpo-page .destination-row { display: grid; grid-template-columns: 90px minmax(0, 1fr) 125px; align-items: center; gap: 12px; }
.gimpo-page .board-column-head { padding: 10px 8px 5px; color: #aab6bb; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.gimpo-page .destination-row { min-height: 54px; padding: 7px 8px; border-top: 1px solid #444; }
.gimpo-page .destination-row > span:first-child { font: 900 17px/1 "Arial Narrow", Impact, sans-serif; letter-spacing: .03em; }
.gimpo-page .destination-row > span:last-child { color: #f5d36d; font-size: 11px; font-weight: 800; white-space: nowrap; }
.gimpo-page .flap-bank { --slot-w: 20px; --slot-h: 35px; gap: 1px; }
.gimpo-page .board-bottom { padding: 8px 8px 0; border-top: 1px solid #555; }
.gimpo-page .board-bottom span { color: #cbd5d9; font-size: 10px; font-weight: 700; }
.gimpo-page .board-bottom button { min-height: 32px; padding: 5px 7px; border: 0; border-bottom: 1px solid #bbb; background: transparent; color: var(--nm-white); cursor: pointer; font-size: 10px; font-weight: 800; }
.gimpo-page .board-bottom button:hover { background: #303030; }

.location-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, .92fr); align-items: center; gap: clamp(18px, 2.4vw, 36px); }
.pickup-location { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .83fr); align-items: center; gap: clamp(24px, 4vw, 58px); }
.location-intro > p:not(.eyebrow),
.pickup-location > div:first-child > p:not(.eyebrow) { max-width: 470px; color: var(--nm-copy); font-size: 16px; line-height: 1.85; }
.location-intro h2 { font-size: clamp(34px, 3.4vw, 48px); }
.location-details { min-width: 0; }
.location-pin { width: 34px; height: 44px; margin-bottom: 13px; }
.location-details > span { display: block; font-size: 10px; font-weight: 900; letter-spacing: .09em; }
.location-details address,
.pickup-location address { margin: 28px 0; font-size: clamp(20px, 2.3vw, 30px); font-weight: 900; letter-spacing: -.04em; }
.location-details address { margin: 16px 0 20px; line-height: 1.25; }
.location-details .button-row { gap: 7px; }
.location-details .button { gap: 5px; padding-inline: 10px; font-size: 12px; }
.location-photo { margin: 0; }
.location-photo img { width: 100%; height: clamp(280px, 27vw, 360px); border: 3px solid var(--nm-black); border-radius: 11px; background: var(--nm-neutral); object-fit: cover; }
.location-photo figcaption { margin-top: 6px; font-size: 10px; font-weight: 800; letter-spacing: .04em; }

.flow-section { background: var(--nm-white); }
.flow-section .section { border-top: 1px solid var(--nm-black); }
.flow-section h2 { margin-bottom: 19px; }
.flow-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid var(--nm-line); list-style: none; }
.flow-list li { display: flex; flex-direction: column; justify-content: space-between; gap: 16px; min-height: 110px; padding: 15px 12px 12px 0; border-right: 1px solid var(--nm-line); }
.flow-list li:not(:first-child) { padding-left: 14px; }
.flow-list li:last-child { border-right: 0; }
.flow-list span { color: #327eaf; font-size: 13px; font-weight: 900; }
.flow-list strong { font-size: clamp(16px, 1.8vw, 21px); font-weight: 900; word-break: keep-all; }

.moments-section { display: flex; align-items: center; gap: 30px; padding-top: 22px; padding-bottom: 22px; border-top: 1px solid var(--nm-line); }
.moments-section .eyebrow { flex: none; margin: 0; }
.moments-grid { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.moments-grid span { font-size: 13px; font-weight: 900; }
.moments-grid span:not(:last-child)::after { content: "·"; margin-left: 24px; color: #327eaf; }

.final-section,
.pickup-final { background: var(--nm-blue); }
.final-inner { width: min(1380px, calc(100% - 64px)); margin: 0 auto; padding: clamp(42px, 4vw, 60px) 0; }
.final-inner h2 { max-width: 900px; margin: 0 0 20px; font-size: clamp(42px, 5vw, 68px); line-height: 1.02; }
.final-inner h2 span { font-family: sans-serif; font-size: .67em; }

.gimpo-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px clamp(16px, 3vw, 48px); background: var(--nm-white); }
.gimpo-footer .wordmark, .gimpo-footer .wordmark span { font-size: 19px; }
.gimpo-footer > span { color: var(--nm-copy); font-size: 12px; }
.mobile-sticky { display: none; }
.mobile-break { display: none; }

/* The pickup page keeps the same editorial system and makes the steps its focus. */
.pickup-hero { grid-template-columns: minmax(0, .45fr) minmax(0, .55fr); }
.pickup-hero h1 { max-width: 750px; }
.pickup-hero-art img { object-position: center top; }
.pickup-alert { display: grid; grid-template-columns: 160px minmax(0, 1.1fr) minmax(0, 1.5fr); align-items: center; gap: 20px; padding: 18px clamp(16px, 3vw, 48px); border-top: 2px solid var(--nm-black); border-bottom: 2px solid var(--nm-black); background: var(--nm-pale-blue); }
.pickup-alert span { font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.pickup-alert strong { font-size: 20px; font-weight: 900; }
.pickup-alert p { margin: 0; color: var(--nm-copy); font-size: 14px; line-height: 1.7; }
.pickup-steps { max-width: 1100px; }
.pickup-steps h2 { margin-bottom: 23px; }
.pickup-steps ol { margin: 0 0 24px; padding: 0; border-top: 2px solid var(--nm-black); list-style: none; }
.pickup-steps li { display: grid; grid-template-columns: 70px 1fr; gap: 16px; padding: 15px 4px; border-bottom: 1px solid var(--nm-line); }
.pickup-steps li > span { color: #327eaf; font-size: 26px; font-weight: 900; }
.pickup-steps h3 { margin: 0 0 5px; font-size: 23px; font-weight: 900; }
.pickup-steps li p { margin: 0; color: var(--nm-copy); font-size: 14px; }
.pickup-products { background: var(--nm-paper); }
.pickup-products .section { padding-top: 48px; padding-bottom: 48px; }
.pickup-product-list { border-top: 2px solid var(--nm-black); }
.pickup-product-list > a { display: grid; grid-template-columns: 80px 1fr 160px 22px; align-items: center; gap: 18px; min-height: 72px; border-bottom: 1px solid #c5c5c1; }
.pickup-product-list span { font-size: 11px; font-weight: 900; }
.pickup-product-list strong { font-size: clamp(18px, 2vw, 25px); font-weight: 900; letter-spacing: -.035em; }
.pickup-product-list small { color: var(--nm-copy); font-size: 12px; }
.pickup-product-list b { font-size: 21px; font-weight: 900; text-align: right; }
.pickup-product-list > a:hover { background: var(--nm-pale-blue); }
.pickup-page .location-photo img { object-position: center; }

@media (max-width: 1000px) {
  .gimpo-hero, .pickup-hero { width: min(100% - 40px, 1380px); gap: 22px; }
  .section, .quick-info, .final-inner { width: min(100% - 40px, 1380px); }
  .gimpo-tools-inner { width: min(100% - 40px, 1380px); }
  .hero-copy h1, .pickup-hero h1 { font-size: clamp(40px, 5.2vw, 60px); }
  .cookie-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cookies-section .section-heading { grid-column: 1 / -1; }
  .experience-layout { grid-template-columns: 1fr; }
  .experience-copy > p:not(.eyebrow) { max-width: 600px; }
  .gimpo-page .gimpo-board { width: 100%; }
}

@media (max-width: 680px) {
  html { scroll-behavior: auto; }
  .gimpo-header { min-height: 56px; padding: 8px 14px; }
  .gimpo-page .wordmark, .gimpo-page .wordmark span { font-size: 17px; }
  .gimpo-header nav { gap: 15px; }
  .gimpo-header nav a { font-size: 11px; }
  .gimpo-header nav a:first-child { display: none; }
  .gimpo-hero, .pickup-hero { display: flex; flex-direction: column; align-items: stretch; gap: 20px; width: calc(100% - 28px); padding: 30px 0 36px; }
  .hero-copy .eyebrow, .pickup-hero-copy .eyebrow { margin-bottom: 12px; }
  .hero-copy h1, .pickup-hero h1 { margin-bottom: 13px; font-size: clamp(36px, 9.5vw, 42px); line-height: 1; letter-spacing: -.075em; }
  .hero-copy h1::after { font-size: .55em; }
  .hero-description, .pickup-hero-copy > p:not(.eyebrow) { width: 100%; max-width: 100%; margin-bottom: 18px; font-size: 14px; line-height: 1.55; }
  .gimpo-hero .button-row, .pickup-hero .button-row, .final-inner .button-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .gimpo-hero .button, .pickup-hero .button, .final-inner .button { min-width: 0; min-height: 48px; gap: 6px; padding: 8px 10px; font-size: 12px; }
  .hero-route { margin-top: 9px; font-size: 8px; }
  .hero-visual img, .pickup-hero-art img { height: auto; aspect-ratio: 1.18; border-radius: 11px; object-position: center top; }
  .quick-info { grid-template-columns: 1fr; }
  .quick-info > div { gap: 1px; min-height: 0; padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--nm-line); }
  .quick-info > div:last-child { border-bottom: 0; }
  .quick-info strong { font-size: 13px; }
  .section, .quick-info, .final-inner { width: calc(100% - 28px); }
  .gimpo-tools-inner { grid-template-columns: 1fr; gap: 14px; width: calc(100% - 28px); padding: 23px 0; }
  .gimpo-tools h2, .gimpo-related h2 { font-size: 30px; }
  .gimpo-tool-links { grid-template-columns: 1fr; gap: 8px; }
  .gimpo-tool-links a { min-height: 48px; }
  .gimpo-faq { padding-top: 37px; padding-bottom: 37px; }
  .gimpo-faq h2 { font-size: 32px; }
  .gimpo-faq-grid { grid-template-columns: 1fr; gap: 7px; }
  .gimpo-faq-grid article { padding: 14px 0; }
  .gimpo-related { grid-template-columns: 1fr; gap: 14px; padding-top: 27px; padding-bottom: 27px; }
  .section { padding: 44px 0; }
  .section-heading { display: block; margin-bottom: 18px; }
  .section-heading > p { margin-top: 10px; font-size: 13px; }
  .gimpo-page h2 { font-size: clamp(34px, 8.8vw, 42px); }
  .cookie-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
  .cookies-section .section-heading { grid-column: 1 / -1; margin-bottom: 0; }
  .cookies-section .section-heading h2 { font-size: 36px; }
  .desktop-break { display: none; }
  .cookie-image { aspect-ratio: 1; border-radius: 10px; }
  .cookie-image-airplane img { padding: 0; }
  .cookie-card-meta { margin: 8px 0 5px; font-size: 8px; }
  .cookie-card h3 { margin-bottom: 4px; font-size: 16px; line-height: 1.12; }
  .cookie-card p { margin-bottom: 4px; font-size: 11px; line-height: 1.35; }
  .cookie-card strong { font-size: 13px; }
  .product-view { font-size: 11px; }
  .cookie-card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .cookie-card:last-child .cookie-card-meta { margin-top: 0; }
  .experience-layout { gap: 17px; padding: 25px 0; }
  .experience-copy .eyebrow { margin-bottom: 8px; }
  .experience-copy h2 { margin-bottom: 0; font-size: 27px; line-height: 1.05; }
  .experience-copy > p:not(.eyebrow) { display: none; }
  .gimpo-page .gimpo-board { width: 100%; max-width: none; padding: 10px; }
  .gimpo-page .board-title { align-items: flex-start; }
  .gimpo-page .board-title { padding-bottom: 9px; }
  .gimpo-page .board-title strong { font-size: 20px; }
  .gimpo-page .board-title span { max-width: 120px; font-size: 8px; }
  .gimpo-page .board-column-head, .gimpo-page .destination-row { grid-template-columns: 46px minmax(0, 90px) minmax(0, 1fr); gap: 6px; }
  .gimpo-page .board-column-head { padding: 8px 2px 5px; font-size: 8px; letter-spacing: .03em; }
  .gimpo-page .destination-row { min-height: 51px; padding: 7px 2px; }
  .gimpo-page .destination-row > span:first-child { font-size: 13px; }
  .gimpo-page .destination-row > span:last-child { font-size: 9px; white-space: normal; }
  .gimpo-page .flap-bank { --slot-w: 16px; --slot-h: 31px; }
  .gimpo-page .board-bottom { align-items: flex-start; gap: 10px; }
  .gimpo-page .board-bottom span { max-width: 180px; font-size: 8px; }
  .gimpo-page .board-bottom button { font-size: 9px; }
  .location-section, .pickup-location { grid-template-columns: 1fr; gap: 20px; }
  .location-intro h2 { font-size: 35px; }
  .location-intro > p:not(.eyebrow) { margin-bottom: 0; font-size: 14px; line-height: 1.55; }
  .location-photo img { height: auto; aspect-ratio: 1.25; border-radius: 10px; }
  .location-pin { width: 24px; height: 32px; margin-bottom: 5px; }
  .location-details > span { font-size: 9px; }
  .location-details address { margin: 9px 0 15px; font-size: 21px; }
  .location-details address br { display: none; }
  .location-details .button-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .location-details .button { min-width: 0; min-height: 46px; justify-content: center; font-size: 12px; }
  .flow-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .flow-list li { min-height: 105px; gap: 10px; padding: 14px 10px 10px 0; }
  .flow-list li:nth-child(2) { border-right: 0; }
  .flow-list li:nth-child(n + 3) { border-top: 1px solid var(--nm-line); }
  .flow-list li:nth-child(3) { padding-left: 0; }
  .flow-list strong { font-size: 14px; }
  .moments-section { display: block; padding: 17px 0; }
  .moments-section .eyebrow { margin-bottom: 5px; }
  .moments-grid { gap: 3px 12px; }
  .moments-grid span { font-size: 10px; }
  .moments-grid span:not(:last-child)::after { margin-left: 12px; }
  .final-inner { padding: 42px 0; }
  .final-inner h2 { margin-bottom: 19px; font-size: clamp(35px, 9vw, 42px); }
  .gimpo-footer { flex-wrap: wrap; padding: 22px 14px calc(78px + env(safe-area-inset-bottom)); }
  .gimpo-footer > span:last-child { display: none; }
  .mobile-sticky {
    position: fixed;
    z-index: 50;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 7px 10px calc(7px + env(safe-area-inset-bottom));
    border-top: 2px solid var(--nm-black);
    background: var(--nm-white);
  }
  .mobile-sticky a { display: flex; align-items: center; justify-content: center; min-height: 54px; border: 2px solid var(--nm-black); border-radius: 6px; background: var(--nm-white); color: var(--nm-black); font-size: 13px; font-weight: 900; }
  .mobile-sticky a:last-child { background: #03c75a; color: var(--nm-black); }
  .pickup-alert { display: block; padding: 17px 14px; }
  .pickup-alert span { display: block; margin-bottom: 7px; }
  .pickup-alert strong { display: block; margin-bottom: 7px; font-size: 18px; }
  .pickup-steps li { grid-template-columns: 38px 1fr; gap: 10px; padding: 13px 0; }
  .pickup-steps li > span { font-size: 22px; }
  .pickup-steps h3 { font-size: 18px; }
  .pickup-product-list > a { grid-template-columns: 52px 1fr 18px; gap: 8px; min-height: 68px; }
  .pickup-product-list strong { font-size: 15px; }
  .pickup-product-list small { display: none; }
  .pickup-product-list b { font-size: 17px; }
  .pickup-products .section { padding-top: 44px; padding-bottom: 44px; }
  .mobile-break { display: block; }
}

@media (max-width: 380px) {
  .gimpo-header nav { gap: 10px; }
  .gimpo-header nav a { font-size: 10px; }
  .gimpo-page .flap-bank { --slot-w: 15px; --slot-h: 29px; }
  .gimpo-page .board-column-head, .gimpo-page .destination-row { grid-template-columns: 45px minmax(0, 80px) minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button, .cookie-image img { transition: none; }
  .button:hover, .cookie-card:hover .cookie-image img { transform: none; }
}
