/* Editorial travel direction. Loaded last, after the published responsive fixes. */
:root {
  --ink: #142d2a;
  --paper: #f7f4ed;
  --paper-warm: #ece7dc;
  --white: #fffdf7;
  --orange: #b85a35;
  --sand: #dbbd8d;
  --line: #142d2a26;
  --page-gutter: clamp(24px, 4.2vw, 78px);
}

body { font-family: "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
a, button { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid #c9804e; outline-offset: 6px; }
button { cursor: pointer; }
.grain, .pointer-light, .gulls, .route-sketch, .map-trail, .ice-cracks, .winter-giant, .review-marquee { display: none; }
.progress { height: 2px; background: var(--sand); }
.reveal, .reveal.visible { opacity: 1; transform: none; transition: none; }
.section { padding: 108px var(--page-gutter); }
.eyebrow, .hero-kicker { font-size: 11px; font-weight: 600; letter-spacing: .15em; line-height: 1.6; }
.eyebrow { margin-bottom: 24px; }
.eyebrow:before { width: 24px; margin-right: 10px; }
.header { height: 100px; padding-inline: var(--page-gutter); border-color: #fffdf735; }
.brand { gap: 12px; letter-spacing: .15em; font-size: 12px; }
.brand-mark { width: 42px; height: 42px; border-radius: 50%; font-size: 24px; transform: none; }
.brand b { font-weight: 400; }
.nav { gap: 26px; }
.nav a, .header-phone { font-size: 13px; font-weight: 500; }
.nav a:after { bottom: -10px; }
.header-phone { padding: 11px 16px; border: 1px solid #fffdf74d; border-radius: 100px; }
.button { gap: 24px; min-height: 56px; padding: 0 26px; border-radius: 100px; font-size: 14px; font-weight: 600; }
.button.primary { color: #fff; background: var(--orange); box-shadow: none; }
.button.primary:hover { background: #a54a2c; }
.button.ghost { background: #142d2a22; border-color: #fffdf780; backdrop-filter: none; }
.button:hover { transform: translateY(-2px); }
.text-link { gap: 28px; min-height: 40px; padding-bottom: 9px; font-size: 13px; font-weight: 600; }
.arrow { font-size: 20px; }

/* The landscape carries the atmosphere; the copy is intentionally quiet. */
.hero { min-height: 760px; height: min(940px, 100svh); max-height: none; }
.hero-image { background-image: url('/images/baikal-dawn.webp'); background-position: center; animation: none; transform: none; }
.hero-vignette { background: linear-gradient(90deg, #102722e8 0%, #102722a6 38%, #10272212 76%), linear-gradient(0deg, #102722a8, transparent 45%), linear-gradient(180deg, #10272244, transparent 22%); }
.hero-content { width: 58%; max-width: 850px; height: 100%; min-height: 0; padding: 164px 0 138px var(--page-gutter); justify-content: center; }
.hero-kicker { padding-left: 36px; margin-bottom: 28px; animation: none; }
.hero-kicker:before { width: 24px; margin-left: -36px; }
.hero h1 { max-width: 720px; font: 400 78px/1.02 Georgia, "Times New Roman", serif; letter-spacing: -.045em; text-transform: none; animation: none; }
.hero h1 span { color: #f0dfbc; font-style: italic; }
.hero-lead { max-width: 510px; margin-top: 28px; color: #fffdf7d9; font-size: 16px; line-height: 1.7; animation: none; }
.hero-actions { margin-top: 32px; gap: 12px; animation: none; }
.hero-trust { bottom: 32px; left: var(--page-gutter); right: var(--page-gutter); padding-top: 24px; border-top: 1px solid #fffdf738; gap: 28px; }
.hero-trust span, .hero-trust span:first-child { border: 0; padding: 0; color: #fffdf7c9; font-size: 11px; }
.hero-trust span:before { content: "✦"; margin-right: 10px; color: var(--sand); font-size: 10px; }
.manifesto { background: var(--paper); }
.manifesto-grid { grid-template-columns: 1.4fr .8fr; gap: 90px; }
.manifesto h2 { max-width: 830px; font: 400 58px/1.1 Georgia, serif; letter-spacing: -.035em; }
.manifesto h2 em { color: var(--orange); }
.manifesto-copy { max-width: 430px; padding-top: 4px; font-size: 16px; line-height: 1.8; }
.manifesto-copy p { color: #57615b; }
.manifesto-copy .text-link { margin-top: 10px; }

.story-map { grid-template-columns: 1fr 1fr; background: #17332e; }
.map-sticky { min-height: 700px; height: 100svh; }
.map-panorama > img { object-position: 60% center; transform: none; filter: none; }
.map-panorama-shade { background: linear-gradient(180deg, #142d2a08 20%, #142d2ae8 100%); }
.map-copy { left: var(--page-gutter); right: 50px; bottom: 56px; }
.map-copy h2 { font-size: 56px; line-height: 1.07; letter-spacing: -.035em; }
.map-copy > p:not(.eyebrow) { max-width: 470px; color: #fffdf7c7; font-size: 15px; line-height: 1.75; }
.map-progress { margin-top: 30px; width: 100%; max-width: 380px; }
.map-stops { padding: 64px 56px; }
.map-stop { min-height: 0; padding: 34px 0 38px; border-color: #fffdf726; }
.map-stop:first-child { border-top: 0; padding-top: 0; }
.map-stop:last-child { padding-bottom: 0; }
.map-stop-photo { height: 265px; margin-bottom: 24px; border-radius: 3px; }
.map-stop-photo img { filter: none; }
.map-stop > div:last-child { grid-template-columns: 38px minmax(0, 1fr); column-gap: 12px; }
.map-stop h3 { margin-bottom: 10px; font-size: 34px; line-height: 1.12; letter-spacing: -.025em; }
.map-stop p { color: #fffdf7ad; font-size: 14px; line-height: 1.65; }
.map-stop span { color: var(--sand); }

.tours-section { background: #fbf9f4; }
.section-heading { margin-bottom: 50px; gap: 32px; }
.section-heading h2 { font-size: 62px; line-height: 1.08; letter-spacing: -.035em; }
.segmented, .filter-pills { padding: 4px; border-color: #142d2a30; background: transparent; }
.segmented button, .filter-pills button { min-height: 42px; padding-inline: 22px; font-size: 12px; }
.segmented button.active, .filter-pills button.active { background: var(--ink); }
.tour-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.tour-card { min-width: 0; }
.tour-image-wrap, .catalog-grid .tour-image-wrap { height: 390px; border-radius: 3px; }
.tour-image-wrap:after { background: linear-gradient(180deg, #142d2a24, transparent 35%, #142d2a33); }
.tour-image-wrap img, .tour-card.arshan img, .tour-card.irkutsk img { filter: none; object-position: center; }
.tour-index { top: 18px; left: 18px; font-size: 11px; }
.tour-format { top: 15px; right: 15px; padding: 7px 11px; font-size: 9px; letter-spacing: .06em; border-color: #fffdf75e; background: #142d2a22; backdrop-filter: blur(6px); }
.tour-copy { padding: 23px 0 0; }
.tour-copy > p:first-child { margin-bottom: 10px; color: #7a7e71; font-size: 10px; letter-spacing: .12em; }
.tour-copy h3 { margin-bottom: 16px; font-size: 30px; line-height: 1.15; letter-spacing: -.025em; }
.tour-meta { gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.tour-meta span { color: #56625a; border-color: #142d2a26; font-size: 11px; padding: 5px 10px; }
.tour-description { min-height: 90px; margin-bottom: 14px; color: #667068; font-size: 14px; line-height: 1.7; }
.tour-copy .text-link { border-color: #142d2a66; }
.all-tours { margin-top: 46px; }
.all-tours span { width: 24px; height: 24px; }
.catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 36px; }
.catalog-grid .tour-card:nth-child(2n) { padding-top: 64px; }
.catalog-grid .tour-image-wrap { height: 470px; }
.catalog-toolbar { margin-bottom: 46px; }

.winter-cinema, .winter-content { min-height: 680px; }
.winter-content { max-width: 720px; padding: 112px 0 112px var(--page-gutter); }
.winter-image { inset: 0; background: linear-gradient(90deg, #0c2b38d9, #0c2b3844 60%, transparent), url('/images/baikal-ice.webp') center/cover; transform: none; }
.winter-content h2 { max-width: 620px; margin-bottom: 26px; font-size: 68px; line-height: 1.03; letter-spacing: -.04em; }
.winter-content > p:not(.eyebrow) { max-width: 475px; font-size: 16px; line-height: 1.75; }
.winter-content .button { margin-top: 4px; }
.principles { grid-template-columns: .9fr 1.1fr; gap: 90px; }
.principles-intro h2 { max-width: 520px; font-size: 54px; line-height: 1.12; letter-spacing: -.035em; }
.principle { grid-template-columns: 32px minmax(160px, .8fr) 1fr; gap: 16px; min-height: 0; padding: 32px 0; }
.principle h3 { font-size: 24px; line-height: 1.22; letter-spacing: -.015em; }
.principle p { font-size: 14px; line-height: 1.75; }
.principle > span { color: var(--orange); }
.review-river { min-height: 580px; padding: 100px var(--page-gutter); background: linear-gradient(#142d2acc, #142d2ade), url('/images/listvyanka-shore.webp') center/cover; }
.review-river blockquote { max-width: 1000px; }
.review-river blockquote > p { font-size: 48px; line-height: 1.25; letter-spacing: -.025em; }
.review-river blockquote footer { margin-top: 30px; gap: 6px; }
.review-river > .text-link { margin-top: 35px; }

.selection { grid-template-columns: 1fr 1fr; gap: 100px; padding-block: 112px; background: #eae5d9; }
.selection-copy > span { margin-bottom: 34px; }
.selection-copy h2 { max-width: 610px; font-size: 58px; line-height: 1.1; letter-spacing: -.035em; }
.selection-copy > p { max-width: 490px; font-size: 16px; line-height: 1.8; }
.selection-tags { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; height: auto; margin-top: 32px; transform: none; }
.selection-tags i { position: static; width: auto; height: auto; padding: 9px 15px; border-radius: 99px; font-size: 12px; animation: none; }
.lead-form, .form-success { padding: 42px; border-radius: 4px; background: #17352f; }
.form-heading h2, .form-success h3 { margin-bottom: 20px; font-size: 40px; line-height: 1.12; letter-spacing: -.025em; }
.form-heading > p:last-child { max-width: 440px; color: #fffdf7ab; font-size: 14px; line-height: 1.7; margin-bottom: 28px; }
.lead-form label { margin-bottom: 24px; }
.lead-form label > span { color: #fffdf7b8; letter-spacing: .08em; font-size: 10px; }
.lead-form input, .lead-form textarea, .lead-form select { font-size: 16px; border-color: #fffdf74a; padding-block: 12px; }
.lead-form input::placeholder, .lead-form textarea::placeholder { color: #fffdf76b; }
.lead-form small { color: #fffdf78c; font-size: 11px; line-height: 1.6; }
.form-success { min-height: 450px; }

/* Shared first-screen treatment keeps the header and copy on one grid. */
.interior-hero { min-height: 680px; padding: 170px var(--page-gutter) 76px; align-items: end; }
.interior-image { inset: 0; transform: none; animation: none; background: linear-gradient(90deg, #142d2acc, #142d2a55 58%, #142d2a10), linear-gradient(0deg, #142d2ab0, transparent 65%), var(--hero-bg) center/cover; }
.spiritual-hero .interior-image { background: linear-gradient(90deg, #142d2ad9, #142d2a33 80%), linear-gradient(0deg, #142d2a66, transparent 65%), var(--hero-bg) center/cover; }
.interior-copy { width: 100%; max-width: 1000px; min-width: 0; }
.interior-copy h1, .about-page .interior-copy h1 { width: 100%; max-width: 1000px; margin-bottom: 26px; font: 400 70px/1.06 Georgia, serif; letter-spacing: -.035em; text-transform: none; overflow-wrap: break-word; }
.interior-copy > p:last-child { max-width: 600px; color: #fffdf7d6; font-size: 17px; line-height: 1.75; }
.tour-facts { padding-inline: var(--page-gutter); background: #17352f; }
.tour-facts > div { min-height: 132px; padding: 27px 30px; }
.tour-facts > div:first-child { padding-left: 0; }
.tour-facts > div:last-child { border-right: 0; }
.tour-facts span { color: #fffdf79e; font-size: 10px; }
.tour-facts strong { font-size: 27px; }
.route-days { gap: 90px; }
.route-days-heading h2, .included h2, .custom-route h2, .about-statement h2, .spiritual-intro h2 { font-size: 54px; line-height: 1.12; letter-spacing: -.035em; }
.day { min-height: 0; padding: 35px 0; grid-template-columns: 58px minmax(160px, .85fr) 1fr; }
.day h3 { font-size: 25px; line-height: 1.2; }
.day p { font-size: 15px; line-height: 1.75; }
.included { background: #17352f; }
.included li { padding-block: 21px; font-size: 15px; }
.sacred-card { min-height: 0; padding: 35px 0; }
.sacred-card h3 { font-size: 36px; line-height: 1.2; letter-spacing: -.025em; }
.guide-quote { min-height: 580px; padding: 100px var(--page-gutter); }
.guide-quote > div { transform: none; background-image: linear-gradient(90deg, var(--ink), transparent 68%), url('/images/baikal-chapel.webp'); }
.guide-quote blockquote { max-width: 1050px; font-size: 52px; line-height: 1.2; letter-spacing: -.025em; }
.about-statement h2 { margin-bottom: 44px; }
.statement-grid { max-width: 1000px; font-size: 16px; line-height: 1.8; }
.guide-grid { gap: 26px; }
.guide-card h3 { font-size: 28px; line-height: 1.2; }
.guide-number { border-top: 1px solid #dbbd8d70; background: #17352f; }
.guide-card:nth-child(2n) .guide-number { background: #24463c; }
.numbers-ridge { padding-inline: var(--page-gutter); background: #17352f; }
.numbers-ridge > div { min-height: 250px; padding: 55px 40px; }
.numbers-ridge > div:first-child { padding-left: 0; }
.numbers-ridge > div:last-child { border-right: 0; }
.numbers-ridge strong { margin-bottom: 30px; font-size: 90px; }
.reviews-hero, .contacts-hero { min-height: 590px; padding: 170px var(--page-gutter) 76px; background: #17352f; }
.reviews-hero h1, .contacts-heading h1 { max-width: 900px; margin-bottom: 24px; font: 400 72px/1.08 Georgia, serif; text-transform: none; letter-spacing: -.035em; }
.reviews-hero h1 { margin-bottom: 0; }
.contacts-heading > p:last-child { max-width: 580px; color: #fffdf7bd; font-size: 16px; line-height: 1.75; }
.contact-orbit { opacity: .32; animation: none; }
.contact-orbit span { font-size: 74px; }
.sound-wave { opacity: .7; height: 120px; }
.review-card { min-height: 0; padding: 52px 0; grid-template-columns: 60px 1fr 200px; gap: 36px; }
.review-card > p { font-size: 35px; line-height: 1.3; letter-spacing: -.025em; }
.review-photo-ribbon { height: 430px; gap: 8px; padding: 8px; background: #17352f; }
.review-photo-ribbon img { filter: none; border-radius: 3px; }
.contact-details a, .contact-details p { font-size: 30px; line-height: 1.4; }
.contact-details > div > span { font-size: 10px; }
.legal { padding: 166px var(--page-gutter) 100px; max-width: 1120px; }
.legal h1 { font-size: 62px; line-height: 1.12; margin-bottom: 45px; letter-spacing: -.035em; }
.legal h2 { font-size: 30px; line-height: 1.25; margin-bottom: 14px; }
.legal p { font-size: 16px; line-height: 1.85; }
.footer { background: #102923; }
.footer-callout { min-height: 0; padding: 90px var(--page-gutter); grid-template-columns: .65fr 1.7fr 150px; gap: 40px; }
.footer-callout h2 { font-size: 54px; line-height: 1.12; letter-spacing: -.035em; }
.circle-link { width: 144px; height: 144px; font-size: 14px; border-color: #fffdf75e; }
.footer-grid { padding: 62px var(--page-gutter); grid-template-columns: 1.1fr 1fr 1fr .8fr; gap: 40px; }
.footer-grid a, .footer-grid span { color: #fffdf7c7; font-size: 14px; line-height: 1.6; }
.footer-grid p { color: #fffdf773; font-size: 10px; }
.footer-bottom { padding: 24px var(--page-gutter); color: #fffdf780; font-size: 10px; letter-spacing: .04em; }

@media (min-width: 1700px) {
  .hero h1 { font-size: 90px; }
  .hero-content { max-width: 940px; }
  .hero-lead { max-width: 560px; font-size: 18px; }
  .interior-copy h1, .about-page .interior-copy h1 { font-size: 82px; }
  .tour-image-wrap { height: 450px; }
  .map-stop-photo { height: 330px; }
}

@media (max-width: 1200px) {
  .header { height: 88px; }
  .hero { min-height: 700px; }
  .hero-content { width: 66%; padding-top: 140px; }
  .hero h1 { font-size: 66px; }
  .hero-lead { max-width: 470px; font-size: 15px; }
  .hero-actions { gap: 10px; }
  .hero-actions .button { padding-inline: 20px; font-size: 13px; }
  .manifesto-grid, .principles, .selection { gap: 55px; }
  .manifesto h2 { font-size: 50px; }
  .principles-intro h2, .selection-copy h2 { font-size: 48px; }
  .tour-grid { gap: 22px; }
  .tour-image-wrap { height: 330px; }
  .tour-copy h3 { font-size: 26px; }
  .map-stops { padding: 44px 34px; }
  .map-stop-photo { height: 240px; }
  .map-copy { right: 34px; }
  .map-copy h2 { font-size: 46px; }
  .map-stop h3 { font-size: 30px; }
  .footer-callout { grid-template-columns: .6fr 1.5fr 130px; gap: 30px; }
  .footer-callout h2 { font-size: 46px; }
  .circle-link { width: 126px; height: 126px; }
}

@media (max-width: 1100px) and (min-width: 761px) {
  .header-phone { margin-right: 16px; }
  .nav { background: #142d2a; padding-inline: var(--page-gutter); }
  .nav a { font-size: 36px; line-height: 1.3; font-family: Georgia, serif; white-space: normal; }
  .tour-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tour-card:nth-child(3) { grid-column: auto; width: auto; margin: 0; }
  .tour-image-wrap { height: 300px; }
  .tour-format { font-size: 8px; right: 10px; padding: 6px 8px; }
  .tour-index { left: 12px; }
  .tour-description { min-height: 138px; }
  .manifesto-grid { grid-template-columns: 1.2fr 1fr; gap: 40px; }
  .principles, .selection { grid-template-columns: 1fr 1fr; gap: 40px; }
  .principle { grid-template-columns: 25px 1fr; }
  .principle p { grid-column: 2; }
  .lead-form, .form-success { padding: 30px; }
  .form-heading h2 { font-size: 34px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .interior-copy h1, .about-page .interior-copy h1 { font-size: 62px; }
  .reviews-hero h1, .contacts-heading h1 { font-size: 62px; }
  .sound-wave { width: 230px; flex-shrink: 0; }
  .footer-callout { grid-template-columns: 1fr 130px; }
  .footer-callout > .eyebrow { grid-column: 1 / -1; margin: 0; }
  .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-grid > .brand { grid-column: 1 / -1; }
}

@media (max-width: 1100px) {
  .nav { visibility: hidden; }
  .nav.open { visibility: visible; }
  body.menu-open .header .brand,
  body.menu-open .header .menu { color: var(--white); }
}

.request-summary { color: #fffdf7bf; margin-bottom: 28px; font-size: 15px; line-height: 1.7; }
.form-success .button { max-width: 100%; white-space: normal; }
.footer-bottom { flex-wrap: wrap; }
.developer-credit { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 760px) {
  :root { --page-gutter: 20px; }
  .section { padding: 70px var(--page-gutter); }
  .header { height: 74px; padding-inline: 20px; }
  .brand { font-size: 10px; gap: 10px; }
  .brand-mark { width: 35px; height: 35px; font-size: 22px; }
  .menu { position: relative; z-index: 101; }
  .nav { background: #142d2a; justify-content: center; padding: 100px 24px 40px; gap: 10px; }
  .nav a { padding-block: 8px; font-family: Georgia, serif; font-size: 30px; font-weight: 400; line-height: 1.2; white-space: normal; }
  .nav a:after { display: none; }
  .hero { height: auto; min-height: 760px; }
  .hero-image { background-position: 64% center; }
  .hero-vignette { background: linear-gradient(180deg, #1027223d, #1027225c 24%, #102722cf 65%, #102722f0); }
  .hero-content { width: 100%; max-width: none; min-height: 760px; height: auto; padding: 142px 20px 145px; justify-content: center; }
  .hero-kicker { max-width: 330px; padding-left: 32px; margin-bottom: 25px; font-size: 9px; letter-spacing: .12em; }
  .hero-kicker:before { width: 22px; margin-left: -32px; }
  .hero h1 { max-width: 500px; font-size: 48px; line-height: 1.04; letter-spacing: -.04em; }
  .hero-lead { max-width: 460px; margin-top: 24px; color: #fffdf7d4; font-size: 15px; line-height: 1.7; }
  .hero-actions { width: 100%; margin-top: 28px; gap: 10px; }
  .hero-actions .button { min-height: 52px; font-size: 13px; }
  .hero-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); left: 20px; right: 20px; bottom: 24px; padding-top: 22px; gap: 14px; }
  .hero-trust span, .hero-trust span:first-child { font-size: 10px; line-height: 1.4; text-align: left; }
  .hero-trust span:before { display: block; margin: 0 0 6px; }
  .manifesto-grid { grid-template-columns: 1fr; gap: 30px; }
  .manifesto h2 { max-width: 520px; font-size: 38px; line-height: 1.14; }
  .manifesto-copy { max-width: none; font-size: 15px; line-height: 1.8; }
  .manifesto-copy p { font-size: 15px; line-height: 1.8; }
  .manifesto-copy p:last-of-type { margin-bottom: 22px; }
  .story-map { display: block; }
  .map-sticky { position: relative; min-height: 580px; height: 680px; }
  .map-copy { left: 20px; right: 20px; bottom: 38px; }
  .map-copy h2 { max-width: 400px; font-size: 42px; line-height: 1.08; }
  .map-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.75; }
  .map-stops { padding: 0 20px 45px; }
  .map-stop { padding: 32px 0 35px; }
  .map-stop:first-child { padding-top: 32px; border-top: 1px solid #fffdf726; }
  .map-stop-photo { height: auto; aspect-ratio: 1.5; max-height: none; margin-bottom: 22px; }
  .map-stop > div:last-child { grid-template-columns: 30px minmax(0, 1fr); gap: 8px; }
  .map-stop h3 { font-size: 30px; }
  .map-stop p { font-size: 14px; }
  .section-heading { gap: 26px; margin-bottom: 34px; }
  .section-heading h2 { font-size: 42px; line-height: 1.1; }
  .segmented { padding: 4px; min-height: 50px; }
  .segmented button, .filter-pills button { padding-inline: 14px; font-size: 12px; }
  .tour-grid, .catalog-grid { grid-template-columns: minmax(0, 1fr); gap: 42px; }
  .tour-card:nth-child(3) { width: auto; margin: 0; grid-column: auto; }
  .tour-image-wrap, .catalog-grid .tour-image-wrap { height: auto; max-height: none; aspect-ratio: 1.04; border-radius: 3px; }
  .tour-index { top: 20px; left: 20px; }
  .tour-format { top: 16px; right: 16px; font-size: 9px; }
  .tour-copy { padding: 20px 0 0; }
  .tour-copy h3 { font-size: 29px; line-height: 1.15; }
  .tour-description { min-height: 0; font-size: 14px; line-height: 1.75; }
  .tour-meta { margin-bottom: 15px; }
  .all-tours { width: 100%; margin-top: 38px; }
  .catalog-grid .tour-card:nth-child(2n) { padding-top: 0; }
  .catalog-toolbar { margin-bottom: 32px; gap: 20px; }
  .filter-pills { width: 100%; flex-wrap: wrap; overflow-x: visible; border: 0; gap: 7px; padding: 0; border-radius: 0; }
  .filter-pills button { border: 1px solid #142d2a28; min-height: 40px; }
  .filter-pills button.active { border-color: var(--ink); }
  .winter-cinema, .winter-content { min-height: 630px; }
  .winter-image { background: linear-gradient(180deg, #0b2b3826, #0b2b38dd), url('/images/baikal-ice.webp') center/cover; }
  .winter-content { max-width: none; padding: 220px 20px 55px; justify-content: end; }
  .winter-content h2 { max-width: 470px; font-size: 46px; line-height: 1.08; }
  .winter-content > p:not(.eyebrow) { max-width: 440px; font-size: 15px; }
  .principles { grid-template-columns: 1fr; gap: 30px; }
  .principles-intro h2 { max-width: 450px; font-size: 40px; line-height: 1.13; }
  .principle { grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 27px 0; }
  .principle h3 { font-size: 25px; }
  .principle p { grid-column: 2; font-size: 14px; line-height: 1.75; }
  .review-river { min-height: 0; padding: 80px 24px; }
  .review-river blockquote > p { font-size: 30px; line-height: 1.3; }
  .review-river blockquote footer { font-size: 13px; }
  .review-river > .text-link { margin-top: 30px; }
  .selection { grid-template-columns: 1fr; gap: 32px; padding-block: 70px; }
  .selection-copy { position: static; }
  .selection-copy > span { margin-bottom: 24px; }
  .selection-copy h2 { max-width: 450px; font-size: 40px; line-height: 1.12; margin-bottom: 24px; }
  .selection-copy > p { font-size: 15px; line-height: 1.8; }
  .selection-tags { margin-top: 22px; gap: 7px; }
  .selection-tags i { padding: 8px 12px; font-size: 12px; }
  .lead-form, .form-success { padding: 30px 24px; }
  .form-heading h2, .form-success h3 { font-size: 34px; line-height: 1.14; }
  .form-heading > p:last-child { color: #fffdf7b5; font-size: 14px; }
  .form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .lead-form select { text-overflow: ellipsis; }
  .interior-hero { min-height: 600px; padding: 145px 20px 52px; }
  .interior-copy, .interior-copy h1, .about-page .interior-copy h1 { max-width: 100%; width: 100%; }
  .interior-copy h1, .about-page .interior-copy h1 { font-size: 43px; line-height: 1.1; letter-spacing: -.035em; overflow-wrap: anywhere; }
  .interior-copy > p:last-child { max-width: 100%; font-size: 15px; line-height: 1.75; }
  .tour-facts { padding-inline: 0; }
  .tour-facts > div, .tour-facts > div:first-child { min-height: 108px; padding: 24px 20px; }
  .tour-facts strong { font-size: 23px; }
  .tour-facts span { margin-bottom: 12px; font-size: 9px; }
  .route-days { gap: 30px; }
  .route-days-heading h2, .included h2, .custom-route h2, .about-statement h2, .spiritual-intro h2 { font-size: 39px; line-height: 1.15; }
  .day { grid-template-columns: 36px minmax(0, 1fr); padding: 28px 0; gap: 14px; }
  .day h3 { font-size: 25px; }
  .day p { grid-column: 2; font-size: 14px; line-height: 1.75; }
  .included { gap: 28px; }
  .included li { font-size: 14px; }
  .spiritual-intro { gap: 28px; }
  .spiritual-intro > p:last-child { font-size: 15px; line-height: 1.8; }
  .sacred-card { grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding-block: 30px; }
  .sacred-card h3 { font-size: 28px; }
  .sacred-card p { font-size: 14px; line-height: 1.75; }
  .guide-quote { min-height: 0; padding: 85px 20px; }
  .guide-quote blockquote { font-size: 32px; line-height: 1.3; }
  .guide-quote footer { margin-top: 28px; }
  .statement-grid { gap: 24px; font-size: 15px; line-height: 1.8; }
  .about-statement h2 { margin-bottom: 30px; }
  .guide-grid { grid-template-columns: 1fr; gap: 32px; }
  .guide-photo, .guide-number { height: 350px; }
  .guide-card > div:last-child { line-height: 1.75; }
  .numbers-ridge { padding-inline: 0; }
  .numbers-ridge > div, .numbers-ridge > div:first-child { min-height: 0; padding: 40px 20px; }
  .numbers-ridge strong { margin-bottom: 20px; font-size: 76px; }
  .reviews-hero, .contacts-hero { min-height: 530px; padding: 155px 20px 55px; }
  .reviews-hero h1, .contacts-heading h1 { font-size: 46px; line-height: 1.1; max-width: 100%; }
  .reviews-hero { align-items: center; }
  .sound-wave { display: none; }
  .contact-orbit { opacity: .15; }
  .contact-orbit span { font-size: 48px; }
  .contacts-heading > p:last-child { font-size: 15px; line-height: 1.75; }
  .review-card { display: block; padding: 35px 0; }
  .review-card > p { font-size: 28px; line-height: 1.3; }
  .review-card > span { margin-bottom: 22px; }
  .review-card footer { margin-top: 25px; }
  .review-photo-ribbon { height: 850px; }
  .contact-details a, .contact-details p { font-size: 27px; }
  .contact-grid { gap: 35px; }
  .map-art { min-height: 330px; }
  .legal { padding: 125px 20px 70px; }
  .legal h1 { font-size: 39px; line-height: 1.15; margin-bottom: 35px; }
  .legal h2 { font-size: 29px; }
  .legal p { font-size: 15px; line-height: 1.85; }
  .footer-callout { grid-template-columns: minmax(0, 1fr); gap: 27px; padding: 65px 20px; }
  .footer-callout > .eyebrow { margin-bottom: 0; }
  .footer-callout h2 { max-width: 480px; font-size: 40px; line-height: 1.13; }
  .circle-link { width: 120px; height: 120px; }
  .footer-grid { padding: 45px 20px; gap: 30px 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid > .brand { grid-column: 1 / -1; margin-bottom: 8px; }
  .footer-grid a, .footer-grid span { font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
  .footer-bottom { gap: 10px; padding: 24px 20px; font-size: 9px; }
}

@media (max-width: 370px) {
  .hero-content { min-height: 760px; padding-top: 125px; }
  .hero h1 { font-size: 43px; }
  .hero-trust { gap: 9px; }
  .hero-trust span, .hero-trust span:first-child { font-size: 9px; }
  .hero-lead { font-size: 14px; }
  .interior-copy h1, .about-page .interior-copy h1 { font-size: 38px; }
  .section-heading h2, .selection-copy h2 { font-size: 37px; }
  .lead-form, .form-success { padding-inline: 20px; }
  .form-heading h2 { font-size: 31px; }
  .nav a { font-size: 27px; }
  .footer-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
