/* RG PIANO Latvian premium visual system. Loaded only for the 10 real LV routes. */
:root {
  --premium-black: #090806;
  --premium-ink: #1d1a16;
  --premium-ink-soft: #514a40;
  --premium-gold: #bc9554;
  --premium-gold-bright: #dfc17d;
  --premium-gold-pale: #f0dfb6;
  --premium-canvas: #f3f0e9;
  --premium-surface: #fcfbf8;
  --premium-surface-dark: #15130f;
  --premium-line: rgb(91 72 42 / 22%);
  --premium-container: 73.75rem;
  --premium-reading: 48rem;
  --premium-radius-sm: .45rem;
  --premium-radius: .85rem;
  --premium-radius-lg: 1.35rem;
  --premium-shadow-sm: 0 .4rem 1.2rem rgb(30 24 15 / 8%);
  --premium-shadow: 0 1rem 2.8rem rgb(30 24 15 / 13%);
  --premium-shadow-dark: 0 1.2rem 3rem rgb(0 0 0 / 28%);
  --premium-transition: 220ms cubic-bezier(.2, .75, .25, 1);
  --premium-section: clamp(4rem, 7vw, 7rem);
}

body {
  color: var(--premium-ink);
  background: var(--premium-canvas);
  font-size: clamp(.98rem, .25vw + .92rem, 1.075rem);
  line-height: 1.72;
  text-rendering: optimizeLegibility;
}

.container,
.home-container,
.service-container,
.lesson-container,
.info-container {
  width: min(calc(100% - clamp(2rem, 5vw, 4rem)), var(--premium-container));
}

a,
button,
input,
textarea,
select,
summary { transition: color var(--premium-transition), background-color var(--premium-transition), border-color var(--premium-transition), box-shadow var(--premium-transition), transform var(--premium-transition), opacity var(--premium-transition); }

:focus-visible { outline: .18rem solid var(--premium-gold-bright); outline-offset: .22rem; }

