/* Партия 2 SEO-завода (03.11): агентство туров, Google Maps, цена чат-бота. Поверх herr.css + herr2.css — те же краски, шрифты и нити;
   воздух между секциями, фото первым в шапке, одна залитая кнопка (с переливом) на страницу, остальные призывы — ссылкой со стрелкой. */
.h3-pagina .herr-main { padding-top: calc(max(14px, env(safe-area-inset-top)) + 64px); }
.h3-pagina .barra-lang { margin-left: auto; }
.h3-pagina .herr-grupo { padding: 88px 0 8px 26px; }
.h3-pagina .herr-grupo::before { top: 96px; }
.h3-pagina .herr-grupo--tool { padding-left: 0; }
@media (min-width: 900px) { .h3-pagina .herr-grupo { padding-top: 120px; } .h3-pagina .herr-grupo::before { top: 128px; } }

/* Шапка: образ крупно, надзаголовок над h1, огромное слово, кнопка с переливом */
.h3-hero { display: grid; gap: 18px; max-width: none; }
.h3-hero figure { margin: 0; }
.h3-hero figure img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 30%; border-radius: 18px; background: #130d09; }
.h3-hero figure img[src$=".svg"] { object-fit: contain; }
@media (min-width: 900px) { .h3-hero figure img { aspect-ratio: 4 / 5; max-height: 640px; } .h3-hero figure img[src$=".svg"] { aspect-ratio: 4 / 3; } }
.h3-hero figcaption, .h3-fuente { margin-top: 8px; color: var(--muted); font: 400 12px/1.4 var(--ui); }
.h3-hero figcaption a, .h3-fuente a { color: var(--muted); }
.h3-hero .hilo-nombre { margin: 0 0 12px; }
.h3-hero h1 { margin: 0 0 14px; font: 700 clamp(26px, 7vw, 50px)/1.1 var(--disp); text-wrap: balance; }
.h3-hero .lead { max-width: 46ch; margin: 0 0 18px; }
.h3-grande { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 26px 0 6px; }
.h3-grande b { color: #ffd08a; font: 700 clamp(46px, 13vw, 84px)/1 var(--disp); letter-spacing: .02em; }
.h3-grande span { max-width: 26ch; color: var(--muted); font: italic 400 15px/1.45 var(--serif); }
.h3-lugar { max-width: 52ch; margin: 0 0 22px; color: var(--text); font: 400 16px/1.55 var(--ui); }
@media (min-width: 900px) { .h3-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; } .h3-hero figure { order: 2; } }

/* Единственная залитая кнопка страницы — с переливом нитей, как плавающая кнопка партии 1 */
.h3-wa { position: relative; display: inline-flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 26px; overflow: hidden; border-radius: 999px; color: #fff;
         font: 700 16px/1.1 var(--ui); text-decoration: none; background: linear-gradient(120deg, #1f8f4e, #e0a15a, #c8323c, #8b3fd1, #2b7bd6, #1f8f4e); background-size: 400% 400%;
         animation: waFlow 7s ease-in-out infinite, waGlow 3.2s ease-in-out infinite; }
.h3-wa svg { position: relative; z-index: 1; width: 22px; height: 22px; }
.h3-wa span { position: relative; z-index: 1; }
.h3-wa::after { content: ""; position: absolute; inset: -30%; background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.8) 50%, transparent 62%); transform: translateX(-130%); animation: waShine 3.6s ease-in-out infinite; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .h3-wa, .h3-wa::after { animation: none; } }

