/* Hallmark · macrostructure: Long Document · tone: editorial · anchor hue: blue · pre-emit critique: P4 H4 E4 S4 R4 V4 · contrast: pass (40–41) · nav: N2 · footer: Ft4 · slop: pass (42–45) · honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49, 50–57) · icons: pass (30) */
@font-face {
  font-family: "Geist";
  src: url("/fonts/Geist-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Geist Mono";
  src: url("/fonts/GeistMono-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --ds-background-100: hsla(0, 0%, 100%, 1);
  --ds-background-200: hsla(0, 0%, 98%, 1);
  --ds-gray-100: hsla(0, 0%, 95%, 1);
  --ds-gray-200: hsla(0, 0%, 92%, 1);
  --ds-gray-300: hsla(0, 0%, 90%, 1);
  --ds-gray-400: hsla(0, 0%, 92%, 1);
  --ds-gray-500: hsla(0, 0%, 79%, 1);
  --ds-gray-600: hsla(0, 0%, 66%, 1);
  --ds-gray-700: hsla(0, 0%, 56%, 1);
  --ds-gray-800: hsla(0, 0%, 49%, 1);
  --ds-gray-900: hsla(0, 0%, 30%, 1);
  --ds-gray-1000: hsla(0, 0%, 9%, 1);
  --ds-gray-alpha-100: #0000000d;
  --ds-gray-alpha-200: #00000014;
  --ds-gray-alpha-300: #0000001a;
  --ds-gray-alpha-400: #00000014;
  --ds-gray-alpha-500: #00000036;
  --ds-gray-alpha-600: #00000057;
  --ds-gray-alpha-700: #00000070;
  --ds-gray-alpha-800: #00000082;
  --ds-gray-alpha-900: #000000b3;
  --ds-gray-alpha-1000: #000000e8;
  --ds-blue-100: hsla(212, 100%, 97%, 1);
  --ds-blue-200: hsla(210, 100%, 96%, 1);
  --ds-blue-300: hsla(210, 100%, 94%, 1);
  --ds-blue-400: hsla(209, 100%, 90%, 1);
  --ds-blue-500: hsla(209, 100%, 80%, 1);
  --ds-blue-600: hsla(208, 100%, 66%, 1);
  --ds-blue-700: hsla(212, 100%, 48%, 1);
  --ds-blue-800: hsla(212, 100%, 41%, 1);
  --ds-blue-900: hsla(211, 100%, 42%, 1);
  --ds-blue-1000: hsla(211, 100%, 15%, 1);
  --ds-green-100: hsla(120, 60%, 96%, 1);
  --ds-green-200: hsla(120, 60%, 95%, 1);
  --ds-green-300: hsla(120, 60%, 91%, 1);
  --ds-green-400: hsla(122, 60%, 86%, 1);
  --ds-green-500: hsla(124, 60%, 75%, 1);
  --ds-green-600: hsla(125, 60%, 64%, 1);
  --ds-green-700: hsla(131, 41%, 46%, 1);
  --ds-green-800: hsla(132, 43%, 39%, 1);
  --ds-green-900: hsla(133, 50%, 32%, 1);
  --ds-green-1000: hsla(128, 29%, 15%, 1);
  --ds-red-100: hsla(0, 100%, 97%, 1);
  --ds-red-200: hsla(0, 100%, 96%, 1);
  --ds-red-300: hsla(0, 100%, 95%, 1);
  --ds-red-400: hsla(0, 90%, 92%, 1);
  --ds-red-500: hsla(0, 82%, 85%, 1);
  --ds-red-600: hsla(359, 90%, 71%, 1);
  --ds-red-700: hsla(358, 75%, 59%, 1);
  --ds-red-800: hsla(358, 70%, 52%, 1);
  --ds-red-900: hsla(358, 66%, 48%, 1);
  --ds-red-1000: hsla(355, 49%, 15%, 1);
  --ds-amber-100: hsla(39, 100%, 95%, 1);
  --ds-amber-200: hsla(44, 100%, 92%, 1);
  --ds-amber-300: hsla(43, 96%, 90%, 1);
  --ds-amber-400: hsla(42, 100%, 78%, 1);
  --ds-amber-500: hsla(38, 100%, 71%, 1);
  --ds-amber-600: hsla(36, 90%, 62%, 1);
  --ds-amber-700: hsla(39, 100%, 57%, 1);
  --ds-amber-800: hsla(35, 100%, 52%, 1);
  --ds-amber-900: hsla(30, 100%, 32%, 1);
  --ds-amber-1000: hsla(20, 79%, 17%, 1);
  --ds-teal-100: hsla(169, 70%, 96%, 1);
  --ds-teal-200: hsla(167, 70%, 94%, 1);
  --ds-teal-300: hsla(168, 70%, 90%, 1);
  --ds-teal-400: hsla(170, 70%, 85%, 1);
  --ds-teal-500: hsla(170, 70%, 72%, 1);
  --ds-teal-600: hsla(170, 70%, 57%, 1);
  --ds-teal-700: hsla(173, 80%, 36%, 1);
  --ds-teal-800: hsla(173, 83%, 30%, 1);
  --ds-teal-900: hsla(174, 91%, 25%, 1);
  --ds-teal-1000: hsla(171, 80%, 13%, 1);
  --ds-purple-100: hsla(276, 100%, 97%, 1);
  --ds-purple-200: hsla(277, 87%, 97%, 1);
  --ds-purple-300: hsla(274, 78%, 95%, 1);
  --ds-purple-400: hsla(276, 71%, 92%, 1);
  --ds-purple-500: hsla(274, 70%, 82%, 1);
  --ds-purple-600: hsla(273, 72%, 73%, 1);
  --ds-purple-700: hsla(272, 51%, 54%, 1);
  --ds-purple-800: hsla(272, 47%, 45%, 1);
  --ds-purple-900: hsla(274, 71%, 43%, 1);
  --ds-purple-1000: hsla(276, 100%, 15%, 1);
  --ds-pink-100: hsla(330, 100%, 96%, 1);
  --ds-pink-200: hsla(340, 90%, 96%, 1);
  --ds-pink-300: hsla(340, 82%, 94%, 1);
  --ds-pink-400: hsla(341, 76%, 91%, 1);
  --ds-pink-500: hsla(340, 75%, 84%, 1);
  --ds-pink-600: hsla(341, 75%, 73%, 1);
  --ds-pink-700: hsla(336, 80%, 58%, 1);
  --ds-pink-800: hsla(336, 74%, 51%, 1);
  --ds-pink-900: hsla(336, 65%, 45%, 1);
  --ds-pink-1000: hsla(333, 74%, 15%, 1);
  --ds-focus-color: hsla(212, 100%, 48%, 1);
  --ds-focus-ring: 0 0 0 2px var(--ds-background-100), 0 0 0 4px var(--ds-focus-color);
  --ds-shadow-border: 0 0 0 1px #00000014, 0 0 0 1px hsla(0, 0%, 98%, 1);
  --ds-shadow-small: 0 2px 2px #0000000a;
  --ds-shadow-medium: 0 0 0 1px #00000014, 0 2px 2px #0000000a, 0 8px 8px -8px #0000000a, 0 0 0 1px hsla(0, 0%, 98%, 1);
  --ds-shadow-large: 0 2px 2px #0000000a, 0 8px 16px -4px #0000000a;
  --ds-page-width: 1400px;
  --ds-radius-micro: 4px;
  --ds-radius-control: 6px;
  --ds-radius-card: 8px;
  --ds-radius-media: 12px;
  --ds-radius-pill: 9999px;
  --control-height-sm: 36px;
  --ds-motion-micro: 150ms ease-out;
  --ds-motion-standard: 200ms ease-in-out;
  --font-sans: "Geist", Arial, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  --font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --type-heading-72-size: 72px;
  --type-heading-64-size: 64px;
  --type-heading-56-size: 56px;
  --type-heading-48-size: 48px;
  --type-heading-40-size: 40px;
  --type-heading-32-size: 32px;
  --type-heading-24-size: 24px;
  --type-heading-20-size: 20px;
  --type-heading-16-size: 16px;
  --type-heading-14-size: 14px;
  --type-copy-20-size: 20px;
  --type-copy-18-size: 18px;
  --type-copy-16-size: 16px;
  --type-copy-14-size: 14px;
  --type-copy-13-size: 13px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
}

@media (prefers-color-scheme: dark) and (min-width: 100000px) {
  :root {
    --ds-background-100: hsla(0, 0%, 4%, 1);
    --ds-background-200: hsla(0, 0%, 0%, 1);
    --ds-gray-100: hsla(0, 0%, 10%, 1);
    --ds-gray-200: hsla(0, 0%, 12%, 1);
    --ds-gray-300: hsla(0, 0%, 16%, 1);
    --ds-gray-400: hsla(0, 0%, 18%, 1);
    --ds-gray-500: hsla(0, 0%, 27%, 1);
    --ds-gray-600: hsla(0, 0%, 53%, 1);
    --ds-gray-700: hsla(0, 0%, 56%, 1);
    --ds-gray-800: hsla(0, 0%, 49%, 1);
    --ds-gray-900: hsla(0, 0%, 63%, 1);
    --ds-gray-1000: hsla(0, 0%, 93%, 1);
    --ds-gray-alpha-100: #ffffff0f;
    --ds-gray-alpha-200: #ffffff17;
    --ds-gray-alpha-300: #ffffff21;
    --ds-gray-alpha-400: #ffffff24;
    --ds-gray-alpha-500: #ffffff36;
    --ds-gray-alpha-600: #ffffff57;
    --ds-gray-alpha-700: #ffffff70;
    --ds-gray-alpha-800: #ffffff82;
    --ds-gray-alpha-900: #ffffffb3;
    --ds-gray-alpha-1000: #ffffffe8;
    --ds-blue-100: hsla(216, 50%, 12%, 1);
    --ds-blue-200: hsla(214, 59%, 15%, 1);
    --ds-blue-300: hsla(213, 71%, 20%, 1);
    --ds-blue-400: hsla(212, 78%, 23%, 1);
    --ds-blue-500: hsla(211, 86%, 27%, 1);
    --ds-blue-600: hsla(206, 100%, 50%, 1);
    --ds-blue-700: hsla(212, 100%, 48%, 1);
    --ds-blue-800: hsla(212, 100%, 41%, 1);
    --ds-blue-900: hsla(210, 100%, 66%, 1);
    --ds-blue-1000: hsla(206, 100%, 96%, 1);
    --ds-green-100: hsla(136, 50%, 9%, 1);
    --ds-green-200: hsla(137, 50%, 12%, 1);
    --ds-green-300: hsla(136, 50%, 14%, 1);
    --ds-green-400: hsla(135, 70%, 16%, 1);
    --ds-green-500: hsla(135, 70%, 23%, 1);
    --ds-green-600: hsla(135, 70%, 34%, 1);
    --ds-green-700: hsla(131, 41%, 46%, 1);
    --ds-green-800: hsla(132, 43%, 39%, 1);
    --ds-green-900: hsla(131, 43%, 57%, 1);
    --ds-green-1000: hsla(136, 73%, 94%, 1);
    --ds-red-100: hsla(355, 49%, 15%, 1);
    --ds-red-200: hsla(357, 46%, 16%, 1);
    --ds-red-300: hsla(356, 54%, 22%, 1);
    --ds-red-400: hsla(357, 55%, 26%, 1);
    --ds-red-500: hsla(357, 60%, 32%, 1);
    --ds-red-600: hsla(358, 75%, 59%, 1);
    --ds-red-700: hsla(358, 75%, 59%, 1);
    --ds-red-800: hsla(358, 69%, 52%, 1);
    --ds-red-900: hsla(358, 66%, 70%, 1);
    --ds-red-1000: hsla(353, 90%, 96%, 1);
    --ds-amber-100: hsla(20, 79%, 17%, 1);
    --ds-amber-200: hsla(32, 100%, 10%, 1);
    --ds-amber-300: hsla(33, 100%, 15%, 1);
    --ds-amber-400: hsla(35, 100%, 17%, 1);
    --ds-amber-500: hsla(35, 91%, 22%, 1);
    --ds-amber-600: hsla(39, 85%, 49%, 1);
    --ds-amber-700: hsla(39, 100%, 57%, 1);
    --ds-amber-800: hsla(35, 100%, 52%, 1);
    --ds-amber-900: hsla(39, 100%, 71%, 1);
    --ds-amber-1000: hsla(40, 94%, 93%, 1);
    --ds-teal-100: hsla(169, 78%, 7%, 1);
    --ds-teal-200: hsla(170, 74%, 9%, 1);
    --ds-teal-300: hsla(171, 75%, 13%, 1);
    --ds-teal-400: hsla(171, 85%, 13%, 1);
    --ds-teal-500: hsla(172, 85%, 20%, 1);
    --ds-teal-600: hsla(172, 85%, 32%, 1);
    --ds-teal-700: hsla(173, 80%, 36%, 1);
    --ds-teal-800: hsla(173, 83%, 30%, 1);
    --ds-teal-900: hsla(174, 90%, 41%, 1);
    --ds-teal-1000: hsla(166, 71%, 93%, 1);
    --ds-purple-100: hsla(283, 30%, 12%, 1);
    --ds-purple-200: hsla(281, 38%, 16%, 1);
    --ds-purple-300: hsla(279, 44%, 23%, 1);
    --ds-purple-400: hsla(277, 46%, 28%, 1);
    --ds-purple-500: hsla(274, 49%, 35%, 1);
    --ds-purple-600: hsla(272, 51%, 54%, 1);
    --ds-purple-700: hsla(272, 51%, 54%, 1);
    --ds-purple-800: hsla(272, 47%, 45%, 1);
    --ds-purple-900: hsla(275, 80%, 71%, 1);
    --ds-purple-1000: hsla(281, 73%, 96%, 1);
    --ds-pink-100: hsla(335, 32%, 12%, 1);
    --ds-pink-200: hsla(335, 43%, 16%, 1);
    --ds-pink-300: hsla(335, 47%, 21%, 1);
    --ds-pink-400: hsla(335, 51%, 22%, 1);
    --ds-pink-500: hsla(335, 57%, 27%, 1);
    --ds-pink-600: hsla(336, 75%, 40%, 1);
    --ds-pink-700: hsla(336, 80%, 58%, 1);
    --ds-pink-800: hsla(336, 74%, 51%, 1);
    --ds-pink-900: hsla(341, 90%, 67%, 1);
    --ds-pink-1000: hsla(333, 90%, 96%, 1);
    --ds-focus-color: hsla(210, 100%, 66%, 1);
    --ds-focus-ring: 0 0 0 2px var(--ds-background-100), 0 0 0 4px var(--ds-focus-color);
    --ds-shadow-border: 0 0 0 1px #ffffff24, 0 0 0 1px hsla(0, 0%, 4%, 1);
    --ds-shadow-small: 0 2px 2px #00000040;
    --ds-shadow-medium: 0 0 0 1px #ffffff24, 0 2px 2px #00000040, 0 8px 8px -8px #00000040, 0 0 0 1px hsla(0, 0%, 4%, 1);
    --ds-shadow-large: 0 2px 2px #00000040, 0 8px 16px -4px #00000040;
  }
}

* { box-sizing: border-box; }
html { background: var(--ds-background-100); color: var(--ds-gray-1000); scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; background: var(--ds-background-100); color: var(--ds-gray-1000); font: 400 var(--type-copy-14-size)/20px var(--font-sans); font-feature-settings: "liga" 1; font-synthesis: none; text-rendering: optimizeLegibility; overflow-x: clip; }
:lang(ko) { word-break: keep-all; }
body.site--pulse { word-break: keep-all; }
a { color: inherit; text-decoration-thickness: from-font; text-underline-position: from-font; text-underline-offset: 3px; }
a:hover { color: var(--accent); }
a:focus-visible { outline: 2px solid var(--ds-background-100); outline-offset: 2px; box-shadow: var(--ds-focus-ring); }
strong { font-weight: 600; }
.text-heading-72 { font: 600 var(--type-heading-72-size)/72px var(--font-sans); letter-spacing: -4.32px; }
.text-heading-64 { font: 600 var(--type-heading-64-size)/64px var(--font-sans); letter-spacing: -3.84px; }
.text-heading-56 { font: 600 var(--type-heading-56-size)/56px var(--font-sans); letter-spacing: -3.36px; }
.text-heading-48 { font: 600 var(--type-heading-48-size)/56px var(--font-sans); letter-spacing: -2.88px; }
.text-heading-40 { font: 600 var(--type-heading-40-size)/48px var(--font-sans); letter-spacing: -2.4px; }
.text-heading-32 { font: 600 var(--type-heading-32-size)/40px var(--font-sans); letter-spacing: -1.28px; }
.text-heading-24 { font: 600 var(--type-heading-24-size)/32px var(--font-sans); letter-spacing: -.96px; }
.text-heading-20 { font: 600 var(--type-heading-20-size)/26px var(--font-sans); letter-spacing: -.4px; }
.text-heading-16 { font: 600 var(--type-heading-16-size)/24px var(--font-sans); letter-spacing: -.32px; }
.text-heading-14 { font: 600 var(--type-heading-14-size)/20px var(--font-sans); letter-spacing: -.28px; }
.text-button-16 { font: 500 16px/20px var(--font-sans); }
.text-button-14 { font: 500 14px/20px var(--font-sans); }
.text-button-12 { font: 500 12px/16px var(--font-sans); }
.text-label-20 { font: 400 20px/32px var(--font-sans); }
.text-label-18 { font: 400 18px/20px var(--font-sans); }
.text-label-16 { font: 400 16px/20px var(--font-sans); }
.text-label-14 { font: 400 14px/20px var(--font-sans); }
.text-label-13 { font: 400 13px/16px var(--font-sans); font-variant-numeric: tabular-nums; }
.text-label-12 { font: 400 12px/16px var(--font-sans); }
.text-label-14-mono { font: 400 14px/20px var(--font-mono); }
.text-label-13-mono { font: 400 13px/20px var(--font-mono); }
.text-label-12-mono { font: 400 12px/16px var(--font-mono); }
.text-copy-24 { font: 400 24px/36px var(--font-sans); }
.text-copy-20 { font: 400 var(--type-copy-20-size)/30px var(--font-sans); }
.text-copy-18 { font: 400 var(--type-copy-18-size)/28px var(--font-sans); }
.text-copy-16 { font: 400 var(--type-copy-16-size)/24px var(--font-sans); }
.text-copy-14 { font: 400 var(--type-copy-14-size)/20px var(--font-sans); }
.text-copy-13 { font: 400 var(--type-copy-13-size)/18px var(--font-sans); }
.text-copy-13-mono { font: 400 13px/18px var(--font-mono); }
.site { --accent: var(--ds-blue-700); --accent-soft: var(--ds-blue-100); --accent-strong: var(--ds-blue-900); }
.site--seen {
  --ds-background-100: hsla(40, 33%, 98%, 1);
  --ds-background-200: hsla(38, 25%, 95%, 1);
  --ds-gray-100: hsla(36, 24%, 94%, 1);
  --ds-gray-200: hsla(34, 20%, 90%, 1);
  --ds-gray-700: hsla(24, 12%, 48%, 1);
  --ds-gray-800: hsla(24, 14%, 38%, 1);
  --ds-gray-900: hsla(24, 17%, 27%, 1);
  --ds-gray-1000: hsla(24, 20%, 11%, 1);
  --accent: var(--seen-red-700);
  --accent-soft: var(--seen-red-100);
  --accent-strong: var(--seen-red-900);
}
.site--pulse {
  --pulse-cobalt-100: hsla(218, 100%, 96%, 1);
  --pulse-cobalt-700: hsla(221, 86%, 45%, 1);
  --pulse-cobalt-900: hsla(224, 76%, 25%, 1);
  --pulse-yellow-500: hsla(56, 100%, 50%, 1);
  --pulse-orange-500: hsla(18, 98%, 52%, 1);
  --accent: var(--pulse-cobalt-700);
  --accent-soft: var(--pulse-cobalt-100);
  --accent-strong: var(--pulse-cobalt-900);
}
:root {
  --seen-red-100: hsla(6, 100%, 97%, 1);
  --seen-red-700: hsla(6, 78%, 45%, 1);
  --seen-red-900: hsla(6, 74%, 26%, 1);
  --seen-gold-700: hsla(36, 87%, 42%, 1);
}
.wrap { width: min(calc(100% - 48px), var(--ds-page-width)); margin: 0 auto; }

.topline { border-bottom: 1px solid var(--ds-gray-alpha-300); }
.topline .wrap { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); }
.topline-meta { display: flex; flex-wrap: wrap; gap: var(--space-6); color: var(--ds-gray-900); font: 500 12px/16px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; }
.topline a { color: var(--ds-gray-1000); font: 500 12px/16px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; }
.topline a:hover { color: var(--accent); }
.masthead { background: var(--ds-background-100); }
.brand-row { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 3fr) minmax(180px, 1fr); align-items: center; gap: var(--space-6); padding: var(--space-6) 0 var(--space-8); border-bottom: 4px solid var(--ds-gray-1000); }
.brand-note { margin: 0; color: var(--ds-gray-900); font: 500 12px/20px var(--font-mono); letter-spacing: .06em; text-transform: uppercase; }
.brand-note--right { text-align: right; }
.wordmark { display: block; color: var(--ds-gray-1000); font: 600 clamp(42px, 5.15vw, var(--type-heading-72-size))/1 var(--font-sans); letter-spacing: clamp(-4.32px, -0.31vw, -2.4px); text-align: center; text-decoration: none; text-wrap: balance; }
.wordmark span { color: var(--accent); }
.wordmark img { display: inline-block; height: clamp(40px, 5.4vw, 72px); width: auto; vertical-align: middle; border-radius: 6px; }
.edition { margin: 0; color: var(--ds-gray-700); font: 400 12px/16px var(--font-mono); text-align: right; }
.nav { display: flex; flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid var(--ds-gray-alpha-500); }
.nav a, .nav .coverage-item { flex: 0 0 auto; min-height: 44px; display: grid; place-items: center; padding: 0 var(--space-2); font: 500 14px/20px var(--font-mono); letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.nav a:first-child { box-shadow: inset 1px 0 0 var(--ds-gray-alpha-200), inset -1px 0 0 var(--ds-gray-alpha-200); }
.nav a { color: var(--ds-gray-1000); }
.nav a:hover { background: var(--ds-gray-100); color: var(--accent); }
.nav a[aria-current="page"] { color: var(--accent-strong); box-shadow: inset 0 -3px 0 var(--accent); }
.nav .coverage-item { color: var(--ds-gray-700); white-space: nowrap; }

.feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 1.55fr) minmax(0, 1fr); border-bottom: 1px solid var(--ds-gray-alpha-500); }
.feature-copy { display: flex; flex-direction: column; align-items: start; padding: var(--space-8) var(--space-6) var(--space-10) 0; }
.feature h1 { min-width: 0; max-width: 11ch; margin: 0; color: var(--ds-gray-1000); font: 600 var(--type-heading-56-size)/56px var(--font-sans); letter-spacing: -3.36px; text-wrap: balance; overflow-wrap: anywhere; }
.feature-copy .dek { max-width: 34ch; }
.feature-copy .hero-action { margin-top: auto; }
.feature-media { min-width: 0; margin: 0; border-inline: 1px solid var(--ds-gray-alpha-500); background: var(--ds-gray-100); overflow: hidden; }
.feature-media a, .feature-media picture, .feature-media img { display: block; width: 100%; height: 100%; }
.article-media picture, .article-supporting-media picture { aspect-ratio: var(--image-aspect-ratio); }
.feature-media img { aspect-ratio: 4 / 3; object-fit: cover; }
.feature-note { display: flex; flex-direction: column; align-items: start; padding: var(--space-8) 0 var(--space-10) var(--space-6); }
.feature-note p:not(.kicker) { margin: 0; color: var(--ds-gray-900); font: 400 16px/24px var(--font-sans); text-wrap: pretty; }
.feature-note a { margin-top: auto; color: var(--accent-strong); font: 500 12px/16px var(--font-mono); letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.home-desk-index { display: grid; grid-template-columns: minmax(200px, 1.25fr) repeat(5, minmax(0, 1fr)); gap: 1px; margin-top: var(--space-12); border-block: 1px solid var(--ds-gray-alpha-500); background: var(--ds-gray-alpha-500); }
.home-desk-index-intro, .home-desk-index-link { min-width: 0; padding: var(--space-6); background: var(--ds-background-100); }
.home-desk-index-intro h2 { margin: 0; }
.home-desk-index-intro p:last-child { max-width: 18ch; margin: var(--space-3) 0 0; color: var(--ds-gray-700); }
.home-desk-index-link { position: relative; display: flex; min-height: 136px; flex-direction: column; justify-content: space-between; gap: var(--space-3); text-decoration: none; transition: background-color var(--ds-motion-micro), color var(--ds-motion-micro); }
.home-desk-index-link:hover { background: var(--ds-gray-100); color: var(--accent-strong); }
.home-desk-index-link strong { overflow-wrap: anywhere; }
.home-desk-index-arrow { align-self: end; color: var(--accent); font: 500 20px/24px var(--font-sans); }
.home-category { padding-block: var(--space-16); border-bottom: 1px solid var(--ds-gray-alpha-500); }
.home-category-head { display: flex; align-items: end; justify-content: space-between; gap: var(--space-6); padding-top: var(--space-4); border-top: 4px solid var(--ds-gray-1000); }
.home-category-head h2 { margin: 0; }
.home-category-head h2 a, .home-category-link { text-decoration: none; }
.home-category-link { flex: 0 0 auto; color: var(--accent-strong); }
.home-category-body { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: var(--space-8); margin-top: var(--space-8); }
.home-category-feature { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr); min-width: 0; border-radius: var(--ds-radius-card); background: var(--ds-background-100); box-shadow: var(--ds-shadow-border); overflow: hidden; }
.home-category-feature-media { aspect-ratio: 4 / 3; min-width: 0; margin: 0; overflow: hidden; background: var(--ds-gray-100); }
.home-category-feature-media picture, .home-category-feature-media img { display: block; width: 100%; height: 100%; }
.home-category-feature-media img { object-fit: cover; }
.home-category-copy { display: flex; min-width: 0; flex-direction: column; align-items: start; padding: var(--space-8) var(--space-6); }
.home-category-copy h3 { margin: 0; }
.home-category-copy h3 a { text-decoration: none; }
.home-category-copy > .text-copy-16 { margin: var(--space-4) 0 0; color: var(--ds-gray-900); text-wrap: pretty; }
.home-category-copy .meta { margin-top: var(--space-5); }
.home-category-feature-action { margin-top: auto; padding-top: var(--space-6); color: var(--accent-strong); text-decoration: none; }
.home-category-rail { display: grid; gap: var(--space-4); align-content: start; }
.home-category-rail .story { padding: var(--space-5); }
.home-category-rail .story h3 { font-size: var(--type-heading-20-size); line-height: 26px; letter-spacing: -.4px; }
.home-category-rail .story p:not(.kicker):not(.meta) { margin-top: var(--space-2); }
.home-category-place { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(220px, .6fr); grid-template-rows: auto auto; gap: 1px; margin-top: var(--space-8); background: var(--ds-gray-alpha-500); }
.home-category-place-media, .home-category-place-route, .home-category-place .home-category-copy { min-width: 0; background: var(--ds-background-100); }
.home-category-place-media { grid-row: 1 / span 2; aspect-ratio: 16 / 10; margin: 0; overflow: hidden; }
.home-category-place-media picture, .home-category-place-media img { display: block; width: 100%; height: 100%; }
.home-category-place-media img { object-fit: cover; }
.home-category-place-route { display: flex; flex-direction: column; justify-content: space-between; padding: var(--space-6); }
.home-category-place-route p:not(.kicker) { margin: 0; color: var(--ds-gray-900); }
.home-category-place-route a { margin-top: var(--space-6); color: var(--accent-strong); text-decoration: none; }
.home-category-place .home-category-copy { padding: var(--space-6); }
.home-category-briefing { display: grid; grid-template-columns: 120px minmax(0, 1.15fr) minmax(260px, .85fr); gap: 1px; margin-top: var(--space-8); background: var(--ds-gray-alpha-500); }
.home-category-briefing-pulse, .home-category-briefing-media, .home-category-briefing .home-category-copy, .home-category-briefing-related { min-width: 0; background: var(--ds-background-100); }
.home-category-briefing-pulse { display: flex; flex-direction: column; justify-content: space-between; padding: var(--space-5); color: var(--accent-strong); }
.home-category-briefing-pulse span:last-child { color: var(--ds-gray-700); writing-mode: vertical-rl; transform: rotate(180deg); }
.home-category-briefing-media { aspect-ratio: 4 / 3; margin: 0; overflow: hidden; }
.home-category-briefing-media picture, .home-category-briefing-media img { display: block; width: 100%; height: 100%; }
.home-category-briefing-media img { object-fit: cover; }
.home-category-briefing .home-category-copy { padding: var(--space-8) var(--space-6); }
.home-category-briefing-related { grid-column: 2 / -1; padding: var(--space-5); border-top: 1px solid var(--ds-gray-alpha-500); }
.home-category-briefing-related .story { padding: 0; box-shadow: none; }
.home-category-briefing-related .story h3 { font-size: var(--type-heading-20-size); line-height: 26px; }
.home-category-language { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(260px, 1fr) minmax(280px, 1.1fr); gap: 1px; margin-top: var(--space-8); background: var(--ds-gray-alpha-500); }
.home-category-language-phrase, .home-category-language .home-category-copy, .home-category-language-media { min-width: 0; background: var(--ds-background-100); }
.home-category-language-phrase { display: flex; flex-direction: column; justify-content: space-between; padding: var(--space-6); background: var(--ds-gray-100); }
.home-category-language-phrase strong { color: var(--accent-strong); font: 600 clamp(40px, 5vw, 72px)/1 var(--font-sans); letter-spacing: -3px; overflow-wrap: anywhere; }
.home-category-language-phrase span:last-child { color: var(--ds-gray-700); }
.home-category-language-media { aspect-ratio: 4 / 3; margin: 0; overflow: hidden; }
.home-category-language-media picture, .home-category-language-media img { display: block; width: 100%; height: 100%; }
.home-category-language-media img { object-fit: cover; }
.home-category-culture { display: grid; grid-template-columns: 120px minmax(0, 1.3fr) minmax(260px, .7fr); gap: 1px; margin-top: var(--space-8); background: var(--ds-gray-alpha-500); }
.home-category-culture-index, .home-category-culture-media, .home-category-culture .home-category-copy { min-width: 0; background: var(--ds-background-100); }
.home-category-culture-index { display: flex; flex-direction: column; justify-content: space-between; padding: var(--space-6); color: var(--accent-strong); }
.home-category-culture-index span:last-child { color: var(--ds-gray-700); writing-mode: vertical-rl; transform: rotate(180deg); }
.home-category-culture-media { aspect-ratio: 4 / 3; margin: 0; overflow: hidden; }
.home-category-culture-media picture, .home-category-culture-media img { display: block; width: 100%; height: 100%; }
.home-category-culture-media img { object-fit: cover; }
.home-category-culture .home-category-copy { padding: var(--space-8) var(--space-6); }
.home-latest-link { display: flex; align-items: end; justify-content: space-between; gap: var(--space-6); padding-block: var(--space-16); }
.home-latest-link h2 { max-width: 18ch; margin: 0; }
.home-latest-link .hero-action { margin: 0; }
.kicker { margin: 0 0 var(--space-2); color: var(--accent-strong); font: 500 12px/16px var(--font-mono); letter-spacing: 0; text-transform: uppercase; }
.hero-action { margin: var(--space-6) 0 0; }
.hero-action a { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--control-height-sm); padding: var(--space-2) var(--space-3); border-radius: var(--ds-radius-control); background: var(--ds-gray-1000); color: var(--ds-background-100); box-shadow: var(--ds-shadow-border); font: 500 14px/20px var(--font-sans); text-decoration: none; transition: background-color var(--ds-motion-micro), transform var(--ds-motion-micro); }
.hero-action a:hover { background: var(--ds-gray-900); color: var(--ds-background-100); }
.hero-action a:active { transform: scale(.96); }
.dek { max-width: 62ch; margin: var(--space-5) 0 0; color: var(--ds-gray-900); font: 400 var(--type-copy-20-size)/30px var(--font-sans); text-wrap: pretty; }
.meta { margin: var(--space-4) 0 0; color: var(--ds-gray-700); font: 400 12px/16px var(--font-mono); font-variant-numeric: tabular-nums; }
.article-sources span { color: var(--ds-gray-700); font: 400 13px/18px var(--font-mono); }

