@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/golos-text-400-cyrillic-ext.woff2") format("woff2");
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/golos-text-400-cyrillic.woff2") format("woff2");
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/golos-text-400-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/golos-text-400-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("/assets/fonts/golos-text-500-cyrillic-ext.woff2") format("woff2");
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("/assets/fonts/golos-text-500-cyrillic.woff2") format("woff2");
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("/assets/fonts/golos-text-500-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("/assets/fonts/golos-text-500-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("/assets/fonts/golos-text-600-cyrillic-ext.woff2") format("woff2");
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("/assets/fonts/golos-text-600-cyrillic.woff2") format("woff2");
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("/assets/fonts/golos-text-600-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("/assets/fonts/golos-text-600-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("/assets/fonts/golos-text-700-cyrillic-ext.woff2") format("woff2");
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("/assets/fonts/golos-text-700-cyrillic.woff2") format("woff2");
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("/assets/fonts/golos-text-700-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("/assets/fonts/golos-text-700-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Literata';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/literata-400-italic-cyrillic-ext.woff2") format("woff2");
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Literata';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/literata-400-italic-cyrillic.woff2") format("woff2");
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Literata';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/literata-400-italic-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Literata';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/literata-400-italic-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/literata-400-cyrillic-ext.woff2") format("woff2");
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/literata-400-cyrillic.woff2") format("woff2");
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/literata-400-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/assets/fonts/literata-400-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("/assets/fonts/literata-600-cyrillic-ext.woff2") format("woff2");
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("/assets/fonts/literata-600-cyrillic.woff2") format("woff2");
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("/assets/fonts/literata-600-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("/assets/fonts/literata-600-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("/assets/fonts/literata-700-cyrillic-ext.woff2") format("woff2");
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("/assets/fonts/literata-700-cyrillic.woff2") format("woff2");
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("/assets/fonts/literata-700-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Literata';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("/assets/fonts/literata-700-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


    :root {
      --bg-ivory: #DDD5C2;
      --bg-surface: #FFFFFF;
      --bg-champagne: #F2EDE1;
      --bg-emerald-mist: #F5F0E4;
      --primary-deep: #123C2E;
      --primary-forest: #17533C;
      --primary-sage: #1E6447;
      --gold-primary: #246B48;
      --gold-light: #ABE6C9;
      --gold-pale: #F5F0E4;
      --gold-border: rgba(36,107,72, 0.32);
      --gold-gradient: linear-gradient(135deg, #2E8558 0%, #246B48 100%);
      --text-head: #123C2E;
      --text-body: #3A3226;
      --text-muted: #544636;
      --border-soft: #DDD5C2;
      --shadow-subtle: 0 4px 20px -2px rgba(18,60,46, 0.06);
      --shadow-luxury: 0 18px 44px -10px rgba(18,60,46, 0.16), 0 1px 3px rgba(18,60,46, 0.05);
      --shadow-hover: 0 25px 60px -12px rgba(18,60,46, 0.22);
      --shadow-capsule: 0 10px 28px -8px rgba(18,60,46, 0.16);
      --radius-sm: 8px;
      --radius-md: 16px;
      --radius-lg: 24px;
      --radius-xl: 32px;
      --transition-smooth: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      -webkit-tap-highlight-color: transparent;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: "Golos Text", system-ui, -apple-system, sans-serif;
      background-color: var(--bg-ivory);
      color: var(--text-body);
      line-height: 1.65;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    h1, h2, h3, .font-serif {
      font-family: "Literata", Georgia, serif;
      font-weight: 700;
      color: var(--primary-deep);
      line-height: 1.15;
      letter-spacing: -0.01em;
    }

    h4, h5, h6, .font-sans {
      font-family: "Golos Text", system-ui, sans-serif;
      font-weight: 600;
      letter-spacing: 0.02em;
    }

    a {
      text-decoration: none;
      color: inherit;
    }

    img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    .container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px;
    }

    .svg-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
      flex-shrink: 0;
    }

    /* FLOATING GLASS CAPSULE HEADER (FIXED & UNBREAKABLE) */
    .capsule-header-holder {
      position: sticky;
      top: 14px;
      z-index: 1000;
      padding: 0 16px;
      pointer-events: none;
    }

    .capsule-navbar {
      pointer-events: auto;
      max-width: 1260px;
      margin: 0 auto;
      height: 64px;
      background: rgba(255, 255, 255, 0.94);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1.5px solid rgba(36,107,72, 0.35);
      border-radius: 999px;
      box-shadow: var(--shadow-capsule);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 8px 0 18px;
      gap: 12px;
      transition: var(--transition-smooth);
    }

    .capsule-navbar:hover {
      border-color: rgba(36,107,72, 0.6);
      box-shadow: 0 20px 45px -8px rgba(18,60,46, 0.16);
    }

    /* Brand in Capsule */
    .capsule-brand {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-shrink: 0;
      white-space: nowrap;
    }

    .capsule-crest {
      width: 36px;
      height: 36px;
      background: var(--primary-deep);
      border: 1px solid var(--gold-primary);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 3px 10px rgba(18,60,46, 0.2);
      flex-shrink: 0;
    }

    .capsule-crest svg {
      width: 18px;
      height: 18px;
      stroke: var(--gold-light);
    }

    .capsule-logo-text {
      font-family: "Literata", Georgia, serif;
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--primary-deep);
      letter-spacing: 0.5px;
      line-height: 1;
    }

    .capsule-logo-text span {
      color: var(--gold-primary);
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 1rem;
      font-weight: 600;
    }

    /* Capsule Navigation Menu */
    .capsule-menu {
      display: flex;
      align-items: center;
      gap: 4px;
      flex-wrap: nowrap;
    }

    .capsule-link {
      padding: 7px 12px;
      border-radius: 999px;
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.84rem;
      font-weight: 600;
      color: var(--text-head);
      transition: var(--transition-smooth);
      display: flex;
      align-items: center;
      gap: 6px;
      white-space: nowrap;
      flex-shrink: 0;
    }

    .capsule-link:hover {
      background: var(--bg-champagne);
      color: var(--primary-forest);
    }

    .capsule-link.seo-highlight {
      background: var(--bg-emerald-mist);
      color: var(--primary-forest);
      border: 1px solid rgba(45, 106, 83, 0.22);
    }

    .capsule-link.seo-highlight:hover {
      background: var(--primary-deep);
      color: var(--gold-light);
      border-color: var(--primary-deep);
    }

    .seo-badge-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--gold-primary);
      flex-shrink: 0;
    }

    /* Right Action Group */
    .capsule-actions {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-shrink: 0;
      white-space: nowrap;
    }

    .capsule-phone-chip {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 7px 14px;
      border-radius: 999px;
      background: var(--bg-ivory);
      border: 1px solid var(--border-soft);
      font-family: "Golos Text", system-ui, sans-serif;
      font-weight: 700;
      font-size: 0.86rem;
      color: var(--primary-deep);
      transition: var(--transition-smooth);
      white-space: nowrap;
      flex-shrink: 0;
      text-decoration: none;
    }

    .capsule-phone-chip:hover {
      border-color: var(--gold-primary);
      color: var(--gold-primary);
      background: white;
    }

    .pulse-status-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #22C55E;
      box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
      animation: pulseGreen 2s infinite;
      flex-shrink: 0;
    }

    @keyframes pulseGreen {
      0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }
      70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
      100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
    }

    .capsule-btn-cta {
      padding: 9px 20px;
      border-radius: 999px;
      background: var(--gold-gradient);
      color: #F1EBDD;
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.82rem;
      font-weight: 700;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      border: none;
      cursor: pointer;
      box-shadow: 0 4px 14px rgba(36,107,72, 0.35);
      transition: var(--transition-smooth);
      white-space: nowrap;
      flex-shrink: 0;
    }

    .capsule-btn-cta:hover {
      transform: translateY(-1.5px);
      box-shadow: 0 6px 20px rgba(36,107,72, 0.5);
    }

    /* Mobile Menu Button (Clear, Prominent, Luxury Pill) */
    .capsule-burger {
      display: none;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 8px 14px;
      height: 38px;
      border-radius: 999px;
      background: var(--primary-deep);
      border: 1.5px solid var(--gold-primary);
      color: var(--gold-light);
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      cursor: pointer;
      flex-shrink: 0;
      box-shadow: 0 2px 8px rgba(18,60,46, 0.25);
      transition: var(--transition-smooth);
    }

    .capsule-burger:hover {
      background: var(--primary-forest);
      border-color: var(--gold-light);
      transform: translateY(-1px);
    }

    .capsule-burger svg {
      width: 14px;
      height: 14px;
      stroke: var(--gold-light);
    }

    /* Mobile Overlay Menu */
    .mobile-menu-drawer {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(18,60,46, 0.98);
      backdrop-filter: blur(20px);
      z-index: 9999;
      display: none;
      flex-direction: column;
      padding: 30px 24px;
      animation: modalFade 0.3s ease;
    }

    .mobile-menu-drawer.active {
      display: flex;
    }

    .mobile-drawer-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 40px;
      border-bottom: 1px solid rgba(36,107,72, 0.2);
      padding-bottom: 20px;
    }

    .mobile-nav-links {
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin-bottom: auto;
    }

    .mobile-nav-item {
      font-family: "Literata", serif;
      font-size: 1.8rem;
      color: white;
      font-weight: 700;
      padding: 10px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .mobile-nav-item.highlight {
      color: var(--gold-light);
    }

    /* BUTTONS */
    .btn-lux {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 13px 26px;
      border-radius: var(--radius-sm);
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.88rem;
      font-weight: 600;
      letter-spacing: 0.5px;
      cursor: pointer;
      border: none;
      transition: var(--transition-smooth);
      text-transform: uppercase;
      text-align: center;
    }

    .btn-lux-gold {
      background: var(--gold-gradient);
      color: #F1EBDD;
      box-shadow: 0 4px 18px rgba(36,107,72, 0.3);
    }

    .btn-lux-gold:hover {
      box-shadow: 0 8px 25px rgba(36,107,72, 0.45);
      transform: translateY(-2px);
    }

    .btn-lux-outline {
      background: transparent;
      border: 1.5px solid var(--gold-primary);
      color: var(--primary-deep);
    }

    .btn-lux-outline:hover {
      background: var(--primary-deep);
      color: var(--gold-light);
      border-color: var(--primary-deep);
      transform: translateY(-2px);
    }

    .btn-lux-deep {
      background: var(--primary-deep);
      color: var(--gold-light);
      border: 1px solid rgba(36,107,72, 0.4);
    }

    .btn-lux-deep:hover {
      background: var(--primary-forest);
      box-shadow: var(--shadow-luxury);
      transform: translateY(-2px);
    }

    /* HERO SECTION WITH LUXURY PARROT PHOTO BACKGROUNDS */
    .hero-wrap {
      position: relative;
      padding: 60px 0 100px;
      background-image: 
        linear-gradient(180deg, rgba(250, 247, 242, 0.4) 0%, rgba(250, 247, 242, 0.15) 40%, rgba(250, 247, 242, 0.9) 100%),
        image-set(url("/assets/bg/hero-desktop-1280.webp") 1x, url("/assets/bg/hero-desktop.webp") 2x);
      background-size: cover;
      background-position: center 25%;
      background-repeat: no-repeat;
      min-height: 640px;
      display: flex;
      align-items: center;
    }

    .hero-text-col {
      background: rgba(255, 255, 255, 0.88);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1.5px solid rgba(36,107,72, 0.35);
      border-radius: var(--radius-xl);
      padding: 44px 38px;
      box-shadow: var(--shadow-luxury);
      max-width: 650px;
      position: relative;
      z-index: 2;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 40px;
      align-items: center;
      width: 100%;
    }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 6px 16px;
      background: var(--bg-surface);
      border: 1px solid var(--gold-border);
      border-radius: 999px;
      font-size: 0.76rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: var(--primary-deep);
      box-shadow: var(--shadow-subtle);
      margin-bottom: 20px;
    }

    .hero-badge .crest-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--gold-primary);
    }

    .hero-title {
      font-size: clamp(2.4rem, 4.2vw, 3.8rem);
      margin-bottom: 20px;
      color: var(--primary-deep);
    }

    .hero-title em {
      font-style: italic;
      color: var(--primary-sage);
      position: relative;
    }

    .hero-desc {
      font-size: 1.12rem;
      color: var(--text-body);
      margin-bottom: 32px;
      line-height: 1.7;
      max-width: 580px;
    }

    .hero-ctas {
      display: flex;
      gap: 14px;
      margin-bottom: 40px;
      flex-wrap: wrap;
    }

    .hero-stats-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      padding-top: 26px;
      border-top: 1px solid var(--border-soft);
    }

    .stat-box {
      display: flex;
      flex-direction: column;
    }

    .stat-val {
      font-family: "Literata", Georgia, serif;
      font-size: 2rem;
      font-weight: 700;
      color: var(--primary-deep);
      line-height: 1;
    }

    .stat-label {
      font-size: 0.78rem;
      color: var(--text-muted);
      margin-top: 4px;
      font-weight: 500;
    }

    /* Hero Visual Card */
    .hero-art-frame {
      position: relative;
    }

    .art-card {
      background: var(--bg-surface);
      border-radius: var(--radius-xl);
      padding: 16px;
      border: 1px solid var(--gold-border);
      box-shadow: var(--shadow-luxury);
      position: relative;
    }

    .art-img-wrapper {
      position: relative;
      height: 440px;
      border-radius: var(--radius-lg);
      overflow: hidden;
      background: #E8E0D2;
    }

    .art-img-wrapper img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 22%;
      transition: transform 0.8s ease;
    }

    .art-card:hover .art-img-wrapper img {
      transform: scale(1.04);
    }

    .art-overlay-ribbon {
      position: absolute;
      top: 20px;
      left: 20px;
      background: rgba(18,60,46, 0.9);
      backdrop-filter: blur(10px);
      padding: 7px 16px;
      border-radius: var(--radius-sm);
      border: 1px solid var(--gold-border);
      color: var(--gold-light);
      font-size: 0.8rem;
      font-family: "Golos Text", system-ui, sans-serif;
      font-weight: 600;
      letter-spacing: 0.5px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .floating-luxury-badge {
      position: absolute;
      bottom: -20px;
      right: -15px;
      background: var(--bg-surface);
      border: 1.5px solid var(--gold-primary);
      border-radius: var(--radius-md);
      padding: 14px 18px;
      box-shadow: var(--shadow-luxury);
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .badge-icon-gold {
      width: 40px;
      height: 40px;
      background: var(--gold-pale);
      border: 1px solid var(--gold-border);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--gold-primary);
    }

    /* SECTION STYLES */
    .section-wrap {
      padding: 80px 0;
      position: relative;
    }

    .section-head-center {
      text-align: center;
      max-width: 760px;
      margin: 0 auto 50px;
    }

    .sec-kicker {
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.8rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: var(--gold-primary);
      margin-bottom: 10px;
      display: block;
    }

    .sec-title {
      font-size: clamp(2.1rem, 3.4vw, 3rem);
      margin-bottom: 14px;
      color: var(--primary-deep);
    }

    .sec-intro {
      font-size: 1.05rem;
      color: var(--text-muted);
      line-height: 1.65;
    }

    /* CONCIERGE 5-STEP PROTOCOL */
    .protocol-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 18px;
    }

    .protocol-card {
      background: var(--bg-surface);
      border: 1px solid var(--border-soft);
      border-radius: var(--radius-lg);
      padding: 28px 20px;
      box-shadow: var(--shadow-subtle);
      transition: var(--transition-smooth);
      position: relative;
      display: flex;
      flex-direction: column;
    }

    .protocol-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-luxury);
      border-color: var(--gold-primary);
    }

    .protocol-step-num {
      font-family: "Literata", Georgia, serif;
      font-size: 2rem;
      font-weight: 700;
      color: var(--gold-primary);
      line-height: 1;
      margin-bottom: 14px;
    }

    .protocol-title {
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 1.02rem;
      color: var(--primary-deep);
      margin-bottom: 8px;
    }

    .protocol-desc {
      font-size: 0.85rem;
      color: var(--text-muted);
      line-height: 1.55;
    }

    /* BRAND MANIFESTO & PHILOSOPHY TRIPTYCH */
    .manifesto-wrap {
      background: linear-gradient(180deg, #0C2A1F 0%, var(--primary-deep) 100%);
      color: white;
      border-radius: var(--radius-xl);
      padding: 70px 45px;
      border: 1px solid var(--gold-border);
      position: relative;
      overflow: hidden;
      margin: 40px 0;
      box-shadow: var(--shadow-luxury);
    }

    .manifesto-wrap::before {
      content: '';
      position: absolute;
      top: -120px;
      right: -120px;
      width: 450px;
      height: 450px;
      background: radial-gradient(circle, rgba(36,107,72, 0.15) 0%, transparent 70%);
      pointer-events: none;
    }

    .manifesto-triptych-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
      position: relative;
      z-index: 1;
    }

    .manifesto-card {
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(36,107,72, 0.25);
      border-radius: var(--radius-lg);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      transition: var(--transition-smooth);
    }

    .manifesto-card:hover {
      background: rgba(255, 255, 255, 0.08);
      border-color: var(--gold-primary);
      transform: translateY(-8px);
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
    }

    .manifesto-numeral {
      display: flex;
      align-items: baseline;
      gap: 14px;
      padding: 26px 22px 0;
    }

    .manifesto-numeral .num {
      font-family: "Literata", Georgia, serif;
      font-size: 3.4rem;
      font-weight: 700;
      line-height: 0.85;
      color: var(--gold-primary);
      letter-spacing: 0.02em;
    }

    .manifesto-numeral .num-label {
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(171,230,201, 0.75);
    }

    .manifesto-rule {
      height: 1px;
      background: linear-gradient(90deg, var(--gold-primary), rgba(36,107,72, 0.05));
      margin: 18px 22px 0;
    }

    .manifesto-body {
      padding: 26px 22px;
      display: flex;
      flex-direction: column;
      flex: 1;
    }

    .manifesto-card-title {
      font-family: "Literata", Georgia, serif;
      font-size: 1.65rem;
      color: var(--gold-light);
      margin-bottom: 12px;
      line-height: 1.2;
    }

    .manifesto-card-text {
      font-size: 0.88rem;
      color: rgba(255, 255, 255, 0.78);
      line-height: 1.65;
    }

    /* ---------- СОСТОЯНИЕ ОТПРАВКИ ФОРМЫ ---------- */
    .form-status {
      margin-top: 12px;
      font-size: 0.85rem;
      line-height: 1.5;
      text-align: center;
      min-height: 1px;
    }

    .form-status-ok { color: var(--primary-sage); font-weight: 600; }
    .form-status-err { color: #B4342A; }
    .form-status a { color: inherit; text-decoration: underline; }

    .hp-field {
      position: absolute;
      left: -9999px;
      width: 1px;
      height: 1px;
      overflow: hidden;
    }

    /* ---------- КНОПКИ-КАРТОЧКИ (бывшие div с onclick) ---------- */
    .quiz-lux-card,
    .forum-topic-card {
      font: inherit;
      color: inherit;
      text-align: left;
      width: 100%;
      appearance: none;
    }

    /* ---------- ФОКУС С КЛАВИАТУРЫ ---------- */
    :focus-visible {
      outline: 2px solid var(--gold-primary);
      outline-offset: 3px;
      border-radius: 4px;
    }

    .manifesto-wrap :focus-visible,
    footer :focus-visible,
    .mobile-menu-drawer :focus-visible {
      outline-color: var(--gold-light);
    }

    /* ---------- ЗОНЫ НАЖАТИЯ ---------- */
    .sq-link-btn {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
    }

    .footer-links a {
      display: inline-block;
      padding: 6px 0;
    }

    .calc-checkbox-item,
    .form-check-label {
      min-height: 44px;
      align-items: center;
    }

    .calc-checkbox-item input[type="checkbox"],
    .form-check-label input[type="checkbox"] {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      accent-color: var(--gold-primary);
      cursor: pointer;
    }

    /* ---------- COOKIE ---------- */
    .cookie-actions {
      display: flex;
      gap: 10px;
      flex-shrink: 0;
    }

    .cookie-btn-ghost {
      background: transparent;
      color: var(--gold-light);
      border: 1px solid rgba(36,107,72, 0.5);
    }

    /* ---------- СНОСКИ ---------- */
    .price-disclaimer {
      margin-top: 14px;
      font-size: 0.74rem;
      line-height: 1.55;
      color: rgba(255, 255, 255, 0.55);
    }

    .vet-note {
      margin-top: 10px;
      font-size: 0.76rem;
      line-height: 1.5;
      color: var(--text-muted);
      border-left: 2px solid var(--gold-border);
      padding-left: 10px;
    }

    /* ---------- БЛОКИРОВКА ПРОКРУТКИ ПОД ОВЕРЛЕЕМ ---------- */
    body.no-scroll {
      overflow: hidden;
    }

    /* ---------- УВАЖЕНИЕ К НАСТРОЙКЕ «МЕНЬШЕ ДВИЖЕНИЯ» ---------- */
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
      }
      .art-card:hover .art-img-wrapper img,
      .bird-lux-item:hover img { transform: none !important; }
    }

    /* ---------- ТАБЛИЦА СРАВНЕНИЯ НА УЗКОМ ЭКРАНЕ ---------- */
    @media (max-width: 760px) {
      .compare-table { min-width: 0; display: block; font-size: 0.95rem; }
      .compare-table thead { display: none; }
      .compare-table tbody { display: block; }

      .compare-table tr {
        display: flex;
        flex-direction: column;
        padding: 18px 18px 20px;
        border-bottom: 1px solid var(--border-soft);
      }
      .compare-table tr:last-child { border-bottom: 0; }

      .compare-table td {
        display: block;
        border: 0;
        padding: 7px 0;
        width: 100%;
      }

      .compare-table td:first-child {
        order: -2;
        font-size: 1.02rem;
        padding-bottom: 12px;
      }

      .compare-table td.col-highlight {
        order: -1;
        background: var(--bg-emerald-mist);
        border-left: 3px solid var(--gold-primary);
        border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
        padding: 10px 12px;
        margin-bottom: 8px;
      }

      .compare-table td:not(:first-child)::before {
        content: attr(data-label);
        display: block;
        font-size: 0.68rem;
        text-transform: uppercase;
        letter-spacing: 0.09em;
        font-weight: 700;
        color: var(--text-muted);
        margin-bottom: 5px;
      }

      .compare-table td.col-highlight::before { color: var(--gold-primary); }
    }

    /* COMPARISON TABLE SECTION (ЧЕСТНОЕ СРАВНЕНИЕ) */
    .compare-table-wrap {
      background: var(--bg-surface);
      border-radius: var(--radius-xl);
      border: 1.5px solid var(--border-soft);
      box-shadow: var(--shadow-luxury);
      overflow: hidden;
      margin: 40px 0;
    }

    .compare-table-responsive {
      width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    .compare-table {
      width: 100%;
      border-collapse: collapse;
      text-align: left;
      font-size: 0.92rem;
      min-width: 720px;
    }

    .compare-table th {
      padding: 22px 24px;
      font-family: "Golos Text", system-ui, sans-serif;
      font-weight: 700;
      font-size: 0.95rem;
      letter-spacing: 0.5px;
      border-bottom: 1.5px solid var(--border-soft);
      background: var(--bg-ivory);
      color: var(--primary-deep);
    }

    .compare-table th.col-highlight {
      background: #EAF4EE;
      color: var(--primary-forest);
      border-bottom: 2px solid var(--primary-sage);
      font-size: 1.05rem;
    }

    .compare-table td {
      padding: 20px 24px;
      border-bottom: 1px solid var(--border-soft);
      color: var(--text-body);
      vertical-align: middle;
    }

    .compare-table td.col-highlight {
      background: #F4FAF6;
      font-weight: 600;
      color: var(--primary-deep);
    }

    .compare-table tr:last-child td {
      border-bottom: none;
    }

    .status-bad {
      color: #DC2626;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .status-warn {
      color: #D97706;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .status-good {
      color: #15803D;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    /* INTERACTIVE CALCULATOR (КАЛЬКУЛЯТОР ПЕРВОГО ГОДА) */
    .calc-card-wrap {
      background: var(--bg-surface);
      border-radius: var(--radius-xl);
      border: 1.5px solid var(--gold-border);
      box-shadow: var(--shadow-luxury);
      padding: 44px;
      margin: 40px 0;
    }

    .calc-layout-grid {
      display: grid;
      grid-template-columns: 1.25fr 0.95fr;
      gap: 40px;
      align-items: start;
    }

    .calc-field-group {
      margin-bottom: 26px;
    }

    .calc-label {
      font-family: "Golos Text", system-ui, sans-serif;
      font-weight: 700;
      font-size: 0.95rem;
      color: var(--primary-deep);
      margin-bottom: 10px;
      display: block;
    }

    .calc-select-lux {
      width: 100%;
      padding: 14px 18px;
      border-radius: var(--radius-sm);
      border: 1.5px solid var(--border-soft);
      font-family: inherit;
      font-size: 0.95rem;
      background: var(--bg-ivory);
      color: var(--primary-deep);
      font-weight: 500;
      outline: none;
      transition: var(--transition-smooth);
      cursor: pointer;
    }

    .calc-select-lux:focus {
      border-color: var(--gold-primary);
      box-shadow: 0 0 0 3px rgba(36,107,72, 0.15);
      background: white;
    }

    .calc-checkbox-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .calc-checkbox-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      background: var(--bg-ivory);
      border: 1px solid var(--border-soft);
      border-radius: var(--radius-sm);
      cursor: pointer;
      transition: var(--transition-smooth);
      user-select: none;
    }

    .calc-checkbox-item:hover {
      border-color: var(--gold-primary);
      background: var(--gold-pale);
    }

    .calc-checkbox-item input[type="checkbox"] {
      width: 22px;
      height: 22px;
      accent-color: var(--primary-forest);
      cursor: pointer;
    }

    .calc-checkbox-item span {
      font-size: 0.88rem;
      font-weight: 500;
      color: var(--text-body);
    }

    /* Calculator Summary Card */
    .calc-receipt-card {
      background: #17533C;
      color: white;
      border-radius: var(--radius-lg);
      padding: 34px 28px;
      border: 1px solid var(--gold-border);
      box-shadow: var(--shadow-luxury);
      position: sticky;
      top: 100px;
    }

    .receipt-head-title {
      font-family: "Literata", Georgia, serif;
      font-size: 2rem;
      color: var(--gold-light);
      margin-bottom: 22px;
      padding-bottom: 14px;
      border-bottom: 1px solid rgba(36,107,72, 0.25);
    }

    .receipt-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 14px;
      font-size: 0.92rem;
      color: rgba(255, 255, 255, 0.8);
    }

    .receipt-row strong {
      color: white;
      font-family: "Golos Text", system-ui, sans-serif;
    }

    .receipt-total-box {
      margin-top: 24px;
      padding-top: 20px;
      border-top: 1.5px solid rgba(36,107,72, 0.35);
      display: flex;
      justify-content: space-between;
      align-items: baseline;
    }

    .total-title-tag {
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.95rem;
      color: var(--gold-light);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    .total-val-tag {
      font-family: "Literata", Georgia, serif;
      font-size: 2.5rem;
      font-weight: 700;
      color: var(--gold-light);
      line-height: 1;
    }

    /* LEGAL SHIELD CARDS (ЮРИДИЧЕСКИЙ ЩИТ) */
    .legal-shield-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 24px;
      margin: 40px 0;
    }

    .legal-card {
      background: var(--bg-surface);
      border: 1px solid var(--border-soft);
      border-radius: var(--radius-lg);
      padding: 30px 24px;
      box-shadow: var(--shadow-subtle);
      display: flex;
      align-items: flex-start;
      gap: 20px;
      transition: var(--transition-smooth);
    }

    .legal-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-luxury);
      border-color: var(--gold-primary);
    }

    .legal-icon-box {
      width: 52px;
      height: 52px;
      border-radius: 14px;
      background: var(--bg-champagne);
      border: 1px solid var(--gold-border);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--gold-primary);
      flex-shrink: 0;
    }

    .legal-text h4,
    .legal-text h3 {
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 1.15rem;
      color: var(--primary-deep);
      margin-bottom: 6px;
    }

    .legal-text p {
      font-size: 0.88rem;
      color: var(--text-muted);
      line-height: 1.6;
    }

    /* SQUARE GALLERY CARD GRID (ECOSYSTEM SHOWCASE) */
    .square-gallery-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
    }

    .sq-card {
      background: var(--bg-surface);
      border-radius: var(--radius-lg);
      overflow: hidden;
      border: 1px solid var(--border-soft);
      box-shadow: var(--shadow-subtle);
      display: flex;
      flex-direction: column;
      transition: var(--transition-smooth);
    }

    .sq-card:hover {
      transform: translateY(-8px);
      box-shadow: var(--shadow-hover);
      border-color: var(--gold-primary);
    }

    .sq-card-media {
      width: 100%;
      aspect-ratio: 1 / 1;
      position: relative;
      overflow: hidden;
      background: #17533C;
    }

    .sq-card-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .sq-card:hover .sq-card-media img {
      transform: scale(1.06);
    }

    .sq-media-placeholder {
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at 50% 40%, #1A5940 0%, #0C2A1F 100%);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 24px;
      text-align: center;
      border-bottom: 1px solid var(--gold-border);
    }

    .sq-media-placeholder svg {
      width: 54px;
      height: 54px;
      stroke: var(--gold-light);
      margin-bottom: 14px;
      filter: drop-shadow(0 4px 10px rgba(36,107,72, 0.3));
    }

    .sq-card-caption {
      padding: 22px 20px;
      display: flex;
      flex-direction: column;
      flex: 1;
      background: var(--bg-surface);
    }

    .sq-pill {
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.72rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.8px;
      padding: 4px 10px;
      border-radius: 999px;
      margin-bottom: 10px;
      align-self: flex-start;
    }

    .sq-pill.b2b { background: var(--primary-deep); color: var(--gold-light); border: 1px solid var(--gold-border); }
    .sq-pill.b2c { background: var(--primary-forest); color: white; }
    .sq-pill.edu { background: var(--gold-pale); color: var(--gold-primary); border: 1px solid var(--gold-border); }
    .sq-pill.club { background: var(--primary-forest); color: var(--gold-light); border: 1px solid rgba(36,107,72, 0.3); }

    .sq-title {
      font-family: "Literata", Georgia, serif;
      font-size: 1.6rem;
      color: var(--primary-deep);
      margin-bottom: 8px;
      line-height: 1.15;
    }

    .sq-desc {
      font-size: 0.86rem;
      color: var(--text-muted);
      line-height: 1.5;
      margin-bottom: 16px;
      flex: 1;
    }

    .sq-link-btn {
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.82rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: var(--primary-deep);
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-top: auto;
      transition: var(--transition-smooth);
      border: none;
      background: transparent;
      cursor: pointer;
      padding: 0;
      text-align: left;
    }

    .sq-link-btn:hover {
      color: var(--gold-primary);
      transform: translateX(3px);
    }

    /* INTERACTIVE NAVIGATOR / CONCIERGE QUIZ */
    .quiz-luxury-wrap {
      background: linear-gradient(180deg, var(--bg-champagne) 0%, var(--bg-ivory) 100%);
      border: 1px solid var(--gold-border);
      border-radius: var(--radius-xl);
      padding: 44px;
      box-shadow: var(--shadow-luxury);
      max-width: 960px;
      margin: 0 auto;
    }

    .quiz-progress-track {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 36px;
      position: relative;
    }

    .progress-line-bg {
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      height: 2px;
      background: var(--border-soft);
      z-index: 0;
      transform: translateY(-50%);
    }

    .progress-line-fill {
      position: absolute;
      top: 50%;
      left: 0;
      width: 25%;
      height: 2px;
      background: var(--gold-primary);
      z-index: 1;
      transform: translateY(-50%);
      transition: width 0.4s ease;
    }

    .prog-node {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: var(--bg-surface);
      border: 2px solid var(--border-soft);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--text-muted);
      z-index: 2;
      transition: var(--transition-smooth);
    }

    .prog-node.active {
      background: var(--primary-deep);
      border-color: var(--gold-primary);
      color: var(--gold-light);
      box-shadow: 0 0 0 4px rgba(36,107,72, 0.2);
    }

    .quiz-lux-card {
      border: 1.5px solid var(--border-soft);
      border-radius: var(--radius-md);
      padding: 22px;
      background: var(--bg-surface);
      cursor: pointer;
      transition: var(--transition-smooth);
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .quiz-lux-card:hover {
      border-color: var(--gold-primary);
      transform: translateY(-3px);
      box-shadow: var(--shadow-subtle);
    }

    .quiz-lux-card.selected {
      border-color: var(--gold-primary);
      background: var(--gold-pale);
      box-shadow: 0 0 0 1px var(--gold-primary);
    }

    .quiz-card-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .quiz-card-title {
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 1.02rem;
      font-weight: 700;
      color: var(--primary-deep);
    }

    .quiz-card-desc {
      font-size: 0.86rem;
      color: var(--text-muted);
      line-height: 1.5;
    }

    /* SPECIES LUXURY COLLECTION */
    .catalog-nav-tabs {
      display: flex;
      justify-content: center;
      gap: 10px;
      margin-bottom: 40px;
      flex-wrap: wrap;
    }

    .tab-pill {
      padding: 9px 22px;
      border-radius: var(--radius-sm);
      background: var(--bg-surface);
      border: 1px solid var(--border-soft);
      font-family: "Golos Text", system-ui, sans-serif;
      font-weight: 600;
      font-size: 0.85rem;
      letter-spacing: 0.5px;
      color: var(--text-muted);
      cursor: pointer;
      transition: var(--transition-smooth);
      text-transform: uppercase;
    }

    .tab-pill:hover, .tab-pill.active {
      background: var(--primary-deep);
      color: var(--gold-light);
      border-color: var(--primary-deep);
      box-shadow: var(--shadow-subtle);
    }

    .birds-lux-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
      gap: 28px;
    }

    .bird-lux-item {
      background: var(--bg-surface);
      border-radius: var(--radius-lg);
      overflow: hidden;
      border: 1px solid var(--border-soft);
      box-shadow: var(--shadow-subtle);
      transition: var(--transition-smooth);
      display: flex;
      flex-direction: column;
    }

    .bird-lux-item:hover {
      transform: translateY(-8px);
      box-shadow: var(--shadow-luxury);
      border-color: var(--gold-border);
    }

    .bird-visual-frame {
      height: 270px;
      position: relative;
      overflow: hidden;
      background: #E5DDD0;
    }

    .bird-visual-frame img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 28%;
      transition: transform 0.8s ease;
    }

    .bird-lux-item:hover .bird-visual-frame img {
      transform: scale(1.05);
    }

    .bird-badge-tier {
      position: absolute;
      top: 14px;
      left: 14px;
      background: rgba(18,60,46, 0.9);
      backdrop-filter: blur(8px);
      color: var(--gold-light);
      padding: 5px 12px;
      border-radius: var(--radius-sm);
      border: 1px solid var(--gold-border);
      font-size: 0.72rem;
      font-family: "Golos Text", system-ui, sans-serif;
      font-weight: 700;
      letter-spacing: 0.8px;
      text-transform: uppercase;
    }

    .bird-content-body {
      padding: 24px;
      display: flex;
      flex-direction: column;
      flex: 1;
    }

    .bird-headline-row {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      margin-bottom: 6px;
    }

    .bird-title {
      font-family: "Literata", Georgia, serif;
      font-size: 1.6rem;
      color: var(--primary-deep);
      font-weight: 700;
    }

    .bird-latin {
      font-size: 0.78rem;
      font-style: italic;
      color: var(--text-muted);
    }

    .bird-intro {
      font-size: 0.9rem;
      color: var(--text-body);
      line-height: 1.55;
      margin-bottom: 18px;
    }

    .bird-metrics-matrix {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      background: var(--bg-champagne);
      border: 1px solid var(--border-soft);
      border-radius: var(--radius-sm);
      padding: 10px;
      margin-bottom: 20px;
      text-align: center;
    }

    .metric-cell span {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: var(--text-muted);
      display: block;
      margin-bottom: 2px;
    }

    .metric-cell strong {
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.88rem;
      color: var(--primary-deep);
    }

    .bird-card-bottom {
      margin-top: auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-top: 16px;
      border-top: 1px solid var(--border-soft);
    }

    .bird-price-box span {
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.8px;
      color: var(--text-muted);
      display: block;
    }

    .bird-price-box strong {
      font-family: "Literata", Georgia, serif;
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--primary-deep);
    }

    /* COMMUNITY & FORUM TEASER */
    .forum-section-wrap {
      background: var(--primary-deep);
      color: white;
      border-radius: var(--radius-xl);
      padding: 60px 44px;
      margin: 40px 0;
      border: 1px solid var(--gold-border);
      position: relative;
      overflow: hidden;
    }

    .forum-section-wrap::before {
      content: '';
      position: absolute;
      top: -100px;
      right: -100px;
      width: 400px;
      height: 400px;
      background: radial-gradient(circle, rgba(36,107,72, 0.18) 0%, rgba(18,60,46, 0) 70%);
      pointer-events: none;
    }

    .forum-layout {
      display: grid;
      grid-template-columns: 1fr 1.2fr;
      gap: 44px;
      align-items: center;
      position: relative;
      z-index: 1;
    }

    .forum-info h3 {
      font-size: 2.6rem;
      color: var(--gold-light);
      margin-bottom: 14px;
    }

    .forum-info p {
      font-size: 1rem;
      color: rgba(255, 255, 255, 0.8);
      line-height: 1.65;
      margin-bottom: 26px;
    }

    .forum-topics-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .forum-topic-card {
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(36,107,72, 0.2);
      border-radius: var(--radius-md);
      padding: 15px 18px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      transition: var(--transition-smooth);
      cursor: pointer;
    }

    .forum-topic-card:hover {
      background: rgba(255, 255, 255, 0.1);
      border-color: var(--gold-primary);
      transform: translateX(4px);
    }

    .topic-meta h5 {
      font-size: 0.92rem;
      color: white;
      margin-bottom: 3px;
    }

    .topic-meta span {
      font-size: 0.76rem;
      color: var(--gold-light);
    }

    .topic-badge-count {
      font-size: 0.8rem;
      color: rgba(255, 255, 255, 0.6);
      display: flex;
      align-items: center;
      gap: 6px;
    }

    /* FOOTER */
    footer {
      background: #0C2A1F;
      color: rgba(255, 255, 255, 0.75);
      padding: 70px 0 30px;
      border-top: 1px solid rgba(36,107,72, 0.2);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
      gap: 36px;
      margin-bottom: 50px;
    }

    .footer-col h4 {
      color: var(--gold-light);
      font-size: 1rem;
      margin-bottom: 18px;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .footer-links {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .footer-links a {
      color: rgba(255, 255, 255, 0.65);
      font-size: 0.88rem;
      transition: var(--transition-smooth);
    }

    .footer-links a:hover {
      color: var(--gold-light);
      padding-left: 4px;
    }

    .footer-bottom a {
      display: inline-block;
      padding: 6px 0;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      padding-top: 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.8rem;
      color: rgba(255, 255, 255, 0.45);
      flex-wrap: wrap;
      gap: 12px;
    }

    /* MODAL */
    .lux-modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(18,60,46, 0.75);
      backdrop-filter: blur(12px);
      z-index: 9999;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 16px;
    }

    .lux-modal-overlay.active {
      display: flex;
    }

    .lux-modal-card {
      background: var(--bg-surface);
      border: 1.5px solid var(--gold-primary);
      border-radius: var(--radius-xl);
      padding: 38px 32px;
      max-width: 540px;
      width: 100%;
      position: relative;
      box-shadow: var(--shadow-luxury);
      animation: modalFade 0.35s ease;
      max-height: 90vh;
      overflow-y: auto;
    }

    @keyframes modalFade {
      from { opacity: 0; transform: translateY(12px) scale(0.97); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }

    .lux-modal-close {
      position: absolute;
      top: 20px;
      right: 20px;
      background: var(--bg-champagne);
      border: 1px solid var(--border-soft);
      width: 36px;
      height: 36px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--primary-deep);
    }

    .form-ctrl {
      margin-bottom: 16px;
    }

    .form-ctrl label {
      display: block;
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.8rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: var(--primary-deep);
      margin-bottom: 6px;
    }

    .form-input-lux {
      width: 100%;
      padding: 13px 16px;
      border-radius: var(--radius-sm);
      border: 1.5px solid var(--border-soft);
      font-family: inherit;
      font-size: 0.92rem;
      background: var(--bg-ivory);
      outline: none;
      transition: var(--transition-smooth);
    }

    .form-input-lux:focus {
      border-color: var(--gold-primary);
      background: white;
      box-shadow: 0 0 0 3px rgba(36,107,72, 0.15);
    }

    .form-legal-block {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin: 18px 0;
      padding-top: 12px;
      border-top: 1px solid var(--border-soft);
    }

    .form-check-label {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 0.78rem;
      color: var(--text-muted);
      line-height: 1.45;
      cursor: pointer;
    }

    .form-check-label input[type="checkbox"] {
      width: 22px;
      height: 22px;
      accent-color: var(--primary-forest);
      margin-top: 2px;
      flex-shrink: 0;
      cursor: pointer;
    }

    .form-check-label a {
      color: var(--primary-sage);
      text-decoration: underline;
      font-weight: 600;
    }

    /* COOKIE BANNER */
    .cookie-banner {
      position: fixed;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      width: calc(100% - 40px);
      max-width: 680px;
      background: rgba(18,60,46, 0.96);
      backdrop-filter: blur(16px);
      border: 1px solid var(--gold-border);
      border-radius: var(--radius-md);
      padding: 16px 22px;
      color: white;
      z-index: 9998;
      box-shadow: var(--shadow-luxury);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      animation: bannerSlideUp 0.4s ease;
    }

    @keyframes bannerSlideUp {
      from { transform: translate(-50%, 100%); opacity: 0; }
      to { transform: translate(-50%, 0); opacity: 1; }
    }

    .cookie-text {
      font-size: 0.8rem;
      color: rgba(255, 255, 255, 0.85);
      line-height: 1.45;
    }

    .cookie-text a {
      color: var(--gold-light);
      text-decoration: underline;
    }

    .cookie-btn {
      padding: 8px 18px;
      background: var(--gold-gradient);
      color: #F1EBDD;
      font-family: "Golos Text", system-ui, sans-serif;
      font-size: 0.8rem;
      font-weight: 700;
      border: none;
      border-radius: var(--radius-sm);
      cursor: pointer;
      text-transform: uppercase;
      white-space: nowrap;
    }

    /* RESPONSIVE & MOBILE ADAPTATION */
    @media (max-width: 1220px) {
      .capsule-menu { display: none; }
      .capsule-burger { display: flex; }
      .manifesto-triptych-grid { grid-template-columns: repeat(2, 1fr); }
      .legal-shield-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 1024px) {
      .square-gallery-grid { grid-template-columns: repeat(2, 1fr); }
      .protocol-grid { grid-template-columns: repeat(3, 1fr); }
      .calc-layout-grid { grid-template-columns: 1fr; }
      .calc-receipt-card { position: static; }
      .forum-layout { grid-template-columns: 1fr; }
      .hero-grid { grid-template-columns: 1fr; }
      .hero-art-frame { order: -1; }
      .art-img-wrapper { height: 360px; }
      .manifesto-triptych-grid { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 768px) {
      .hero-wrap {
        padding: 30px 0 60px;
        background-image: 
          linear-gradient(180deg, rgba(250, 247, 242, 0.45) 0%, rgba(250, 247, 242, 0.15) 30%, rgba(250, 247, 242, 0.95) 100%),
          url("/assets/bg/hero-mobile.webp");
        background-size: cover;
        background-position: center top;
        background-repeat: no-repeat;
        min-height: auto;
      }
      .hero-text-col {
        padding: 28px 20px;
        border-radius: var(--radius-lg);
        background: rgba(255, 255, 255, 0.93);
        backdrop-filter: blur(16px);
      }
      .capsule-header-holder { top: 8px; padding: 0 8px; width: 100%; }
      .capsule-navbar { height: 52px; padding: 0 6px 0 10px; gap: 6px; width: 100%; }
      .capsule-logo-text { font-size: 1.15rem; letter-spacing: 0.2px; }
      .capsule-logo-text span { font-size: 0.82rem; }
      .capsule-crest { width: 26px; height: 26px; }
      .capsule-crest svg { width: 13px; height: 13px; }
      .capsule-actions { gap: 6px; }
      .capsule-btn-cta { padding: 7px 12px; font-size: 0.72rem; letter-spacing: 0.2px; }
      .capsule-burger { padding: 6px 10px; height: 32px; font-size: 0.72rem; gap: 4px; }
      .capsule-phone-chip { display: none; }
      .protocol-grid { grid-template-columns: 1fr 1fr; }
      .quiz-luxury-wrap { padding: 28px 18px; }
      .calc-card-wrap { padding: 28px 18px; }
      .manifesto-wrap { padding: 40px 20px; }
      .cookie-banner { flex-direction: column; align-items: flex-start; text-align: left; }
    }

    @media (max-width: 480px) {
      .capsule-header-holder { top: 6px; padding: 0 6px; }
      .capsule-navbar { height: 48px; padding: 0 4px 0 8px; gap: 4px; }
      .capsule-brand { gap: 6px; }
      .capsule-logo-text { font-size: 1.02rem; }
      .capsule-logo-text span { font-size: 0.75rem; }
      .capsule-crest { width: 24px; height: 24px; }
      .capsule-btn-cta { padding: 6px 10px; font-size: 0.68rem; }
      .capsule-burger { padding: 5px 8px; height: 30px; font-size: 0.68rem; }
      .capsule-burger svg { width: 12px; height: 12px; }
    }

    @media (max-width: 360px) {
      .capsule-crest { display: none; }
      .capsule-logo-text { font-size: 0.95rem; }
      .capsule-btn-cta { padding: 5px 8px; font-size: 0.65rem; }
      .capsule-burger { padding: 4px 7px; font-size: 0.65rem; }
    }

    @media (max-width: 600px) {
      .container { padding: 0 16px; }
      .square-gallery-grid { grid-template-columns: 1fr; }
      .protocol-grid { grid-template-columns: 1fr; }
      .birds-lux-grid { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr; }
      .hero-stats-row { grid-template-columns: 1fr; gap: 14px; }
      .hero-ctas { flex-direction: column; width: 100%; }
      .hero-ctas .btn-lux { width: 100%; }
      .art-img-wrapper { height: 280px; }
      .floating-luxury-badge { position: relative; bottom: 0; right: 0; margin-top: 14px; width: 100%; }
      .forum-section-wrap { padding: 40px 20px; }
      .lux-modal-card { padding: 30px 18px; }
    }
  

/* ================================================================
   НОВОЕ ОФОРМЛЕНИЕ — принято 31.08.2026, перенесено 01.09.2026.
   Разметка и скрипты не менялись: только фон, шапка и блоки.
   ================================================================ */

:root{
  --vk-sky-pale:#DDD5C2;
  --vk-chrome:#246B48;
  --vk-cobalt-deep:#17533C;
  --vk-salmon:#E39A7C;
  --vk-head-h:66px;
  --vk-pad:clamp(18px,4vw,40px);
}

html{scroll-behavior:smooth;}
body{background:transparent !important;padding-top:var(--vk-head-h);}

/* ---------- неподвижный фон тремя слоями ---------- */
.vk-layer{position:fixed;inset:0;pointer-events:none;}
.vk-photo{
  z-index:-3;
  background-image:url("/assets/bg/hero-desktop.webp");
  background-size:cover;
  background-position:50% 0%;
  transform:scale(1.05);
  animation:vk-settle 2400ms cubic-bezier(.16,.7,.3,1) forwards;
}
@keyframes vk-settle{to{transform:scale(1);}}

.vk-strip{display:none;}
@media (min-width:761px){
  .vk-photo{top:var(--vk-head-h);}
  .vk-strip{
    display:block;position:fixed;top:0;left:0;right:0;height:67px;z-index:-3;
    background:linear-gradient(180deg,#DDD5C2 0%,#CFC6B0 100%);pointer-events:none;
  }
}
@media (max-width:760px){
  .vk-photo{
    background-image:url("/assets/bg/hero-mobile.webp");
    background-size:auto 92%;
    background-position:88% 100%;
    background-repeat:no-repeat;
    background-color:#CFC6B0;
    animation:none;transform:none;
  }
}

.vk-light{
  z-index:-2;
  background:
    radial-gradient(80% 60% at 20% 4%, rgba(255,248,236,.38) 0%, rgba(255,248,236,0) 62%),
    radial-gradient(130% 100% at 50% 52%, rgba(14,46,30,0) 46%, rgba(14,46,30,.22) 100%);
}
.vk-grain{
  z-index:-1;opacity:.13;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- шапка: полоса матового стекла вместо капсулы ---------- */
.capsule-header-holder{
  position:fixed !important;top:0;left:0;right:0;z-index:1000;
  padding:0 !important;margin:0 !important;
  background:linear-gradient(180deg,rgba(250,253,252,.9) 0%,rgba(230,248,239,.82) 100%);
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  border-bottom:1px solid rgba(30,90,64,.24);
  box-shadow:0 6px 22px rgba(18,60,46,.1);
}
.capsule-navbar{
  max-width:1180px !important;margin:0 auto !important;
  height:var(--vk-head-h) !important;
  padding:0 var(--vk-pad) !important;
  background:none !important;border:none !important;border-radius:0 !important;
  box-shadow:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
}

/* логотип — хром-гиацинт с бегущим бликом и мягким ореолом */
.capsule-logo-text{
  background-image:linear-gradient(178deg,#CBF0DE 0%,#389061 24%,#FFFFFF 45%,#2A7A52 58%,#1C6246 84%,#3F9A69 100%);
  background-size:100% 260%;
  -webkit-background-clip:text;background-clip:text;
  color:transparent !important;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.9)) drop-shadow(0 0 9px rgba(82,205,144,.55));
  animation:vk-sheen 7s ease-in-out infinite;
}
@keyframes vk-sheen{
  0%,100%{background-position:50% 22%;}
  50%{background-position:50% 78%;}
}
.capsule-logo-text span{-webkit-text-fill-color:#389061;color:#389061;}
.capsule-crest{filter:hue-rotate(0deg);}

/* ---------- первый экран: фон снят, он теперь общий ---------- */
.hero-wrap{
  background-image:none !important;
  background-color:transparent !important;
  padding:clamp(30px,7vh,70px) 0 clamp(30px,6vw,64px) !important;
}

/* ---------- секции превращаются в блоки поверх фотографии ---------- */
.container{max-width:1080px !important;}

.section-wrap{padding:0 0 clamp(36px,6vw,76px) !important;}

.section-wrap > .container,
section.container,
.hero-wrap > .container{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-radius:6px;
  padding:clamp(22px,3.6vw,40px) clamp(20px,3.2vw,38px);
  box-shadow:0 18px 44px rgba(18,60,46,.16);
  scroll-margin-top:calc(var(--vk-head-h) + 16px);
}
section.container{margin-bottom:clamp(36px,6vw,76px);}

@media (max-width:760px){
  .section-wrap{padding:0 0 22vh !important;}
  section.container{margin-bottom:22vh;}
}

/* подвал тоже блоком */
body > footer{
  max-width:1080px;margin:0 auto clamp(40px,7vw,80px);
  padding:clamp(22px,3.6vw,38px) clamp(20px,3.2vw,36px) !important;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-radius:6px;
  box-shadow:0 18px 44px rgba(18,60,46,.16);
}

/* тёплый акцент оставляем только точечно */
.seo-badge-dot{background:var(--vk-salmon) !important;}

/* ---------- фирменный знак ---------- */
.vk-logo{
  width:44px;height:44px;border-radius:50%;
  flex-shrink:0;display:block;
  box-shadow:0 2px 10px rgba(18,60,46,.18);
}
.capsule-brand{gap:12px;}
@media (max-width:760px){
  .vk-logo{width:38px;height:38px;}
}

/* в тёмном мобильном меню надпись белая: хром на тёмном не читается */
.mobile-drawer-head .capsule-logo-text{
  background:none !important;
  -webkit-text-fill-color:#FFFFFF !important;
  color:#FFFFFF !important;
  filter:none !important;
  animation:none !important;
}
.mobile-drawer-head .capsule-logo-text span{
  -webkit-text-fill-color:#BBEBD3 !important;color:#BBEBD3 !important;
}

/* ---------- шапка: структура от 01.09.2026 ---------- */
.capsule-menu{gap:22px;}
.capsule-link{white-space:nowrap;}

/* в мобильном меню девять пунктов — оно должно прокручиваться на низких экранах */
.mobile-menu-drawer{overflow-y:auto;-webkit-overflow-scrolling:touch;}
.mobile-nav-links{gap:2px;}
.mobile-nav-item{padding-top:13px;padding-bottom:13px;}

/* ================= ПРАВКИ ПО ИТОГАМ ПРОВЕРКИ РЕНДЕРОМ ================= */

/* 1. Подвал: ряд юридических ссылок не переносился и вылезал за экран на 30px */
.footer-bottom > div{flex-wrap:wrap;gap:12px 18px;}
@media (max-width:520px){
  body > footer{padding-left:16px !important;padding-right:16px !important;}
  body > footer .container{padding-left:0;padding-right:0;}
}

/* 2. Таблица сравнения на телефоне. Мобильная раскладка карточками в стилях есть,
   но `min-width:720px` из настольного правила стоит ниже и её перебивал: таблица
   уезжала на 720px и обрезалась, а колонка «ВЫКОРМЫШ.РФ» — самая правая — пропадала.
   Поломка досталась в наследство от прежней страницы, здесь исправлена. */
@media (max-width:760px){
  .compare-table{min-width:0 !important;}
}

/* 3. Высота шапки: отступ содержимого должен совпадать с реальной высотой,
   иначе шапка накрывает первый блок */

/* 4. Полоса неба за шапкой следует за её высотой, чтобы не было стыка */
@media (min-width:761px){
  .sky-strip{height:calc(var(--vk-head-h) + 1px);}
}

/* ================= ШАПКА: исправления 01.09.2026 ================= */

/* Компьютер. Меню не сжимается: у пунктов padding 7/12 и рамки у выделенных,
   пяти пунктам с телефоном и логотипом нужно ~1130px. Даём 1280 и уменьшаем зазоры,
   а ниже 1300px переходим на кнопку меню — так номер телефона не может быть срезан. */
.capsule-navbar{max-width:1280px !important;}
.capsule-menu{gap:12px;min-width:0;}
.capsule-link{padding:7px 10px;}

@media (max-width:1300px){
  .capsule-menu{display:none !important;}
  .capsule-burger{display:flex !important;}
}

/* Телефон. Раскладка в два ряда сеткой: она не зависит от порядка и переноса.
   Группу действий распускаем через display:contents, чтобы её дети попали в сетку. */
@media (max-width:900px){
  :root{--vk-head-h:100px;}

  .capsule-navbar{
    display:grid !important;
    grid-template-columns:1fr auto;
    grid-template-areas:"brand phone" "burger burger";
    align-items:center;
    height:auto !important;
    row-gap:8px;column-gap:10px;
    padding:9px var(--vk-pad) !important;
  }
  .capsule-actions{display:contents;}
  .capsule-brand{grid-area:brand;}

  /* старое правило прячет номер с 768px — возвращаем его явно */
  .capsule-phone-chip{
    grid-area:phone;
    display:inline-flex !important;
    justify-self:end;
  }
  /* кнопка меню остаётся компактной, а не во всю строку */
  .capsule-burger{
    grid-area:burger;
    justify-self:start;
    display:flex !important;
    width:auto;flex-basis:auto;
  }
}

/* Узкие телефоны: логотип и номер в одном ряду должны помещаться на 360px */
@media (max-width:430px){
  .capsule-logo-text{font-size:0.92rem;}
  .capsule-logo-text span{font-size:0.7rem;}
  .capsule-phone-chip{font-size:0.76rem;padding:6px 10px;gap:6px;}
  .vk-logo{width:34px;height:34px;}
}

/* Cookie-баннер не должен ложиться на нижнюю панель */
@media (max-width:900px){
  .cookie-banner{bottom:calc(84px + env(safe-area-inset-bottom,0px)) !important;}
}

/* ---------- нижняя стеклянная панель ---------- */
.vk-bottombar{display:none;}
@media (max-width:900px){
  .vk-bottombar{
    display:block;
    position:fixed;left:0;right:0;bottom:0;z-index:900;
    padding:10px var(--vk-pad) calc(10px + env(safe-area-inset-bottom,0px));
    background:linear-gradient(180deg,rgba(250,253,252,.86) 0%,rgba(229,247,238,.92) 100%);
    backdrop-filter:blur(20px) saturate(1.2);
    -webkit-backdrop-filter:blur(20px) saturate(1.2);
    border-top:1px solid rgba(30,90,64,.24);
    box-shadow:0 -8px 26px rgba(18,60,46,.14);
  }
  .vk-bottombar-btn{
    display:block;width:100%;
    font-family:'Golos Text',system-ui,sans-serif;font-size:16px;font-weight:700;
    padding:15px 20px;border:none;border-radius:4px;cursor:pointer;
    background:linear-gradient(180deg,#2E8558 0%,#246B48 52%,#1C6246 100%);
    color:#FBF8F1;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 18px rgba(28,98,70,.32);
  }
  .vk-bottombar-btn:active{background:#1C6246;}
  .vk-bottombar-btn:focus-visible{outline:2px solid #1C6246;outline-offset:3px;}
  /* чтобы панель не накрывала подвал */
  body{padding-bottom:82px;}
}

@media (prefers-reduced-motion:reduce){




  .vk-photo{animation:none;transform:none;}
  .capsule-logo-text{animation:none;background-position:50% 46%;}
  html{scroll-behavior:auto;}
}

/* высота шапки — последнее слово, чтобы отступ содержимого совпадал с реальной высотой */
@media (max-width:900px){:root{--vk-head-h:110px;}}
@media (max-width:520px){:root{--vk-head-h:92px;}}

/* ================= ФОН: привязка к реальной высоте шапки =================
   Шапка на телефоне двухрядная и выше прежней. Полоса неба над фотографией
   должна равняться её высоте, иначе шапка накрывает голову гиацинтового ары. */
.vk-strip{
  display:block !important;
  position:fixed;top:0;left:0;right:0;
  height:calc(var(--vk-head-h) + 1px);
  z-index:-3;
  background:linear-gradient(180deg,#DDD5C2 0%,#CFC6B0 100%);
  pointer-events:none;
}
.vk-photo{top:var(--vk-head-h) !important;}

@media (max-width:760px){
  .vk-photo{
    /* высота — вся оставшаяся площадь под шапкой, кадр по-прежнему сдвинут вправо */
    background-size:auto 100% !important;
    background-position:88% 100% !important;
  }
}

/* ================= ШАПКА: запас по ширине =================
   `min-width:0` разрешал меню сжиматься, и вместо выдавливания оно обрезалось —
   «Энциклопедия» превращалась в «Э». Сжатие убрано, шапке дан реальный запас. */
.capsule-menu{min-width:auto;flex-shrink:0;gap:10px;}
.capsule-navbar{max-width:1400px !important;}
.capsule-link{padding:7px 9px;font-size:0.82rem;}
/* уменьшенный логотип — только на компьютере: на телефоне свои размеры,
   иначе он выдавливает номер за край */
@media (min-width:901px){
  .capsule-logo-text{font-size:1.3rem;}
}

/* последний рубеж: если места всё равно мало — уходим в кнопку меню, а не режем текст */
@media (max-width:1300px){
  .capsule-menu{display:none !important;}
  .capsule-burger{display:flex !important;}
}

/* ================= КНОПКИ МЕССЕНДЖЕРОВ ================= */
.vk-msgs{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.vk-msg{
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#2E8558 0%,#246B48 55%,#1C6246 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 3px 10px rgba(28,98,70,.3);
  text-decoration:none;flex-shrink:0;
  transition:transform .18s ease,box-shadow .18s ease;
}
.vk-msg svg{width:17px;height:17px;fill:#FFFFFF;}
.vk-msg:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 6px 16px rgba(28,98,70,.42);}
.vk-msg:focus-visible{outline:2px solid #1C6246;outline-offset:3px;}

/* на телефоне — второй ряд справа, напротив кнопки МЕНЮ */
@media (max-width:900px){
  .capsule-navbar{grid-template-areas:"brand phone" "burger msgs" !important;}
  .vk-msgs{grid-area:msgs;justify-self:end;}
}
@media (max-width:430px){
  .vk-msg{width:31px;height:31px;}
  .vk-msg svg{width:15px;height:15px;}
}

@media (prefers-reduced-motion:reduce){
  .vk-msg{transition:none;}
}

/* MAX: текстовый знак — рисовать чужой логотип по памяти нельзя, а буквы читаются однозначно */
.vk-msg-max span{
  font-family:'Golos Text',system-ui,sans-serif;
  font-size:9.5px;font-weight:700;letter-spacing:.02em;color:#FFFFFF;
}
@media (max-width:430px){ .vk-msg-max span{font-size:8.5px;} }

/* ================= ПОДВАЛ =================
   Текст подвала светлый — он рассчитан на тёмный фон. Белая подложка из общего
   правила блоков делала его нечитаемым. Возвращаем глубокий синий. */
body > footer{
  background:linear-gradient(180deg,rgba(23,83,60,.94) 0%,rgba(12,42,31,.96) 100%) !important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 18px 44px rgba(18,60,46,.24);
}
body > footer h4{color:#FFFFFF;}
body > footer .footer-links a{color:rgba(238,232,218,.82);}
body > footer .footer-links a:hover{color:#FFFFFF;}
body > footer .footer-bottom{color:rgba(238,232,218,.7);}
body > footer .footer-bottom a{color:rgba(238,232,218,.85);}
body > footer .footer-bottom a:hover{color:#FFFFFF;}

/* контраст: янтарный в таблице сравнения давал 3.19 при норме 4.5 */
.status-warn{color:#A8480A !important;}

/* ================= ПЕРВЫЙ ЭКРАН =================
   Подложка под первым экраном убрана: фотография должна работать сама.
   На телефоне текст с предложением идёт выше фотографии — у сайта услуги
   первым делом читают оффер, а не картинку. */
.hero-wrap > .container{
  background:none !important;
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding-left:0 !important;padding-right:0 !important;
}
@media (max-width:900px){
  .hero-art-frame{order:1 !important;}
  .hero-text-col{order:0 !important;}
}

/* первый экран на телефоне: вместо плотной белой подложки — лёгкое стекло,
   фотография без белой рамки */
@media (max-width:900px){
  .hero-text-col{
    background:rgba(255,255,255,.58) !important;
    backdrop-filter:blur(14px) saturate(1.1);
    -webkit-backdrop-filter:blur(14px) saturate(1.1);
  }
  .art-card{
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
    padding:0 !important;
  }
}

/* ================= ПЕРВЫЙ ЭКРАН: показатели =================
   Показатель гарантии убран — гарантию мы не даём. Два оставшихся идут
   в одну строку компактными капсулами, а не столбиком во всю высоту. */
.hero-stats-row{
  display:flex !important;
  flex-wrap:nowrap;
  gap:10px !important;
  padding-top:18px !important;
}
.stat-box{
  flex:1 1 0;min-width:0;
  flex-direction:row !important;
  align-items:baseline;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(36,107,72,.07);
  border:1px solid rgba(36,107,72,.16);
}
.stat-val{
  font-size:1.05rem !important;
  color:var(--gold-primary) !important;
  white-space:nowrap;
}
.stat-label{
  margin-top:0 !important;
  font-size:0.78rem;
  line-height:1.25;
  color:var(--text-body);
}

@media (max-width:900px){
  .hero-stats-row{grid-template-columns:none !important;gap:8px !important;}
  .stat-box{padding:9px 12px;}
  .stat-val{font-size:0.98rem !important;}
  .stat-label{font-size:0.72rem;}
}
@media (max-width:380px){
  .stat-box{padding:8px 10px;gap:6px;}
  .stat-label{font-size:0.68rem;}
}

/* ================= ПЕРВЫЙ ЭКРАН НА КОМПЬЮТЕРЕ =================
   Карточка была вытянута в высоту. Даём ей больше ширины, уменьшаем кегль
   заголовка и описания, подложку делаем полупрозрачной, как на телефоне. */
@media (min-width:901px){
  .hero-wrap > .container{max-width:1240px !important;}
  .hero-grid{grid-template-columns:1.55fr 1fr !important;}

  .hero-text-col{
    background:rgba(255,255,255,.62) !important;
    backdrop-filter:blur(16px) saturate(1.1);
    -webkit-backdrop-filter:blur(16px) saturate(1.1);
  }
  .hero-title{font-size:clamp(2rem,3.1vw,2.85rem) !important;}
  .hero-desc{font-size:1rem !important;max-width:62ch;}
}

/* ================= ПЕРВЫЙ ЭКРАН: воздух и кнопки =================
   Между кнопками и капсулами было 40px отступа плюс 18px внутренних — почти 60.
   На компьютере кнопки стояли столбиком, хотя помещаются в строку.
   На телефоне вторая кнопка убрана: её роль выполняет закреплённая нижняя панель. */
.hero-ctas{
  display:flex;flex-wrap:wrap;gap:12px;
  margin-bottom:18px !important;
}
.hero-stats-row{padding-top:14px !important;}

@media (max-width:900px){
  .hero-ctas .btn-lux-outline{display:none !important;}
  .hero-ctas{margin-bottom:16px !important;}
}

/* кнопки первого экрана на компьютере: вместе они были 624px при колонке 572 и падали
   в два ряда. Уменьшаем поля и кегль — встают в строку, карточка ниже на 57px. */
@media (min-width:901px){
  .hero-ctas .btn-lux{
    padding:13px 20px;
    font-size:0.76rem;
    letter-spacing:0.6px;
  }
}

/* пока первый экран в две колонки (от 1025px) — кнопки жёстко в одну строку
   и делят её поровну, переносить их нечему */
@media (min-width:1025px){
  .hero-ctas{flex-wrap:nowrap !important;}
  .hero-ctas .btn-lux{flex:1 1 0;min-width:0;justify-content:center;text-align:center;}
}

/* ================= ЕДИНАЯ СЕТКА =================
   Шапка ограничена 1400px и имеет боковые поля var(--vk-pad).
   Значит её содержимое занимает 1320px. Даём блокам ровно ту же ширину,
   чтобы края карточек совпали с логотипом слева и кнопкой MAX справа
   на любой ширине экрана. */
.container{
  width:min(1320px, calc(100% - 2 * var(--vk-pad))) !important;
  max-width:none !important;
  margin-left:auto !important;margin-right:auto !important;
}
/* у первого экрана подложки нет — там поля не нужны, содержимое идёт по краю сетки */
.hero-wrap > .container{padding-left:0 !important;padding-right:0 !important;}
/* у блоков с подложкой поля внутренние: ширина 1320 считается по внешнему краю */
.section-wrap > .container,
section.container{
  padding-left:clamp(20px,3.2vw,38px) !important;
  padding-right:clamp(20px,3.2vw,38px) !important;
}
.hero-wrap > .container{
  width:min(1320px, calc(100% - 2 * var(--vk-pad))) !important;
  max-width:none !important;
}

/* длина строки: карточка широкая, но абзац не должен растягиваться через весь экран */
.sec-intro,.hero-desc,.legal-text p,.manifesto-card-text{max-width:74ch;}
.sec-head,.section-head{max-width:none;}

/* первый экран: колонки пересчитываем под новую ширину */
@media (min-width:1025px){
  .hero-grid{grid-template-columns:1.45fr 1fr !important;}
  .hero-desc{max-width:66ch;}
}

/* в старых стилях у текстовой колонки первого экрана стоял лимит 650px —
   он не давал ей воспользоваться новой шириной сетки */
@media (min-width:1025px){
  .hero-text-col{max-width:none !important;}
}

/* ================= ОТДЕЛКА КНОПОК: ЧЕТЫРЕ ВАРИАНТА =================
   Переключаются классом на body. После выбора лишние варианты и переключатель убираются. */

/* общее для главных кнопок */
.btn-lux-gold, .vk-bottombar-btn{
  position:relative;
  border:1px solid transparent;
  transition:background .22s ease, box-shadow .22s ease, transform .18s ease, color .22s ease;
}
.btn-lux-gold:hover, .vk-bottombar-btn:hover{transform:translateY(-1px);}

@media (prefers-reduced-motion:reduce){
  .btn-lux-gold,.vk-bottombar-btn{transition:none;}
  .btn-lux-gold:hover,.vk-bottombar-btn:hover{transform:none;}
}

/* ================= ФИРМЕННАЯ КНОПКА «АКВА» =================
   Утверждена владельцем 01.09.2026 по присланному образцу.
   Хромовая окантовка, глянец по верхней трети, глубокий кобальт к низу,
   голубое свечение снизу. Белая надпись с тенью — иначе она теряется на блике.
   Это стандартная кнопка сайта: используется на всех страницах. */
.btn-lux-gold,
.vk-bottombar-btn{
  position:relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,.80) 0%, rgba(255,255,255,.30) 33%, rgba(255,255,255,0) 47%) padding-box,
    radial-gradient(62% 44% at 50% 112%, rgba(171,230,201,.85) 0%, rgba(171,230,201,0) 72%) padding-box,
    linear-gradient(180deg,#C9EFDC 0%,#7FD9AC 26%,#1C7A6E 52%,#105E55 80%,#0E4F48 100%) padding-box,
    linear-gradient(180deg,#FFFFFF 0%,#C9BFA9 17%,#6E6050 47%,#F5F0E4 66%,#776952 100%) border-box !important;
  border:2px solid transparent !important;
  border-radius:12px !important;
  color:#FFFFFF !important;
  text-shadow:0 1px 2px rgba(15,51,33,.65);
  box-shadow:0 8px 20px rgba(14,48,36,.34);
  transition:filter .2s ease, transform .18s ease, box-shadow .2s ease;
}
.btn-lux-gold:hover,
.vk-bottombar-btn:hover{
  filter:brightness(1.07);
  transform:translateY(-1px);
  box-shadow:0 11px 26px rgba(14,48,36,.4);
}
.btn-lux-gold:active,
.vk-bottombar-btn:active{
  transform:translateY(0);
  filter:brightness(.97);
  box-shadow:0 4px 12px rgba(14,48,36,.34);
}
.btn-lux-gold:focus-visible,
.vk-bottombar-btn:focus-visible{outline:2px solid #105E55;outline-offset:3px;}

/* второстепенная кнопка повторяет форму главной, но остаётся тихой */
.btn-lux-outline{border-radius:12px !important;}

@media (prefers-reduced-motion:reduce){
  .btn-lux-gold,.vk-bottombar-btn{transition:none;}
  .btn-lux-gold:hover,.vk-bottombar-btn:hover{transform:none;}
}

/* фотография в карточке первого экрана показывается целиком:
   контейнер получает пропорции снимка 3:4, иначе птицу режет по низу */
.art-img-wrapper{
  aspect-ratio:3 / 4;
  height:auto !important;
  min-height:0 !important;
}
.art-img-wrapper img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 42%;
}

/* ================= ЗНАК ПРОВЕРКИ НА ФОТОГРАФИИ =================
   Раньше на телефоне он шёл отдельной строкой во всю ширину и съедал высоту.
   Теперь лежит внутри снимка слева внизу — лента с подписью занимает верх, они не спорят. */
.hero-art-frame{position:relative;}
.floating-luxury-badge{
  position:absolute !important;
  left:18px !important;right:auto !important;
  bottom:18px !important;
  top:auto !important;
  width:auto !important;max-width:calc(100% - 36px);
  margin:0 !important;
  display:flex;align-items:center;gap:11px;
  z-index:3;
}
.floating-luxury-badge .badge-icon-gold{
  width:34px !important;height:34px !important;
  flex-shrink:0;
}
.floating-luxury-badge .badge-icon-gold svg{width:19px !important;height:19px !important;}

@media (max-width:900px){
  .floating-luxury-badge{left:14px !important;bottom:14px !important;gap:9px;}
  .floating-luxury-badge .badge-icon-gold{width:30px !important;height:30px !important;}
}

/* ================= ЗНАК ПРОВЕРКИ «ПЕЧАТЬ» =================
   Утверждён владельцем 01.09.2026. Лежит на фотографии слева внизу,
   лента с подписью занимает верх — они не спорят.
   Раньше на телефоне знак шёл отдельной строкой во всю ширину и съедал 89px высоты. */
.floating-luxury-badge{
  background:rgba(17,57,37,.72) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:2px solid rgba(232,225,209,.85) !important;
  border-radius:8px !important;
  padding:9px 16px 9px 9px !important;
  box-shadow:
    inset 0 0 0 1px rgba(17,57,37,.9),
    0 8px 20px rgba(13,43,28,.42);
  transform:rotate(-3deg);
}
.floating-luxury-badge .badge-icon-gold{
  background:transparent !important;
  border:1.5px solid rgba(232,225,209,.8) !important;
  border-radius:6px !important;
}
.floating-luxury-badge .badge-icon-gold svg{fill:#E6E0CF;stroke:#E6E0CF;}
.floating-luxury-badge div > div:first-child{
  color:#FFFFFF !important;
  letter-spacing:.04em;text-transform:uppercase;font-size:0.74rem !important;
}
.floating-luxury-badge div > div:last-child{
  color:rgba(232,225,209,.82) !important;
  font-size:0.68rem !important;letter-spacing:.02em;
}

/* ================= КАПСУЛА О БЕСПЛАТНОМ ПОИСКЕ =================
   Слово «бесплатно» вынесено из заголовка сюда: в заголовке оно читалось бы
   как «услуга бесплатная» и попадало под ч. 7 ст. 5 закона о рекламе —
   существенное условие рядом отсутствует. Здесь условие названо прямо. */
.hero-free{
  display:inline-flex;align-items:center;gap:10px;
  margin:0 0 18px !important;
  padding:9px 18px 9px 14px;
  border-radius:999px;
  background:rgba(36,107,72,.09);
  border:1px solid rgba(36,107,72,.24);
  font-size:0.94rem;line-height:1.4;
  color:var(--text-head);
  max-width:100%;
}
.hero-free strong{font-weight:700;color:var(--gold-primary);}
.hero-free-dot{
  width:9px;height:9px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(180deg,#3F9A69,#1C6246);
  box-shadow:0 0 0 3px rgba(36,107,72,.16);
}
@media (max-width:900px){
  .hero-free{
    font-size:0.88rem;
    padding:9px 15px 9px 12px;
    gap:9px;
    align-items:flex-start;
  }
  .hero-free-dot{margin-top:6px;}
}

/* заголовок первого экрана на телефоне: было 38px и четыре строки */
@media (max-width:900px){
  .hero-title{
    font-size:clamp(1.85rem, 7.4vw, 2.1rem) !important;
    line-height:1.14 !important;
  }
}

/* ================= БЛОК 2: КАК РАБОТАЕТ УСЛУГА ПОДБОРА ================= */

/* карточки одной высоты — тексты выровнены, но подстрахуемся */
.protocol-card{display:flex;flex-direction:column;position:relative;}
.protocol-desc{margin-bottom:0;}
.protocol-arrow{display:none;}

/* --- компьютер: компактная шапка в две колонки --- */
@media (min-width:901px){
  #how-it-works .section-head-center{
    max-width:none !important;
    text-align:left !important;
    margin:0 0 28px !important;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:48px;row-gap:6px;
    align-items:end;
  }
  #how-it-works .sec-kicker{grid-column:1;grid-row:1;}
  #how-it-works .sec-title{
    grid-column:1;grid-row:2;
    margin-bottom:0 !important;
    white-space:nowrap;
  }
  #how-it-works .sec-intro{
    grid-column:2;grid-row:2;
    max-width:62ch;padding-bottom:5px;
  }
}

/* --- телефон: карусель --- */
@media (max-width:900px){
  #how-it-works .protocol-grid{
    display:flex !important;
    grid-template-columns:none !important;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:4px;
    margin-inline:calc(-1 * clamp(20px,3.2vw,38px));
    padding-inline:clamp(20px,3.2vw,38px);
  }
  #how-it-works .protocol-grid::-webkit-scrollbar{display:none;}
  #how-it-works .protocol-card{
    flex:0 0 86%;
    scroll-snap-align:center;
    padding:22px 18px;
  }
  #how-it-works .protocol-card:last-child{margin-right:2px;}

  .protocol-arrow{
    display:flex;align-items:center;justify-content:center;
    position:absolute;top:18px;right:16px;
    width:26px;height:26px;border-radius:50%;
    background:rgba(36,107,72,.1);
    border:1px solid rgba(36,107,72,.24);
  }
  .protocol-arrow svg{
    width:13px;height:13px;fill:none;
    stroke:var(--gold-primary);stroke-width:2.4;
    stroke-linecap:round;stroke-linejoin:round;
  }

  .protocol-dots{
    display:flex;justify-content:center;gap:7px;
    margin-top:16px;
  }
  .protocol-dots span{
    width:7px;height:7px;border-radius:50%;
    background:rgba(36,107,72,.22);
    transition:background .2s ease,width .2s ease;
  }
  .protocol-dots span.on{
    width:20px;border-radius:999px;
    background:var(--gold-primary);
  }
}
@media (min-width:901px){ .protocol-dots{display:none;} }

/* шестая карточка: на компьютере ряд из шести */
@media (min-width:901px){
  #how-it-works .protocol-grid{grid-template-columns:repeat(7, 1fr) !important;gap:12px !important;}
  #how-it-works .protocol-card{padding:22px 14px;}
  #how-it-works .protocol-step-num{font-size:1.5rem;margin-bottom:8px;}
  #how-it-works .protocol-title{font-size:0.85rem;letter-spacing:-.01em;}
  #how-it-works .protocol-desc{font-size:0.76rem;line-height:1.5;}
}

/* ================= БЛОК 3: КАРУСЕЛЬ НА ТЕЛЕФОНЕ ================= */
.manifesto-card{position:relative;}
.manifesto-arrow{display:none;}
.manifesto-dots{display:none;}

@media (max-width:900px){
  #manifesto .manifesto-triptych-grid{
    display:flex !important;
    grid-template-columns:none !important;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:4px;
    margin-inline:calc(-1 * clamp(20px,3.2vw,38px));
    padding-inline:clamp(20px,3.2vw,38px);
  }
  #manifesto .manifesto-triptych-grid::-webkit-scrollbar{display:none;}
  #manifesto .manifesto-card{
    flex:0 0 86%;
    scroll-snap-align:center;
  }

  .manifesto-arrow{
    display:flex;align-items:center;justify-content:center;
    position:absolute;top:20px;right:18px;
    width:26px;height:26px;border-radius:50%;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.3);
  }
  .manifesto-arrow svg{
    width:13px;height:13px;fill:none;
    stroke:#C5EEDA;stroke-width:2.4;
    stroke-linecap:round;stroke-linejoin:round;
  }

  .manifesto-dots{
    display:flex;justify-content:center;gap:7px;
    margin-top:18px;
  }
  .manifesto-dots span{
    width:7px;height:7px;border-radius:50%;
    background:rgba(255,255,255,.26);
    transition:background .2s ease,width .2s ease;
  }
  .manifesto-dots span.on{
    width:20px;border-radius:999px;
    background:#ABE6C9;
  }
}

/* заголовок манифеста на телефоне: в разметке задан 2.5rem и уходил в четыре строки */
@media (max-width:900px){
  #manifesto .sec-title{line-height:1.15 !important;}
  #manifesto .sec-intro{font-size:0.95rem !important;}
  #manifesto .section-head-center{margin-bottom:28px !important;}
}

/* ================= БЛОК 3: ОТДЕЛКА =================
   Римские цифры убраны: они занимали 60px высоты в каждой карточке и ничего не сообщали.
   Заголовок теперь ведёт карточку сам. */
.manifesto-body{padding-top:26px;}

@media (max-width:900px){
  /* карточки выравниваются по левому краю, а не по центру:
     иначе последняя вставала посреди экрана, а слева торчал хвост предыдущей */
  #manifesto .manifesto-triptych-grid{
    scroll-snap-type:x mandatory;
    scroll-padding-left:clamp(20px,3.2vw,38px);
  }
  #manifesto .manifesto-card{
    flex:0 0 90% !important;
    scroll-snap-align:start !important;
  }
  /* хвост, чтобы последняя карточка доехала до левого края */
  #manifesto .manifesto-triptych-grid::after{
    content:'';
    flex:0 0 calc(10% - 12px);
  }

  #how-it-works .protocol-grid{
    scroll-padding-left:clamp(20px,3.2vw,38px);
  }
  #how-it-works .protocol-card{
    flex:0 0 90% !important;
    scroll-snap-align:start !important;
  }
  #how-it-works .protocol-grid::after{
    content:'';
    flex:0 0 calc(10% - 12px);
  }

  .manifesto-body{padding-top:22px;}
  #manifesto .manifesto-card-title{font-size:1.45rem;}
}

/* у манифеста своя внутренняя обёртка с полями — на телефоне она делала ленту
   уже, чем в соседнем блоке. Поля снимаем, лента и заголовок идут по одной линии. */
@media (max-width:900px){
  .manifesto-wrap{padding-left:0 !important;padding-right:0 !important;}
  #manifesto .section-head-center{padding-left:4px;padding-right:4px;}
}

/* ================= БЛОК 4: ТОЛЬКО НА КОМПЬЮТЕРЕ =================
   Таблица сравнения на телефоне разворачивается в длинный столбец карточек
   и читается плохо. По решению владельца на узких экранах блок скрыт. */
/* Блок вернулся на телефон 04.09.2026: таблица переписана в две колонки вместо трёх
   и разворачивается вдвое короче, чем прежняя. Ссылки в меню и подвале на него ведут. */

/* ================= КАТАЛОГ ВИДОВ =================
   Подложка светлее и прозрачнее остальных блоков — матовое стекло,
   как у карточки первого экрана, чтобы каталог отличался от соседей. */
#catalog > .container{
  background:rgba(255,255,255,.62) !important;
  backdrop-filter:blur(18px) saturate(1.1);
  -webkit-backdrop-filter:blur(18px) saturate(1.1);
}

/* заголовок каталога — в одну строку: шапка блока была ограничена 760px и переносила его */
#catalog .section-head-center{max-width:none !important;}
@media (min-width:901px){
  #catalog .sec-title{white-space:nowrap;}
}
/* на телефоне nowrap выталкивал заголовок за экран — вместо него подобран размер */
@media (max-width:900px){
  #catalog .sec-title{line-height:1.2 !important;}
}

/* ================= БЛОК ОБЕЩАНИЯ =================
   Стоит на месте калькулятора. Тёмный, чтобы выделяться среди светлых соседей. */
#garantiya > .promise-card{
  background:linear-gradient(160deg,rgba(23,83,60,.93) 0%,rgba(12,42,31,.95) 100%) !important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  color:#E6E0CF;
  text-align:center;
}
#garantiya .sec-kicker{color:var(--gold-light);}
#garantiya .promise-title{
  color:#FFFFFF !important;
  margin-bottom:14px;
}
#garantiya .promise-lead{
  font-size:1.08rem;line-height:1.6;
  color:rgba(236,229,214,.9);
  max-width:62ch;margin:0 auto;
}
#garantiya .promise-cols{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(18px,3vw,40px);
  margin-top:clamp(28px,4vw,44px);
  text-align:left;
}
#garantiya .promise-col{
  border-top:2px solid var(--gold-light);
  padding-top:16px;
}
#garantiya .promise-col h3{
  font-family:'Golos Text',system-ui,sans-serif;
  font-size:1.02rem;color:#FFFFFF;margin-bottom:8px;
}
#garantiya .promise-col p{
  font-size:0.9rem;line-height:1.6;
  color:rgba(236,229,214,.78);margin:0;
}
#garantiya .promise-actions{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
  margin-top:clamp(26px,4vw,40px);
}
#garantiya .promise-tel{
  color:#FFFFFF !important;
  border-color:rgba(236,229,214,.45) !important;
  text-decoration:none;display:inline-flex;align-items:center;
}
#garantiya .promise-tel:hover{border-color:#FFFFFF !important;}

