@layer reset, parts, frame, pages;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; }
  body { margin: 0; }
  img { max-inline-size: 100%; block-size: auto; display: block; }
  button, select, input { font: inherit; color: inherit; }
  h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
  a { color: #00557a; }
  a:hover { color: #e4183c; }
}

@layer frame {
  :root {
    --ko-sun: #fce400;
    --ko-sky: #0090cc;
    --ko-deep: #00557a;
    --ko-night: #003a54;
    --ko-pop: #e4183c;
    --ko-ink: #161616;
    --ko-soft: #4d5459;
    --ko-rule: #dfe3e6;
    --ko-mist: #f2f6f8;
    --ko-blush: #fff8d6;
    --ko-paper: #ffffff;
    --ko-wide: 1200px;
    --ko-face: "Lilita One", "Arial Black", sans-serif;
    --ko-text: "Barlow", "Segoe UI", Arial, sans-serif;
  }
  body { background: var(--ko-paper); color: var(--ko-ink); font: 400 17px/1.55 var(--ko-text); overflow-x: hidden; }
  .shell { inline-size: min(var(--ko-wide), 100% - 32px); margin-inline: auto; }

  /* PlayMonster: служебная полоса над шапкой */
  .tickerline { background: var(--ko-deep); color: #fff; font: 600 13px/1 var(--ko-text); text-transform: uppercase; }
  .tickerline .shell { display: flex; justify-content: flex-end; gap: 14px; padding-block: 8px; }
  .tickerline b { color: var(--ko-sun); font-weight: 700; }

  /* PlayMonster: лого слева, справа действие; ниже ряд меню с треугольниками и синяя лента */
  .yardhead { background: #fff; position: relative; z-index: 5; }
  .yardhead__row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 10px; }
  .yardhead__logo img { inline-size: 150px; }
  .yardhead__buy { inline-size: 232px; }
  .yardhead__menu { display: flex; flex-wrap: wrap; gap: 4px 34px; list-style: none; padding: 0 0 12px; }
  .yardhead__menu a { display: inline-block; padding: 6px 0; text-decoration: none; color: var(--ko-deep); font: 500 17px/1.2 var(--ko-text); }
  .yardhead__menu a::after { content: ""; display: inline-block; margin-inline-start: 7px; border: 5px solid transparent; border-block-start: 7px solid var(--ko-pop); border-block-end: 0; vertical-align: 2px; }
  .yardhead__menu a[aria-current] { color: var(--ko-pop); }
  .yardhead__toggle { display: none; background: none; border: 2px solid var(--ko-deep); border-radius: 6px; padding: 6px 10px; font-weight: 700; color: var(--ko-deep); cursor: pointer; }
  .skyband { block-size: 22px; background: var(--ko-sky); }

  @media (max-width: 860px) {
    .yardhead__row { gap: 10px; }
    .yardhead__logo img { inline-size: 92px; }
    .yardhead__buy { inline-size: 166px; order: 2; }
    .yardhead__toggle { display: inline-block; order: 3; padding: 6px 8px; font-size: 14px; }
    .tickerline span { display: none; }
    .tickerline .shell { justify-content: center; }
    .yardhead__menu { display: none; flex-direction: column; gap: 0; padding-block-end: 8px; }
    .yardhead__menu a { padding: 10px 0; border-block-start: 1px solid var(--ko-rule); display: block; }
    .yardhead.menu-out .yardhead__menu { display: flex; }
  }

  /* PlayMonster: хлебные крошки с домиком */
  .crumbs { font-size: 15px; color: var(--ko-soft); padding-block: 22px 8px; }
  .crumbs a { color: var(--ko-soft); display: inline-block; padding: 6px 0; }
  .crumbs svg { inline-size: 15px; block-size: 15px; vertical-align: -2px; fill: var(--ko-soft); margin-inline-end: 3px; }
  .crumbs i { font-style: normal; margin-inline: 6px; color: #9aa3a8; }

  /* PlayMonster: префутер «Follow the fun / Show us how you play», волна, тёмный футер в три колонки */
  .playrow { border-block-start: 1px solid var(--ko-rule); margin-block-start: 56px; }
  .playrow .shell { display: grid; grid-template-columns: 1fr 1fr; padding-block: 26px; align-items: center; }
  .playrow__left { text-align: center; }
  .playrow__left p { font: 400 22px/1.2 var(--ko-face); color: var(--ko-deep); margin-block-end: 8px; }
  .playrow__left img { inline-size: 260px; margin-inline: auto; }
  .playrow__right { border-inline-start: 1px solid #bfc6ca; padding-inline-start: 18px; }
  .playrow__right b { display: block; font-size: 17px; }
  .wave { display: block; inline-size: 100%; block-size: 60px; margin-block-end: -1px; }
  .groundfloor { background: var(--ko-deep); color: #fff; }
  .groundfloor__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; padding-block: 30px 40px; inline-size: min(990px, 100% - 32px); margin-inline: auto; }
  .groundfloor h2 { font: 400 19px/1.2 var(--ko-face); color: var(--ko-sun); padding: 0 16px 6px; border-block-end: 1px solid rgba(255,255,255,.45); }
  .groundfloor ul { list-style: none; padding: 0; }
  .groundfloor li a { display: block; padding: 6px 0; color: #fff; text-decoration: none; border-block-end: 1px solid rgba(255,255,255,.3); font-size: 15px; }
  .groundfloor li a:hover { color: var(--ko-sun); }
  .groundfloor address { font-style: normal; font-size: 15px; line-height: 1.6; padding-block-start: 8px; }
  .groundfloor address a { color: #fff; }
  .groundfloor__base { border-block-start: 1px solid rgba(255,255,255,.4); display: grid; grid-template-columns: 160px 1fr; align-items: center; gap: 20px; padding-block: 16px 26px; }
  .groundfloor__base img { inline-size: 130px; }
  .groundfloor__base p { color: var(--ko-sun); font-weight: 700; text-align: center; }
  .groundfloor__base nav { text-align: center; font-size: 13px; font-weight: 700; margin-block-start: 6px; }
  .groundfloor__base nav a { color: #fff; text-decoration: none; padding: 4px 8px; border-inline-end: 1px solid var(--ko-sun); display: inline-block; }
  @media (max-width: 760px) {
    .playrow .shell { grid-template-columns: 1fr; gap: 14px; }
    .playrow__right { border-inline-start: 0; padding-inline-start: 0; text-align: center; }
    .groundfloor__cols { grid-template-columns: 1fr; gap: 20px; }
    .groundfloor__base { grid-template-columns: 1fr; justify-items: center; }
  }

  /* нижняя полоса покупки (телефон) */
  .catchbar { display: none; }
  @media (max-width: 860px) {
    .catchbar { display: flex; position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 20; background: var(--ko-night); color: #fff; align-items: center; gap: 10px;
      padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); }
    .catchbar__t { flex: 1; min-inline-size: 0; font-size: 14px; line-height: 1.25; }
    .catchbar__t b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .catchbar__t span { color: var(--ko-sun); font-weight: 700; }
    .catchbar .grab { inline-size: 168px; flex: none; }
    body:has(.catchbar) { padding-block-end: 78px; }
  }
}

@layer parts {
  .grab { display: block; background: none; border: 0; padding: 0; line-height: 0; cursor: pointer; inline-size: min(300px, 100%); transition: transform .15s; }
  .grab:hover { transform: translateY(-2px); }
  .grab:focus-visible { outline: 3px solid var(--ko-sky); outline-offset: 3px; border-radius: 40px; }
  .grab img { inline-size: 100%; }

  /* PlayMonster: звёзды + (число) */
  .stars { --fill: 90%; display: inline-block; inline-size: 98px; block-size: 18px; vertical-align: -3px;
    background: linear-gradient(90deg, #f5b301 var(--fill), #d9dde0 var(--fill));
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 18'%3E%3Cpath d='M9 0l2.6 5.6 6.1.6-4.6 4.1 1.3 6L9 13.2 3.6 16.3l1.3-6L.3 6.2l6.1-.6zM29 0l2.6 5.6 6.1.6-4.6 4.1 1.3 6L29 13.2l-5.4 3.1 1.3-6-4.6-4.1 6.1-.6zM49 0l2.6 5.6 6.1.6-4.6 4.1 1.3 6L49 13.2l-5.4 3.1 1.3-6-4.6-4.1 6.1-.6zM69 0l2.6 5.6 6.1.6-4.6 4.1 1.3 6L69 13.2l-5.4 3.1 1.3-6-4.6-4.1 6.1-.6zM89 0l2.6 5.6 6.1.6-4.6 4.1 1.3 6L89 13.2l-5.4 3.1 1.3-6-4.6-4.1 6.1-.6z'/%3E%3C/svg%3E") 0 0/100% 100%;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 18'%3E%3Cpath d='M9 0l2.6 5.6 6.1.6-4.6 4.1 1.3 6L9 13.2 3.6 16.3l1.3-6L.3 6.2l6.1-.6zM29 0l2.6 5.6 6.1.6-4.6 4.1 1.3 6L29 13.2l-5.4 3.1 1.3-6-4.6-4.1 6.1-.6zM49 0l2.6 5.6 6.1.6-4.6 4.1 1.3 6L49 13.2l-5.4 3.1 1.3-6-4.6-4.1 6.1-.6zM69 0l2.6 5.6 6.1.6-4.6 4.1 1.3 6L69 13.2l-5.4 3.1 1.3-6-4.6-4.1 6.1-.6zM89 0l2.6 5.6 6.1.6-4.6 4.1 1.3 6L89 13.2l-5.4 3.1 1.3-6-4.6-4.1 6.1-.6z'/%3E%3C/svg%3E") 0 0/100% 100%; }

  /* PlayMonster: сетка карточек — тонкая линия сверху, лента-бейдж, заголовок по центру, жирная цена, кнопка */
  .bin { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px 10px; }
  .toy { display: flex; flex-direction: column; border-block-start: 1px solid var(--ko-rule); padding: 12px 0 0; position: relative; text-align: center; }
  .toy[hidden] { display: none; }
  .toy__flag { position: absolute; inset-block-start: 12px; inset-inline-start: 10px; background: var(--ko-pop); color: #fff; font: 400 12px/1 var(--ko-face);
    padding: 7px 8px 11px; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 80%, 0 100%); z-index: 1; }
  .toy__pic { display: block; padding: 10px 14px; }
  .toy__pic img { inline-size: 100%; block-size: auto; aspect-ratio: 1; object-fit: contain; }
  .toy__name { font: 700 16px/1.25 var(--ko-text); padding-inline: 8px; margin-block: 8px 10px; min-block-size: 40px; }
  .toy__name a { color: var(--ko-ink); text-decoration: none; }
  .toy__name a:hover { color: var(--ko-pop); }
  .toy__price { font: 400 27px/1 var(--ko-face); color: var(--ko-deep); }
  .toy__rate { font-size: 14px; color: var(--ko-soft); margin-block: 8px 14px; }
  .toy__rate .stars { display: block; margin: 0 auto 3px; }
  .toy .grab { inline-size: 100%; margin-block-start: auto; }
  @media (max-width: 1000px) { .bin { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (max-width: 640px) { .bin { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 10px; } .toy__name { font-size: 14px; } .toy__price { font-size: 22px; } }

  /* PlayMonster: колонка фильтра слева + выдача справа */
  .yard { display: grid; grid-template-columns: 230px 1fr; gap: 56px; align-items: start; }
  .sift h2 { font: 400 26px/1 var(--ko-face); color: var(--ko-deep); margin-block-end: 14px; }
  .sift h3 { font: 400 17px/1 var(--ko-face); color: var(--ko-deep); margin-block: 20px 8px; }
  .sift label { display: flex; gap: 8px; align-items: center; font-size: 15px; color: var(--ko-soft); padding: 4px 0; cursor: pointer; }
  .sift input { inline-size: 16px; block-size: 16px; accent-color: var(--ko-sky); }
  .sift__reset { margin-block-start: 14px; background: #fff; border: 1px solid var(--ko-sky); color: var(--ko-deep); padding: 6px 16px; cursor: pointer; font-size: 14px; }
  .yard__h1 { font: 400 clamp(28px, 4vw, 40px)/1.1 var(--ko-face); color: var(--ko-deep); margin-block-end: 12px; }
  .yard__lede { color: var(--ko-soft); max-inline-size: 760px; margin-block-end: 18px; }
  .yard__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-block-end: 22px; font-size: 15px; }
  .yard__bar select { border: 1px solid #a9d06a; padding: 5px 8px; color: var(--ko-deep); background: #fff; }
  @media (max-width: 860px) {
    .yard { grid-template-columns: 1fr; gap: 10px; }
    .sift { order: 2; border: 1px solid var(--ko-rule); padding: 12px; }
    .sift details > summary { cursor: pointer; }
  }
  .sift details > summary { list-style: none; }
  .sift details > summary::-webkit-details-marker { display: none; }

  /* бренд-баннер стора */
  .flagbanner img { inline-size: 100%; block-size: auto; aspect-ratio: 5 / 1; object-fit: cover; }

  /* Special Needs Toys: «What people say» — блок со средней оценкой + карточки отзывов на тёплом фоне */
  .chatter { background: var(--ko-blush); padding-block: 48px; margin-block-start: 56px; }
  .chatter h2 { font: 400 clamp(28px, 4vw, 38px)/1.1 var(--ko-face); color: var(--ko-ink); margin-block-end: 26px; }
  .chatter__grid { display: grid; grid-template-columns: 280px 1fr; gap: 24px; align-items: start; }
  .chatter__score { background: #fff; border-radius: 18px; padding: 26px; text-align: center; }
  .chatter__score b { display: block; font: 400 64px/1 var(--ko-face); }
  .chatter__score p { font-size: 15px; color: var(--ko-soft); margin-block-start: 8px; }
  .chatter__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .say { background: #fff; border-radius: 18px; padding: 20px 22px; }
  .say__who { display: flex; gap: 10px; align-items: center; margin-block-end: 8px; }
  .say__who span:first-child { inline-size: 38px; block-size: 38px; border-radius: 50%; background: #e6f4fa; color: var(--ko-deep); display: grid; place-items: center; font-weight: 700; flex: none; }
  .say__who small { display: block; color: var(--ko-soft); font-size: 13px; }
  .say__t { font-weight: 700; margin-block: 8px 4px; }
  .say p { font-size: 15.5px; }
  .say__item { font-size: 14px; margin-block-start: 10px; }
  @media (max-width: 860px) { .chatter__grid { grid-template-columns: 1fr; } .chatter__list { grid-template-columns: 1fr; } }

  /* Mental Floss: нумерованные факты — плотные заглавные подзаголовки, цитата курсивом по центру */
  .facts { max-inline-size: 760px; }
  .facts h2, .facts h3.fact { font: 900 19px/1.45 var(--ko-text); text-transform: uppercase; margin-block: 30px 10px; color: var(--ko-ink); }
  .facts p { margin-block-end: 14px; }
  .facts .facts__title { font: 400 clamp(26px, 3.4vw, 34px)/1.15 var(--ko-face); text-transform: none; color: var(--ko-deep); margin-block: 0 6px; }
  .specsheet div { display: grid; grid-template-columns: 140px 1fr; gap: 12px; border-block-start: 1px solid var(--ko-rule); padding-block: 9px; }
  .specsheet dt { font-weight: 700; }
  .facts blockquote { font-style: italic; color: var(--ko-soft); text-align: center; padding-inline: 30px; margin-block: 16px; }

  /* Rainbow Resource: описание — белая карточка на сером поле, синие подзаголовки */
  .writeup { background: var(--ko-mist); padding-block: 40px; margin-block-start: 56px; }
  .writeup__card { background: #fff; border-radius: 10px; padding: 30px 32px; }
  .writeup h2 { font: 400 clamp(26px, 3.4vw, 34px)/1.15 var(--ko-face); color: var(--ko-deep); margin-block-end: 16px; }
  .writeup h3 { font: 700 21px/1.3 var(--ko-text); color: var(--ko-sky); margin-block: 22px 8px; }
  .writeup p { margin-block-end: 12px; color: #2b3135; }
  .writeup__cols { columns: 2 340px; column-gap: 40px; }
  .writeup__cols > * { break-inside: avoid; }

  /* Special Needs Toys: аккордеон с круглой стрелкой */
  .fold { border-block-end: 1px solid var(--ko-rule); }
  .fold > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; font: 700 19px/1.3 var(--ko-text); }
  .fold > summary::-webkit-details-marker { display: none; }
  .fold > summary::after { content: ""; flex: none; inline-size: 30px; block-size: 30px; border-radius: 50%; background: var(--ko-mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23161616' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") center/12px no-repeat; transition: transform .2s; }
  .fold[open] > summary::after { transform: rotate(180deg); }
  .fold > div { padding-block-end: 16px; color: #2b3135; }
  .fold ul { padding-inline-start: 20px; }
  .fold li { margin-block-end: 6px; }
  .asks { margin-block-start: 48px; max-inline-size: 900px; }
  .asks h2 { font: 400 clamp(26px, 3.4vw, 34px)/1.15 var(--ko-face); color: var(--ko-deep); margin-block-end: 6px; }
}

@layer pages {
  /* PDP: Special Needs Toys (рамка фото + миниатюры, иконки-плашки, аккордеон) + Rainbow Resource (строка SKU/возраст) */
  .toybox { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; margin-block-start: 6px; }
  .toybox__frame { border: 1px solid var(--ko-rule); border-radius: 22px; padding: 22px; aspect-ratio: 1; display: grid; place-items: center; }
  .toybox__frame img { max-block-size: 100%; object-fit: contain; }
  .toybox__thumbs { display: grid; grid-template-columns: repeat(auto-fill, 70px); gap: 10px; margin-block-start: 14px; }
  .toybox__thumbs button { border: 1px solid var(--ko-rule); border-radius: 8px; padding: 3px; background: #fff; cursor: pointer; inline-size: 70px; block-size: 70px; }
  .toybox__thumbs button.pick-on { border-color: var(--ko-sky); box-shadow: 0 0 0 1px var(--ko-sky); }
  .toybox__thumbs img { inline-size: 100%; block-size: 100%; object-fit: contain; }
  .toybox__line { font: 700 15px/1 var(--ko-text); }
  .toybox__line a { color: var(--ko-sky); text-decoration: none; }
  .toybox h1 { font: 400 clamp(28px, 3.6vw, 42px)/1.1 var(--ko-face); margin-block: 10px 12px; }
  .toybox__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0; font-size: 14px; color: var(--ko-soft); border-block: 1px solid var(--ko-rule); padding-block: 10px; margin-block-end: 12px; }
  .toybox__meta > span { padding-inline: 14px; border-inline-start: 1px solid var(--ko-rule); }
  .toybox__meta > span:first-child { padding-inline-start: 0; border: 0; }
  .toybox__meta em { font-style: normal; border: 1.5px solid #8b959b; border-radius: 20px; padding: 2px 10px; font-weight: 700; }
  .toybox__rate { font-size: 15px; color: var(--ko-soft); }
  .toybox__price { font: 400 40px/1 var(--ko-face); margin-block: 16px 10px; }
  .toybox__stock { color: #11845b; font-weight: 700; font-size: 15px; }
  .toybox__stock::before { content: ""; display: inline-block; inline-size: 9px; block-size: 9px; border-radius: 50%; background: #1fbf7a; margin-inline-end: 7px; }
  .toybox__pick { margin-block: 16px 4px; }
  .toybox__pick select { display: block; inline-size: 100%; max-inline-size: 360px; margin-block-start: 6px; padding: 9px 10px; border: 1px solid #b8c0c4; border-radius: 8px; background: #fff; }
  .toybox__buy { margin-block: 18px; }
  .toybox__buy .grab { inline-size: min(360px, 100%); }
  .perks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-block: 8px 18px; }
  .perks li { list-style: none; background: var(--ko-blush); border-radius: 12px; padding: 12px; display: flex; gap: 9px; align-items: center; font: 700 13.5px/1.25 var(--ko-text); }
  .perks svg { inline-size: 30px; block-size: 30px; flex: none; }
  .perks ul, ul.perks { padding: 0; }
  @media (max-width: 860px) { .toybox { grid-template-columns: 1fr; gap: 20px; } .perks { grid-template-columns: 1fr; } }
  .lastcall { display: grid; grid-template-columns: 160px 1fr auto; gap: 24px; align-items: center; background: var(--ko-mist); border-radius: 14px; padding: 18px 22px; margin-block-start: 40px; }
  .lastcall img.lastcall__pic { inline-size: 160px; aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: 10px; }
  .lastcall h2 { font: 400 24px/1.15 var(--ko-face); }
  .lastcall .grab { inline-size: 300px; }
  @media (max-width: 760px) { .lastcall { grid-template-columns: 90px 1fr; } .lastcall img.lastcall__pic { inline-size: 90px; } .lastcall .grab { grid-column: 1 / -1; inline-size: 100%; } }
  .sibs h2, .morebin h2 { font: 400 clamp(24px, 3vw, 32px)/1.15 var(--ko-face); color: var(--ko-deep); margin-block: 48px 18px; }

  /* статья (Mental Floss) */
  .story { inline-size: min(780px, 100% - 32px); margin-inline: auto; }
  .story h1 { font: 700 clamp(30px, 4vw, 40px)/1.15 var(--ko-text); color: #1f3347; margin-block: 10px 6px; }
  .story__by { font-size: 13px; color: var(--ko-soft); margin-block-end: 16px; }
  .story figure img { inline-size: 100%; }
  .story figcaption { font-size: 12px; color: var(--ko-soft); margin-block: 6px 18px; font-weight: 600; }
  .story ol.plain { padding-inline-start: 20px; }
  .inlinecard { display: grid; grid-template-columns: 120px 1fr; gap: 16px; align-items: center; border: 2px solid var(--ko-sun); border-radius: 14px; padding: 14px; margin-block: 18px 22px; }
  .inlinecard > img { inline-size: 120px; aspect-ratio: 1; object-fit: contain; grid-row: span 2; }
  .inlinecard b { display: block; font-size: 17px; }
  .inlinecard__row { grid-column: 2; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-block-start: 8px; }
  .inlinecard .grab { inline-size: min(250px, 100%); }
  .inlinecard > div { min-inline-size: 0; }
  .pair .inlinecard__row { grid-column: 1 / -1; }
  .pair .inlinecard > img { grid-row: auto; }
  @media (max-width: 640px) { .inlinecard { grid-template-columns: 92px 1fr; } .inlinecard > img { inline-size: 92px; grid-row: auto; } .inlinecard__row { grid-column: 1 / -1; } .inlinecard .grab { inline-size: 100%; } }
  .pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-block: 24px; }
  @media (max-width: 640px) { .pair { grid-template-columns: 1fr; } }

  /* сервисные */
  .paper { inline-size: min(820px, 100% - 32px); margin-inline: auto; }
  .paper h1 { font: 400 clamp(30px, 4vw, 42px)/1.1 var(--ko-face); color: var(--ko-deep); margin-block: 8px 16px; }
  .paper h2 { font: 700 21px/1.3 var(--ko-text); margin-block: 24px 8px; }
  .paper p, .paper li { margin-block-end: 10px; }
  .paper dl div { border-block-start: 1px solid var(--ko-rule); padding-block: 10px; }
  .paper dt { font-weight: 700; }
  .postcard { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; background: var(--ko-blush); border-radius: 14px; padding: 20px; margin-block: 16px; }
  @media (max-width: 640px) { .postcard { grid-template-columns: 1fr; } }
  .pitch { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; align-items: center; margin-block: 18px; }
  .pitch img { border-radius: 12px; }
  @media (max-width: 760px) { .pitch { grid-template-columns: 1fr; } }
}