.section { padding: var(--space-16) 0; box-shadow: inset 0 -1px 0 var(--ds-gray-alpha-300); }
.section-title { display: flex; align-items: center; gap: var(--space-3); margin: 0 0 var(--space-8); color: var(--ds-gray-900); font: 500 12px/16px var(--font-mono); }
.section-title::after { content: ""; flex: 1; height: 1px; background: var(--ds-gray-alpha-300); }
.collection-intro { padding: var(--space-16) 0 var(--space-10); border-bottom: 1px solid var(--ds-gray-alpha-500); }
.collection-intro h1 { max-width: 12ch; margin: 0; color: var(--ds-gray-1000); text-wrap: balance; }
.collection-intro > .text-copy-20 { max-width: 54ch; margin: var(--space-5) 0 0; color: var(--ds-gray-900); }
.collection-meta { margin: var(--space-5) 0 0; color: var(--ds-gray-700); font-variant-numeric: tabular-nums; }
.collection-lead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-8); padding-block: var(--space-10); border-bottom: 1px solid var(--ds-gray-alpha-500); }
.collection-lead-media { aspect-ratio: 4 / 3; min-width: 0; margin: 0; overflow: hidden; background: var(--ds-gray-100); }
.collection-lead-media picture, .collection-lead-media img { display: block; width: 100%; height: 100%; }
.collection-lead-media img { object-fit: cover; }
.collection-lead-copy { display: flex; flex-direction: column; align-items: start; justify-content: center; min-width: 0; }
.collection-lead-copy h2 { max-width: 18ch; margin: 0; text-wrap: balance; }
.collection-lead-copy h2 a { text-decoration: none; }
.collection-lead-copy h2 a:hover { color: var(--accent); }
.collection-lead-copy > .text-copy-18 { max-width: 46ch; margin: var(--space-4) 0 0; color: var(--ds-gray-900); }
.collection-lead-copy .meta { margin-top: var(--space-5); }
.collection-lead-copy .hero-action { margin-top: var(--space-6); }
.collection-list { padding-top: var(--space-12); }
.story-media { aspect-ratio: 4 / 3; margin: calc(var(--space-6) * -1) calc(var(--space-6) * -1) var(--space-5); overflow: hidden; background: var(--ds-gray-100); }
.story-media picture, .story-media img { display: block; width: 100%; height: 100%; }
.story-media img { object-fit: cover; }
.story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
.story { min-width: 0; padding: var(--space-6); border-radius: var(--ds-radius-card); background: var(--ds-background-100); box-shadow: var(--ds-shadow-border); }
.story h3 { min-width: 0; margin: 0; color: var(--ds-gray-1000); font: 600 24px/32px var(--font-sans); letter-spacing: -.96px; text-wrap: balance; overflow-wrap: anywhere; }
.story h3 a { text-decoration: none; }
.story h3 a:hover { color: var(--accent); }
.story p:not(.kicker):not(.meta) { margin: var(--space-3) 0 0; color: var(--ds-gray-900); font: 400 14px/20px var(--font-sans); text-wrap: pretty; }
.story .meta { margin-top: var(--space-5); padding-top: var(--space-3); box-shadow: inset 0 1px 0 var(--ds-gray-alpha-200); }

