/* Фотоцентричное направление: тёплый outdoor-журнал вместо жёсткого атласа. */
body.editorial {
  --bg: #f5f0e6;
  --bg-2: #e7ece3;
  --surface: #fffdf8;
  --ink: #173027;
  --ink-2: #405247;
  --muted: #68766d;
  --line: rgba(23, 37, 30, .12);
  --line-2: rgba(23, 37, 30, .22);
  --accent: #c84f38;
  --accent-2: #9f3827;
  --on-accent: #fffdf8;
  --contour: #9b6844;
  --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 .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: #fbfaf5; }

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: #faf8f2; }
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: #17251e; color: #f4f1e9; }
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: #f3b49e; }
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: #faf8f2; }
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 .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); }
}