@media (max-width:900px){
  #garantiya .promise-cols{grid-template-columns:1fr;gap:20px;}
  #garantiya .promise-title{font-size:clamp(1.5rem,6vw,1.9rem) !important;}
  #garantiya .promise-lead{font-size:0.98rem;}
  #garantiya .promise-actions .btn-lux{width:100%;justify-content:center;}
}

#garantiya .promise-price-link{
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;
}

/* ================= СТРАНИЦА ЦЕН И ПАКЕТОВ =================
   Внутренние страницы начинаются сразу с содержимого, без первого экрана,
   поэтому первой секции нужен отступ от шапки. */
.page-inner .section-wrap:first-of-type{padding-top:calc(var(--vk-head-h) + 34px);}
.page-inner #packages > .container{
  background:rgba(255,255,255,.62) !important;
  backdrop-filter:blur(18px) saturate(1.1);
  -webkit-backdrop-filter:blur(18px) saturate(1.1);
}
.page-inner #packages h1.sec-title{margin-bottom:14px;}

.pack-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2vw,24px);
  margin-top:clamp(26px,3.4vw,40px);
}
.pack-card{
  display:flex;flex-direction:column;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(23,83,60,.12);
  border-radius:18px;
  padding:clamp(20px,2.2vw,28px);
  box-shadow:0 10px 26px rgba(14,48,36,.08);
}
.pack-name{
  font-family:'Golos Text',system-ui,sans-serif;
  font-size:1.05rem;font-weight:600;
  color:var(--primary-deep);margin:0 0 10px;
}
.pack-price strong{
  font-family:'Literata',Georgia,serif;
  font-size:clamp(1.9rem,3vw,2.4rem);font-weight:700;
  color:var(--primary-deep);line-height:1.1;
}
.pack-note{
  font-size:0.88rem;color:var(--text-muted);
  margin:10px 0 18px;padding-bottom:16px;
  border-bottom:1px solid rgba(23,83,60,.12);
}
.pack-list{list-style:none;margin:0 0 18px;padding:0;}
.pack-list li{
  position:relative;padding-left:24px;margin-bottom:11px;
  font-size:0.9rem;line-height:1.55;color:var(--text-body);
}
.pack-list li::before{
  content:'';position:absolute;left:0;top:7px;
  width:12px;height:7px;
  border-left:2px solid var(--gold-primary);
  border-bottom:2px solid var(--gold-primary);
  transform:rotate(-45deg);
}
.pack-small{
  font-size:0.8rem;line-height:1.5;color:var(--text-muted);
  margin:0 0 18px;
}
.pack-btn{margin-top:auto;width:100%;justify-content:center;}

