@layer reset, base, blocks, pages;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; }
  body, h1, h2, h3, p, ul, ol, figure, blockquote, dl, dd { margin: 0; }
  ul[class], ol[class], nav ul, nav ol, .starline ul, .wayfind ul, .fournights ul, .hearth ul, .lostcamp ul { padding: 0; list-style: none; }
  img { display: block; max-inline-size: 100%; block-size: auto; }
  button, input, select { font: inherit; color: inherit; }
  table { border-collapse: collapse; }
}

@layer base {
  :root {
    --nt-ink: #231f20;
    --nt-night: #182339;
    --nt-night-2: #0f1828;
    --nt-gold: #d9b42a;
    --nt-gold-deep: #8a6c05;
    --nt-grass: #77953d;
    --nt-moss: #4d6324;
    --nt-sand: #e6d5ba;
    --nt-mist: #f1f4f2;
    --nt-line: #dde2df;
    --nt-mute: #5b5f57;
    --nt-shell: 1280px;
    --nt-gap: clamp(16px, 2.4vw, 28px);
    --nt-round: 4px;
    --nt-head: "League Spartan", "Arial Narrow", sans-serif;
    --nt-body: "Source Sans 3", "Segoe UI", sans-serif;
  }
  body { font: 400 17px/1.6 var(--nt-body); color: var(--nt-ink); background: #fff; overflow-x: hidden; }
  body.has-dock { padding-block-end: 0; }
  a { color: var(--nt-night); text-underline-offset: 3px; }
  h1, h2, h3 { font-family: var(--nt-head); line-height: 1.12; letter-spacing: -0.005em; }
  h2 { font-size: clamp(26px, 3.2vw, 38px); font-weight: 800; text-transform: uppercase; }
  h3 { font-size: 20px; font-weight: 700; }
  .hush { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  main { display: block; }
}

@layer blocks {
  /* утилитарная полоса */
  .starline { background: var(--nt-night); color: #fff; font-size: 13.5px; font-weight: 600; }
  .starline ul { display: flex; justify-content: center; gap: 0 34px; max-inline-size: var(--nt-shell); margin-inline: auto; padding: 9px 16px; }
  .starline li + li::before { content: "\2605"; color: var(--nt-gold); margin-inline-end: 34px; font-size: 10px; vertical-align: 2px; }

  /* шапка */
  .lantern { position: sticky; inset-block-start: 0; z-index: 30; background: #fff; border-block-end: 1px solid var(--nt-line); }
  .lantern__in { display: flex; align-items: center; gap: 22px; max-inline-size: 1400px; margin-inline: auto; padding: 14px 20px; }
  .lantern__mark img { inline-size: 150px; }
  .lantern__nav { margin-inline-end: auto; }
  .lantern__nav ul { display: flex; flex-wrap: wrap; gap: 4px 17px; }
  .lantern__nav a { font: 700 13.5px/1 var(--nt-head); text-transform: uppercase; color: var(--nt-ink); text-decoration: none; padding-block: 8px; display: inline-block; letter-spacing: .015em; }
  .lantern__nav a:hover, .lantern__nav a[aria-current] { box-shadow: inset 0 -3px 0 var(--nt-gold); }
  .lantern__cta .tarp { inline-size: 180px; }
  .lantern__tog, .lantern__burger { display: none; }

  /* штамп */
  .tarp { display: block; padding: 0; margin: 0; border: 0; background: none; cursor: pointer; line-height: 0; inline-size: min(300px, 100%); transition: transform .15s; }
  .tarp img { inline-size: 100%; }
  .tarp:hover { transform: translateY(-2px); }
  .tarp:focus-visible { outline: 3px solid var(--nt-night); outline-offset: 3px; border-radius: 40px; }

  /* хиро */
  .ridge { position: relative; min-block-size: min(78vh, 760px); display: grid; align-items: center; color: #fff; isolation: isolate; }
  .ridge__bg { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 62% 40%; z-index: -2; }
  .ridge::before { content: ""; position: absolute; inset: 0; background: rgba(10, 16, 30, .42); z-index: -1; }
  .ridge__in { max-inline-size: var(--nt-shell); inline-size: 100%; margin-inline: auto; padding: 64px 20px 150px; }
  .ridge h1 { font-size: clamp(36px, 5.6vw, 72px); font-weight: 800; text-transform: uppercase; max-inline-size: 13ch; }
  .ridge__in > p { max-inline-size: 560px; margin-block: 18px 26px; font-size: 18.5px; font-weight: 600; }
  .ridge__act { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; }
  .ridge__alt { color: #fff; font: 700 15px var(--nt-head); text-transform: uppercase; padding: 13px 22px; background: var(--nt-night); text-decoration: none; border-radius: var(--nt-round); }
  .ridge__meta { margin-block-start: 14px; font-size: 14.5px; opacity: .92; }

  /* тройка */
  .tentrow { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; max-inline-size: 1200px; margin: -110px auto 0; padding: 46px 44px 50px; background: var(--nt-night); color: #fff; text-align: center; }
  .tentrow svg { inline-size: 54px; block-size: 54px; margin: 0 auto 14px; fill: none; stroke: var(--nt-gold); stroke-width: 1.6; }
  .tentrow h2 { font-size: 22px; margin-block-end: 10px; }
  .tentrow p { font-size: 16px; color: #d7deea; }

  /* плитки разделов */
  .wayfind { max-inline-size: var(--nt-shell); margin: 70px auto 0; padding-inline: 20px; }
  .wayfind ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 22px; }
  .wayfind a { display: block; text-decoration: none; color: var(--nt-ink); }
  .wayfind img { aspect-ratio: 3 / 2; object-fit: cover; inline-size: 100%; }
  .wayfind span { display: block; text-align: center; font: 700 14px var(--nt-head); text-transform: uppercase; letter-spacing: .04em; padding-block: 14px 4px; }
  .wayfind a:hover span { color: var(--nt-moss); }

  /* сетка товаров */
  .trailpack { max-inline-size: var(--nt-shell); margin: 84px auto 0; padding-inline: 20px; }
  .trailpack > h2 { text-align: center; }
  .trailpack__sub { text-align: center; max-inline-size: 700px; margin: 12px auto 34px; color: var(--nt-mute); }
  .trailpack__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .bedroll { position: relative; display: flex; flex-direction: column; background: var(--nt-mist); padding: 26px 22px 24px; text-align: center; }
  .bedroll__pic img { inline-size: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; mix-blend-mode: multiply; }
  .bedroll__name { font-size: 19px; text-transform: uppercase; margin-block: 16px 6px; }
  .bedroll__name a { color: var(--nt-ink); text-decoration: none; }
  .bedroll__rate { font-size: 14px; color: var(--nt-mute); }
  .bedroll__line { font-size: 15px; color: #3c3f3a; margin-block: 8px 10px; }
  .bedroll__cost { font: 700 19px var(--nt-head); margin-block-end: 14px; }
  .bedroll__cost s, .summit__cost s { color: var(--nt-mute); font-weight: 400; font-size: .8em; }
  .bedroll .tarp { margin-block-start: auto; inline-size: 100%; }
  .rbadge { position: absolute; inset-block-start: 14px; inset-inline-start: 14px; z-index: 1; display: grid; text-align: center; background: #fff; border: 1.5px solid var(--nt-ink); padding: 4px 7px 3px; font-size: 10.5px; line-height: 1.1; text-transform: uppercase; }
  .rbadge b { font: 800 17px/1 var(--nt-head); }
  .lumen { color: var(--nt-gold-deep); letter-spacing: 1px; }

  /* редакционные плитки */
  .lookouts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-inline-size: var(--nt-shell); margin: 84px auto 0; padding-inline: 20px; }
  .lookout { text-decoration: none; color: var(--nt-ink); text-align: center; }
  .lookout img { aspect-ratio: 16 / 10; object-fit: cover; inline-size: 100%; }
  .lookout h2 { font-size: 21px; margin-block: 18px 6px; letter-spacing: .03em; }
  .lookout span { font-size: 14px; text-transform: uppercase; font-weight: 700; letter-spacing: .03em; }

  /* таблица характеристик */
  .specsheet { max-inline-size: 1080px; margin: 84px auto 0; padding-inline: 20px; }
  .specsheet > p { color: var(--nt-mute); margin-block: 10px 20px; }
  .specsheet table { inline-size: 100%; font-size: 15.5px; }
  .specsheet th, .specsheet td { text-align: start; padding: 11px 12px; border-block-end: 1px solid var(--nt-line); vertical-align: middle; }
  .specsheet thead th { background: var(--nt-night); color: #fff; font: 700 13.5px var(--nt-head); text-transform: uppercase; letter-spacing: .03em; }
  .specsheet tbody th { font-weight: 600; }
  .specsheet tbody tr:nth-child(even) { background: var(--nt-mist); }
  .rbar { display: inline-block; block-size: 9px; background: var(--nt-grass); margin-inline-end: 10px; vertical-align: 1px; }
  .specsheet__list { padding-inline-start: 20px; color: #3c3f3a; font-size: 15.5px; }
  .specsheet__list li + li { margin-block-start: 6px; }
  .specsheet h3 { margin-block: 28px 10px; }

  /* баннер гайда */
  .campfire-guide { position: relative; margin-block-start: 90px; color: #fff; text-align: center; isolation: isolate; min-block-size: 460px; display: grid; place-items: center; }
  .campfire-guide img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; z-index: -2; }
  .campfire-guide::before { content: ""; position: absolute; inset: 0; background: rgba(15, 24, 40, .55); z-index: -1; }
  .campfire-guide div { padding: 50px 20px; max-inline-size: 760px; }
  .campfire-guide h2 { font-size: clamp(30px, 4.4vw, 52px); }
  .campfire-guide p { margin-block: 12px 24px; font-size: 18px; }
  .campfire-guide a { display: inline-block; background: var(--nt-night); color: #fff; padding: 13px 26px; font: 700 15px var(--nt-head); text-transform: uppercase; text-decoration: none; }

  /* 4 сценария */
  .fournights { max-inline-size: var(--nt-shell); margin: 84px auto 0; padding-inline: 20px; text-align: center; }
  .fournights__sub { max-inline-size: 760px; margin: 12px auto 30px; color: var(--nt-mute); }
  .fournights ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; text-align: start; }
  .fournights img { aspect-ratio: 4 / 3; object-fit: cover; inline-size: 100%; margin-block-end: 14px; }
  .fournights h3 { text-transform: uppercase; font-size: 18px; }
  .fournights p { font-size: 15.5px; margin-block: 6px 8px; color: #3c3f3a; }
  .fournights a { font-weight: 700; font-size: 15px; }

  /* мастерская */
  .workshop { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; max-inline-size: var(--nt-shell); margin: 90px auto 0; padding-inline: 20px; }
  .workshop img { inline-size: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
  .workshop p { margin-block: 14px; }
  .workshop a { font-weight: 700; }

  /* отзывы */
  .embers { max-inline-size: var(--nt-shell); margin: 90px auto 0; padding-inline: 20px; }
  .embers > h2 { text-align: center; margin-block-end: 30px; }
  .embers__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .ember { border: 1px solid var(--nt-line); border-block-start: 4px solid var(--nt-gold); padding: 22px; display: flex; flex-direction: column; gap: 10px; }
  .ember__top { display: grid; gap: 4px; }
  .ember blockquote { margin: 0; font-size: 15.5px; color: #33362f; }
  .ember figcaption { margin-block-start: auto; font-size: 13.5px; color: var(--nt-mute); }

  /* FAQ-полоса */
  .firelight { position: relative; margin-block-start: 90px; color: #fff; isolation: isolate; }
  .firelight > img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; z-index: -2; }
  .firelight::before { content: ""; position: absolute; inset: 0; background: rgba(12, 16, 22, .8); z-index: -1; }
  .firelight__in { max-inline-size: 900px; margin-inline: auto; padding: 70px 20px; text-align: center; }
  .firelight h2 { margin-block-end: 30px; }
  .fireq h3 { font-size: clamp(20px, 2.4vw, 27px); text-transform: uppercase; font-weight: 800; margin-block: 26px 10px; }
  .fireq p { color: #e4e7ea; }

  /* SEO-текст */
  .campnotes { max-inline-size: 880px; margin: 84px auto 80px; padding-inline: 20px; }
  .campnotes > h2 { text-align: center; margin-block-end: 18px; }
  .campnotes h3 { margin-block: 22px 8px; }
  .campnotes p { margin-block-end: 12px; }
  .campnotes--left h2 { text-align: start; font-size: clamp(22px, 2.6vw, 28px); margin-block: 26px 10px; }

  /* футер */
  .nightsky img { inline-size: 100%; aspect-ratio: 1920 / 388; object-fit: cover; }
  .hearth { background: var(--nt-night); color: #d7deea; font-size: 15px; }
  .hearth__in { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 36px; max-inline-size: var(--nt-shell); margin-inline: auto; padding: 56px 20px 40px; }
  .hearth__brand > img:first-child { inline-size: 220px; margin-block-end: 16px; }
  .hearth address { font-style: normal; margin-block: 16px; line-height: 1.55; }
  .hearth a { color: #fff; text-decoration: none; }
  .hearth a:hover { text-decoration: underline; }
  .hearth__fifty { inline-size: 120px; mix-blend-mode: screen; }
  .hearth h2 { font-size: 15px; letter-spacing: .05em; color: #fff; margin-block-end: 14px; }
  .hearth__col li { padding-block: 5px; }
  .hearth__trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-inline-size: var(--nt-shell); margin-inline: auto; padding: 26px 20px; border-block-start: 1px solid rgba(255, 255, 255, .16); text-align: center; }
  .hearth__trust svg { inline-size: 30px; block-size: 30px; fill: none; stroke: var(--nt-gold); stroke-width: 1.8; margin: 0 auto 6px; }
  .hearth__trust b { display: block; color: #fff; }
  .hearth__trust span { font-size: 13.5px; }
  .hearth__copy { text-align: center; padding: 16px 20px 24px; font-size: 13px; color: #aab4c4; }

  /* крошки */
  .trailmarks ol { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 14px; padding: 0; list-style: none; }
  .trailmarks li + li::before { content: "/"; margin-inline-end: 10px; opacity: .6; }
  .trailmarks a { display: inline-block; padding-block: 6px; }
  main > .trailmarks { max-inline-size: var(--nt-shell); margin: 18px auto 0; padding-inline: 20px; }

  /* нижняя полоса */
  .campdock { display: none; }
}

@layer pages {
  /* раздел */
  .vista { position: relative; min-block-size: 340px; display: grid; align-items: end; color: #fff; isolation: isolate; }
  .vista > img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; z-index: -2; }
  .vista::before { content: ""; position: absolute; inset: 0; background: rgba(12, 18, 30, .5); z-index: -1; }
  .vista__in { max-inline-size: var(--nt-shell); inline-size: 100%; margin-inline: auto; padding: 36px 20px 40px; }
  .vista .trailmarks a, .vista .trailmarks li { color: #fff; }
  .vista h1 { font-size: clamp(32px, 4.6vw, 56px); font-weight: 800; text-transform: uppercase; margin-block: 10px; }
  .vista p { max-inline-size: 620px; font-size: 18px; font-weight: 600; }
  .pathchips { display: flex; flex-wrap: wrap; gap: 10px; max-inline-size: var(--nt-shell); margin: 26px auto 0; padding-inline: 20px; }
  .pathchip { border: 1px solid var(--nt-line); background: #fff; padding: 10px 16px; font: 700 14px var(--nt-head); text-transform: uppercase; cursor: pointer; border-radius: var(--nt-round); }
  .pathchip[aria-pressed="true"] { border-color: var(--nt-ink); box-shadow: inset 0 -3px 0 var(--nt-gold); }
  .basecamp { display: grid; grid-template-columns: 230px 1fr; gap: 30px; max-inline-size: var(--nt-shell); margin: 28px auto 0; padding-inline: 20px; }
  .sieve { align-self: start; position: sticky; inset-block-start: 96px; border: 1px solid var(--nt-line); padding: 18px; }
  .sieve h2 { font-size: 17px; margin-block-end: 10px; }
  .sieve fieldset { border: 0; padding: 0; margin: 0 0 16px; }
  .sieve legend { font-weight: 700; margin-block-end: 6px; }
  .sieve fieldset label { display: flex; gap: 8px; align-items: center; padding-block: 5px; cursor: pointer; }
  .sieve__sort { display: grid; gap: 6px; font-weight: 700; }
  .sieve select, .picker select { border: 1px solid #b9bfba; padding: 9px 10px; background: #fff; border-radius: var(--nt-round); font-weight: 400; }
  .basecamp__count { font-size: 14.5px; color: var(--nt-mute); margin-block-end: 14px; }
  .basecamp .trailpack__grid { grid-template-columns: repeat(3, 1fr); }

  /* карточка */
  .summit { display: grid; grid-template-columns: 1.15fr 1fr; gap: 44px; max-inline-size: var(--nt-shell); margin: 20px auto 0; padding-inline: 20px; }
  .summit__main { inline-size: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; border: 1px solid var(--nt-line); }
  .summit__thumbs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-block-start: 10px; }
  .summit__thumbs button { border: 1px solid var(--nt-line); background: #fff; padding: 3px; cursor: pointer; }
  .summit__thumbs img { aspect-ratio: 1; object-fit: contain; }
  .summit__buy h1 { font-size: clamp(28px, 3.4vw, 42px); font-weight: 800; text-transform: uppercase; }
  .summit__rate { margin-block: 10px 0; font-size: 15px; color: var(--nt-mute); }
  .summit__cost { margin-block: 16px; font: 800 30px var(--nt-head); }
  .summit__cost small { display: block; font: 400 14px var(--nt-body); color: var(--nt-mute); margin-block-start: 4px; }
  .picker { display: grid; gap: 6px; font-weight: 700; margin-block-end: 18px; max-inline-size: 420px; }
  .picker--one { font-weight: 600; color: var(--nt-mute); }
  .summit .tarp { inline-size: min(380px, 100%); }
  .summit__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-block-start: 22px; }
  .summit__facts li { background: var(--nt-mist); padding: 10px 12px; font-size: 15px; }
  .summit__facts b { display: block; font: 700 12.5px var(--nt-head); text-transform: uppercase; letter-spacing: .04em; color: var(--nt-mute); }
  .trailtalk { max-inline-size: 960px; margin: 70px auto 0; padding-inline: 20px; }
  .trailtalk__lede { font-size: 19px; margin-block: 14px 18px; }
  .checks li { position: relative; padding-inline-start: 32px; margin-block-end: 10px; }
  .checks li::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 5px; inline-size: 18px; block-size: 10px; border-inline-start: 3px solid var(--nt-moss); border-block-end: 3px solid var(--nt-moss); transform: rotate(-45deg); }
  .specsheet--pdp { margin-block-start: 60px; }
  .specsheet--pdp th { inline-size: 34%; }
  .embers--pdp { margin-block-start: 64px; }
  .trailpack--rel .trailpack__grid { grid-template-columns: repeat(4, 1fr); }
  .lastcall { max-inline-size: var(--nt-shell); margin: 60px auto 70px; padding: 30px 20px; display: flex; flex-wrap: wrap; gap: 16px 30px; justify-content: center; align-items: center; background: var(--nt-mist); font: 700 20px var(--nt-head); text-align: center; }

  /* гайд */
  .fieldnote { max-inline-size: 800px; margin: 20px auto 80px; padding-inline: 20px; }
  .fieldnote h1 { font-size: clamp(32px, 4.4vw, 50px); font-weight: 800; text-transform: uppercase; }
  .fieldnote__by { color: var(--nt-mute); font-size: 14.5px; margin-block: 8px 20px; }
  .fieldnote__hero { inline-size: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
  .fieldnote__intro { font-size: 19px; margin-block: 22px; }
  .fieldnote h2 { font-size: clamp(23px, 2.8vw, 30px); margin-block: 36px 10px; }
  .fieldnote h3 { margin-block: 8px 10px; color: var(--nt-moss); }
  .fieldnote p { margin-block-end: 14px; }
  .fieldnote__toc { background: var(--nt-mist); padding: 18px 22px; margin-block: 26px; }
  .fieldnote__toc h2 { font-size: 16px; margin: 0 0 8px; }
  .fieldnote__toc ol { padding-inline-start: 20px; }
  .fieldnote__toc a { display: inline-block; padding-block: 4px; }
  .packnote { display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: center; border: 1px solid var(--nt-line); border-inline-start: 5px solid var(--nt-gold); padding: 16px; margin-block: 22px; }
  .packnote img { aspect-ratio: 1; object-fit: contain; }
  .packnote h3 { font-size: 18px; text-transform: uppercase; margin-block: 2px 6px; }
  .packnote h3 a { color: var(--nt-ink); text-decoration: none; }
  .packnote p { margin-block-end: 6px; font-size: 15.5px; }
  .packnote__k { font: 700 12.5px var(--nt-head); text-transform: uppercase; color: var(--nt-moss); }
  .packnote__c { font-weight: 700; }
  .packnote .tarp { inline-size: min(260px, 100%); }

  /* сервисные */
  .campdoc { max-inline-size: 860px; margin: 22px auto 80px; padding-inline: 20px; }
  .campdoc h1 { font-size: clamp(30px, 4vw, 46px); font-weight: 800; text-transform: uppercase; margin-block-end: 22px; }
  .campdoc h2 { font-size: 22px; margin-block: 28px 10px; }
  .campdoc p { margin-block-end: 12px; }
  .story > img { inline-size: 100%; aspect-ratio: 16 / 9; object-fit: cover; margin-block-end: 20px; }
  .story__lead { font-size: 19px; }
  .story__line { border-inline-start: 3px solid var(--nt-gold); margin-block: 26px; }
  .story__line li { padding: 4px 0 18px 22px; }
  .story__line b { display: block; font: 800 20px var(--nt-head); text-transform: uppercase; }
  .letterbox__card { display: grid; grid-template-columns: 140px 1fr; gap: 10px 16px; background: var(--nt-night); color: #fff; padding: 22px; margin-block: 20px; }
  .letterbox__card dt { font: 700 14px var(--nt-head); text-transform: uppercase; color: var(--nt-gold); }
  .letterbox__card a { color: #fff; }
  .letterbox ul { padding-inline-start: 20px; }
  .routecard__steps { counter-reset: st; display: grid; gap: 16px; margin-block: 22px; }
  .routecard__steps li { counter-increment: st; position: relative; padding: 16px 16px 16px 66px; background: var(--nt-mist); }
  .routecard__steps li::before { content: counter(st); position: absolute; inset-inline-start: 16px; inset-block-start: 14px; inline-size: 36px; block-size: 36px; display: grid; place-items: center; background: var(--nt-gold); font: 800 18px var(--nt-head); }
  .routecard__steps h2 { margin: 0 0 4px; font-size: 18px; }
  .routecard__note { font-size: 15px; color: var(--nt-mute); }
  .fixit section { border-block-end: 1px solid var(--nt-line); padding-block-end: 8px; }
  .fixit ol { padding-inline-start: 22px; }
  .fireside details { border-block-end: 1px solid var(--nt-line); }
  .fireside summary { cursor: pointer; padding: 16px 0; font: 700 18px var(--nt-head); }
  .fireside details p { padding-block-end: 14px; }
  .tentflap table { inline-size: 100%; margin-block: 18px; font-size: 15.5px; }
  .tentflap th, .tentflap td { border: 1px solid var(--nt-line); padding: 10px; text-align: start; vertical-align: top; }
  .tentflap thead th { background: var(--nt-mist); }
  .rulebook { counter-reset: rl; }
  .rulebook li { counter-increment: rl; }
  .rulebook h2::before { content: counter(rl) ". "; color: var(--nt-gold-deep); }
  .rulebook__date { color: var(--nt-mute); font-size: 14px; }
  .lostcamp { max-inline-size: 760px; margin: 60px auto 90px; padding-inline: 20px; text-align: center; }
  .lostcamp h1 { font-size: clamp(30px, 4vw, 46px); text-transform: uppercase; }
  .lostcamp p { margin-block: 14px 20px; }
  .lostcamp ul { display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: center; margin-block-end: 24px; }
  .lostcamp__home { display: inline-block; background: var(--nt-night); color: #fff; padding: 12px 24px; text-decoration: none; font: 700 15px var(--nt-head); text-transform: uppercase; }

  /* адаптив */
  @media (max-width: 1180px) {
    .lantern__in { gap: 14px; padding: 10px 16px; }
    .lantern__burger { display: grid; gap: 5px; order: 3; padding: 10px; cursor: pointer; }
    .lantern__burger i { display: block; inline-size: 24px; block-size: 2.5px; background: var(--nt-ink); }
    .lantern__nav { display: none; order: 5; flex-basis: 100%; }
    .lantern__in { flex-wrap: wrap; }
    .lantern__mark { margin-inline-end: auto; }
    .lantern__cta { order: 2; }
    .lantern__tog:checked ~ .lantern__nav { display: block; }
    .lantern__nav ul { display: grid; gap: 0; border-block-start: 1px solid var(--nt-line); }
    .lantern__nav a { padding-block: 13px; display: block; }
    .campdock { display: flex; position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 40; align-items: center; justify-content: space-between; gap: 12px; background: var(--nt-night); color: #fff; padding: 9px 14px calc(9px + env(safe-area-inset-bottom)); }
    .campdock__t { font-size: 14px; line-height: 1.25; min-inline-size: 0; }
    .campdock__t span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .campdock__t b { display: block; color: var(--nt-gold); }
    .campdock .tarp { inline-size: 176px; flex: none; }
    body.has-dock { padding-block-end: 78px; }
    .trailpack__grid, .basecamp .trailpack__grid { grid-template-columns: repeat(2, 1fr); }
    .trailpack--rel .trailpack__grid { grid-template-columns: repeat(2, 1fr); }
    .fournights ul { grid-template-columns: repeat(2, 1fr); }
    .hearth__in { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 820px) {
    .starline li + li { display: none; }
    .lantern__in { gap: 10px; padding-inline: 14px; }
    .lantern__mark img { inline-size: 112px; }
    .lantern__cta .tarp { inline-size: 166px; }
    .tentrow { grid-template-columns: 1fr; margin: 0; gap: 24px; padding: 34px 20px; }
    .ridge__in { padding-block-end: 60px; }
    .wayfind ul { grid-template-columns: 1fr 1fr; gap: 16px 12px; }
    .lookouts, .workshop, .summit { grid-template-columns: 1fr; }
    .embers__grid { grid-template-columns: 1fr; }
    .basecamp { grid-template-columns: 1fr; }
    .sieve { position: static; }
    .sieve fieldset { display: flex; flex-wrap: wrap; gap: 0 16px; }
    .sieve legend { inline-size: 100%; }
    .specsheet thead { display: none; }
    .specsheet table, .specsheet tbody, .specsheet tr, .specsheet th, .specsheet td { display: block; inline-size: 100%; }
    .specsheet tr { border: 1px solid var(--nt-line); margin-block-end: 10px; }
    .specsheet tbody tr:nth-child(even) { background: #fff; }
    .specsheet td[data-k]::before { content: attr(data-k); display: inline-block; min-inline-size: 96px; font-weight: 700; color: var(--nt-mute); }
    .specsheet--pdp th { inline-size: 100%; background: var(--nt-mist); }
    .hearth__in, .hearth__trust { grid-template-columns: 1fr; }
    .packnote { grid-template-columns: 92px 1fr; gap: 12px; }
    .tentflap table, .tentflap tbody, .tentflap tr, .tentflap td { display: block; }
    .tentflap thead { display: none; }
    .letterbox__card { grid-template-columns: 1fr; }
  }
  @media (max-width: 480px) {
    .trailpack__grid, .basecamp .trailpack__grid, .trailpack--rel .trailpack__grid { gap: 12px; }
    .bedroll { padding: 14px 10px 14px; }
    .bedroll__name { font-size: 15px; }
    .bedroll__line { display: none; }
    .rbadge { inset-block-start: 8px; inset-inline-start: 8px; }
    .fournights ul { grid-template-columns: 1fr; }
    .summit__facts { grid-template-columns: 1fr 1fr; }
  }
}
