@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
}

:root {
  --blue: #0c3fad;
  --blue-bright: #1760e8;
  --blue-dark: #071a47;
  --orange: #ff720c;
  --orange-soft: #fff0e4;
  --sky: #eaf2ff;
  --ice: #f5f8ff;
  --cream: #fff7ed;
  --mint: #e9fbf4;
  --green: #147b52;
  --ink: #0b1b3a;
  --muted: #5a6b87;
  --line: #dbe5f5;
  --white: #fff;
  --danger: #b42318;
  --shadow: 0 24px 70px rgba(7, 26, 71, .13);
  --shadow-soft: 0 14px 40px rgba(7, 26, 71, .08);
  --radius-xl: 36px;
  --radius-lg: 25px;
  --radius-md: 17px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fcfdff;
  font-family: "Nunito", "Segoe UI", Arial, sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { line-height: 1.05; letter-spacing: -.04em; }
h1 { font-size: clamp(46px, 6vw, 82px); margin-bottom: 22px; }
h2 { font-size: clamp(34px, 4vw, 56px); margin-bottom: 18px; }
h3 { font-size: 24px; margin-bottom: 10px; }
h4 { font-size: 18px; margin-bottom: 8px; }
section { scroll-margin-top: 96px; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 104px 0; }
.section--tight { padding: 76px 0; }
.section--sky { background: var(--ice); }
.section--cream { background: linear-gradient(180deg, #fff, var(--cream)); }
.section--dark { position: relative; isolation: isolate; overflow: hidden; color: var(--white); background: var(--blue-dark); }
.section--dark > .container { position: relative; z-index: 2; }
.section--dark::before, .section--dark::after { content: ""; position: absolute; z-index: 0; pointer-events: none; border-radius: 44% 56% 61% 39% / 39% 42% 58% 61%; filter: blur(2px); }
.section--dark::before { width: 620px; height: 620px; left: -240px; top: -330px; background: radial-gradient(circle at 36% 32%,rgba(53,120,255,.35),rgba(25,78,189,.11) 48%,transparent 70%); animation: abstract-drift-a 17s ease-in-out infinite alternate; }
.section--dark::after { width: 520px; height: 520px; right: -190px; bottom: -270px; background: radial-gradient(circle at 42% 38%,rgba(255,120,25,.22),rgba(42,102,230,.1) 48%,transparent 72%); animation: abstract-drift-b 20s ease-in-out infinite alternate; }
@keyframes abstract-drift-a { 0% { transform: translate3d(0,0,0) rotate(0deg) scale(.92); border-radius: 44% 56% 61% 39% / 39% 42% 58% 61%; } 100% { transform: translate3d(150px,90px,0) rotate(24deg) scale(1.18); border-radius: 62% 38% 42% 58% / 55% 62% 38% 45%; } }
@keyframes abstract-drift-b { 0% { transform: translate3d(0,0,0) rotate(0deg) scale(1); border-radius: 53% 47% 38% 62% / 58% 36% 64% 42%; } 100% { transform: translate3d(-170px,-105px,0) rotate(-28deg) scale(1.16); border-radius: 35% 65% 58% 42% / 42% 59% 41% 58%; } }
.section--dark .lead, .section--dark .muted { color: #b9c8e7; }
.skip-link { position: fixed; z-index: 1000; left: 16px; top: -80px; padding: 12px 16px; color: #fff; background: var(--blue-dark); border-radius: 10px; }
.skip-link:focus { top: 14px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 14px; color: var(--blue); font-size: 12px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 24px; height: 4px; border-radius: 99px; background: var(--orange); }
.section--dark .eyebrow, .hero-page--dark .eyebrow { color: #9ebcff; }
.lead { color: var(--muted); font-size: clamp(17px, 1.65vw, 21px); line-height: 1.65; }
.muted { color: var(--muted); }
.micro { font-size: 13px; color: var(--muted); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 38px; margin-bottom: 38px; }
.section-head > div:first-child { max-width: 760px; }
.section-head > p { max-width: 490px; margin-bottom: 0; }
.stack { display: grid; gap: 18px; }
.tag { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 11px; border-radius: 999px; color: var(--blue); background: var(--sky); font-size: 12px; font-weight: 850; }
.tag--orange { color: #813200; background: var(--orange-soft); }
.tag--green { color: var(--green); background: var(--mint); }
.tag--dark { color: #fff; background: var(--blue-dark); }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--blue); font-weight: 850; }
.text-link::after { content: "→"; transition: transform .2s ease; }
.text-link:hover::after { transform: translateX(4px); }

.announcement { color: #fff; background: var(--blue-dark); font-size: 13px; font-weight: 720; }
.announcement__row { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 16px; text-align: center; }
.announcement strong { color: #ffd39b; }
.announcement a { border-bottom: 1px solid rgba(255,255,255,.55); }
.site-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid rgba(219,229,245,.8); background: rgba(255,255,255,.94); backdrop-filter: blur(18px); }
.header-row { min-height: 82px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; position: relative; }
.brand { display: inline-flex; align-items: center; }
.brand img { width: 120px; height: 60px; object-fit: contain; }
.nav { display: flex; justify-content: center; align-items: center; gap: 25px; }
.nav a { position: relative; font-size: 14px; font-weight: 800; white-space: nowrap; }
.nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -9px; height: 3px; border-radius: 99px; background: var(--orange); transition: right .2s ease; }
.nav a:hover::after, .nav a:focus-visible::after, .nav a[aria-current="page"]::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 11px; }
.header-phone { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 9px 16px; position: relative; isolation: isolate; overflow: hidden; color: #fff; background: linear-gradient(120deg,#ff5d00,#ff8f1f,#ff5d00); background-size: 220% 220%; border-radius: 18px 28px 16px 25px; box-shadow: 0 10px 24px rgba(255,100,0,.28); font-size: 14px; font-weight: 950; white-space: nowrap; animation: phone-gradient 5s ease infinite, phone-shape 7s ease-in-out infinite, phone-pulse 2.8s ease-in-out infinite; transition: transform .2s ease,box-shadow .2s ease; }
.header-phone::before { content: ""; width: 36px; height: 160%; position: absolute; z-index: -1; left: -58px; top: -30%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); transform: skewX(-18deg); animation: phone-shine 4.2s ease-in-out infinite; }
.header-phone:hover { color: #fff; transform: translateY(-2px) scale(1.025); box-shadow: 0 15px 32px rgba(255,100,0,.38); }
@keyframes phone-gradient { 0%,100% { background-position: 0 50%; } 50% { background-position: 100% 50%; } }
@keyframes phone-shape { 0%,100% { border-radius: 18px 28px 16px 25px; } 35% { border-radius: 28px 17px 26px 16px; } 70% { border-radius: 16px 24px 18px 30px; } }
@keyframes phone-pulse { 0%,100% { box-shadow: 0 10px 24px rgba(255,100,0,.27),0 0 0 0 rgba(255,114,12,.18); } 50% { box-shadow: 0 13px 30px rgba(255,100,0,.38),0 0 0 7px rgba(255,114,12,0); } }
@keyframes phone-shine { 0%,68% { left: -58px; } 88%,100% { left: calc(100% + 30px); } }
.menu-toggle { width: 48px; height: 48px; display: none; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 14px; background: #fff; cursor: pointer; }
.menu-toggle__bars, .menu-toggle__bars::before, .menu-toggle__bars::after { width: 20px; height: 2px; display: block; position: relative; border-radius: 9px; background: var(--ink); transition: .2s ease; }
.menu-toggle__bars::before, .menu-toggle__bars::after { content: ""; position: absolute; left: 0; }
.menu-toggle__bars::before { top: -6px; }
.menu-toggle__bars::after { top: 6px; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars { background: transparent; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars::before { top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars::after { top: 0; transform: rotate(-45deg); }

.btn { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 22px; position: relative; overflow: hidden; border: 0; border-radius: 14px; cursor: pointer; font-weight: 900; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn::before { content: ""; width: 42px; height: 140%; position: absolute; left: -70px; top: -20%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent); transform: skewX(-20deg); transition: left .55s ease; }
.btn:hover::before { left: calc(100% + 30px); }
.btn:hover { transform: translateY(-2px); }
.btn:focus-visible, .filter:focus-visible, .menu-toggle:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(23,96,232,.28); outline-offset: 3px; }
.btn--accent { color: var(--blue-dark); background: linear-gradient(135deg, var(--orange), #ff9a2e); box-shadow: 0 14px 30px rgba(255,114,12,.25); }
.btn--blue { color: #fff; background: linear-gradient(135deg, var(--blue), var(--blue-bright)); box-shadow: 0 14px 30px rgba(12,63,173,.24); }
.btn--white { color: var(--blue); background: #fff; box-shadow: var(--shadow-soft); }
.btn--outline { color: var(--blue); border: 2px solid var(--line); background: transparent; }
.section--dark .btn--outline { color: #fff; border-color: rgba(255,255,255,.32); }
.btn--arrow::after { content: "↗"; font-size: 18px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; }

.breadcrumbs { padding-top: 24px; color: var(--muted); font-size: 13px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.breadcrumbs li + li::before { content: "/"; margin-right: 8px; color: #a5b2c9; }
.breadcrumbs a:hover { color: var(--blue); }
.hero-home { position: relative; isolation: isolate; padding: 70px 0 100px; overflow: hidden; background: radial-gradient(circle at 8% 18%, rgba(255,114,12,.12), transparent 25%), radial-gradient(circle at 94% 20%, rgba(23,96,232,.13), transparent 31%), linear-gradient(180deg,#fff,#f4f8ff); }
.hero-home::before { display: none; }
.hero-home::after { content: ""; position: absolute; left: -4%; right: -4%; bottom: -46px; height: 90px; border-radius: 50% 50% 0 0 / 100% 100% 0 0; background: #fcfdff; }
.hero-home__grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 56px; align-items: center; position: relative; z-index: 2; }
.hero-home__copy { position: relative; isolation: isolate; }
.hero-home__copy::before { content: ""; width: 116%; height: 91%; position: absolute; z-index: -1; left: -12%; top: 1%; border-radius: 42% 58% 62% 38% / 52% 34% 66% 48%; background: radial-gradient(circle at 17% 17%,rgba(255,255,255,.96),rgba(255,255,255,0) 36%),linear-gradient(135deg,rgba(230,240,255,.94),rgba(236,244,255,.58) 62%,rgba(255,237,220,.62)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.62),0 26px 70px rgba(23,96,232,.07); transform-origin: 48% 54%; animation: hero-copy-blob 13s ease-in-out infinite alternate; }
.hero-route { width: 100%; height: 100%; position: absolute; z-index: 1; inset: 0; overflow: visible; pointer-events: none; opacity: .78; }
.route-path, .stats-route__path { fill: none; stroke: url(site.css#hero-route-gradient); stroke-width: 2.2; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.route-path--base { opacity: .58; }
.route-path--flow { opacity: .82; stroke-width: 3.2; stroke-dasharray: 12 34; animation: route-dash-flow 9s linear infinite; }
.route-nodes circle { fill: #fff; stroke: #1760e8; stroke-width: 3; vector-effect: non-scaling-stroke; animation: route-node-pulse 3.8s ease-in-out infinite; }
.route-nodes circle:nth-child(even) { stroke: #ff720c; animation-delay: -1.9s; }
.route-runner { fill: #ff720c; stroke: #fff; stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.route-runner--second { fill: #1760e8; opacity: .86; }
.route-stop--blue { animation: route-stop-blue 7s ease-in-out infinite; }
.route-stop--orange { animation: route-stop-orange 7s ease-in-out infinite; }
.route-stop--green { animation: route-stop-green 7s ease-in-out infinite; }
.hero-home h1 span { color: var(--blue); }
.hero-home h1 em { display: inline-block; position: relative; color: var(--orange); font-style: normal; }
.hero-home h1 em::after { content: ""; height: 7px; position: absolute; z-index: -1; left: -1%; right: -2%; bottom: .04em; border-radius: 999px 30% 999px 45%; background: linear-gradient(90deg,rgba(255,114,12,.18),rgba(255,159,55,.48),rgba(23,96,232,.22),rgba(255,114,12,.18)); background-size: 260% 100%; transform: rotate(-1.2deg); animation: route-background-flow 7s linear infinite; }
.hero-home .lead { max-width: 640px; margin-bottom: 30px; }
.hero-notes { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 28px; color: var(--muted); font-size: 14px; font-weight: 720; }
.hero-notes span::before { content: "✓"; margin-right: 7px; color: var(--green); font-weight: 950; }
.hero-visual { min-height: 600px; position: relative; }
.hero-visual__frame { width: 94%; height: 580px; margin-left: auto; position: relative; overflow: hidden; border: 9px solid #fff; border-radius: 44% 56% 28% 72% / 44% 36% 64% 56%; box-shadow: var(--shadow); transform: rotate(1deg); animation: blob-morph 13s ease-in-out infinite alternate; }
.hero-visual__slide { position: absolute; inset: 0; opacity: 0; animation: hero-crossfade 25s ease-in-out infinite; animation-delay: calc(var(--slide-index) * 5s); }
.hero-visual__slide:first-child { opacity: 1; }
.hero-visual__slide picture, .hero-visual__slide img { display: block; width: 100%; height: 100%; }
.hero-visual__slide img { object-fit: cover; transform: scale(1.025); animation: hero-ken-burns 8s ease-in-out infinite alternate; }
.hero-chip { position: absolute; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 10px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.8); border-radius: 18px; background: rgba(255,255,255,.95); box-shadow: var(--shadow-soft); backdrop-filter: blur(12px); animation: float 4.4s ease-in-out 1; }
.hero-chip__icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--blue); background: var(--sky); font-weight: 950; }
.hero-chip__icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hero-chip small { display: block; color: var(--muted); font-size: 11px; }
.hero-chip strong { font-size: 15px; }
.hero-chip--one { left: 0; top: 72px; }
.hero-chip--two { right: -10px; bottom: 92px; animation-delay: .15s; }
.hero-chip--three { left: 55px; bottom: -2px; animation-delay: .3s; }
@keyframes float { 0% { opacity: 0; transform: translateY(18px); } 55% { opacity: 1; transform: translateY(-5px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes blob-morph {
  0% { border-radius: 44% 56% 28% 72% / 44% 36% 64% 56%; transform: rotate(1deg) scale(1); }
  50% { border-radius: 58% 42% 61% 39% / 39% 61% 39% 61%; transform: rotate(-.6deg) scale(.994); }
  100% { border-radius: 35% 65% 43% 57% / 61% 37% 63% 39%; transform: rotate(.7deg) scale(1); }
}
@keyframes hero-crossfade { 0%, 16% { opacity: 1; } 20%, 96% { opacity: 0; } 100% { opacity: 1; } }
@keyframes hero-ken-burns { from { transform: scale(1.025); } to { transform: scale(1.075); } }
@keyframes hero-copy-blob {
  0% { border-radius: 42% 58% 62% 38% / 52% 34% 66% 48%; transform: translate3d(-5px,-2px,0) rotate(-.3deg) scale(1); background-position: 0% 50%; }
  50% { border-radius: 58% 42% 39% 61% / 39% 57% 43% 61%; transform: translate3d(8px,4px,0) rotate(.45deg) scale(1.018); background-position: 55% 45%; }
  100% { border-radius: 47% 53% 68% 32% / 61% 42% 58% 39%; transform: translate3d(1px,-5px,0) rotate(-.15deg) scale(.995); background-position: 100% 50%; }
}
@keyframes route-dash-flow { to { stroke-dashoffset: -184; } }
@keyframes route-node-pulse { 0%,100% { opacity: .64; } 50% { opacity: 1; } }
@keyframes route-stop-blue { 0%,100% { stop-color: #1760e8; } 50% { stop-color: #ff720c; } }
@keyframes route-stop-orange { 0%,100% { stop-color: #ff720c; } 50% { stop-color: #1760e8; } }
@keyframes route-stop-green { 0%,100% { stop-color: #199b67; } 50% { stop-color: #48b3ff; } }
@keyframes route-background-flow { to { background-position: 260% 0; } }
.hero-page { padding: 52px 0 84px; overflow: hidden; }
.hero-page--dark { color: #fff; background: var(--blue-dark); }
.hero-page--light { background: radial-gradient(circle at 90% 10%, rgba(23,96,232,.12), transparent 32%), linear-gradient(180deg,#fff,#f5f8ff); }
.hero-page__grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 54px; align-items: center; }
.hero-page__copy .lead { max-width: 650px; }
.hero-page--dark .lead { color: #c2d0ed; }
.hero-page__media { min-height: 460px; overflow: hidden; border-radius: 32px; box-shadow: var(--shadow); }
.hero-page__media picture, .hero-page__media img { width: 100%; height: 100%; }
.hero-page__media img { min-height: 460px; object-fit: cover; }
.hero-page__media.hero-page__media--activity { min-height: 0; aspect-ratio: 3 / 2; }
.hero-page__media.hero-page__media--activity picture,
.hero-page__media.hero-page__media--activity img { display: block; width: 100%; height: 100%; }
.hero-page__media.hero-page__media--activity img { min-height: 0; object-fit: cover; object-position: center; }
.hero-page__media.hero-page__media--uncropped { min-height: 0; aspect-ratio: 16 / 9; background: var(--sky); }
.hero-page__media.hero-page__media--uncropped picture,
.hero-page__media.hero-page__media--uncropped img { display: block; width: 100%; height: 100%; }
.hero-page__media.hero-page__media--uncropped img { min-height: 0; object-fit: contain; object-position: center; }
.hero-facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 30px; }
.hero-fact { min-height: 38px; display: inline-flex; align-items: center; padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.76); color: var(--ink); font-size: 13px; font-weight: 800; }
.hero-page--dark .hero-fact { color: #fff; border-color: rgba(255,255,255,.17); background: rgba(255,255,255,.08); }

.stats { position: relative; z-index: 4; margin-top: -38px; }
.stats__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; padding: 35px 18px 18px; overflow: visible; position: relative; border: 1px solid rgba(23,96,232,.13); border-radius: 30px; background: linear-gradient(135deg,rgba(255,255,255,.97),rgba(245,249,255,.94)); box-shadow: 0 24px 58px rgba(7,26,71,.11); }
.stats-route { width: calc(100% - 36px); height: 96px; position: absolute; z-index: 3; left: 18px; top: 0; overflow: visible; pointer-events: none; }
.stats-route__path { stroke: url(site.css#stats-route-gradient); stroke-width: 2.2; }
.stats-route__path--base { opacity: .52; }
.stats-route__path--flow { opacity: .9; stroke-width: 3.4; stroke-dasharray: 11 31; animation: route-dash-flow 7.4s linear infinite; }
.stats-route__runner { filter: drop-shadow(0 0 5px rgba(255,114,12,.6)); }
.stat { --stat-accent: #1760e8; --stat-tint: rgba(23,96,232,.09); min-width: 0; position: relative; z-index: 2; overflow: visible; border: 1px solid color-mix(in srgb,var(--stat-accent) 38%,white); border-radius: 21px; color: inherit; background: linear-gradient(160deg,#fff 68%,var(--stat-tint)); box-shadow: 0 13px 28px rgba(7,26,71,.07); transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease; }
.stat:nth-of-type(1) { --stat-accent: #ff720c; --stat-tint: rgba(255,114,12,.1); }
.stat:nth-of-type(2) { --stat-accent: #199b67; --stat-tint: rgba(25,155,103,.1); }
.stat:nth-of-type(3) { --stat-accent: #1760e8; --stat-tint: rgba(23,96,232,.1); }
.stat:nth-of-type(4) { --stat-accent: #f08a00; --stat-tint: rgba(240,138,0,.1); }
.stat:hover { z-index: 2; transform: translateY(-4px); box-shadow: 0 18px 38px rgba(7,26,71,.13); }
.stat + .stat::before { display: none; }
.stat__route-icon { width: 54px; height: 54px; display: block; box-sizing: border-box; padding: 0; position: absolute; z-index: 4; left: 24px; top: -27px; border: 2px solid var(--stat-accent); border-radius: 50%; color: var(--stat-accent); background: rgba(255,255,255,.98); box-shadow: 0 10px 23px rgba(7,26,71,.13); line-height: 0; transition: transform .3s ease,box-shadow .3s ease; }
.stat__route-icon svg { width: 27px; height: 27px; display: block; position: absolute; left: 50%; top: 50%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transform: translate(-50%,-50%); transform-origin: center; }
.stat:hover .stat__route-icon { transform: translateY(-3px) rotate(4deg); box-shadow: 0 14px 28px color-mix(in srgb,var(--stat-accent) 20%,transparent); }
.stat__media { aspect-ratio: 3 / 2; overflow: hidden; border-radius: 20px 20px 15px 15px; background: var(--sky); }
.stat__media picture, .stat__media img { display: block; width: 100%; height: 100%; }
.stat__media img { object-fit: cover; transition: transform .55s ease; }
.stat:hover .stat__media img { transform: scale(1.045); }
.hover-video-media { position: relative; overflow: hidden; contain: paint; isolation: isolate; }
.hover-video-media > picture { position: relative; z-index: 0; }
.hover-video-media > video { width: 100%; height: 100%; position: absolute; z-index: 1; inset: 0; object-fit: cover; opacity: 0; pointer-events: none; background: #0b1d48; backface-visibility: hidden; transform: translateZ(0); transition: opacity 120ms linear; }
.hover-video-media.is-active > video { opacity: 1; }
.stat__body { min-height: 126px; padding: 24px 24px 26px; }
.stat strong { display: block; color: var(--stat-accent); font-size: 32px; line-height: 1; letter-spacing: -.04em; }
.stat span { display: block; margin-top: 7px; color: var(--muted); font-size: 14px; }

.trust-section { overflow: hidden; position: relative; isolation: isolate; background: linear-gradient(125deg,#eef5ff 0%,#fff8ed 45%,#edf6ff 100%); background-size: 190% 190%; animation: trust-background 15s ease-in-out infinite alternate; }
.trust-section::before, .trust-section::after { content: ""; position: absolute; z-index: 0; pointer-events: none; border-radius: 50%; filter: blur(2px); }
.trust-section > .container { position: relative; z-index: 1; }
.trust-section::before { width: 430px; height: 430px; right: -130px; top: -190px; background: radial-gradient(circle,rgba(255,114,12,.22),rgba(255,114,12,0) 68%); animation: trust-orbit 13s ease-in-out infinite alternate; }
.trust-section::after { width: 500px; height: 500px; left: -230px; bottom: -260px; background: radial-gradient(circle,rgba(23,96,232,.2),rgba(23,96,232,0) 69%); animation: trust-orbit 17s ease-in-out infinite alternate-reverse; }
@keyframes trust-background { to { background-position: 100% 70%; } }
@keyframes trust-orbit { to { transform: translate3d(80px,38px,0) scale(1.15); } }
.trust-metrics { display: grid; grid-template-columns: 1.18fr 1.18fr .82fr .82fr; gap: 14px; margin-bottom: 22px; }
.rating-card, .proof-counter { min-height: 192px; display: flex; flex-direction: column; justify-content: center; padding: 25px; overflow: hidden; position: relative; border: 1px solid rgba(255,255,255,.8); border-radius: 24px; background: rgba(255,255,255,.88); box-shadow: 0 20px 48px rgba(7,26,71,.11); backdrop-filter: blur(15px); transition: transform .3s ease, box-shadow .3s ease; }
.rating-card--yandex { background: radial-gradient(circle at 100% 0,rgba(255,90,54,.2),transparent 45%),linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,247,239,.92)); }
.rating-card--2gis { background: radial-gradient(circle at 100% 0,rgba(51,168,82,.24),transparent 45%),linear-gradient(145deg,rgba(255,255,255,.98),rgba(239,255,246,.92)); }
.rating-card:hover, .proof-counter:hover { transform: translateY(-7px) rotate(.3deg); box-shadow: 0 27px 58px rgba(7,26,71,.16); }
.rating-card::before, .proof-counter::before { content: ""; width: 52px; height: 190%; position: absolute; left: -90px; top: -45%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); transform: rotate(18deg); animation: trust-shine 6.8s ease-in-out infinite; }
@keyframes trust-shine { 0%,72% { left: -90px; } 92%,100% { left: calc(100% + 55px); } }
.rating-card::after { content: "↗"; position: absolute; right: 20px; top: 17px; color: #9aaac4; font-size: 18px; font-weight: 900; }
.rating-card__source { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; font-weight: 900; }
.rating-card__source b { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: #e22b2b; font-size: 17px; }
.rating-card--2gis .rating-card__source b { background: #33a852; }
.rating-card > strong { margin-top: 13px; color: var(--blue-dark); font-size: 44px; line-height: 1; letter-spacing: -.05em; }
.rating-card__stars { margin: 7px 0; color: #ff8a00; font-size: 17px; letter-spacing: .08em; text-shadow: 0 0 0 rgba(255,138,0,0); animation: star-sparkle 2.4s ease-in-out infinite; }
@keyframes star-sparkle { 50% { color: #ffb52c; text-shadow: 0 0 14px rgba(255,138,0,.5); transform: translateY(-1px); } }
.rating-card small { color: var(--muted); font-weight: 760; }
.proof-counter { color: #fff; border-color: transparent; background: linear-gradient(145deg,var(--blue),var(--blue-bright)); }
.proof-counter:nth-child(4) { background: linear-gradient(145deg,#e85800,var(--orange)); }
.proof-counter strong { font-size: 52px; line-height: 1; letter-spacing: -.06em; }
.proof-counter span { margin-top: 12px; color: rgba(255,255,255,.86); font-size: 14px; font-weight: 780; }
.proof-counter__viz { display: none; }
.review-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.review-card { min-height: 242px; display: flex; flex-direction: column; padding: 24px; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.82); border-radius: 22px; background: linear-gradient(145deg,rgba(255,255,255,.96),rgba(235,243,255,.92)); box-shadow: 0 16px 38px rgba(7,26,71,.09); transition: transform .28s ease,box-shadow .28s ease; }
.review-card:nth-child(2) { background: linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,239,222,.92)); }
.review-card:nth-child(3) { background: linear-gradient(145deg,rgba(255,255,255,.97),rgba(230,251,242,.94)); }
.review-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(7,26,71,.14); }
.review-card__top { display: flex; align-items: center; gap: 12px; }
.review-avatar { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); box-shadow: 0 8px 18px rgba(12,63,173,.22); font-weight: 950; animation: avatar-float 4.6s ease-in-out infinite; }
.review-card:nth-child(2) .review-avatar { animation-delay: -.8s; }
.review-card:nth-child(3) .review-avatar { animation-delay: -1.6s; }
@keyframes avatar-float { 50% { transform: translateY(-4px) rotate(3deg); } }
.review-avatar--orange { background: var(--orange); }
.review-avatar--green { background: var(--green); }
.review-card__top strong, .review-card__top small { display: block; }
.review-card__top small { color: var(--muted); font-size: 12px; }
.review-card p { margin: 20px 0; color: var(--muted); }
.review-card a { margin-top: auto; color: var(--blue); font-size: 13px; font-weight: 900; }
.review-card a::after { content: " ↗"; }
.trust-updated { margin: 17px 0 0; color: #536885; font-size: 12px; }

.standards-section { position: relative; overflow: hidden; background: linear-gradient(135deg,#fff8eb,#edf5ff,#fff1e7); background-size: 190% 190%; animation: standards-background 16s ease-in-out infinite alternate; }
@keyframes standards-background { to { background-position: 100% 80%; } }
.standards-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.standard-card { min-height: 410px; display: flex; flex-direction: column; padding: 21px; overflow: hidden; position: relative; isolation: isolate; border: 1px solid rgba(255,255,255,.28); border-radius: 27px; color: #fff; background: linear-gradient(145deg,#073a9d,#1768ee); box-shadow: 0 20px 46px rgba(12,63,173,.22); transition: transform .3s ease,box-shadow .3s ease; }
.standard-card:nth-child(2) { background: linear-gradient(145deg,#dd4c00,#ff8b19); box-shadow: 0 20px 46px rgba(232,88,0,.22); }
.standard-card:nth-child(3) { background: linear-gradient(145deg,#4120a9,#7859ed); box-shadow: 0 20px 46px rgba(65,32,169,.22); }
.standard-card:nth-child(4) { background: linear-gradient(145deg,#007e9e,#13a9c0); box-shadow: 0 20px 46px rgba(0,126,158,.22); }
.standard-card:hover { transform: translateY(-8px); box-shadow: 0 28px 58px rgba(7,26,71,.25); }
.standard-card::before { content: ""; width: 190px; height: 190px; position: absolute; z-index: 0; right: -72px; top: -80px; border-radius: 48% 52% 63% 37% / 41% 44% 56% 59%; background: rgba(255,255,255,.14); animation: standard-blob 8s ease-in-out infinite alternate; }
.standard-card::after { content: ""; width: 110px; height: 110px; position: absolute; z-index: 0; left: -52px; bottom: -46px; border-radius: 50%; background: rgba(255,255,255,.08); animation: standard-blob 10s ease-in-out -2s infinite alternate-reverse; }
@keyframes standard-blob { to { transform: translate3d(-18px,25px,0) rotate(24deg) scale(1.14); border-radius: 63% 37% 42% 58% / 55% 62% 38% 45%; } }
.standard-card > span { width: 45px; height: 45px; display: grid; place-items: center; position: absolute; z-index: 3; left: 20px; top: 20px; border-radius: 15px; color: #fff; background: rgba(5,20,56,.28); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(8px); font-size: 13px; font-weight: 950; }
.standard-card__art { height: 186px; display: grid; place-items: center; margin: -5px -4px 8px; position: relative; z-index: 2; }
.standard-card__art picture { display: contents; }
.standard-card__art img { width: 100%; height: 188px; object-fit: contain; filter: drop-shadow(0 16px 17px rgba(0,0,0,.2)); animation: standard-art-float 5.2s ease-in-out infinite; }
.standard-card:nth-child(2) .standard-card__art img { animation-delay: -.9s; }
.standard-card:nth-child(3) .standard-card__art img { animation-delay: -1.8s; }
.standard-card:nth-child(4) .standard-card__art img { animation-delay: -2.7s; }
@keyframes standard-art-float { 50% { transform: translateY(-8px) rotate(1.5deg) scale(1.025); } }
.standard-card h3 { position: relative; z-index: 2; color: #fff; font-size: 23px; }
.standard-card p { margin-bottom: 0; position: relative; z-index: 2; color: rgba(255,255,255,.82); font-size: 13px; }
.standards-actions { margin-top: 28px; }

.events-section { background: radial-gradient(circle at 0 0,rgba(23,96,232,.11),transparent 30%),#f6f9ff; }
.events-current { display: grid; gap: 18px; }
.event-current { min-height: 310px; display: flex; flex-direction: column; justify-content: center; padding: 38px; overflow: hidden; position: relative; border: 1px solid var(--line); border-radius: 30px; background: #fff; box-shadow: var(--shadow); }
.event-current::after { content: ""; width: 190px; height: 190px; position: absolute; right: -70px; top: -80px; border-radius: 50%; background: rgba(255,255,255,.08); box-shadow: 0 0 0 34px rgba(255,255,255,.04); }
.event-current--today { color: #fff; background: linear-gradient(135deg,var(--blue-dark),var(--blue)); }
.event-current--tomorrow { min-height: 0; background: linear-gradient(145deg,#fff,#fff8ef); }
.event-current__label { width: fit-content; padding: 8px 12px; position: relative; z-index: 1; border-radius: 999px; color: #dbe7ff; background: rgba(255,255,255,.1); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.event-current--tomorrow .event-current__label { color: var(--orange-dark); background: var(--orange-soft); }
.event-current h3 { max-width: 1060px; margin: 22px 0 13px; position: relative; z-index: 1; font-size: clamp(32px,4vw,58px); line-height: 1.04; }
.event-current--today h3 { color: #fff; }
.event-current--tomorrow h3 { font-size: clamp(28px,3vw,43px); }
.event-current__intro { max-width: 850px; margin: 0 0 24px; position: relative; z-index: 1; color: inherit; font-size: 17px; line-height: 1.6; opacity: .78; }
.event-current__events { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; position: relative; z-index: 1; }
.event-promo { overflow: hidden; border-radius: 22px; color: var(--blue-dark); background: #fff; box-shadow: 0 14px 34px rgba(2,12,38,.22); }
.event-promo__media { aspect-ratio: 16 / 9; overflow: hidden; background: #0c1e49; }
.event-promo__media picture, .event-promo__media img { width: 100%; height: 100%; display: block; }
.event-promo__media img { object-fit: cover; transition: transform .4s ease; }
.event-promo:hover .event-promo__media img { transform: scale(1.035); }
.event-promo__body { padding: 20px 22px 22px; }
.event-promo__time { display: inline-flex; padding: 6px 9px; border-radius: 9px; color: #a84400; background: var(--orange-soft); font-size: 14px; font-weight: 950; }
.event-promo h4 { margin: 11px 0 8px; font-size: clamp(22px,2.2vw,31px); line-height: 1.08; }
.event-promo p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.event-current--tomorrow .event-promo { border: 1px solid #eadac8; box-shadow: 0 12px 30px rgba(58,36,14,.08); }
.event-current__item { display: grid; grid-template-columns: 70px 1fr; align-items: center; gap: 13px; padding: 13px 16px; border-radius: 16px; background: rgba(255,255,255,.1); font-size: 17px; font-weight: 900; }
.event-current__item time { color: #ffbc72; font-size: 18px; font-weight: 950; }
.event-current--tomorrow .event-current__item { border: 1px solid #f0ddc8; color: var(--blue-dark); background: #fff; }
.event-current--tomorrow .event-current__item time { color: var(--orange); }
.event-current__events > p { max-width: 520px; margin: 0; color: inherit; opacity: .75; }
.events-weekly { margin-top: 20px; border: 1px solid #cadaf6; border-radius: 24px; background: #fff; box-shadow: 0 12px 36px rgba(7,26,71,.06); }
.events-weekly summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 22px 17px 26px; color: var(--blue); cursor: pointer; font-size: 16px; font-weight: 950; list-style: none; }
.events-weekly summary::-webkit-details-marker { display: none; }
.events-weekly__toggle { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; color: #fff; background: var(--blue); font-size: 25px; line-height: 1; transition: transform .25s ease,background .25s ease; }
.events-weekly[open] .events-weekly__toggle { transform: rotate(45deg); background: var(--orange); }
.events-weekly .events-week { padding: 0 20px 22px; }
.events-week { display: grid; gap: 11px; }
.event-day { display: grid; grid-template-columns: 155px 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 10px 28px rgba(7,26,71,.05); }
.event-day > div { min-height: 112px; display: flex; flex-direction: column; justify-content: center; padding: 18px 20px; color: #fff; background: linear-gradient(145deg,var(--blue-dark),var(--blue)); }
.event-day--orange > div { background: linear-gradient(145deg,#d85600,var(--orange)); }
.event-day > div strong { font-size: 25px; line-height: 1; text-transform: uppercase; }
.event-day > div small { margin-top: 8px; color: rgba(255,255,255,.76); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.event-day ul { display: grid; align-content: center; gap: 9px; padding: 16px 22px; margin: 0; list-style: none; }
.event-day li { font-weight: 850; }
.event-day time { display: inline-block; min-width: 58px; color: var(--orange); }
.events-note { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.events-note span { padding: 8px 11px; border-radius: 999px; color: var(--blue); background: var(--sky); font-size: 12px; font-weight: 850; }
.grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 12px 36px rgba(7,26,71,.06); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.card:hover { transform: translateY(-5px); border-color: rgba(12,63,173,.25); box-shadow: var(--shadow-soft); }
.card__image { aspect-ratio: 4 / 3; overflow: hidden; background: var(--sky); }
.card__image picture, .card__image img { width: 100%; height: 100%; }
.card__image img { object-fit: cover; transition: transform .4s ease; }
.card:hover .card__image img { transform: scale(1.035); }
.card__body { padding: 23px; }
.card__body p { color: var(--muted); font-size: 14px; }
.card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.scenario-card { min-height: 300px; display: flex; flex-direction: column; justify-content: space-between; padding: 27px; position: relative; overflow: hidden; }
.scenario-card__num { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 18px; color: var(--blue); background: var(--sky); font-size: 17px; font-weight: 950; }
.scenario-card:nth-child(2) .scenario-card__num { color: #8a3500; background: var(--orange-soft); }
.scenario-card:nth-child(3) .scenario-card__num { color: var(--green); background: var(--mint); }
.scenario-card:nth-child(4) .scenario-card__num { color: #6334a4; background: #f3ebff; }
.scenario-card.scenario-card--photo { min-height: 0; display: grid; grid-template-rows: auto 1fr; justify-content: stretch; padding: 0; }
.scenario-card--photo .scenario-card__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--sky); }
.scenario-card--photo .scenario-card__media picture,
.scenario-card--photo .scenario-card__media img { display: block; width: 100%; height: 100%; }
.scenario-card--photo .scenario-card__media img { object-fit: cover; object-position: center; transition: transform .45s ease; }
.scenario-card--photo:hover .scenario-card__media img { transform: scale(1.025); }
.scenario-card--photo .scenario-card__num { position: absolute; z-index: 2; top: 16px; left: 16px; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.72); box-shadow: 0 10px 28px rgba(7,26,71,.16); }
.scenario-card--photo .scenario-card__body { min-height: 190px; display: flex; flex-direction: column; align-items: flex-start; padding: 22px 24px 24px; }
.scenario-card--photo .scenario-card__body h3 { margin-top: 0; }
.scenario-card--photo .scenario-card__body .text-link { margin-top: auto; padding-top: 14px; }
.zone-overview { min-height: 0; display: grid; grid-template-rows: auto 1fr; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; color: #fff; background: #0b2a69; box-shadow: var(--shadow-soft); transition: transform .22s ease, box-shadow .22s ease; }
.zone-overview:hover { transform: translateY(-5px); box-shadow: 0 24px 55px rgba(0,0,0,.24); }
.zone-overview picture { aspect-ratio: 3 / 2; overflow: hidden; background: #102d68; }
.zone-overview picture, .zone-overview img { display: block; width: 100%; height: 100%; }
.zone-overview img { object-fit: contain; }
.zone-overview__body { display: flex; flex-direction: column; align-items: flex-start; padding: 26px 28px 29px; position: relative; isolation: isolate; overflow: hidden; }
.zone-overview__body::before { content: ""; width: 210px; height: 210px; position: absolute; z-index: -1; right: -95px; bottom: -120px; border-radius: 37% 63% 66% 34% / 46% 39% 61% 54%; background: radial-gradient(circle at 32% 30%,rgba(80,143,255,.42),rgba(255,119,17,.11) 46%,transparent 70%); animation: card-ambient 9s ease-in-out infinite alternate; }
.zone-overview__body h3 { margin-top: 14px; }
.zone-overview__body p { max-width: 360px; color: #d0dcf4; }
.zone-overview .text-link { margin-top: auto; padding-top: 14px; color: #fff; }

.filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.filter { min-height: 44px; padding: 0 17px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: #fff; cursor: pointer; font-weight: 800; }
.filter:hover, .filter.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }
.catalog-card.js-filtered { display: none; }
.catalog-card { display: grid; grid-template-rows: auto 1fr; }
.catalog-card .card__image { display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.catalog-card .card__image picture,
.catalog-card .card__image img { display: block; width: 100%; height: 100%; }
.catalog-card .card__image img { object-fit: cover; object-position: center; }
.catalog-card .card__body { min-width: 0; display: flex; flex-direction: column; }
.catalog-card .card__foot { margin-top: auto; padding-top: 18px; }
.catalog-note { margin-top: 28px; padding: 18px 20px; border-left: 4px solid var(--orange); border-radius: 0 14px 14px 0; color: var(--muted); background: var(--cream); }
.feature-strip { display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 23px; background: #fff; }
.feature-strip__item { padding: 26px; }
.feature-strip__item + .feature-strip__item { border-left: 1px solid var(--line); }
.feature-strip strong { display: block; margin-bottom: 6px; color: var(--blue); font-size: 18px; }
.content-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 48px; align-items: start; }
.content-prose { font-size: 17px; }
.content-prose p, .content-prose li { color: var(--muted); }
.content-prose h2 { margin-top: 48px; font-size: 38px; }
.content-prose h3 { margin-top: 32px; }
.content-prose ul, .content-prose ol { display: grid; gap: 10px; padding-left: 22px; }
.sticky-card { position: sticky; top: 105px; padding: 26px; border-radius: 22px; background: var(--blue-dark); color: #fff; box-shadow: var(--shadow-soft); }
.sticky-card p { color: #bdcbea; }
.sticky-card .btn { width: 100%; margin-top: 8px; }
.check-list { display: grid; gap: 12px; padding: 0; list-style: none; }
.check-list li { display: flex; gap: 11px; color: var(--muted); }
.check-list li::before { content: "✓"; flex: 0 0 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: var(--mint); font-weight: 950; }
.notice { padding: 20px 22px; border: 1px solid #ffd6b7; border-radius: 17px; color: #68300f; background: var(--cream); }
.notice--blue { color: var(--blue-dark); border-color: #bfd3ff; background: var(--sky); }

.price-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.price-card { min-height: 210px; padding: 27px; position: relative; isolation: isolate; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(145deg,#fff 38%,#eef5ff); box-shadow: 0 12px 34px rgba(7,26,71,.07); transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease; }
.price-card::before { content: ""; width: 150px; height: 150px; position: absolute; z-index: -1; right: -58px; top: -64px; border-radius: 50%; background: radial-gradient(circle at 35% 35%,#fff 0 7%,rgba(23,96,232,.18) 8% 46%,rgba(23,96,232,.05) 47% 70%,transparent 71%); transition: transform .5s ease; }
.price-card::after { content: ""; width: 80px; height: 80px; position: absolute; z-index: -1; right: 24px; bottom: -54px; border-radius: 24px; background: rgba(255,114,12,.14); transform: rotate(28deg); transition: transform .5s ease; }
.price-card:hover { transform: translateY(-8px); border-color: rgba(23,96,232,.3); box-shadow: 0 22px 55px rgba(7,26,71,.14); }
.price-card:hover::before { transform: scale(1.16) rotate(12deg); }
.price-card:hover::after { transform: translateY(-14px) rotate(38deg); }
.price-card--featured { color: #fff; border-color: var(--blue); background: linear-gradient(145deg,#0c3fad,#1760e8); transform: translateY(-8px); box-shadow: 0 20px 48px rgba(12,63,173,.28); animation: price-breathe 4.8s ease-in-out infinite; }
.price-card--featured::before { background: radial-gradient(circle at 35% 35%,rgba(255,255,255,.7) 0 5%,rgba(255,255,255,.17) 6% 48%,rgba(255,255,255,.05) 49% 69%,transparent 70%); }
.price-card--featured::after { background: rgba(255,191,133,.3); }
.price-card h3 { font-size: 19px; }
.price-card__value { margin: 15px 0 4px; color: var(--blue); font-size: 40px; font-weight: 950; letter-spacing: -.055em; }
.price-card--featured .price-card__value { color: #fff; }
.price-card p { margin-bottom: 0; color: var(--muted); font-size: 13px; }
.price-card--featured p { color: #c9d7f6; }
@keyframes price-breathe { 0%,100% { box-shadow: 0 20px 48px rgba(12,63,173,.25); } 50% { box-shadow: 0 26px 64px rgba(23,96,232,.42); } }
.data-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 10px 30px rgba(7,26,71,.05); }
.data-table { width: 100%; border-collapse: collapse; min-width: 680px; }
.data-table th, .data-table td { padding: 16px 18px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.data-table th { color: var(--blue); background: var(--ice); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table td:last-child { font-weight: 850; white-space: nowrap; }
.package-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; align-items: stretch; }
.package-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 12px 36px rgba(7,26,71,.06); }
.package-card--featured { border-color: var(--blue); box-shadow: 0 20px 50px rgba(12,63,173,.15); }
.package-card__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--sky); }
.package-card__media picture, .package-card__media img { display: block; width: 100%; height: 100%; }
.package-card__media img { object-fit: contain; }
.package-card__content { flex: 1; display: flex; flex-direction: column; padding: 24px 26px 26px; }
.package-card__top { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.package-card__price { margin: 16px 0 5px; color: var(--blue); font-size: 28px; font-weight: 950; letter-spacing: -.045em; }
.package-card__weekend { color: var(--muted); font-size: 13px; }
.package-card ul { display: grid; gap: 9px; padding: 0; margin: 22px 0 24px; list-style: none; color: var(--muted); font-size: 14px; }
.package-card li { display: flex; gap: 9px; }
.package-card li::before { content: "•"; color: var(--orange); font-weight: 950; }
.package-card .btn { margin-top: auto; width: 100%; }
.promo-card { min-height: 290px; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; position: relative; isolation: isolate; overflow: hidden; border-radius: 24px; background: #fff; box-shadow: 0 14px 34px rgba(7,26,71,.07); transition: transform .3s ease, box-shadow .3s ease; }
.promo-card::before { content: ""; position: absolute; z-index: 0; inset: -45%; pointer-events: none; background: radial-gradient(circle at 28% 30%,rgba(255,255,255,.34),transparent 24%),radial-gradient(circle at 72% 66%,rgba(23,96,232,.18),transparent 28%),radial-gradient(circle at 45% 80%,rgba(255,114,12,.2),transparent 25%); animation: promo-ambient 13s ease-in-out infinite alternate; }
.promo-card:nth-child(2)::before { animation-delay: -4s; animation-direction: alternate-reverse; }
.promo-card:nth-child(3)::before { animation-delay: -8s; }
.promo-card:hover { transform: translateY(-7px); box-shadow: 0 24px 55px rgba(7,26,71,.15); }
.promo-card--blue { color: #fff; background: var(--blue); }
.promo-card--orange { color: var(--blue-dark); background: linear-gradient(135deg,var(--orange),#ffad51); }
.promo-card p { color: var(--muted); font-size: 14px; }
.promo-card--blue p { color: #c7d5f3; }
.promo-card--orange p { color: #47230c; }
.promo-card__kicker, .promo-card__copy { max-width: 72%; position: relative; z-index: 2; }
.promo-card__kicker { font-size: 12px; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.promo-card__art { width: 46%; aspect-ratio: 1; position: absolute; z-index: 1; right: -2%; top: 0; pointer-events: none; animation: promo-float 5.4s ease-in-out infinite; }
.promo-card:nth-child(2) .promo-card__art { animation-delay: -.9s; }
.promo-card:nth-child(3) .promo-card__art { animation-delay: -1.8s; }
.promo-card__art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 16px 17px rgba(7,26,71,.18)); }
@keyframes promo-float { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(9px) rotate(2deg); } }
@keyframes promo-ambient { 0% { transform: translate3d(-5%,-3%,0) rotate(-8deg) scale(.94); } 100% { transform: translate3d(7%,5%,0) rotate(14deg) scale(1.12); } }
@keyframes card-ambient { to { transform: translate(-35px,-25px) rotate(28deg) scale(1.18); border-radius: 63% 37% 40% 60% / 54% 62% 38% 46%; } }

.subscription-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.subscription-card { min-height: 420px; display: grid; grid-template-columns: .9fr 1.1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 30px; background: linear-gradient(145deg,#fff,#fff5e9); box-shadow: var(--shadow-soft); transition: transform .3s ease, box-shadow .3s ease; }
.subscription-card--blue { color: #fff; border-color: rgba(23,96,232,.24); background: linear-gradient(145deg,#071a47,#0c3fad); }
.subscription-card--blue .subscription-card__content { position: relative; isolation: isolate; overflow: hidden; }
.subscription-card--blue .subscription-card__content::before { content: ""; width: 270px; height: 270px; position: absolute; z-index: -1; right: -120px; top: -120px; border-radius: 42% 58% 65% 35% / 55% 36% 64% 45%; background: radial-gradient(circle at 35% 35%,rgba(72,142,255,.48),rgba(255,120,24,.13) 46%,transparent 69%); animation: card-ambient 10s ease-in-out infinite alternate; }
.subscription-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.subscription-card__media { min-height: 100%; overflow: hidden; }
.subscription-card__media picture, .subscription-card__media img { width: 100%; height: 100%; }
.subscription-card__media img { object-fit: cover; transition: transform .65s ease; }
.subscription-card:hover .subscription-card__media img { transform: scale(1.055); }
.subscription-card__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 34px; }
.subscription-card__content h3 { margin-top: 16px; font-size: 27px; }
.subscription-card__content p { color: var(--muted); }
.subscription-card--blue .subscription-card__content p { color: #c7d5f3; }
.subscription-card__content .btn { margin-top: auto; }
.subscription-card--blue .price-card__value { color: #fff; }
.service-card { padding: 25px; border: 1px solid var(--line); border-radius: 21px; background: #fff; }
.service-card--photo { overflow: hidden; padding: 0; }
.service-card__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--sky); }
.service-card__media picture, .service-card__media img { display: block; width: 100%; height: 100%; }
.service-card__media img { object-fit: contain; }
.service-card__content { padding: 22px 23px 24px; }
.service-card__price { display: block; margin-top: 18px; color: var(--blue); font-size: 22px; font-weight: 950; }
.service-card p { color: var(--muted); font-size: 14px; }
.step-list { counter-reset: steps; display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.step { counter-increment: steps; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.step::before { content: counter(steps, decimal-leading-zero); width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 15px; color: var(--blue); background: var(--sky); font-weight: 950; }
.step p { margin-bottom: 0; color: var(--muted); font-size: 14px; }
.step--photo { position: relative; overflow: hidden; padding: 0; }
.step--photo::before { position: absolute; z-index: 2; top: 14px; left: 14px; margin: 0; border: 1px solid rgba(255,255,255,.75); box-shadow: 0 8px 22px rgba(7,26,71,.14); }
.step__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--sky); }
.step__media picture, .step__media img { display: block; width: 100%; height: 100%; }
.step__media img { object-fit: contain; }
.step__body { padding: 22px 22px 24px; }

.faq { display: grid; gap: 12px; }
.faq details { border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.faq summary { padding: 20px 56px 20px 21px; position: relative; cursor: pointer; font-weight: 850; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; width: 30px; height: 30px; display: grid; place-items: center; position: absolute; right: 17px; top: 15px; border-radius: 50%; color: var(--blue); background: var(--sky); font-size: 21px; }
.faq details[open] summary::after { content: "−"; }
.faq details p { padding: 0 21px 21px; margin: 0; color: var(--muted); }
.faq details p.faq-duration { display: grid; gap: 9px; }
.faq-duration__weekday { width: fit-content; padding: 8px 12px; border-radius: 12px; color: var(--blue-dark); background: linear-gradient(135deg,var(--orange-soft),#fff8ef); font-weight: 850; }
.faq-duration__weekday strong { color: #a84400; font-weight: 1000; letter-spacing: .035em; }
.faq-duration__note { font-size: .93em; }
.gallery { display: grid; grid-template-columns: 1.2fr .8fr .8fr; grid-template-rows: 250px 250px; gap: 14px; }
.gallery__item { overflow: hidden; border-radius: 22px; }
.gallery__item:first-child { grid-row: 1 / 3; }
.gallery picture, .gallery img { width: 100%; height: 100%; }
.gallery img { object-fit: cover; }

.home-gallery-section { overflow: hidden; background: radial-gradient(circle at 92% 14%,rgba(23,96,232,.3),transparent 30%),var(--blue-dark); }
.home-gallery { user-select: none; }
.home-gallery__viewport { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 34px; background: #030b20; box-shadow: 0 30px 70px rgba(0,0,0,.32); }
.home-gallery__track { display: flex; transition: transform .7s cubic-bezier(.2,.75,.2,1); will-change: transform; }
.home-gallery__slide { min-width: 100%; aspect-ratio: 16 / 9; margin: 0; position: relative; background: #030b20; }
.home-gallery__slide picture, .home-gallery__slide img { display: block; width: 100%; height: 100%; }
.home-gallery__slide img { object-fit: contain; }
.home-gallery__slide figcaption { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 18px; position: absolute; left: 22px; right: 22px; bottom: 20px; padding: 16px 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; color: #fff; background: rgba(5,15,45,.74); box-shadow: 0 12px 35px rgba(0,0,0,.25); backdrop-filter: blur(14px); }
.home-gallery__slide figcaption strong { font-size: 20px; }
.home-gallery__slide figcaption span { color: #a9bee8; font-size: 13px; font-weight: 850; }
.home-gallery__arrow { width: 56px; height: 56px; display: grid; place-items: center; position: absolute; z-index: 3; top: 50%; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; background: rgba(5,15,45,.72); box-shadow: 0 10px 30px rgba(0,0,0,.28); cursor: pointer; font-size: 25px; transform: translateY(-50%); transition: transform .2s ease, background .2s ease; }
.home-gallery__arrow:hover { background: var(--orange); transform: translateY(-50%) scale(1.06); }
.home-gallery__arrow--prev { left: 22px; }
.home-gallery__arrow--next { right: 22px; }
.home-gallery__footer { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; }
.home-gallery__dots { display: flex; flex-wrap: wrap; gap: 8px; }
.home-gallery__dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.32); cursor: pointer; transition: width .25s ease, border-radius .25s ease, background .25s ease; }
.home-gallery__dot.is-active { width: 28px; border-radius: 99px; background: var(--orange); }
.home-gallery__status { color: #a9bee8; font-size: 13px; font-weight: 850; white-space: nowrap; }

.contact-shell { display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; border-radius: var(--radius-xl); color: #fff; background: var(--blue-dark); box-shadow: var(--shadow); }
.contact-copy { padding: 56px; position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(105deg,rgba(5,22,62,.96),rgba(7,31,82,.84)),url("../images/facade-summer-1600.jpg") center / cover no-repeat; }
.contact-copy::after { content: ""; width: 240px; height: 240px; position: absolute; z-index: -1; right: -100px; bottom: -120px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 34px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.025); animation: contact-orbit 10s ease-in-out infinite alternate; }
@keyframes contact-orbit { to { transform: translate(-24px,-18px) scale(1.08); } }
.contact-copy p { color: #b9c8e7; }
.contact-list { display: grid; gap: 18px; margin: 28px 0 34px; }
.contact-item { display: grid; grid-template-columns: 46px 1fr; align-items: center; gap: 13px; }
.contact-item__icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; color: #ffd29c; background: rgba(255,255,255,.09); font-size: 14px; font-weight: 950; }
.contact-item small { display: block; color: #8fa2ca; }
.contact-item strong { font-size: 17px; }
.map-visual { min-height: 500px; position: relative; overflow: hidden; background: #eef4ff; }
.map-visual__frame { width: 100%; height: 100%; display: block; position: absolute; inset: 0; border: 0; }

.virtual-tour-section { padding-top: 22px; }
.virtual-tour { aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--line); border-radius: 32px; background: #e8f0ff; box-shadow: var(--shadow); }
.virtual-tour__frame { width: 100%; height: 100%; display: block; border: 0; }
.virtual-tour__actions { display: flex; align-items: center; gap: 20px; margin-top: 22px; }
.virtual-tour__actions .micro { max-width: 560px; color: var(--muted); }

.seo-hero { background: radial-gradient(circle at 8% 12%,rgba(255,114,12,.12),transparent 27%),linear-gradient(180deg,#f8fbff,#fff); }
.seo-hero .hero-page__media { box-shadow: 0 30px 70px rgba(7,26,71,.16); }
.landing-proof { display: grid; grid-template-columns: repeat(3,1fr) auto; align-items: center; gap: 18px; padding: 22px 26px; border: 1px solid #cad9f5; border-radius: 24px; background: #fff; box-shadow: 0 16px 45px rgba(7,26,71,.08); }
.landing-proof > div { display: grid; gap: 2px; }
.landing-proof strong { color: var(--blue); font-size: 27px; font-weight: 950; }
.landing-proof span { color: var(--muted); font-size: 12px; font-weight: 800; }
.landing-proof a { color: var(--blue); font-size: 13px; font-weight: 950; }
.seo-feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.seo-feature-card { min-height: 245px; padding: 28px; overflow: hidden; position: relative; border: 1px solid #d5e0f4; border-radius: 26px; background: #fff; box-shadow: 0 16px 40px rgba(7,26,71,.07); }
.seo-feature-card > span { display: inline-grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: var(--blue); background: #eaf1ff; font-size: 13px; font-weight: 950; }
.seo-feature-card h2 { margin-top: 26px; font-size: 25px; }
.seo-feature-card p { color: var(--muted); font-size: 14px; }
.seo-related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.seo-related-card { min-height: 170px; display: flex; flex-direction: column; justify-content: space-between; padding: 24px; border: 1px solid #d8e2f5; border-radius: 23px; background: #fff; box-shadow: 0 14px 35px rgba(7,26,71,.06); transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.seo-related-card:hover { transform: translateY(-4px); border-color: #9db8ef; box-shadow: 0 20px 44px rgba(7,26,71,.12); }
.seo-related-card span { color: var(--orange-dark); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .06em; }
.seo-related-card h3 { margin: 18px 0 0; color: var(--blue-dark); font-size: 21px; line-height: 1.13; }
.seo-related-card--cover { min-height: 330px; padding: 0; justify-content: flex-start; overflow: hidden; }
.seo-related-card__media { aspect-ratio: 16 / 9; overflow: hidden; background: #dfe9fb; }
.seo-related-card__media picture, .seo-related-card__media img { display: block; width: 100%; height: 100%; }
.seo-related-card__media img { object-fit: cover; transition: transform .5s cubic-bezier(.2,.75,.2,1),filter .5s ease; }
.seo-related-card--cover:hover .seo-related-card__media img { transform: scale(1.055); filter: saturate(1.08); }
.seo-related-card__body { min-height: 142px; display: flex; flex: 1; flex-direction: column; justify-content: space-between; padding: 20px 23px 23px; }
.seo-related-card__body h3 { margin-top: 18px; }
.seo-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 34px 40px; border-radius: 28px; color: #fff; background: radial-gradient(circle at 90% 10%,rgba(255,255,255,.15),transparent 23%),var(--blue); box-shadow: 0 20px 50px rgba(23,96,232,.22); }
.seo-cta h2 { max-width: 720px; color: #fff; font-size: clamp(30px,4vw,50px); }
.seo-cta p { margin-bottom: 0; color: #cfddfb; }
.seo-cta .eyebrow { color: #ffd39f; }

.useful-index-hero { padding: 72px 0 82px; overflow: hidden; position: relative; background: radial-gradient(circle at 8% 18%,rgba(255,114,12,.2),transparent 28%),radial-gradient(circle at 92% 12%,rgba(23,96,232,.2),transparent 32%),linear-gradient(180deg,#f7fbff,#fff); }
.useful-index-hero::before { content: ""; width: 420px; height: 420px; position: absolute; right: -190px; bottom: -260px; border-radius: 41% 59% 67% 33% / 48% 36% 64% 52%; background: linear-gradient(145deg,rgba(255,114,12,.18),rgba(23,96,232,.13)); animation: card-ambient 14s ease-in-out infinite alternate; pointer-events: none; }
.useful-index-hero__grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 62px; }
.useful-index-hero__media { min-height: 520px; overflow: hidden; position: relative; border: 10px solid #fff; border-radius: 38px 96px 38px 96px; background: #dfe9fb; box-shadow: 0 35px 80px rgba(7,26,71,.2); transform: rotate(1.2deg); }
.useful-index-hero__media picture, .useful-index-hero__media img { display: block; width: 100%; height: 100%; }
.useful-index-hero__media img { min-height: 520px; object-fit: cover; }
.useful-route { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border: 1px solid #cfddf5; border-radius: 28px; background: #fff; box-shadow: 0 18px 50px rgba(7,26,71,.09); }
.useful-route > div { min-height: 150px; display: grid; grid-template-columns: 48px 1fr; align-content: center; gap: 2px 15px; padding: 25px; }
.useful-route > div + div { border-left: 1px solid #dbe5f7; }
.useful-route span { width: 48px; height: 48px; display: grid; grid-row: 1 / 3; place-items: center; border-radius: 15px; color: var(--blue); background: #eaf1ff; font-size: 13px; font-weight: 950; }
.useful-route strong { color: var(--blue-dark); font-size: 16px; }
.useful-route small { color: var(--muted); font-size: 12px; line-height: 1.35; }
.useful-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.useful-card { min-width: 0; overflow: hidden; border: 1px solid #d7e2f5; border-radius: 28px; background: #fff; box-shadow: 0 16px 42px rgba(7,26,71,.08); transition: transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.useful-card:hover { transform: translateY(-7px); border-color: #9db8ef; box-shadow: 0 28px 65px rgba(7,26,71,.15); }
.useful-card__media { aspect-ratio: 16 / 9; display: block; overflow: hidden; background: #dfe9fb; }
.useful-card__media picture, .useful-card__media img { display: block; width: 100%; height: 100%; }
.useful-card__media img { object-fit: cover; transition: transform .65s cubic-bezier(.2,.75,.2,1),filter .5s ease; }
.useful-card:hover .useful-card__media img { transform: scale(1.055); filter: saturate(1.08); }
.useful-card__body { padding: 24px 25px 27px; }
.useful-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: var(--orange-dark); font-size: 11px; font-weight: 950; letter-spacing: .045em; text-transform: uppercase; }
.useful-card__meta span:first-child { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--blue); background: #eaf1ff; }
.useful-card h2 { margin: 20px 0 12px; font-size: 24px; line-height: 1.12; }
.useful-card h2 a { color: var(--blue-dark); }
.useful-card p { min-height: 84px; color: var(--muted); font-size: 14px; }

.useful-article__hero { padding: 50px 0 70px; position: relative; background: radial-gradient(circle at 4% 12%,rgba(255,114,12,.17),transparent 24%),linear-gradient(180deg,#f5f9ff,#fff); }
.useful-article__hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 56px; }
.useful-article__intro h1 { margin-top: 18px; font-size: clamp(44px,5.2vw,78px); line-height: .98; }
.useful-article__meta { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 26px; color: var(--muted); font-size: 12px; font-weight: 850; }
.useful-article__cover { min-height: 510px; overflow: hidden; border-radius: 34px 96px 34px 96px; background: #dfe9fb; box-shadow: 0 32px 75px rgba(7,26,71,.18); }
.useful-article__cover picture, .useful-article__cover img { display: block; width: 100%; height: 100%; }
.useful-article__cover img { min-height: 510px; object-fit: cover; }
.useful-article__layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 64px; padding-top: 72px; padding-bottom: 88px; }
.useful-article__content { min-width: 0; }
.useful-summary { margin-bottom: 48px; padding: 30px 34px; border: 1px solid #c8daf7; border-radius: 24px; background: linear-gradient(135deg,#f2f7ff,#fff7ed); box-shadow: 0 14px 38px rgba(7,26,71,.07); }
.useful-summary strong { color: var(--blue); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.useful-summary ul { margin: 18px 0 0; padding-left: 21px; }
.useful-summary li + li { margin-top: 8px; }
.useful-section { margin-top: 50px; }
.useful-section:first-of-type { margin-top: 0; }
.useful-section h2, .useful-sources h2 { max-width: 820px; margin-bottom: 20px; font-size: clamp(30px,4vw,48px); line-height: 1.05; }
.useful-section p, .useful-section li, .useful-sources p { color: #3e4d68; font-size: 17px; line-height: 1.78; }
.useful-section ul { display: grid; gap: 10px; padding-left: 24px; }
.useful-safety { margin-top: 54px; padding: 28px 32px; border: 1px solid #ffbf81; border-radius: 24px; background: #fff5e9; }
.useful-safety strong { color: #9b3f00; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.useful-safety p { margin: 12px 0 0; color: #5b351d; line-height: 1.7; }
.useful-sources { margin-top: 54px; padding-top: 42px; border-top: 1px solid var(--line); }
.useful-sources a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.useful-sidebar { position: sticky; top: 105px; }
.useful-sidebar .sticky-card { position: static; }
.useful-sidebar .sticky-card h2 { font-size: 30px; }

@media (max-width: 1080px) {
  .useful-grid { grid-template-columns: repeat(2,1fr); }
  .useful-route { grid-template-columns: repeat(2,1fr); }
  .useful-route > div:nth-child(3) { border-left: 0; border-top: 1px solid #dbe5f7; }
  .useful-route > div:nth-child(4) { border-top: 1px solid #dbe5f7; }
  .useful-article__layout { grid-template-columns: minmax(0,1fr) 300px; gap: 38px; }
}

@media (max-width: 860px) {
  .useful-index-hero__grid, .useful-article__hero-grid, .useful-article__layout { grid-template-columns: 1fr; }
  .useful-index-hero__media, .useful-article__cover { min-height: 420px; }
  .useful-index-hero__media img, .useful-article__cover img { min-height: 420px; }
  .useful-article__layout { padding-top: 56px; }
  .useful-sidebar { position: static; }
}

@media (max-width: 600px) {
  .useful-index-hero { padding: 44px 0 62px; }
  .useful-index-hero__grid { gap: 36px; }
  .useful-index-hero__media, .useful-article__cover { min-height: 310px; border-radius: 24px 54px 24px 54px; }
  .useful-index-hero__media img, .useful-article__cover img { min-height: 310px; }
  .useful-route, .useful-grid { grid-template-columns: 1fr; }
  .useful-route > div + div, .useful-route > div:nth-child(3) { border-left: 0; border-top: 1px solid #dbe5f7; }
  .useful-card h2 { font-size: 22px; }
  .useful-card p { min-height: 0; }
  .useful-article__hero { padding: 35px 0 48px; }
  .useful-article__intro h1 { font-size: clamp(39px,11.5vw,56px); }
  .useful-article__layout { gap: 42px; padding-top: 45px; padding-bottom: 62px; }
  .useful-summary, .useful-safety { padding: 24px 22px; }
  .useful-section { margin-top: 42px; }
  .useful-section p, .useful-section li, .useful-sources p { font-size: 16px; line-height: 1.72; }
}

.site-footer { padding: 54px 0 34px; color: #aebbd4; background: #050f2d; }
.footer-grid { display: grid; grid-template-columns: 1.2fr repeat(3,1fr); gap: 42px; }
.footer-brand img { width: 106px; height: auto; }
.footer-brand p { max-width: 280px; margin: 18px 0; font-size: 13px; }
.footer-title { margin-bottom: 15px; color: #fff; font-size: 14px; letter-spacing: .02em; }
.footer-links { display: grid; gap: 9px; font-size: 13px; }
.footer-links a:hover { color: #fff; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; margin-top: 36px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: 12px; }
.footer-credit a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.38); text-underline-offset: 3px; transition: color .2s ease, text-decoration-color .2s ease; }
.footer-credit a:hover { color: #ff8a00; text-decoration-color: currentColor; }
.mobile-actions { display: none; }

dialog { width: min(92vw, 590px); padding: 0; border: 0; border-radius: 28px; color: var(--ink); background: #fff; box-shadow: 0 30px 90px rgba(7,26,71,.34); }
dialog::backdrop { background: rgba(5,15,45,.65); backdrop-filter: blur(6px); }
.dialog-inner { padding: 34px; position: relative; }
.dialog-close { width: 42px; height: 42px; display: grid; place-items: center; position: absolute; right: 20px; top: 20px; border: 0; border-radius: 50%; background: var(--sky); cursor: pointer; font-size: 22px; }
.dialog-inner h2 { max-width: 440px; padding-right: 34px; font-size: 38px; }
.dialog-inner > p { color: var(--muted); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
.field { display: grid; gap: 7px; color: var(--muted); font-size: 13px; font-weight: 800; }
.field--full { grid-column: 1 / -1; }
input, select, textarea { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid var(--line); border-radius: 13px; color: var(--ink); background: #fbfcff; }
textarea { min-height: 95px; padding-top: 12px; resize: vertical; }
.consent { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 9px; margin-top: 14px; color: var(--muted); font-size: 12px; }
.consent input { width: 18px; min-height: 18px; }
.form-submit { width: 100%; margin-top: 18px; }
.form-note { margin: 11px 0 0; color: var(--muted); font-size: 12px; text-align: center; }
.form-success { display: none; margin-top: 15px; padding: 14px; border-radius: 14px; color: var(--green); background: var(--mint); font-weight: 800; }
.form-success.is-visible { display: block; }

.js .reveal { opacity: 0; transform: translateY(26px) scale(.99); transition: opacity .72s ease var(--reveal-delay,0ms), transform .72s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms); }
.js .reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1080px) {
  .nav { gap: 15px; }
  .header-phone { display: none; }
  .hero-home__grid, .hero-page__grid { gap: 30px; }
  .hero-route { opacity: .58; }
  .hero-visual { min-height: 520px; }
  .hero-visual__frame { height: 510px; }
  .grid-4 { grid-template-columns: repeat(2,1fr); }
  .price-grid { grid-template-columns: repeat(2,1fr); }
  .price-card--featured { transform: none; }
  .package-grid { grid-template-columns: repeat(2,1fr); }
  .step-list { grid-template-columns: repeat(2,1fr); }
  .subscription-grid { grid-template-columns: 1fr; }
  .trust-metrics { grid-template-columns: repeat(2,1fr); }
  .standards-grid { grid-template-columns: repeat(2,1fr); }
  .events-layout { grid-template-columns: 1fr; }
  .events-poster { max-width: 650px; margin-inline: auto; }
  .landing-proof { grid-template-columns: repeat(3,1fr); }
  .landing-proof a { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .header-row { min-height: 72px; gap: 12px; }
  .brand img { width: 100px; height: 50px; }
  .menu-toggle { display: grid; }
  .header-actions .btn { display: none; }
  .nav { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 8px); padding: 18px; flex-direction: column; align-items: stretch; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
  .nav.is-open { display: flex; }
  .nav a { padding: 9px 4px; font-size: 18px; }
  .hero-home { padding: 48px 0 76px; }
  .hero-route { display: none; }
  .hero-home__grid, .hero-page__grid { grid-template-columns: 1fr; }
  .hero-home__grid::before { content: ""; width: 2px; position: absolute; z-index: -1; left: 4px; top: 44px; bottom: 22px; border-radius: 999px; background: linear-gradient(180deg,#1760e8,#ff720c,#1760e8); background-size: 100% 260%; box-shadow: 0 0 14px rgba(23,96,232,.22); animation: mobile-route-flow 7s linear infinite; }
  .hero-home__grid::after { content: ""; width: 13px; height: 72%; position: absolute; z-index: -1; left: -1px; top: 13%; background: radial-gradient(circle at 50% 2%,#fff 0 3px,#1760e8 4px 6px,transparent 7px),radial-gradient(circle at 50% 48%,#fff 0 3px,#ff720c 4px 6px,transparent 7px),radial-gradient(circle at 50% 98%,#fff 0 3px,#1760e8 4px 6px,transparent 7px); animation: route-node-pulse 3.8s ease-in-out infinite; }
  .hero-home__copy { text-align: center; }
  .hero-home__copy::before { width: 104%; height: 96%; left: -2%; top: -3%; }
  .hero-home__copy .lead { margin-inline: auto; }
  .hero-home__copy .actions, .hero-notes { justify-content: center; }
  .hero-visual { min-height: 490px; }
  .hero-visual__frame { width: 88%; height: 460px; margin-inline: auto; }
  .hero-page__media { min-height: 390px; }
  .hero-page__media img { min-height: 390px; }
  .hero-page__media.hero-page__media--uncropped,
  .hero-page__media.hero-page__media--uncropped img { min-height: 0; }
  .stats__grid { grid-template-columns: 1fr; gap: 22px; padding: 24px 14px 24px 52px; }
  .stats__grid::before { content: ""; width: 3px; position: absolute; z-index: 1; left: 52px; top: 25px; bottom: 25px; border-radius: 999px; background: linear-gradient(180deg,#ff720c,#199b67,#1760e8,#ff720c); background-size: 100% 300%; box-shadow: 0 0 13px rgba(23,96,232,.18); animation: mobile-route-flow 7.6s linear infinite; }
  .stats-route { display: none; }
  .stat:nth-child(n+2) { border-top-color: color-mix(in srgb,var(--stat-accent) 38%,white); }
  .stat { container-type: inline-size; }
  .stat__route-icon { width: 46px; height: 46px; left: -23px; top: calc(28.125cqw - 23px); }
  .stat__route-icon svg { width: 23px; height: 23px; }
  .stat__media { aspect-ratio: 16 / 9; }
  .section { padding: 78px 0; }
  .section-head { align-items: start; flex-direction: column; }
  .grid-3 { grid-template-columns: repeat(2,1fr); }
  .content-layout { grid-template-columns: 1fr; }
  .sticky-card { position: static; }
  .feature-strip { grid-template-columns: 1fr; }
  .feature-strip__item + .feature-strip__item { border-left: 0; border-top: 1px solid var(--line); }
  .contact-shell { grid-template-columns: 1fr; }
  .map-visual { min-height: 330px; }
  .virtual-tour { aspect-ratio: 4 / 3; border-radius: 24px; }
  .virtual-tour__actions { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 330px 220px; }
  .gallery__item:first-child { grid-column: 1 / -1; grid-row: auto; }
  .home-gallery__slide { aspect-ratio: 4 / 3; }
  .home-gallery__slide img { object-fit: cover; }
  .home-gallery__dots { max-width: 75%; }
  .review-grid { grid-template-columns: 1fr; }
  .event-current { padding: 30px; }
  .event-current__events { grid-template-columns: 1fr; }
  .seo-feature-grid, .seo-related-grid { grid-template-columns: 1fr; }
  .seo-feature-card { min-height: 0; }
  .seo-cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
  body { padding-bottom: 70px; }
  .announcement__row { min-height: 50px; font-size: 12px; }
  h1 { font-size: clamp(42px, 13vw, 61px); }
  h2 { font-size: 38px; }
  .actions .btn { width: 100%; }
  .hero-visual { min-height: 390px; }
  .hero-home__grid::before { left: 1px; }
  .hero-home__grid::after { left: -4px; }
  .hero-visual__frame { width: 96%; height: 370px; border-width: 7px; }
  .hero-chip { grid-template-columns: 34px 1fr; padding: 9px 11px; }
  .hero-chip__icon { width: 34px; height: 34px; }
  .hero-chip--one { left: 0; top: 22px; }
  .hero-chip--two { right: 0; bottom: 35px; }
  .hero-chip--three { left: 12px; bottom: -9px; }
  .stats { margin-top: -14px; }
  .stats__grid { padding-left: 47px; border-radius: 24px; }
  .stats__grid::before { left: 47px; }
  .stat__route-icon { left: -23px; }
  .stat__body { min-height: 104px; padding: 18px 20px 21px; }
  .stat strong { font-size: 25px; }
  .grid-2, .grid-3, .grid-4, .price-grid, .package-grid, .step-list { grid-template-columns: 1fr; }
  .trust-metrics, .standards-grid { grid-template-columns: 1fr; }
  .rating-card { min-height: 168px; }
  .proof-counter { min-height: 188px; justify-content: center; padding: 26px 154px 26px 26px; isolation: isolate; }
  .proof-counter strong, .proof-counter > span { position: relative; z-index: 2; }
  .proof-counter__viz { width: 132px; height: 94px; display: block; position: absolute; z-index: 1; right: 12px; top: 50%; margin: 0; color: #fff; transform: translateY(-50%); }
  .proof-counter__viz::before { content: ""; position: absolute; inset: -18px -10px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; background: radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0) 68%); animation: proof-viz-halo 3.6s ease-in-out infinite; }
  .proof-counter__viz svg { width: 100%; height: 100%; display: block; position: relative; overflow: visible; }
  .proof-viz__axis { fill: none; stroke: rgba(255,255,255,.32); stroke-width: 2; stroke-linecap: round; }
  .proof-viz__bar { fill: rgba(255,255,255,.78); transform-box: fill-box; transform-origin: center bottom; animation: proof-bar-dance 3.2s ease-in-out infinite; animation-delay: calc(var(--i) * -.28s); }
  .proof-viz__spark { fill: #fff; filter: drop-shadow(0 0 6px rgba(255,255,255,.85)); animation: proof-spark-pulse 1.9s ease-in-out infinite; }
  .proof-viz__route { fill: none; stroke: rgba(255,255,255,.38); stroke-width: 3; stroke-linecap: round; }
  .proof-viz__route--flow { stroke: #fff; stroke-width: 3.5; stroke-dasharray: 9 14; animation: proof-route-flow 3s linear infinite; }
  .proof-viz__nodes circle { fill: rgba(255,255,255,.96); stroke: rgba(255,255,255,.3); stroke-width: 7; transform-box: fill-box; transform-origin: center; animation: proof-node-pulse 2.4s ease-in-out infinite; }
  .proof-viz__nodes circle:nth-child(2) { animation-delay: -.6s; }
  .proof-viz__nodes circle:nth-child(3) { animation-delay: -1.2s; }
  .proof-viz__nodes circle:nth-child(4) { animation-delay: -1.8s; }
  .proof-viz__runner { fill: #fff; stroke: rgba(255,255,255,.52); stroke-width: 5; filter: drop-shadow(0 0 5px rgba(255,255,255,.8)); }
  .event-day { grid-template-columns: 112px 1fr; }
  .event-day > div { min-height: 120px; padding: 16px 14px; }
  .event-day ul { padding: 14px 15px; }
  .event-day li { font-size: 13px; }
  .event-day time { min-width: 50px; }
  .event-current { padding: 25px 18px; border-radius: 23px; }
  .event-current h3 { margin-top: 18px; font-size: 34px; }
  .event-current__intro { font-size: 15px; }
  .event-promo { border-radius: 18px; }
  .event-promo__body { padding: 17px; }
  .events-weekly summary { min-height: 68px; padding: 13px 14px 13px 18px; font-size: 14px; }
  .events-weekly .events-week { padding: 0 10px 14px; }
  .landing-proof { grid-template-columns: 1fr; }
  .landing-proof a { grid-column: auto; }
  .seo-cta { padding: 28px 24px; }
  .seo-cta .btn { width: 100%; }
  .scenario-card { min-height: 250px; }
  .zone-overview { min-height: 0; }
  .hero-page { padding: 38px 0 60px; }
  .hero-page__media { min-height: 310px; }
  .hero-page__media img { min-height: 310px; }
  .hero-page__media.hero-page__media--uncropped,
  .hero-page__media.hero-page__media--uncropped img { min-height: 0; }
  .gallery { grid-template-columns: 1fr; grid-template-rows: repeat(3,260px); }
  .gallery__item:first-child { grid-column: auto; }
  .promo-card { min-height: 270px; padding: 26px 22px; }
  .promo-card__kicker, .promo-card__copy { max-width: 78%; }
  .promo-card__art { width: 50%; right: -7%; top: 6%; }
  .subscription-card { min-height: 0; grid-template-columns: 1fr; border-radius: 24px; }
  .subscription-card__media { min-height: 0; aspect-ratio: 3 / 2; }
  .subscription-card__content { min-height: 310px; padding: 28px 24px; }
  .home-gallery__viewport { border-radius: 22px; }
  .home-gallery__slide { aspect-ratio: 4 / 5; }
  .home-gallery__slide figcaption { min-height: 0; left: 12px; right: 12px; bottom: 12px; padding: 13px 14px; border-radius: 14px; }
  .home-gallery__slide figcaption strong { font-size: 16px; }
  .home-gallery__slide figcaption span { font-size: 11px; }
  .home-gallery__arrow { width: 44px; height: 44px; font-size: 20px; }
  .home-gallery__arrow--prev { left: 12px; }
  .home-gallery__arrow--next { right: 12px; }
  .home-gallery__footer { align-items: flex-start; }
  .home-gallery__dots { max-width: calc(100% - 54px); gap: 6px; }
  .contact-copy { padding: 38px 24px; }
  .virtual-tour { aspect-ratio: 1 / 1; border-radius: 20px; }
  .virtual-tour__actions .btn { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { align-items: start; flex-direction: column; }
  .form-grid { grid-template-columns: 1fr; }
  .field--full { grid-column: auto; }
  .dialog-inner { padding: 30px 22px; }
  .mobile-actions { display: grid; grid-template-columns: repeat(2,1fr); gap: 7px; position: fixed; z-index: 35; left: 8px; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom)); padding: 7px; border: 1px solid rgba(23,96,232,.14); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 12px 35px rgba(7,26,71,.18); backdrop-filter: blur(14px); }
  .mobile-actions a, .mobile-actions button { min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 0 10px; position: relative; overflow: hidden; border: 0; border-radius: 13px; color: #fff; font-size: 12px; font-weight: 950; cursor: pointer; }
  .mobile-actions a::before { content: ""; width: 20px; height: 20px; flex: 0 0 20px; position: relative; z-index: 1; background: currentColor; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: contain; mask-size: contain; }
  .mobile-actions a::after { content: ""; width: 36px; height: 150%; position: absolute; left: -60px; top: -25%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent); transform: skewX(-20deg); animation: mobile-action-shine 4.6s ease-in-out infinite; }
  .mobile-actions a[href^="tel:"] { background: linear-gradient(135deg,#ff6505,#ff922b); box-shadow: 0 8px 20px rgba(255,101,5,.3); }
  .mobile-actions a[href^="tel:"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1l-2.3 2.2Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1l-2.3 2.2Z'/%3E%3C/svg%3E"); animation: mobile-call-ring 3.2s ease-in-out infinite; }
  .mobile-actions a[href*="yandex.ru/maps"] { background: linear-gradient(135deg,#0c3fad,#1760e8); box-shadow: 0 8px 20px rgba(12,63,173,.28); }
  .mobile-actions a[href*="yandex.ru/maps"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a7 7 0 0 0-7 7c0 5.3 7 13 7 13s7-7.7 7-13a7 7 0 0 0-7-7Zm0 4a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a7 7 0 0 0-7 7c0 5.3 7 13 7 13s7-7.7 7-13a7 7 0 0 0-7-7Zm0 4a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E"); animation: mobile-route-pin 2.8s ease-in-out infinite; }
  .mobile-actions button { display: none; }
}

@media (max-width: 380px) {
  .proof-counter { padding-right: 137px; }
  .proof-counter__viz { width: 116px; right: 9px; }
}

@keyframes mobile-action-shine { 0%,62% { left: -60px; } 84%,100% { left: calc(100% + 30px); } }
@keyframes mobile-call-ring { 0%,68%,100% { transform: rotate(0); } 74% { transform: rotate(-13deg); } 81% { transform: rotate(11deg); } 88% { transform: rotate(-7deg); } 94% { transform: rotate(4deg); } }
@keyframes mobile-route-pin { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes proof-viz-halo { 0%,100% { opacity: .55; transform: scale(.94); } 50% { opacity: 1; transform: scale(1.04); } }
@keyframes proof-bar-dance { 0%,100% { opacity: .58; transform: scaleY(.62); } 50% { opacity: 1; transform: scaleY(1); } }
@keyframes proof-spark-pulse { 0%,100% { opacity: .5; transform: scale(.72); } 50% { opacity: 1; transform: scale(1.3); } }
@keyframes proof-route-flow { to { stroke-dashoffset: -46; } }
@keyframes proof-node-pulse { 0%,100% { opacity: .62; transform: scale(.78); } 50% { opacity: 1; transform: scale(1.15); } }

@media (prefers-reduced-motion: reduce) {
  .hover-video-media > video { display: none; transition: none; }
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js .reveal { opacity: 1; transform: none; }
  .hero-visual__frame, .promo-card__art, .promo-card::before, .price-card--featured, .contact-copy::after, .section--dark::before, .section--dark::after, .zone-overview__body::before, .subscription-card__content::before { animation: none !important; }
  .hero-visual__slide { display: none; animation: none !important; opacity: 0; }
  .hero-visual__slide:first-child { display: block; opacity: 1; }
  .hero-visual__slide img { animation: none !important; }
  .route-runner { display: none; }
  .route-path--flow, .stats-route__path--flow { stroke-dasharray: none; }
  .hero-home__copy::before, .hero-home h1 em::after, .route-stop, .route-nodes circle, .hero-home__grid::before, .hero-home__grid::after, .stats__grid::before { animation: none !important; }
  .home-gallery__track { transition: none; }
  .mobile-actions a::before, .mobile-actions a::after, .proof-counter__viz::before, .proof-viz__bar, .proof-viz__spark, .proof-viz__route--flow, .proof-viz__nodes circle { animation: none !important; }
  .proof-viz__runner { display: none; }
}

@keyframes mobile-route-flow { to { background-position: 0 300%; } }

/* September 2026: direct contacts and new holiday programs. */
.mobile-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 28px}
.service-highlight{display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:24px;background:#eaf2ff;border:1px solid #dfe7f5;color:#071c4f}
.service-highlight--new{background:linear-gradient(145deg,#fff8ef,#fff0dd);border:2px solid #ff720c;box-shadow:0 8px 24px #ff720c12}
.service-highlight__top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#0c3fad}
.service-highlight__label{font-size:12px;font-weight:800;padding:6px 10px;border-radius:100px;background:#fff;color:#0c3fad}
.service-highlight--new .service-highlight__label{background:#ff720c;color:#071c4f}
.service-highlight h3{font-size:clamp(20px,2vw,26px);line-height:1.25;margin:8px 0 0;overflow-wrap:anywhere}
.service-highlight p{margin:0;color:#52617a;font-size:14px}
.service-highlight a{margin-top:auto;padding-top:10px;font-size:14px;line-height:1.5;font-weight:800;color:#0c3fad;text-decoration:underline;text-underline-offset:4px}
.service-highlight a:focus-visible{outline:3px solid #0c3fad;outline-offset:4px}
.schedule-card small{overflow-wrap:anywhere}
@media(max-width:700px){.service-highlights{grid-template-columns:1fr;gap:14px}.service-highlight{padding:24px}.service-highlight h3{font-size:24px}}

.hero-page--dark .btn--outline{color:#fff;border-color:#bdcfee}
.hero-page--dark .btn--outline:hover{color:#071c4f;background:#fff}

.hero-page--dark .btn--outline{color:#fff;border-color:#bdcfee}
.hero-page--dark .btn--outline:hover{color:#071c4f;background:#fff}

.useful-article__intro,.useful-article__cover{min-width:0}
.useful-article__intro h1{overflow-wrap:anywhere}

.hero-page--dark .btn--outline{color:#fff;border-color:#bdcfee}
.hero-page--dark .btn--outline:hover{color:#071c4f;background:#fff}

.useful-article__intro,.useful-article__cover{min-width:0}
.useful-article__intro h1{overflow-wrap:anywhere}

.hero-page__grid>*{min-width:0}
.hero-page__copy h1{overflow-wrap:anywhere}

.hero-page--dark .btn--outline{color:#fff;border-color:#bdcfee}
.hero-page--dark .btn--outline:hover{color:#071c4f;background:#fff}

.useful-article__intro,.useful-article__cover{min-width:0}
.useful-article__intro h1{overflow-wrap:anywhere}

.hero-page__grid>*{min-width:0}
.hero-page__copy h1{overflow-wrap:anywhere}

@media(max-width:480px){.hero-page__copy h1,.useful-article__intro h1{font-size:clamp(28px,8vw,36px);line-height:1.12}}