/* Shared header and navigation */
.site-header--lv {
  position: sticky;
  top: 0;
  z-index: 40;
  color: #fff;
  border-bottom: 0;
  background:
    linear-gradient(90deg, #000 0, #000 20rem, rgb(0 0 0 / 82%) 28rem, transparent 38rem),
    radial-gradient(circle at 10% 22%, rgb(188 149 84 / 9%), transparent 25rem),
    linear-gradient(118deg, #030303 0%, #0d0c0a 56%, #080706 100%);
  box-shadow: 0 .8rem 2rem rgb(0 0 0 / 25%);
}

.site-header--lv .site-header__inner {
  display: grid;
  width: min(calc(100% - 3rem), 84rem);
  grid-template-columns: clamp(10.5rem, 13vw, 12rem) minmax(0, 1fr);
  min-height: 6.65rem;
  align-items: center;
  gap: clamp(2rem, 4vw, 4rem);
  padding-block: .55rem;
}
.site-header--lv .site-logo--animated {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #000;
}
.site-header--lv .site-logo--animated img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 24 / 7;
  object-fit: contain;
}
.site-header--lv .site-header__desktop-cluster {
  display: grid;
  min-width: 0;
  align-self: stretch;
  grid-template-rows: minmax(3.55rem, 1fr) auto;
}
.site-header--lv .desktop-nav {
  min-width: 0;
  align-self: stretch;
}
.site-header--lv .nav__list {
  height: 100%;
  justify-content: flex-end;
  gap: clamp(1rem, 1.45vw, 1.65rem);
}
.site-header--lv .nav__item { height: 100%; }
.site-header--lv .nav__link,
.site-header--lv .nav__dropdown-toggle,
.site-header--lv .language-switcher__link {
  position: relative;
  min-height: 2.8rem;
  height: 100%;
  padding-inline: .1rem;
  color: #d9bf88;
  font-size: clamp(.77rem, .35vw + .47rem, .85rem);
  font-weight: 600;
  letter-spacing: .07em;
  white-space: nowrap;
}
.site-header--lv .nav__link::before,
.site-header--lv .nav__dropdown-toggle::before,
.site-header--lv .language-switcher__link::before {
  position: absolute;
  right: 50%;
  bottom: .52rem;
  left: 50%;
  height: 1px;
  background: var(--premium-gold-bright);
  content: "";
  transition: right var(--premium-transition), left var(--premium-transition);
}
.site-header--lv .nav__link:hover,
.site-header--lv .nav__dropdown-toggle:hover,
.site-header--lv .language-switcher__link:hover,
.site-header--lv .nav__link[aria-current="page"] { color: #fff3d2; }
.site-header--lv .nav__link:hover::before,
.site-header--lv .nav__dropdown-toggle:hover::before,
.site-header--lv .nav__dropdown-toggle[aria-expanded="true"]::before,
.site-header--lv .language-switcher__link:hover::before,
.site-header--lv .nav__link[aria-current="page"]::before { right: 0; left: 0; }
.site-header--lv .nav__dropdown-toggle {
  justify-content: center;
  cursor: pointer;
}
.site-header--lv .nav__dropdown-toggle::after {
  flex: 0 0 auto;
  margin: -.18rem 0 0 .55rem;
  transform: rotate(45deg);
  transform-origin: center;
  transition: transform var(--premium-transition);
}
.site-header--lv .nav__dropdown-toggle[aria-expanded="true"]::after { transform: translateY(.18rem) rotate(225deg); }
.site-header--lv .nav__submenu {
  z-index: 4;
  top: calc(100% + 2.15rem);
  left: 50%;
  display: block;
  min-width: 17rem;
  padding: .62rem;
  border: 1px solid rgb(223 193 125 / 24%);
  border-radius: .8rem;
  visibility: hidden;
  opacity: 0;
  background: linear-gradient(150deg, rgb(20 18 14 / 99%), rgb(8 8 7 / 99%));
  box-shadow: 0 1.15rem 2.8rem rgb(0 0 0 / 36%);
  transform: translate(-50%, .45rem);
  pointer-events: none;
  transition: opacity var(--premium-transition), transform var(--premium-transition), visibility var(--premium-transition);
}
.site-header--lv .nav__submenu::before {
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: .7rem;
  height: .7rem;
  border-top: 1px solid rgb(223 193 125 / 24%);
  border-left: 1px solid rgb(223 193 125 / 24%);
  background: #13110e;
  content: "";
  transform: translate(-50%, 50%) rotate(45deg);
}
.site-header--lv .nav__dropdown-toggle[aria-expanded="true"] + .nav__submenu,
.site-header--lv .nav__item--dropdown:focus-within .nav__submenu {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}
.site-header--lv .nav__submenu .nav__link {
  min-height: 2.85rem;
  padding: .62rem .82rem;
  border-radius: .48rem;
  color: #ead5aa;
  font-size: .77rem;
  line-height: 1.35;
}
.site-header--lv .nav__submenu .nav__link::before { display: none; }
.site-header--lv .nav__submenu .nav__link:hover,
.site-header--lv .nav__submenu .nav__link:focus-visible { color: #fff; background: rgb(188 149 84 / 18%); transform: translateX(.16rem); }
.site-header--lv .nav__submenu .nav__link--disabled:hover { color: #ead5aa; background: transparent; transform: none; }
.site-header--lv .site-header__desktop-utilities {
  display: flex;
  min-height: 2.35rem;
  align-items: center;
  justify-content: flex-end;
  gap: .82rem;
  padding-bottom: .38rem;
}
.site-header--lv .header-contact-actions,
.site-header--lv .mobile-nav__contacts {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.site-header--lv .header-contact-action {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgb(223 193 125 / 28%);
  border-radius: 50%;
  color: #dcc188;
  background: rgb(255 255 255 / 2%);
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.site-header--lv .header-contact-action svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: currentColor;
}
.site-header--lv .header-contact-action:focus-visible {
  border-color: var(--premium-gold-bright);
  color: #17120b;
  background: var(--premium-gold-bright);
  outline: 2px solid #fff1d0;
  outline-offset: 3px;
}
.site-header--lv .header-contact-phone {
  display: inline-flex;
  min-height: 2.25rem;
  align-items: center;
  padding: .3rem .82rem;
  border: 1px solid rgb(223 193 125 / 18%);
  border-radius: 999px;
  color: #ead7ad;
  background: rgb(255 255 255 / 1.5%);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .045em;
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.site-header--lv .header-contact-phone:focus-visible {
  border-color: var(--premium-gold-bright);
  color: #17120b;
  background: var(--premium-gold-bright);
  outline: 2px solid #fff1d0;
  outline-offset: 3px;
}
.site-header--lv .language-switcher--desktop {
  padding-left: .85rem;
  border-left: 1px solid rgb(223 193 125 / 18%);
}
.site-header--lv .language-switcher__list { gap: .58rem; }
.site-header--lv .language-switcher__link {
  min-height: 2.25rem;
  font-size: .73rem;
}
.site-header--lv .mobile-menu-toggle { display: none; }

/* Shared controls and buttons */
.home-button,
.service-button,
.lesson-button,
.service-form button,
.contact-form-section button,
.privacy-embed button,
.consent-banner button,
.consent-dialog button {
  display: inline-flex;
  min-height: 3.15rem;
  align-items: center;
  justify-content: center;
  padding: .72rem 1.35rem;
  border: 1px solid var(--premium-gold);
  border-radius: 999px;
  color: #fff8e9;
  background: linear-gradient(135deg, #15120d, #282016);
  box-shadow: 0 .35rem 1rem rgb(25 19 11 / 13%);
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .025em;
  text-decoration: none;
  cursor: pointer;
}
.home-button:hover,
.service-button:hover,
.lesson-button:hover,
.service-form button:hover,
.contact-form-section button:hover,
.privacy-embed button:hover,
.consent-banner button:hover,
.consent-dialog button:hover {
  color: #17120b;
  background: var(--premium-gold-bright);
  border-color: var(--premium-gold-bright);
  box-shadow: 0 .7rem 1.4rem rgb(46 34 16 / 20%);
  transform: translateY(-2px);
}
.service-form button:disabled { opacity: .55; cursor: wait; transform: none; }

/* Breadcrumbs and title bands */
.home-lv .home-breadcrumb,
.service-breadcrumb,
.lesson-breadcrumb,
.info-page .breadcrumb,
.sales-breadcrumb {
  display: flex;
  width: min(calc(100% - 2rem), var(--premium-container));
  min-height: 2.4rem;
  align-items: center;
  gap: .35rem;
  margin-inline: auto;
  padding: .48rem 0;
  border: 0;
  color: #7d6c52;
  background: transparent;
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .045em;
  line-height: 1.35;
}
.home-lv .home-breadcrumb a,
.service-breadcrumb a,
.lesson-breadcrumb a,
.info-page .breadcrumb a,
.sales-breadcrumb a { color: #6f5d43; }
.home-lv .home-breadcrumb a:hover,
.service-breadcrumb a:hover,
.lesson-breadcrumb a:hover,
.info-page .breadcrumb a:hover,
.sales-breadcrumb a:hover { color: #9c763b; }
.service-title-band,
.lesson-title-band,
.info-title-band,
.home-heading {
  min-height: 5.5rem;
  padding: 1.1rem 0;
  border: 0;
  border-top: 1px solid rgb(223 193 125 / 22%);
  border-bottom: 1px solid rgb(223 193 125 / 22%);
  color: #fff;
  background: linear-gradient(112deg, #0d0b08, #231c12 52%, #0d0b08);
  box-shadow: none;
}
.home-heading::after { display: none; }
.service-title-band__inner,
.lesson-title-band .lesson-container,
.info-title-band__inner,
.home-heading .home-container { gap: 1rem; }
.service-title-band img,
.lesson-title-band img,
.info-title-band img,
.home-heading__icon {
  width: 3rem;
  height: 3rem;
  padding: .25rem;
  border: 1px solid rgb(223 193 125 / 55%);
  border-radius: 50%;
  background: rgb(255 255 255 / 5%);
  object-fit: contain;
  box-shadow: none;
}
.service-title-band :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])),
.service-title-band :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])),
.lesson-title-band :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])),
.lesson-title-band :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])),
.info-title-band :is(h1:where(:not([data-heading-display])), :where([data-heading-display="1"])),
.info-title-band :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])),
.info-title-band :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])),
.home-heading :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])),
.home-heading :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])) {
  padding: 0;
  border: 0;
  color: #f8efd9;
  font-size: clamp(.92rem, 1.4vw, 1.12rem);
  font-weight: 600;
  letter-spacing: .055em;
  line-height: 1.35;
  text-shadow: none;
}
.home-heading .home-eyebrow { color: #bc9b62; }

/* Homepage */
.home-lv { color: var(--premium-ink); background: var(--premium-canvas); }
.home-hero {
  min-height: clamp(31rem, 65vh, 43rem);
  padding: clamp(6rem, 11vw, 10rem) 1.25rem;
  background-image: linear-gradient(105deg, rgb(5 4 3 / 78%), rgb(5 4 3 / 24%) 58%, rgb(5 4 3 / 62%)), url("/assets/images/home/hero-piano-keys.jpeg");
  background-position: center 48%;
}
.home-hero__content { max-width: 64rem; }
.home-hero .home-eyebrow { color: var(--premium-gold-bright); font-size: .76rem; letter-spacing: .18em; }
.home-hero :is(h1:where(:not([data-heading-display])), :where([data-heading-display="1"])) {
  max-width: 57rem;
  margin: 1rem auto 1.35rem;
  color: #fff;
  font-family: var(--font-secondary);
  font-size: clamp(2.15rem, 5vw, 4.5rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
  text-shadow: 0 .35rem 1.5rem rgb(0 0 0 / 48%);
}
.home-divider { width: 5.5rem; height: 1px; background: var(--premium-gold-bright); }
.home-cards { padding: var(--premium-section) 0; }
.home-card-grid { gap: clamp(1.5rem, 4vw, 3.5rem); }
.home-card {
  align-items: flex-start;
  overflow: hidden;
  padding: 0 0 2rem;
  border: 1px solid var(--premium-line);
  border-radius: var(--premium-radius-lg);
  background: var(--premium-surface);
  box-shadow: var(--premium-shadow-sm);
  text-align: left;
  transition: transform var(--premium-transition), box-shadow var(--premium-transition), border-color var(--premium-transition);
}
.home-card:hover { border-color: rgb(188 149 84 / 50%); box-shadow: var(--premium-shadow); transform: translateY(-.35rem); }
.home-card__image-link,
.home-cards--lessons .home-card > img { width: 100%; overflow: hidden; border-radius: 0; }
.home-card img,
.home-cards--lessons .home-card > img { width: 100%; aspect-ratio: 16 / 10; border-radius: 0; box-shadow: none; object-fit: cover; transition: transform 500ms ease; }
.home-card:hover img { transform: scale(1.045); }
.home-card :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])),
.home-card p,
.home-card .home-button { margin-right: 2rem; margin-left: 2rem; }
.home-card :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])) { margin-top: 1.7rem; color: #2d2417; font-size: .96rem; font-weight: 700; letter-spacing: .035em; }
.home-card p { margin-top: .45rem; color: var(--premium-ink-soft); font-size: .92rem; }
.home-card .home-button { margin-top: 1.35rem; }
.home-narrative { padding: var(--premium-section) 1.25rem; background-attachment: scroll; }
.home-narrative--benefits,
.home-narrative--offer { background-position: center; }
.home-narrative__panel,
.home-narrative--offer .home-narrative__panel {
  width: min(100%, 58rem);
  padding: clamp(2.4rem, 5vw, 4.5rem);
  border: 1px solid rgb(223 193 125 / 30%);
  border-left: 3px solid var(--premium-gold);
  border-radius: var(--premium-radius-lg);
  color: #f4ead5;
  background: rgb(10 9 7 / 88%);
  backdrop-filter: blur(.45rem);
  box-shadow: var(--premium-shadow-dark);
  font-size: clamp(.96rem, 1vw, 1.05rem);
  line-height: 1.85;
  text-align: left;
}
.home-science { padding: var(--premium-section) 0 2rem; }
.home-copy { max-width: var(--premium-reading); padding: 0; color: #494137; font-size: 1rem; line-height: 1.82; }
.home-copy p + p { margin-top: 1.6rem; }
.home-copy a { color: #76541f; text-decoration-color: rgb(118 84 31 / 45%); }
.home-rule { padding: 2.5rem 0 0; }
.home-features { padding: 2rem 0 var(--premium-section); }
.home-feature-grid { gap: 1rem; }
.home-feature-grid article { padding: 1.8rem 1.25rem; border: 1px solid var(--premium-line); border-radius: var(--premium-radius); background: rgb(255 255 255 / 55%); }
.home-feature-grid article + article { border-left: 1px solid var(--premium-line); }
.home-feature-grid :is(h5:where(:not([data-heading-display])), :where([data-heading-display="5"])) { color: #2d2417; font-size: .94rem; }
.home-feature-grid p { margin-top: .55rem; color: #665d51; font-size: .88rem; }
.home-closing,
.service-closing,
.lesson-closing,
.info-closing { padding: clamp(3rem, 6vw, 5.5rem) 1.5rem; background: radial-gradient(circle at 50% 0, #1c160e, #050504 62%); }
.home-closing img,
.service-closing img,
.lesson-closing img { width: min(100%, 10rem); }
.home-closing :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])),
.service-closing :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])),
.lesson-closing :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])) { margin-top: 1.4rem; color: #d9bb7c; font-size: .75rem; letter-spacing: .16em; line-height: 1.6; }

/* Service family */
.service-page { color: var(--premium-ink); background: var(--premium-canvas); }
.service-hero { min-height: clamp(29rem, 58vh, 39rem); padding: clamp(5rem, 10vw, 9rem) 1.25rem; }
.service-hero::before { background: linear-gradient(105deg, rgb(4 3 2 / 78%), rgb(4 3 2 / 35%) 58%, rgb(4 3 2 / 64%)); }
.service-hero__content { max-width: 62rem; }
.service-hero :is(h1:where(:not([data-heading-display])), :where([data-heading-display="1"])) { font-family: var(--font-secondary); font-size: clamp(2.25rem, 5vw, 4.4rem); font-weight: 400; letter-spacing: -.02em; line-height: 1.08; }
.service-hero p { max-width: 53rem; margin: 1.25rem auto 0; font-size: clamp(1rem, 1.3vw, 1.16rem); line-height: 1.75; }
.service-highlights,
.service-pricing,
.service-feature-cards,
.service-process,
.service-related,
.service-future,
.service-availability,
.editorial-block,
.editorial-types { padding-block: var(--premium-section); }
.service-grid { gap: clamp(1rem, 2.5vw, 2rem); }
.service-highlights article,
.service-feature-cards article,
.service-process article,
.service-faq article,
.service-pricing article,
.service-transport-price__grid > div {
  border: 1px solid var(--premium-line);
  border-radius: var(--premium-radius);
  background: var(--premium-surface);
  box-shadow: var(--premium-shadow-sm);
  transition: transform var(--premium-transition), box-shadow var(--premium-transition), border-color var(--premium-transition);
}
.service-highlights article:hover,
.service-feature-cards article:hover,
.service-process article:hover,
.service-faq article:hover { border-color: rgb(188 149 84 / 50%); box-shadow: var(--premium-shadow); transform: translateY(-.28rem); }
.service-request { padding: var(--premium-section) 0; background: radial-gradient(circle at 70% 20%, #241b10, #080706 58%); }
.service-request__grid { gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.service-request__benefits { color: #f5ead3; }
.service-form {
  gap: 1.05rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid rgb(188 149 84 / 55%);
  border-radius: var(--premium-radius-lg);
  background: rgb(11 10 8 / 92%);
  box-shadow: var(--premium-shadow-dark);
}
.service-form__field { gap: .45rem; }
.service-form label { color: #ead9b8; font-size: .8rem; font-weight: 600; }
.service-form input,
.service-form textarea,
.service-form select,
.contact-form-section input,
.contact-form-section textarea,
.contact-form-section select {
  min-height: 3.2rem;
  padding: .78rem .9rem;
  border: 1px solid rgb(188 149 84 / 45%);
  border-radius: .55rem;
  color: inherit;
  background: rgb(255 255 255 / 5%);
}
.service-form textarea,
.contact-form-section textarea { min-height: 8.5rem; resize: vertical; }
.service-form input[type="radio"],
.contact-form-section input[type="radio"] {
  width: 1.15rem;
  height: 1.15rem;
  min-height: 0;
  padding: 0;
  border-radius: 50%;
  accent-color: var(--premium-gold);
}
.service-form__field:has(input[type="radio"]) {
  grid-template-columns: auto auto 1fr;
  align-items: center;
  justify-content: start;
  gap: .55rem .8rem;
}
.service-form__field:has(input[type="radio"]) .service-form__error { grid-column: 1 / -1; }
.service-form input:focus,
.service-form textarea:focus,
.service-form select:focus,
.contact-form-section input:focus,
.contact-form-section textarea:focus { border-color: var(--premium-gold-bright); box-shadow: 0 0 0 .2rem rgb(223 193 125 / 14%); outline: 0; }
.service-form__status:not(:empty) { padding: .75rem 1rem; border-left: 2px solid var(--premium-gold); color: #e9d5ae; background: rgb(188 149 84 / 9%); }
.service-restoration { background-attachment: scroll; }
.service-dark-panel,
.service-note__panel {
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid rgb(223 193 125 / 25%);
  border-left: 3px solid var(--premium-gold);
  border-radius: var(--premium-radius-lg);
  background: rgb(11 10 8 / 87%);
  box-shadow: var(--premium-shadow-dark);
}
.service-dark-panel,
.service-dark-panel p,
.service-dark-panel li,
.service-note__panel,
.service-note__panel p,
.service-note__panel li { color: #f4ead5; }
.service-dark-panel a,
.service-note__panel a { color: var(--premium-gold-bright); }
.service-faq { padding: var(--premium-section) 0; }
.service-faq article { padding: 2rem 1.5rem; }
.service-feature-cards img,
.service-transport-price img,
.editorial-block img,
.editorial-types__images img { border-radius: var(--premium-radius); box-shadow: var(--premium-shadow-sm); object-fit: cover; transition: transform 500ms ease, box-shadow var(--premium-transition); }
.service-feature-cards article:hover img,
.editorial-block img:hover,
.editorial-types__images img:hover { box-shadow: var(--premium-shadow); transform: scale(1.035); }
.editorial-block__grid { gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.service-page--selection .service-page-title,
.lesson-page-title,
.info-page--privacy-legal .info-title-band { padding: 1.15rem 0; color: #e8d7b6; background: #14110d; border-bottom: 1px solid rgb(223 193 125 / 20%); }
.service-page--selection .service-page-title :is(h1:where(:not([data-heading-display])), :where([data-heading-display="1"])),
.lesson-page-title :is(h1:where(:not([data-heading-display])), :where([data-heading-display="1"])),
.info-page--privacy-legal .info-title-band :is(h1:where(:not([data-heading-display])), :where([data-heading-display="1"])) { color: #f6ead2; }

/* Lesson family */
.lesson-page { color: var(--premium-ink); background: var(--premium-canvas); }
.lesson-hero { min-height: clamp(29rem, 57vh, 38rem); padding: clamp(5rem, 10vw, 8rem) 1.25rem; }
.lesson-hero :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])) { font-family: var(--font-secondary); font-size: clamp(2.25rem, 5vw, 4.25rem); font-weight: 400; letter-spacing: -.02em; line-height: 1.08; }
.lesson-hero :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])) { margin-top: 1.25rem; color: #f0dcae; font-size: clamp(.98rem, 1.7vw, 1.3rem); letter-spacing: .035em; line-height: 1.5; }
.lesson-features,
.lesson-pricing,
.lesson-improvisation-feature,
.lesson-flowkey-promo { padding-block: var(--premium-section); }
.lesson-grid { gap: clamp(1.25rem, 3vw, 2.5rem); }
.lesson-features article,
.lesson-pricing article {
  min-height: 14rem;
  padding: clamp(2rem, 4vw, 3rem);
  border: 1px solid var(--premium-line);
  border-radius: var(--premium-radius-lg);
  background: var(--premium-surface);
  box-shadow: var(--premium-shadow-sm);
  transition: transform var(--premium-transition), box-shadow var(--premium-transition), border-color var(--premium-transition);
}
.lesson-features article:hover,
.lesson-pricing article:hover { border-color: rgb(188 149 84 / 50%); box-shadow: var(--premium-shadow); transform: translateY(-.3rem); }
.lesson-features :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])),
.lesson-features :is(h4:where(:not([data-heading-display])), :where([data-heading-display="4"])),
.lesson-improvisation-feature :is(h4:where(:not([data-heading-display])), :where([data-heading-display="4"])) { color: #272015; }
.lesson-features p,
.lesson-improvisation-feature p { color: #745522; }
.lesson-pricing :is(h5:where(:not([data-heading-display])), :where([data-heading-display="5"])) { color: #5d4217; font-family: var(--font-secondary); font-size: clamp(2rem, 4vw, 3rem); font-weight: 400; }
.lesson-primary-cta { padding-bottom: var(--premium-section); }
.lesson-hero--improvisation { min-height: clamp(24rem, 48vh, 34rem); }
.lesson-flowkey-logo { padding: 3rem 1rem; background: #17140f; }
.lesson-flowkey-logo img { width: 9rem; height: 6rem; }
.lesson-flowkey-promo__images { gap: 1.5rem; }
.lesson-flowkey-promo__images img { border: 1px solid var(--premium-line); border-radius: var(--premium-radius); box-shadow: var(--premium-shadow); transition: transform 500ms ease; }
.lesson-flowkey-promo__images img:hover { transform: scale(1.035); }

/* About, contact and legal */
.info-page { color: var(--premium-ink); background: var(--premium-canvas); }
.trust-services { padding: clamp(6rem, 11vw, 10rem) 0; background-image: linear-gradient(105deg, rgb(5 4 3 / 84%), rgb(5 4 3 / 38%)), url('/assets/images/info/trust-services-background.jpg'); }
.trust-services .info-container { gap: 1.2rem clamp(2rem, 7vw, 6rem); }
.trust-services :is(h1:where(:not([data-heading-display])), :where([data-heading-display="1"])) { font-family: var(--font-secondary); font-size: clamp(2rem, 4vw, 3.8rem); font-weight: 400; line-height: 1.15; }
.trust-services a:hover :is(h1:where(:not([data-heading-display])), :where([data-heading-display="1"])) { color: var(--premium-gold-bright); transform: translateX(.25rem); }
.teacher-profile,
.info-video-gallery,
.contact-form-section,
.contact-service,
.lesson-contact,
.legal-document { padding: var(--premium-section) 0; }
.teacher-profile__grid { grid-template-columns: minmax(17rem, .8fr) 1.3fr; gap: clamp(2.5rem, 7vw, 6rem); align-items: center; }
.teacher-profile img { width: min(100%, 25rem); border: .45rem solid var(--premium-surface); box-shadow: var(--premium-shadow); filter: contrast(1.04); }
.teacher-profile :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])) { margin: 0; font-family: var(--font-secondary); font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 400; }
.teacher-profile :is(h6:where(:not([data-heading-display])), :where([data-heading-display="6"])) { color: #765a2a; font-size: 1rem; letter-spacing: .03em; }
.teacher-profile details { padding: 1rem 0; border-top: 1px solid var(--premium-line); border-bottom: 1px solid var(--premium-line); }
.teacher-profile summary { color: #4c3717; }
.info-video-gallery__grid { gap: 2rem; }
.privacy-embed { min-height: 22rem; border: 1px solid rgb(188 149 84 / 35%); border-radius: var(--premium-radius-lg); box-shadow: var(--premium-shadow); }
.privacy-embed::before { background: linear-gradient(180deg, rgb(0 0 0 / 25%), rgb(0 0 0 / 78%)); }
.privacy-embed:hover { box-shadow: var(--premium-shadow-dark); }
.contact-form-section__grid { grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .75fr); gap: clamp(2.5rem, 7vw, 6rem); }
.contact-form-section .service-form { color: #f5ead3; }
.contact-direct {
  align-self: start;
  gap: .9rem;
  padding: 2rem;
  border: 1px solid var(--premium-line);
  border-radius: var(--premium-radius-lg);
  background: var(--premium-surface);
  box-shadow: var(--premium-shadow-sm);
}
.contact-direct a { width: fit-content; color: #513a16; text-decoration-color: rgb(81 58 22 / 35%); }
.contact-direct a:hover { color: #91691f; }
.contact-carousel { padding: 1rem; border: 1px solid var(--premium-line); border-radius: var(--premium-radius-lg); background: var(--premium-surface); box-shadow: var(--premium-shadow-sm); }
.contact-carousel__viewport { border-radius: var(--premium-radius); }
.contact-carousel__slide { padding: .45rem; }
.contact-carousel__slide img { aspect-ratio: 4 / 3; border-radius: .65rem; transition: transform 500ms ease; }
.contact-carousel__slide:hover img { transform: scale(1.025); }
.contact-carousel__button { width: 3rem; height: 3rem; border-color: var(--premium-gold); background: rgb(15 12 8 / 92%); box-shadow: 0 .4rem 1rem rgb(0 0 0 / 25%); }
.contact-carousel__button:hover { color: #18120a; background: var(--premium-gold-bright); transform: translateY(-50%) scale(1.06); }
.contact-columns,
.lesson-contact__grid { gap: clamp(2.5rem, 7vw, 6rem); }
.privacy-embed--map { min-height: 29rem; border: 1px solid var(--premium-line); background: repeating-linear-gradient(135deg, #e8e3d8, #e8e3d8 14px, #f2eee6 14px, #f2eee6 28px); box-shadow: var(--premium-shadow-sm); }
.legal-document .info-container { max-width: 52rem; padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid var(--premium-line); border-radius: var(--premium-radius-lg); background: var(--premium-surface); box-shadow: var(--premium-shadow-sm); }
.legal-document :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])) { margin: 2.6rem 0 .8rem; font-family: var(--font-secondary); font-size: clamp(1.45rem, 2.5vw, 1.9rem); font-weight: 400; }
.legal-document p,
.legal-document li { color: #464038; line-height: 1.85; }

/* Consent, privacy and contact utilities */
.floating-contact { right: 1.25rem; bottom: 1.25rem; gap: .65rem; }
.floating-contact__toggle { min-height: 3.4rem; padding: .75rem 1.2rem; border-color: rgb(223 193 125 / 65%); background: linear-gradient(135deg, #11100d, #282014); box-shadow: var(--premium-shadow-dark); }
.floating-contact__toggle:hover { color: #17120b; background: var(--premium-gold-bright); transform: translateY(-2px); }
.floating-contact__menu { min-width: 13rem; padding: .55rem; border-color: rgb(223 193 125 / 35%); border-radius: var(--premium-radius); background: rgb(13 12 10 / 98%); box-shadow: var(--premium-shadow-dark); }
.floating-contact__menu a { padding: .8rem .9rem; border-radius: .5rem; }
.consent-settings { left: 1rem; bottom: 1rem; min-height: 2.4rem; padding: .45rem .75rem; border-color: rgb(188 149 84 / 45%); border-radius: 999px; color: #ead6ad; background: rgb(20 17 13 / 94%); box-shadow: var(--premium-shadow-sm); }
.consent-settings:hover { color: #17120b; background: var(--premium-gold-bright); }
.consent-banner { bottom: 1.25rem; gap: 1rem 2.5rem; padding: clamp(1.25rem, 3vw, 2rem); border-color: rgb(223 193 125 / 45%); border-radius: var(--premium-radius-lg); background: rgb(15 13 10 / 98%); box-shadow: var(--premium-shadow-dark); }
.consent-banner :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])),
.consent-dialog :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])) { font-family: var(--font-secondary); font-size: 1.5rem; font-weight: 400; }
.consent-dialog { border-color: rgb(223 193 125 / 45%); border-radius: var(--premium-radius-lg); background: #15120e; box-shadow: var(--premium-shadow-dark); }
.consent-dialog form { gap: 1.25rem; padding: clamp(1.5rem, 4vw, 2.5rem); }

/* Footer */
.site-footer { color: #cbb589; background: #11100d; border-top-color: rgb(223 193 125 / 25%); }
.site-footer__brand {
  position: relative;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 2vw, 1.35rem) 1rem .9rem;
  color: #d9bb7c;
  background: #000;
  text-align: center;
}
.site-footer__brand::after {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  height: 6rem;
  pointer-events: none;
  background: linear-gradient(180deg, #000 0%, rgb(0 0 0 / 78%) 28%, rgb(0 0 0 / 35%) 66%, transparent 100%);
  content: "";
}
.site-footer__brand img { display: block; width: 100%; height: auto; }
.site-footer__brand-link { display: inline-flex; width: min(100%, 9.25rem); border-radius: .25rem; cursor: pointer; }
.site-footer__brand-link img { transition: filter 180ms ease; }
.site-footer__brand-link:focus-visible { outline: 2px solid #fff1d0; outline-offset: .3rem; }
.site-footer__brand :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])) { margin-top: .6rem; color: inherit; font-size: .73rem; letter-spacing: .16em; line-height: 1.55; text-transform: uppercase; }
/* Shared LV footer rhythm; leave legacy EN/RU presentation unchanged. */
html[lang="lv"] .site-footer__brand { padding: 2.75rem 1rem 1.5rem; }
html[lang="lv"] .site-footer__brand :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])) { margin: 1.25rem 0 0; }
html[lang="lv"] .site-footer .language-switcher--footer { min-height: 2.25rem; }
.site-footer__inner {
  position: relative;
  z-index: 1;
  grid-template-areas:
    "flowkey"
    "navigation"
    "socials"
    "contact"
    "bottom";
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  width: min(calc(100% - 2rem), 79rem);
  margin-inline: auto;
}
.footer-flowkey {
  position: relative;
  grid-area: flowkey;
  min-height: 5.8rem;
  grid-template-columns: auto auto;
  place-content: center;
  gap: 2rem;
  padding: .95rem;
  border-color: rgb(223 193 125 / 18%);
  overflow: hidden;
}
.footer-flowkey p { color: #ab9872; font-size: .8rem; transition: filter 180ms ease, color 180ms ease; }
.footer-flowkey img { width: 7rem; height: 2.8rem; transition: filter 180ms ease; }
.footer-flowkey a::before { position: absolute; z-index: 3; inset: 0; content: ""; cursor: pointer; }
.footer-flowkey a:focus-visible { outline: 0; }
.footer-flowkey a:focus-visible::before { border-radius: .45rem; outline: 2px solid #fff1d0; outline-offset: -.35rem; }
.site-footer__navigation { grid-area: navigation; }
/* Keep the existing mobile/tablet grid items and reading order. */
.site-footer__connect { display: contents; }
/* Keep the navigation above the language anchor visible on short screens. */
.language-switcher--footer { scroll-margin-block-start: min(32rem, calc(100svh - 5rem)); }
.site-footer__socials { grid-area: socials; }
.site-footer__contact { grid-area: contact; }
.site-footer__bottom { grid-area: bottom; }
.site-footer__navigation,
.site-footer__socials,
.site-footer__contact { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.site-footer__navigation { min-width: 0; padding-left: 0; }
.site-footer__socials { flex-wrap: nowrap; justify-content: center; justify-self: center; }
.site-footer__contact { min-width: 0; padding-right: 0; }
.footer-nav__list { gap: .15rem 1.35rem; }
.footer-nav__link { min-height: 1.85rem; white-space: nowrap; }
.footer-nav__link { color: #c6ac77; }
.footer-nav__link:hover { color: #fff1d0; transform: translateX(.15rem); }
.site-footer__socials a { width: 2.3rem; height: 2.3rem; border-color: rgb(223 193 125 / 35%); }
.site-footer__socials a:hover { color: #17120b; background: var(--premium-gold-bright); border-color: var(--premium-gold-bright); transform: translateY(-2px); }
.site-footer__socials a:focus-visible { outline: 2px solid #fff1d0; outline-offset: 3px; }
.site-footer__socials .social-icon { display: block; width: 1.15rem; height: 1.15rem; flex: 0 0 auto; fill: currentColor; }
.site-footer__contact a { color: #ead8b3; white-space: nowrap; }
.site-footer__bottom {
  padding: .8rem 0;
  border-color: rgb(223 193 125 / 18%);
}

@media (min-width: 72rem) {
  .footer-flowkey { min-height: 6.6rem; gap: 1.85rem; padding: 1.1rem; }
  .footer-flowkey p { font-size: .9rem; }
  .footer-flowkey img { width: 8rem; height: 3.2rem; }
  .site-footer__navigation,
  .site-footer__socials,
  .site-footer__contact { padding-top: 1.55rem; padding-bottom: 1.55rem; }
  .footer-nav__list { gap: .25rem 1.55rem; }
  .footer-nav__link { min-height: 2.05rem; font-size: .82rem; }
  .site-footer__socials { gap: .65rem; }
  .site-footer__socials a { width: 2.6rem; height: 2.6rem; font-size: .8rem; }
  .site-footer__contact { width: 17rem; align-items: flex-end; gap: .5rem; justify-self: end; font-size: 1rem; text-align: right; }
  .site-footer__bottom {
    grid-template-columns: minmax(12rem, 1fr) minmax(25rem, 1.4fr) minmax(12rem, 1fr);
    align-items: center;
    gap: 2rem;
    padding-top: .85rem;
    padding-bottom: .85rem;
  }
  .site-footer__tagline,
  .site-footer__company,
  .site-footer__copyright { font-size: .82rem; }
  .site-footer__tagline { padding-left: 8rem; }
  .site-footer__copyright { padding-right: 8rem; }
}

@media (min-width: 40.0001rem) {
  html[lang="lv"] .site-footer__inner { width: min(calc(100% - 4rem), 76rem); }
}

@media (min-width: 40.0001rem) and (max-width: 71.9999rem) {
  .site-footer__inner {
    grid-template-areas:
      "flowkey flowkey"
      "navigation contact"
      "socials socials"
      "bottom bottom";
    grid-template-columns: minmax(0, 1.35fr) minmax(15rem, .65fr);
    column-gap: clamp(2rem, 5vw, 3.5rem);
  }
  .site-footer__navigation { padding-left: 1rem; }
  .site-footer__contact { align-items: flex-end; padding-right: 1rem; justify-self: end; text-align: right; }
  .site-footer__socials { width: 100%; padding-top: 1rem; border-top: 1px solid rgb(223 193 125 / 12%); justify-self: stretch; }
  .site-footer__bottom {
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: .4rem;
    text-align: center;
  }
  .site-footer__company,
  .site-footer__copyright { text-align: center; }
}

/* One desktop layout for every locale and page family. */
@media (min-width: 64rem) {
  html[lang] .site-footer__inner {
    width: min(calc(100% - 4rem), 76rem);
    grid-template-areas: "flowkey flowkey" "navigation connect" "bottom bottom";
    grid-template-columns: minmax(0, 1.8fr) minmax(18rem, 1fr);
    column-gap: clamp(2rem, 4vw, 4rem);
  }
  .site-footer__navigation { gap: 0; padding: 2.5rem 0; }
  .site-footer__navigation .footer-nav__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: .4rem 2rem;
  }
  .site-footer__navigation .footer-nav__list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: .4rem;
  }
  .site-footer__navigation .language-switcher--footer { margin-top: 1.25rem; }
  .site-footer__navigation .footer-nav__link { min-height: 1.85rem; white-space: normal; }
  .site-footer__connect {
    display: flex;
    grid-area: connect;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    align-self: start;
    gap: 1.75rem;
    padding-block: 2.5rem;
  }
  .site-footer__connect .site-footer__socials {
    width: auto;
    padding: 0;
    border: 0;
    align-self: auto;
    gap: .75rem;
  }
  .site-footer__connect .site-footer__contact {
    width: auto;
    padding: 0;
    align-items: center;
    gap: .75rem;
    text-align: center;
  }
  .site-footer__bottom { padding-block: 1.25rem; }
}

@media (max-width: 68rem) {
  .site-header--lv .site-header__inner {
    width: min(calc(100% - 2rem), var(--premium-container));
    grid-template-columns: minmax(7.5rem, 8.35rem) auto;
    min-height: 4.8rem;
    justify-content: space-between;
    gap: 1rem;
    padding-block: .45rem;
  }
  .site-header--lv .site-header__desktop-cluster { display: none; }
  .site-header--lv .site-logo--animated { width: min(100%, 8.35rem); }
  .site-header--lv .mobile-menu-toggle {
    display: inline-flex;
    min-height: 2.9rem;
    justify-self: end;
    padding: .58rem .82rem;
    border: 1px solid rgb(223 193 125 / 34%);
    border-radius: 999px;
    color: #f0ddb6;
    background: rgb(255 255 255 / 2%);
    font-size: .74rem;
    letter-spacing: .055em;
  }
  .site-header--lv .mobile-menu-toggle:hover,
  .site-header--lv .mobile-menu-toggle:focus-visible {
    border-color: rgb(223 193 125 / 64%);
    color: #fff4d2;
    background: rgb(188 149 84 / 10%);
  }
  .site-header--lv .mobile-nav {
    max-height: calc(100dvh - 4.8rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: .6rem 0 1.25rem;
    border-top: 1px solid rgb(223 193 125 / 18%);
    background: linear-gradient(180deg, #0d0c0a 0%, #080706 100%);
    box-shadow: 0 1.2rem 2.8rem rgb(0 0 0 / 34%);
  }
  .site-header--lv .mobile-nav__inner { width: min(calc(100% - 2rem), 43rem); }
  .site-header--lv .mobile-nav__link {
    min-height: 3.15rem;
    padding: .8rem .4rem;
    border-color: rgb(223 193 125 / 14%);
    color: #ead4a7;
  }
  .site-header--lv .mobile-nav__link:hover,
  .site-header--lv .mobile-nav__link:focus-visible { color: #fff; padding-left: .68rem; }
  .site-header--lv .mobile-nav__group-toggle {
    min-height: 3.25rem;
    padding-inline: .4rem;
    border-color: rgb(223 193 125 / 19%);
    color: #f0ddb6;
  }
  .site-header--lv .mobile-nav__submenu {
    padding-left: .8rem;
    border-bottom: 1px solid rgb(223 193 125 / 10%);
  }
  .site-header--lv .mobile-nav__submenu .mobile-nav__link {
    min-height: 2.85rem;
    padding-block: .65rem;
    font-size: .9rem;
  }
  .site-header--lv .mobile-nav__link--disabled:hover { color: #ead4a7; padding-left: .4rem; }
  .site-header--lv .mobile-nav__utility {
    display: grid;
    gap: .8rem;
    padding: 1rem .4rem .2rem;
  }
  .site-header--lv .language-switcher--mobile { display: block; }
  .site-header--lv .language-switcher--mobile .language-switcher__list {
    justify-content: flex-start;
    gap: .75rem;
  }
  .site-header--lv .language-switcher--mobile .language-switcher__link {
    min-width: 2.35rem;
    min-height: 2.35rem;
    justify-content: center;
    border: 1px solid rgb(223 193 125 / 22%);
    border-radius: 999px;
  }
  .site-header--lv .mobile-nav__contacts {
    flex-wrap: wrap;
    gap: .6rem;
    padding-top: .8rem;
    border-top: 1px solid rgb(223 193 125 / 14%);
  }
  .site-header--lv .mobile-nav__contacts .header-contact-action {
    width: 2.5rem;
    height: 2.5rem;
  }
  .site-header--lv .mobile-nav__contacts .header-contact-phone {
    min-height: 2.5rem;
    margin-left: .15rem;
    padding-inline: .85rem;
    font-size: .82rem;
  }
}

@media (max-width: 57.6244rem) {
  .home-card-grid { gap: 1.5rem; }
  .service-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 48rem) {
  :root { --premium-section: clamp(3.5rem, 12vw, 5rem); }
  .home-hero,
  .service-hero,
  .lesson-hero { min-height: 32rem; }
  .home-card-grid,
  .home-feature-grid,
  .service-grid--3,
  .service-grid--4,
  .service-request__grid,
  .lesson-grid--2,
  .trust-services .info-container,
  .teacher-profile__grid,
  .info-video-gallery__grid,
  .contact-form-section__grid,
  .contact-columns,
  .lesson-contact__grid { grid-template-columns: 1fr; }
  .home-card { max-width: none; padding: 0 0 1.7rem; }
  .home-card :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])),
  .home-card p,
  .home-card .home-button { margin-right: 1.4rem; margin-left: 1.4rem; }
  .home-feature-grid article + article { border-left: 1px solid var(--premium-line); }
  .service-request__benefits { padding: 0; }
  .service-form { padding: 1.3rem; }
  .service-page--selection .editorial-block img { width: min(100%, 22rem); }
  .teacher-profile__grid { gap: 2.5rem; }
  .teacher-profile img { width: min(88vw, 21rem); }
  .contact-direct { padding: 1.4rem; }
  .legal-document .info-container { padding: 1.5rem; }
}

@media (max-width: 40rem) {
  .container,
  .home-container,
  .service-container,
  .lesson-container,
  .info-container { width: min(calc(100% - 2rem), var(--premium-container)); }
  .site-header__inner { grid-template-columns: auto auto auto; min-height: 4.45rem; gap: .55rem; }
  .language-switcher--desktop .language-switcher__list { gap: .1rem; }
  .mobile-menu-toggle { padding: .55rem .7rem; }
  .home-hero { min-height: 31rem; padding: 5rem 1rem; }
  .home-hero :is(h1:where(:not([data-heading-display])), :where([data-heading-display="1"])) { font-size: clamp(2rem, 10.5vw, 2.85rem); }
  .service-hero,
  .lesson-hero { min-height: 29rem; padding: 4.5rem 1rem; }
  .service-hero :is(h1:where(:not([data-heading-display])), :where([data-heading-display="1"])),
  .lesson-hero :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])) { font-size: clamp(2rem, 10vw, 2.75rem); }
  .service-title-band__inner,
  .lesson-title-band .lesson-container,
  .info-title-band__inner,
  .home-heading .home-container { flex-direction: column; gap: .65rem; }
  .home-heading .home-eyebrow { margin-bottom: -.2rem; }
  .home-heading :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])),
  .home-heading :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])),
  .service-title-band :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])),
  .service-title-band :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])),
  .lesson-title-band :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])),
  .lesson-title-band :is(h3:where(:not([data-heading-display])), :where([data-heading-display="3"])) { max-width: 20rem; }
  .home-narrative { padding-inline: 1rem; }
  .home-narrative__panel,
  .home-narrative--offer .home-narrative__panel { padding: 1.7rem; }
  .lesson-features article,
  .lesson-pricing article { min-height: 0; padding: 2rem 1.25rem; }
  .privacy-embed { min-height: 17rem; }
  .privacy-embed--map { min-height: 22rem; }
  .contact-carousel { padding: .6rem; }
  .contact-carousel__button { width: 2.8rem; height: 2.8rem; }
  .floating-contact { right: .75rem; bottom: .75rem; }
  .floating-contact__toggle { width: 3.35rem; min-height: 3.35rem; }
  .consent-settings { bottom: .75rem; font-size: .68rem; }
  .consent-banner { right: .65rem; bottom: .65rem; left: .65rem; padding: 1.2rem; }
  .consent-banner__actions,
  .consent-dialog__actions { align-items: stretch; flex-direction: column; }
  .consent-banner button,
  .consent-dialog button { width: 100%; }
  .site-footer__inner {
    grid-template-areas:
      "flowkey"
      "navigation"
      "socials"
      "contact"
      "bottom";
    grid-template-columns: minmax(0, 1fr);
  }
  .site-footer__brand { padding: .85rem 1rem .75rem; }
  .site-footer__brand-link { width: min(100%, 8rem); }
  .site-footer__brand :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])) { max-width: 22rem; margin-top: .5rem; font-size: .67rem; }
  html[lang="lv"] .site-footer__brand { padding: 1.75rem 1rem 1.25rem; }
  html[lang="lv"] .site-footer__brand :is(h2:where(:not([data-heading-display])), :where([data-heading-display="2"])) { margin-top: .875rem; }
  .footer-flowkey { grid-template-columns: 1fr; gap: .35rem; min-height: 5.6rem; }
  .footer-flowkey img { width: 6.5rem; height: 2.6rem; }
  .site-footer__navigation,
  .site-footer__socials,
  .site-footer__contact { padding: .9rem 1rem; }
  .site-footer__socials { width: 100%; border-top: 1px solid rgb(223 193 125 / 12%); border-bottom: 1px solid rgb(223 193 125 / 12%); }
  .footer-nav__link { min-height: 1.8rem; white-space: normal; }
  .site-footer__bottom { gap: .4rem; padding-top: .75rem; padding-bottom: calc(5.75rem + env(safe-area-inset-bottom)); }
}