.article { width: min(calc(100% - 48px), 860px); margin: 0 auto; padding: var(--space-16) 0 var(--space-20); }
.keep-together { display: inline-block; white-space: nowrap; }
.article h1 { min-width: 0; max-width: 16ch; margin: 0; color: var(--ds-gray-1000); font: 600 var(--type-heading-56-size)/56px var(--font-sans); letter-spacing: -3.36px; text-wrap: balance; overflow-wrap: anywhere; }
.article .dek { max-width: 60ch; }
.article-media { margin: var(--space-10) 0 0; }
.article-media figcaption { margin-top: var(--space-4); color: var(--ds-gray-800); }
.asset-disclosure { display: block; margin-top: var(--space-1); color: var(--ds-gray-700); }
.asset-credit { display: block; margin-top: var(--space-2); color: var(--ds-gray-700); font: 400 13px/20px var(--font-mono); overflow-wrap: anywhere; }
.asset-credit a { color: var(--accent-strong); }
.article-media picture, .article-supporting-media picture { display: block; width: 100%; }
.article-media img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.article-body { margin-top: var(--space-12); }
.article-section > p { max-width: 72ch; margin: 0 0 var(--space-8); color: var(--ds-gray-1000); text-wrap: pretty; }
.article-section { margin: 0 0 var(--space-12); }
.article-section h2 { margin: 0 0 var(--space-5); color: var(--ds-gray-1000); text-wrap: balance; }
.article-section p:last-child { margin-bottom: 0; }
.article-guide { margin: 0 0 var(--space-12); }
.article-guide-intro { max-width: 58ch; margin-bottom: var(--space-7); }
.article-guide-intro h2 { margin: 0; text-wrap: balance; }
.article-guide-intro > p:last-child { margin: var(--space-3) 0 0; }
.article-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--ds-gray-alpha-500); border-block: 1px solid var(--ds-gray-alpha-500); }
.article-guide-card { min-width: 0; padding: var(--space-6); background: var(--ds-background-100); }
.article-guide-card .guide-index { margin: 0; color: var(--accent-strong); }
.article-guide-card h3 { margin: var(--space-3) 0 0; text-wrap: balance; }
.article-guide-card > p:not(.guide-index):not(.guide-source) { margin: var(--space-3) 0 0; color: var(--ds-gray-900); }
.article-guide-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin: var(--space-6) 0 0; }
.article-guide-card dl > div { min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--ds-gray-alpha-500); }
.article-guide-card dt { color: var(--ds-gray-700); }
.article-guide-card dd { margin: var(--space-2) 0 0; color: var(--ds-gray-1000); }
.guide-source { margin: var(--space-6) 0 0; color: var(--ds-gray-700); }
.guide-source a { color: var(--accent-strong); }
.article-how-to { margin: 0 0 var(--space-12); }
.article-how-to-intro { max-width: 58ch; margin-bottom: var(--space-7); }
.article-how-to-intro h2 { margin: 0; text-wrap: balance; }
.article-how-to-intro > p:last-child { margin: var(--space-3) 0 0; }
.article-how-to > ol { display: grid; gap: 1px; margin: 0; padding: 0; list-style: none; background: var(--ds-gray-alpha-500); border-block: 1px solid var(--ds-gray-alpha-500); }
.article-how-to-step { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--space-5); min-width: 0; padding: var(--space-6); background: var(--ds-background-100); }
.how-to-number { color: var(--accent-strong); }
.article-how-to-step h3 { margin: 0; text-wrap: balance; }
.how-to-action { margin: var(--space-3) 0 0; color: var(--ds-gray-1000); font-weight: 600; }
.article-how-to-step > div > p:not(.how-to-action):not(.how-to-phrase):not(.guide-source) { margin: var(--space-2) 0 0; color: var(--ds-gray-900); }
.how-to-phrase { margin: var(--space-5) 0 0; color: var(--ds-gray-700); }
.korean-phrase { white-space: nowrap; }
.phrase-translation { white-space: normal; }
.article-restaurant { margin: 0 0 var(--space-12); padding: var(--space-6); border-block: 3px solid var(--accent); background: var(--ds-background-200); }
.article-restaurant-intro { max-width: 58ch; }
.article-restaurant-intro h2 { margin: 0; text-wrap: balance; }
.article-restaurant-intro > p:last-child { margin: var(--space-3) 0 0; }
.article-restaurant-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--space-6); margin: var(--space-7) 0 0; }
.article-restaurant-details > div { min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--ds-gray-alpha-500); }
.article-restaurant-details dt { color: var(--accent-strong); text-transform: uppercase; }
.article-restaurant-details dd { margin: var(--space-2) 0 0; color: var(--ds-gray-1000); }
.article-restaurant-menu { margin-top: var(--space-8); padding-top: var(--space-5); border-top: 1px solid var(--ds-gray-alpha-500); }
.article-restaurant-menu > p { margin: 0; color: var(--accent-strong); }
.article-restaurant-menu ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: var(--space-4) 0 0; padding: 0; list-style: none; background: var(--ds-gray-alpha-500); }
.article-restaurant-menu li { min-width: 0; padding: var(--space-5); background: var(--ds-background-100); }
.article-restaurant-menu h3 { margin: 0; text-wrap: balance; }
.article-restaurant-menu li > p:not(.guide-source) { margin: var(--space-2) 0 0; color: var(--ds-gray-900); }
.article-restaurant-note { margin: var(--space-6) 0 0 !important; color: var(--ds-gray-800) !important; }
.article-google-map { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--space-6); margin-top: var(--space-8); padding-top: var(--space-5); border-top: 1px solid var(--ds-gray-alpha-500); }
.article-google-map-intro { min-width: 0; }
.article-google-map-intro .kicker { margin: 0; color: var(--accent-strong); }
.article-google-map-intro h3 { margin: var(--space-2) 0 0; text-wrap: balance; }
.article-google-map-query { margin: var(--space-3) 0 0; color: var(--ds-gray-700); overflow-wrap: anywhere; }
.article-google-map-intro > p:not(.kicker):not(.article-google-map-query) { margin: var(--space-3) 0 0; color: var(--ds-gray-900); }
.article-google-map-intro a { display: inline-block; margin-top: var(--space-5); color: var(--accent-strong); }
.article-google-map-frame { min-height: 260px; overflow: hidden; background: var(--ds-gray-200); box-shadow: inset 0 0 0 1px var(--ds-gray-alpha-500); }
.article-google-map-frame iframe { display: block; width: 100%; min-height: 260px; border: 0; }
.article-place { margin: 0 0 var(--space-12); padding: var(--space-6); border-block: 3px solid var(--accent); background: var(--ds-background-200); overflow-wrap: anywhere; }
.article-place-intro { max-width: 58ch; }
.article-place-intro h2 { margin: 0; text-wrap: balance; }
.article-place-intro > p:not(.kicker):not(.article-place-location) { margin: var(--space-3) 0 0; }
.article-place-location { margin: var(--space-4) 0 0; color: var(--accent-strong); }
.article-place-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--space-6); margin: var(--space-7) 0 0; }
.article-place-details > div { min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--ds-gray-alpha-500); }
.article-place-details dt { color: var(--accent-strong); text-transform: uppercase; }
.article-place-details dd { margin: var(--space-2) 0 0; color: var(--ds-gray-1000); }
.article-place-details .guide-source { display: block; margin: var(--space-2) 0 0; }
.article-place-modes { margin-top: var(--space-8); padding-top: var(--space-5); border-top: 1px solid var(--ds-gray-alpha-500); }
.article-place-modes > p { margin: 0; color: var(--accent-strong); }
.article-place-modes ul { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-4) 0 0; padding: 0; list-style: none; }
.article-place-modes li { padding: var(--space-2) var(--space-3); border: 1px solid var(--ds-gray-alpha-500); background: var(--ds-background-100); text-transform: capitalize; }
.article-place-note { margin: var(--space-6) 0 0 !important; color: var(--ds-gray-800) !important; }
.article-place-note a { color: var(--accent-strong); }
.article-place a { overflow-wrap: anywhere; }
.article-access { margin: 0 0 var(--space-12); padding: var(--space-6); border-block: 3px solid var(--accent); background: var(--ds-background-200); }
.article-access-intro { max-width: 58ch; }
.article-access-intro h2 { margin: 0; text-wrap: balance; }
.article-access-intro > p:last-child { margin: var(--space-3) 0 0; }
.article-access-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: var(--space-7); background: var(--ds-gray-alpha-500); }
.article-access-card { min-width: 0; padding: var(--space-5); background: var(--ds-background-100); }
.article-access-card .kicker { margin: 0; color: var(--accent-strong); }
.article-access-card h3 { margin: var(--space-3) 0 0; text-wrap: balance; }
.article-access-card > p:not(.kicker):not(.guide-source) { margin: var(--space-3) 0 0; color: var(--ds-gray-900); }
.article-access-card dl { display: grid; gap: var(--space-4); margin: var(--space-5) 0 0; }
.article-access-card dl > div { min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--ds-gray-alpha-500); }
.article-access-card dt { color: var(--accent-strong); }
.article-access-card dd { margin: var(--space-2) 0 0; color: var(--ds-gray-1000); }
.article-access-note { margin: var(--space-5) 0 0; color: var(--ds-gray-700); overflow-wrap: anywhere; }
.article-access-note a { color: var(--accent-strong); }
.article-recipe { margin: 0 0 var(--space-12); padding: var(--space-6); border-block: 3px solid var(--accent); background: var(--ds-background-200); }
.article-recipe-intro { max-width: 58ch; }
.article-recipe-intro h2 { margin: 0; text-wrap: balance; }
.article-recipe-intro > p:last-child { margin: var(--space-3) 0 0; }
.article-recipe-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin: var(--space-7) 0 0; }
.article-recipe-facts > div { min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--ds-gray-alpha-500); }
.article-recipe-facts dt { color: var(--accent-strong); }
.article-recipe-facts dd { margin: var(--space-2) 0 0; }
.article-recipe-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--space-6); margin-top: var(--space-8); }
.article-recipe-grid > div, .article-recipe-adaptations { min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--ds-gray-alpha-500); }
.article-recipe-grid h3, .article-recipe-adaptations h3 { margin: 0; }
.article-recipe-grid ul, .article-recipe-grid ol, .article-recipe-adaptations ul { margin: var(--space-4) 0 0; padding: 0; list-style: none; }
.article-recipe-grid li { padding: var(--space-3) 0; border-top: 1px solid var(--ds-gray-alpha-300); color: var(--ds-gray-1000); }
.article-recipe-grid li:first-child { border-top: 0; }
.article-recipe-grid li span { color: var(--ds-gray-700); }
.article-recipe-grid ol { display: grid; gap: 1px; background: var(--ds-gray-alpha-500); }
.article-recipe-grid ol li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4); border: 0; background: var(--ds-background-100); }
.article-recipe-grid ol h3 { margin: 0; }
.article-recipe-grid ol p { margin: var(--space-2) 0 0; color: var(--ds-gray-900); }
.article-recipe-adaptations { margin-top: var(--space-8); }
.article-recipe-adaptations li { padding: var(--space-3) 0; border-top: 1px solid var(--ds-gray-alpha-300); }
.article-recipe-adaptations li:first-child { border-top: 0; }
.article-recipe-adaptations li p { margin: var(--space-1) 0 0; color: var(--ds-gray-900); }
.article-recipe-adaptations > p { margin: var(--space-5) 0 0; color: var(--ds-gray-800); }
.article-facts { margin: 0 0 var(--space-12); padding: var(--space-6); border-radius: var(--ds-radius-card); background: var(--ds-background-200); box-shadow: var(--ds-shadow-border); }
.article-facts h2 { margin: 0 0 var(--space-5); }
.article-facts dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5) var(--space-6); margin: 0; }
.article-facts dl > div { min-width: 0; padding-top: var(--space-3); box-shadow: inset 0 1px 0 var(--ds-gray-alpha-300); }
.article-facts dt { margin: 0; color: var(--accent-strong); text-transform: uppercase; }
.article-facts dd { margin: var(--space-2) 0 0; color: var(--ds-gray-1000); }
.article-pulse-checks { margin: 0 0 var(--space-12); padding: var(--space-6); border-block: 1px solid var(--ds-gray-alpha-500); background: var(--ds-background-200); }
.article-pulse-checks > h2 { margin: 0; text-wrap: balance; }
.article-pulse-checks-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-8); }
.article-pulse-checks-grid > article { min-width: 0; padding: var(--space-5); border-top: 3px solid var(--accent); background: var(--ds-background-100); box-shadow: var(--ds-shadow-border); }
.article-pulse-checks-grid > article:last-child { grid-column: 1 / -1; }
.article-pulse-checks-grid h3 { margin: var(--space-4) 0 0; text-wrap: pretty; word-break: normal; overflow-wrap: anywhere; }
.article-pulse-checks-grid dl { display: grid; gap: var(--space-4); margin: var(--space-5) 0 0; }
.article-pulse-checks-grid dl > div, .article-pulse-checks-grid h3, .article-pulse-checks-grid dd, .article-pulse-checks-grid a { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.article-pulse-checks-grid dt { color: var(--accent-strong); }
.article-pulse-checks-grid dd { margin: var(--space-1) 0 0; color: var(--ds-gray-900); }
.article-pulse-checks-grid .guide-source { overflow-wrap: anywhere; }
.article-process { margin: var(--space-10) 0 var(--space-12); padding: var(--space-6); border-block: 1px solid var(--ds-gray-alpha-500); background: var(--ds-background-200); }
.article-process-head { max-width: 48ch; }
.article-process-head h2 { margin: 0; text-wrap: balance; }
.article-process-head p:not(.kicker) { margin: var(--space-3) 0 0; color: var(--ds-gray-900); font: 400 16px/24px var(--font-sans); }
.article-process > ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); margin: var(--space-8) 0 0; padding: 0; list-style: none; }
.article-process > ol > li { min-width: 0; padding: var(--space-4); border-top: 3px solid var(--accent); background: var(--ds-background-100); box-shadow: var(--ds-shadow-border); }
.process-index { color: var(--accent-strong); }
.process-label { margin: var(--space-5) 0 0; }
.process-label span { display: inline-block; white-space: nowrap; color: var(--accent-strong); font-weight: 400; letter-spacing: 0; }
.article-process li .text-copy-14 { margin: var(--space-2) 0 0; color: var(--ds-gray-900); }
.article-process figcaption, .article-supporting-media figcaption { margin-top: var(--space-5); color: var(--ds-gray-800); }
.visual-source { margin: var(--space-2) 0 0 !important; color: var(--ds-gray-700) !important; font: 400 13px/20px var(--font-mono) !important; overflow-wrap: anywhere; }
.visual-source a { color: var(--accent-strong); }
.article-supporting-media { margin: var(--space-10) 0 var(--space-12); }
.article-supporting-media img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: var(--ds-radius-media); }
.article-gallery { margin: var(--space-10) 0 var(--space-12); padding: var(--space-6); border-block: 1px solid var(--ds-gray-alpha-500); background: var(--ds-background-200); }
.article-gallery-head { max-width: 48ch; }
.article-gallery-head h2 { margin: 0; text-wrap: balance; }
.article-gallery-head p:not(.kicker) { margin: var(--space-3) 0 0; color: var(--ds-gray-900); }
.article-gallery-viewport { margin-top: var(--space-6); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; outline: none; }
.article-gallery-viewport::-webkit-scrollbar { display: none; }
.article-gallery-viewport:focus-visible { box-shadow: 0 0 0 2px var(--accent); }
.article-gallery-track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 0; margin: 0; padding: 0; list-style: none; }
.article-gallery-slide { min-width: 0; scroll-snap-align: start; }
.article-gallery-slide figure { margin: 0; }
.article-gallery-slide img { display: block; width: 100%; height: auto; border-radius: var(--ds-radius-media); }
.article-gallery-slide figcaption { margin-top: var(--space-4); color: var(--ds-gray-800); }
.article-gallery-controls { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--space-4); margin-top: var(--space-5); }
.article-gallery-button { justify-self: start; min-height: 40px; padding-inline: var(--space-3); border: 1px solid var(--ds-gray-alpha-500); background: var(--ds-background-100); cursor: pointer; }
.article-gallery-button:last-child { justify-self: end; }
.article-gallery-button:hover, .article-gallery-button:focus-visible { border-color: var(--accent); color: var(--accent-strong); }
.article-gallery-status { margin: 0; color: var(--ds-gray-700); text-align: center; }
.article-gallery-caption { margin: var(--space-5) 0 0; color: var(--ds-gray-800); }
.article-external-media { margin: var(--space-10) 0 var(--space-12); }
.article-video-poster { position: relative; display: grid; min-height: 260px; aspect-ratio: 16 / 9; overflow: hidden; color: white; background: var(--ds-gray-1000); border-radius: var(--ds-radius-media); box-shadow: var(--ds-shadow-medium); text-decoration: none; }
.article-video-poster img, .article-video-poster-fallback { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.article-video-poster-fallback { background: radial-gradient(circle at 75% 25%, #8b9f9e 0, #526363 22%, #29383a 62%, #18120f 100%); }
.article-video-poster-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(24, 18, 15, .9), rgba(24, 18, 15, .22) 70%, rgba(24, 18, 15, .1)); }
.article-video-poster-copy { position: relative; z-index: 1; display: grid; align-content: center; gap: var(--space-3); max-width: 38ch; padding: var(--space-8); }
.article-video-poster-copy .kicker { margin: 0; color: #f6c5b8; }
.article-video-poster-copy strong { color: white; }
.article-video-poster-copy > span:last-child { width: fit-content; margin-top: var(--space-2); padding: var(--space-2) var(--space-3); border: 1px solid rgba(255, 255, 255, .7); }
.article-video-poster:hover .article-video-poster-shade, .article-video-poster:focus-visible .article-video-poster-shade { background: linear-gradient(90deg, rgba(24, 18, 15, .96), rgba(182, 48, 34, .28)); }
.article-video-poster:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.article-video-details { margin-top: var(--space-4); }
.article-video-details summary { width: fit-content; cursor: pointer; color: var(--accent-strong); }
.article-video-details[open] summary { margin-bottom: var(--space-4); }
.article-video-frame { aspect-ratio: 16 / 9; overflow: hidden; background: var(--ds-gray-1000); border-radius: var(--ds-radius-media); box-shadow: var(--ds-shadow-medium); }
.article-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.article-external-media figcaption { margin-top: var(--space-5); color: var(--ds-gray-800); }
.article-youtube-analysis { margin: 0 0 var(--space-12); padding: var(--space-6); border-block: 1px solid var(--ds-gray-alpha-500); background: var(--ds-background-200); }
.article-youtube-analysis > h2 { max-width: 22ch; margin: 0; text-wrap: balance; }
.youtube-analysis-thesis { max-width: 58ch; margin: var(--space-4) 0 0; color: var(--ds-gray-900); }
.youtube-analysis-points { display: grid; gap: 0; margin: var(--space-8) 0 0; padding: 0; list-style: none; }
.youtube-analysis-points li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--space-2) var(--space-4); padding: var(--space-5) 0; border-top: 1px solid var(--ds-gray-alpha-300); }
.youtube-analysis-points li h3, .youtube-analysis-points li p:not(.youtube-analysis-time) { grid-column: 2; }
.youtube-analysis-points li h3 { margin: 0; }
.youtube-analysis-points li p { margin: 0; color: var(--ds-gray-900); }
.youtube-analysis-time { margin: 0; color: var(--accent-strong); }
.youtube-analysis-limits { margin-top: var(--space-5); padding-top: var(--space-5); border-top: 1px solid var(--ds-gray-alpha-300); }
.youtube-analysis-limits h3 { margin: 0; }
.youtube-analysis-limits ul { display: grid; gap: var(--space-2); margin: var(--space-3) 0 0; padding-left: 1.25rem; color: var(--ds-gray-800); }
.youtube-analysis-method { margin: var(--space-6) 0 0; color: var(--ds-gray-700); }
.youtube-analysis-method a { color: var(--accent-strong); }
.article-related { margin: var(--space-12) 0 0; padding-top: var(--space-6); border-top: 1px solid var(--ds-gray-alpha-500); }
.article-related h2 { margin: 0; }
.article-related > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-5); }
.article-related a { display: grid; min-width: 0; padding: var(--space-5); border-radius: var(--ds-radius-card); background: var(--ds-background-100); box-shadow: var(--ds-shadow-border); text-decoration: none; }
.article-related a:hover { box-shadow: var(--ds-shadow-medium); }
.article-related .kicker { margin: 0; }
.article-related strong { margin-top: var(--space-2); color: var(--ds-gray-1000); font: 600 20px/26px var(--font-sans); letter-spacing: -.4px; }
.article-related small { margin-top: var(--space-3); color: var(--ds-gray-900); font: 400 14px/20px var(--font-sans); }
.article-claims, .article-sources { margin-top: var(--space-12); padding: var(--space-6); border-radius: var(--ds-radius-card); background: var(--ds-background-200); box-shadow: var(--ds-shadow-border); }
.article-claims h2, .article-sources h2 { margin: 0; color: var(--ds-gray-1000); font: 600 16px/24px var(--font-sans); letter-spacing: -.32px; }
.article-claims ol { margin: var(--space-4) 0 0; padding-inline-start: var(--space-6); }
.article-claims li { margin: var(--space-5) 0; padding-inline-start: var(--space-2); color: var(--ds-gray-1000); font: 400 16px/24px var(--font-sans); }
.article-claims li > p:first-child { margin: 0; }
.claim-source { margin: var(--space-2) 0 0; color: var(--ds-gray-700); font: 400 13px/20px var(--font-mono); overflow-wrap: anywhere; }
.claim-source a, .article-sources a { color: var(--accent-strong); }
.article-sources { border-block-start: 3px solid var(--accent); }
.article-sources ul { margin: var(--space-4) 0 0; padding-inline-start: var(--space-6); color: var(--ds-gray-900); font: 400 14px/20px var(--font-sans); }
.article-sources li { margin: var(--space-3) 0; }
.article-sources .meta { margin-top: var(--space-5); }
.sync-queue { padding: 0; list-style: none; }
.sync-queue li { display: grid; gap: var(--space-1); padding: var(--space-4) 0; box-shadow: inset 0 -1px 0 var(--ds-gray-alpha-200); }
.sync-queue a { color: var(--accent-strong); font: 500 16px/24px var(--font-sans); text-decoration: none; }
.sync-queue a:hover, .sync-queue a:focus-visible { text-decoration: underline; }
.sync-queue span { color: var(--ds-gray-700); font: 400 12px/16px var(--font-mono); }
.notice { margin: var(--space-8) 0 0; padding: var(--space-4); border-radius: var(--ds-radius-card); background: var(--ds-amber-100); color: var(--ds-amber-900); box-shadow: var(--ds-shadow-border); font: 400 14px/20px var(--font-sans); }

