/* Only the directions index. Related blocks reuse the existing Yakutia library. */
body.editorial-page--directions-index main.main { background: #fff3d8; }
body.editorial-page--directions-index main.main > .container { padding-top: 28px; }
.directions-index { color: #243c4e; }
.directions-index [hidden] { display: none !important; }
.directions-index .directions-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 44px; margin-bottom: 44px; }
body.editorial-page--directions-index main .directions-hero h1.page-title { font-size: clamp(34px,3.4vw,50px); margin: 0 0 22px; line-height: 1.12; color: #0b2134; text-wrap: balance; }
.directions-index .directions-hero__copy { min-width: 0; font-size: 17px; line-height: 1.65; }
.directions-index .directions-hero__copy .btn { margin-top: 24px; width: min(100%,310px); }
.directions-index .directions-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding: 0; margin: 28px 0 0; list-style: none; font-size: 12px; line-height: 1.45; }
.directions-index .directions-features li { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 10px; }
.directions-index .directions-features li::before { content: ''; width: 28px; height: 28px; background: #f06e20; mask: url('../image/hero-benefit-cargo.svg') center / contain no-repeat; }
.directions-index .directions-features .directions-icon--shield::before { mask-image: url('../image/hero-benefit-reliability.svg'); }
.directions-index .directions-features .directions-icon--experience::before { mask-image: url('../image/hero-benefit-experience.svg'); }
.directions-index .directions-features .directions-icon--route::before { mask-image: url('../image/hero-benefit-route.svg'); }
.directions-index .directions-gallery { position: relative; min-width: 0; border-radius: 28px; overflow: hidden; background: #0b2134; }
.directions-index .directions-gallery__slides:not(.slick-initialized) { display: flex; overflow: auto; scroll-snap-type: x mandatory; }
.directions-index .directions-gallery__slide { position: relative; min-width: 0; }
.directions-index .directions-gallery__slides:not(.slick-initialized) > * { flex: 0 0 100%; scroll-snap-align: start; }
.directions-index .directions-gallery :is(.field,article) { margin: 0; }
/* Override editorial media spacing/radii inside the clipped photo surfaces. */
body.editorial-page--directions-index main.main .directions-gallery :is(.field,article) { margin: 0; padding: 0; }
body.editorial-page--directions-index main.main .directions-gallery img,
body.editorial-page--directions-index main.main .directions-destinations .direction-card img { border-radius: 0; margin: 0; border: 0; }
body.editorial-page--directions-index main .directions-gallery img { display: block; width: 100%; height: 390px; object-fit: cover; border-radius: 0; margin: 0; }
.directions-index .directions-gallery__caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 52px 100px 24px 24px; background: linear-gradient(transparent,rgba(5,24,38,.94)); color: #fff; font-size: 14px; line-height: 1.45; }
.directions-index .directions-gallery__caption a { color: inherit; text-decoration: none; }
.directions-index .directions-gallery__caption a:hover { text-decoration: underline; }
.directions-index .directions-gallery__controls { position: absolute; bottom: 22px; right: 18px; display: flex; gap: 8px; }
.directions-index .directions-gallery__controls button { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; color: #fff; background: rgba(11,33,52,.35); cursor: pointer; }
.directions-index .directions-gallery__controls button::before { content: ''; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); margin-left: -3px; }
.directions-index .directions-gallery__controls .directions-gallery__prev::before { transform: rotate(-135deg); margin-left: 3px; }
.directions-index .directions-gallery__controls button:hover { color: #ff9b59; border-color: currentColor; }
.directions-index .directions-gallery__controls button:disabled { opacity: .35; cursor: default; }
.directions-index .directions-destinations { padding: 28px; border-radius: 28px; background: rgba(255,255,255,.6); margin-bottom: 40px; }
.directions-index .directions-destinations .direction-section { margin: 0; }
.directions-index .directions-geography { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 34px; align-items: center; }
.directions-index .directions-geography .view-content { grid-template-columns: minmax(0,1fr); }
.directions-index .directions-geography__copy { position: relative; isolation: isolate; font-size: 16px; line-height: 1.65; min-width: 0; }
.directions-index .directions-geography__copy::before { content: ''; position: absolute; inset: -40px -12px; z-index: -1; background: url('../image/russia-map.svg') right center / contain no-repeat; opacity: .23; pointer-events: none; }
body.editorial-page--directions-index main .directions-geography__copy h2 { margin: 0 0 18px; font-size: 25px; }
.directions-index .directions-geography__copy details { border: 0; background: transparent; padding: 0; margin-top: 18px; }
.directions-index .directions-geography__copy summary { cursor: pointer; color: #b4470a; }
.directions-index .directions-geography__copy details p { margin-top: 16px; }
.directions-index .directions-destinations .view-content { grid-template-columns: repeat(3,minmax(0,1fr)); }
.directions-index .directions-destinations .view-content:has(> :only-child) { grid-template-columns: minmax(0,640px); }
.directions-index .directions-destinations .direction-card { position: relative; }
.directions-index .directions-destinations .direction-card .direction-card__copy h3 { color: #fff; }
.directions-index .directions-destinations .direction-card__copy { position: absolute; inset: auto 0 0; padding: 60px 24px 24px; background: linear-gradient(transparent,rgba(5,24,38,.97)); }
.directions-index .directions-destinations .direction-card img { height: 300px; object-fit: cover; }
.directions-index .directions-destinations .direction-card__intro { -webkit-line-clamp: 2; font-size: 14px; color: #e0e7ed; }
body.editorial-page--directions-index main.main .directions-index :is(.yakutia-related--services,.yakutia-related--projects,.yakutia-related--articles) .direction-card img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; margin: 0; }
body.editorial-page--directions-index main.main .directions-index .direction-card__image :is(.field--name-field-image,.field--name-field-foto,.field--name-field-media-image,article) { margin: 0; }
.directions-index .directions-popular { margin: 40px 0; font-size: 16px; line-height: 1.65; }
.directions-index .directions-popular h2 { text-align: left; color: #0b2134; font-size: 30px; margin: 0 0 20px; }
.directions-index .directions-regions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
.directions-index .directions-regions > * { padding: 10px 20px; border-radius: 28px; font-size: 14px; background: #fffaf0; color: #405464; }
.directions-index .directions-regions a { background: #f06e20; color: #fff; font-weight: 600; text-decoration: none; }
.directions-index .directions-regions a:hover { background: #d4550c; }
.directions-index .directions-methods { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 44px; margin: 40px 0 48px; }
.directions-index .directions-method { position: relative; padding-left: 76px; min-width: 0; font-size: 16px; line-height: 1.65; }
.directions-index .directions-method::before { content: ''; position: absolute; top: 0; left: 0; width: 52px; height: 52px; border-radius: 16px; background: #fffaf0; }
.directions-index .directions-method::after { content: ''; position: absolute; top: 11px; left: 11px; width: 30px; height: 30px; background: #f06e20; mask: url('../image/hero-benefit-cargo.svg') center / contain no-repeat; }
.directions-index .directions-method--1::after { mask-image: url('../image/hero-benefit-route.svg'); }
.directions-index .directions-method--2::after { mask-image: url('../image/yakutia-cost.svg'); }
.directions-index .directions-method--3::after { mask-image: url('../image/hero-benefit-reliability.svg'); }
body.editorial-page--directions-index main .directions-method h3 { margin: 0 0 12px; font-size: 23px; line-height: 1.25; color: #0b2134; }
.directions-index .directions-method details { padding: 0; margin: 12px 0 0; border: 0; background: transparent; }
.directions-index .directions-method summary { color: #b4470a; cursor: pointer; font-size: 15px; }
.directions-index .directions-method details p { margin-top: 16px; }
.directions-index .directions-reading { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 34px; margin: 48px 0; align-items: start; }
.directions-index .directions-toc { position: sticky; top: 24px; padding: 22px; border-radius: 20px; background: #fffaf2; font-size: 14px; line-height: 1.5; }
.directions-index .directions-toc details { padding: 0; margin: 0; border: 0; background: transparent; }
.directions-index .directions-toc summary { font-weight: 700; color: #0b2134; cursor: pointer; }
.directions-index .directions-toc ul { padding: 0; margin: 18px 0 0; list-style: none; display: grid; gap: 12px; }
.directions-index .directions-toc a { color: #405464; text-decoration: none; }
.directions-index .directions-toc a:hover { color: #b4470a; }
.directions-index .directions-copy { min-width: 0; }
body.editorial-page--directions-index main .directions-copy .field--name-body { font-size: 17px; line-height: 1.7; }
.directions-index .directions-copy :is(h2,h3) { scroll-margin-top: 100px; }
.directions-index .directions-toggle { display: block; margin: 28px auto 0; padding: 12px 28px; min-height: 48px; border: 1px solid #d4550c; border-radius: 28px; color: #a43d06; background: #fffaf0; cursor: pointer; font: inherit; }
.directions-index .directions-toggle:hover { background: #fff; }
/* Equal row heights keep the gaps even when questions wrap differently. */
.directions-index .direction-faq .editorial-faq { align-items: stretch; }
.directions-index .direction-faq .editorial-faq__item:not([open]) > summary { display: flex; align-items: center; height: 100%; }
.directions-index .direction-faq .editorial-faq__item > summary::after { top: 50%; transform: translateY(-50%); }
.directions-index :is(.directions-hero,.directions-destinations,.directions-popular,.directions-methods,.directions-reading) :is(a,button,summary):focus-visible { outline: 2px solid #d4550c; outline-offset: 4px; }
@media (max-width:1199px) {
  .directions-index .directions-hero { gap: 28px; }
  .directions-index .directions-reading { grid-template-columns: 210px minmax(0,1fr); gap: 28px; }
  .directions-index .directions-destinations .view-content { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:991px) {
  .directions-index .directions-reading { grid-template-columns: minmax(0,1fr); }
  .directions-index .directions-toc { position: static; }
  .directions-index .directions-toc ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .directions-index .directions-methods { gap: 28px; }
  .directions-index .directions-method { padding-left: 0; padding-top: 68px; }
}
@media (max-width:767px) {
  .directions-index .directions-hero { grid-template-columns: minmax(0,1fr); }
  body.editorial-page--directions-index main .directions-gallery img { height: 290px; }
  .directions-index .directions-gallery__caption { padding: 50px 96px 20px 18px; font-size: 13px; }
  .directions-index .directions-destinations { padding: 20px; }
  .directions-index .directions-destinations .view-content,
  .directions-index .directions-geography,
  .directions-index .directions-methods,
  .directions-index .directions-toc ul { grid-template-columns: minmax(0,1fr); }
  .directions-index .directions-method { padding: 0 0 0 66px; }
  .directions-index .directions-popular h2 { font-size: 26px; }
  .directions-index .directions-regions > * { padding: 10px 16px; }
}
