/* Hero corrections: keep the map on the right and connect marker to card. */
.ar-map-pin,.ar-map-card { z-index:1; }
body:is(.home,.page-id-649,.page-id-650,.page-id-651) .ar-hero-map:after { z-index:0!important; pointer-events:none; }
.ar-hero-map .ar-hero-grid { position:relative; z-index:1; }
@media (min-width: 961px) {
  html, body:is(.home,.page-id-649,.page-id-650,.page-id-651) { margin-top:0!important; border-top:0!important; background:#030405; }
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header { position:absolute!important; inset:0 0 auto; z-index:20; background:transparent!important; border:0!important; box-shadow:none!important; }
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header .ct-sticky-container,
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header [data-sticky],
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header [data-device="desktop"] [data-row="middle"] { background:linear-gradient(90deg,#030405 0%,#030405 42%,rgba(3,4,5,.78) 60%,rgba(3,4,5,.18) 100%)!important; border:0!important; box-shadow:none!important; }
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header .ct-sticky-container,
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header .ct-sticky-container > div { background-color:transparent!important; }
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #main { margin-top:0!important; padding-top:0!important; }
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) .ar-hero-map { min-height:100vh; }
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header,
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header .ct-sticky-container,
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header [data-device="desktop"],
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header [data-device="desktop"] [data-row="middle"],
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header [data-device="desktop"] [data-row="middle"] > .ct-container,
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header [data-device="desktop"] .site-branding,
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header [data-device="desktop"] .site-logo-container,
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header [data-device="desktop"] .header-menu-1,
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header [data-device="desktop"] .menu,
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header [data-device="desktop"] .menu > li,
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header [data-device="desktop"] .menu > li > a { height:72px!important; min-height:72px!important; }
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) .ar-hero-map:before {
    inset:0 -8% 0 0;
    background-image:url('/wp-content/uploads/ar-assets/tomsk-map-hero-v4.png');
    background-position: center 85%;
    background-size: cover;
    opacity:.94;
    filter:none;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.10) 18%,#000 46%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.10) 18%,#000 46%,#000 100%);
  }
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) .ar-hero-map:after {
    background:linear-gradient(90deg,#030405 0%,#030405 28%,rgba(3,4,5,.96) 38%,rgba(3,4,5,.62) 51%,rgba(3,4,5,.12) 72%,transparent 100%)!important;
  }
  .ar-hero-map .ar-hero-copy:before { content:""; position:absolute; z-index:-1; top:-180px; bottom:-180px; left:calc((100vw - min(1420px,calc(100vw - 72px))) / -2); right:-100px; background:linear-gradient(90deg,#030405 0%,#030405 calc(100% - 180px),transparent 100%); pointer-events:none; }
  .ar-hero-map .ar-hero-grid { grid-template-columns: minmax(600px,.94fr) minmax(600px,1.06fr); }
  .ar-map-scene { min-height: 610px; }
  .ar-map-pin:not(.is-main) { display:block; opacity:.72; }
  .ar-map-pin.is-main { left: 15%; top: 48%; }
  .ar-map-pin:nth-child(2) { left:34%; top:17%; }
  .ar-map-pin:nth-child(3) { left:55%; top:30%; }
  .ar-map-pin:nth-child(4) { left:75%; top:20%; }
  .ar-map-pin:nth-child(5) { left:49%; top:70%; }
  .ar-map-pin:nth-child(6) { left:84%; top:66%; }
  .ar-map-pin:nth-child(7) { left:66%; top:52%; }
  .ar-map-pin:nth-child(8) { left:92%; top:40%; }
  .ar-map-pin:nth-child(9) { left:38%; top:84%; }
  .ar-map-pin:nth-child(10) { left:72%; top:86%; }
  .ar-map-card { top: 43%; width: min(570px,76%); }
  .ar-map-card:before { display: none; }
  .ar-map-scene:after { content:""; position:absolute; z-index:0; left:calc(15% + 28px); top:calc(48% + 13px); width:calc(9% - 28px); border-top:3px solid var(--ar-yellow); transform:rotate(7deg); transform-origin:left; }
}

@media (max-width: 600px) {
  .ar-hero-map .ar-hero-copy { background:rgba(3,4,5,.97); box-shadow:0 28px 38px 24px rgba(3,4,5,.97); }
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) .ar-hero-map:before { inset:0; background-image:url('/wp-content/uploads/ar-assets/tomsk-map-hero-v4.png'); background-position:34% center; background-size:auto 100%; opacity:.88; filter:none; -webkit-mask-image:none; mask-image:none; }
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) .ar-hero-map:after { background:linear-gradient(180deg,#030405 0%,rgba(3,4,5,.99) 55%,rgba(3,4,5,.76) 62%,rgba(3,4,5,.18) 74%,rgba(3,4,5,.10) 84%,rgba(3,4,5,.48) 100%); }
  .ar-map-scene { min-height: 520px; margin-inline: 0; }
  .ar-map-pin:not(.is-main) { display:block; opacity:.68; }
  .ar-map-pin.is-main { left: 45%; top: 31%; }
  .ar-map-pin:nth-child(2) { left:70%; top:10%; }
  .ar-map-pin:nth-child(3) { left:25%; top:22%; }
  .ar-map-pin:nth-child(4) { left:76%; top:42%; }
  .ar-map-pin:nth-child(5) { left:18%; top:57%; }
  .ar-map-pin:nth-child(6) { left:71%; top:69%; }
  .ar-map-pin:nth-child(7) { left:48%; top:7%; }
  .ar-map-pin:nth-child(8) { left:86%; top:27%; }
  .ar-map-pin:nth-child(9) { left:38%; top:52%; }
  .ar-map-pin:nth-child(10) { left:87%; top:82%; }
  .ar-map-card { right: 0; top: 57%; width: 100%; grid-template-columns: 112px 1fr; }
  .ar-map-card img { display:block; position:relative; z-index:2; opacity:1; visibility:visible; background:url('/wp-content/uploads/ar-assets/gallery/gallery-02.webp') center/cover no-repeat; }
  .ar-map-card:before { display:none; }
  .ar-map-scene:after { content:""; position:absolute; z-index:0; left:calc(45% + 27px); top:calc(31% + 18px); width:30%; border-top:3px solid var(--ar-yellow); transform:rotate(62deg); transform-origin:left; }
}

/* Ultra-wide screens: preserve the desktop composition without leaving the hero tiny in a 2K viewport. */
@media (min-width: 1920px) {
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] [data-row="middle"] > .ct-container {
    width: min(1760px, calc(100% - 120px)) !important;
    max-width: 1760px !important;
    padding-inline: 0 !important;
  }
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] [data-row="middle"],
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] [data-row="middle"] > .ct-container,
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] .site-branding,
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] .site-logo-container,
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] .header-menu-1,
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] .menu,
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] .menu > li,
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] .menu > li > a { height: 84px !important; min-height: 84px !important; }
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] .site-logo-container img { width: 66px !important; height: 66px !important; }
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] .menu > li > a { padding-inline: 17px !important; font-size: 15px !important; }
  html body:is(.home,.page-id-649,.page-id-650,.page-id-651) #header.ct-header [data-device="desktop"] .ct-header-cta .ct-button { min-height: 44px !important; padding: 10px 19px !important; font-size: 15px !important; }

  .ar-hero-map .ar-wrap,
  .ar-hero-v2 .ar-wrap,
  .ar-about-hero .ar-wrap {
    width: min(1760px, calc(100% - 120px)) !important;
    max-width: 1760px !important;
  }
  body:is(.home,.page-id-649,.page-id-650,.page-id-651) .ar-hero-map { min-height: 100vh; }
  .ar-hero-map .ar-hero-grid { grid-template-columns: minmax(760px,.96fr) minmax(760px,1.04fr); gap: 52px; }
  .ar-hero-map h1 { max-width: 850px; font-size: 118px; }
  .ar-hero-map .ar-hero-lead { max-width: 800px; font-size: 31px; }
  .ar-hero-map .ar-hero-text { max-width: 780px; font-size: 18px; }
  .ar-hero-map .ar-btn { min-height: 64px; padding-inline: 30px; font-size: 16px; }
  .ar-hero-map .ar-map-scene { min-height: 760px; }
  .ar-hero-map .ar-map-card { width: min(650px,78%); }
  .ar-hero-map .ar-hero-copy:before { left: calc((100vw - min(1760px,calc(100vw - 120px))) / -2); }

  .ar-hero-v2 { min-height: calc(100vh - 84px); }
  .ar-hero-v2 .ar-wrap { grid-template-columns: minmax(820px,1.05fr) minmax(650px,.95fr); gap: 80px; }
  .ar-hero-v2 h1 { max-width: 930px; font-size: 112px; }
  .ar-hero-v2 .ar-lead { max-width: 820px; font-size: 23px; }
  .ar-hero-v2 .ar-hero-photo { height: 760px; }
  body:is(.page-id-655,.page-id-682) .ar-hero-v2 .ar-hero-photo { min-height: 760px; }
}