footer { margin-top: var(--space-16); background: var(--ds-gray-1000); color: var(--ds-background-100); }
.footer { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: var(--space-8); padding: var(--space-12) 0; }
.footer h2 { margin: 0; color: var(--ds-background-100); font: 600 32px/40px var(--font-sans); letter-spacing: -1.28px; }
.footer h2 span { color: var(--accent); }
.footer p, .footer small { margin: var(--space-4) 0 0; color: var(--ds-gray-600); font: 400 14px/20px var(--font-sans); }
.footer small { display: block; margin-top: var(--space-6); font: 400 12px/16px var(--font-mono); }
.footer-heading { margin: 0 !important; color: var(--accent) !important; font: 500 12px/16px var(--font-mono) !important; letter-spacing: .06em; text-transform: uppercase; }
.footer-list { display: grid; gap: var(--space-2); margin-top: var(--space-4); color: var(--ds-background-100); font: 400 14px/20px var(--font-sans); }
.footer a { display: block; margin-top: var(--space-4); color: var(--ds-background-100); font: 500 14px/20px var(--font-sans); }
.footer a:hover { color: var(--accent); }
.footer-bottom { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; border-top: 1px solid var(--ds-gray-alpha-500); color: var(--ds-gray-600); font: 400 12px/16px var(--font-mono); }