.pack-custom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:clamp(18px,2.6vw,34px);
  margin-top:clamp(18px,2.2vw,26px);
  padding:clamp(22px,2.6vw,32px);
  border-radius:18px;
  background:linear-gradient(160deg,rgba(23,83,60,.93) 0%,rgba(12,42,31,.95) 100%);
  color:#E6E0CF;
}
.pack-custom-text{flex:1 1 420px;}
.pack-custom-text h2{
  font-family:'Golos Text',system-ui,sans-serif;
  font-size:1.05rem;color:#FFFFFF;margin:0 0 8px;
}
.pack-custom-text p{
  font-size:0.9rem;line-height:1.6;
  color:rgba(236,229,214,.82);margin:0;
}
.pack-custom-side{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
}
.pack-custom-price{
  font-family:'Literata',Georgia,serif;
  font-size:1.3rem;color:var(--gold-light);
}

/* два аргумента */
.why-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,44px);}
.why-col{border-top:2px solid var(--gold-primary);padding-top:16px;}
.why-col h2{
  font-family:'Golos Text',system-ui,sans-serif;
  font-size:1.05rem;color:var(--primary-deep);margin:0 0 10px;
}
.why-col p{font-size:0.92rem;line-height:1.6;color:var(--text-body);margin:0;}