/* Призывы ниже первого экрана — ссылкой со стрелкой; кнопки подвала — контуром */
.h3-ir { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: #8dffbe; font: 700 16px/1.3 var(--ui); text-decoration: none; }
.h3-ir:hover { text-decoration: underline; }
.h3-pagina .herr-pie .boton { background: none; }
.h3-pagina .herr-pie .boton--wa { border-color: #1f8f4e; color: #8dffbe; }
.h3-pagina .herr-pie .boton--tg { border-color: #2a7fc0; color: #9ccfff; }
.h3-pagina .herr-pie .boton svg path { fill: currentColor; }
.h3-idiomas { display: flex; justify-content: center; gap: 18px; margin: 18px 0 0; font: 700 13px/1 var(--ui); letter-spacing: .12em; }
.h3-idiomas a { color: var(--muted); text-decoration: none; }
.h3-idiomas a[aria-current] { color: var(--c2); }

/* Живые штуки: тонкое управление */
.h3-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; padding: 0; list-style: none; }
.h3-chips button { min-height: 44px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; background: none; color: var(--text); font: 600 15px/1 var(--ui); cursor: pointer; }
.h3-chips button[aria-pressed="true"] { border-color: var(--c); color: var(--c2); }
.h3-chips button:focus-visible { outline: 2px solid var(--c2); }
.h3-boton-linea { min-height: 46px; padding: 0 20px; border: 1px solid color-mix(in srgb, var(--c) 70%, transparent); border-radius: 999px; background: none; color: var(--c2); font: 700 15px/1 var(--ui); cursor: pointer; }
.h3-panel { max-width: 640px; margin: 12px 0 0; padding: 4px 0 0 18px; border-left: 3px solid var(--c); }
.h3-panel h3 { margin: 0 0 6px; font: 700 19px/1.25 var(--disp); }
.h3-panel p, .h3-panel li { margin: 0 0 6px; color: var(--text); font: 400 16px/1.55 var(--ui); }
.h3-panel ul { margin: 0 0 8px; padding-left: 18px; }
.h3-nota { margin: 8px 0 0; color: var(--muted); font: 400 13px/1.45 var(--ui); }
.h3-svg { display: block; width: 100%; height: auto; max-width: 720px; }

/* Дорога часки */
.ch-estacion { cursor: pointer; outline: none; }
.ch-estacion circle.ch-aro { fill: none; stroke: #ffd08a; stroke-width: 2; opacity: 0; }
.ch-estacion[aria-pressed="true"] circle.ch-aro { opacity: 1; }
.ch-estacion[aria-pressed="true"] .ch-casa { fill: #ffd08a; }
.ch-estacion text { fill: var(--text); font: 700 15px var(--ui); paint-order: stroke; stroke: #0b0806; stroke-width: 4px; }
.ch-flash { fill: none; stroke: #8dffbe; stroke-width: 3; opacity: 0; transform-box: fill-box; transform-origin: center; }
.ch-flash.on { animation: chFlash .9s ease-out 2; }
@keyframes chFlash { from { opacity: 1; transform: scale(.4); } to { opacity: 0; transform: scale(2.4); } }
.ch-mensaje { max-width: 520px; margin: 16px 0 0; padding: 14px 18px; border-left: 3px solid #1f8f4e; color: var(--text); font: italic 400 17px/1.5 var(--serif); }
.ch-mensaje[hidden] { display: none; }
.ch-mensaje small { display: block; margin-top: 6px; color: var(--muted); font: 400 12.5px/1.4 var(--ui); font-style: normal; }

/* Чек-лист с узлами (агентство и Google) */
.h3-lista { display: grid; gap: 4px; max-width: 680px; margin: 10px 0 0; padding: 0; list-style: none; }
.h3-lista label { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 8px 0; border-bottom: 1px solid var(--line); cursor: pointer; font: 400 16px/1.45 var(--ui); }
.h3-lista input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--c); }
.h3-lista small { display: block; color: var(--muted); font: 400 13px/1.4 var(--ui); }
.h3-res { margin: 18px 0 0; }
.h3-res b { color: #ffd08a; font: 700 clamp(28px, 8vw, 40px)/1.1 var(--disp); }
.h3-res p { margin: 6px 0 0; }
.h3-grupo-t { margin: 18px 0 2px; color: var(--c2); font: 700 13px/1.2 var(--ui); letter-spacing: .12em; text-transform: uppercase; }

/* Кипу: нити и узлы */
.kn-nudo { fill: #ffd08a; }
.kn-largo { fill: none; stroke: #ffd08a; stroke-width: 6; stroke-linecap: round; }
.kn-vacio { fill: none; stroke: rgba(243,234,217,.28); stroke-width: 1.5; stroke-dasharray: 3 4; }
.kn-etq { fill: var(--muted); font: 700 13px var(--ui); letter-spacing: .08em; }
.kn-num { fill: #ffd08a; font: 700 22px var(--disp); }

/* Пошагово */
.h3-pasos { max-width: 680px; margin: 10px 0 0; padding-left: 0; list-style: none; counter-reset: p; }
.h3-pasos li { counter-increment: p; position: relative; padding: 10px 0 14px 50px; border-bottom: 1px solid var(--line); font: 400 16px/1.55 var(--ui); }
.h3-pasos li::before { content: counter(p); position: absolute; left: 0; top: 8px; display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid var(--c); border-radius: 50%; color: var(--c2); font: 700 15px/1 var(--disp); }
.h3-pasos b { display: block; font: 700 16px/1.35 var(--ui); }
.h3-pasos a { color: var(--c2); }

/* Цены: карточки без заливки кнопки */
.h3-pagina .precio-hilo-botones .h3-ir { min-height: 40px; }
.h3-como { max-width: 680px; margin: 22px 0 0; padding-left: 20px; color: var(--muted); font: 400 15px/1.55 var(--ui); }
.h3-obras { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 8px 0 0; }
.h3-obras a { color: var(--c2); font: 700 15px/1.3 var(--ui); text-decoration: none; }