@media (max-width: 860px) {
  .brand-row { grid-template-columns: 152px minmax(0, 1fr) 152px; gap: var(--space-4); }
  .wordmark { font-size: var(--type-heading-48-size); line-height: 56px; letter-spacing: -2.88px; }
  .wordmark img { height: 52px; }
  .feature { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .feature-media { grid-column: 2; grid-row: 1 / span 2; }
  .feature-note { grid-column: 1; grid-row: 2; padding: 0 var(--space-6) var(--space-8) 0; }
  .story-grid { grid-template-columns: 1fr; }
  .home-desk-index { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-desk-index-intro { grid-column: 1 / -1; }
  .home-desk-index-link:last-child { grid-column: 1 / -1; }
  .home-category-body { grid-template-columns: minmax(0, 1fr) minmax(240px, .65fr); gap: var(--space-6); }
  .home-category-feature { display: block; }
  .home-category-copy { min-height: 280px; }
  .home-category-place, .home-category-briefing, .home-category-language, .home-category-culture { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .home-category-place-media { grid-row: auto; grid-column: 1 / -1; }
  .home-category-place-route { grid-column: 1; }
  .home-category-place .home-category-copy { grid-column: 2; }
  .home-category-briefing-pulse { grid-column: 1; }
  .home-category-briefing-media { grid-column: 2; }
  .home-category-briefing .home-category-copy { grid-column: 1 / -1; }
  .home-category-briefing-related { grid-column: 1 / -1; }
  .home-category-language-phrase { grid-row: 1 / span 2; }
  .home-category-language .home-category-copy { grid-column: 2; }
  .home-category-language-media { grid-column: 2; }
  .home-category-culture-index { grid-row: 1 / span 2; }
  .home-category-culture-media { grid-column: 2; }
  .home-category-culture .home-category-copy { grid-column: 2; }
  .collection-lead { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-6); }
  .footer { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .brand-row { grid-template-columns: 1fr; gap: var(--space-4); padding-block: var(--space-5); }
  .brand-note, .brand-note--right { text-align: left; }
  .brand-note--right { order: 3; }
  .wordmark { font-size: var(--type-heading-40-size); line-height: 48px; letter-spacing: -2.4px; text-align: left; }
  .wordmark img { height: 40px; }
}

@media (max-width: 520px) {
  .wrap, .article { width: min(calc(100% - 32px), var(--ds-page-width)); }
  .article-gallery { padding: var(--space-4); }
  .article-gallery-button span { display: none; }
  .topline-meta { gap: var(--space-3); font-size: 11px; }
  .topline-meta span:nth-child(2) { display: none; }
  .nav { justify-content: start; }
  .edition { text-align: left; }
  .feature { display: flex; flex-direction: column; }
  .feature-copy { padding: var(--space-10) 0 var(--space-8); }
  .feature h1 { font-size: var(--type-heading-40-size); line-height: 48px; letter-spacing: -2.4px; }
  .feature-media { order: 2; border-inline: 0; }
  .feature-note { order: 3; padding: var(--space-6) 0 var(--space-8); }
  .feature-note a { margin-top: var(--space-5); }
  .home-desk-index { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--space-8); }
  .home-desk-index-intro { grid-column: 1 / -1; }
  .home-desk-index-link { min-height: 112px; padding: var(--space-5); }
  .home-category { padding-block: var(--space-12); }
  .home-category-head { align-items: start; flex-direction: column; gap: var(--space-4); }
  .home-category-head h2 { font-size: var(--type-heading-32-size); line-height: 40px; letter-spacing: -1.28px; }
  .home-category-body { display: block; margin-top: var(--space-6); }
  .home-category-copy { min-height: 0; padding: var(--space-6); }
  .home-category-feature-action { margin-top: var(--space-5); padding-top: 0; }
  .home-category-rail { margin-top: var(--space-4); }
  .home-category-place, .home-category-briefing, .home-category-language, .home-category-culture { display: block; }
  .home-category-place-media, .home-category-briefing-media, .home-category-language-media, .home-category-culture-media { aspect-ratio: 4 / 3; }
  .home-category-place-route, .home-category-place .home-category-copy, .home-category-briefing-pulse, .home-category-briefing .home-category-copy, .home-category-briefing-related, .home-category-language-phrase, .home-category-language .home-category-copy, .home-category-culture-index, .home-category-culture .home-category-copy { padding: var(--space-6); }
  .home-category-briefing-pulse { min-height: 112px; }
  .home-category-briefing-pulse span:last-child, .home-category-culture-index span:last-child { writing-mode: horizontal-tb; transform: none; }
  .home-category-language-phrase { min-height: 180px; }
  .home-category-language-phrase strong { font-size: 56px; }
  .home-latest-link { align-items: start; flex-direction: column; padding-block: var(--space-12); }
  .collection-intro { padding-block: var(--space-12) var(--space-8); }
  .collection-lead { display: flex; flex-direction: column; gap: var(--space-6); padding-block: var(--space-8); }
  .collection-lead-copy { display: block; }
  .collection-lead-copy h2 { max-width: 22ch; }
  .collection-lead-copy .hero-action { margin-top: var(--space-5); }
  .article { padding-block: var(--space-12) var(--space-16); }
  .article h1 { font-size: var(--type-heading-40-size); line-height: 48px; letter-spacing: -2.4px; }
  .article-section p.text-copy-18 { font-size: var(--type-copy-18-size); line-height: 28px; }
  .article-facts dl, .article-related > div, .article-guide-grid, .article-recipe-grid, .article-pulse-checks-grid { grid-template-columns: minmax(0, 1fr); }
  .article-pulse-checks-grid > article:last-child { grid-column: auto; }
  .article-recipe-facts { grid-template-columns: minmax(0, 1fr); }
  .article-restaurant-details, .article-restaurant-menu ul, .article-place-details, .article-google-map { grid-template-columns: minmax(0, 1fr); }
  .article-google-map-frame, .article-google-map-frame iframe { min-height: 220px; }
  .article-process > ol { grid-template-columns: minmax(0, 1fr); }
  .article-process { padding: var(--space-5); }
  .article-guide-card { padding: var(--space-5); }
  .article-guide-card dl { grid-template-columns: minmax(0, 1fr); }
  .article-how-to-step { grid-template-columns: 40px minmax(0, 1fr); gap: var(--space-3); padding: var(--space-5); }
  .nav a, .nav .coverage-item { min-height: 44px; padding-inline: var(--space-3); }
  .footer { grid-template-columns: 1fr 1fr; gap: var(--space-6); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; gap: var(--space-1); }
}

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