/* что оплачивается отдельно */
.excl-list{list-style:none;margin:clamp(20px,2.6vw,30px) 0 0;padding:0;}
.excl-list li{
  position:relative;padding-left:22px;margin-bottom:14px;
  font-size:0.92rem;line-height:1.6;color:var(--text-body);
}
.excl-list li::before{
  content:'';position:absolute;left:0;top:9px;
  width:10px;height:2px;background:var(--gold-primary);
}
.excl-list strong{color:var(--primary-deep);}
.excl-foot{
  margin-top:18px;padding-top:18px;
  border-top:1px solid rgba(23,83,60,.12);
  font-size:0.92rem;line-height:1.6;color:var(--text-body);
}
.excl-actions{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
  margin-top:clamp(22px,3vw,32px);
}
.excl-tel{text-decoration:none;display:inline-flex;align-items:center;}

@media (max-width:900px){
  .pack-grid{grid-template-columns:1fr;}
  .why-cols{grid-template-columns:1fr;gap:22px;}
  .pack-custom{flex-direction:column;align-items:stretch;}
  .pack-custom-side{align-items:stretch;}
  .pack-custom-side .btn-lux{width:100%;justify-content:center;}
  .excl-actions .btn-lux{width:100%;justify-content:center;}
}

.page-inner #packages .sec-kicker{display:block;text-align:center;}
.page-inner #packages .sec-intro{max-width:64ch;margin-left:auto;margin-right:auto;}
.page-inner #not-included .sec-title{margin-bottom:0;}

/* наследование пакетов */
.pack-incl{
  display:flex;align-items:center;gap:8px;
  margin:0 0 16px;padding:9px 12px;
  border-radius:10px;
  background:rgba(36,107,72,.08);
  border:1px solid rgba(36,107,72,.18);
  font-size:0.84rem;line-height:1.4;color:var(--primary-forest);
}
.pack-incl::before{
  content:'';flex:0 0 auto;
  width:11px;height:6px;
  border-left:2px solid var(--gold-primary);
  border-bottom:2px solid var(--gold-primary);
  transform:rotate(-45deg) translateY(-2px);
}
.pack-sub{
  display:block;margin-bottom:10px;
  font-family:'Golos Text',system-ui,sans-serif;
  font-size:0.72rem;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;
  color:var(--text-muted);
}

.pack-incl-base{
  background:rgba(23,83,60,.06);
  border-color:rgba(23,83,60,.14);
  color:var(--text-muted);
}
.pack-incl-base::before{
  border-left-color:var(--text-muted);
  border-bottom-color:var(--text-muted);
}

/* ================= ПРАВКИ 02.09.2026 =================

   1. Подвал по ширине сетки.
   Он стоял на max-width:1080px, тогда как контент идёт по 1320px, —
   подвал выглядел уже страницы. */
body > footer{
  width:min(1320px, calc(100% - 2 * var(--vk-pad))) !important;
  max-width:none !important;
}
@media (max-width:900px){
  /* четыре колонки в один столбец делали подвал непомерно высоким */
  .footer-grid{grid-template-columns:1fr 1fr !important;gap:24px !important;margin-bottom:30px !important;}
  body > footer{padding-left:clamp(18px,4vw,26px) !important;padding-right:clamp(18px,4vw,26px) !important;}
}
@media (max-width:520px){
  .footer-grid{gap:20px !important;}
  .footer-col:first-child{grid-column:1 / -1;}
}

/* 2. Прыжок фона при прокрутке на телефоне.
   Слои стояли на inset:0, то есть на высоте видимой области. В мобильных
   браузерах она меняется, когда прячется адресная строка, — фотография
   пересчитывалась и дёргалась. Крепим слои к large viewport height,
   он при сворачивании панели не меняется. */
.vk-layer{
  height:100vh;
  height:100lvh;
  bottom:auto;
}
.vk-photo{height:100vh;height:100lvh;}
@media (min-width:761px){
  .vk-photo{height:calc(100vh - var(--vk-head-h));height:calc(100lvh - var(--vk-head-h));}
}
@media (max-width:760px){
  .vk-photo{height:calc(100vh - var(--vk-head-h));height:calc(100lvh - var(--vk-head-h));}
}

/* 3. Провал между текстом и кнопкой в карточке «Гибкие условия».
   flex:1 1 420px в колоночной раскладке задаёт базовую ВЫСОТУ, а не ширину. */
@media (max-width:900px){
  .pack-custom{gap:16px;}
  .pack-custom-text{flex:0 0 auto;}
  .pack-custom-side{gap:14px;}
  .pack-custom-price{font-size:1.15rem;}
}

/* подвал на телефоне: две узкие колонки ломали каждую ссылку на две строки,
   поэтому один столбец, но с компактными отступами */
@media (max-width:620px){
  .footer-grid{grid-template-columns:1fr !important;gap:22px !important;margin-bottom:26px !important;}
  .footer-col:first-child{grid-column:auto;}
  .footer-links li{margin-bottom:9px !important;}
  .footer-links a{font-size:0.88rem;line-height:1.35;}
  body > footer h4{margin-bottom:10px !important;}
}

/* подвал на телефоне: разделы сворачиваются, шаг ссылок компактнее */
@media (max-width:620px){
  .footer-acc .footer-col.acc h4{
    display:flex;align-items:center;justify-content:space-between;
    cursor:pointer;margin-bottom:0 !important;
    padding:13px 0;
    border-bottom:1px solid rgba(238,232,218,.14);
  }
  .footer-acc .footer-col.acc h4::after{
    content:'';width:8px;height:8px;flex:0 0 auto;margin-left:12px;
    border-right:2px solid rgba(238,232,218,.6);
    border-bottom:2px solid rgba(238,232,218,.6);
    transform:rotate(45deg) translateY(-2px);
    transition:transform .2s ease;
  }
  .footer-acc .footer-col.acc.open h4::after{transform:rotate(-135deg) translateY(2px);}
  .footer-acc .footer-col.acc .footer-links{display:none;padding-top:10px;}
  .footer-acc .footer-col.acc.open .footer-links{display:block;}
  .footer-acc .footer-grid{gap:0 !important;}
  .footer-acc .footer-col:first-child{margin-bottom:18px;}
  .footer-acc .footer-links li{margin-bottom:2px !important;}
  .footer-acc .footer-links a{padding:8px 0;}
}

@media (max-width:620px){
  /* правовые ссылки в строку с переносом, а не столбиком */
  .footer-bottom > div:last-child{flex-wrap:wrap;gap:8px 18px !important;}
  .footer-bottom{font-size:0.82rem;}
  .footer-acc .footer-col:not(.acc){margin-top:16px;}
}

/* ================= КАТАЛОГ: карусель на телефоне =================
   Шесть карточек в столбик давали 4451 px высоты — до конца никто не листал. */
.birds-dots{display:none;}
@media (max-width:900px){
  #catalog .birds-lux-grid{
    display:flex !important;
    grid-template-columns:none !important;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:4px;
    margin-inline:calc(-1 * clamp(20px,3.2vw,38px));
    padding-inline:clamp(20px,3.2vw,38px);
  }
  #catalog .birds-lux-grid::-webkit-scrollbar{display:none;}
  #catalog .bird-lux-item{
    flex:0 0 86%;
    scroll-snap-align:center;
  }
  #catalog .bird-lux-item:last-child{margin-right:2px;}

  .birds-dots{
    display:flex;justify-content:center;gap:7px;
    margin-top:16px;
  }
  .birds-dots span{
    width:7px;height:7px;border-radius:50%;
    background:rgba(36,107,72,.22);
    transition:background .2s ease,width .2s ease;
  }
  .birds-dots span.on{
    width:20px;border-radius:999px;
    background:var(--gold-primary);
  }
}

