@charset "UTF-8";

/* Warm paper for editorial reading. Navy identifies the interactive research tools. */
@media screen {
  :root {
    --paper: #f7f5ee;
    --canvas: #fffdf7;
    --ink: #172b3d;
    --ink-deep: #102234;
    --text: #344653;
    --muted: #536672;
    --line: #d5dcd7;
    --line-strong: #aebeb9;
    --soft: #eaf0e9;
    --teal: #12615d;
    --copper: #875032;
    --accent-soft: #e6eee9;
    --signal: #177570;
    --navy: #102234;
    --navy-deep: #0a1726;
    --night-text: #d5e7ee;
    --night-muted: #a0bdca;
    --night-line: #3c5c70;
    --night-signal: #8de3ef;
    --reading-serif: Georgia, "Noto Serif KR", "Batang", serif;
    color-scheme: light;
    scroll-padding-top: 76px;
  }

  body {
    background: radial-gradient(ellipse at 10% 0, #fffdf8 0, transparent 42rem), var(--paper);
    color: var(--text);
    font-size: 15px;
    line-height: 1.75;
  }

  body::before { display: none; }
  ::selection { background: #c2e3d8; color: #102d2b; }
  :focus-visible { outline: 2px solid var(--teal); outline-offset: 4px; }
  .container { width: min(1336px, calc(100% - 112px)); }
  .skip-link { background: var(--navy); color: #fff; }
  .scroll-progress { background: linear-gradient(90deg, #247a70, #b87b52); }

  /* Publication masthead and compact navigation. */
  .utility-bar {
    min-height: 34px;
    border: 0;
    background: #112437;
    color: #d0e0e6;
    font-size: 11px;
    letter-spacing: .01em;
  }

  .utility-bar > .container { min-height: 34px; }
  .utility-bar > .container > span:first-child::before { width: 5px; height: 5px; background: #d5ab87; }
  .masthead { min-height: 91px; justify-content: space-between; }
  .brand-text { color: var(--ink-deep); }
  .brand-text strong { font-size: 23px; font-weight: 700; letter-spacing: -.055em; }
  .brand-text small { color: var(--teal); font-size: 10px; letter-spacing: .16em; }
  .brand-mark { display: block; width: 44px; height: 44px; flex-basis: 44px; border: 0; padding: 0; background: transparent; }
  .brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
  .brand-text .brand-mark::before, .brand-text .brand-mark::after { display: none; }
  .masthead-actions { gap: 24px; }
  .language-switch { color: #334c5b; font-size: 11px; font-weight: 650; letter-spacing: .07em; padding-block: 10px; }
  .language-switch:hover { color: var(--teal); text-decoration: underline; text-underline-offset: 4px; }
  .masthead-actions .button { min-height: 44px; font-size: 12px; }
  .mobile-menu { color: var(--navy); border-color: #b2c1bd; background: var(--canvas); }
  .nav-bar { background: #f7f5edf2; border-top-color: var(--line); border-bottom-color: #bccbc6; backdrop-filter: blur(12px); }
  .nav-bar > .container { min-height: 51px; }
  .nav-links { gap: clamp(22px, 3.2vw, 45px); }
  .nav-links a { color: #2c4352; font-size: 13px; font-weight: 650; padding-block: 15px; }
  .nav-links a::after { height: 2px; background: var(--teal); }
  .nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--teal); }
  .nav-code { color: #526b74; font-size: 10px; letter-spacing: .13em; }
  .breadcrumbs { color: #546c72; font-size: 11px; letter-spacing: .025em; padding-top: 23px; }
  .breadcrumbs span { color: #758b8b; }

  .button {
    min-height: 46px;
    border-radius: 2px;
    padding: 11px 18px;
    font-size: 13px;
    font-weight: 650;
    gap: 16px;
  }

  .button-primary { color: #fff; background: #164b4a; border-color: #164b4a; }
  .button-primary:hover { color: #fff; background: #0e615b; border-color: #0e615b; box-shadow: 0 7px 20px #103f3c24; }
  .button-outline { color: #253e4e; background: #ffffff3d; border-color: #aebfba; }
  .button-outline:hover { color: #0c534e; border-color: #297d73; background: #e3eee6; }
  .button-light { color: #14313c; background: #f2f8ec; border-color: #f2f8ec; }
  .button-light:hover { color: #14313c; background: #cfeadf; border-color: #cfeadf; }
  .eyebrow, .section-kicker { color: var(--teal); font-size: 11px; letter-spacing: .14em; font-weight: 700; }
  .eyebrow::before { width: 20px; height: 1px; }
  .text-link { color: #254f53; border-color: #93ada5; font-size: 13px; }
  .text-link:hover, .source-link:hover { color: #0d665d; border-color: #0d665d; }
  .source-link { color: #14605b; text-decoration-thickness: 1px; text-underline-offset: 4px; }

  /* The title reads like an editorial cover. The orbit remains a dark instrument. */
  .hero-grid {
    grid-template-columns: minmax(0, 1.07fr) minmax(0, .93fr);
    gap: clamp(40px, 5.6vw, 88px);
    min-height: 0;
    padding: clamp(42px, 5vw, 76px) 0 40px;
  }

  .hero-edition { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 24px; }
  .hero-edition span { color: #476367; font-size: 10px; font-weight: 700; letter-spacing: .09em; }
  .hero-edition span:first-child { color: #774328; border: 1px solid #d9b9a4; padding: 3px 7px; background: #f6ede0; }
  .hero-copy h1 { color: var(--ink-deep); font-size: clamp(43px, 4.5vw, 68px); font-weight: 720; line-height: 1.21; letter-spacing: -.075em; margin-top: 17px; }
  .hero-copy h1::after { display: none; }
  .hero-copy .hero-title-accent { color: var(--accent, #12615d); }
  .hero-lead { color: #475f65; max-width: 590px; margin-top: 23px; font-size: clamp(15px, 1.3vw, 18px); line-height: 1.82; }
  .hero-actions { gap: 25px; margin-top: 27px; }
  .hero-hook { color: #435f65; border-color: #95b3a8; font-size: 13px; line-height: 1.72; margin-top: 21px; }
  .hero-keywords { gap: 7px 12px; margin-top: 21px; color: #58726f; font-size: 11px; }
  .hero-keywords span::before { color: #68857d; }

  .mission-console {
    align-self: center;
    min-width: 0;
    background: radial-gradient(ellipse at 50% 50%, #193d50 0, #112a3d 42%, #0d1d2e 75%);
    border: 1px solid #233c51;
    padding: 17px 20px 19px;
    border-radius: 4px;
    box-shadow: 0 21px 43px #25384525;
  }

  .mission-console::before { top: 66px; left: 19px; border-color: #7094a7; }
  .mission-console::after { bottom: 67px; right: 19px; border-color: #7094a7; }
  .console-head { color: #b0cbd6; border-color: #35556b; font-size: 10px; padding: 0 1px 11px; }
  .console-status i { background: #8de3ef57; border-color: var(--night-signal); }
  .motion-toggle { color: #bdcfda; font-size: 9px; min-height: 29px; }
  .motion-toggle span { color: #a6e9f4; border-color: #50798a; font-size: 8px; }
  .motion-toggle[aria-pressed="true"] span { color: #f0bf99; border-color: #97785d; }
  .orbit-stage { aspect-ratio: 1.22; }
  .orbit-core { width: clamp(81px, 8.6vw, 114px); height: clamp(81px, 8.6vw, 114px); }
  .orbit-core span, .orbit-core small { color: #a2c7d3; }
  .orbit-label { color: #bddbe5; font-size: 8px; }
  .orbit-label::before { background: var(--night-signal); }
  .orbit-label-c { color: var(--night-signal); }
  .console-caption { color: #b2cdd9; border-color: #35556b; padding-top: 11px; }
  .console-caption > span { color: #d4eaf0; font-size: 9px; }
  .console-caption p { color: #a1bcc9; font-size: 10px; }

  .edition-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid #b8c7c1; margin: 0 0 17px; }
  .edition-index > a { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 15px; align-items: center; min-height: 77px; padding: 15px 22px; }
  .edition-index > a + a { border-left: 1px solid var(--line); }
  .edition-index > a > span { color: var(--teal); font-size: 10px; font-weight: 700; letter-spacing: .09em; }
  .edition-index > a > strong { color: var(--ink); font-size: 15px; font-weight: 650; grid-column: 1; }
  .edition-index > a > i { grid-column: 2; grid-row: 1 / span 2; color: #55726f; font-size: 19px; font-style: normal; }
  .edition-index > a:hover { background: #e7efe7; }
  .edition-index > a:hover > i { color: var(--teal); }
  .issue-strip { gap: 17px; padding: 14px 17px; margin-bottom: clamp(58px, 7vw, 96px); background: #f0eee5; border-color: #dbd8c9; }
  .issue-strip::before { width: 30px; background: #a67455; }
  .issue-strip p { color: #475c60; font-size: 13px; }
  .issue-strip > a { color: #255b56; font-size: 12px; }
  .issue-strip > a:hover { color: #0d4d46; }
  .badge, .tag { border-color: #b6ccc0; background: #e8f1e9; color: #285a4d; font-size: 11px; font-weight: 650; }
  .issue-strip .badge { background: #f5ebdb; border-color: #d9b9a4; color: #754329; }

  /* Briefing shelf and field notes. */
  .section-heading { margin-bottom: 25px; }
  .section-heading h2 { color: var(--ink-deep); font-size: clamp(29px, 3vw, 41px); font-weight: 700; letter-spacing: -.06em; line-height: 1.28; }
  .section-kicker { margin-bottom: 8px; }
  .section-meta { color: #546d6f; font-size: 11px; letter-spacing: .07em; }
  .content-layout { grid-template-columns: minmax(0, 1fr) minmax(245px, 27%); gap: clamp(28px, 4vw, 62px); margin-bottom: 89px; }
  .main-column, .sidebar { min-width: 0; }
  .filter-bar { padding: 12px 0; border-top-color: #a6b9b2; border-bottom-color: var(--line); }
  .filter-bar input, .filter-bar .search-field input { min-height: 44px; border-color: #a9beb6; background: #fffdf8; color: #233f4a; font-size: 13px; }
  .filter-bar input::placeholder { color: #637b7a; }
  .filter-bar button { min-height: 40px; color: #3d5f63; font-size: 12px; }
  .filter-bar button.active, .filter-bar button[aria-pressed="true"] { background: #e0eee3; border-color: #a6c2b5; color: #18564e; }
  .filter-bar button:hover:not(.active) { background: #edf2e8; color: #174c49; }
  .article-row { grid-template-columns: 30px minmax(0, 1fr) 35px; gap: 16px; padding: 23px 13px; border-color: var(--line); }
  .article-row::before { display: none; }
  .article-row:hover { border-color: #a6c0b6; background: #edf2e9; }
  .article-row.is-featured { background: #e9f0e8; border-left: 2px solid #2b7769; border-bottom-color: #b4c8bc; padding-left: 17px; }
  .article-row.is-featured:hover { background: #e0ede1; }
  .article-num { color: #557371; font-size: 12px; }
  .article-title { color: var(--ink-deep); font-size: clamp(18px, 1.9vw, 25px); font-weight: 670; line-height: 1.37; letter-spacing: -.042em; }
  .article-title a:hover { color: var(--teal); }
  .article-summary { color: #4b6468; font-size: 14px; line-height: 1.7; }
  .article-meta, .article-page .article-meta { color: #4b666a; font-size: 12px; }
  .article-meta span + span::before { color: #7b938d; }
  .article-arrow { color: #31675f; background: #f8faf2; border-color: #a7beb2; width: 35px; height: 35px; }
  .article-row:hover .article-arrow { color: #124f46; border-color: #619686; }
  .search-status, .empty-state { color: #4c656a; }

  .panel { border: 1px solid #c2cec3; background: #fffdf7; }
  .panel-title { color: #183f43; border-color: #d5dfd4; font-size: 15px; }
  .panel-body { padding-inline: 19px; }
  .key-value { padding-block: 15px; border-color: #dce3d8; }
  .key-value + .key-value { border-color: #dce3d8; }
  .key-value > span { color: #3c6f63; font-size: 11px; }
  .key-value > div strong { color: #294c4b; font-size: 13px; }
  .key-value > div p { color: #526b6e; font-size: 12px; line-height: 1.66; }
  .panel.side-cta { display: block; background: #173146; border: 1px solid #28465a; color: #edf7f7; padding: 24px; }
  .side-cta .eyebrow, .side-cta .source-link { color: #a4e1e5; }
  .side-cta h3 { color: #eef8f7; font-size: 25px; font-weight: 650; line-height: 1.3; }
  .side-cta p { color: #b4cdd5; font-size: 13px; }

  .flow-grid { background: #fffcf6; border-color: #b9cac2; }
  .flow-step { padding: 25px 28px 29px; border-color: #d2ded4; }
  .flow-step > span { color: #276659; font-size: 12px; }
  .flow-step h3 { color: #21444a; font-size: 19px; font-weight: 670; }
  .flow-step p { color: #4e6768; font-size: 13px; line-height: 1.72; }
  .flow-step::after { background: #edf3e9; color: #376e65; border-color: #adc3b6; }
  .note-box { background: #edf2e9; border-color: #c7d5c7; border-left: 3px solid #9b6a4b; color: #435e62; }
  .note-box > strong { color: #754429; font-size: 13px; }
  .note-box > ul li { color: #435e62; font-size: 13px; }
  .note-box > ul li::before { color: #3d7669; }
  .scope-notice { color: #4e666b; font-size: 14px; }

  /* Keep the reference explorer recognizably interactive. Its catalog reads like paper. */
  .architecture-explorer { background: linear-gradient(135deg, #142e44, #0a1a2a); border-color: #29475d; box-shadow: 0 16px 40px #27394a16; }
  .architecture-explorer::before { background: var(--night-signal); }
  .explorer-header { background: #10263c; border-color: #38596e; }
  .explorer-header > span, .module-status { color: #accedb; font-size: 10px; }
  .explorer-header p { color: #b5ced8; font-size: 12px; }
  .module-tab { color: #b6ceda; }
  .module-tab-code { color: #a0c4d2; }
  .module-tab strong { font-size: 13px; }
  .module-panel h3 { color: #e5f3f6; }
  .module-panel > p, .module-panel > ul > li { color: #bed6df; }
  .module-code { color: #e6bc99; border-color: #95785d; }
  .module-catalog { border-color: #b7c9bc; background: #eff2e9; }
  .module-catalog > summary { color: #2d5a50; font-size: 13px; min-height: 48px; }
  .module-catalog > summary::after { color: #38776a; }
  .module-catalog > summary:hover { background: #e1ecdf; color: #17483d; }
  .module-catalog[open] > summary { border-color: #c5d4c6; }
  .capability-card { background: #fffdf7; border-color: #c3d2c5; }
  .capability-card::before { background: linear-gradient(90deg, transparent, #8ab9a8, transparent); }
  .capability-index { color: #557d72; }
  .capability-code { color: #376a5e; }
  .capability-card h3 { color: #24464a; font-weight: 660; }
  .capability-card p, .capability-card ul { color: #4d6769; font-size: 13px; }
  .capability-card li { border-color: #d6e0d4; }

  .delivery-grid { border-color: #b7c8bd; }
  .delivery-phase { background: #fffdf7; }
  .delivery-phase + .delivery-phase { border-color: #ccd8cd; }
  .phase-code { color: #79492e; font-size: 11px; }
  .delivery-phase h3 { color: #24464a; font-weight: 650; }
  .delivery-phase p { color: #4c676a; font-size: 13px; }
  .delivery-phase small { color: #456a62; border-color: #d8e2d7; font-size: 12px; }
  .acceptance-panel { background: #e8f0e5; border-color: #c0d0c3; }
  .acceptance-panel h3 { color: #244d48; font-size: 16px; font-weight: 680; }
  .acceptance-panel li { color: #425f61; font-size: 13px; }

  .faq-list { border-color: #a7beb2; }
  .faq-list details { border-color: #d3ddd1; }
  .faq-list summary { color: #294b4d; padding-block: 18px; font-size: 15px; }
  .faq-list summary::before, .faq-list summary::after { color: #427768; }
  .faq-list summary:hover, .faq-list details[open] summary { color: #14544b; background: #eaf0e6; }
  .faq-list details > p { color: #4a6467; background: #eaf0e6; font-size: 14px; }

  .consultation-banner { padding: clamp(26px, 4.1vw, 54px); background: linear-gradient(126deg, #163849, #102638 71%, #1b3c4c); border-color: #29475a; border-radius: 3px; }
  .consultation-banner .eyebrow { color: #a6e5e6; font-size: 11px; }
  .consultation-banner h2 { color: #f1f8f6; font-size: clamp(25px, 3vw, 40px); font-weight: 660; line-height: 1.25; }
  .consultation-banner p { color: #bfd7dc; font-size: 14px; }
  .consultation-banner p.article-bridge, .consultation-banner .cta-support { color: #b8d3dc; font-size: 13px; }
  .consultation-banner .inquiry-outline > summary, .consultation-banner .inquiry-template, .consultation-banner .inquiry-outline [data-inquiry-status] { font-size: 13px; }
  .consultation-banner .button-light { min-height: 69px; }
  .consultation-banner .button-light small { color: #466568; }
  :where(.mission-console, .architecture-explorer, .consultation-banner, .side-cta) :focus-visible { outline-color: var(--night-signal); }

  .site-network { margin-bottom: 74px; }
  .site-network .section-heading > p { color: #53706e; font-size: 12px; }
  .network-grid { border-color: #b8c9bf; }
  .network-link { background: #fffdf6; border-color: #d3ded2; }
  .network-link:hover { background: #e8f0e4; }
  .network-link.is-current { background: #e3eee2; }
  .network-link.is-current::before { background: #318372; }
  .network-link > span { color: #466e64; font-size: 10px; }
  .network-link strong { color: #294b4d; font-size: 14px; }
  .network-link small { color: #537474; font-size: 11px; }
  .network-link:hover strong, .network-link:hover small { color: #14574d; }

  /* Reading pages use a quiet line length and a persistent contents rail. */
  .article-page {
    --article-rail: clamp(175px, 17vw, 227px);
    --article-gap: clamp(31px, 4.8vw, 70px);
    max-width: 1180px;
    padding: 43px 0 63px;
  }

  .article-page .article-header { margin: 0 0 35px calc(var(--article-rail) + var(--article-gap)); padding: 0 0 26px; border-bottom: 1px solid #bccdc0; }
  .article-page h1 { color: var(--ink-deep); font-size: clamp(36px, 4.5vw, 59px); font-weight: 720; line-height: 1.21; letter-spacing: -.067em; margin-top: 15px; }
  .article-page .article-deck { color: #425d64; font-size: clamp(16px, 1.65vw, 20px); line-height: 1.7; margin-top: 17px; }
  .article-page .article-actions { align-items: center; margin-top: 18px; }
  .article-page .article-actions .button { min-height: 44px; font-size: 12px; }
  .article-reading { display: grid; grid-template-columns: var(--article-rail) minmax(0, 1fr); gap: var(--article-gap); align-items: start; }
  .article-contents { position: sticky; top: 75px; grid-column: 1; grid-row: 1; align-self: start; border-top: 2px solid #4a8978; padding-top: 15px; }
  .article-contents ol { margin: 13px 0 0; padding: 0 0 0 24px; list-style: decimal-leading-zero; }
  .article-contents li { color: #587a6d; font-size: 11px; border-bottom: 1px solid #d9e3d7; }
  .article-contents a { display: block; color: #315750; padding: 11px 4px 11px 6px; font-size: 13px; }
  .article-contents a:hover { color: #0d6154; text-decoration: underline; text-underline-offset: 3px; }
  .article-reading .article-body { grid-column: 2; grid-row: 1; min-width: 0; max-width: 770px; }
  .article-page .article-body { color: #304750; font-size: 17px; line-height: 1.9; }
  .article-page .article-body > section { margin: 38px 0; scroll-margin-top: 12px; }
  .article-page .article-body > section:first-child { margin-top: 0; }
  .article-page .article-body h2 { color: #153b41; font-size: clamp(23px, 2.45vw, 31px); font-weight: 700; line-height: 1.34; margin: 0 0 16px; }
  .article-page .article-body ul, .article-page .article-body ol { margin: 14px 0 23px; padding-inline-start: 25px; }
  .article-page .article-body li { padding-inline-start: 6px; margin-bottom: 13px; }
  .article-page .article-body li::marker { color: #357567; }
  .article-page .article-body .note-box { background: #edf1e7; border-color: #c3d2c4; border-left: 3px solid #996b4e; padding: 24px 27px; }
  .article-page .article-body .note-box > h2 { color: #244e47; font-size: clamp(21px, 2.2vw, 28px); }
  .article-page .article-body .note-box > p { color: #36535a; font-size: 16px; line-height: 1.83; }
  .article-page .article-sources { background: #fffdf8; border: 1px solid #c7d3c8; border-top: 2px solid #81ab98; padding: 22px 25px 9px; color: #415f63; font-size: 14px; }
  .article-page .article-sources a { color: #126159; text-decoration-thickness: 1px; }
  .article-page .article-sources a:hover { color: #0c4841; }
  .article-page .article-sources small { color: #536e6c; font-size: 12px; }
  .article-page .article-body .text-muted { color: #536e6d; font-size: 13px; }
  .article-page + .consultation-banner { width: min(100%, 1180px); margin-inline: auto; }

  .legal-page h1, .legal-page h2 { color: var(--ink-deep); font-weight: 680; }
  .legal-page p, .legal-page li { color: #476367; font-size: 15px; }
  .footer { background: #eaf0e6; border-color: #b6cabd; padding: 30px 0 25px; }
  .footer-top > div > strong { color: #1d4146; }
  .footer-top p { color: #476769; font-size: 12px; }
  .footer-top > a { color: #275c52; }
  .footer-bottom { border-color: #c7d7c9; color: #466965; font-size: 11px; }
  .footer-bottom > div { color: #3b6860; font-size: 11px; }
  .footer a:hover { color: #14584e; }
  .toast { background: #19394a; border-color: #42657a; color: #ecf7f7; }

  html[lang="en"] .brand-text strong { color: var(--ink-deep); font-size: 21px; font-weight: 690; }
  html[lang="en"] .hero-copy h1 { font-family: var(--reading-serif); font-size: clamp(42px, 4.9vw, 72px); font-weight: 500; line-height: 1.04; letter-spacing: -.056em; }
  html[lang="en"] .hero-lead { font-size: clamp(15px, 1.3vw, 18px); }
  html[lang="en"] .article-page h1 { font-family: var(--reading-serif); font-weight: 500; letter-spacing: -.045em; line-height: 1.09; }
}

@media screen and (max-width: 1120px) {
  .container { width: calc(100% - 68px); }
  .hero-grid { gap: 38px; }
  .hero-copy h1 { font-size: clamp(39px, 4.9vw, 55px); }
  .content-layout { gap: 27px; }
  html[lang="en"] .hero-copy h1 { font-size: clamp(39px, 5.2vw, 59px); }
  html[lang="en"] .nav-links { gap: 23px; }
}

@media screen and (max-width: 875px) {
  .container { width: calc(100% - 48px); }
  .hero-grid { gap: 27px; padding: 40px 0 31px; }
  .hero-copy h1 { font-size: clamp(34px, 5.1vw, 45px); }
  .hero-edition { margin-bottom: 17px; }
  .hero-lead { margin-top: 17px; }
  .hero-actions { gap: 17px; margin-top: 21px; }
  .mission-console { padding: 13px 14px 15px; }
  .mission-console::before { left: 14px; }
  .mission-console::after { right: 14px; }
  .orbit-label { font-size: 7px; }
  .content-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edition-index > a { padding-inline: 16px; }
  .article-page { --article-rail: 165px; --article-gap: 28px; }
  .article-page .article-body { font-size: 16px; }
  html[lang="en"] .hero-copy h1 { font-size: clamp(36px, 5.5vw, 51px); }
}

@media screen and (max-width: 700px) {
  .container { width: calc(100% - 40px); }
  .utility-bar { font-size: 9px; }
  .utility-bar > .container > span:last-child { font-size: 9px; }
  .masthead { min-height: 76px; gap: 12px; }
  .brand-text { gap: 10px; }
  .brand-text strong { font-size: 17px; }
  .brand-text small { font-size: 8px; letter-spacing: .12em; }
  .brand-mark { width: 35px; height: 35px; flex-basis: 35px; }
  .masthead-actions { gap: 12px; }
  .masthead-actions .button { display: none; }
  .language-switch { font-size: 10px; }
  .mobile-menu { display: inline-grid; place-items: center; width: 44px; height: 44px; font-size: 18px; }
  .nav-bar { min-height: 4px; }
  .nav-bar > .container { display: block; min-height: 4px; }
  .nav-links { display: none; padding: 6px 0; }
  .nav-links.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-links a, html[lang="en"] .nav-links a { min-height: 44px; border-color: #d5ded4; padding-block: 11px; font-size: 13px; }
  .nav-links a::after, .nav-code { display: none; }
  .breadcrumbs { padding-top: 17px; font-size: 10px; }

  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 32px 0 27px; }
  .hero-copy h1 { font-size: clamp(34px, 7.8vw, 51px); line-height: 1.2; margin-top: 14px; }
  .hero-lead { font-size: 15px; line-height: 1.75; }
  .hero-edition { margin-bottom: 14px; }
  .hero-edition span { font-size: 9px; }
  .hero-actions .button { min-height: 44px; font-size: 13px; }
  .hero-actions .text-link { font-size: 13px; }
  .hero-hook { font-size: 12px; }
  .hero-keywords { font-size: 10px; }
  .mission-console { width: 100%; max-width: 470px; margin: 0; }
  .orbit-stage { aspect-ratio: 1.31; }
  .orbit-core { width: 85px; height: 85px; }
  .edition-index > a { min-height: 65px; padding: 11px; gap: 4px 8px; }
  .edition-index > a > span { font-size: 8px; }
  .edition-index > a > strong { font-size: 12px; }
  .edition-index > a > i { font-size: 15px; }
  .issue-strip { margin-bottom: 53px; }
  .issue-strip p { font-size: 12px; }

  .section-heading h2 { font-size: 27px; }
  .section-kicker, .eyebrow { font-size: 10px; }
  .section-meta { font-size: 9px; white-space: normal; }
  .filter-bar .search-field { flex-basis: 100%; }
  .filter-bar button { min-height: 44px; }
  .article-row { grid-template-columns: 21px minmax(0, 1fr) 30px; gap: 9px; padding: 19px 8px; }
  .article-row.is-featured { padding-left: 10px; }
  .article-title { font-size: 19px; }
  .article-summary { font-size: 13px; }
  .article-meta, .article-page .article-meta { font-size: 11px; }
  .article-arrow { width: 30px; height: 30px; }
  .content-layout { margin-bottom: 57px; }
  .sidebar { grid-template-columns: minmax(0, 1fr); }
  .flow-grid { grid-template-columns: minmax(0, 1fr); }
  .flow-step { border-right: 0; border-bottom: 1px solid #d2ded4; padding: 20px 22px; }
  .flow-step:last-child { border-bottom: 0; }
  .flow-step::after { display: none; }
  main > section#practice, main > section#practice + section { margin-bottom: 58px; }
  .explorer-header > span, .module-status { font-size: 9px; }
  .explorer-header p { font-size: 11px; }
  .module-tab strong { font-size: 11px; }
  .module-selector .module-tab:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .delivery-phase p { font-size: 12px; }
  .delivery-phase small { font-size: 11px; }
  .consultation-banner { display: block; margin-bottom: 55px; }
  .consultation-banner h2 { font-size: 27px; }
  .consultation-banner p, .consultation-banner .cta-support { font-size: 13px; }
  .consultation-banner > .button-light { width: fit-content; margin-top: 21px; }
  .network-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .network-link strong { font-size: 13px; }
  .network-link small { font-size: 10px; }

  .article-page { padding: 29px 0 45px; }
  .article-page .article-header { margin: 0 0 22px; padding-bottom: 18px; }
  .article-page h1 { font-size: clamp(33px, 7.45vw, 47px); }
  .article-page .article-deck { font-size: 16px; }
  .article-reading { display: flex; flex-direction: column; gap: 25px; }
  .article-contents { position: static; width: 100%; border: 1px solid #c7d6c8; border-top: 2px solid #629a85; background: #edf2e9; padding: 12px 17px; }
  .article-contents ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; margin-top: 4px; }
  .article-contents a { min-height: 41px; font-size: 12px; padding-left: 3px; }
  .article-page .article-body { width: 100%; font-size: 16px; line-height: 1.82; }
  .article-page .article-body .note-box, .article-page .article-sources { padding: 18px 17px; }
  .article-page .article-body .note-box > p { font-size: 15px; }
  .footer-top p { font-size: 11px; }
  html[lang="en"] .brand-text strong { font-size: 14px; }
  html[lang="en"] .nav-links { gap: 0; }
  html[lang="en"] .hero-copy h1 { font-size: clamp(38px, 9.1vw, 57px); }
  html[lang="en"] .hero-lead { font-size: 15px; }
}

@media screen and (max-width: 425px) {
  .container { width: calc(100% - 32px); }
  .utility-bar > .container > span:last-child { display: none; }
  .brand-mark { width: 32px; height: 32px; flex-basis: 32px; }
  .brand-text strong { font-size: 16px; }
  .masthead-actions { gap: 9px; }
  .edition-index { grid-template-columns: minmax(0, 1fr); }
  .edition-index > a { grid-template-columns: 88px minmax(0, 1fr) auto; min-height: 49px; padding: 9px 10px; }
  .edition-index > a + a { border-left: 0; border-top: 1px solid var(--line); }
  .edition-index > a > strong { grid-column: 2; }
  .edition-index > a > i { grid-column: 3; grid-row: 1; }
  .article-contents ol { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  .mission-console { transform: none !important; }
  .edition-index a, .article-row, .article-arrow, .button { transition: none !important; }
}

@media print {
  .brand-mark { display: block; border: 0; padding: 0; background: transparent; }
  .brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
  .brand-text .brand-mark::before, .brand-text .brand-mark::after { display: none; }
  .article-reading { display: block; }
  .article-contents, .edition-index, .hero-edition { display: none !important; }
  .article-page .article-header { margin-left: 0; }
  .article-page .article-body { max-width: none; }
}