/* One consolidated “spoiler” section, based on the supplied film-strip reference. */
.ar-spoiler-film { overflow: hidden; color: #080808; }
.ar-spoiler-film-grid { display: grid; grid-template-columns: minmax(320px,.62fr) minmax(680px,1.38fr); gap: 38px; align-items: center; }
.ar-spoiler-film-copy h2 { margin: 7px 0 22px; font-size: clamp(58px,6vw,92px); line-height: .94; }
.ar-spoiler-film-copy>p { max-width: 470px; font-size: 18px; line-height: 1.42; }
.ar-spoiler-film-kicker { display: flex; align-items: center; gap: 18px; }
.ar-spoiler-film-kicker span { padding: 9px 18px; border-radius: 7px; background: var(--ar-yellow); font: 600 18px/1 "Oswald Local",sans-serif; text-transform: uppercase; letter-spacing: .06em; }
.ar-spoiler-film-kicker em { display:inline-block; font:italic 30px/1 "Segoe Print","Comic Sans MS",cursive; transform:rotate(-5deg); transform-origin:center; }
.ar-spoiler-film-copy .ar-btn { margin-top: 24px; }
.ar-film-story { min-width: 0; transform:perspective(1100px) rotateY(-10deg) rotateZ(-1.2deg); transform-origin:left center; }
.ar-film-strip { position: relative; display: grid; grid-template-columns: .72fr .78fr .82fr 1.7fr; gap: 8px; padding: 43px 13px; border: 10px solid #111; border-radius: 16px; background: #111; box-shadow: 0 18px 32px rgba(0,0,0,.22); }
.ar-film-strip:before,.ar-film-strip:after { content:""; position:absolute; left:8px; right:8px; height:18px; background:repeating-linear-gradient(90deg,#fff 0 18px,transparent 18px 37px); }
.ar-film-strip:before { top: 8px; }.ar-film-strip:after { bottom: 8px; }
.ar-film-strip figure { position: relative; min-width: 0; height: 270px; margin: 0; overflow: hidden; background: #ddd; }
.ar-film-strip img { width: 100%; height: 100%; object-fit: cover; }
.ar-film-strip figure>span { position: absolute; z-index: 2; top: 10px; left: 10px; padding: 8px 12px; border-radius: 8px; background: var(--ar-yellow); font: 600 16px/1 "Oswald Local",sans-serif; text-transform: uppercase; }
.ar-film-result>a { position: absolute; z-index: 2; inset: 50% auto auto 50%; translate: -50% -50%; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--ar-yellow); color: #050505!important; text-decoration: none; font-size: 29px; }
.ar-film-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; padding: 17px 18px; border-radius: 0 0 12px 12px; background: #111; color: #fff; }
.ar-film-facts>div { display: grid; grid-template-columns: 54px 1fr; padding: 0 20px; border-right: 1px solid #777; }
.ar-film-facts>div:last-child { border: 0; }
.ar-film-facts i { grid-row: 1/3; align-self: center; color: var(--ar-yellow); font: 600 36px/1 "Oswald Local",sans-serif; font-style: normal; }
.ar-film-facts strong { font: 600 25px/1 "Oswald Local",sans-serif; text-transform: uppercase; }
.ar-film-facts span { color: #aaa; font-size: 11px; text-transform: uppercase; }
.ar-film-route { margin: 18px 0 0; text-align: center; color: #777; font-size: 14px; }

@media (max-width: 1100px) {
  .ar-spoiler-film-grid { grid-template-columns: 1fr; }
  .ar-spoiler-film-copy>p { max-width: 700px; }
  .ar-film-story { transform: none; }
}
@media (max-width: 600px) {
  .ar-spoiler-film-copy h2 { font-size: clamp(50px,16vw,70px); }
  .ar-spoiler-film-kicker { align-items: flex-start; flex-direction: column; }
  .ar-film-strip { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; padding-block: 38px; }
  .ar-film-strip figure { height: 245px; scroll-snap-align: start; }
  .ar-film-strip .ar-film-result { grid-column: auto; }
  .ar-film-facts { grid-template-columns: 1fr; gap: 14px; }
  .ar-film-facts>div { border-right: 0; border-bottom: 1px solid #555; padding: 0 0 14px; }
  .ar-film-facts>div:last-child { padding-bottom: 0; }
  .ar-film-route { text-align: left; line-height: 1.7; }
}

/* Polished single-piece film visual: stable geometry at every viewport. */
.ar-film-story-image { min-width:0; transform:none; }
.ar-film-visual { position:relative; width:100%; }
.ar-film-visual>img { display:block; width:100%; height:auto; }
.ar-film-label { position:absolute; z-index:2; padding:7px 11px; border-radius:7px; background:var(--ar-yellow); color:#080808; font:600 clamp(10px,1vw,15px)/1 "Oswald Local",sans-serif; text-transform:uppercase; box-shadow:0 2px 8px rgba(0,0,0,.16); }
.ar-film-label-before { left:4%; top:43%; }
.ar-film-label-hidden { left:18%; top:34%; }
.ar-film-label-process { left:34%; top:27%; }
.ar-film-label-result { left:52%; top:18%; }
.ar-film-story-image .ar-film-facts { width:78%; margin:-5.5% 1.2% 0 auto; position:relative; z-index:3; border-radius:12px; box-shadow:0 10px 25px rgba(0,0,0,.18); }
.ar-map-credit { position:absolute; z-index:4; right:4px; bottom:3px; color:rgba(255,255,255,.48); font-size:8px; }

@media(min-width:1101px){
  .ar-spoiler-film-grid { grid-template-columns:minmax(350px,.58fr) minmax(700px,1.42fr); gap:20px; }
  .ar-spoiler-film-copy { position:relative; z-index:3; }
  .ar-film-story-image { position:relative; z-index:1; width:104%; margin-left:-2%; }
}

@media (max-width:600px) {
  .ar-film-visual { width:calc(100% + 10px); margin-left:-5px; }
  .ar-film-label { padding:5px 7px; font-size:8px; border-radius:4px; }
  .ar-film-story-image .ar-film-facts { width:100%; margin:-1px 0 0; }
}