/* карточка каталога в узкой ленте: цена и латынь не помещались в строку */
@media (max-width:900px){
  #catalog .bird-headline-row{
    flex-direction:column;align-items:flex-start;gap:2px;
  }
  #catalog .bird-card-bottom{
    flex-direction:column;align-items:stretch;gap:12px;
  }
  #catalog .bird-price-box strong{white-space:nowrap;}
  #catalog .bird-card-bottom .btn-lux{width:100%;justify-content:center;}
}

/* ================= КАТАЛОГ: компактная карточка на телефоне =================
   Карточка занимала 86% ширины — по краям торчали соседние, а высота
   не помещалась в экран. Теперь карточка во всю сетку и сжата по вертикали. */
@media (max-width:900px){
  #catalog .birds-lux-grid{gap:14px;}
  #catalog .bird-lux-item{
    flex:0 0 100% !important;
    scroll-snap-align:start !important;
  }
  #catalog .bird-visual-frame{height:190px !important;}
  #catalog .bird-content-body{padding:16px !important;}
  #catalog .bird-title{font-size:1.15rem !important;}
  #catalog .bird-latin{font-size:0.78rem !important;}
  #catalog .bird-intro{
    font-size:0.85rem !important;
    line-height:1.45 !important;
    margin-bottom:12px !important;
  }
  #catalog .bird-metrics-matrix{
    padding:8px !important;
    gap:6px !important;
    margin-bottom:12px !important;
  }
  #catalog .bird-metrics-matrix .metric-cell span{font-size:0.62rem !important;}
  #catalog .bird-metrics-matrix .metric-cell strong{font-size:0.8rem !important;}
  #catalog .bird-card-bottom{padding-top:12px !important;gap:10px !important;}
  #catalog .bird-price-box span{font-size:0.7rem !important;}
  #catalog .bird-price-box strong{font-size:1.2rem !important;}
  #catalog .bird-card-bottom .btn-lux{padding:12px 18px !important;}
  .birds-dots{margin-top:12px;}
}

/* ================= КВИЗ: низ панели на телефоне =================
   «Назад», «Шаг 1 из 4» и «Продолжить» стояли в одну строку и не помещались:
   кнопка наезжала на счётчик. На узких экранах кнопки идут парой,
   счётчик уходит отдельной строкой под ними. */
@media (max-width:620px){
  #lux-quiz-nav{
    flex-wrap:wrap !important;
    gap:12px;
    margin-top:22px !important;
    padding-top:16px !important;
  }
  #lux-quiz-nav .btn-lux{
    /* базис 140px: при крупном системном шрифте кнопки встают друг под друга,
       а не режут текст */
    flex:1 1 140px;
    min-width:0;
    justify-content:center;
    padding:13px 12px !important;
    font-size:0.8rem !important;
    white-space:normal;
    line-height:1.25;
  }
  #lux-quiz-nav #lux-step-counter{
    order:3;
    width:100%;
    text-align:center;
  }
}

/* ================= ЕДИНАЯ ШКАЛА ЗАГОЛОВКОВ =================
   Заголовки секций стояли на четырёх разных размерах (36, 40, 42, 48 px):
   каждый блок правился отдельно. Теперь размер один на всех, включая телефон. */
.sec-title{
  font-size:clamp(2.1rem, 3.4vw, 3rem) !important;
  line-height:1.12;
}
@media (max-width:900px){
  .sec-title{font-size:clamp(1.65rem, 6.2vw, 2.1rem) !important;}
  /* в узком экране заголовок не может стоять в одну строку */
  #how-it-works .sec-title,
  #catalog .sec-title{white-space:normal !important;}
}

/* заголовки шагов квиза и результата — вместо встроенных размеров */
.quiz-step-title{
  font-size:1.5rem;
  margin-bottom:18px;
  color:var(--primary-deep);
}
.quiz-result-title{
  font-size:2.2rem;
  color:var(--primary-deep);
  margin-bottom:12px;
}
@media (max-width:900px){
  .quiz-step-title{font-size:1.3rem;}
  .quiz-result-title{font-size:1.7rem;}
}

/* мелкие заголовки (Golos Text) — один размер и одно начертание.
   Исключение: карточки шагов в блоке «как работает» стоят семью колонками,
   там 14px оправдан шириной колонки. */
.pack-name,
.pack-custom-text h2,
#garantiya .promise-col h3,
#legal .legal-text h4,
#legal .legal-text h3,
.sq-card h4,
.why-col h2{
  font-size:1.05rem !important;
  font-weight:600 !important;
  font-family:'Golos Text', system-ui, sans-serif !important;
}

/* блок форума тёмный: заголовок секции здесь светлый, а не общий тёмно-синий */
.forum-info .sec-title{color:var(--gold-light) !important;}

/* ================= ТЕЛЕФОН: ПЛОТНЕЕ ПО ВЕРТИКАЛИ =================
   Отступы задавались для широкого экрана и на телефоне читались как пустоты:
   между шапкой блока и его содержимым стояло 50 px, описание первого экрана
   шло кеглем 1.12rem с межстрочным 1.7. Компьютерная раскладка не меняется. */
@media (max-width:900px){

  /* первый экран */
  .hero-desc{
    font-size:0.97rem !important;
    line-height:1.5 !important;
    margin-bottom:18px !important;
  }
  .hero-badge{margin-bottom:14px !important;}
  .hero-title{margin-bottom:14px !important;}
  .hero-free{margin-bottom:14px !important;}
  .hero-ctas{margin-bottom:12px !important;}
  .hero-grid{gap:22px !important;}

  /* шапка блока и его содержимое */
  .section-head-center{margin-bottom:24px !important;}
  #manifesto .section-head-center{margin-bottom:24px !important;}

  /* квиз и форум */
  .quiz-progress-track{margin-bottom:22px !important;}
  .forum-info{margin-bottom:24px !important;}

  /* блок обещания */
  #garantiya .promise-cols{margin-top:22px !important;}
  #garantiya .promise-actions{margin-top:20px !important;}

  /* карточки в столбик: 24 px между ними — многовато */
  #legal .legal-shield-grid{gap:14px !important;}
  #extensions .square-gallery-grid{gap:14px !important;}
}

@media (max-width:900px){
  /* сетка юридического блока несла собственные поля 40px сверху и снизу */
  #legal .legal-shield-grid{margin:0 !important;}
  /* колонки форума в столбик: зазор 44px между текстом и списком тем */
  .forum-layout{gap:20px !important;}
  .forum-info{margin-bottom:0 !important;}
}

/* ================= ЮРИДИЧЕСКИЙ ЩИТ: карусель на телефоне =================
   Четыре карточки с длинным текстом давали блоку 1807 px. */
.legal-dots{display:none;}
@media (max-width:900px){
  #legal .legal-shield-grid{
    display:flex !important;
    grid-template-columns:none !important;
    gap:12px !important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:4px;
    margin-inline:calc(-1 * clamp(20px,3.2vw,38px)) !important;
    padding-inline:clamp(20px,3.2vw,38px);
  }
  #legal .legal-shield-grid::-webkit-scrollbar{display:none;}
  #legal .legal-card{
    flex:0 0 100% !important;
    scroll-snap-align:start !important;
  }

  .legal-dots{
    display:flex;justify-content:center;gap:7px;
    margin-top:14px;
  }
  .legal-dots span{
    width:7px;height:7px;border-radius:50%;
    background:rgba(36,107,72,.22);
    transition:background .2s ease,width .2s ease;
  }
  .legal-dots span.on{
    width:20px;border-radius:999px;
    background:var(--gold-primary);
  }
}

/* ================= ЦИФРОВАЯ ИНФРАСТРУКТУРА: ровные карточки =================
   Карточки в ряду растягиваются по самой высокой, и под коротким текстом
   оставался воздух. Кнопки прижаты к низу — тогда пустота не рвёт карточку,
   а нижняя линия у всех общая. Ветеринарная сноска сделана компактной. */
#extensions .sq-card-caption{
  display:flex;
  flex-direction:column;
  height:100%;
}
#extensions .sq-desc{margin-bottom:14px;}
#extensions .vet-note{
  font-size:0.74rem;
  line-height:1.4;
  margin:0 0 14px;
}
#extensions .sq-link-btn{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid rgba(23,83,60,.10);
}

/* сноска-уточнение в карточках: тот же вид, что у ветеринарной заметки */
#extensions .sq-note{
  font-size:0.74rem;
  line-height:1.4;
  margin:0 0 14px;
  padding-left:12px;
  border-left:2px solid rgba(36,107,72,.28);
  color:var(--text-muted);
}

/* ================= ЮРИДИЧЕСКИЕ КАРТОЧКИ: скрепка вместо иконки =================
   Иконка стояла слева и сжимала текст в узкий столбик — на телефоне карточка
   превращалась в длинную колонку с пустыми полями. Теперь текст во всю ширину,
   а в левом верхнем углу — скрепка, будто к карточке приколот листок. */
#legal .legal-card{
  position:relative;
  display:block !important;
  padding:34px 24px 26px !important;
}
#legal .legal-card::before{
  content:'';
  position:absolute;
  top:-16px;left:18px;
  width:38px;height:39px;
  background:url("/assets/decor/pin.webp") center/contain no-repeat;
  pointer-events:none;
}
#legal .legal-text{width:100%;}
#legal .legal-text h4,
#legal .legal-text h3{margin-bottom:8px;}

@media (max-width:900px){
  #legal .legal-card{padding:30px 20px 22px !important;}
  #legal .legal-text p{font-size:0.9rem;line-height:1.55;}
}

/* в карусели лента обрезает всё, что выходит за её край, — на телефоне
   кнопка садится внутрь карточки, а не поверх её верхней границы */
@media (max-width:900px){
  #legal .legal-card{padding-top:52px !important;}
  #legal .legal-card::before{top:12px !important;left:16px !important;}
}

/* ================= ЧАСТЫЕ ВОПРОСЫ =================
   Раскрытие на нативном <details>: работает без скриптов, доступно
   с клавиатуры, и поисковик видит ответы в разметке. */
.faq-list{
  max-width:900px;
  margin:0 auto;
}
.faq-item{
  border-bottom:1px solid rgba(23,83,60,.12);
}
.faq-item:first-child{border-top:1px solid rgba(23,83,60,.12);}
.faq-q{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 0;
  font-family:'Golos Text',system-ui,sans-serif;
  font-size:1.02rem;
  font-weight:600;
  color:var(--primary-deep);
  line-height:1.4;
}
.faq-q::-webkit-details-marker{display:none;}
.faq-q::after{
  content:'';
  flex:0 0 auto;
  width:10px;height:10px;
  margin-left:auto;
  margin-top:6px;
  border-right:2px solid var(--gold-primary);
  border-bottom:2px solid var(--gold-primary);
  transform:rotate(45deg);
  transition:transform .2s ease;
}
.faq-item[open] .faq-q::after{transform:rotate(-135deg);margin-top:10px;}
.faq-q:hover{color:var(--gold-primary);}
.faq-a{padding:0 34px 20px 0;}
.faq-a p{
  margin:0;
  font-size:0.94rem;
  line-height:1.65;
  color:var(--text-body);
}
.faq-foot{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
  margin-top:clamp(24px,3vw,34px);
}
.faq-tel{text-decoration:none;display:inline-flex;align-items:center;}

@media (max-width:900px){
  .faq-q{font-size:0.96rem;padding:16px 0;}
  .faq-a{padding-right:24px;padding-bottom:16px;}
  .faq-a p{font-size:0.9rem;}
  .faq-foot .btn-lux{width:100%;justify-content:center;}
}

/* иллюстрация к частым вопросам: на компьютере сбоку от шапки блока,
   на телефоне — над заголовком, чтобы не отнимать ширину у текста */
#faq > .container{position:relative;}
.faq-mascot{
  position:absolute;
  top:clamp(28px,4vw,58px);
  right:clamp(16px,3vw,40px);
  width:clamp(96px,10vw,150px);
  height:auto;
  pointer-events:none;
}
@media (max-width:1100px){
  .faq-mascot{
    position:static;
    display:block;
    width:104px;
    margin:0 auto 10px;
  }
}


/* ================= ПРАВКИ ПРЕДЗАПУСКОВОГО АУДИТА 04.09.2026 ================= */

/* Кнопка «Продолжить» в квизе выглядела активной, пока вариант не выбран:
   правил для :disabled в файле не было вообще. */
.btn-lux:disabled,
.btn-lux[disabled]{
  background:var(--bg-champagne) !important;
  color:var(--text-muted) !important;
  border-color:var(--border-soft) !important;
  box-shadow:none !important;
  cursor:not-allowed;
  transform:none !important;
}
.btn-lux:disabled:hover,
.btn-lux[disabled]:hover{transform:none !important;box-shadow:none !important;}

/* Сноска под каталогом: цена в карточке — это цена птицы у заводчика, не наша услуга. */
.catalog-price-note{
  max-width:760px;
  margin:22px auto 0;
  font-family:'Golos Text', system-ui, sans-serif;
  font-size:0.86rem;
  line-height:1.6;
  color:var(--text-muted);
  text-align:center;
}
.catalog-price-note a{color:var(--gold-primary);text-decoration:underline;}

/* Энциклопедия больше не собирает контакты — на месте кнопки подпись. */
.sq-soon{
  margin:auto 0 0;
  padding-top:12px;
  font-family:'Golos Text', system-ui, sans-serif;
  font-size:0.82rem;
  font-weight:600;
  color:var(--text-muted);
}

/* Низ карточки вида: цена и кнопка стояли в одном ряду без зазора и налезали
   друг на друга, когда подпись цены длиннее обычного. */
.bird-card-bottom{gap:16px;flex-wrap:wrap;}
.bird-card-bottom .btn-lux{flex:0 0 auto;}
.bird-price-box{min-width:0;flex:1 1 auto;}

/* ================= СТРАНИЦЫ ВИДОВ /popugai/<вид>/ =================
   Свои блоки только там, где не хватило существующих: первый экран вида,
   «кому подходит и кому нет» и перелинковка. Остальное — классы главной. */

.breadcrumbs{
  font-family:'Golos Text', system-ui, sans-serif;
  font-size:0.85rem;
  color:var(--text-muted);
  margin-bottom:22px;
}
.breadcrumbs a{color:var(--gold-primary);text-decoration:none;}
.breadcrumbs a:hover{text-decoration:underline;}
.breadcrumbs span[aria-hidden]{margin:0 6px;opacity:.5;}

.species-top{
  display:grid;
  grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
  gap:clamp(24px,4vw,48px);
  align-items:start;
}
.species-photo{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-luxury);
  background:var(--bg-champagne);
}
.species-photo img{display:block;width:100%;height:auto;}

.species-intro .sec-title{margin:6px 0 14px;text-align:left;}
.species-intro .sec-kicker{display:block;font-style:italic;text-transform:none;letter-spacing:0;}
.species-lead{
  font-size:1.02rem;
  line-height:1.7;
  color:var(--text-body);
  margin:0 0 22px;
  max-width:62ch;
}

/* Паспорт вида: отдельные карточки вместо ячеек на общей подложке —
   иначе характеристики читаются как черновой список. */
.species-specs{
  margin-bottom:20px;
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}
.species-specs .metric-cell{
  background:var(--bg-surface);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  gap:4px;
  text-align:left;
}
.species-specs .metric-cell + .metric-cell{border-left:1px solid var(--border-soft);}
.species-specs .metric-cell span{
  font-size:0.72rem;
  text-transform:uppercase;
  letter-spacing:0.05em;
  color:var(--text-muted);
}
.species-specs .metric-cell strong{
  font-family:'Golos Text', system-ui, sans-serif;
  font-size:1rem;
  font-weight:600;
  color:var(--primary-deep);
  line-height:1.3;
}
@media (max-width:600px){
  .species-specs{grid-template-columns:repeat(2,1fr);}
}

/* Цена птицы и цена услуги — рядом, чтобы их не путали */
.species-price{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:8px;
}
.species-price > div{
  flex:1 1 190px;
  background:var(--bg-champagne);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  padding:14px 18px;
}
.species-price span{
  display:block;
  font-size:0.72rem;
  text-transform:uppercase;
  letter-spacing:0.8px;
  color:var(--text-muted);
  margin-bottom:4px;
}
.species-price strong{
  font-family:"Literata", Georgia, serif;
  font-size:1.35rem;
  color:var(--primary-deep);
}
.species-price-note{
  font-size:0.85rem;
  color:var(--text-muted);
  margin:0 0 22px;
  line-height:1.6;
}
.species-price-note a{color:var(--gold-primary);}

/* «Кому подходит» и «кому нет» — две колонки одинакового веса.
   Красная колонка здесь работает на доверие: честное «не берите» убеждает
   сильнее любого перечисления достоинств. */
.suits-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:22px;
}
.suits-col{
  border-radius:var(--radius-lg);
  padding:26px 28px;
  border:1px solid var(--border-soft);
  background:var(--bg-surface);
}
.suits-col h3{
  font-family:"Literata", Georgia, serif;
  font-size:1.35rem;
  margin:0 0 14px;
}
.suits-col ul{margin:0;padding-left:22px;}
.suits-col li{
  font-size:0.95rem;
  line-height:1.65;
  margin-bottom:10px;
  color:var(--text-body);
}
.suits-yes{border-color:rgba(63,106,75,.35);background:#F2F8F4;}
.suits-yes h3{color:#2F5B3C;}
.suits-no{border-color:rgba(160,48,32,.3);background:#FCF3F1;}
.suits-no h3{color:#8C2E1F;}

.species-care .protocol-card{flex:1 1 240px;}

/* Перелинковка между видами — без неё страницы остаются тупиками */
.species-similar{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
}
.species-similar-card{
  display:block;
  padding:20px 22px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:var(--bg-surface);
  text-decoration:none;
  transition:var(--transition-smooth);
}
.species-similar-card:hover{
  border-color:var(--gold-border);
  box-shadow:var(--shadow-subtle);
  transform:translateY(-2px);
}
.species-similar-card strong{
  display:block;
  font-family:"Literata", Georgia, serif;
  font-size:1.2rem;
  color:var(--primary-deep);
  margin-bottom:6px;
}
.species-similar-card span{
  font-size:0.88rem;
  color:var(--text-muted);
  line-height:1.6;
}
.species-similar-note{
  margin-top:22px;
  text-align:center;
  font-size:0.92rem;
  color:var(--text-muted);
}
.species-similar-note a{color:var(--gold-primary);}

@media (prefers-reduced-motion:reduce){
  .species-similar-card{transition:none;}
  .species-similar-card:hover{transform:none;}
}

@media (max-width:900px){
  .species-top{grid-template-columns:1fr;}
  .species-intro .sec-title{font-size:1.7rem;}
  .species-photo{max-height:320px;}
  .species-photo img{height:320px;object-fit:cover;object-position:50% 30%;}
}

/* Блок «Что проверяем у этого вида»: карточек нечётное число, и последняя
   висела в половине ряда с пустотой справа. Растягиваем её на всю ширину. */
#proverka .legal-card:last-child:nth-child(odd){grid-column:1 / -1;}

/* ================= КАЛЬКУЛЯТОР СОДЕРЖАНИЯ =================
   Наверху три вкладки по ритму трат — каждая показывает свою сумму и раскрывает
   свой раздел. Раньше это были плашки, похожие на кнопки, но без реакции на клик,
   и было непонятно, что это три разные суммы, а не выбор режима.
   Итог за первый год вынесен отдельной строкой: это результат, а не раздел. */

.calc-wrap{
  background:linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(245,252,248,.97) 100%);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:clamp(14px,2vw,22px);
  box-shadow:var(--shadow-luxury);
}

/* ---------- вкладки ---------- */
.calc-tabs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  padding:6px;background:var(--bg-champagne);border-radius:var(--radius-md);
}
.calc-tab{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:14px 16px;
  border:1.5px solid transparent;border-radius:var(--radius-sm);
  background:transparent;
  font-family:'Golos Text', system-ui, sans-serif;
  text-align:left;cursor:pointer;
  transition:background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.calc-tab:hover{background:rgba(255,255,255,.72);}
.calc-tab:focus-visible{outline:2px solid var(--gold-primary);outline-offset:2px;}
.calc-tab-label{
  font-size:0.78rem;font-weight:600;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:.04em;
}
.calc-tab-sum{
  font-family:"Literata", Georgia, serif;
  font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:700;
  color:var(--primary-deep);font-variant-numeric:tabular-nums;line-height:1.15;
}
.calc-tab-hint{font-size:0.74rem;color:var(--text-muted);}
.calc-tab.is-active{
  background:var(--bg-surface);
  border-color:var(--gold-primary);
  box-shadow:0 8px 22px -14px rgba(36,107,72,.75);
}
.calc-tab.is-active .calc-tab-label,
.calc-tab.is-active .calc-tab-sum{color:var(--gold-primary);}

/* ---------- раздел ---------- */
.calc-panels{
  margin-top:10px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:var(--bg-surface);
  overflow:hidden;
}
.calc-panel{display:flex;flex-direction:column;}
/* display:flex перебивает атрибут hidden — без этого правила скрытые разделы видны */
.calc-panel[hidden]{display:none;}
.calc-panel.is-active{animation:calcFade .26s cubic-bezier(.16,1,.3,1);}
@keyframes calcFade{from{opacity:0;transform:translateY(-5px);}to{opacity:1;transform:none;}}

/* ---------- позиция ---------- */
.calc-item{
  display:grid;
  grid-template-columns:44px minmax(140px,1fr) minmax(0,2fr) minmax(88px,auto);
  align-items:center;gap:12px;
  padding:12px 16px;
  border-bottom:1px solid var(--border-soft);
  transition:background .2s ease, opacity .2s ease;
}
.calc-item:last-child{border-bottom:0;}
.calc-item:hover{background:var(--gold-pale);}
.calc-item:not(.is-on){opacity:.5;}

.calc-switch{position:relative;display:inline-flex;}
.calc-switch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.calc-switch-box{
  width:38px;height:22px;border-radius:999px;
  background:var(--bg-champagne);border:1px solid var(--border-soft);
  position:relative;transition:background .22s ease,border-color .22s ease;
}
.calc-switch-box::after{
  content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(18,60,46,.3);
  transition:transform .22s cubic-bezier(.16,1,.3,1);
}
.calc-switch input:checked + .calc-switch-box{background:var(--gold-gradient);border-color:transparent;}
.calc-switch input:checked + .calc-switch-box::after{transform:translateX(16px);}
.calc-switch input:focus-visible + .calc-switch-box{outline:2px solid var(--gold-primary);outline-offset:3px;}

.calc-item-title{display:flex;flex-direction:column;gap:2px;min-width:0;}
.calc-item-name{
  font-family:'Golos Text', system-ui, sans-serif;
  font-weight:600;font-size:0.92rem;color:var(--primary-deep);
}
.calc-item-note{
  margin:0;font-size:0.76rem;line-height:1.4;color:var(--text-muted);
  overflow:hidden;text-overflow:ellipsis;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;
}

/* Варианты лентой: высота не растёт от их числа, на узком экране листается вбок.
   Тень у края появляется только при реальном переполнении. */
.calc-opts{
  display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;
  padding:2px;scroll-snap-type:x proximity;
  background:
    linear-gradient(90deg, var(--bg-surface) 40%, rgba(255,255,255,0)) left / 26px 100% no-repeat local,
    linear-gradient(90deg, rgba(255,255,255,0), var(--bg-surface) 60%) right / 26px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%, rgba(18,60,46,.14), rgba(18,60,46,0)) left / 12px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, rgba(18,60,46,.14), rgba(18,60,46,0)) right / 12px 100% no-repeat scroll;
}
.calc-opts::-webkit-scrollbar{display:none;}
.calc-opts--single .calc-opt{cursor:default;}

.calc-opt{
  flex:0 0 auto;scroll-snap-align:start;
  display:flex;flex-direction:column;gap:1px;
  max-width:190px;text-align:left;
  padding:7px 11px;
  background:var(--bg-champagne);
  border:1.5px solid transparent;border-radius:var(--radius-sm);
  cursor:pointer;font-family:'Golos Text', system-ui, sans-serif;
  transition:border-color .18s ease, background .18s ease;
}
.calc-opt:hover{background:var(--gold-pale);}
.calc-opt:focus-visible{outline:2px solid var(--gold-primary);outline-offset:2px;}
.calc-opt.is-active{border-color:var(--gold-primary);background:var(--gold-pale);}
.calc-opt-name{
  font-size:0.72rem;line-height:1.3;color:var(--text-muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;
}
.calc-opt-price{
  font-size:0.86rem;font-weight:700;color:var(--primary-deep);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.calc-opt.is-active .calc-opt-price{color:var(--gold-primary);}

.calc-item-sum{
  font-family:"Literata", Georgia, serif;
  font-size:1rem;font-weight:700;color:var(--primary-deep);
  text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;
}

/* ---------- итог за год ---------- */
.calc-grand{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;
  margin-top:12px;padding:16px 20px;
  background:var(--gold-gradient);
  border-radius:var(--radius-md);
  box-shadow:0 14px 30px -18px rgba(36,107,72,.85);
}
.calc-grand-text{display:flex;flex-direction:column;gap:2px;}
.calc-grand-text span{
  font-family:'Golos Text', system-ui, sans-serif;
  font-size:0.9rem;font-weight:600;color:#fff;
}
.calc-grand-text em{font-style:normal;font-size:0.76rem;color:rgba(255,255,255,.78);}
.calc-grand strong{
  font-family:"Literata", Georgia, serif;
  font-size:clamp(1.5rem,3vw,2rem);color:#fff;
  font-variant-numeric:tabular-nums;line-height:1;
}

.calc-disclaimer{font-size:0.78rem;color:var(--text-muted);line-height:1.6;margin:14px 0 0;}

.calc-partner{
  margin-top:14px;padding:16px 18px;
  background:var(--gold-pale);
  border:1px solid var(--gold-border);
  border-radius:var(--radius-md);
}
.calc-partner h3{font-family:"Literata", Georgia, serif;font-size:1.05rem;color:var(--primary-deep);margin:0 0 6px;}
.calc-partner p{font-size:0.86rem;line-height:1.6;color:var(--text-body);margin:0;}

@media (max-width:820px){
  .calc-tabs{grid-template-columns:1fr;gap:6px;}
  .calc-tab{
    flex-direction:row;align-items:center;justify-content:space-between;
    padding:12px 14px;flex-wrap:wrap;
  }
  .calc-tab-label{font-size:0.76rem;}
  .calc-tab-sum{font-size:1.15rem;}
  .calc-tab-hint{flex:1 0 100%;}

  .calc-item{
    grid-template-columns:38px minmax(0,1fr) auto;
    grid-template-areas:"sw title sum" "opts opts opts";
    row-gap:8px;padding:11px 12px;
  }
  .calc-switch{grid-area:sw;}
  .calc-item-title{grid-area:title;}
  .calc-item-sum{grid-area:sum;font-size:0.95rem;}
  .calc-opts{grid-area:opts;margin:0 -12px;padding:2px 12px;}
  .calc-item-name{font-size:0.88rem;}
  .calc-item-note{-webkit-line-clamp:2;font-size:0.74rem;}
  .calc-opt{max-width:170px;}
}

@media (prefers-reduced-motion:reduce){
  .calc-tab,.calc-item,.calc-opt,.calc-switch-box,.calc-switch-box::after{transition:none;}
  .calc-panel.is-active{animation:none;}
}

/* Заголовок страницы вида равняется на первый экран главной: он унаследовал
   .sec-title и оказался 48px против 44.6px у h1 главной — то есть крупнее её. */
.species-intro h1.sec-title{
  /* .sec-title в одном из блоков задан через !important — иначе не перебить */
  font-size:clamp(2rem, 3.1vw, 2.85rem) !important;
  line-height:1.12;
}
@media (max-width:900px){
  .species-intro h1.sec-title{font-size:clamp(1.85rem, 7.4vw, 2.1rem) !important;}
}


/* ============ СТРАНИЦЫ ВИДОВ: тёплая подача вместо белых плит ============
   Первый блок начинался вплотную под шапкой и закрывал фотографию с птицами.
   Плюс все карточки были чисто белыми с резкой рамкой и радиусом 6px —
   отсюда ощущение грубых квадратов. Тёплые тона взяты с самого фонового
   снимка: ветка #C6B49B и хохолок какаду #E39A7C. */

/* Отступ сверху — фон снова виден */
.species-hero{padding-top:clamp(28px,4vw,56px) !important;}

/* Подложка первого экрана: тёплое молоко вместо белого, фото сквозь неё дышит */
.species-hero > .container{
  background:linear-gradient(160deg, rgba(253,250,246,.93) 0%, rgba(248,243,236,.90) 100%) !important;
  border:1px solid rgba(198,180,155,.42) !important;
  border-radius:var(--radius-xl) !important;
  backdrop-filter:blur(16px) saturate(1.05);
  -webkit-backdrop-filter:blur(16px) saturate(1.05);
  box-shadow:0 22px 60px -28px rgba(90,70,50,.35) !important;
}

/* Фото вида — тёплая рамка и мягкий угол вместо жёсткого прямоугольника */
.species-photo{
  border-radius:var(--radius-lg);
  border:1px solid rgba(198,180,155,.5);
  box-shadow:0 18px 44px -22px rgba(90,70,50,.5);
}

/* Карточки паспорта и цен: тёплая бумага, скруглённые углы, мягкая граница */
.species-specs .metric-cell,
.species-price > div{
  background:rgba(255,252,248,.9) !important;
  border:1px solid rgba(198,180,155,.4) !important;
  border-radius:var(--radius-md) !important;
  box-shadow:0 2px 10px -6px rgba(90,70,50,.3);
}
.species-price > div{
  background:linear-gradient(160deg, rgba(255,250,243,.95) 0%, rgba(250,242,232,.92) 100%) !important;
  border-color:rgba(227,154,124,.45) !important;
}

/* Секции ниже первого экрана — тот же тёплый тон, чтобы страница читалась как одно целое */
#komu > .container,
#soderzhanie > .container,
#proverka > .container,
#calc > .container,
#similar > .container{
  background:rgba(253,250,246,.9) !important;
  border:1px solid rgba(198,180,155,.32) !important;
  border-radius:var(--radius-xl) !important;
}

/* Карточки внутри секций: скругление и тёплая рамка вместо резкого прямоугольника */
#soderzhanie .protocol-card,
#proverka .legal-card,
#similar .species-similar-card{
  background:rgba(255,252,248,.92);
  border:1px solid rgba(198,180,155,.38);
  border-radius:var(--radius-lg);
  box-shadow:0 4px 16px -10px rgba(90,70,50,.28);
}
#soderzhanie .protocol-card:hover,
#similar .species-similar-card:hover{
  border-color:rgba(227,154,124,.55);
  box-shadow:0 10px 26px -14px rgba(90,70,50,.4);
}

