    /* Toasts */
    .ms-toasts-dots {
      position: absolute; inset: 0; opacity: 0.08; pointer-events: none;
      background-image: radial-gradient(circle at 20% 30%, var(--ms-sand) 1px, transparent 1px), radial-gradient(circle at 70% 65%, var(--ms-sand) 1px, transparent 1px), radial-gradient(circle at 50% 90%, var(--ms-mint) 1px, transparent 1px);
      background-size: 52px 52px, 78px 78px, 64px 64px;
    }
    .ms-toasts-header { position: relative; display: flex; align-items: center; gap: 20px; margin-bottom: 52px; }
    .ms-toasts-header__col { flex: 1; }
    .ms-toasts-quote { flex: 1; padding: 28px 32px; border-left: 3px solid var(--ms-sand); background: rgba(214,164,97,0.06); border-radius: 0 12px 12px 0; }
    .ms-toasts-quote__text { font-family: var(--font-body); font-size: 16px; line-height: 1.75; color: rgba(255,255,255,0.75); margin: 0; font-style: italic; }
    .ms-toasts-grid { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }

    /* Pricing */
    .ms-pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
    .ms-pricing-desc { font-family: var(--font-body); font-size: 15px; line-height: 1.70; color: rgba(255,255,255,0.56); max-width: 400px; margin: 0; }
    .ms-incl-grid { display: flex; flex-wrap: wrap; gap: 10px; }
    .ms-incl-badge { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-weight: 600; font-size: 11px; letter-spacing: 0.02em; padding: 10px 16px; border-radius: 8px; background: rgba(166,255,112,0.10); color: var(--ms-mint); border: 1px solid rgba(166,255,112,0.28); }
    .ms-incl-note { display: flex; flex-direction: row; align-items: flex-start; gap: 11px; margin-top: 26px; padding: 12px 16px; background: rgba(214,164,97,0.10); border: 1px solid rgba(214,164,97,0.30); border-radius: 10px; }
    .ms-incl-note__text { font-family: var(--font-body); font-size: 12px; color: var(--ms-sand); line-height: 1.6; margin: 0; flex: 1; }
    .ms-incl-note__icon { flex-shrink: 0; margin-top: 1px; }
    .ms-pricing-card-wrap { margin-top: 32px; }
    .ms-pricing-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; overflow: hidden; width: 518px; height: 330px; }
    .ms-pricing-card__head { padding: 18px 24px; border-bottom: 1px solid rgba(255,255,255,0.08); display: grid; grid-template-columns: 1fr 1fr; }
    .ms-pricing-card__head-label { font-family: var(--font-display); font-weight: 700; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.35); }
    .ms-pricing-card__head-label--right { text-align: right; }
    .ms-price-row { padding: 16px 24px; border-bottom: 1px solid rgba(255,255,255,0.06); display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: var(--row-highlight, transparent); }
    .ms-price-row__left { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
    .ms-price-row__hours { font-family: var(--font-display); font-weight: 700; font-size: 15px; color: #fff; }
    .ms-price-row__gift { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-display); font-weight: 700; font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; background: rgba(166,255,112,0.12); color: var(--ms-mint); border: 1px solid rgba(166,255,112,0.30); }
    .ms-price-row__price { font-family: var(--font-display); font-weight: 800; font-size: 17px; color: var(--row-color, #fff); text-align: right; }

    /* Contact panel */
    .ms-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
    .ms-contact-desc { font-family: var(--font-body); font-size: 15px; line-height: 1.7; color: rgba(255,255,255,0.56); max-width: 380px; margin: 0; }
    .ms-form-panel { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.10); border-radius: 16px; padding: 30px; }
    .ms-form-panel--success { padding: 48px 32px; text-align: center; }
    .ms-form-fields { display: flex; flex-direction: column; gap: 14px; }
    .ms-success-icon { width: 56px; height: 56px; border-radius: 50%; background: var(--ms-sand); display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
    .ms-success-title { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; font-size: 20px; color: #fff; margin: 0 0 8px; }
    .ms-success-desc { font-family: var(--font-body); font-size: 14px; color: rgba(255,255,255,0.55); margin: 0 0 22px; }

    .input-wrap input.is-invalid {
      border-color: rgba(255, 107, 107, 0.85) !important;
      box-shadow: 0 0 0 1px rgba(255, 107, 107, 0.24);
    }

    .form-field-error {
      margin-top: 7px;
      font-family: var(--font-body);
      font-size: 12px;
      line-height: 1.35;
      color: #ff8a8a;
    }


/* Copy-paste background classes from Claude design sistem/backgrounds.html */
.bg-section-cream { --section-bg: linear-gradient(180deg, #fffdf8 0%, #fcf7ee 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-section-cream:not(.section-band) { background: linear-gradient(180deg, #fffdf8 0%, #fcf7ee 100%); border: 1px solid rgba(214,164,97,0.40); border-radius: 32px; box-shadow: 0 35px 90px rgba(0,0,0,0.16); }
.bg-card-white { --section-bg: rgba(255,255,255,0.78); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-card-white:not(.section-band) { background: rgba(255,255,255,0.78); border: 1px solid rgba(214,164,97,0.38); border-radius: 26px; box-shadow: 0 14px 30px rgba(0,0,0,0.05); }
.bg-banner-cream { --section-bg: linear-gradient(180deg, #f9f5eb 0%, #f1ead8 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-banner-cream:not(.section-band) { background: linear-gradient(180deg, #f9f5eb 0%, #f1ead8 100%); border: 1px solid rgba(214,164,97,0.45); border-radius: 20px; }
.bg-sand-strip { --section-bg: linear-gradient(180deg, #e8dbc6 0%, #dcc8aa 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-sand-strip:not(.section-band) { background: linear-gradient(180deg, #e8dbc6 0%, #dcc8aa 100%); }
.bg-icon-bg { --section-bg: linear-gradient(180deg, #fff8ec 0%, #f8efdf 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-icon-bg:not(.section-band) { background: linear-gradient(180deg, #fff8ec 0%, #f8efdf 100%); border: 1px solid rgba(214,164,97,0.35); border-radius: 18px; }
.bg-callout { --section-bg: linear-gradient(135deg, rgba(214,164,97,0.14), rgba(255,255,255,0.95)); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-callout:not(.section-band) { background: linear-gradient(135deg, rgba(214,164,97,0.14), rgba(255,255,255,0.95)); border: 1px solid rgba(214,164,97,0.65); border-radius: 24px; }
.bg-navy-deep { --section-bg: #001a3d; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-navy-deep:not(.section-band) { background: #001a3d; }
.bg-navy { --section-bg: #002554; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-navy:not(.section-band) { background: #002554; }
.bg-navy-700 { --section-bg: #002a5e; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-navy-700:not(.section-band) { background: #002a5e; }
.bg-navy-600 { --section-bg: #003a70; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-navy-600:not(.section-band) { background: #003a70; }
.bg-gradient-navy { --section-bg: linear-gradient(160deg, #002a5e 0%, #001a3d 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-gradient-navy:not(.section-band) { background: linear-gradient(160deg, #002a5e 0%, #001a3d 100%); }
.bg-mint-glow { --section-bg: #001a3d; --section-detail: radial-gradient(circle at 15% 25%, rgba(166,255,112,0.13) 0%, transparent 55%); --section-line: rgba(255,255,255,0.045); }
.bg-mint-glow:not(.section-band) { background-image: radial-gradient(circle at 15% 25%, rgba(166,255,112,0.13) 0%, transparent 55%); }
.bg-sand-glow { --section-bg: #001a3d; --section-detail: radial-gradient(circle at 85% 80%, rgba(214,164,97,0.14) 0%, transparent 55%); --section-line: rgba(255,255,255,0.045); }
.bg-sand-glow:not(.section-band) { background-image: radial-gradient(circle at 85% 80%, rgba(214,164,97,0.14) 0%, transparent 55%); }
.bg-dual-glow { --section-bg: #001a3d; --section-detail: radial-gradient(circle at 12% 20%, rgba(166,255,112,0.08) 0%, transparent 45%), radial-gradient(circle at 88% 80%, rgba(214,164,97,0.08) 0%, transparent 45%); --section-line: rgba(255,255,255,0.045); }
.bg-dual-glow:not(.section-band) { background-image: radial-gradient(circle at 12% 20%, rgba(166,255,112,0.08) 0%, transparent 45%), radial-gradient(circle at 88% 80%, rgba(214,164,97,0.08) 0%, transparent 45%); }
.bg-navy-sweep { --section-bg: linear-gradient(135deg, #001a3d 0%, #002554 46%, #003a70 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-navy-sweep:not(.section-band) { background: linear-gradient(135deg, #001a3d 0%, #002554 46%, #003a70 100%); }
.bg-navy-depth { --section-bg: linear-gradient(180deg, #003a70 0%, #002554 44%, #001a3d 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-navy-depth:not(.section-band) { background: linear-gradient(180deg, #003a70 0%, #002554 44%, #001a3d 100%); }
.bg-midnight-angle { --section-bg: linear-gradient(125deg, #001a3d 0%, #001f49 34%, #002a5e 72%, #001a3d 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-midnight-angle:not(.section-band) { background: linear-gradient(125deg, #001a3d 0%, #001f49 34%, #002a5e 72%, #001a3d 100%); }
.bg-royal-navy { --section-bg: linear-gradient(150deg, #003a70 0%, #002554 48%, #001a3d 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-royal-navy:not(.section-band) { background: linear-gradient(150deg, #003a70 0%, #002554 48%, #001a3d 100%); }
.bg-stage-navy { --section-bg: linear-gradient(115deg, #002554 0%, #003a70 42%, #001a3d 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-stage-navy:not(.section-band) { background: linear-gradient(115deg, #002554 0%, #003a70 42%, #001a3d 100%); }
.bg-blue-velvet { --section-bg: linear-gradient(145deg, #001a3d 0%, #002a5e 52%, #00427d 140%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-blue-velvet:not(.section-band) { background: linear-gradient(145deg, #001a3d 0%, #002a5e 52%, #00427d 140%); }
.bg-deep-wave { --section-bg: radial-gradient(circle at 82% 18%, rgba(0,58,112,0.62) 0%, transparent 38%), linear-gradient(160deg, #001a3d 0%, #002554 58%, #001a3d 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-deep-wave:not(.section-band) { background: radial-gradient(circle at 82% 18%, rgba(0,58,112,0.62) 0%, transparent 38%), linear-gradient(160deg, #001a3d 0%, #002554 58%, #001a3d 100%); }
.bg-mint-horizon { --section-bg: linear-gradient(145deg, #001a3d 0%, #003a70 58%, #a6ff70 150%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-mint-horizon:not(.section-band) { background: linear-gradient(145deg, #001a3d 0%, #003a70 58%, #a6ff70 150%); }
.bg-sand-horizon { --section-bg: linear-gradient(155deg, #002554 0%, #001a3d 52%, #d6a461 145%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-sand-horizon:not(.section-band) { background: linear-gradient(155deg, #002554 0%, #001a3d 52%, #d6a461 145%); }
.bg-soft-cream-flow { --section-bg: linear-gradient(180deg, #fffdf8 0%, #fdf4e7 48%, #f1ead8 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-soft-cream-flow:not(.section-band) { background: linear-gradient(180deg, #fffdf8 0%, #fdf4e7 48%, #f1ead8 100%); }
.bg-cool-cream { --section-bg: linear-gradient(135deg, #f5f7fc 0%, #fffdf8 48%, #fdf4e7 100%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-cool-cream:not(.section-band) { background: linear-gradient(135deg, #f5f7fc 0%, #fffdf8 48%, #fdf4e7 100%); }
.bg-green-edge { --section-bg: linear-gradient(120deg, #001a3d 0%, #002554 40%, #78d64b 115%); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-green-edge:not(.section-band) { background: linear-gradient(120deg, #001a3d 0%, #002554 40%, #78d64b 115%); }
.bg-dots-navy { --section-bg: #002554; --section-detail: radial-gradient(circle, rgba(166,255,112,0.13) 1px, transparent 1px), radial-gradient(circle, rgba(214,164,97,0.09) 1px, transparent 1px); --section-line: rgba(255,255,255,0.045); --section-detail-size: 32px 32px, 64px 64px; --section-detail-position: 0 0, 16px 16px; }
.bg-dots-navy:not(.section-band) { background-color: #002554; background-image: radial-gradient(circle, rgba(166,255,112,0.13) 1px, transparent 1px), radial-gradient(circle, rgba(214,164,97,0.09) 1px, transparent 1px); background-size: 32px 32px, 64px 64px; background-position: 0 0, 16px 16px; }
.bg-accent-top { --section-bg: #001a3d; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-accent-top:not(.section-band) { background:#001a3d; }
.bg-accent-bottom { --section-bg: #002554; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-accent-bottom:not(.section-band) { background:#002554; }
.bg-frosted-glass { --section-bg: rgba(255,255,255,0.05); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-frosted-glass:not(.section-band) { background: rgba(255,255,255,0.05); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,0.10); border-radius: 12px; }
.bg-glass-base { --section-bg: rgba(255,255,255,0.04); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-glass-base:not(.section-band) { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.09); border-radius: 14px; }
.bg-glass-mint { --section-bg: rgba(166,255,112,0.12); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-glass-mint:not(.section-band) { background: rgba(166,255,112,0.12); border: 1px solid rgba(166,255,112,0.30); border-radius: 14px; }
.bg-glass-sand { --section-bg: rgba(214,164,97,0.08); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-glass-sand:not(.section-band) { background: rgba(214,164,97,0.08); border: 1px solid rgba(214,164,97,0.20); border-radius: 14px; }
.bg-glass-red { --section-bg: rgba(255,94,58,0.05); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-glass-red:not(.section-band) { background: rgba(255,94,58,0.05); border: 1px solid rgba(255,94,58,0.30); border-radius: 14px; }
.bg-left-border-hook { --section-bg: rgba(255,255,255,0.04); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-left-border-hook:not(.section-band) { background: rgba(255,255,255,0.04); border-left: 2px solid #a6ff70; border-radius: 0 10px 10px 0; }
.bg-page { --section-bg: #001a3f; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-page:not(.section-band) { background: #001a3f; }
.bg-icon-ghost { --section-bg: #002554; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-icon-ghost:not(.section-band) { background:#002554; }
.bg-icon-watermark { --section-bg: #001a3d; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-icon-watermark:not(.section-band) { background:#001a3d; }
.bg-icon-tile { --section-bg: #001a3d; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-icon-tile:not(.section-band) { background:#001a3d; }
.bg-diagonal-lines { --section-bg: #001a3d; --section-detail: repeating-linear-gradient(45deg, transparent, transparent 20px, rgba(166,255,112,0.06) 20px, rgba(166,255,112,0.06) 21px); --section-line: rgba(255,255,255,0.045); }
.bg-diagonal-lines:not(.section-band) { background-image: repeating-linear-gradient(45deg, transparent, transparent 20px, rgba(166,255,112,0.06) 20px, rgba(166,255,112,0.06) 21px); }
.bg-grid-lines { --section-bg: #001a3d; --section-detail: linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px); --section-line: rgba(255,255,255,0.045); --section-detail-size: 36px 36px; }
.bg-grid-lines:not(.section-band) { background-image: linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px); background-size: 36px 36px; }
.bg-diamond { --section-bg: #001a3d; --section-detail: repeating-linear-gradient(45deg, transparent, transparent 16px, rgba(166,255,112,0.06) 16px, rgba(166,255,112,0.06) 17px), repeating-linear-gradient(-45deg, transparent, transparent 16px, rgba(166,255,112,0.06) 16px, rgba(166,255,112,0.06) 17px); --section-line: rgba(255,255,255,0.045); }
.bg-diamond:not(.section-band) { background-image: repeating-linear-gradient(45deg, transparent, transparent 16px, rgba(166,255,112,0.06) 16px, rgba(166,255,112,0.06) 17px), repeating-linear-gradient(-45deg, transparent, transparent 16px, rgba(166,255,112,0.06) 16px, rgba(166,255,112,0.06) 17px); }
.bg-radial-lines { --section-bg: #001a3d; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-radial-lines:not(.section-band) { background:#001a3d; }
.bg-concentric-arcs { --section-bg: radial-gradient(circle at 100% 0%, transparent 59px, rgba(214,164,97,0.10) 60px, transparent 61px), radial-gradient(circle at 100% 0%, transparent 99px, rgba(214,164,97,0.08) 100px, transparent 101px), radial-gradient(circle at 100% 0%, transparent 139px, rgba(214,164,97,0.06) 140px, transparent 141px); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-concentric-arcs:not(.section-band) { background: radial-gradient(circle at 100% 0%, transparent 59px, rgba(214,164,97,0.10) 60px, transparent 61px), radial-gradient(circle at 100% 0%, transparent 99px, rgba(214,164,97,0.08) 100px, transparent 101px), radial-gradient(circle at 100% 0%, transparent 139px, rgba(214,164,97,0.06) 140px, transparent 141px); }
.bg-corner-triangle { --section-bg: #001a3d; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-corner-triangle:not(.section-band) { background:#001a3d; }
.bg-giant-number { --section-bg: #002554; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-giant-number:not(.section-band) { background:#002554;overflow:hidden; }
.bg-number-rule { --section-bg: #001a3d; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-number-rule:not(.section-band) { background:#001a3d; }
.bg-number-badge-mint { --section-bg: #001a3d; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-number-badge-mint:not(.section-band) { width:44px;height:44px;border-radius:12px;background:#a6ff70;display:inline-flex;align-items:center;justify-content:center; }
.bg-number-badge-sand { --section-bg: #001a3d; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-number-badge-sand:not(.section-band) { width:44px;height:44px;border-radius:12px;background:#d6a461;display:inline-flex;align-items:center;justify-content:center; }
.bg-gradient-rule { --section-bg: #001a3d; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-gradient-rule:not(.section-band) { height:3px;border-radius:999px;background:linear-gradient(90deg,#a6ff70,#d6a461); }
.bg-corner-marks { --section-bg: #002554; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.section-band.bg-corner-marks::after {
  background:
    linear-gradient(rgba(166,255,112,0.5), rgba(166,255,112,0.5)) left 32px top 24px / 20px 2px no-repeat,
    linear-gradient(rgba(166,255,112,0.5), rgba(166,255,112,0.5)) left 32px top 24px / 2px 20px no-repeat,
    linear-gradient(rgba(166,255,112,0.5), rgba(166,255,112,0.5)) right 32px top 24px / 20px 2px no-repeat,
    linear-gradient(rgba(166,255,112,0.5), rgba(166,255,112,0.5)) right 32px top 24px / 2px 20px no-repeat,
    linear-gradient(rgba(214,164,97,0.5), rgba(214,164,97,0.5)) left 32px bottom 24px / 20px 2px no-repeat,
    linear-gradient(rgba(214,164,97,0.5), rgba(214,164,97,0.5)) left 32px bottom 24px / 2px 20px no-repeat,
    linear-gradient(rgba(214,164,97,0.5), rgba(214,164,97,0.5)) right 32px bottom 24px / 20px 2px no-repeat,
    linear-gradient(rgba(214,164,97,0.5), rgba(214,164,97,0.5)) right 32px bottom 24px / 2px 20px no-repeat;
}
.bg-corner-marks:not(.section-band) {
  position: relative;
  overflow: hidden;
  background: #002554;
}
.bg-corner-marks:not(.section-band)::after {
  content: '';
  position: absolute;
  inset: 16px;
  pointer-events: none;
  background:
    linear-gradient(rgba(166,255,112,0.5), rgba(166,255,112,0.5)) left top / 20px 2px no-repeat,
    linear-gradient(rgba(166,255,112,0.5), rgba(166,255,112,0.5)) left top / 2px 20px no-repeat,
    linear-gradient(rgba(166,255,112,0.5), rgba(166,255,112,0.5)) right top / 20px 2px no-repeat,
    linear-gradient(rgba(166,255,112,0.5), rgba(166,255,112,0.5)) right top / 2px 20px no-repeat,
    linear-gradient(rgba(214,164,97,0.5), rgba(214,164,97,0.5)) left bottom / 20px 2px no-repeat,
    linear-gradient(rgba(214,164,97,0.5), rgba(214,164,97,0.5)) left bottom / 2px 20px no-repeat,
    linear-gradient(rgba(214,164,97,0.5), rgba(214,164,97,0.5)) right bottom / 20px 2px no-repeat,
    linear-gradient(rgba(214,164,97,0.5), rgba(214,164,97,0.5)) right bottom / 2px 20px no-repeat;
}
.bg-top-bar { --section-bg: #001a3d; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-top-bar:not(.section-band) { background:#001a3d;padding:0;overflow:hidden; }
.bg-left-border-sand { --section-bg: #002554; --section-detail: linear-gradient(#d6a461, #d6a461); --section-line: rgba(255,255,255,0.045); --section-detail-size: 4px 100%; --section-detail-position: left top; }
.bg-left-border-sand:not(.section-band) { background: #002554; border-left: 4px solid #d6a461; }
.bg-cool-offwhite { --section-bg: #f5f7fc; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-cool-offwhite:not(.section-band) { background: #f5f7fc; }
.bg-light-border-sand { --section-bg: #f5f7fc; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-light-border-sand:not(.section-band) { background: #f5f7fc; border-left: 3px solid #d6a461; border-radius: 0 10px 10px 0; }
.bg-dark-border-mint { --section-bg: #002554; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-dark-border-mint:not(.section-band) { background: #002554; border-left: 3px solid #a6ff70; border-radius: 0 10px 10px 0; }
.bg-two-tone-card { --section-bg: #f5f7fc; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-two-tone-card:not(.section-band) { background:#f5f7fc;padding:20px; }
.bg-light-top-bar-sand { --section-bg: #f5f7fc; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-light-top-bar-sand:not(.section-band) { background: #f5f7fc; border-top: 3px solid #d6a461; border-radius: 12px; }
.bg-glass-ultra-faint { --section-bg: rgba(255,255,255,0.05); --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-glass-ultra-faint:not(.section-band) { background: rgba(255,255,255,0.05); border: 1px solid rgba(166,255,112,0.15); border-radius: 12px; }
.bg-vinyl-record { --section-bg: #002554; --section-detail: radial-gradient(circle 120px at calc(100% + 80px) calc(100% + 80px), #001a3d 0 32px, #003a70 32px 48px, #001a3d 48px 52px, #003a70 52px 80px, #001a3d 80px 84px, #003a70 84px 120px, transparent 121px), radial-gradient(circle 14px at calc(100% - 26px) calc(100% - 26px), rgba(214,164,97,0.6) 0 99%, transparent 100%); --section-detail-opacity: 0.5; --section-line: rgba(255,255,255,0.045); }
.bg-vinyl-record:not(.section-band) { background: #002554; background-image: radial-gradient(circle 120px at calc(100% + 80px) calc(100% + 80px), #001a3d 0 32px, #003a70 32px 48px, #001a3d 48px 52px, #003a70 52px 80px, #001a3d 80px 84px, #003a70 84px 120px, transparent 121px), radial-gradient(circle 14px at calc(100% - 26px) calc(100% - 26px), rgba(214,164,97,0.6) 0 99%, transparent 100%); overflow: hidden; }
.bg-team-grid { --section-bg: linear-gradient(180deg, rgba(0,26,63,0.00) 0%, rgba(0,42,84,0.20) 58%, rgba(0,26,63,0.04) 100%); --section-detail: repeating-linear-gradient(90deg, rgba(255,255,255,0.026) 0 1px, transparent 1px 118px), linear-gradient(132deg, transparent 0 56%, rgba(166,255,112,0.045) 56.1%, transparent 56.5%); --section-line: rgba(166,255,112,0.035); }
.bg-team-grid:not(.section-band) { --section-bg: linear-gradient(180deg, rgba(0,26,63,0.00) 0%, rgba(0,42,84,0.20) 58%, rgba(0,26,63,0.04) 100%); --section-line: rgba(166,255,112,0.035); --section-detail: repeating-linear-gradient(90deg, rgba(255,255,255,0.026) 0 1px, transparent 1px 118px), linear-gradient(132deg, transparent 0 56%, rgba(166,255,112,0.045) 56.1%, transparent 56.5%); }
.bg-field-map { --section-bg: linear-gradient(180deg, rgba(0,50,70,0.32) 0%, rgba(0,33,67,0.20) 54%, rgba(0,26,63,0.10) 100%); --section-detail: repeating-linear-gradient(0deg, transparent 0 46px, rgba(166,255,112,0.030) 46px 47px), repeating-linear-gradient(90deg, transparent 0 132px, rgba(214,164,97,0.026) 132px 133px), linear-gradient(114deg, transparent 0 45%, rgba(166,255,112,0.048) 45.1%, transparent 45.5%); --section-line: rgba(166,255,112,0.060); }
.bg-field-map:not(.section-band) { --section-bg: linear-gradient(180deg, rgba(0,50,70,0.32) 0%, rgba(0,33,67,0.20) 54%, rgba(0,26,63,0.10) 100%); --section-line: rgba(166,255,112,0.060); --section-detail: repeating-linear-gradient(0deg, transparent 0 46px, rgba(166,255,112,0.030) 46px 47px), repeating-linear-gradient(90deg, transparent 0 132px, rgba(214,164,97,0.026) 132px 133px), linear-gradient(114deg, transparent 0 45%, rgba(166,255,112,0.048) 45.1%, transparent 45.5%); }
.bg-route-lines { --section-bg: linear-gradient(180deg, rgba(0,22,52,0.04) 0%, rgba(0,37,84,0.20) 52%, rgba(0,26,63,0.06) 100%); --section-detail: linear-gradient(118deg, transparent 0 18%, rgba(166,255,112,0.072) 18.1%, transparent 18.35%, transparent 48%, rgba(214,164,97,0.058) 48.1%, transparent 48.35%, transparent 76%, rgba(166,255,112,0.052) 76.1%, transparent 76.35%), repeating-linear-gradient(90deg, transparent 0 150px, rgba(255,255,255,0.018) 150px 151px); --section-line: rgba(255,255,255,0.035); }
.bg-route-lines:not(.section-band) { --section-bg: linear-gradient(180deg, rgba(0,22,52,0.04) 0%, rgba(0,37,84,0.20) 52%, rgba(0,26,63,0.06) 100%); --section-line: rgba(255,255,255,0.035); --section-detail: linear-gradient(118deg, transparent 0 18%, rgba(166,255,112,0.072) 18.1%, transparent 18.35%, transparent 48%, rgba(214,164,97,0.058) 48.1%, transparent 48.35%, transparent 76%, rgba(166,255,112,0.052) 76.1%, transparent 76.35%), repeating-linear-gradient(90deg, transparent 0 150px, rgba(255,255,255,0.018) 150px 151px); }
.bg-kit-lines { --section-bg: linear-gradient(180deg, rgba(28,38,43,0.34) 0%, rgba(0,31,63,0.18) 58%, rgba(0,26,63,0.10) 100%); --section-detail: repeating-linear-gradient(90deg, rgba(214,164,97,0.032) 0 1px, transparent 1px 90px), repeating-linear-gradient(0deg, transparent 0 72px, rgba(255,255,255,0.018) 72px 73px); --section-line: rgba(214,164,97,0.060); }
.bg-kit-lines:not(.section-band) { --section-bg: linear-gradient(180deg, rgba(28,38,43,0.34) 0%, rgba(0,31,63,0.18) 58%, rgba(0,26,63,0.10) 100%); --section-line: rgba(214,164,97,0.060); --section-detail: repeating-linear-gradient(90deg, rgba(214,164,97,0.032) 0 1px, transparent 1px 90px), repeating-linear-gradient(0deg, transparent 0 72px, rgba(255,255,255,0.018) 72px 73px); }
.bg-assurance { --section-bg: linear-gradient(180deg, rgba(6,22,37,0.28) 0%, rgba(0,26,63,0.12) 100%); --section-detail: linear-gradient(90deg, rgba(214,164,97,0.046) 0%, transparent 34%, rgba(166,255,112,0.032) 70%, transparent 100%), repeating-linear-gradient(0deg, transparent 0 96px, rgba(255,255,255,0.018) 96px 97px); --section-line: rgba(214,164,97,0.050); }
.bg-assurance:not(.section-band) { --section-bg: linear-gradient(180deg, rgba(6,22,37,0.28) 0%, rgba(0,26,63,0.12) 100%); --section-line: rgba(214,164,97,0.050); --section-detail: linear-gradient(90deg, rgba(214,164,97,0.046) 0%, transparent 34%, rgba(166,255,112,0.032) 70%, transparent 100%), repeating-linear-gradient(0deg, transparent 0 96px, rgba(255,255,255,0.018) 96px 97px); }
.bg-premium-offer { --section-bg: linear-gradient(180deg, rgba(40,31,22,0.24) 0%, rgba(0,26,63,0.16) 56%, rgba(0,20,37,0.08) 100%); --section-detail: repeating-linear-gradient(90deg, transparent 0 120px, rgba(214,164,97,0.036) 120px 121px), linear-gradient(90deg, transparent 0%, rgba(214,164,97,0.055) 52%, transparent 100%); --section-line: rgba(214,164,97,0.09); }
.bg-premium-offer:not(.section-band) { --section-bg: linear-gradient(180deg, rgba(40,31,22,0.24) 0%, rgba(0,26,63,0.16) 56%, rgba(0,20,37,0.08) 100%); --section-line: rgba(214,164,97,0.09); --section-detail: repeating-linear-gradient(90deg, transparent 0 120px, rgba(214,164,97,0.036) 120px 121px), linear-gradient(90deg, transparent 0%, rgba(214,164,97,0.055) 52%, transparent 100%); }
.bg-proof-band { --section-bg: linear-gradient(180deg, rgba(0,19,48,0.06) 0%, rgba(5,30,49,0.30) 60%, rgba(0,26,63,0.08) 100%); --section-detail: repeating-linear-gradient(0deg, transparent 0 82px, rgba(255,255,255,0.018) 82px 83px), linear-gradient(90deg, rgba(214,164,97,0.044) 0%, transparent 38%, rgba(166,255,112,0.030) 100%); --section-line: rgba(214,164,97,0.060); }
.bg-proof-band:not(.section-band) { --section-bg: linear-gradient(180deg, rgba(0,19,48,0.06) 0%, rgba(5,30,49,0.30) 60%, rgba(0,26,63,0.08) 100%); --section-line: rgba(214,164,97,0.060); --section-detail: repeating-linear-gradient(0deg, transparent 0 82px, rgba(255,255,255,0.018) 82px 83px), linear-gradient(90deg, rgba(214,164,97,0.044) 0%, transparent 38%, rgba(166,255,112,0.030) 100%); }
.bg-screen-glow { --section-bg: linear-gradient(180deg, rgba(0,37,84,0.24) 0%, rgba(0,14,40,0.24) 100%); --section-detail: repeating-linear-gradient(90deg, transparent 0 104px, rgba(166,255,112,0.026) 104px 105px), linear-gradient(180deg, rgba(255,255,255,0.030) 0%, transparent 34%, rgba(0,0,0,0.10) 100%); --section-line: rgba(166,255,112,0.048); }
.bg-screen-glow:not(.section-band) { --section-bg: linear-gradient(180deg, rgba(0,37,84,0.24) 0%, rgba(0,14,40,0.24) 100%); --section-line: rgba(166,255,112,0.048); --section-detail: repeating-linear-gradient(90deg, transparent 0 104px, rgba(166,255,112,0.026) 104px 105px), linear-gradient(180deg, rgba(255,255,255,0.030) 0%, transparent 34%, rgba(0,0,0,0.10) 100%); }
.bg-gallery-grid { --section-bg: linear-gradient(180deg, rgba(12,25,36,0.36) 0%, rgba(0,26,63,0.08) 100%); --section-detail: repeating-linear-gradient(135deg, transparent 0 84px, rgba(214,164,97,0.026) 84px 85px), repeating-linear-gradient(90deg, transparent 0 172px, rgba(255,255,255,0.018) 172px 173px); --section-line: rgba(214,164,97,0.052); }
.bg-gallery-grid:not(.section-band) { --section-bg: linear-gradient(180deg, rgba(12,25,36,0.36) 0%, rgba(0,26,63,0.08) 100%); --section-line: rgba(214,164,97,0.052); --section-detail: repeating-linear-gradient(135deg, transparent 0 84px, rgba(214,164,97,0.026) 84px 85px), repeating-linear-gradient(90deg, transparent 0 172px, rgba(255,255,255,0.018) 172px 173px); }
.bg-quiet-faq { --section-bg: linear-gradient(180deg, rgba(8,24,34,0.36) 0%, rgba(0,26,63,0.13) 100%); --section-detail: repeating-linear-gradient(0deg, transparent 0 70px, rgba(255,255,255,0.016) 70px 71px), linear-gradient(90deg, transparent 0%, rgba(166,255,112,0.032) 50%, transparent 100%); --section-line: rgba(166,255,112,0.045); }
.bg-quiet-faq:not(.section-band) { --section-bg: linear-gradient(180deg, rgba(8,24,34,0.36) 0%, rgba(0,26,63,0.13) 100%); --section-line: rgba(166,255,112,0.045); --section-detail: repeating-linear-gradient(0deg, transparent 0 70px, rgba(255,255,255,0.016) 70px 71px), linear-gradient(90deg, transparent 0%, rgba(166,255,112,0.032) 50%, transparent 100%); }
.bg-contact-flow { --section-bg: linear-gradient(180deg, rgba(0,26,63,0.02) 0%, rgba(0,52,74,0.24) 100%); --section-detail: repeating-linear-gradient(90deg, transparent 0 96px, rgba(255,255,255,0.020) 96px 97px), linear-gradient(100deg, transparent 0%, rgba(166,255,112,0.058) 48%, rgba(214,164,97,0.034) 76%, transparent 100%); --section-line: rgba(166,255,112,0.060); }
.bg-contact-flow:not(.section-band) { --section-bg: linear-gradient(180deg, rgba(0,26,63,0.02) 0%, rgba(0,52,74,0.24) 100%); --section-line: rgba(166,255,112,0.060); --section-detail: repeating-linear-gradient(90deg, transparent 0 96px, rgba(255,255,255,0.020) 96px 97px), linear-gradient(100deg, transparent 0%, rgba(166,255,112,0.058) 48%, rgba(214,164,97,0.034) 76%, transparent 100%); }
.bg-mint { --section-bg: #a6ff70; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-mint:not(.section-band) { background: #a6ff70; }
.bg-green-mint-700 { --section-bg: #78d64b; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-green-mint-700:not(.section-band) { background: #78d64b; }
.bg-sand-tint { --section-bg: #fdf4e7; --section-detail: none; --section-line: rgba(255,255,255,0.045); }
.bg-sand-tint:not(.section-band) { background: #fdf4e7; }
.section-band::after { background-size: var(--section-detail-size, auto); background-position: var(--section-detail-position, 0 0); }

/* Section-compatible versions for catalog effects that were originally built with inner divs. */
.section-band.bg-accent-top::after,
.section-band.bg-top-bar::after {
  background: linear-gradient(90deg, #a6ff70, #d6a461) left top / 100% 4px no-repeat;
}

.section-band.bg-accent-bottom::after {
  background: linear-gradient(90deg, #a6ff70, #d6a461) left bottom / 100% 4px no-repeat;
}

.section-band.bg-left-border-hook::after {
  background: linear-gradient(#a6ff70, #a6ff70) left top / 3px 100% no-repeat;
}

.section-band.bg-light-border-sand::after {
  background: linear-gradient(#d6a461, #d6a461) left top / 3px 100% no-repeat;
}

.section-band.bg-left-border-sand::after {
  background: linear-gradient(#d6a461, #d6a461) left top / 4px 100% no-repeat;
}

.section-band.bg-dark-border-mint::after {
  background: linear-gradient(#a6ff70, #a6ff70) left top / 3px 100% no-repeat;
}

.section-band.bg-light-top-bar-sand::after {
  background: linear-gradient(#d6a461, #d6a461) left top / 100% 3px no-repeat;
}

.section-band.bg-gradient-rule::after {
  background: linear-gradient(90deg, #a6ff70, #d6a461) center top 28px / min(920px, 72vw) 3px no-repeat;
}

.section-band.bg-number-rule::after {
  background:
    radial-gradient(circle at 42px 42px, rgba(166,255,112,0.18) 0 24px, transparent 25px),
    linear-gradient(90deg, #a6ff70, #d6a461) left 76px top 41px / min(820px, 66vw) 2px no-repeat;
}

.section-band.bg-number-badge-mint::after {
  background:
    radial-gradient(circle at 42px 42px, #a6ff70 0 22px, transparent 23px),
    radial-gradient(circle at calc(100% - 42px) calc(100% - 42px), rgba(166,255,112,0.22) 0 22px, transparent 23px);
}

.section-band.bg-number-badge-sand::after {
  background:
    radial-gradient(circle at 42px 42px, #d6a461 0 22px, transparent 23px),
    radial-gradient(circle at calc(100% - 42px) calc(100% - 42px), rgba(214,164,97,0.22) 0 22px, transparent 23px);
}

.section-band.bg-icon-ghost::after {
  background: url('assets/logos/maestro-icon.png') right 36px bottom 24px / 150px auto no-repeat;
  opacity: 0.1;
  filter: brightness(0) invert(1);
}

.section-band.bg-icon-watermark::after {
  background: url('assets/logos/maestro-icon.png') center / 280px auto no-repeat;
  opacity: 0.06;
  filter: brightness(0) invert(1);
}

.section-band.bg-icon-tile::after {
  background: url('assets/logos/maestro-icon.png') 0 0 / 90px auto repeat;
  opacity: 0.06;
  filter: brightness(0) invert(1);
}

.section-band.bg-radial-lines::after {
  background:
    conic-gradient(from 210deg at 100% 0%, rgba(166,255,112,0.11) 0deg 1deg, transparent 1deg 12deg),
    radial-gradient(circle at 100% 0%, transparent 0 70px, rgba(214,164,97,0.10) 71px 72px, transparent 73px 100px, rgba(214,164,97,0.08) 101px 102px, transparent 103px);
}

.section-band.bg-corner-triangle::after {
  background:
    linear-gradient(135deg, rgba(214,164,97,0.28) 0 50%, transparent 50%) right top / 140px 140px no-repeat,
    linear-gradient(135deg, rgba(166,255,112,0.12) 0 50%, transparent 50%) left bottom / 120px 120px no-repeat;
}

.section-band.bg-giant-number::after {
  content: '01';
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 0 6vw 0 0;
  color: rgba(255,255,255,0.055);
  font-family: var(--font-display);
  font-size: clamp(92px, 15vw, 190px);
  font-weight: 800;
  line-height: 0.78;
}

.section-band.bg-two-tone-card::after {
  background:
    linear-gradient(#d6a461, #d6a461) left top / 100% 4px no-repeat,
    linear-gradient(90deg, #002554 0 32%, #f5f7fc 32% 100%);
  opacity: 0.96;
}

.section-band.bg-glass-ultra-faint::after {
  background:
    linear-gradient(rgba(166,255,112,0.15), rgba(166,255,112,0.15)) left top / 100% 1px no-repeat,
    linear-gradient(rgba(166,255,112,0.15), rgba(166,255,112,0.15)) left bottom / 100% 1px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
}

.section-band.bg-frosted-glass::after,
.section-band.bg-glass-base::after,
.section-band.bg-glass-mint::after,
.section-band.bg-glass-sand::after,
.section-band.bg-glass-red::after {
  background:
    linear-gradient(rgba(255,255,255,0.09), rgba(255,255,255,0.09)) left top / 100% 1px no-repeat,
    linear-gradient(rgba(255,255,255,0.06), rgba(255,255,255,0.06)) left bottom / 100% 1px no-repeat;
}

/* ─── Location section (подбор локации) ─── */
.loc-container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 88px 28px 99px;
}

.loc-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 48px;
  flex-wrap: wrap;
  gap: 20px;
}

.loc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--ms-sand);
  margin-bottom: 14px;
}
.loc-eyebrow::before {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: var(--ms-sand);
  border-radius: 1px;
}

.loc-title {
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 40px;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0;
  color: #fff;
}
.loc-title span:last-child { color: var(--ms-sand); }

.loc-subtitle {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,0.55);
  max-width: 480px;
  margin: 0;
}

.loc-body {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 24px;
  align-items: stretch;
}

/* Features card */
.loc-features {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-top: 3px solid var(--ms-mint);
  border-radius: 16px;
  padding: 32px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
}

.loc-feature { display: flex; gap: 16px; align-items: flex-start; }

.loc-feature__icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 10px;
  background: rgba(166,255,112,0.10);
  border: 1px solid rgba(166,255,112,0.20);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
}

.loc-feature__body { flex: 1; padding-top: 2px; }

.loc-feature__title {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: #fff;
  margin: 0 0 4px;
}

.loc-feature__desc {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(255,255,255,0.55);
  margin: 0;
}

.loc-slider {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-top: 3px solid var(--ms-sand);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.loc-slider.is-dragging {
  cursor: grabbing;
}

.loc-viewport {
  overflow: hidden;
  height: 520px;
  flex: 0 0 auto;
}

.loc-track {
  display: flex;
  height: 100%;
  will-change: transform;
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.loc-slider.is-dragging .loc-track {
  transition: none;
}

.loc-slide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.loc-slider img {
  pointer-events: none;
  user-select: none;
}

.loc-photos {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  grid-template-rows: 160px 160px;
  gap: 2px;
  background: rgba(0,0,0,0.28);
  flex-shrink: 0;
}

.loc-photo {
  background: var(--ms-navy);
  overflow: hidden;
}

.loc-photo--main { grid-row: span 2; }

.loc-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.loc-info {
  padding: 24px 28px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 0;
}

.loc-info__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.loc-info__name {
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #fff;
  margin: 0;
  flex: 1;
  line-height: 1.2;
}

.loc-badge {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ms-sand);
  background: rgba(214,164,97,0.12);
  border: 1px solid rgba(214,164,97,0.28);
  border-radius: 999px;
  padding: 4px 10px;
  white-space: nowrap;
  flex-shrink: 0;
}

.loc-info__desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255,255,255,0.58);
  margin: 0;
}

.loc-info__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 16px;
}

.loc-card__badge {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(166,255,112,0.08);
  border: 1px solid rgba(166,255,112,0.16);
  color: rgba(255,255,255,0.72);
  font-family: var(--font-body);
  font-size: 11px;
  line-height: 1.1;
  white-space: nowrap;
}

.loc-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px 22px;
  flex-shrink: 0;
}

.loc-nav__btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.65);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 200ms, color 200ms, border-color 200ms;
  flex-shrink: 0;
  padding: 0;
}
.loc-nav__btn:hover {
  background: rgba(255,255,255,0.14);
  color: #fff;
  border-color: rgba(255,255,255,0.24);
}

.loc-dots { display: flex; gap: 7px; align-items: center; }

.video-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0,0,0,0.92);
  backdrop-filter: blur(8px);
  align-items: center;
  justify-content: center;
}

.video-modal__close {
  position: absolute;
  top: -44px;
  right: 0;
  background: transparent;
  border: 0;
  color: rgba(255,255,255,0.60);
  font-size: 28px;
  cursor: pointer;
  line-height: 1;
  transition: color 200ms;
}

.video-modal__close:hover {
  color: #fff;
}

.video-player-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  transition: border-color 200ms;
  width: 100%;
}

.video-player-frame:hover {
  border-color: rgba(166,255,112,0.35);
}

.loc-dot {
  height: 6px;
  width: 6px;
  min-width: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,0.22);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: width 300ms ease, background 300ms ease;
}
.loc-dot.is-active { width: 20px; background: var(--ms-sand); }

/* =================================================================
   MOBILE OPTIMIZATION PASS (320px–768px)
   Fixes horizontal overflow, fixed-width inline grids, tap targets,
   responsive media, and mobile navigation fallback.
   ================================================================= */

/* Global safety net against accidental horizontal scroll */
img, video, svg { max-width: 100%; height: auto; }

/* Fluid heading sizes so large fixed px sizes don't overflow small screens */
.hero__title,
h1 { font-size: clamp(32px, 8vw, 66px); }

@media (max-width: 768px) {
  .hero__watermark {
    right: -130px;
    top: 34%;
    width: 360px;
    opacity: 0.04;
  }

  .loc-body { grid-template-columns: 1fr; }
  .loc-title { font-size: 30px; }
  .loc-viewport { height: 520px; }
  .loc-photos { grid-template-rows: 130px 130px; }
  .loc-info__row { flex-direction: column; align-items: flex-start; }
  .loc-nav__btn { width: 44px; height: 44px; }
  .loc-dot { min-height: 0; }

  .tb-steps__container {
    padding: 62px 18px 68px;
  }

  .tb-steps__header {
    margin-bottom: 28px;
  }

  .tb-steps .section-label {
    margin-bottom: 16px;
  }

  .tb-steps__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .tb-step-card {
    min-height: 0;
    padding: 28px 24px 30px;
  }

  /* ---- Layout containers & spacing ---- */
  .site-section,
  .hero__container,
  .hero-layout,
  section > div[style*="max-width: 1180px"],
  section > div[style*="max-width:1180px"] {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* ---- Header / nav ---- */
  .header__container {
    padding: 0 16px;
    height: auto;
    min-height: 56px;
    flex-wrap: wrap;
    row-gap: 8px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .header__logo img { height: 38px; }

  /* Nav links: since there's no burger menu, reflow them into a wrapping
     row under the logo instead of hiding them completely, so every page
     stays navigable on mobile without adding new JS/markup. */
  .header__nav {
    display: flex !important;
    order: 4;
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding-top: 8px;
    border-top: 1px solid var(--ms-line-navy, rgba(255,255,255,0.10));
  }

  .header__link {
    font-size: 10px;
    padding: 6px 2px;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
  }

  .header__controls {
    order: 3;
    width: 100%;
    justify-content: space-between;
    margin-top: 0;
  }

  /* ---- Any inline two/three/four/five-column grids used across pages ---- */
  section [style*="grid-template-columns:1fr 1fr"],
  section [style*="grid-template-columns: 1fr 1fr"],
  section [style*="grid-template-columns:repeat(2,1fr)"],
  section [style*="grid-template-columns: repeat(2, 1fr)"],
  section [style*="grid-template-columns:repeat(3,1fr)"],
  section [style*="grid-template-columns: repeat(3, 1fr)"],
  section [style*="grid-template-columns:repeat(4,1fr)"],
  section [style*="grid-template-columns: repeat(4, 1fr)"],
  section [style*="grid-template-columns:repeat(5,1fr)"],
  section [style*="grid-template-columns: repeat(5, 1fr)"],
  section [style*="grid-template-columns:1.5fr 1fr 1fr"],
  section [style*="grid-template-columns: 1.5fr 1fr 1fr"],
  footer [style*="grid-template-columns:1.5fr 1fr 1fr"],
  footer [style*="grid-template-columns: 1.5fr 1fr 1fr"],
  .layout-grid--2,
  .layout-grid--3,
  .layout-grid--two-col,
  .grid-3col,
  .grid-2col,
  #package-choice-group,
  #includes-grid,
  #event-types {
    grid-template-columns: 1fr !important;
  }

  /* Gallery grid keeps 2 columns on mobile instead of collapsing photos
     into a single tall column (keeps the visual density reasonable). */
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: auto !important;
  }
  .gallery-grid > div {
    height: 160px !important;
    grid-column: span 1 !important;
  }

  /* Photo masonry (timbuilding.html) — 3 columns is too narrow on phones */
  .photo-masonry {
    columns: 1 !important;
  }
  .cases-masonry {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }
  .cases-col {
    flex: 1 1 calc(50% - 6px) !important;
    gap: 12px !important;
  }
  .case-tile__overlay {
    padding: 18px 12px;
    gap: 9px;
  }
  .case-tile__title {
    font-size: 18px;
  }
  .case-tile__client {
    font-size: 13px;
  }
  .case-tile__desc {
    max-width: 100%;
    font-size: 12px;
    line-height: 1.45;
  }
  .case-tile__button {
    min-width: 108px;
    margin-top: 6px;
    padding: 11px 16px;
    font-size: 10px;
  }
  .case-gallery-modal {
    padding: 10px;
  }
  .case-gallery-modal__panel {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }
  .case-gallery-modal__head {
    padding: 16px;
  }
  .case-gallery-modal__title {
    font-size: 24px;
  }
  .case-gallery-modal__grid {
    columns: 2 140px;
    column-gap: 10px;
    padding: 10px;
  }
  .case-gallery-modal__item {
    margin-bottom: 10px;
  }

  /* Video section: main player + list stacks instead of 1fr 320px */
  .video-layout {
    grid-template-columns: 1fr !important;
  }

  /* Pricing card on maestro-show.html has a hardcoded pixel box */
  section [style*="width: 518px"] {
    width: 100% !important;
    height: auto !important;
  }

  /* Hero stat strips / stats rows using flex with many items: allow wrap */
  .hero-stat-strip,
  .hero__stats {
    flex-wrap: wrap;
    gap: 16px;
  }
  .hero-stat-strip__item {
    padding: 0 16px !important;
    border-right: 0 !important;
    flex: 1 1 40%;
  }

  /* Contact / about two-column rows with inline styles */
  section [style*="align-items:center;margin-bottom:60px"],
  section [style*="align-items: center; margin-bottom: 60px"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* ---- Typography scale-down ---- */
  .section-title,
  .section-title--large,
  .section-title--medium {
    font-size: 28px !important;
  }

  h2[style*="font-size:42px"],
  h2[style*="font-size: 42px"],
  h1[style*="font-size:66px"],
  h1[style*="font-size: 66px"],
  h1[style*="font-size:62px"] {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  /* ---- Buttons & links: comfortable touch targets (~44px) ---- */
  .btn,
  button,
  a.btn,
  input[type="submit"] {
    min-height: 44px;
  }

  .btn--sm { min-height: 38px; }

  .header-whatsapp,
  .u-header-icon-link {
    width: 40px;
    height: 40px;
  }

  .lang-btn {
    min-height: 32px;
    padding: 6px 10px;
  }

  .filter-tab,
  .package-choice {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
  }

  /* Form inputs: ensure comfortable tap/typing height */
  .input-wrap input {
    min-height: 44px;
  }

  .switch { width: 46px; height: 26px; }
  .switch-thumb { width: 20px; height: 20px; }
  .switch input:checked ~ .switch-thumb { transform: translateX(20px); }

  /* ---- Footer ---- */
  footer > div[style*="grid-template-columns"] {
    gap: 28px !important;
  }

  footer div[style*="justify-content:space-between"],
  footer div[style*="justify-content: space-between"] {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }

  /* ---- Maestro Show page (.ms-* classes) ---- */
  .ms-container,
  .ms-hero__container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .ms-hero__title {
    font-size: 34px;
    line-height: 1.08;
  }

  .ms-hero__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .ms-hero-form {
    max-width: none;
    justify-self: stretch;
  }

  .ms-hero__sub {
    max-width: none;
  }

  .ms-hero__stats {
    grid-template-columns: 1fr 1fr;
    gap: 18px 12px;
  }

  .ms-hero__stat {
    min-width: 0;
  }

  .ms-hero__stat-divider {
    display: none;
  }

  .ms-hero__stat-value {
    font-size: 28px;
  }

  .ms-whatis-grid,
  .ms-eventtypes-grid,
  .ms-cats-grid,
  .ms-steps-row,
  .ms-inner-steps,
  .ms-toasts-grid,
  .ms-pricing-grid,
  .ms-contact-grid {
    grid-template-columns: 1fr !important;
  }

  .ms-steps-row {
    gap: 28px !important;
  }

  .ms-steps-row .steps-line-base,
  .ms-steps-row .steps-line-fill {
    display: none;
  }

  .ms-cat-header,
  .ms-toasts-header {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .ms-cat-note {
    max-width: none;
    text-align: left !important;
  }

  .ms-pricing-card {
    width: 100% !important;
    height: auto !important;
  }

  .ms-pricing-card-wrap {
    margin-top: 24px;
  }
}