@media (hover: none) {
  .home-card:hover,
  .service-highlights article:hover,
  .service-feature-cards article:hover,
  .service-process article:hover,
  .service-faq article:hover,
  .lesson-features article:hover,
  .lesson-pricing article:hover { transform: none; }
}

@media (hover: hover) and (pointer: fine) {
  .site-header--lv .header-contact-action:hover,
  .site-header--lv .header-contact-phone:hover {
    border-color: var(--premium-gold-bright);
    color: #17120b;
    background: var(--premium-gold-bright);
  }
  .site-footer__brand-link:hover img { filter: brightness(1.08); }
  .footer-flowkey a::after {
    position: absolute;
    z-index: 2;
    top: 1rem;
    right: 12%;
    bottom: 1rem;
    left: 12%;
    pointer-events: none;
    background: linear-gradient(105deg, transparent 40%, rgb(255 225 154 / 16%) 50%, transparent 60%);
    content: "";
    transform: translateX(-145%);
  }
  .footer-flowkey:has(a:hover) p,
  .footer-flowkey a:hover img { filter: brightness(1.12); }
  .footer-flowkey a:hover::after { animation: flowkey-golden-sweep 620ms ease-out; }

  @keyframes flowkey-golden-sweep {
    from { transform: translateX(-145%); }
    to { transform: translateX(145%); }
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
}

/* Shared animated-logo delivery wrapper; retain existing link/image geometry. */
.brand-logo-picture { display: block; width: 100%; }

/* Luxury minimal header V2 prototype: shared LV header only. */
.site-header--lv { background: #080807; box-shadow: none; border-bottom: 1px solid rgb(207 180 128 / 10%); }
.site-header--lv .site-header__inner { width: min(calc(100% - 4rem), 108rem); min-height: 6rem; padding-block: 0; gap: clamp(1.5rem, 2.8vw, 3.5rem); }
.site-header--lv .site-header__desktop-cluster { display: flex; align-self: center; align-items: center; gap: clamp(1.25rem, 2.2vw, 2.75rem); }
.site-header--lv .desktop-nav { flex: 1; align-self: center; }
.site-header--lv .nav__list { height: auto; gap: clamp(1rem, 2vw, 2.5rem); align-items: center; }
.site-header--lv .nav__item { height: auto; }
.site-header--lv .desktop-nav > .nav__list > .nav__item > .nav__link,
.site-header--lv .desktop-nav > .nav__list > .nav__item > .nav__dropdown-toggle { height: 2.75rem; min-height: 2.75rem; padding-inline: 0; color: #d8c39b; font-size: clamp(.72rem, .88vw, .82rem); font-weight: 500; letter-spacing: .055em; }
.site-header--lv .nav__link::before,
.site-header--lv .nav__dropdown-toggle::before { bottom: .3rem; opacity: .45; }
.site-header--lv .nav__dropdown-toggle::after { width: .3rem; height: .3rem; margin-left: .45rem; border-width: 1px; opacity: .7; }
.site-header--lv .nav__submenu { top: calc(100% + 1rem); border-color: rgb(223 193 125 / 16%); border-radius: .2rem; }
.site-header--lv .site-header__desktop-utilities { min-height: 2.75rem; flex: 0 0 auto; padding: 0; gap: clamp(.8rem, 1.1vw, 1.3rem); }
.site-header--lv .header-contact-actions { gap: .3rem; }
.site-header--lv .header-contact-action { width: 2.25rem; height: 2.75rem; border: 0; border-radius: 0; color: #ad9a78; background: transparent; }
.site-header--lv .header-contact-action svg { width: .9rem; height: .9rem; }
.site-header--lv .header-contact-phone { min-height: 2.75rem; padding: .3rem .15rem; border: 0; border-radius: 0; color: #c7b391; background: transparent; font-weight: 400; font-size: .76rem; letter-spacing: .015em; }
.site-header--lv .language-switcher--desktop { padding-left: 0; border-left: 0; }
.site-header--lv .language-switcher__list { gap: .7rem; }
.site-header--lv .language-switcher__link { min-height: 2.75rem; color: #a49373; font-size: .67rem; font-weight: 500; letter-spacing: .06em; }
.site-header--lv .language-switcher__link::before { display: none; }
.site-header--lv .header-contact-action:hover,
.site-header--lv .header-contact-phone:hover { color: #f0d6a5; background: transparent; transform: none; }
.site-header--lv .header-contact-action:focus-visible,
.site-header--lv .header-contact-phone:focus-visible { color: #f0d6a5; background: transparent; outline: 2px solid #d8c39b; outline-offset: 2px; }
@media (min-width: 68.001rem) and (max-width: 80rem) {
  .site-header--lv .site-header__inner { gap: 1.5rem; }
  .site-header--lv .site-header__desktop-cluster { gap: 1.25rem; }
  .site-header--lv .nav__list { gap: 1rem; }
  .site-header--lv .header-contact-action { width: 1.9rem; }
  .site-header--lv .site-header__desktop-utilities { gap: .8rem; }
}
@media (max-width: 68rem) {
  .site-header--lv .site-header__inner { width: min(calc(100% - 2rem), var(--premium-container)); grid-template-columns: minmax(7.5rem, 8.35rem) auto; min-height: 5.2rem; gap: 1rem; padding-block: .65rem; }
  .site-header--lv .site-header__desktop-cluster { display: none; }
  .site-header--lv .mobile-menu-toggle { min-height: 2.75rem; padding: .5rem .2rem; border: 0; border-radius: 0; color: #d8c39b; background: transparent; letter-spacing: .09em; }
  .site-header--lv .mobile-menu-toggle:hover,
  .site-header--lv .mobile-menu-toggle:focus-visible { color: #fff0d0; background: transparent; }
  .site-header--lv .mobile-nav { max-height: calc(100dvh - 5.2rem); }
  .site-header--lv .mobile-nav__contacts .header-contact-action { width: 2.75rem; height: 2.75rem; }
  .site-header--lv .mobile-nav__contacts .header-contact-phone { min-height: 2.75rem; padding-inline: .3rem; }
}

/* Approved header V2 micro-polish; retain geometry and compact-width spacing. */
.site-header--lv .desktop-nav > .nav__list > .nav__item > .nav__link,
.site-header--lv .desktop-nav > .nav__list > .nav__item > .nav__dropdown-toggle { font-weight: 400; letter-spacing: .07em; }
.site-header--lv .site-header__desktop-utilities .header-contact-action { color: #ad9a78e0; }
.site-header--lv .site-header__desktop-utilities .header-contact-action:hover,
.site-header--lv .site-header__desktop-utilities .header-contact-action:focus-visible { color: #f0d6a5; }
@media (min-width: 80.001rem) {
  .site-header--lv .site-header__desktop-cluster { gap: calc(clamp(1.25rem, 2.2vw, 2.75rem) + 1.75rem); }
  .site-header--lv .header-contact-actions { gap: .45rem; }
  .site-header--lv .site-header__desktop-utilities { gap: calc(clamp(.8rem, 1.1vw, 1.3rem) + .25rem); }
  .site-header--lv .language-switcher--desktop .language-switcher__list { gap: .85rem; }
}

/* Keep privacy settings reachable without covering page content as it scrolls. */
.consent-settings { position: relative; inset: auto; display: block; width: fit-content; min-height: 2.75rem; margin: .5rem 1rem; box-shadow: none; }

/* Desktop-only language disclosure, in the existing utility slot. */
.header-language { position: relative; }
.header-language__toggle {
  display: inline-flex;
  width: 3.5rem;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: .1rem;
  border: 0;
  color: #d8c39b;
  background: transparent;
  font-size: .67rem;
  letter-spacing: .06em;
  cursor: pointer;
}
.header-language__toggle:hover { color: #fff0d0; }
.header-language__toggle svg,
.header-language__check { fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.header-language__globe { width: .9rem; height: .9rem; }
.header-language__code { width: 1rem; flex: none; text-align: center; }
.header-language__arrow { width: .55rem; height: .4rem; transition: transform 150ms ease; }
.header-language__toggle[aria-expanded="true"] .header-language__arrow { transform: rotate(180deg); }
.header-language__panel {
  position: absolute;
  z-index: 5;
  top: calc(100% + 1.8rem);
  right: 0;
  width: 10.5rem;
  padding: .35rem;
  border: 1px solid rgb(223 193 125 / 24%);
  border-radius: .35rem;
  background: #0d0c0a;
  box-shadow: 0 .8rem 1.8rem rgb(0 0 0 / 30%);
}
.header-language__panel:not([hidden]) { animation: header-language-in 150ms ease-out; }
.site-header--lv .header-language__panel .language-switcher__link {
  display: flex;
  width: 100%;
  height: auto;
  min-height: 2.6rem;
  justify-content: space-between;
  gap: .75rem;
  padding: .45rem .65rem;
  border-radius: .2rem;
  color: #d8c39b;
  font-size: .82rem;
  font-weight: 400;
  letter-spacing: .02em;
  text-transform: none;
}
.site-header--lv .header-language__panel .language-switcher__link:is(:hover, :focus-visible, [aria-current="page"]) { color: #fff0d0; background: rgb(188 149 84 / 12%); }
.header-language__check { width: .85rem; height: .85rem; flex-shrink: 0; }
@keyframes header-language-in { from { opacity: 0; transform: translateY(-.25rem); } to { opacity: 1; transform: translateY(0); } }

/* Native main-content anchors/focus clear the unchanged sticky header.
   Footer language anchors retain their existing independent offset. */
:root { --sticky-header-height: calc(6rem + 1px); }
html:has(main:target, main :target, main :focus) {
  scroll-padding-block-start: calc(var(--sticky-header-height) + .75rem);
}
@media (max-width: 68rem) {
  :root { --sticky-header-height: calc(5.2rem + 1px); }
  .site-header--lv .mobile-nav {
    position: absolute;
    top: 100%;
    inset-inline: 0;
    max-height: calc(100dvh - var(--sticky-header-height));
  }
}

/* Reserve both submit labels in the same grid cell to keep the form steady. */
html[lang] :is(.service-page--tuning, .service-page--transport, .info-page--contact-lv) :is(.tuning-enquiry, .transport-quote:where([data-form-inline-status]), .service-form:where(.contact-form-section [data-form-inline-status])) [data-form-submit] {
  display: inline-grid;
  place-items: center;
}
:is(.tuning-enquiry, .transport-quote:where([data-form-inline-status]), .service-form:where(.contact-form-section [data-form-inline-status])) [data-form-submit] > span { grid-area: 1 / 1; }
.tuning-enquiry__sending {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  visibility: hidden;
}
.tuning-enquiry__sending::before {
  content: "";
  flex: none;
  width: .85em;
  height: .85em;
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  border-radius: 50%;
}
:is(.tuning-enquiry, .transport-quote:where([data-form-inline-status]), .service-form:where(.contact-form-section [data-form-inline-status])) .is-sending > span:first-child { visibility: hidden; }
:is(.tuning-enquiry, .transport-quote:where([data-form-inline-status]), .service-form:where(.contact-form-section [data-form-inline-status])) .is-sending .tuning-enquiry__sending { visibility: visible; }
@media (prefers-reduced-motion: no-preference) {
  :is(.tuning-enquiry, .transport-quote:where([data-form-inline-status]), .service-form:where(.contact-form-section [data-form-inline-status])) .is-sending .tuning-enquiry__sending::before {
    animation: tuning-submit-spin .8s linear infinite;
  }
}
@keyframes tuning-submit-spin { to { transform: rotate(1turn); } }

html[lang] :is(.service-page--tuning, .service-page--transport, .info-page--contact-lv) :is(.service-request, .contact-form-section) :is(.tuning-enquiry, .transport-quote:where([data-form-inline-status]), .service-form:where(.contact-form-section [data-form-inline-status])) .is-sending + .service-form__status:not(:empty) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
}
html[lang] :is(.service-page--tuning, .service-page--transport, .info-page--contact-lv) :is(.service-request, .contact-form-section) :is(.tuning-enquiry, .transport-quote:where([data-form-inline-status]), .service-form:where(.contact-form-section [data-form-inline-status])) .service-form__status.is-accepted:not(:empty) {
  color: #254b32;
  border-color: #4c7658;
  background: #eaf2e9;
  display: flex;
  align-items: center;
  gap: .55rem;
}
:is(.tuning-enquiry, .transport-quote:where([data-form-inline-status]), .service-form:where(.contact-form-section [data-form-inline-status])) .service-form__status.is-accepted::before {
  content: "";
  width: .4rem;
  height: .7rem;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  flex: none;
}

/* Keep the home contact control in the sticky header at compact widths. */
@media (max-width: 68rem) {
  .page--home .site-header--lv .site-header__inner:has(> .floating-contact) {
    grid-template-columns: minmax(0, 8.35rem) 1fr auto auto;
    column-gap: .65rem;
  }
  .page--home .site-header__inner > .floating-contact {
    position: relative;
    inset: auto;
    grid-column: 3;
  }
  .page--home .site-header__inner > .floating-contact .floating-contact__toggle {
    width: 3.35rem;
    min-height: 3.35rem;
    padding: 0;
    justify-content: center;
  }
  .page--home .site-header__inner > .floating-contact .floating-contact__toggle span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .page--home .site-header__inner > .floating-contact .floating-contact__menu {
    position: absolute;
    top: calc(100% + .5rem);
    right: 0;
  }
}
.page--home .floating-contact__toggle:focus-visible {
  outline: 2px solid #ead6ad;
  outline-offset: 3px;
}