/* «Кому подходит» и «кому нет» — оставляем зелёный и красный смысл,
   но смягчаем: та же скруглённость и приглушённая граница */
.suits-col{border-radius:var(--radius-xl);}
.suits-yes{background:#F3F8F3;border-color:rgba(63,106,75,.28);}
.suits-no{background:#FDF4F1;border-color:rgba(160,48,32,.24);}

/* Калькулятор на странице вида — в том же тёплом ключе */
#calc .calc-wrap{
  background:linear-gradient(180deg, rgba(255,252,248,.96) 0%, rgba(250,244,236,.96) 100%);
  border-color:rgba(198,180,155,.4);
  border-radius:var(--radius-xl);
}
#calc .calc-tabs{background:rgba(245,238,229,.85);}
#calc .calc-panels,
#calc .calc-tab.is-active{background:rgba(255,253,250,.96);}
#calc .calc-item{border-bottom-color:rgba(198,180,155,.3);}
#calc .calc-opt{background:rgba(248,242,234,.9);}
#calc .calc-item:hover,
#calc .calc-opt:hover{background:rgba(253,246,238,.95);}

@media (max-width:900px){
  .species-hero{padding-top:20px !important;}
}

/* ===== СТРАНИЦЫ ВИДОВ: интерактивные блоки =====
   Перенесено из инлайн-стилей страницы жако, чтобы стили были общими
   для всех видов и кэшировались вместе с site.css. */

    /* ================= ДОПОЛНИТЕЛЬНЫЕ WOW-СТИЛИ ДЛЯ СТРАНИЦЫ ЖАКО ================= */
    .species-hero-grid {
      display: grid;
      grid-template-columns: 1fr 1.15fr;
      gap: clamp(24px, 3.5vw, 48px);
      align-items: center;
    }

    /* Интерактивный контейнер фото с хотспотами */
    .interactive-photo-box {
      position: relative;
      border-radius: var(--radius-xl);
      /* visible, иначе рамка срезает всплывающие подсказки меток */
      overflow: visible;
      border: 1px solid rgba(198, 180, 155, 0.45);
      background: linear-gradient(145deg, #17422F 0%, #0E3024 100%);
      box-shadow: 0 24px 50px -15px rgba(18,60,46, 0.45);
    }
    .interactive-photo-box img {
      width: 100%;
      height: auto;
      max-height: 580px;
      /* contain: клюв и хвост птицы не срезаются краем рамки */
      object-fit: contain;
      border-radius: var(--radius-xl);
      display: block;
    }

    /* Бейдж поверх фото */
    .photo-floating-badge {
      position: absolute;
      top: 16px;
      left: 16px;
      background: rgba(18,60,46, 0.82);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border: 1px solid rgba(255, 255, 255, 0.18);
      color: #fff;
      padding: 6px 14px;
      border-radius: 999px;
      font-size: 0.78rem;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 7px;
      z-index: 3;
    }
    .photo-floating-badge span.dot {
      width: 8px;
      height: 8px;
      background: #4ADE80;
      border-radius: 50%;
      box-shadow: 0 0 10px #4ADE80;
    }

    /* Хотспоты (интерактивные точки) */
    .hotspot {
      position: absolute;
      z-index: 4;
      transform: translate(-50%, -50%);
    }
    .hotspot-btn {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: var(--gold-gradient);
      border: 2px solid #ffffff;
      color: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      font-weight: 700;
      font-size: 0.85rem;
      box-shadow: 0 0 0 0 rgba(36,107,72, 0.7);
      animation: hotspotPulse 2.2s infinite;
      transition: transform 0.25s ease, background 0.25s ease;
    }
    .hotspot-btn:hover, .hotspot.active .hotspot-btn {
      transform: scale(1.18);
      background: #FF5A36;
    }
    @keyframes hotspotPulse {
      0% { box-shadow: 0 0 0 0 rgba(36,107,72, 0.7); }
      70% { box-shadow: 0 0 0 14px rgba(36,107,72, 0); }
      100% { box-shadow: 0 0 0 0 rgba(36,107,72, 0); }
    }
    .hotspot-tooltip {
      position: absolute;
      bottom: calc(100% + 10px);
      left: 50%;
      transform: translateX(-50%) translateY(8px);
      background: rgba(18,60,46, 0.94);
      color: #ffffff;
      padding: 10px 14px;
      border-radius: var(--radius-sm);
      font-size: 0.8rem;
      line-height: 1.35;
      width: max-content;
      max-width: min(260px, calc(100vw - 48px));
      text-align: left;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
      box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
      border: 1px solid rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(8px);
    }
    .hotspot-tooltip strong {
      display: block;
      color: var(--gold-light);
      margin-bottom: 3px;
      font-size: 0.85rem;
    }
    .hotspot:hover .hotspot-tooltip, .hotspot.active .hotspot-tooltip {
      opacity: 1;
      visibility: visible;
      transform: translateX(-50%) translateY(0);
      pointer-events: auto;
    }

    /* Теги преимуществ вида */
    .species-badge-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 12px 0 16px;
    }
    .species-pill {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 5px 12px;
      border-radius: 999px;
      font-size: 0.78rem;
      font-weight: 600;
      background: rgba(36,107,72, 0.08);
      border: 1px solid rgba(36,107,72, 0.22);
      color: var(--primary-sage);
    }
    .species-pill.pill-accent {
      background: rgba(227, 154, 124, 0.18);
      border-color: rgba(227, 154, 124, 0.45);
      color: #9C3A18;
    }

    /* ================= ЗВУКОВОЙ МОДУЛЬ ================= */
    .audio-experience-card {
      background: linear-gradient(145deg, #123C2E 0%, #0E3024 100%);
      color: #ffffff;
      border-radius: var(--radius-xl);
      padding: clamp(20px, 3vw, 36px);
      border: 1px solid rgba(255, 255, 255, 0.12);
      box-shadow: var(--shadow-luxury);
      margin-top: 24px;
    }
    .audio-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 16px;
      margin-bottom: 20px;
    }
    .audio-header h3 {
      color: #ffffff;
      font-size: clamp(1.2rem, 2vw, 1.55rem);
      margin: 0;
    }
    .audio-header p {
      color: rgba(255, 255, 255, 0.7);
      font-size: 0.88rem;
      margin: 4px 0 0;
    }
    .audio-waves-container {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 16px 20px;
      background: rgba(255, 255, 255, 0.05);
      border-radius: var(--radius-md);
      border: 1px solid rgba(255, 255, 255, 0.08);
      margin-bottom: 20px;
    }
    .audio-play-btn {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: var(--gold-gradient);
      border: none;
      color: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      flex-shrink: 0;
      box-shadow: 0 8px 20px rgba(36,107,72, 0.45);
      transition: transform 0.2s ease, filter 0.2s ease;
    }
    .audio-play-btn:hover {
      transform: scale(1.06);
      filter: brightness(1.1);
    }
    .audio-wave-visual {
      display: flex;
      align-items: center;
      gap: 4px;
      height: 36px;
      flex: 1;
    }
    .audio-bar {
      width: 4px;
      height: 12px;
      background: rgba(171,230,201, 0.4);
      border-radius: 999px;
      transition: height 0.15s ease, background 0.2s ease;
    }
    .audio-experience-card.is-playing .audio-bar {
      background: var(--gold-light);
      animation: soundWave 0.8s infinite ease-in-out alternate;
    }
    .audio-experience-card.is-playing .audio-bar:nth-child(2n) { animation-delay: 0.15s; }
    .audio-experience-card.is-playing .audio-bar:nth-child(3n) { animation-delay: 0.3s; }
    .audio-experience-card.is-playing .audio-bar:nth-child(4n) { animation-delay: 0.45s; }
    .audio-experience-card.is-playing .audio-bar:nth-child(5n) { animation-delay: 0.6s; }

    @keyframes soundWave {
      0% { height: 6px; }
      50% { height: 32px; }
      100% { height: 14px; }
    }

    .audio-presets-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 12px;
    }
    .audio-preset-item {
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.09);
      border-radius: var(--radius-sm);
      padding: 12px 14px;
      cursor: pointer;
      transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
      display: flex;
      flex-direction: column;
      gap: 4px;
      text-align: left;
    }
    .audio-preset-item:hover {
      background: rgba(255, 255, 255, 0.09);
      border-color: var(--gold-light);
      transform: translateY(-2px);
    }
    .audio-preset-item.active {
      background: rgba(36,107,72, 0.2);
      border-color: var(--gold-light);
    }
    .audio-preset-title {
      font-weight: 600;
      font-size: 0.88rem;
      color: #ffffff;
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .audio-preset-desc {
      font-size: 0.76rem;
      color: rgba(255, 255, 255, 0.65);
      line-height: 1.35;
    }

    /* ================= ИНТЕЛЛЕКТ И ЛИЧНОСТЬ (АЛЕКС) ================= */
    .iq-matrix-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 18px;
      margin-top: 24px;
    }
    .iq-matrix-card {
      background: rgba(255, 252, 248, 0.95);
      border: 1px solid rgba(198, 180, 155, 0.4);
      border-radius: var(--radius-lg);
      padding: 22px 20px;
      box-shadow: 0 4px 16px -10px rgba(90, 70, 50, 0.25);
      transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
      position: relative;
      overflow: hidden;
    }
    .iq-matrix-card:hover {
      transform: translateY(-4px);
      border-color: var(--gold-primary);
      box-shadow: 0 12px 28px -12px rgba(90, 70, 50, 0.35);
    }
    .iq-matrix-card .card-icon {
      font-size: 1.8rem;
      margin-bottom: 12px;
      display: inline-block;
    }
    .iq-matrix-card h3 {
      font-size: 1.15rem;
      color: var(--primary-deep);
      margin-bottom: 8px;
    }
    .iq-matrix-card p {
      font-size: 0.86rem;
      line-height: 1.55;
      color: var(--text-body);
    }
    .iq-badge {
      display: inline-block;
      margin-top: 10px;
      font-size: 0.72rem;
      font-weight: 700;
      color: var(--gold-primary);
      background: var(--gold-pale);
      padding: 3px 8px;
      border-radius: 4px;
    }

    /* ================= ТАЙМЛАЙН ДНЯ С ЖАКО ================= */
    .routine-timeline {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
      margin-top: 24px;
    }
    .routine-step {
      background: rgba(255, 252, 248, 0.95);
      border: 1px solid rgba(198, 180, 155, 0.4);
      border-radius: var(--radius-lg);
      padding: 20px 16px;
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 6px;
      transition: transform 0.2s ease, border-color 0.2s ease;
    }
    .routine-step:hover {
      transform: translateY(-3px);
      border-color: var(--gold-primary);
    }
    .routine-time {
      font-family: 'Literata', Georgia, serif;
      font-weight: 700;
      font-size: 1.25rem;
      color: var(--gold-primary);
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .routine-title {
      font-weight: 600;
      font-size: 0.92rem;
      color: var(--primary-deep);
    }
    .routine-desc {
      font-size: 0.8rem;
      line-height: 1.45;
      color: var(--text-muted);
    }

    /* ================= СУПЕР-КАЛЬКУЛЯТОР 2.0 (ПРЕСЕТЫ И СМЕТА) ================= */
    .calc-presets-bar {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 16px;
      flex-wrap: wrap;
      background: rgba(245, 238, 229, 0.7);
      padding: 8px 12px;
      border-radius: var(--radius-md);
      border: 1px solid rgba(198, 180, 155, 0.35);
    }
    .calc-presets-title {
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--primary-deep);
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
    .calc-preset-btn {
      padding: 6px 14px;
      border-radius: 999px;
      border: 1px solid var(--border-soft);
      background: #ffffff;
      font-family: 'Golos Text', system-ui, sans-serif;
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--text-body);
      cursor: pointer;
      transition: all 0.2s ease;
    }
    .calc-preset-btn:hover {
      background: var(--gold-pale);
      border-color: var(--gold-primary);
      color: var(--gold-primary);
    }
    .calc-preset-btn.active {
      background: var(--gold-gradient);
      border-color: transparent;
      color: #ffffff;
      box-shadow: 0 4px 12px rgba(36,107,72, 0.35);
    }
    .calc-export-cta {
      margin-top: 14px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      flex-wrap: wrap;
      background: #ffffff;
      padding: 14px 18px;
      border-radius: var(--radius-md);
      border: 1px dashed var(--gold-border);
    }
    .calc-export-text {
      font-size: 0.85rem;
      color: var(--primary-deep);
      font-weight: 500;
    }

    /* ================= ИНТЕРАКТИВНЫЙ ТЕСТ НА СОВМЕСТИМОСТЬ ================= */
    .suitability-test-card {
      background: linear-gradient(160deg, rgba(255, 252, 248, 0.98) 0%, rgba(245, 238, 228, 0.95) 100%);
      border: 1px solid rgba(198, 180, 155, 0.5);
      border-radius: var(--radius-xl);
      padding: clamp(20px, 3vw, 36px);
      box-shadow: var(--shadow-luxury);
      margin-top: 24px;
    }
    .test-q-item {
      margin-bottom: 20px;
      padding-bottom: 18px;
      border-bottom: 1px solid rgba(198, 180, 155, 0.3);
    }
    .test-q-item:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: none;
    }
    .test-q-title {
      font-weight: 600;
      font-size: 0.95rem;
      color: var(--primary-deep);
      margin-bottom: 10px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .test-options-row {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 8px;
    }
    .test-opt-btn {
      padding: 10px 14px;
      border-radius: var(--radius-sm);
      border: 1.5px solid rgba(198, 180, 155, 0.4);
      background: #ffffff;
      font-family: 'Golos Text', system-ui, sans-serif;
      font-size: 0.82rem;
      text-align: left;
      cursor: pointer;
      color: var(--text-body);
      transition: all 0.2s ease;
    }
    .test-opt-btn:hover {
      border-color: var(--gold-primary);
      background: var(--gold-pale);
    }
    .test-opt-btn.active {
      border-color: var(--gold-primary);
      background: var(--gold-pale);
      color: var(--gold-primary);
      font-weight: 600;
      box-shadow: 0 4px 10px -4px rgba(36,107,72, 0.4);
    }
    .test-result-box {
      margin-top: 22px;
      padding: 18px 20px;
      border-radius: var(--radius-md);
      background: #ffffff;
      border: 1.5px solid var(--gold-border);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
    }
    .test-score-val {
      font-family: 'Literata', Georgia, serif;
      font-size: 2rem;
      font-weight: 700;
      color: var(--gold-primary);
      line-height: 1;
    }

    /* ================= ФОТОГАЛЕРЕЯ ДЕТАЛЕЙ ================= */
    .species-gallery-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-top: 24px;
    }
    .gallery-item-card {
      position: relative;
      border-radius: var(--radius-lg);
      overflow: hidden;
      border: 1px solid rgba(198, 180, 155, 0.4);
      background: #ffffff;
      box-shadow: 0 6px 18px -8px rgba(90, 70, 50, 0.25);
    }
    .gallery-item-card img {
      width: 100%;
      height: 220px;
      object-fit: cover;
      transition: transform 0.5s ease;
    }
    .gallery-item-card:hover img {
      transform: scale(1.05);
    }
    .gallery-item-info {
      padding: 14px 16px;
      background: #ffffff;
    }
    .gallery-item-info strong {
      display: block;
      font-size: 0.92rem;
      color: var(--primary-deep);
      margin-bottom: 2px;
    }
    .gallery-item-info span {
      font-size: 0.78rem;
      color: var(--text-muted);
    }

    /* ================= МОБИЛЬНАЯ АДАПТАЦИЯ (RESPONSIVE) ================= */
    @media (max-width: 960px) {
      .species-hero-grid {
        grid-template-columns: 1fr;
      }
      .routine-timeline {
        grid-template-columns: repeat(2, 1fr);
      }
      .species-gallery-grid {
        grid-template-columns: 1fr;
      }
      .interactive-photo-box img {
        max-height: 420px;
      }
    }
    @media (max-width: 600px) {
      .routine-timeline {
        grid-template-columns: 1fr;
      }
      .audio-header {
        flex-direction: column;
        align-items: flex-start;
      }
      .test-options-row {
        grid-template-columns: 1fr;
      }
      .calc-presets-bar {
        flex-direction: column;
        align-items: flex-start;
      }
    }

/* Подпись авторов записей — обязательна по условиям CC BY и CC BY-SA.
   Ставим самым мелким текстом, чтобы не спорила с содержанием блока. */
.audio-credits{
  margin:12px 0 0;
  font-size:0.68rem;
  line-height:1.5;
  color:var(--text-muted);
  opacity:.75;
}

/* Блок «Голос жако» возвращён на телефоны 07.09.2026.
   Скрывали его потому, что карточки не реагировали на касание и звук молчал.
   Причина найдена и устранена: касания в нижней трети экрана перехватывал
   cookie-баннер (см. блок «КАСАНИЯ НА ТЕЛЕФОНЕ» ниже), поэтому выбор записи
   просто не доходил до карточки. Сам звук исправен: записи отдаются сервером,
   звуковой контекст переходит в running, источник стартует. */


