/* Горный воздух: светлый камень, холодная хвоя и лаймовые действия. */
body.editorial {
  --bg: #f7faf9;
  --bg-2: #eaf2ef;
  --surface: #ffffff;
  --ink: #172927;
  --ink-2: #3d5550;
  --muted: #5c706b;
  --line: rgba(23, 37, 30, .12);
  --line-2: rgba(23, 37, 30, .22);
  --accent: #176253;
  --accent-2: #104b40;
  --on-accent: #ffffff;
  --action: #c5f46c;
  --on-action: #172927;
  --contour: #45695d;
  --water: #216b85;
  --forest: #176253;
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --sheet-shadow: 0 18px 48px rgba(23, 37, 30, .10);
  color-scheme: light;
  background-color: var(--bg);
  background-image: none;
}

/* Общая система для всех страниц. */
body.editorial .btn-accent,
body.editorial .mobile-dock .mobile-dock-main,
body.editorial .status-open { background: var(--action); border-color: var(--action); color: var(--on-action); }
body.editorial .btn-accent:hover,
body.editorial .mobile-dock .mobile-dock-main:hover { background: #b3e45a; color: var(--on-action); }
body.editorial .chronicle-hero { background: linear-gradient(130deg, #f7faf9 15%, #e6f1ee 75%, #edf5e2); }
body.editorial .chronicle-cover-copy span,
body.editorial .tile-text .label { color: var(--action); }
body.editorial .site-footer { --ink-2: #d1e2dc; --muted: #b5c9c0; --contour: #b5c9c0; }
body.editorial .tour-main,
body.editorial .tour-body > *,
body.editorial .pp-stats > div,
body.editorial .pp-views > * { min-width: 0; }
body.editorial .pp-stats dd { overflow-wrap: anywhere; }
body.editorial .route-hero .crumbs { color: #fff; text-shadow: 0 1px 8px rgba(0,0,0,.65); }
@media (max-width: 760px) {
  body.editorial .tour-strip { display: flex; flex-wrap: wrap; }
  body.editorial .tour-when { flex-wrap: wrap; }
  body.editorial .pp-views.has-map { grid-template-columns: minmax(0, 1fr); }
  body.editorial .pp-profile { border-left: 0; }
}
body.editorial .site-header:not(.home .site-header) {
  border: 0;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  backdrop-filter: blur(18px) saturate(130%);
  box-shadow: 0 1px 0 var(--line);
}
body.editorial .site-header .coords { display: none; }
body.editorial .site-header .nav a { font-family: var(--text); font-size: 13px; text-transform: none; letter-spacing: 0; }
body.editorial .site-header .header-call { border-radius: 999px; }
body.editorial .burger-panel { border: 0; box-shadow: 0 20px 40px rgba(23,37,30,.12); }

body.editorial .page-head { padding-top: clamp(72px, 9vw, 124px); padding-bottom: clamp(48px, 6vw, 84px); }
body.editorial .page-head h1 { max-width: 12ch; font-size: clamp(48px, 7vw, 100px); }
body.editorial .page-head .lead { max-width: 58ch; }
body.editorial .page-head-showcase { border: 0; }
body.editorial .page-head-grid { gap: clamp(40px, 7vw, 110px); }
body.editorial .page-head-copy h1 { font-size: clamp(48px, 7vw, 94px); }
body.editorial .crumbs { color: var(--muted); }
body.editorial .section-alt { border: 0; }

body.editorial .btn { min-height: 50px; border-width: 1px; border-radius: 999px; padding-inline: 24px; box-shadow: none; }
body.editorial .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(23,37,30,.14); }
body.editorial .chip { border-width: 1px; border-radius: 999px; }
body.editorial .status, body.editorial .difficulty { border-width: 1px; border-radius: 999px; }
body.editorial .arrow-link { border-bottom-width: 1px; font-family: var(--text); text-transform: none; letter-spacing: 0; }

body.editorial .card-media,
body.editorial .team-photo img,
body.editorial .wall-item img,
body.editorial .quote {
  border: 0;
  border-radius: 16px;
  box-shadow: 0 12px 36px rgba(23,37,30,.08);
}
body.editorial .card-media::after { display: none; }
body.editorial .card:hover .card-media,
body.editorial .wall-item:hover img { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(23,37,30,.15); }
body.editorial .quote { background: var(--surface); }
body.editorial .quote footer { border-top: 1px solid var(--line); }

body.editorial .tlist { gap: 12px; border-color: var(--line); }
body.editorial .trow { border: 0; border-radius: 16px; background: var(--surface); box-shadow: 0 8px 28px rgba(23,37,30,.06); transition: background-color 180ms var(--ease), transform 180ms var(--ease), box-shadow 180ms var(--ease); }
body.editorial .trow-past { background: color-mix(in srgb, var(--surface) 62%, var(--bg)); }
body.editorial .trow:hover { background: var(--surface); transform: translateY(-3px); box-shadow: 0 14px 34px rgba(23,37,30,.12); }
body.editorial .tr-img, body.editorial .tr-img img { border-radius: 10px; overflow: hidden; }
body.editorial .tl-month { border-color: var(--line); }

body.editorial .featured { border: 0; border-radius: 22px; box-shadow: 0 16px 48px rgba(23,37,30,.10); overflow: hidden; }
body.editorial .featured:hover { transform: translateY(-4px); box-shadow: 0 22px 58px rgba(23,37,30,.16); }
body.editorial .featured-media { border: 0; }
body.editorial .featured-body { background: var(--surface); }
body.editorial .featured-body .profile { border: 0; border-radius: 12px; overflow: hidden; }
body.editorial .map-tag { border: 0; border-radius: 999px; box-shadow: 0 8px 20px rgba(0,0,0,.12); }

body.editorial .route-spotlight { border: 0; border-radius: 22px; box-shadow: 0 18px 50px rgba(23,37,30,.10); overflow: hidden; }
body.editorial .route-spotlight:hover { transform: translateY(-4px); box-shadow: 0 22px 58px rgba(23,37,30,.16); }
body.editorial .route-spotlight-media { border: 0; }
body.editorial .route-spotlight-link { border-top: 1px solid var(--line); font-family: var(--text); text-transform: none; letter-spacing: 0; }

body.editorial .route-hero { min-height: min(780px, 82svh); }
body.editorial .route-hero::before { display: none; }
body.editorial .route-hero::after { background: linear-gradient(0deg, rgba(8,15,11,.82), rgba(8,15,11,.08) 68%); }
body.editorial .route-hero h1 { max-width: 11ch; font-size: clamp(50px, 7.5vw, 110px); }
body.editorial .route-hero-text { padding-bottom: clamp(48px, 7vw, 90px); }

body.editorial .passport { border: 0; border-radius: 22px; box-shadow: 0 18px 52px rgba(23,37,30,.10); overflow: hidden; }
body.editorial .pp-head, body.editorial .pp-stats, body.editorial .pp-views, body.editorial .pp-ready, body.editorial .pp-days { border-color: var(--line); }
body.editorial .pp-stats > div, body.editorial .pp-top, body.editorial .pp-profile { border-color: var(--line); }
body.editorial .pp-profile .profile { background: var(--surface); }

body.editorial .map-sheet { border: 0; border-radius: 20px; box-shadow: 0 16px 48px rgba(23,37,30,.09); overflow: hidden; }
body.editorial .map-sheet .note { border-color: var(--line); }
body.editorial .rcard { border-width: 1px; border-radius: 14px; }
body.editorial .map-filter .chip { border-width: 1px; }

body.editorial .month { border-color: var(--line); }
body.editorial .mini-stats { gap: clamp(32px, 6vw, 88px); }
body.editorial .mini-stats dd { font-size: clamp(54px, 7vw, 86px); }
body.editorial .date-list { border-color: var(--line); }
body.editorial .date-list a { border-color: var(--line); }

body.editorial .book-card { border: 0; border-radius: 22px; box-shadow: 0 18px 54px rgba(23,37,30,.12); }
body.editorial input, body.editorial select, body.editorial textarea, body.editorial .option { border: 1px solid var(--line-2); border-radius: 10px; background: var(--surface); }
body.editorial input:focus, body.editorial select:focus, body.editorial textarea:focus { box-shadow: 0 0 0 3px rgba(31,111,178,.15); border-color: var(--water); }
body.editorial .corp-photos { gap: 10px; }
body.editorial .corp-photos img { border-radius: 14px; }
body.editorial .corporate-visual, body.editorial .corporate-visual-media { border-radius: 22px; overflow: hidden; }

body.editorial .faq { border-width: 1px; }
body.editorial .faq details { border-width: 1px; }
body.editorial .faq summary::after { border-width: 1px; border-radius: 50%; }
body.editorial .site-footer { border: 0; background: #142e29; color: #f7faf9; }
body.editorial .site-footer .muted { color: rgba(244,241,233,.62); }
body.editorial .footer-bottom { border-color: rgba(244,241,233,.16); }
body.editorial .mobile-dock { border: 0; border-radius: 18px; box-shadow: 0 18px 46px rgba(10,18,13,.22); overflow: hidden; }

@media (max-width: 760px) {
  body.editorial .page-head { padding-top: 52px; padding-bottom: 44px; }
  body.editorial .page-head h1, body.editorial .page-head-copy h1 { font-size: clamp(42px, 12vw, 56px); line-height: 1; }
  body.editorial .page-head-grid { grid-template-columns: 1fr; }
  body.editorial .route-spotlight { grid-template-columns: 1fr; }
  body.editorial .route-hero { min-height: 74svh; }
  body.editorial .route-hero h1 { font-size: clamp(44px, 12vw, 62px); }
  body.editorial .passport { border-radius: 16px; }
  body.editorial .map-sheet { border-radius: 14px; }
  body.editorial .mobile-dock { left: 10px; right: 10px; }
}

body.home h1, body.home h2,
body.tour-page h1, body.tour-page h2 {
  line-height: 1.02;
  letter-spacing: -.055em;
}

body.home .btn,
body.tour-page .btn {
  min-height: 50px;
  border-width: 1px;
  border-radius: 999px;
  padding-inline: 24px;
  box-shadow: none;
}
body.home .btn:hover,
body.tour-page .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(23,37,30,.14); }

/* Шапка */
body.home .site-header,
body.tour-page .site-header {
  border: 0;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  backdrop-filter: blur(18px) saturate(130%);
  box-shadow: 0 1px 0 var(--line);
}
body.home .site-header { background: linear-gradient(180deg, rgba(9,16,12,.58), transparent); box-shadow: none; }
body.home .site-header.is-solid { border: 0; box-shadow: 0 1px 0 var(--line); }
body.home .site-header.is-solid .btn { border-radius: 999px; }
body.home .nav a, body.tour-page .nav a { font-family: var(--text); font-size: 13px; text-transform: none; letter-spacing: 0; }
body.home .coords, body.tour-page .coords { display: none; }

/* Главный экран: фотография важнее декоративной сетки. */
body.home .hero { min-height: min(900px, 100svh); }
body.home .hero::before { background: linear-gradient(90deg, rgba(7,15,10,.76) 0%, rgba(7,15,10,.32) 51%, rgba(7,15,10,.08) 100%), linear-gradient(0deg, rgba(7,15,10,.58), transparent 45%); }
body.home .hero::after, body.home .hero-pin, body.home .hero-foot { display: none; }
body.home .hero-grid { grid-template-columns: minmax(0, 760px) minmax(290px, 360px); gap: clamp(40px, 7vw, 110px); padding-top: 150px; padding-bottom: clamp(56px, 9vh, 100px); }
body.home .hero h1 { max-width: 10ch; margin-bottom: 22px; font-size: clamp(48px, 6.4vw, 102px); }
body.home .hero h1 .line { overflow: visible; }
body.home .hero h1 .line:nth-child(2) > span { color: #f5f1e8; }
body.home .hero-sub { max-width: 54ch; color: rgba(255,255,255,.82); font-size: clamp(17px, 1.35vw, 21px); }
body.home .hero .label { font-family: var(--text); font-size: 13px; color: rgba(255,255,255,.78); letter-spacing: .12em; }
body.home .hero-advice { font-family: var(--text); text-transform: none; letter-spacing: 0; font-weight: 500; }
body.home .legend-card {
  align-self: end; padding: 24px; border: 1px solid rgba(255,255,255,.34); border-radius: 18px;
  background: rgba(15,25,19,.58); box-shadow: 0 20px 60px rgba(0,0,0,.2); backdrop-filter: blur(20px);
}
body.home .legend-card:hover { transform: translateY(-4px); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
body.home .legend-card .profile { border-radius: 10px; overflow: hidden; }

/* Ритм главной */
body.home .trust-ribbon { border: 0; background: var(--surface); color: var(--ink); }
body.home .trust-grid { gap: 0; padding-block: 20px; }
body.home .trust-grid > div { border-color: var(--line); }
body.home .trust-grid span { color: var(--muted); opacity: 1; }
body.home .trust-grid strong { font-size: 18px; }
body.home .wrap > .legend { margin-top: 50px; border: 0; border-radius: 18px; box-shadow: 0 14px 38px rgba(23,37,30,.07); overflow: hidden; }
body.home .legend div { border-width: 1px; }
body.home .section { padding-block: clamp(72px, 9vw, 132px); }
body.home .section-alt { border: 0; }
body.home .section-head h2 { font-size: clamp(38px, 5vw, 70px); }
body.home .sheet, body.home .card-media, body.home .quote, body.home .team-photo img { border: 0; border-radius: 18px; box-shadow: 0 14px 40px rgba(23,37,30,.08); }
body.home .featured { overflow: hidden; border-radius: 24px; }
body.home .featured-media { border: 0; }
body.home .featured-body { background: var(--surface); }
body.home .featured-body .profile { border: 0; border-radius: 12px; overflow: hidden; }
body.home .map-tag { border: 0; border-radius: 999px; box-shadow: 0 8px 20px rgba(0,0,0,.12); }
body.home .card:hover .card-media, body.home .wall-item:hover img { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(23,37,30,.16); }
body.home .card-media::after { display: none; }
body.home .manifesto-text { max-width: 19ch; font-size: clamp(36px, 4.4vw, 68px); }
body.home .rituals { gap: 12px; border: 0; }
body.home .rituals li { border: 0; border-radius: 16px; }
body.home .tiles { gap: 8px; padding: 8px; border: 0; background: #16231c; }
body.home .tile { min-height: 66vh; border: 0 !important; border-radius: 18px; }
body.home .tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8,15,11,.68), transparent 60%); }
body.home .tile-text { max-width: 390px; padding: 0; color: #fff; background: transparent; border: 0; box-shadow: none; }
body.home .tile-text span { color: rgba(255,255,255,.78); }
body.home .tile-text .label { color: var(--action); }
body.home .wall-item img { border: 0; border-radius: 14px; }
body.home .quote { min-height: 280px; }
body.home .faq { border-width: 1px; }
body.home .faq details { border-width: 1px; }
body.home .faq summary::after { border-width: 1px; border-radius: 50%; }
body.home .mobile-dock { display: none; }

/* Страница выезда */
body.tour-page .tour-top { padding-top: clamp(56px, 8vw, 110px); padding-bottom: 40px; }
body.tour-page .tour-top h1 { max-width: 12ch; font-size: clamp(46px, 6.3vw, 92px); }
body.tour-page .tour-strip { max-width: 900px; }
body.tour-page .tour-when .num { font-size: clamp(42px, 4vw, 58px); }
body.tour-page .status { min-height: 34px; border: 0; border-radius: 999px; }
body.tour-page .mosaic { height: min(70vh, 700px); gap: 6px; border: 0; border-radius: 24px; box-shadow: 0 20px 60px rgba(23,37,30,.12); overflow: hidden; background: transparent; }
body.tour-page .tour-body { grid-template-columns: minmax(0, 1fr) minmax(340px, 400px); gap: clamp(56px, 8vw, 120px); }
body.tour-page .block h2 { font-size: clamp(34px, 3.7vw, 54px); }
body.tour-page .facts { gap: 8px; border: 0; background: transparent; }
body.tour-page .facts div { border: 0; border-radius: 14px; background: var(--surface); }
body.tour-page .timeline li { border-color: var(--line); }
body.tour-page .book-card { border: 0; border-radius: 22px; box-shadow: 0 18px 54px rgba(23,37,30,.12); }
body.tour-page .book-cover { border-radius: 14px; overflow: hidden; }
body.tour-page input, body.tour-page select, body.tour-page textarea, body.tour-page .option { border: 1px solid var(--line-2); border-radius: 10px; background: var(--surface); }
body.tour-page input:focus, body.tour-page select:focus, body.tour-page textarea:focus { box-shadow: 0 0 0 3px rgba(31,111,178,.15); border-color: var(--water); }

@media (max-width: 960px) {
  body.home .hero-grid { grid-template-columns: 1fr; }
  body.home .legend-card { max-width: 420px; }
  body.tour-page .tour-body { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  body.home .wrap, body.tour-page .wrap,
  body.home .hero-grid > *, body.tour-page .tour-strip > * { min-width: 0; }
  body.home .hero { min-height: 820px; }
  body.home .hero::before { background: linear-gradient(0deg, rgba(7,15,10,.88) 0%, rgba(7,15,10,.25) 72%, rgba(7,15,10,.46) 100%); }
  body.home .hero-grid { justify-content: end; padding-top: 120px; padding-bottom: 42px; }
  body.home .hero h1 { max-width: 9ch; font-size: clamp(43px, 12vw, 58px); }
  body.home .hero-sub { font-size: 17px; }
  body.home .legend-card { width: 100%; max-width: 100%; min-width: 0; padding: 18px; border-radius: 16px; overflow: hidden; }
  body.home .legend-title, body.home .legend-meta { overflow-wrap: anywhere; }
  body.home .legend-card .profile { display: block; }
  body.home .trust-grid { padding-block: 10px; }
  body.home .wrap > .legend { margin-top: 28px; }
  body.home .section { padding-block: 72px; }
  body.home .featured { border-radius: 18px; }
  body.home .featured-media { border: 0; }
  body.home .tiles { grid-template-columns: 1fr; }
  body.home .tile { min-height: 68vh; border-radius: 14px; }
  body.home .rituals { grid-template-columns: 1fr; }

  body.tour-page .tour-top { padding-top: 42px; }
  body.tour-page .tour-top h1 { font-size: clamp(38px, 10.5vw, 48px); line-height: 1.02; }
  body.tour-page .tour-strip .lead { max-width: 100%; overflow-wrap: anywhere; }
  body.tour-page .mosaic { height: min(62vh, 560px); border-radius: 16px; }
  body.tour-page .mobile-bar { left: 10px; right: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; border: 0; border-radius: 18px; box-shadow: 0 18px 50px rgba(10,18,13,.24); overflow: hidden; }
  body.tour-page .mobile-bar .mb-info { display: flex; align-items: center; }
  body.tour-page .mobile-bar .btn { min-height: 48px; }
}

@media (max-width: 420px) {
  body.home .hero-actions { display: grid; grid-template-columns: 1fr; }
  body.home .hero-actions .btn { width: 100%; }
  body.tour-page .mobile-bar .mb-info img { display: none; }
  body.tour-page .mobile-bar .price { font-size: 23px; }
  body.tour-page .mobile-bar .btn { padding-inline: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  body.home .hero-media img { animation: none; transform: none; }
}

/* Единая геометрия: фото 10, карточки 18, крупные поверхности 24, действия — капсулы. */
body.editorial .btn,
body.editorial .chip,
body.editorial .status,
body.editorial .difficulty,
body.editorial .header-call,
body.editorial .map-tag { border-radius: var(--radius-pill); }

body.editorial .sheet,
body.editorial .featured,
body.editorial .route-spotlight,
body.editorial .passport,
body.editorial .map-sheet,
body.editorial .book-card,
body.editorial .mosaic,
body.editorial .corporate-visual-media {
  border: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

body.editorial .trow,
body.editorial .quote,
body.editorial .rituals li,
body.editorial .facts div,
body.editorial .corporate-facts,
body.editorial .empty-note,
body.editorial .rc,
body.editorial .mobile-bar,
body.editorial .mobile-dock,
body.editorial .legend-card {
  border-radius: var(--radius-md);
}

body.editorial .card-media,
body.editorial .tr-img,
body.editorial .tr-img img,
body.editorial .team-photo img,
body.editorial .wall-item img,
body.editorial .corp-photos img,
body.editorial .book-cover,
body.editorial .localmap,
body.editorial input,
body.editorial select,
body.editorial textarea,
body.editorial .option,
body.editorial .stepper button,
body.editorial .more {
  border-radius: var(--radius-sm);
}

body.editorial .tr-img,
body.editorial .book-cover,
body.editorial .localmap,
body.editorial .corporate-facts,
body.editorial .rc,
body.editorial .empty-note,
body.editorial .more,
body.editorial .stepper button {
  border: 1px solid var(--line-2);
  box-shadow: none;
}

/* Примерка «лёд + электросиний»: главная и страницы выездов. */
body.editorial.home, body.editorial.tour-page {
  --bg: #f5f8fd;
  --bg-2: #eaf1fc;
  --surface: #ffffff;
  --ink: #172238;
  --ink-2: #43516a;
  --muted: #5d6b82;
  --accent: #2459ed;
  --accent-2: #1742bc;
  --on-accent: #ffffff;
  --action: #2459ed;
  --on-action: #ffffff;
  --contour: #46628b;
  --water: #2459ed;
  --line: rgba(29, 56, 100, .10);
  --line-2: rgba(29, 56, 100, .22);
  --mono: var(--text);
  --sheet-shadow: 0 12px 36px rgba(24, 52, 98, .07);
}
body.editorial:is(.home, .tour-page) :is(h1, h2, .display) { font-weight: 600; letter-spacing: -.045em; line-height: 1.08; }
body.editorial:is(.home, .tour-page) :is(.label, .meta, .crumbs, .card-date, .pp-sub, .legend-meta, .legend-cta, .legend dt, .status) { text-transform: none; letter-spacing: .01em; }
body.editorial:is(.home, .tour-page) .btn { font-weight: 600; border-radius: 14px; }
body.editorial:is(.home, .tour-page) .btn-accent:hover { background: var(--accent-2); color: #fff; }
body.editorial:is(.home, .tour-page) .site-footer { background: #142039; --contour: #b9c9e2; --ink-2: #d4deef; }
body.editorial:is(.home, .tour-page) .site-footer a:hover { color: #a9c7ff; }
body.editorial.home .hero { min-height: min(820px, 92svh); }
body.editorial.home .hero::before { background: linear-gradient(90deg, rgba(11,24,48,.76), rgba(11,24,48,.18) 75%), linear-gradient(0deg, rgba(11,24,48,.45), transparent 60%); }
body.editorial.home .hero-grid { padding-top: 128px; padding-bottom: 64px; gap: 48px; }
body.editorial.home .hero h1 { font-size: clamp(44px, 5.6vw, 86px); max-width: 12ch; }
body.editorial.home .hero h1 .line:nth-child(2) > span { color: #dceaff; }
body.editorial.home .legend-card { background: rgba(17,35,65,.72); border-color: rgba(220,234,255,.3); box-shadow: none; }
body.editorial.home .legend-date .num { color: #a9c7ff; }
body.editorial.home .trust-no { color: var(--accent); }
body.editorial:is(.home, .tour-page) .profile [stroke="#d7261e"] { stroke: var(--accent); }
body.editorial:is(.home, .tour-page) .profile [fill="#d7261e"],
body.editorial:is(.home, .tour-page) .profile .t-alt { fill: var(--accent); }
body.editorial.home .legend-stamp { color: #dceaff; border-color: #a9c7ff; }
body.editorial.home .tile-text .label { color: #c5dcff; }
body.editorial.home .section { padding-block: clamp(48px, 6vw, 88px); }
body.editorial.home .section-head { margin-bottom: 32px; }
body.editorial.home .section-head h2 { font-size: clamp(32px, 4vw, 56px); }
body.editorial.tour-page .tour-top { padding-top: clamp(36px, 5vw, 68px); padding-bottom: 28px; }
body.editorial.tour-page .tour-top h1 { font-size: clamp(38px, 5vw, 72px); max-width: 19ch; margin-bottom: 24px; }
body.editorial.tour-page .tour-body { gap: clamp(28px, 5vw, 72px); }
body.editorial.tour-page .block h2 { font-size: clamp(28px, 3vw, 42px); }
body.editorial.tour-page .mosaic { height: min(60vh, 580px); box-shadow: none; }
@media (max-width: 760px) {
  body.editorial.home .hero-grid { grid-template-columns: minmax(0, 1fr); padding-top: 108px; padding-bottom: 36px; gap: 28px; }
  body.editorial.home .hero h1 { font-size: clamp(40px, 10vw, 54px); }
  body.editorial.home .hero-sub { font-size: 17px; }
  body.editorial.tour-page .tour-top h1 { font-size: clamp(36px, 9vw, 48px); }
}

/* Polar / futuristic concept, scoped to the two preview templates. */
body.editorial:is(.home, .tour-page) {
  --bg: #f4f7ff;
  --bg-2: #e8efff;
  --accent: #204bf4;
  --action: #204bf4;
  background-image: radial-gradient(ellipse at 92% 12%, rgba(49,198,255,.12), transparent 36%), linear-gradient(rgba(64,100,180,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(64,100,180,.035) 1px, transparent 1px);
  background-size: auto, 64px 64px, 64px 64px;
}
body.editorial:is(.home, .tour-page) .site-header {
  background: rgba(248,251,255,.86); backdrop-filter: blur(24px) saturate(150%);
  border-bottom: 1px solid rgba(99,140,220,.18); box-shadow: 0 4px 24px rgba(34,67,120,.04);
}
body.editorial.home .site-header:not(.is-solid) { background: rgba(12,24,54,.56); border-color: rgba(171,211,255,.2); }
body.editorial:is(.home, .tour-page) .btn-accent {
  background: linear-gradient(115deg, #254ff7, #1649cf); border: 1px solid #3169ff;
  box-shadow: 0 6px 24px rgba(32,75,244,.24), inset 0 1px 0 rgba(255,255,255,.28);
}
body.editorial:is(.home, .tour-page) .btn-accent:hover { background: #163ac5; box-shadow: 0 8px 30px rgba(32,75,244,.34); }
body.editorial.home .hero::after {
  display: block; opacity: 1; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(rgba(180,222,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(180,222,255,.07) 1px, transparent 1px);
  background-size: 88px 88px; mask-image: linear-gradient(90deg, #000, transparent 80%);
}
body.editorial.home .hero h1 { font-weight: 600; letter-spacing: -.065em; }
body.editorial.home .hero h1 .line:nth-child(2) > span { color: #aaddff; }
body.editorial.home .hero .label {
  display: inline-flex; align-items: center; gap: 10px; padding: 9px 14px;
  border: 1px solid rgba(170,219,255,.38); border-radius: 8px; background: rgba(15,31,65,.6); color: #d9efff;
}
body.editorial.home .hero .label::before { content: ""; width: 6px; height: 6px; flex: none; border-radius: 50%; background: #80dcff; box-shadow: 0 0 12px #50bfff; }
body.editorial.home .legend-card {
  background: linear-gradient(145deg, rgba(21,40,78,.86), rgba(9,21,44,.92));
  border: 1px solid rgba(126,190,255,.45); border-radius: 24px 24px 8px 24px;
  box-shadow: 0 20px 60px rgba(5,16,40,.25), inset 0 1px 0 rgba(213,239,255,.15);
}
body.editorial.home .legend-stamp { transform: none; border-width: 1px; border-radius: 6px; font-weight: 600; }
body.editorial.home .trust-ribbon { background: rgba(255,255,255,.86); border-bottom: 1px solid var(--line); }
body.editorial:is(.home, .tour-page) :is(.book-card, .passport, .featured, .quote) {
  background: rgba(255,255,255,.96); border: 1px solid rgba(110,147,210,.18);
  box-shadow: 0 12px 42px rgba(39,71,130,.07);
}
body.editorial.tour-page .tour-top { position: relative; }
body.editorial.tour-page .tour-top::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 90% 25%, rgba(80,177,255,.17), transparent 60%);
}
body.editorial.tour-page .tour-top h1 { letter-spacing: -.055em; }
body.editorial.tour-page .status-open { background: #e3edff; border: 1px solid #b6ceff; color: #1848be; }
body.editorial.tour-page .book-card { border-top: 3px solid var(--accent); }
body.editorial.tour-page .facts div { background: #edf3ff; border: 1px solid #dce7fc; }
body.editorial.tour-page .mobile-bar { background: rgba(248,251,255,.95); border: 1px solid #d2dff6; backdrop-filter: blur(20px); }
@media (prefers-reduced-transparency: reduce) {
  body.editorial:is(.home, .tour-page) .site-header { background: #f8fbff; }
  body.editorial.home .site-header:not(.is-solid), body.editorial.home .legend-card { background: #142745; }
}

body.editorial .corporate-facts { overflow: hidden; }
body.editorial .rc.is-active { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); transform: none; }
body.editorial .mobile-dock { padding: 5px; gap: 5px; }
body.editorial .mobile-dock a { border-radius: calc(var(--radius-md) - 5px); }
body.editorial .mobile-bar img { border: 0; border-radius: 8px; }

@media (max-width: 760px) {
  body.editorial .sheet,
  body.editorial .featured,
  body.editorial .route-spotlight,
  body.editorial .passport,
  body.editorial .map-sheet,
  body.editorial .book-card,
  body.editorial .mosaic,
  body.editorial .corporate-visual-media { border-radius: var(--radius-md); }
}