/* ================= КАСАНИЯ НА ТЕЛЕФОНЕ (07.09.2026) =================
   Диагностика Playwright на вьюпорте 393 px: cookie-баннер занимал
   610–768 px по вертикали (158 px высотой), нижняя панель заявки — ещё 75 px.
   Вместе 242 px = 28% экрана снизу, ровно там, куда человек прокручивает
   кнопку под большой палец. Касание попадало в баннер, а не в кнопку:
   не выбирались карточки квиза, кнопки калькулятора, телефон, ссылки подвала.
   В эмуляции дефект не проявлялся — программный клик прокручивает цель
   в центр экрана, где перекрытия нет.

   Решение: на телефоне баннер — узкая полоса во всю ширину внизу, а панель
   заявки не показывается, пока посетитель не ответил про cookie. */
@media (max-width:900px){
  .cookie-banner{
    left:0 !important;right:0 !important;bottom:0 !important;
    width:100% !important;max-width:none !important;
    transform:none !important;
    flex-direction:row !important;align-items:center !important;
    gap:10px !important;
    padding:9px 14px calc(9px + env(safe-area-inset-bottom,0px)) !important;
    border-radius:0 !important;
    border-left:0;border-right:0;border-bottom:0;
    animation:none !important;
  }
  .cookie-text{font-size:.72rem !important;line-height:1.35 !important;}
  .cookie-actions{flex-shrink:0;gap:8px !important;}
  .cookie-btn{padding:9px 12px !important;font-size:.7rem !important;}

  /* пока висит баннер, панель заявки не удваивает мёртвую зону */
  body.cookie-visible .vk-bottombar{display:none !important;}
  body.cookie-visible{padding-bottom:0 !important;}
}

/* ================= ИКОНКИ ВМЕСТО ЭМОДЗИ (08.09.2026) =================
   Брендбук проекта запрещает unicode-эмодзи. На странице вида их было 19;
   там, где значок нёс смысл, он заменён тонким штриховым SVG в цвете акцента. */
.species-pill .pill-ic{
  width:14px;height:14px;flex-shrink:0;
}

.iq-matrix-card .card-icon{
  display:block;
  width:30px;height:30px;
  margin-bottom:12px;
  color:var(--gold-primary);
}
.iq-matrix-card .card-icon svg{
  width:100%;height:100%;display:block;
}


/* Телефон: подсказка метки не обрезается рамкой (контейнер отпущен в visible)
   и не вылезает за край экрана. */
@media (max-width: 640px) {
  .hotspot-tooltip {
    width: 215px;
    max-width: calc(100vw - 56px);
    font-size: 0.86rem;
    line-height: 1.5;
    padding: 12px 14px;
    z-index: 60;
  }
  /* метки у правого края раскрывают подсказку влево, у левого — вправо */
  .hotspot[data-side=right] .hotspot-tooltip {
    left: auto;
    right: 0;
    transform: translateX(0) translateY(8px);
  }
  .hotspot[data-side="right"]:hover .hotspot-tooltip,
  .hotspot[data-side="right"].active .hotspot-tooltip {
    transform: translateX(0) translateY(0);
  }
  .hotspot[data-side="left"] .hotspot-tooltip {
    left: 0;
    right: auto;
    transform: translateX(0) translateY(8px);
  }
  .hotspot[data-side="left"]:hover .hotspot-tooltip,
  .hotspot[data-side="left"].active .hotspot-tooltip {
    transform: translateX(0) translateY(0);
  }
}

/**
 * ВЫКОРМЫШ.РФ — Стили для страницы вида «Амазон»
 * Премиальная тёмно-кобальтовая палитра, золото, плавные анимации и интерактив
 */

/* Canvas летающих птиц */
.birds-canvas-holder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: 2;
}

#birds-flight-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* Кнопка запуска стаи птиц */
.flock-trigger-bar {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(18,60,46, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(197, 168, 128, 0.35);
  border-radius: 40px;
  padding: 6px 18px;
  font-size: 0.82rem;
  color: var(--gold-light, #ABE6C9);
  margin-top: 14px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
}

.flock-trigger-bar:hover {
  background: rgba(36,107,72, 0.25);
  border-color: var(--gold-light, #ABE6C9);
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(197, 168, 128, 0.2);
}

.flock-trigger-bar svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.pulse-gold {
  animation: pulseGoldAnim 0.8s ease-out;
}

@keyframes pulseGoldAnim {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(225, 185, 49, 0.7); }
  50% { transform: scale(1.04); box-shadow: 0 0 20px 8px rgba(225, 185, 49, 0.4); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(225, 185, 49, 0); }
}

/* Секция: Динамика и грация свободного полёта */
.flight-showcase-wrap {
  position: relative;
  background: radial-gradient(circle at 50% 30%, rgba(27, 107, 70, 0.12) 0%, rgba(13,42,28, 0) 70%);
  padding: 30px 0 10px;
}

.flight-cinema-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 28px;
  align-items: stretch;
  margin-top: 32px;
}

.flight-main-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(197, 168, 128, 0.25);
  background: #0D2A1C;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
  display: flex;
  flex-direction: column;
}

.flight-main-card img {
  width: 100%;
  /* пропорция исходного кадра 1376x768: рамка подстраивается под фото, а не режет его */
  height: auto;
  aspect-ratio: 1376 / 768;
  object-fit: contain;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.flight-main-card:hover img {
  transform: scale(1.03);
}

.flight-card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(13,42,28, 0.95) 0%, rgba(13,42,28, 0.6) 60%, rgba(13,42,28, 0) 100%);
  padding: 28px;
  color: white;
}

.flight-card-overlay h3 {
  font-family: 'Literata', Georgia, serif;
  font-size: 1.5rem;
  color: white;
  margin: 0 0 8px 0;
}

.flight-card-overlay p {
  font-size: 0.92rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.82);
  margin: 0;
}

.flight-side-stack {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.flight-side-card {
  background: rgba(18,60,46, 0.65);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(36,107,72, 0.25);
  border-radius: 18px;
  padding: 22px;
  display: flex;
  gap: 18px;
  align-items: center;
  transition: all 0.3s ease;
}

.flight-side-card:hover {
  border-color: rgba(197, 168, 128, 0.5);
  background: rgba(18,60,46, 0.85);
  transform: translateY(-2px);
}

.flight-side-thumb {
  width: 132px;
  /* высота по кадру: форма рамки повторяет пропорции фотографии, поэтому
     виден весь снимок и при этом нет пустых полей */
  height: auto;
  border-radius: 14px;
  overflow: hidden;
  flex-shrink: 0;
}

.flight-side-thumb img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.flight-side-info h4 {
  font-family: 'Literata', Georgia, serif;
  font-size: 1.15rem;
  color: var(--gold-light, #ABE6C9);
  margin: 0 0 6px 0;
}

.flight-side-info p {
  font-size: 0.85rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
}

.flight-metrics-ribbon {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 28px;
}

.flight-metric-item {
  background: rgba(13,42,28, 0.7);
  border: 1px solid rgba(197, 168, 128, 0.2);
  border-radius: 14px;
  padding: 16px;
  text-align: center;
}

.flight-metric-item span {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 6px;
}

.flight-metric-item strong {
  font-size: 1.25rem;
  font-family: 'Literata', Georgia, serif;
  color: var(--gold-light, #ABE6C9);
}

/* Секция: Селектор подвидов Амазонов */
.subspecies-tabs-holder {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 28px 0 32px;
}

.subspecies-tab-btn {
  background: rgba(18,60,46, 0.6);
  border: 1px solid rgba(36,107,72, 0.3);
  border-radius: 30px;
  padding: 10px 22px;
  font-family: 'Golos Text', system-ui, sans-serif;
  font-size: 0.92rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.subspecies-tab-btn:hover {
  color: white;
  border-color: rgba(197, 168, 128, 0.6);
  background: rgba(18,60,46, 0.9);
}

.subspecies-tab-btn.active {
  background: linear-gradient(135deg, rgba(36,107,72, 0.35) 0%, rgba(27, 107, 70, 0.35) 100%);
  border-color: var(--gold-light, #ABE6C9);
  color: white;
  font-weight: 600;
  box-shadow: 0 4px 16px rgba(197, 168, 128, 0.15);
}

.subspecies-card-grid {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 36px;
  background: rgba(18,60,46, 0.65);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(197, 168, 128, 0.3);
  border-radius: 24px;
  padding: 36px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  align-items: center;
}

.subspecies-visual {
  position: relative;
  width: 100%;
  height: 440px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
  background: linear-gradient(160deg, rgba(18,60,46, 0.55), rgba(12,38,25, 0.8));
}

.subspecies-visual img {
  width: 100%;
  height: 100%;
  /* contain, а не cover: снимок птицы показывается целиком, без срезанных хвоста и крыльев */
  object-fit: contain;
  display: block;
  transition: opacity 0.2s ease, transform 0.4s ease;
}

/* Атрибут hidden должен побеждать правило выше, иначе скрытая картинка рисуется как битая */
.subspecies-visual img[hidden] {
  display: none;
}

.subspecies-visual:hover img {
  transform: scale(1.02);
}

.subspecies-details h3 {
  font-family: 'Literata', Georgia, serif;
  font-size: 1.85rem;
  color: white;
  margin: 0 0 4px 0;
}

.subspecies-latin {
  font-style: italic;
  font-size: 0.95rem;
  color: var(--gold-light, #ABE6C9);
  margin-bottom: 12px;
  display: block;
}

.subspecies-badge-pill {
  display: inline-block;
  background: rgba(27, 107, 70, 0.3);
  border: 1px solid rgba(46, 204, 113, 0.4);
  color: #55EFC4;
  border-radius: 20px;
  padding: 4px 14px;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 16px;
}

.subspecies-desc {
  font-size: 0.95rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 22px;
}

.subspecies-data-table {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 20px;
  background: rgba(13,42,28, 0.5);
  border-radius: 14px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 24px;
}

.sub-cell-label {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 3px;
}

.sub-cell-val {
  font-size: 0.95rem;
  font-weight: 600;
  color: white;
}

/* Зоо-комплаенс дисклеймер */
.vet-disclaimer-box {
  /* текст юридически значимый: подложка плотная, кегль и контраст подняты до читаемых */
  background: rgba(12,38,25, 0.88);
  border-left: 3px solid var(--gold-light, #ABE6C9);
  border-radius: 0 12px 12px 0;
  padding: 16px 20px;
  font-size: 0.92rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.93);
  margin-top: 24px;
}

/* Мобильные элементы навигации и сметы по умолчанию скрыты на десктопе */
.subspecies-nav-inline {
  display: none;
}
.calc-mobile-summary-card {
  display: none;
}

/* Медиа-запросы для планшетов и мобильных устройств */
@media (max-width: 991px) {
  .flight-cinema-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .subspecies-card-grid {
    grid-template-columns: 1fr;
    padding: 24px;
    gap: 24px;
  }
  .subspecies-visual {
    height: 300px;
  }
}

@media (max-width: 768px) {
  /* ===================================================
     1. БЛОК 2: АЭРОДИНАМИКА И ПОЛЕТЫ (УСТРАНЕНИЕ СДВИГОВ)
     =================================================== */
  .flight-showcase-wrap {
    padding: 20px 0 10px;
  }
  .flight-cinema-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 16px;
  }

  /* Главная карточка: чистое фото сверху, текст снизу без наложения */
  .flight-main-card {
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #0D2A1C;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
  }
  .flight-main-card img {
    height: auto !important;
    aspect-ratio: 1376 / 768;
    width: 100% !important;
    object-fit: contain !important;
    border-radius: 16px 16px 0 0 !important;
  }
  .flight-card-overlay {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    background: #0D2A1C !important;
    padding: 16px 14px !important;
    border-radius: 0 0 16px 16px !important;
  }
  .flight-card-overlay h3 {
    font-size: 1.22rem !important;
    line-height: 1.35 !important;
    margin: 0 0 8px 0 !important;
    color: white !important;
  }
  .flight-card-overlay p {
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
    color: rgba(255, 255, 255, 0.85) !important;
  }

  /* Боковые карточки: вертикальный стек, фото во всю ширину */
  .flight-side-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
  .flight-side-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 14px !important;
    gap: 12px !important;
    border-radius: 16px !important;
  }
  .flight-side-thumb {
    width: 100% !important;
    height: auto !important;
    max-height: 260px !important;
    border-radius: 12px !important;
    display: flex !important;
    justify-content: center !important;
  }
  .flight-side-thumb img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 260px !important;
    object-fit: contain !important;
  }
  .flight-side-info h4 {
    font-size: 1.1rem !important;
    line-height: 1.35 !important;
    margin: 0 0 6px 0 !important;
    color: var(--gold-light, #ABE6C9) !important;
  }
  .flight-side-info p {
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    color: rgba(255, 255, 255, 0.8) !important;
  }

  /* Метрики полета: аккуратная сетка 2x2 вместо длинной лестницы */
  .flight-metrics-ribbon {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }
  .flight-metric-item {
    padding: 12px 10px !important;
    border-radius: 12px !important;
  }
  .flight-metric-item span {
    font-size: 0.68rem !important;
    margin-bottom: 4px !important;
    line-height: 1.25 !important;
    letter-spacing: 0.03em !important;
  }
  .flight-metric-item strong {
    font-size: 1.1rem !important;
    line-height: 1.2 !important;
  }

  /* ===================================================
     2. БЛОК 3: ПОДВИДЫ (ЛИПКИЕ ТАБЫ + КНОПКИ ВПЕРЕД/НАЗАД)
     =================================================== */
  .subspecies-tabs-holder {
    position: sticky !important;
    top: 60px !important;
    z-index: 15 !important;
    background: rgba(13,42,28, 0.96) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    margin: 14px -15px 16px -15px !important;
    padding: 10px 14px !important;
    border-top: 1px solid rgba(197, 168, 128, 0.25) !important;
    border-bottom: 1px solid rgba(197, 168, 128, 0.25) !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    scrollbar-width: none !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
  }
  .subspecies-tabs-holder::-webkit-scrollbar { display: none; }
  .subspecies-tab-btn {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding: 7px 14px !important;
    font-size: 0.82rem !important;
    border-radius: 20px !important;
  }

  .subspecies-card-grid {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
    border-radius: 18px !important;
    gap: 16px !important;
  }
  .subspecies-visual {
    height: 200px !important;
    border-radius: 14px !important;
  }
  .subspecies-details h3 {
    font-size: 1.4rem !important;
    margin: 0 0 3px 0 !important;
  }
  .subspecies-badge-pill {
    font-size: 0.74rem !important;
    padding: 3px 10px !important;
    margin-bottom: 8px !important;
  }
  .subspecies-desc {
    font-size: 0.86rem !important;
    line-height: 1.5 !important;
    margin-bottom: 12px !important;
  }

  /* Быстрая навигация «Предыдущий / Следующий вид» прямо в карточке */
  .subspecies-nav-inline {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    background: rgba(13,42,28, 0.6) !important;
    border: 1px solid rgba(197, 168, 128, 0.25) !important;
    border-radius: 12px !important;
    padding: 8px 10px !important;
    margin-bottom: 14px !important;
  }
  .subspecies-nav-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: rgba(36,107,72, 0.25) !important;
    border: 1px solid rgba(197, 168, 128, 0.4) !important;
    border-radius: 8px !important;
    padding: 7px 12px !important;
    color: white !important;
    font-family: 'Golos Text', system-ui, sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
  }
  .subspecies-nav-btn:active {
    background: rgba(197, 168, 128, 0.3) !important;
    transform: scale(0.97) !important;
  }
  .subspecies-nav-btn svg {
    width: 14px !important;
    height: 14px !important;
    fill: currentColor !important;
  }
  .subspecies-nav-counter {
    font-size: 0.84rem !important;
    font-weight: 600 !important;
    color: var(--gold-light, #ABE6C9) !important;
    font-variant-numeric: tabular-nums !important;
  }

  .subspecies-data-table {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px 10px !important;
    padding: 12px !important;
    margin-bottom: 16px !important;
  }
  .sub-cell-label {
    font-size: 0.68rem !important;
    letter-spacing: 0.03em !important;
  }
  .sub-cell-val {
    font-size: 0.84rem !important;
  }
  #sub-cta-btn {
    width: 100% !important;
    padding: 14px !important;
    font-size: 0.92rem !important;
  }
  .subspecies-details a.btn-lux-outline {
    width: 100% !important;
    text-align: center !important;
    padding: 10px !important;
  }

  /* ===================================================
     3. КАЛЬКУЛЯТОР СОДЕРЖАНИЯ 2.0 (МОБИЛЬНОЕ ЮЗАБИЛИТИ)
     =================================================== */
  /* Липкая мобильная карточка сметы вверху калькулятора */
  .calc-mobile-summary-card {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: sticky !important;
    top: 60px !important;
    z-index: 14 !important;
    background: rgba(13,42,28, 0.95) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1.5px solid rgba(197, 168, 128, 0.4) !important;
    border-radius: 12px !important;
    padding: 8px 14px !important;
    margin: 8px 0 14px 0 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
  }
  .calc-mob-sum-left span {
    display: block !important;
    font-size: 0.68rem !important;
    color: rgba(255, 255, 255, 0.65) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
  }
  .calc-mob-sum-left strong {
    font-family: 'Literata', Georgia, serif !important;
    font-size: 1.25rem !important;
    color: #FFD56B !important;
    font-variant-numeric: tabular-nums !important;
  }
  .calc-mob-cta-btn {
    padding: 8px 14px !important;
    font-size: 0.8rem !important;
    min-height: 38px !important;
    white-space: nowrap !important;
    border-radius: 8px !important;
  }

  /* Пресеты: компактная адаптивная сетка */
  .calc-presets-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }
  .calc-presets-title {
    width: 100% !important;
    font-size: 0.78rem !important;
    margin-bottom: 2px !important;
  }
  .calc-preset-btn {
    flex: 1 1 calc(50% - 5px) !important;
    text-align: center !important;
    padding: 8px 10px !important;
    font-size: 0.8rem !important;
    border-radius: 10px !important;
  }

  /* Табы калькулятора: горизонтальный скролл без вертикального раздувания */
  .calc-tabs {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 6px !important;
    margin-bottom: 12px !important;
    scrollbar-width: none !important;
    grid-template-columns: none !important;
  }
  .calc-tabs::-webkit-scrollbar { display: none; }
  .calc-tab {
    flex: 1 0 auto !important;
    min-width: 110px !important;
    padding: 8px 8px !important;
    border-radius: 10px !important;
    text-align: center !important;
  }
  .calc-tab-label {
    font-size: 0.78rem !important;
    white-space: nowrap !important;
  }
  .calc-tab-sum {
    font-size: 0.92rem !important;
    margin-top: 1px !important;
  }
  .calc-tab-hint {
    display: none !important;
  }

  /* Карточки элементов калькулятора: радио-выбор во всю ширину */
  .calc-item {
    padding: 12px 10px !important;
    display: grid !important;
    grid-template-columns: 44px 1fr auto !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    gap: 4px 8px !important;
  }
  .calc-switch {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    padding-top: 2px !important;
  }
  .calc-item-title {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    padding-right: 4px !important;
  }
  .calc-item-sum {
    grid-column: 3 / 4 !important;
    grid-row: 1 / 2 !important;
    font-size: 0.95rem !important;
    padding-top: 2px !important;
  }
  .calc-item-name {
    font-size: 0.92rem !important;
    line-height: 1.35 !important;
  }
  .calc-item-note {
    font-size: 0.76rem !important;
    line-height: 1.35 !important;
  }
  .calc-opts {
    grid-column: 1 / 4 !important;
    grid-row: 2 / 3 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    margin-top: 8px !important;
    overflow: visible !important;
  }
  .calc-opt {
    max-width: 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 12px !important;
    min-height: 44px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }
  .calc-opt-name {
    white-space: normal !important;
    max-width: none !important;
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
    text-align: left !important;
    padding-right: 8px !important;
  }
  .calc-opt-price {
    font-size: 0.92rem !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }
  .calc-export-cta {
    padding: 16px 14px !important;
    flex-direction: column !important;
    text-align: center !important;
    gap: 12px !important;
  }
  .calc-export-cta .btn-lux {
    width: 100% !important;
  }
}



/* Заглушка на месте фотографии подвида, для которого нет достоверного снимка.
   Ставить чужой вид под видом нужного нельзя, поэтому место остаётся честно пустым. */
.subspecies-photo-pending {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-height: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 2rem 1.5rem;
  text-align: center;
  border: 1px dashed rgba(171,230,201, 0.45);
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(18,60,46, 0.55), rgba(12,38,25, 0.75));
}
.subspecies-photo-pending[hidden] { display: none; }
.subspecies-photo-pending .pending-dots {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 2px solid rgba(171,230,201, 0.5);
  position: relative;
}
.subspecies-photo-pending .pending-dots::after {
  content: '';
  position: absolute;
  inset: 40% 28%;
  border-radius: 2px;
  background: rgba(171,230,201, 0.55);
}
.subspecies-photo-pending .pending-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: rgba(240,251,246, 0.92);
}
.subspecies-photo-pending .pending-note {
  margin: 0;
  max-width: 34ch;
  font-size: 0.9rem;
  line-height: 1.5;
  color: rgba(232,225,209, 0.78);
}

/* Локальная доработка исходника: компактная раскладка и финальная заявка. */
html{scroll-padding-top:110px}main .section-wrap{padding-top:32px!important;padding-bottom:32px!important}main .section-wrap>.container{min-width:0}main .section-head-center{margin-bottom:26px!important}main .section-head-center .sec-kicker{margin-bottom:9px}main .section-head-center .sec-title{margin-top:0;margin-bottom:12px!important}main .sec-intro{margin-top:0;line-height:1.65}main .species-hero-grid{gap:32px}main .flight-cinema-grid{gap:18px}main .subspecies-card-grid{gap:26px}main .iq-matrix-grid,main .legal-shield-grid,main .species-gallery-grid{gap:18px}main .suits-grid{gap:20px}main .routine-timeline{gap:16px}main .flight-metrics-ribbon{margin-top:20px}main .faq-foot{margin-top:20px!important}main .hero-ctas{gap:12px}main img{object-fit:contain!important}main .species-intro,main .subspecies-details,main .calc-item-title{min-width:0}main .gallery-item-card{margin:0}main .species-gallery-grid img{height:260px!important;background:#123C2E}main .flight-main-card>img{width:100%;object-fit:contain!important}main .calc-grand{gap:14px}main .calc-opts{min-width:0}main .calc-opt{white-space:normal}main .sec-title{text-wrap:balance}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ABE6C9;outline-offset:4px}
main .amazon-final>.container{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:36px;align-items:center;background:#123C2E!important;border:1px solid #286949!important;border-radius:26px!important;padding:40px!important;box-shadow:0 16px 38px -24px #123C2E!important}main .amazon-final .sec-kicker{color:#BCECD4}main .amazon-final .sec-title{color:#fff!important;font-size:clamp(1.9rem,3vw,2.8rem)!important;line-height:1.16;margin:12px 0 18px}main .amazon-final-copy p{color:#DEF6EA;font-size:16px;line-height:1.7;margin:0 0 16px}.amazon-final-note{color:#ABE6C9;font-size:13px;line-height:1.6}.amazon-final-actions{display:flex;flex-direction:column;align-items:stretch;gap:18px}.amazon-final-actions .btn-lux{white-space:normal;min-height:52px}.amazon-final-telegram{color:#C8EFDC;text-align:center;font-weight:600;text-decoration:none}
@media(max-width:960px){main .species-hero-grid{gap:22px}main .section-wrap{padding-top:24px!important;padding-bottom:24px!important}main .section-head-center{margin-bottom:20px!important}main .subspecies-card-grid{gap:20px}main .amazon-final>.container{grid-template-columns:1fr;gap:24px}main .amazon-final-actions{max-width:480px;width:100%}}
@media(max-width:600px){html{scroll-padding-top:100px}main .section-wrap{padding-top:16px!important;padding-bottom:16px!important}main .section-wrap>.container{width:calc(100% - 24px)!important;padding:20px 16px!important;margin-left:auto!important;margin-right:auto!important}main .species-hero{padding-top:22px!important}main .section-head-center{margin-bottom:18px!important}main .sec-kicker{font-size:11px!important;letter-spacing:.09em!important}main .section-head-center .sec-title{font-size:clamp(1.5rem,6.5vw,1.9rem)!important;line-height:1.2!important;margin-bottom:10px!important}main .sec-intro{font-size:14px!important;line-height:1.6!important;margin-bottom:0!important}main .species-intro h1.sec-title{font-size:clamp(1.65rem,7.3vw,2rem)!important}main .species-hero-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}main .interactive-photo-box{min-height:0!important;margin:0!important}main .interactive-photo-box>img{height:auto!important;max-height:390px!important;width:100%!important}main .photo-floating-badge{max-width:calc(100% - 20px);font-size:10px!important;white-space:normal;padding:8px!important;left:10px!important;top:10px!important}main .species-lead{font-size:14px!important;line-height:1.65!important;margin:14px 0!important}main .species-badge-row{gap:6px!important;margin:12px 0!important}main .species-pill{font-size:11px!important;padding:6px 9px!important}main .bird-metrics-matrix{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}main .metric-cell{padding:12px 10px!important;min-width:0}main .metric-cell strong{font-size:15px!important}main .metric-cell span{font-size:10px!important}main .species-price{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:14px!important}main .species-price>div{min-width:0;padding:12px 10px!important}main .species-price strong{font-size:18px!important}main .species-price span{font-size:10px!important}main .species-price-note{font-size:12px!important;line-height:1.6!important;margin:12px 0!important}main .hero-ctas{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:16px!important}main .btn-lux{white-space:normal!important;font-size:13px!important;line-height:1.45;min-height:46px;max-width:100%}main .flight-cinema-grid,main .flight-side-stack,main .subspecies-card-grid,main .iq-matrix-grid,main .routine-timeline,main .suits-grid,main .legal-shield-grid,main .species-gallery-grid{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}main .flight-main-card img{height:auto!important;min-height:0!important;max-height:260px!important}main .flight-card-overlay{position:static!important;background:#123C2E!important;padding:16px!important}main .flight-card-overlay h3{font-size:18px!important;color:#fff!important}main .flight-card-overlay p{font-size:13px!important;color:#DEF6EA!important;line-height:1.6}main .flight-side-card{gap:12px!important;padding:12px!important}main .flight-side-thumb{width:90px!important;flex:0 0 90px!important}main .flight-side-thumb img{height:90px!important}main .flight-side-info{min-width:0}main .flight-side-info h4{font-size:15px!important}main .flight-side-info p{font-size:12px!important;line-height:1.55}main .flight-metrics-ribbon{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:16px!important;margin-top:14px!important}main .flight-metric-item{min-width:0;padding:0!important;border:0!important}main .flight-metric-item strong{font-size:19px!important}main .subspecies-tabs-holder{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;padding:0!important;width:100%!important;margin-bottom:16px!important}main .subspecies-tab-btn{width:100%!important;min-width:0!important;white-space:normal!important;padding:12px!important}main .subspecies-visual{min-height:0!important}main .subspecies-visual img{height:auto!important;max-height:330px!important;width:100%!important}main .subspecies-details{padding:16px!important}main .subspecies-details h3{font-size:23px!important;margin:10px 0!important}main .subspecies-desc{font-size:14px!important;line-height:1.65;min-height:0!important;margin:12px 0!important}main .subspecies-data-table{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:16px 0!important}main .subspecies-data-table>div{min-width:0;padding:10px!important}main .sub-cell-val{font-size:14px!important;overflow-wrap:anywhere}main .sub-cell-label{font-size:10px!important}main .subspecies-nav-inline{gap:8px!important;flex-wrap:wrap;justify-content:space-between}main .iq-matrix-card,main .legal-card,main .suits-col,main .routine-step{padding:18px!important}main .iq-matrix-card h3,main .legal-card h3,main .suits-col h3{font-size:19px!important;margin-bottom:10px!important}main .iq-matrix-card p,main .legal-card p,main .routine-desc,main .suits-col li{font-size:14px!important;line-height:1.6!important}main .routine-title{font-size:16px!important}main .routine-time{margin-bottom:8px!important}main .calc-wrap{padding:0!important;margin:0!important;min-width:0}main .calc-tabs{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;overflow:visible!important;padding:10px!important}main .calc-tab{width:100%!important;min-width:0!important;flex:none!important;padding:11px!important;gap:6px!important}main .calc-tab-label{font-size:11px!important;white-space:normal}main .calc-tab-sum{font-size:17px!important}main .calc-presets-bar{gap:8px!important;padding:14px!important;flex-wrap:wrap}main .calc-preset-btn{white-space:normal!important;max-width:100%;font-size:12px!important}main .calc-item{grid-template-columns:28px minmax(0,1fr)!important;grid-template-areas:'sw title' 'sw sum' 'opts opts'!important;gap:8px!important;padding:14px!important}main .calc-item-name{font-size:14px!important}main .calc-item-note{font-size:12px!important;line-height:1.55;display:block!important;overflow:visible!important}main .calc-opts{display:flex!important;flex-wrap:wrap!important;gap:8px!important;overflow:visible!important;margin:0!important;padding:0!important;width:100%!important}main .calc-opt{flex:1 1 110px!important;min-width:0!important;max-width:100%!important;padding:10px!important}main .calc-opt-name{white-space:normal!important;font-size:12px!important}main .calc-opt-price{font-size:14px!important}main .calc-grand{padding:16px!important;display:flex!important;flex-wrap:wrap!important;gap:12px!important}main .calc-grand strong{font-size:26px!important}main .calc-export-cta{padding:16px!important;flex-direction:column;align-items:stretch!important;gap:12px!important}main .calc-export-text{font-size:13px!important;line-height:1.6}main .calc-disclaimer{font-size:11px!important;line-height:1.6;padding:14px!important;margin:0!important}main .suitability-test-card{padding:16px!important}main .test-q-item{margin-bottom:18px!important}main .test-q-title{font-size:14px!important;line-height:1.5}main .test-options-row{grid-template-columns:1fr!important;gap:7px!important}main .test-opt-btn{white-space:normal!important;font-size:13px!important;padding:11px!important}main .test-result-box{flex-wrap:wrap!important;gap:14px!important;padding:16px!important}main .species-gallery-grid img{height:240px!important;max-height:none!important}main .gallery-item-info{padding:14px!important}main .faq-list{gap:10px!important}main .faq-item{padding:0!important}main .faq-q{padding:16px!important;font-size:14px!important;line-height:1.5}main .faq-a{padding:0 16px 16px!important;font-size:14px!important;line-height:1.65}main .faq-foot{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:14px!important}main .birds-lux-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}main .bird-visual-frame{height:190px!important}main .amazon-final>.container{padding:26px 20px!important;border-radius:22px!important;gap:22px!important}main .amazon-final .sec-title{font-size:1.8rem!important;margin-bottom:14px!important}main .amazon-final-copy p{font-size:14px;line-height:1.65}.amazon-final-note{font-size:12px}.amazon-final-actions{gap:14px}.amazon-final-telegram{font-size:13px}main .hotspot-tooltip{max-width:210px!important;width:210px!important;font-size:12px!important}main .vet-disclaimer-box{margin-top:16px!important;padding:14px!important;font-size:11px!important;line-height:1.6}main .breadcrumbs{font-size:11px!important;gap:6px!important;margin-bottom:18px!important}}
@media(max-width:360px){main .section-wrap>.container{width:calc(100% - 20px)!important;padding:18px 12px!important}main .subspecies-data-table{grid-template-columns:1fr!important}main .photo-floating-badge{font-size:9px!important}main .flight-side-card{display:block!important}main .flight-side-thumb{width:100%!important;margin-bottom:12px}main .flight-side-thumb img{width:100%!important;height:130px!important}main .amazon-final>.container{padding:24px 16px!important}main .amazon-final .sec-title{font-size:1.65rem!important}main .hotspot-tooltip{width:180px!important;max-width:180px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}#test .amazon-test-accordion{border:1px solid #BCECD4;border-radius:20px;background:linear-gradient(130deg,#F1EBDD,#ECFAF3);overflow:hidden}#test .amazon-test-trigger{display:grid;grid-template-columns:78px minmax(0,1fr) 34px;gap:20px;align-items:center;list-style:none;cursor:pointer;padding:22px 24px;min-height:110px}#test .amazon-test-trigger::-webkit-details-marker{display:none}#test .amazon-test-trigger::marker{content:''}#test .amazon-test-trigger:focus-visible{outline:3px solid #2FA068;outline-offset:-4px;border-radius:20px}#test .amazon-test-bird{display:block;width:78px;height:78px;transition:transform .2s ease}#test .amazon-test-bird svg{display:block;width:100%;height:100%}#test .amazon-test-trigger:hover .amazon-test-bird{transform:translateY(-3px) rotate(-4deg)}#test .amazon-test-heading{min-width:0}#test .amazon-test-kicker{display:block;color:#2FA068;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}#test .amazon-test-heading h2{font-family:Literata,serif;font-size:clamp(1.3rem,2.4vw,1.85rem);line-height:1.25;color:#123C2E;margin:8px 0}#test .amazon-test-hint{font-size:13px;line-height:1.5;color:#528069;display:block}#test .test-hint-open{display:none}#test details[open] .test-hint-closed{display:none}#test details[open] .test-hint-open{display:inline}#test .amazon-test-arrow{display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:#2FA068;background:#DCF5E9;border-radius:50%;transition:transform .2s ease}#test .amazon-test-arrow svg{width:20px;height:20px}#test details[open] .amazon-test-arrow{transform:rotate(180deg)}#test .amazon-test-content{padding:0 24px 24px;border-top:1px solid #C7ECDA}#test .amazon-test-intro{font-size:14px;line-height:1.65;color:#426A56;margin:18px 0}#test .suitability-test-card{margin:0;box-shadow:none!important}#test .amazon-test-accordion:not([open])>.amazon-test-content{display:none}
@media(max-width:600px){#test .amazon-test-trigger{grid-template-columns:52px minmax(0,1fr) 26px;gap:12px;padding:16px 12px;min-height:0}#test .amazon-test-bird{width:52px;height:52px}#test .amazon-test-heading h2{font-size:17px;margin:6px 0;line-height:1.3}#test .amazon-test-kicker{font-size:9px;letter-spacing:.06em}#test .amazon-test-hint{font-size:11px}#test .amazon-test-arrow{width:26px;height:26px}#test .amazon-test-content{padding:0 12px 12px}#test .amazon-test-intro{font-size:13px;margin:14px 0}#test .suitability-test-card{padding:12px!important}}@media(max-width:360px){#test .amazon-test-trigger{grid-template-columns:42px minmax(0,1fr) 24px;gap:8px}#test .amazon-test-bird{width:42px;height:42px}#test .amazon-test-heading h2{font-size:15px}#test .amazon-test-hint{font-size:10px}}@media(prefers-reduced-motion:reduce){#test .amazon-test-bird,#test .amazon-test-arrow{transition:none}#test .amazon-test-trigger:hover .amazon-test-bird{transform:none}}#test .amazon-test-bird{width:78px;height:100px}#test .amazon-test-bird img{display:block;width:100%;height:100%;object-fit:contain!important}#test .amazon-test-trigger{min-height:132px}@media(max-width:600px){#test .amazon-test-trigger{grid-template-columns:64px minmax(0,1fr) 26px;min-height:0}#test .amazon-test-bird{width:64px;height:86px}}@media(max-width:360px){#test .amazon-test-trigger{grid-template-columns:54px minmax(0,1fr) 24px}#test .amazon-test-bird{width:54px;height:72px}}#gallery .gallery-item-card{margin:0;overflow:hidden}#gallery .species-gallery-grid img{display:block;width:100%;height:auto!important;aspect-ratio:4/3;object-fit:contain!important;max-height:none!important;background:#E1F6EC}#gallery .gallery-item-info{min-height:88px}#gallery .gallery-image-note{font-size:12px;line-height:1.6;color:#528069;margin:16px 0 0}@media(max-width:600px){#gallery .gallery-item-info{min-height:0}#gallery .gallery-image-note{font-size:11px;margin-top:12px}}#subspecies .sec-intro{max-width:960px!important;width:100%;margin-left:auto;margin-right:auto;text-wrap:balance}#flight .section-head-center .sec-title{width:100%;max-width:100%!important;margin-left:auto;margin-right:auto}#flight .flight-title-line{white-space:nowrap}@media(max-width:600px){#flight .section-head-center .sec-title{font-size:clamp(18px,5vw,24px)!important;line-height:1.25}}#flight .section-head-center .sec-intro{max-width:100%!important;width:100%;margin-left:auto;margin-right:auto;text-wrap:balance}#similar .bird-visual-frame img{object-fit:contain!important;object-position:center!important;width:100%;height:100%}
main .species-hero{padding-top:16px!important;padding-bottom:20px!important}
main .species-hero>.container{padding:18px 24px!important;min-height:0!important}
main .species-hero .breadcrumbs{margin-bottom:12px!important}
main .species-hero .amazon-hero-heading{width:100%;max-width:none!important;margin:0 auto 18px!important;text-align:center;box-sizing:border-box}
main .species-hero .amazon-hero-heading .sec-kicker{margin:0 0 7px!important}
main .species-hero .amazon-hero-heading h1{max-width:100%!important;margin:0 auto 10px!important;text-align:center!important;font-size:clamp(25px,3vw,40px)!important;line-height:1.18;text-wrap:balance}
main .species-hero .amazon-hero-heading .species-lead{max-width:100%!important;margin:0 auto!important;text-align:center;line-height:1.5!important}
main .species-hero .species-hero-grid{align-items:start;gap:22px!important}
main .species-hero .species-badge-row{margin-top:0!important;margin-bottom:12px!important}
main .species-hero .species-specs{margin-top:0!important;margin-bottom:14px!important}
main .species-hero .species-price{margin-top:12px!important;margin-bottom:10px!important}
main .species-hero .species-price-note{margin-top:0!important;margin-bottom:14px!important;line-height:1.5}
main .species-hero .hero-ctas{margin-top:0!important;gap:10px!important}
@media(max-width:600px){main .species-hero>.container{padding:14px!important}main .species-hero .amazon-hero-heading{margin-bottom:14px!important}main .species-hero .amazon-hero-heading h1{font-size:clamp(23px,6.5vw,28px)!important}main .species-hero .amazon-hero-heading .sec-kicker{font-size:10px!important;letter-spacing:.6px}main .species-hero .amazon-hero-heading .species-lead{font-size:14px!important;line-height:1.5!important}main .species-hero .species-hero-grid{gap:14px!important}}
main .section-head-center{max-width:none!important;width:100%;margin-left:auto!important;margin-right:auto!important;text-align:center}main .sec-intro{text-wrap:balance}main .sec-title{text-wrap:balance}main .species-hero>.container{padding:18px 24px!important;min-height:0!important}main .species-hero-grid{align-items:start;gap:20px!important}main .amazon-hero-heading{max-width:none!important;width:100%}#gallery img,#similar img,.flight-side-thumb img{object-fit:contain!important}#test .amazon-test-bird img{object-fit:contain!important}#subspecies .subspecies-tabs-holder{flex-wrap:wrap}#subspecies .subspecies-tab-btn{flex:1 1 180px}.species-hero .species-lead{text-wrap:balance}#test .test-score-val{font-size:28px!important}@media(max-width:600px){main .species-hero>.container{padding:14px!important}main .species-hero-grid{gap:14px!important}#subspecies .subspecies-tab-btn{flex-basis:45%}}
body::before,body::after,.page-bg{background-image:none!important}body{background:linear-gradient(135deg,#EDF3F0,#f8f3eb)!important}
/* ───────── Подвал во всю ширину окна ─────────
   Решение владельца 15.10.2026: подвал был карточкой шириной 1320 px
   со скруглением, тенью и бежевыми полями по бокам — выглядел обрезанным.
   Теперь сплошная полоса от края до края; содержимое внутри по-прежнему
   держит .container, то есть текст не расползается на широких экранах. */
body > footer{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:clamp(26px,3.6vw,46px) 0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
@media (max-width:900px){
  body > footer{padding-left:0 !important;padding-right:0 !important;}
}

/* ───────── Подвал одинаков на всех страницах ─────────
   15.10.2026. На главной и в каталоге <footer> лежит внутри <main>, поэтому
   прежние правила body > footer их не касались: там подвал был ровно-тёмным,
   а на остальных страницах — с градиентом. Владелец заметила расхождение.
   Берём за эталон градиент, он был на большинстве страниц. */
footer{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:clamp(26px,3.6vw,46px) 0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:linear-gradient(180deg,rgba(23,83,60,.94) 0%,rgba(12,42,31,.96) 100%) !important;
}
/* Реквизиты: мелкий шрифт, две строки вместо трёх */
.footer-bottom{font-size:12.5px !important;line-height:1.55 !important}
.footer-bottom a{font-size:inherit !important}
/* Реквизиты занимают всю ширину подвала, ссылки на документы — строкой ниже:
   в прежней раскладке текст жался в 738 px и разбивался на три строки. */
.footer-bottom{flex-direction:column !important;align-items:flex-start !important;gap:10px !important}
.footer-bottom > div:first-child{max-width:none !important;width:100% !important}

/* ───────── Шапка: выпадающий пункт «Наши проекты» (15.10.2026) ───────── */
.capsule-drop{position:relative;display:inline-block}
.capsule-drop > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.capsule-drop > summary::-webkit-details-marker{display:none}
.capsule-drop > summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .15s ease;opacity:.8}
.capsule-drop[open] > summary::after{transform:translateY(1px) rotate(-135deg)}
.capsule-drop-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);min-width:210px;
  background:#0C2A1F;border:1px solid rgba(36,107,72,.45);border-radius:14px;padding:8px;
  box-shadow:0 16px 36px rgba(0,0,0,.38);z-index:60}
.capsule-drop-menu a{display:block;padding:11px 14px;border-radius:10px;color:#fff;text-decoration:none;
  font-family:'Golos Text',system-ui,sans-serif;font-size:.95rem;font-weight:600;white-space:nowrap}
.capsule-drop-menu a:hover,.capsule-drop-menu a:focus-visible{background:rgba(36,107,72,.35);outline:none}

/* Мобильное меню: тот же пункт аккордеоном */
.mobile-nav-drop > summary{list-style:none;cursor:pointer}
.mobile-nav-drop > summary::-webkit-details-marker{display:none}
.mobile-nav-drop[open] > summary span{display:inline-block;transform:rotate(180deg)}
.mobile-nav-sub{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 12px 22px;
  color:rgba(255,255,255,.88);text-decoration:none;font-size:1.05rem;font-weight:600;
  border-left:2px solid rgba(36,107,72,.6);margin:2px 0 10px 4px}

/* ───────── Подвал тёмный, как на главной (поправка владельца 15.10.2026) ─────────
   Перекрывает градиент из блока выше: эталон — ровный тёмный фон главной. */
footer{background:#0C2A1F !important;background-image:none !important}
/* Селектор усилен: на страницах, где footer — прямой потомок body, старое
   правило body > footer с градиентом сильнее простого footer. html body footer — сильнее. */
html body footer{background:#0C2A1F !important;background-image:none !important}

/* ───────── 16.10.2026: карточки «Знакомство и доверие» / «Рассмотреть оперение»
   на телефоне — фото слева крупно, текст справа (решение владельца).
   Раньше три правила спорили: столбец с фото во всю ширину, затем фото 90 px,
   затем при 360 px — блок; выходило маленькое фото над текстом. */
@media (max-width:600px){
  main #flight .flight-side-card{
    display:grid !important;grid-template-columns:44% minmax(0,1fr) !important;
    align-items:stretch !important;gap:14px !important;padding:12px !important}
  main #flight .flight-side-thumb{
    width:100% !important;flex:none !important;height:100% !important;max-height:none !important;
    min-height:130px !important;margin:0 !important;border-radius:12px !important;overflow:hidden !important;display:block !important}
  main #flight .flight-side-thumb img{
    width:100% !important;height:100% !important;max-height:none !important;
    object-fit:cover !important;object-position:center !important;display:block !important}
  main #flight .flight-side-info{align-self:center !important;min-width:0 !important}
  main #flight .flight-side-info h4{font-size:16px !important;line-height:1.3 !important;margin:0 0 6px !important}
  main #flight .flight-side-info p{font-size:13px !important;line-height:1.5 !important}
}
/* фото в карточке — ровный квадрат, не тянется за высотой текста */
@media (max-width:600px){
  main #flight .flight-side-thumb{height:auto !important;min-height:0 !important;aspect-ratio:1/1 !important;align-self:center !important}
}
/* карточка без фото (у сенегала) — текст на всю ширину */
@media (max-width:600px){
  main #flight .flight-side-info:only-child{grid-column:1 / -1 !important}
}

/* ───────── 16.10.2026: страницы видов на телефоне, разбор с владельцем ───────── */
@media (max-width:600px){
  /* переключатель подвидов: отрицательный отступ уводил его за левый край блока */
  main .subspecies-tabs-holder{margin-left:0 !important;margin-right:0 !important;width:100% !important}

  /* калькулятор: варианты были высотой 110 px — flex-basis от ряда работал как высота в столбце */
  main .calc-opt{flex:0 0 auto !important;height:auto !important;min-height:44px !important;
    align-items:center !important;padding:11px 14px !important}

  /* лента «Пространство / Посадка / Занятия / Привычки»: подпись прижималась к краю плашки */
  main .flight-metrics-ribbon{gap:10px !important}
  main .flight-metric-item{padding:12px 10px !important;border-radius:12px !important;text-align:center}
  main .flight-metric-item span{display:block;margin-bottom:4px !important;line-height:1.3 !important}
  main .flight-metric-item strong{font-size:16px !important;line-height:1.25 !important}

  /* «Сравните другие варианты»: фото во всю ширину карточки, без пустых полей */
  main .bird-visual-frame img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center 25% !important}
}
@media (max-width:600px){
  /* селектор с id: иначе проигрывает общему правилу #similar img{contain} */
  main #similar .bird-visual-frame img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center 25% !important}
}
@media (max-width:600px){main #similar .bird-visual-frame img{object-position:center top !important}}
/* 16.10.2026: длинные слова в плашках ленты («вентилируемых») вылезали за рамку на телефоне */
@media (max-width:600px){
  main .flight-metric-item{min-width:0 !important;overflow:hidden}
  main .flight-metric-item strong{font-size:15px !important;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;word-break:normal}
}
@media (max-width:600px){main .flight-metric-item{padding:12px 6px !important}main .flight-metric-item strong{font-size:14px !important;overflow-wrap:normal !important}}
@media (max-width:340px){main .flight-metric-item strong{font-size:12.5px !important}}
/* 16.10.2026: фото в переключателе подвидов на телефоне — птица целиком.
   Рамка была жёстко 200 px высотой, а фото 330 px: низ обрезался. */
@media (max-width:600px){
  main #subspecies .subspecies-visual{height:auto !important;min-height:0 !important;max-height:none !important;
    display:flex !important;justify-content:center !important;align-items:center !important;padding:0 !important}
  main #subspecies .subspecies-visual img{width:auto !important;max-width:100% !important;height:auto !important;
    max-height:400px !important;object-fit:contain !important;display:block !important;margin:0 auto !important}
}
/* 16.10.2026: переключатель подвидов на телефоне больше не прилипает к верху экрана
   и занимает меньше места — кнопки в две колонки, компактные. */
@media (max-width:600px){
  main #subspecies .subspecies-tabs-holder{position:static !important;top:auto !important;
    display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;
    padding:0 !important;background:none !important;box-shadow:none !important;margin:0 0 14px !important}
  main #subspecies .subspecies-tab-btn{width:100% !important;min-width:0 !important;flex:none !important;
    padding:10px 8px !important;font-size:14px !important;line-height:1.25 !important;text-align:center !important;
    white-space:normal !important;min-height:44px !important;border-radius:999px !important}
}
@media (max-width:600px){main #subspecies .subspecies-tab-btn{display:flex !important;justify-content:center !important;align-items:center !important}}
