:root {
  color-scheme: dark;
  --white: #fff;
  --background: #100b1d;
  --panel: #0b0815;
}
* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--background);
  color: var(--white);
  font-family: 'Poppins', Arial, sans-serif;
}
img { max-width: 100%; }
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.content-width { width: min(100% - 48px, 1280px); margin: 0 auto; }

.site-header {
  position: fixed;
  z-index: 20;
  left: 0;
  right: 0;
  top: 0;
  background: transparent;
  transition: background .3s ease, box-shadow .3s ease;
}
.site-header.is-scrolled { background: #08060d; box-shadow: 0 8px 30px rgba(0,0,0,.24); }
.header-inner {
  width: min(100% - 48px, 1280px);
  margin: auto;
  min-height: 99px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand { display: flex; align-items: center; flex: none; }
.brand img { display: block; width: 73px; height: auto; }
.navigation { display: flex; align-items: center; gap: clamp(16px,2.25vw,33px); }
.navigation > a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .025em;
  white-space: nowrap;
  transition: opacity .2s;
}
.navigation > a:hover { opacity: .74; }
.navigation .whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 15px;
  border-radius: 4px;
  background: #fff;
  color: #1d1130;
  font-size: 12px;
  font-weight: 700;
}
.whatsapp svg { width: 19px; height: 19px; }
.language-switch { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.language-switch button {
  border: 0;
  background: none;
  padding: 4px 0;
  color: rgba(255,255,255,.52);
  font: 600 12px Poppins,Arial,sans-serif;
  cursor: pointer;
}
.language-switch button.active { color: #fff; }
.language-switch span { font-size: 12px; color: rgba(255,255,255,.5); }
.menu-toggle { display: none; }

.hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 90vh;
  min-height: 90svh;
  overflow: hidden;
  background-color: var(--background);
  background-image: url('assets/hero-background.webp');
  background-position: center 28%;
  background-repeat: no-repeat;
  background-size: cover;
}
.hero::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(16,11,29,0) 0%, rgba(16,11,29,0) 68%, rgba(13,11,21,.45) 83%, rgba(13,11,21,.84) 93%, #0d0b15 100%),
    linear-gradient(90deg, rgba(9,7,19,.25) 0%, rgba(9,7,19,.07) 44%, transparent 72%);
}
.hero__content {
  width: min(100% - 48px, 1280px);
  margin: 0 auto;
  padding: 110px 0 76px;
}
.hero__eyebrow {
  margin: 0 0 12px 5px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .035em;
  line-height: 1.6;
  color: #fff;
}
.hero__title {
  display: flex;
  flex-direction: column;
  width: max-content;
  max-width: 100%;
  margin: 0;
  font-size: clamp(76px, 9.1vw, 148px);
  font-weight: 900;
  letter-spacing: -.075em;
  line-height: .91;
  text-transform: uppercase;
}
.hero__title span { display: block; }

.hero__side {
  position: fixed;
  z-index: 16;
  top: 50%;
  display: block;
  padding: 25px 13px;
  background: rgba(8, 5, 16, .93);
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .115em;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
  writing-mode: vertical-rl;
}
.hero__side strong { font-weight: 800; }
.hero__side--left {
  left: calc(1.25em + 26px);
  transform: translateY(-50%) rotate(180deg);
}
.hero__side--right {
  right: calc(1.25em + 26px);
  transform: translateY(-50%);
}

.services {
  position: relative;
  margin-top: -72px;
  padding: 0 0 110px;
  z-index: 4;
}
.services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.service-card {
  position: relative;
  min-height: 500px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px 20px 18px;
  overflow: hidden;
  background-color: #161022;
  background-position: center 28%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 3px;
  box-shadow: 0 22px 40px rgba(0,0,0,.18);
  isolation: isolate;
}
.service-card__top {
  position: relative;
  z-index: 1;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1;
}
.service-card__bottom {
  position: relative;
  z-index: 1;
}
.service-card__title {
  margin: 0 0 18px;
  font-size: clamp(28px, 2.7vw, 40px);
  font-weight: 800;
  line-height: .96;
  letter-spacing: -.04em;
  text-transform: uppercase;
}
.service-card__line {
  width: 100%;
  height: 2px;
  background: rgba(255,255,255,.94);
  margin-bottom: 16px;
}
.service-card__meta {
  min-height: 22px;
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
}
.service-card {
  transition: transform .26s ease, box-shadow .26s ease;
}
.service-card__overlay { display: none; }
.service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(0,0,0,.28);
}

@media (max-width: 1200px) {
  .services__grid, .services__grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-card, .service-card--wide { min-height: 470px; }
}
@media (max-width: 880px) {
  .header-inner { min-height: 78px; width: min(100% - 40px, 1280px); }
  .brand img { width: 59px; }
  .menu-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .menu-toggle span { display: block; width: 24px; height: 2px; background: white; transition: transform .2s,opacity .2s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(8px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-8px) rotate(-45deg); }
  .navigation {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 24px max(20px, calc((100vw - 1280px) / 2));
    background: #08060d;
    flex-direction: column;
    align-items: stretch;
    gap: 22px;
    box-shadow: 0 12px 20px rgba(0,0,0,.25);
  }
  .navigation.is-open { display: flex; }
  .navigation > a { font-size: 15px; }
  .navigation .whatsapp { align-self: flex-start; }

  .hero__media { background-position: 57% center; }
  .hero__content { width: min(100% - 40px, 650px); padding-block: 105px 65px; }
  .hero__title { font-size: clamp(64px, 13vw, 110px); }
  .hero::before { background: linear-gradient(180deg, rgba(16,11,29,0) 0%, rgba(16,11,29,0) 70%, rgba(13,11,21,.52) 86%, #0d0b15 100%), linear-gradient(90deg, rgba(9,7,19,.6), rgba(9,7,19,.12)); }
  .hero__side { font-size: 16px; padding: 18px 8px; letter-spacing: .07em; }
  .hero__side--left { left: calc(1.25em + 16px); }
  .hero__side--right { right: calc(1.25em + 16px); }
  .hero__content { padding-inline: 28px; }
  .services { margin-top: -54px; padding-bottom: 90px; }
}
@media (max-width: 720px) {
  .services__grid, .services__grid--three { grid-template-columns: 1fr; gap: 14px; }
  .service-card, .service-card--wide { min-height: 430px; }
}
@media (max-width: 540px) {
  .content-width { width: min(100% - 24px, 1280px); }
  .hero { align-items: flex-end; }
  .hero__media { background-position: 58% center; }
  .hero__content { padding-bottom: 55px; padding-top: 120px; }
  .hero__eyebrow { margin-left: 2px; font-size: 16px; max-width: 290px; }
  .hero__title { font-size: clamp(61px, 16vw, 86px); letter-spacing: -.07em; }
  .hero::before { background: linear-gradient(0deg, #0d0b15 0%, rgba(13,11,21,.86) 16%, rgba(16,11,29,.18) 64%, rgba(16,11,29,.08) 100%); }
  .hero__side { font-size: 16px; padding: 11px 5px; letter-spacing: .035em; }
  .hero__side--left { left: calc(1.25em + 10px); }
  .hero__side--right { right: calc(1.25em + 10px); }
  .hero__content { padding-inline: 14px; }
  .services { margin-top: -28px; }
  .service-card { min-height: 390px; padding: 18px 16px; }
  .service-card__title { font-size: clamp(28px, 8vw, 40px); margin-bottom: 16px; }
  .service-card__meta { font-size: 13px; min-height: 18px; }
}
@media (prefers-reduced-motion: no-preference) {
  .hero__content { animation: fade-up .8s ease-out both; }
  .service-card { animation: fade-up .9s ease-out both; }
  @keyframes fade-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}


.services__grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-card--wide { min-height: 500px; }
.service-card--wide .service-card__title { max-width: 92%; }

/* v12: Bily stitek s cernym textem nad jmenem */
.hero__eyebrow {
  display: table;
  width: fit-content;
  max-width: 100%;
  padding: 5px 12px;
  background: #fff;
  color: #111;
  border-radius: 2px;
  font-size: 16px;
  line-height: 1.45;
}

/* v13 — Scroll parallax HERO (only the image, not the text). */
.hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url('assets/hero-background.webp') center center / cover no-repeat;
  background-position: center calc(50% + var(--hero-parallax, 0px));
  pointer-events: none;
}
.hero__content { position: relative; z-index: 1; }

/* v13 — Subtle internal image zoom, text remains stationary. */
.service-card__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-position: center 28%;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1);
  transition: transform .75s cubic-bezier(.18,.65,.2,1);
  pointer-events: none;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .service-card:hover .service-card__image { transform: scale(1.065); }
}

/* v13 — WhatsApp: recognizable icon and animated action. */
.navigation .whatsapp {
  gap: 9px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 5px;
  padding: 11px 15px;
  background: #fff;
  color: #13271d;
  box-shadow: 0 4px 15px rgba(0,0,0,.08);
  transition: background .22s ease, color .22s ease, box-shadow .25s ease, transform .25s ease;
}
.navigation .whatsapp svg { width: 20px; height: 20px; color: #21b65b; flex: none; }
.navigation .whatsapp:hover,
.navigation .whatsapp:focus-visible {
  opacity: 1;
  background: #25d366;
  color: #092215;
  box-shadow: 0 8px 24px rgba(37,211,102,.3);
  transform: translateY(-2px);
}
.navigation .whatsapp:hover svg,
.navigation .whatsapp:focus-visible svg { color: #092215; }
@media (prefers-reduced-motion: reduce) {
  .hero__media { background-position: center center !important; }
  .service-card__image, .navigation .whatsapp { transition: none !important; }
}

/* O MNE: typographic only, no additional portrait. */
.about { padding: clamp(95px, 10vw, 155px) 0 clamp(105px, 11vw, 165px); background: #100b1d; }
.about__inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(45px, 6vw, 95px); align-items: start; }
.about__heading h2 { font-size: clamp(60px, 7.8vw, 110px); line-height: .96; letter-spacing: -.065em; font-weight: 800; margin: 0 0 35px; }
.about__rule { height: 3px; width: 90px; background: white; }
.about__copy { max-width: 640px; }
.about__copy p { font-size: 16px; line-height: 1.9; color: rgba(255,255,255,.72); margin: 0 0 26px; }
.about__copy p:last-child { margin-bottom: 0; }
.about__copy .about__lead { font-size: clamp(23px,2.4vw,31px); line-height: 1.48; color: #fff; font-weight: 600; letter-spacing: -.025em; margin-bottom: 35px; }
@media (max-width: 800px) { .about__inner { grid-template-columns: 1fr; gap: 40px; } .about { padding: 90px 0 110px; } }
@media (max-width: 540px) { .about { padding: 70px 0 90px; } .about__heading h2 { font-size: 58px; margin-bottom: 24px; } .about__copy p { font-size: 15px; line-height: 1.8; } }

/* Důstojná vzpomínka na konci sekce O MNĚ. */
/* Personal tribute integrated into the website typography. */
.remembrance { padding-top: clamp(68px, 8vw, 108px); }
.remembrance__card {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 52px) 0 clamp(20px, 3vw, 40px);
  border-top: 1px solid rgba(255,255,255,.3);
}
.remembrance__card::before {
  content: '';
  position: absolute;
  top: -2px;
  left: 0;
  width: 95px;
  height: 3px;
  background: #fff;
}
.remembrance__text {
  max-width: 950px;
  margin: 0;
  color: rgba(255,255,255,.84);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: -.025em;
}
.remembrance__text strong { color: #fff; font-weight: 700; }
@media (max-width: 540px) {
  .remembrance { padding-top: 60px; }
  .remembrance__card { padding-top: 28px; }
  .remembrance__text { font-size: 17px; line-height: 1.75; }
}

/* v22: Services follow the About section instead of overlapping HERO. */
.services { margin-top: 0; padding-top: 0; }

/* Shared WAV demo player. */
.music-player { color:#fff; font-family: 'Poppins', Arial, sans-serif; }
.music-player--hero { width:min(100%,620px); margin-top:35px; }
.music-player__eyebrow { font-size:13px; font-weight:600; letter-spacing:.09em; margin:0 0 15px; color:rgba(255,255,255,.87); }
.music-player__body, .music-player__dock-inner { display:flex; align-items:center; gap:18px; }
.music-player__toggle { width:52px; height:52px; flex:0 0 52px; background:#fff; color:#101019; border:0; border-radius:50%; display:grid; place-items:center; cursor:pointer; transition:background .2s,transform .2s; }
.music-player__toggle:hover { background:#eee; transform:scale(1.04); }
.music-player__toggle svg { width:22px; height:22px; }
.music-player__toggle .pause-symbol { display:none; }
.music-player.is-playing .music-player__toggle .play-symbol { display:none; }
.music-player.is-playing .music-player__toggle .pause-symbol { display:block; }
.music-player__details { flex:1; min-width:0; }
.music-player__track { font-size:15px; font-weight:700; line-height:1.4; margin-bottom:11px; }
.music-player__track span { font-weight:400; color:rgba(255,255,255,.69); margin-left:8px; white-space:nowrap; }
.music-player__timeline { display:flex; align-items:center; gap:12px; min-width:0; }
.music-player__waveform { height:34px; display:flex; align-items:center; flex:1; gap:2px; cursor:pointer; touch-action:pan-y; outline-offset:3px; overflow:hidden; }
.music-player__waveform .wave-bar { flex:1 1 0; min-width:1px; max-width:5px; background:rgba(255,255,255,.38); height:calc(var(--level)*100%); min-height:3px; border-radius:2px; pointer-events:none; }
.music-player__waveform .wave-bar.is-played { background:#fff; }
.music-player__time { white-space:nowrap; font-size:11px; color:rgba(255,255,255,.72); font-variant-numeric:tabular-nums; }
.music-player--dock { position:fixed; z-index:30; bottom:0; left:0; right:0; background:rgba(10,8,18,.97); border-top:1px solid rgba(255,255,255,.14); box-shadow:0 -12px 45px rgba(0,0,0,.32); transform:translateY(110%); visibility:hidden; transition: transform .32s ease,visibility .32s; }
.music-player--dock.is-visible { transform:translateY(0); visibility:visible; }
.music-player__dock-inner { max-width:1280px; margin:auto; padding:16px 24px; }
.music-player--dock .music-player__toggle { width:44px; height:44px; flex-basis:44px; }
.music-player--dock .music-player__track { margin-bottom:5px; font-size:13px; }
.music-player--dock .music-player__waveform { height:25px; }
@media(max-width:680px) {
 .music-player--hero { margin-top:24px; }
 .music-player__body { gap:12px; }
 .music-player__toggle { width:44px; height:44px; flex-basis:44px; }
 .music-player__track { font-size:12px; margin-bottom:7px; }
 .music-player__track span { display:block; margin-left:0; font-size:11px; }
 .music-player__time { font-size:10px; }
 .music-player__timeline { gap:7px; }
 .music-player__dock-inner { gap:12px; padding:11px 18px; }
 .music-player__waveform { gap:1px; }
}
@media(prefers-reduced-motion:reduce){.music-player--dock,.music-player__toggle{transition:none}}

/* v24: three service cards immediately below hero */
.services { margin-top:0; padding:105px 0 110px; background:#100b1d; }
.services__heading { margin:0 0 40px; font-size:clamp(42px,5vw,66px); font-weight:800; line-height:1.06; letter-spacing:-.055em; }
/* Allow small audio-reactive movement without moving the seek target or layout. */
.music-player__waveform .wave-bar { transform-origin:center; transform:scaleY(var(--pulse,1)); will-change:transform; }
@media(max-width:800px) { .services { padding-top:85px; } .services__heading { margin-bottom:30px; } }
@media(max-width:540px) { .services { padding-top:65px; } .services__heading { margin-bottom:25px; } }
@media(prefers-reduced-motion:reduce) { .music-player__waveform .wave-bar { transform:none !important; will-change:auto; } }

/* v31: Subtle slow ambient colour movement behind the sections below HERO. */
main {
  background-color: #0d0b15;
  background-image:
    linear-gradient(180deg, #0d0b15 0px, rgba(13,11,21,.98) 85px, rgba(13,11,21,.55) 190px, rgba(13,11,21,0) 360px),
    radial-gradient(ellipse 75% 42% at 20% 28%, rgba(34, 55, 121, .27), transparent 72%),
    radial-gradient(ellipse 68% 48% at 83% 62%, rgba(81, 39, 130, .23), transparent 74%),
    radial-gradient(ellipse 78% 50% at 48% 89%, rgba(9, 18, 42, .34), transparent 76%);
  background-size: 100% 100%, 145% 145%, 155% 155%, 135% 135%;
  background-position: center top, 15% 20%, 90% 55%, 40% 90%;
  background-repeat: no-repeat;
  animation: ambient-colors 48s ease-in-out infinite alternate;
}
/* The content sections reveal the shared animated backdrop, not hard color blocks. */
main > .services,
main > .about { background: transparent; }
@keyframes ambient-colors {
  0%   { background-position: center top, 15% 20%, 90% 55%, 40% 90%; }
  28%  { background-position: center top, 42% 35%, 68% 38%, 62% 77%; }
  62%  { background-position: center top, 73% 55%, 30% 68%, 24% 48%; }
  100% { background-position: center top, 22% 75%, 82% 25%, 66% 40%; }
}
@media (prefers-reduced-motion: reduce) {
  main { animation: none; }
}

/* v33: one shared background underneath HERO and subsequent sections.
   Fade the actual HERO image out, instead of fading it to an opaque rectangle. */
.hero { background-image: none; background-color: transparent; }
.hero__media {
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 63%, rgba(0,0,0,.88) 72%, rgba(0,0,0,.55) 85%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 63%, rgba(0,0,0,.88) 72%, rgba(0,0,0,.55) 85%, transparent 100%);
}
.hero::before {
  background:
    linear-gradient(to bottom, transparent 0%, transparent 63%, rgba(7,6,16,.12) 80%, transparent 100%),
    linear-gradient(90deg, rgba(9,7,19,.25), rgba(9,7,19,.07) 44%, transparent 72%);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 68%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 68%, transparent 100%);
}
@media (max-width: 800px) {
  .hero::before {
    background: linear-gradient(90deg, rgba(9,7,19,.58), rgba(9,7,19,.10));
  }
}
@media (max-width: 540px) {
  .hero::before {
    background: linear-gradient(to top, rgba(9,7,19,.40), rgba(9,7,19,.10) 75%);
  }
}

/* Vzpominka je soucasti sekce O MNE, zvyraznena klidnym fialovym tonem. */
.remembrance { padding-top: clamp(44px, 6vw, 78px); }
.remembrance__card {
  display: flex;
  align-items: center;
  gap: 27px;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(25px, 3vw, 39px);
  border: 1px solid rgba(170, 124, 210, .26);
  border-radius: 12px;
  background: linear-gradient(118deg, rgba(81, 41, 112, .40), rgba(41, 24, 69, .45) 68%, rgba(28, 19, 52, .36));
  box-shadow: 0 16px 50px rgba(0, 0, 0, .10);
}
.remembrance__icon {
  flex: 0 0 57px;
  width: 57px;
  height: 57px;
  display: grid;
  place-items: center;
  color: #cfa8f3;
  background: rgba(180, 127, 228, .11);
  border: 1px solid rgba(207, 168, 243, .24);
  border-radius: 50%;
}
.remembrance__icon svg { display: block; width: 39px; height: 39px; }
.remembrance__text { margin: 0; color: rgba(255,255,255,.87); font-size: 16px; line-height: 1.85; font-weight: 400; }
.remembrance__text strong { color: #fff; font-weight: 700; }
@media (max-width: 650px) {
  .remembrance__card { align-items: flex-start; gap: 17px; padding: 23px 18px; }
  .remembrance__icon { flex-basis: 40px; width: 40px; height: 40px; }
  .remembrance__icon svg { width: 29px; height: 29px; }
  .remembrance__text { font-size: 15px; line-height: 1.78; }
}

/* v36: restrained memorial beneath the two-column About content */
.remembrance-wrap { padding-top: clamp(48px, 6vw, 78px); }
.remembrance { padding-top: 0; }
.remembrance__card {
  max-width: 100%;
  padding: 25px 30px;
  gap: 22px;
  border-radius: 9px;
  border: 1px solid rgba(165, 118, 210, .18);
  background: linear-gradient(110deg, rgba(69, 39, 96, .27), rgba(41, 26, 69, .25) 55%, rgba(27, 20, 51, .22));
  box-shadow: none;
}
.remembrance__icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  color: #c5a2dc;
  background: transparent;
  border: 0;
}
.remembrance__icon svg { width: 28px; height: 28px; }
.remembrance__text { font-size: 15px; line-height: 1.8; }
@media (max-width: 650px) {
  .remembrance__card { padding: 20px; gap: 12px; }
  .remembrance__icon { flex-basis: 30px; width: 30px; height: 30px; }
  .remembrance__icon svg { width: 23px; height: 23px; }
}


/* v38: intro copy above services and clickable cards to dedicated detail pages */
.services__intro {
  max-width: 780px;
  margin: 0 0 46px;
  color: rgba(255,255,255,.78);
  font-size: clamp(18px, 2.05vw, 22px);
  line-height: 1.72;
}
.service-card__hit {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  overflow: hidden;
  text-indent: -9999px;
}
.service-card__hit:focus-visible {
  outline: 2px solid rgba(255,255,255,.95);
  outline-offset: -4px;
}
@media(max-width:800px) {
  .services__intro { margin-bottom: 34px; }
}
@media(max-width:540px) {
  .services__intro { font-size: 16px; margin-bottom: 28px; }
}

/* v38: dedicated service detail pages */
body.inner-page .hero__side { display: none; }
.page-hero {
  position: relative;
  min-height: 72vh;
  min-height: 72svh;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  isolation: isolate;
}
.page-hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 70%, rgba(0,0,0,.5) 88%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 70%, rgba(0,0,0,.5) 88%, transparent 100%);
}
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(8,7,18,.14) 0%, rgba(8,7,18,.28) 40%, rgba(8,7,18,.58) 72%, rgba(8,7,18,.08) 100%),
    linear-gradient(90deg, rgba(7,6,16,.72) 0%, rgba(7,6,16,.18) 48%, rgba(7,6,16,.5) 100%);
}
.page-hero__content {
  width: min(100% - 48px, 1280px);
  margin: 0 auto;
  padding: 155px 0 88px;
}
.page-hero__eyebrow {
  margin: 0 0 18px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.88);
}
.page-hero__title {
  margin: 0;
  max-width: 760px;
  font-size: clamp(54px, 7.4vw, 118px);
  line-height: .94;
  font-weight: 900;
  letter-spacing: -.06em;
  text-transform: uppercase;
}
.page-section-spacer {
  height: clamp(70px, 12vh, 130px);
}
@media (max-width: 800px) {
  .page-hero { min-height: 62vh; min-height: 62svh; }
  .page-hero__content { padding: 132px 0 70px; }
}
@media (max-width: 540px) {
  .page-hero__content { width: min(100% - 32px, 1280px); padding: 118px 0 52px; }
  .page-hero__eyebrow { font-size: 12px; margin-bottom: 12px; }
  .page-hero__title { font-size: clamp(40px, 13vw, 64px); }
  .page-section-spacer { height: 70px; }
}

/* v39: compact detail heroes, deliberately no extra zoom */
.page-hero { min-height: 50vh; min-height: 50svh; }
.page-hero__content { padding: 112px 0 45px; }
@media (max-width: 800px) { .page-hero { min-height: 50vh; min-height: 50svh; } .page-hero__content { padding: 105px 0 42px; } }
@media (max-width: 540px) { .page-hero__content { padding: 105px 0 35px; } }

/* v39: restrained translucent player with its own full frame */
.music-player--hero {
  width: min(100%, 730px);
  margin-top: 56px;
  padding: 21px 24px 23px;
  background: linear-gradient(125deg, rgba(32,39,75,.49), rgba(39,24,66,.49));
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.08);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.music-player--hero .music-player__eyebrow { margin-bottom: 16px; }
@media(max-width:680px) {
  .music-player--hero { margin-top: 34px; padding: 17px 16px; }
}
/* The short underline belongs directly beneath the O MNE heading. */

/* v39: expanded fourth service, separate from the three cards */
.release-feature { padding: 30px 0 125px; }
.release-feature__inner {
  display: grid;
  grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr);
  gap: clamp(40px,7vw,90px);
  align-items: center;
}
.release-feature__visual {
  width: 100%;
  min-height: 450px;
  border-radius: 5px;
  background: url('assets/release-servis-future.webp') center center / cover no-repeat;
  box-shadow: 0 20px 65px rgba(0,0,0,.16);
}
.release-feature__number { display: inline-block; margin-bottom: 22px; color: rgba(255,255,255,.65); font-size:16px; font-weight:700; letter-spacing:.1em; }
.release-feature h2 { margin:0 0 30px; font-size:clamp(48px,5.6vw,76px); line-height:1.04; letter-spacing:-.052em; font-weight:800; }
.release-feature p { font-size:16px; line-height:1.85; color:rgba(255,255,255,.75); margin:0 0 20px; }
.release-feature .release-feature__lead { font-size:clamp(20px,2.1vw,26px); line-height:1.5; font-weight:600; color:#fff; }
@media(max-width:850px) {
  .release-feature__inner { grid-template-columns:1fr; gap:32px; }
  .release-feature__visual { min-height:330px; }
  .release-feature { padding:10px 0 95px; }
}
@media(max-width:540px) { .release-feature__visual { min-height:230px; } .release-feature h2 { font-size:46px; } }

/* v40: four equal service cards */
.services__grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.services__grid--four .service-card { padding: 20px 17px 16px; min-width: 0; }
.services__grid--four .service-card__title { font-size: clamp(27px, 2.3vw, 40px); overflow-wrap: anywhere; }
@media (max-width: 1099px) {
 .services__grid--four { grid-template-columns: repeat(2, minmax(0,1fr)); }
 .services__grid--four .service-card { min-height: 460px; }
 .services__grid--four .service-card__title { font-size: clamp(28px, 4vw, 40px); }
}
@media (max-width: 650px) {
 .services__grid--four { grid-template-columns: minmax(0,1fr); }
 .services__grid--four .service-card { min-height: 410px; }
 .services__grid--four .service-card__title { font-size: clamp(28px, 8vw, 40px); }
}

/* v42: album artwork inside both players */
.music-player__cover{display:block;width:76px;height:76px;flex:0 0 76px;object-fit:cover;border-radius:7px;box-shadow:0 5px 18px rgba(0,0,0,.3)}
.music-player--dock .music-player__cover{width:48px;height:48px;flex-basis:48px;border-radius:5px}
@media(max-width:540px){.music-player--hero .music-player__cover{width:58px;height:58px;flex-basis:58px}.music-player--dock .music-player__cover{width:42px;height:42px;flex-basis:42px}}

/* v43: stacked release artwork above the player controls */
.music-player--hero { width:min(100%,730px); }
.music-player--hero .music-player__eyebrow { display:table; margin-bottom:12px; font-size:13px; }
.music-player__hero-art { display:block; width:240px; max-width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:7px; margin:0 0 22px; box-shadow:0 12px 32px rgba(0,0,0,.3); }
.music-player--hero .music-player__body { width:100%; }
@media(max-width:540px){ .music-player__hero-art { width:220px; margin-bottom:18px; } }


/* v44: refined release player, with the new official artwork */
.music-player--hero {
  width: min(100%, 384px);
  margin-top: 32px;
  padding: 19px 20px 20px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 18px;
  background: linear-gradient(145deg,rgba(25,35,65,.78),rgba(30,18,51,.82));
  box-shadow: 0 20px 65px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.11);
  -webkit-backdrop-filter: blur(22px);backdrop-filter:blur(22px);
}
.music-player--hero .music-player__eyebrow {
  display:block;margin:0 0 14px;
  font-size:12px;letter-spacing:.105em;font-weight:700;
  color:rgba(255,255,255,.87);
}
.music-player--hero .music-player__hero-art {
  display:block;width:100%;height:clamp(145px,20vh,195px);
  max-width:none;aspect-ratio:auto;object-fit:cover;object-position:center 42%;
  margin:0 0 17px;border-radius:10px;
  box-shadow:0 12px 25px rgba(0,0,0,.27);
}
.music-player--hero .music-player__body { gap:13px;align-items:center; }
.music-player--hero .music-player__toggle {
  width:48px;height:48px;flex:0 0 48px;
  background:linear-gradient(135deg,#fff,#e8e4ff);color:#161027;
  box-shadow:0 5px 20px rgba(0,0,0,.24);
}
.music-player--hero .music-player__toggle:hover { background:#fff;transform:scale(1.065); }
.music-player--hero .music-player__track {
  font-size:14px;font-weight:700;letter-spacing:-.02em;margin-bottom:9px;
}
.music-player--hero .music-player__track span {
  display:block;margin:3px 0 0;font-size:11px;letter-spacing:.015em;
  font-weight:500;color:rgba(255,255,255,.62);
}
.music-player--hero .music-player__timeline {gap:9px;}
.music-player--hero .music-player__waveform {height:28px;gap:2px;}
.music-player--hero .music-player__waveform .wave-bar {
  background:rgba(208,194,243,.40);border-radius:3px;transition:background-color .12s;
}
.music-player--hero .music-player__waveform .wave-bar.is-played {background:#d9b0f5;}
.music-player--hero .music-player__time {font-size:10px;color:rgba(255,255,255,.68);}
.music-player--dock {background:rgba(14,11,27,.90);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);}
.music-player--dock .music-player__cover {border-radius:7px;}
.music-player--dock .music-player__waveform .wave-bar.is-played {background:#d9b0f5;}
@media(max-width:680px) {
 .music-player--hero {width:min(100%,350px);margin-top:24px;padding:15px;border-radius:14px;}
 .music-player--hero .music-player__hero-art {height:150px;margin-bottom:13px;}
 .music-player--hero .music-player__toggle {width:43px;height:43px;flex-basis:43px;}
 .music-player--hero .music-player__track {font-size:13px;}
}

/* v45: compact horizontal hero player */
.music-player--hero {width:min(100%,500px);margin-top:24px;padding:12px 15px 14px;border-radius:15px;}
.music-player--hero .music-player__eyebrow {font-size:11px;letter-spacing:.09em;margin:0 0 10px;}
.music-player--hero .music-player__body {display:flex;gap:12px;align-items:center;}
.music-player--hero .music-player__hero-art {width:70px;height:70px;flex:0 0 70px;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:9px;margin:0;box-shadow:none;}
.music-player--hero .music-player__toggle {width:42px;height:42px;flex:0 0 42px;}
.music-player--hero .music-player__track {font-size:12px;margin-bottom:6px;}
.music-player--hero .music-player__track span {font-size:10px;margin-top:1px;}
.music-player--hero .music-player__waveform {height:22px;}
.music-player--hero .music-player__time {font-size:10px;}
.page-transition {position:fixed;inset:0;z-index:999;pointer-events:none;opacity:0;background:#080610;transition:opacity .24s ease-in-out;}
.page-transition.is-dark {opacity:1;}
@media(max-width:540px){
 .music-player--hero {width:min(100%,420px);margin-top:22px;padding:11px;}
 .music-player--hero .music-player__hero-art {width:54px;height:54px;flex-basis:54px;}
 .music-player--hero .music-player__body {gap:8px;}
 .music-player--hero .music-player__toggle {width:37px;height:37px;flex-basis:37px;}
 .music-player--hero .music-player__timeline {gap:5px;}
 .music-player--hero .music-player__track {font-size:11px;}
}
@media(prefers-reduced-motion:reduce){.page-transition{transition:none}}

/* v47: independent release label and authentic audio waveform in both players */
.hero__release-label {
  margin: 25px 0 9px; color:rgba(255,255,255,.90);
  font-family:'Poppins',Arial,sans-serif; font-size:13px;
  font-weight:700; letter-spacing:.085em; line-height:1.4;
}
.music-player--hero { margin-top:0; }
.music-player__waveform { position:relative; overflow:hidden; }
.music-player__waveform .wave-bar {
  transform:none !important; will-change:auto; transition:background-color .1s ease;
  background:rgba(216,208,238,.45); min-height:2px;
}
.music-player__waveform .wave-bar.is-played { background:#d9b0f5; }
.music-player__waveform:focus-visible { outline:2px solid #d9b0f5; outline-offset:3px; border-radius:3px; }
@media(max-width:540px) { .hero__release-label {margin-top:18px;font-size:11px;} }

/* v48: seamless real-audio waveform, not separated bars */
.music-player__waveform { display:block; position:relative; min-width:0; border-radius:7px; background:rgba(6,10,22,.26); border:1px solid rgba(182,193,223,.14); }
.music-player__wave-canvas { display:block; width:100%; height:100%; pointer-events:none; }
.music-player--hero .music-player__waveform {height:36px;}
.music-player--dock .music-player__waveform {height:30px;}

/* v49: true envelope rendered from bundled audio data, visible on all pages */
.music-player__waveform {height:48px!important; background:rgba(6,10,22,.34); border:1px solid rgba(182,193,223,.19); border-radius:9px;}
.music-player--dock .music-player__waveform {height:38px!important;}
.music-player__wave-canvas {display:block; width:100%; height:100%;}
@media(max-width:540px){.music-player__waveform {height:40px!important;}.music-player--dock .music-player__waveform{height:34px!important;}}

/* v50: immutable audio waveform; only the playback mask advances. */
.music-player__waveform { position:relative; }
.music-player__wave-canvas { position:absolute; inset:0; width:100%; height:100%; }
.music-player__wave-reveal { position:absolute; inset:0; pointer-events:none; overflow:hidden; clip-path:inset(0 100% 0 0); }
.music-player__wave-reveal .music-player__wave-canvas { width:100%; height:100%; }

/* v51: add breathing room between hero name and music player */
.hero__release-label { margin-top: 52px; }
@media (max-width: 540px) {
  .hero__release-label { margin-top: 34px; }
}

/* v52: single immutable waveform mask, only its fill gradient moves. */
.music-player__wave-ink {
  position:absolute; inset:0; display:block; pointer-events:none;
  background:linear-gradient(to right,#d9b0f5 0%,#d9b0f5 var(--wave-progress,0%),rgba(166,180,209,.72) var(--wave-progress,0%),rgba(166,180,209,.72) 100%);
  mask-size:100% 100%;mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;
}

/* v53: immutable vector waveform; no canvas/mask redraws or resize jitter. */
.music-player__waveform .music-player__wave-svg {
  position:absolute;inset:0;display:block;width:100%;height:100%;
  pointer-events:none;overflow:visible;
}


/* v54: reserve a constant width for changing time digits.
   The waveform must never resize when the clock advances. */
.music-player__timeline { min-width:0; }
.music-player__timeline .music-player__waveform { flex:1 1 0; min-width:0; }
.music-player__timeline .music-player__time {
  display:inline-block;
  box-sizing:border-box;
  flex:0 0 104px;
  width:104px;
  min-width:104px;
  max-width:104px;
  white-space:nowrap;
  text-align:right;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}
@media (max-width:540px) {
  .music-player__timeline .music-player__time {
    flex-basis:91px;
    width:91px;
    min-width:91px;
    max-width:91px;
  }
}


/* v55: balanced player layout: the clock is positioned above the waveform,
   leaving the entire timeline width for the waveform. */
.music-player--hero {
  width:min(100%, 510px);
  padding:15px 17px;
  border-radius:16px;
  background:linear-gradient(115deg,rgba(25,32,56,.85),rgba(29,19,51,.87));
  border:1px solid rgba(194,191,228,.22);
  box-shadow:0 16px 45px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.05);
}
.music-player--hero .music-player__body {gap:13px;align-items:center;}
.music-player--hero .music-player__hero-art {width:72px;height:72px;flex:0 0 72px;border-radius:10px;}
.music-player--hero .music-player__toggle {width:43px;height:43px;flex:0 0 43px;}
.music-player--hero .music-player__details {position:relative;min-width:0;}
.music-player--hero .music-player__track {
  min-height:36px;margin:0 0 5px;padding-right:83px;
  font-size:12px;line-height:1.3;
}
.music-player--hero .music-player__track span {font-size:10px;margin-top:3px;}
.music-player--hero .music-player__timeline {display:block;min-width:0;}
.music-player--hero .music-player__timeline .music-player__waveform {
  display:block;width:100%;height:35px!important;min-width:0;
  border-radius:8px;
}
.music-player--hero .music-player__timeline .music-player__time {
  position:absolute;right:0;top:1px;display:block;
  box-sizing:border-box;width:80px;min-width:80px;max-width:80px;
  font-size:10px;line-height:1.6;text-align:right;white-space:nowrap;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;
}
/* The dock also gets a compact clock above its full-width waveform. */
.music-player--dock .music-player__details {position:relative;min-width:0;}
.music-player--dock .music-player__track {min-height:32px;margin-bottom:4px;padding-right:95px;}
.music-player--dock .music-player__timeline {display:block;}
.music-player--dock .music-player__timeline .music-player__waveform {width:100%;height:32px!important;}
.music-player--dock .music-player__timeline .music-player__time {
  position:absolute;right:0;top:1px;display:block;
  width:90px;min-width:90px;max-width:90px;
  font-size:11px;line-height:1.6;text-align:right;white-space:nowrap;
}
@media(max-width:540px){
  .music-player--hero {width:min(100%,420px);padding:12px;}
  .music-player--hero .music-player__body {gap:9px;}
  .music-player--hero .music-player__hero-art {width:55px;height:55px;flex-basis:55px;}
  .music-player--hero .music-player__toggle {width:38px;height:38px;flex-basis:38px;}
  .music-player--hero .music-player__track {padding-right:70px;font-size:11px;min-height:32px;}
  .music-player--hero .music-player__timeline .music-player__time {width:68px;min-width:68px;max-width:68px;font-size:9px;}
  .music-player--hero .music-player__timeline .music-player__waveform {height:30px!important;}
  .music-player--dock .music-player__track {padding-right:75px;}
  .music-player--dock .music-player__timeline .music-player__time {width:72px;min-width:72px;max-width:72px;font-size:10px;}
}

/* v57: compact homepage HERO at 50% of viewport height. */
@media (min-width: 541px) {
  body:not(.inner-page) .hero__content { padding-top: 82px; padding-bottom: 30px; }
  body:not(.inner-page) .hero__title { font-size: clamp(70px, 7.5vw, 110px); }
  body:not(.inner-page) .hero__release-label { margin-top: 20px; }
}

/* v59: airier homepage HERO at 85% viewport height. */
body:not(.inner-page) .hero {
  min-height: 85vh;
  min-height: 85svh;
}
@media (min-width: 801px) {
  body:not(.inner-page) .hero__content {
    padding-top: 112px;
    padding-bottom: 74px;
  }
  body:not(.inner-page) .hero__title {
    font-size: clamp(76px, 8.6vw, 136px);
  }
  body:not(.inner-page) .hero__release-label {
    margin-top: clamp(50px, 7vh, 76px);
    margin-bottom: 13px;
  }
}
@media (min-width: 541px) and (max-width: 800px) {
  body:not(.inner-page) .hero__content {
    padding-top: 110px;
    padding-bottom: 58px;
  }
  body:not(.inner-page) .hero__release-label {
    margin-top: 48px;
    margin-bottom: 12px;
  }
}
@media (max-width: 540px) {
  body:not(.inner-page) .hero__content {
    padding-top: 105px;
    padding-bottom: 48px;
  }
  body:not(.inner-page) .hero__release-label {
    margin-top: 43px;
    margin-bottom: 12px;
  }
}

/* v61: scroll-linked horizontal exit for the two fixed side labels.
   CSS translate is separate from their existing vertical centering/rotation. */
body:not(.inner-page) .hero__side {
  translate: var(--side-exit, 0px) 0;
  will-change: translate;
}

/* v62: horizontal divider belongs above O MNE, not above remembrance. */
.about__separator { border-top: 1px solid rgba(255,255,255,.3); margin-bottom: clamp(46px, 6vw, 82px); }
.remembrance__card::before { content: none; display: none; }
.remembrance__card { border-top: 1px solid rgba(165,118,210,.18); }


/* v64: Section-anchored ambient peaks on the home page.
   Each glow is positioned relative to its own section, rather than to the
   changing height of the entire page. The HERO-to-content fade stays intact. */
main.main--home {
  background-color: #0d0b15;
  background-image: linear-gradient(180deg, #0d0b15 0px, rgba(13,11,21,.98) 85px, rgba(13,11,21,.55) 190px, rgba(13,11,21,0) 360px);
  background-size: 100% 100%;
  background-position: center top;
  background-repeat: no-repeat;
  animation: none;
}
main.main--home > .services,
main.main--home > .about {
  position: relative;
  isolation: isolate;
  background: transparent;
}
main.main--home > .services::before,
main.main--home > .about::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-repeat: no-repeat;
  will-change: background-position;
  animation: section-ambient-drift 42s ease-in-out infinite alternate;
}
/* Blue peak sits behind the services heading and cards. */
main.main--home > .services::before {
  background-image:
    radial-gradient(ellipse 72% 58% at 47% 53%, rgba(38, 76, 170, .34) 0%, rgba(29, 56, 126, .17) 40%, transparent 78%),
    radial-gradient(ellipse 53% 42% at 16% 71%, rgba(23, 43, 102, .17), transparent 77%);
  background-size: 115% 100%, 110% 100%;
  background-position: 48% center, 40% center;
}
/* Violet peak belongs to About, with a gentle spread towards remembrance. */
main.main--home > .about::before {
  background-image:
    radial-gradient(ellipse 77% 58% at 54% 42%, rgba(104, 49, 151, .32) 0%, rgba(72, 34, 119, .16) 42%, transparent 79%),
    radial-gradient(ellipse 65% 38% at 74% 72%, rgba(68, 37, 112, .14), transparent 79%);
  background-size: 112% 100%, 112% 100%;
  background-position: 52% center, 62% center;
}
@keyframes section-ambient-drift {
  0%   { background-position: 43% center, 57% center; }
  50%  { background-position: 54% center, 47% center; }
  100% { background-position: 48% center, 53% center; }
}
@media (prefers-reduced-motion: reduce) {
  main.main--home > .services::before,
  main.main--home > .about::before { animation: none; }
}


/* v67: Mastering & Mix editorial detail */
body.inner-page .page-main { overflow: hidden; }
.master-intro, .master-pillars, .master-process, .master-outro { position: relative; isolation: isolate; }
.master-intro { padding: clamp(90px, 11vw, 158px) 0 112px; }
.master-intro::before { content:""; position:absolute; z-index:-1; width: min(80vw,1000px); height:650px; top:-130px; right:-26%; pointer-events:none; background:radial-gradient(ellipse,rgba(52,77,163,.22),transparent 70%); }
.master-intro__grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(50px,8vw,130px); align-items:start; }
.master-kicker { display:block; margin-bottom:24px; color:#bba5e4; font-size:12px; font-weight:700; letter-spacing:.19em; }
.master-intro h2, .master-section-head h2, .master-process h2, .master-outro h2 { margin:0; font-size:clamp(42px,5.15vw,76px); line-height:1.08; letter-spacing:-.052em; font-weight:800; }
.master-rule { display:block; width:90px; height:3px; margin-top:37px; background:#fff; }
.master-intro__copy { padding-top:40px; }
.master-intro__copy p, .master-process__intro p, .master-outro p { margin:0 0 22px; font-size:16px; line-height:1.9; color:rgba(255,255,255,.72); }
.master-intro__copy .master-intro__lead { font-size:clamp(20px,2.1vw,26px); line-height:1.55; color:#fff; font-weight:600; }
.master-pillars { padding:100px 0 118px; background:linear-gradient(180deg,rgba(20,25,55,.42),rgba(13,12,29,.18)); }
.master-pillars::before { content:""; position:absolute; z-index:-1; inset:-80px -15% -100px; background:radial-gradient(ellipse at 45% 45%,rgba(30,74,174,.2),transparent 58%); pointer-events:none; }
.master-section-head { max-width:850px; margin-bottom:60px; }
.master-pillars__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.master-pillar { min-height:325px; padding:34px 31px 36px; border:1px solid rgba(255,255,255,.13); background:linear-gradient(140deg,rgba(34,41,75,.4),rgba(21,17,42,.38)); border-radius:8px; }
.master-pillar__index { display:block; margin-bottom:70px; color:#aa92e1; font-size:13px; font-weight:700; letter-spacing:.13em; }
.master-pillar h3, .master-option h3 { margin:0 0 17px; font-size:clamp(19px,2vw,25px); font-weight:800; letter-spacing:-.025em; line-height:1.25; }
.master-pillar p, .master-option p { margin:0; font-size:14px; line-height:1.85; color:rgba(255,255,255,.7); }
.master-process { padding:145px 0; }
.master-process::before { content:""; position:absolute; z-index:-1; width:900px; height:800px; left:-330px; top:-150px; background:radial-gradient(ellipse,rgba(93,46,137,.2),transparent 68%); pointer-events:none; }
.master-process__grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(60px,8vw,140px); }
.master-process__intro p { max-width:530px; margin-top:35px; }
.master-process__options { border-top:1px solid rgba(255,255,255,.25); }
.master-option { display:grid; grid-template-columns:60px 1fr; gap:22px; padding:45px 0 50px; border-bottom:1px solid rgba(255,255,255,.25); }
.master-option__number { font-size:14px; font-weight:700; color:#bba5e4; }
.master-option p { max-width:540px; font-size:15px; }
.master-outro { padding:100px 0 130px; border-top:1px solid rgba(255,255,255,.13); background:radial-gradient(ellipse at 80% 100%,rgba(78,41,119,.2),transparent 60%); }
.master-outro__inner { display:flex; align-items:center; justify-content:space-between; gap:60px; }
.master-outro h2 { font-size:clamp(42px,4.5vw,64px); }
.master-outro p { max-width:650px; margin:24px 0 0; }
.master-outro__button { flex:none; display:inline-flex; justify-content:center; align-items:center; min-height:56px; padding:18px 28px; border-radius:4px; background:#fff; color:#1d1130; text-decoration:none; font-weight:800; font-size:12px; letter-spacing:.045em; transition:transform .2s,background .2s; }
.master-outro__button:hover { transform:translateY(-3px); background:#e9defc; }
@media(max-width:900px) { .master-intro__grid,.master-process__grid { grid-template-columns:1fr; gap:32px; } .master-intro__copy { padding-top:0; } .master-pillars__grid { grid-template-columns:1fr; } .master-pillar { min-height:0; } .master-pillar__index { margin-bottom:36px; } .master-outro__inner { flex-direction:column; align-items:flex-start; gap:30px; } }
@media(max-width:540px) { .master-intro { padding:75px 0 70px; } .master-pillars { padding:75px 0 80px; } .master-section-head { margin-bottom:38px; } .master-pillar { padding:27px; } .master-process { padding:90px 0; } .master-option { grid-template-columns:38px 1fr; gap:14px; padding:32px 0; } .master-outro { padding:75px 0 100px; } .master-outro__button { width:100%; } }

/* v68: spoken-word cleanup and audio restoration */
.master-restoration { position:relative; isolation:isolate; padding:clamp(95px,10vw,145px) 0; border-top:1px solid rgba(255,255,255,.12); background:linear-gradient(150deg,rgba(23,28,58,.28),rgba(37,18,57,.22)); }
.master-restoration::before { content:""; position:absolute; z-index:-1; inset:-10% 0; pointer-events:none; background:radial-gradient(ellipse at 15% 48%,rgba(67,84,166,.18),transparent 60%); }
.master-restoration__grid { display:grid; grid-template-columns:.98fr 1.02fr; gap:clamp(55px,8vw,130px); align-items:start; }
.master-restoration h2 { margin:0; font-size:clamp(40px,4.7vw,69px); font-weight:800; line-height:1.1; letter-spacing:-.05em; }
.master-restoration__lead { max-width:570px; margin:36px 0 0; font-size:16px; line-height:1.9; color:rgba(255,255,255,.75); }
.master-restoration__details { border-top:1px solid rgba(255,255,255,.25); }
.master-restoration__item { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:32px 0 36px; border-bottom:1px solid rgba(255,255,255,.2); }
.master-restoration__number { color:#bba5e4; font-size:13px; font-weight:700; }
.master-restoration__item h3 { margin:0 0 12px; font-size:clamp(18px,1.8vw,23px); font-weight:800; line-height:1.3; letter-spacing:-.025em; }
.master-restoration__item p { margin:0; font-size:14px; line-height:1.85; color:rgba(255,255,255,.7); }
@media(max-width:900px) { .master-restoration__grid { grid-template-columns:1fr; gap:46px; } }
@media(max-width:540px) { .master-restoration { padding:78px 0 90px; } .master-restoration__item { grid-template-columns:36px 1fr; gap:12px; padding:28px 0; } }

/* v69: Before / After audio comparison */
.master-comparison { position:relative; padding:clamp(88px,10vw,140px) 0; border-top:1px solid rgba(255,255,255,.12); background:radial-gradient(ellipse at 67% 50%,rgba(67,43,130,.18),transparent 65%); }
.master-comparison__heading { display:grid; grid-template-columns:1fr .8fr; align-items:end; gap:60px; margin-bottom:48px; }
.master-comparison__heading h2 {margin:0;font-size:clamp(54px,7vw,100px);line-height:1;letter-spacing:-.055em;font-weight:800;}
.master-comparison__heading p {margin:0 0 5px;max-width:460px;font-size:16px;line-height:1.85;color:rgba(255,255,255,.7);}
.compare-player {padding:clamp(24px,4vw,48px);border:1px solid rgba(199,190,232,.2);border-radius:15px;background:linear-gradient(135deg,rgba(36,38,74,.75),rgba(22,16,42,.87));box-shadow:0 24px 75px rgba(0,0,0,.19);}
.compare-player__top {display:flex;align-items:center;gap:20px;}
.compare-player__art {flex:none;width:78px;height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:10px;background:linear-gradient(145deg,#434f94,#6a408d 65%,#251a42);}
.compare-player__art span {font-size:27px;font-weight:800;letter-spacing:-.06em;}.compare-player__art small {font-size:7px;letter-spacing:.08em;font-weight:700;}
.compare-player__identity {display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
.compare-player__tag {color:#c3abe9;font-size:10px;letter-spacing:.15em;font-weight:700;}
.compare-player__identity strong {font-size:clamp(16px,2.3vw,22px);font-weight:700;}
.compare-player__identity > span:last-child {color:rgba(255,255,255,.6);font-size:12px;}
.compare-player__play {width:54px;height:54px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:#251b39;cursor:pointer;transition:transform .2s,background .2s;}
.compare-player__play:hover {transform:scale(1.07);background:#e5d6ff;}
.compare-player__play svg {width:24px;height:24px;}.compare-player__pause-icon,.compare-player.is-playing .compare-player__play-icon {display:none;}.compare-player.is-playing .compare-player__pause-icon {display:block;}
.compare-player__seek-row {display:flex;align-items:center;gap:20px;margin:32px 0 45px;}
.compare-player__seek-row > input {flex:1;min-width:0;}
.compare-player__seek-row > span {flex:none;width:95px;text-align:right;color:rgba(255,255,255,.75);font-size:12px;font-variant-numeric:tabular-nums;}
.compare-player input[type=range] {appearance:none;-webkit-appearance:none;display:block;cursor:pointer;touch-action:pan-y;outline-offset:6px;}
.compare-player__seek-row input {height:6px;border-radius:10px;background:linear-gradient(to right,#bfa0f4 var(--seek),rgba(255,255,255,.2) var(--seek));}
.compare-player__seek-row input::-webkit-slider-thumb {appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(197,164,245,.2);}
.compare-player__seek-row input::-moz-range-thumb {width:13px;height:13px;border:0;border-radius:50%;background:#fff;}
.compare-player__slider-head {display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;letter-spacing:.09em;color:#fff;}
.compare-player__ab {display:flex;align-items:center;gap:15px;margin-top:20px;}
.compare-player__side {font-size:14px;font-weight:800;color:#bda7e6;}
.compare-player__ab input {flex:1;min-width:0;height:12px;border-radius:10px;background:linear-gradient(90deg,#477acb,#8665d5);}
.compare-player__ab input::-webkit-slider-thumb {appearance:none;width:34px;height:34px;border-radius:50%;border:4px solid #fff;background:#302249;box-shadow:0 3px 15px rgba(0,0,0,.45);}
.compare-player__ab input::-moz-range-thumb {width:26px;height:26px;border-radius:50%;border:4px solid #fff;background:#302249;box-shadow:0 3px 15px rgba(0,0,0,.45);}
.compare-player__scale {display:flex;justify-content:space-between;gap:12px;margin:17px 27px 0;color:rgba(255,255,255,.47);font-size:10px;font-weight:600;letter-spacing:.07em;}
.compare-player__notice {margin:37px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;line-height:1.7;color:rgba(255,255,255,.55);}
@media(max-width:700px){.master-comparison__heading{grid-template-columns:1fr;gap:20px;}.compare-player__art{width:56px;height:56px;}.compare-player__art span{font-size:21px;}.compare-player__play{width:46px;height:46px;}.compare-player__top{gap:12px;}.compare-player__scale{font-size:9px;margin-left:22px;margin-right:22px;}.compare-player__seek-row{gap:10px;}.compare-player__seek-row>span{width:78px;font-size:10px;}}

/* v70: consistent, intentionally minimal subpage introduction */
.page-feature { position: relative; padding: clamp(72px, 9vw, 140px) 0 clamp(110px, 13vw, 190px); }
.page-feature__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); align-items: center; gap: clamp(32px, 6vw, 100px); }
.page-feature__image-wrap { position: relative; overflow: hidden; border-radius: 4px; aspect-ratio: 1.3 / 1; background: #171328; }
.page-feature__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.page-feature__copy { max-width: 530px; }
.page-feature__copy h2 { margin: 0; font-size: clamp(34px, 4.4vw, 65px); line-height: 1.07; font-weight: 800; letter-spacing: -.045em; }
.page-feature__rule { display: block; width: 90px; height: 3px; background: #fff; margin: 26px 0 28px; }
.page-feature__copy p { margin: 0; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.85; color: rgba(255,255,255,.78); }
@media (max-width: 760px) {
  .page-feature { padding: 56px 0 100px; }
  .page-feature__grid { grid-template-columns: 1fr; gap: 36px; }
  .page-feature__image-wrap { aspect-ratio: 1.35 / 1; }
  .page-feature__copy h2 { font-size: clamp(34px, 9vw, 52px); }
}

/* v72: Podstranky bez obrazku pod HERO; uvodni karty na indexu zustavaji. */
.page-feature__grid { grid-template-columns: 1fr; }
.page-feature__copy { max-width: 760px; }

/* v73: WhatsApp is green by default and white on hover/focus, site-wide. */
.navigation .whatsapp {
  background: #25d366;
  color: #092215;
  border-color: #25d366;
}
.navigation .whatsapp svg { color: #092215; }
.navigation .whatsapp:hover,
.navigation .whatsapp:focus-visible {
  background: #fff;
  color: #13271d;
  border-color: #fff;
  box-shadow: 0 8px 24px rgba(255,255,255,.16);
}
.navigation .whatsapp:hover svg,
.navigation .whatsapp:focus-visible svg { color: #21b65b; }

/* Memorial is aligned below the About copy, not under the About heading. */
.about__copy .remembrance { margin-top: clamp(34px, 4vw, 56px); padding-top: 0; }
.about__copy .remembrance__card { margin: 0; padding: 24px 22px; align-items: flex-start; }
.about__copy .remembrance__icon { flex: 0 0 40px; width: 40px; height: 40px; }
.about__copy .remembrance__icon img { display: block; width: 40px; height: 40px; object-fit: contain; }
.about__copy .remembrance__text { margin: 0; font-size: 14px; line-height: 1.75; }
@media (max-width: 540px) {
  .about__copy .remembrance__card { padding: 20px 16px; gap: 13px; }
  .about__copy .remembrance__icon { flex-basis: 32px; width: 32px; height: 32px; }
  .about__copy .remembrance__icon img { width: 32px; height: 32px; }
}

/* v74: homepage player fills the same 1280px content grid as the page. */
body:not(.inner-page) .hero .music-player--hero {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 24px 30px;
  border-radius: 19px;
}
body:not(.inner-page) .hero .music-player--hero .music-player__body { gap: 24px; }
body:not(.inner-page) .hero .music-player--hero .music-player__hero-art {
  width: 110px; height: 110px; flex: 0 0 110px; border-radius: 12px;
}
body:not(.inner-page) .hero .music-player--hero .music-player__toggle {
  width: 60px; height: 60px; flex: 0 0 60px;
}
body:not(.inner-page) .hero .music-player--hero .music-player__toggle svg { width: 26px; height: 26px; }
body:not(.inner-page) .hero .music-player--hero .music-player__track {
  font-size: 19px; margin-bottom: 13px; min-height: 0;
}
body:not(.inner-page) .hero .music-player--hero .music-player__track span { font-size: 13px; margin-top: 5px; }
body:not(.inner-page) .hero .music-player--hero .music-player__waveform { height: 64px !important; }
body:not(.inner-page) .hero .music-player--hero .music-player__timeline { gap: 16px; }
body:not(.inner-page) .hero .music-player--hero .music-player__time { font-size: 12px; }
@media (max-width: 800px) {
  body:not(.inner-page) .hero .music-player--hero { padding: 19px 20px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__body { gap: 15px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__hero-art { width: 82px; height: 82px; flex-basis: 82px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__toggle { width: 49px; height: 49px; flex-basis: 49px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__track { font-size: 15px; margin-bottom: 8px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__waveform { height: 50px !important; }
}
@media (max-width: 540px) {
  body:not(.inner-page) .hero .music-player--hero { padding: 14px 12px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__body { gap: 9px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__hero-art { width: 58px; height: 58px; flex-basis: 58px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__toggle { width: 42px; height: 42px; flex-basis: 42px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__track { font-size: 12px; padding-right: 0; }
  body:not(.inner-page) .hero .music-player--hero .music-player__track span { font-size: 10px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__waveform { height: 40px !important; }
  body:not(.inner-page) .hero .music-player--hero .music-player__timeline { gap: 6px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__time { font-size: 9px; }
}

/* v75: frameless hero audio player. Keep full-width controls over the hero photo. */
body:not(.inner-page) .hero .music-player--hero {
  background: transparent;
  border: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
}
body:not(.inner-page) .hero .music-player--hero .music-player__waveform {
  background: transparent;
  border: 0;
  border-radius: 0;
}

/* v76: the frameless homepage player ends at the midpoint of the hero content. */
@media (min-width: 801px) {
  body:not(.inner-page) .hero .music-player--hero {
    width: 50%;
    max-width: 640px;
  }
}
@media (max-width: 800px) {
  body:not(.inner-page) .hero .music-player--hero {
    width: 100%;
    max-width: 100%;
  }
}

/* v78: each HERO label has its own white background, only as wide as its text */
.hero__eyebrow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  width: fit-content;
  max-width: 100%;
  padding: 0;
  background: transparent;
  border-radius: 0;
}
.hero__eyebrow > span {
  display: block;
  width: fit-content;
  max-width: 100%;
  padding: 5px 12px;
  background: #fff;
  color: #111;
  border-radius: 2px;
}

/* v80: 25% dark translucent surface behind homepage HERO player. */
body:not(.inner-page) .hero .music-player--hero {
  background: rgba(0, 0, 0, .25);
  border: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-radius: 12px;
}

/* v81: breathing room inside the translucent HERO player surface. */
body:not(.inner-page) .hero .music-player--hero {
  padding: 24px 28px;
  box-sizing: border-box;
}
@media (max-width: 800px) {
  body:not(.inner-page) .hero .music-player--hero { padding: 20px 22px; }
}
@media (max-width: 540px) {
  body:not(.inner-page) .hero .music-player--hero { padding: 16px 14px; }
}

/* v85: consistent frameless surfaces across the site.
   Applies only to content frames, not buttons, focus outlines or separators. */
:root { --frame-radius: 10px; }
.service-card,
.master-pillar,
.compare-player,
.remembrance__card,
.page-feature__image-wrap,
.release-feature__visual,
.music-player--hero {
  border: 0;
  border-radius: var(--frame-radius);
}
/* The embedded waveform is part of the player surface, not another framed panel. */
.music-player--hero .music-player__waveform { border: 0; }


/* v86: streaming platform logos below services */
.services-platforms {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(18px, 3vw, 38px);
  flex-wrap:wrap;
  margin-top:34px;
  padding:6px 0 2px;
}
.services-platforms__logo {
  display:block;
  height:auto;
  max-width:100%;
  object-fit:contain;
  opacity:.94;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.16));
}
.services-platforms__logo--spotify { width:min(190px, 21vw); }
.services-platforms__logo--youtube { width:min(220px, 24vw); }
.services-platforms__logo--apple { width:min(160px, 18vw); }
.services-platforms__logo--amazon { width:min(230px, 25vw); }
@media (max-width: 980px) {
  .services-platforms {
    justify-content:center;
    row-gap:20px;
    column-gap:28px;
  }
  .services-platforms__logo--spotify,
  .services-platforms__logo--youtube,
  .services-platforms__logo--apple,
  .services-platforms__logo--amazon {
    width:min(42vw, 210px);
  }
}
@media (max-width: 540px) {
  .services-platforms {
    margin-top:28px;
    gap:18px;
  }
  .services-platforms__logo--spotify,
  .services-platforms__logo--youtube,
  .services-platforms__logo--apple,
  .services-platforms__logo--amazon {
    width:min(72vw, 220px);
  }
}


/* v87: compact centered row with close-set, optically aligned platform logos */
.services-platforms {
  justify-content: center;
  flex-wrap: nowrap;
  gap: 26px;
  margin-inline: auto;
}
.services-platforms__logo,
.services-platforms__logo--spotify,
.services-platforms__logo--youtube,
.services-platforms__logo--apple,
.services-platforms__logo--amazon {
  width: auto;
  height: 36px;
  max-width: min(22vw, 230px);
  flex: 0 1 auto;
}
@media (max-width: 980px) {
  .services-platforms { justify-content:center; gap:22px; flex-wrap:wrap; }
  .services-platforms__logo,
  .services-platforms__logo--spotify,
  .services-platforms__logo--youtube,
  .services-platforms__logo--apple,
  .services-platforms__logo--amazon { width:auto; height:32px; max-width:44vw; }
}
@media (max-width:540px) {
  .services-platforms { gap:20px 24px; }
  .services-platforms__logo,
  .services-platforms__logo--spotify,
  .services-platforms__logo--youtube,
  .services-platforms__logo--apple,
  .services-platforms__logo--amazon { width:auto; height:28px; max-width:43vw; }
}

/* v88: streaming logos sized to reference image, centered as one group */
.services-platforms {
  justify-content: center;
  gap: clamp(22px, 2.6vw, 38px);
  flex-wrap: nowrap;
}
.services-platforms__logo,
.services-platforms__logo--spotify,
.services-platforms__logo--youtube,
.services-platforms__logo--apple,
.services-platforms__logo--amazon {
  width: auto;
  height: 54px;
  max-width: none;
  flex: 0 1 auto;
}
@media (max-width: 980px) {
  .services-platforms { gap: 24px; flex-wrap: wrap; }
  .services-platforms__logo,
  .services-platforms__logo--spotify,
  .services-platforms__logo--youtube,
  .services-platforms__logo--apple,
  .services-platforms__logo--amazon { height: 44px; max-width: 42vw; }
}
@media (max-width: 540px) {
  .services-platforms { gap: 18px 22px; }
  .services-platforms__logo,
  .services-platforms__logo--spotify,
  .services-platforms__logo--youtube,
  .services-platforms__logo--apple,
  .services-platforms__logo--amazon { height: 34px; max-width: 43vw; }
}


/* v89: Covers & Remixes editorial content and contact section */
.page-feature__copy p + p { margin-top: 19px; }
.page-feature__copy p.page-feature__note { font-size: 13px; opacity:.8; margin-top: 22px; }
.page-feature__cta { display: inline-flex; margin-top: 35px; padding: 16px 24px; border-radius: 10px; background: #fff; color: #160e24; font-size: 12px; font-weight: 800; letter-spacing: .045em; text-decoration: none; transition: transform .2s, background .2s; }
.page-feature__cta:hover { transform: translateY(-2px); background: #ddd2f6; }
.contact-section { padding: clamp(80px, 10vw, 135px) 0; background: rgba(10, 9, 24, .38); scroll-margin-top: 88px; }
.contact-section__inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,7vw,110px); align-items:start; }
.contact-section__eyebrow { font-size:12px; font-weight:700; letter-spacing:.16em; color:#c6aff3; }
.contact-section__intro h2 { font-size:clamp(35px,4.1vw,60px); letter-spacing:-.05em; line-height:1.08; margin: 16px 0 23px; }
.contact-section__intro > p:not(.contact-section__eyebrow) { max-width:530px; line-height:1.8; color:rgba(255,255,255,.76); }
.contact-section__intro > a { display:inline-block; margin-top:22px; color:#fff; text-underline-offset:5px; }
.contact-form { display:flex; flex-direction:column; gap:10px; }
.contact-form label { margin-top:10px; font-size:13px; font-weight:600; color:rgba(255,255,255,.9); }
.contact-form input:not([type=file]),.contact-form textarea { display:block; width:100%; box-sizing:border-box; padding:14px 16px; font:inherit; color:#fff; background:rgba(255,255,255,.075); border:0; border-radius:10px; outline-offset:3px; }
.contact-form textarea { resize:vertical; min-height:140px; }
.contact-form input[type=file] { display:block; max-width:100%; font:inherit; font-size:13px; color:#fff; }
.contact-form input[type=file]::file-selector-button { background:rgba(255,255,255,.12); color:#fff; border:0; border-radius:8px; padding:11px 15px; margin-right:12px; cursor:pointer; }
.contact-form__hint { font-size:12px; line-height:1.6; opacity:.62; margin:0 0 7px; }
.contact-form__status { font-size:14px; line-height:1.6; padding:12px 15px; border-radius:10px; background:rgba(255,255,255,.1); }
.contact-form__status[hidden] { display:none; }
.contact-form button { align-self:flex-start; padding:16px 24px; border:0; border-radius:10px; background:#fff; color:#171024; font:inherit; font-size:12px; font-weight:800; letter-spacing:.04em; cursor:pointer; }
.contact-form button:hover { background:#ddd2f6; }
.contact-form__trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media (max-width:800px) { .contact-section__inner {grid-template-columns:1fr;} }


/* v90 — coherent editorial scale and atmospheric, section-specific backgrounds */
:root { --section-heading-size: clamp(40px, 5vw, 66px); }
/* All main section headings below a hero share the same type scale and weight. */
.services__heading,
.about__heading h2,
.contact-section__intro h2,
.page-feature__copy h2 {
  font-size: var(--section-heading-size);
  font-weight: 800;
  line-height: 1.07;
  letter-spacing: -.052em;
  text-transform: uppercase;
}
.services__heading { margin: 0 0 32px; }
.about__heading h2 { margin: 0 0 28px; }
.contact-section__intro h2 { margin: 0 0 25px; }
.page-feature__copy h2 { margin: 0; }
/* Keep numbers and tiny pre-headings away from the section hierarchy. */
.page-hero__eyebrow,
.contact-section__eyebrow { display:none; }

/* v91: one unbroken ambient gradient for the whole page.
   It starts at the exact dark tone at the foot of HERO and flows continuously
   behind every section without separate backgrounds or visible seams. */
/* v94: continuous atmospheric background: near-black through the opening
   services heading, then asymmetric blue / purple / black waves further down. */
main.main--home {
  background-color: #090910;
  background-image:
    radial-gradient(ellipse 58% 15% at 7% 54%, rgba(23,65,146,.48) 0%, rgba(23,65,146,.18) 48%, transparent 100%),
    radial-gradient(ellipse 72% 17% at 94% 64%, rgba(93,36,146,.46) 0%, rgba(93,36,146,.15) 51%, transparent 100%),
    radial-gradient(ellipse 58% 13% at 24% 75%, rgba(3,4,10,.91) 0%, rgba(3,4,10,.45) 55%, transparent 100%),
    radial-gradient(ellipse 77% 16% at 77% 86%, rgba(26,66,148,.43) 0%, rgba(26,66,148,.12) 55%, transparent 100%),
    radial-gradient(ellipse 62% 17% at 18% 96%, rgba(96,40,130,.40) 0%, rgba(96,40,130,.10) 50%, transparent 100%),
    linear-gradient(180deg,
      #0d0b15 0%,
      #0b0a12 23%,
      #090910 33%,
      #06070d 42%,
      #10192f 53%,
      #1b1031 65%,
      #080911 75%,
      #111c35 86%,
      #1a1028 94%,
      #090910 100%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

main.main--home > .services,
main.main--home > .about,
main.main--home > .contact-section {
  background: transparent;
  background-color: transparent;
}
main.main--home > .services::before,
main.main--home > .about::before {
  content: none;
  display: none;
  animation: none;
}
/* The page details continue the same low-contrast, fluid color language. */
body.inner-page .page-main {
  background-color: #0d0b15;
  background-image:
    linear-gradient(180deg, #0d0b15 0%, rgba(13,11,21,.94) 8%, rgba(13,11,21,.38) 25%, transparent 40%),
    radial-gradient(ellipse 82% 38% at 56% 40%, rgba(49, 71, 151, .23), transparent 85%),
    radial-gradient(ellipse 80% 43% at 35% 78%, rgba(92, 46, 143, .22), transparent 86%),
    linear-gradient(180deg, #0d0b15 0%, #111127 48%, #0d0b15 100%);
}
body.inner-page .page-feature { background: transparent; }
body.inner-page .page-feature::before { content:none; display:none; }
@media (max-width: 540px) {
  :root { --section-heading-size: clamp(36px, 10.5vw, 48px); }
  .services__heading, .about__heading h2,
  .contact-section__intro h2, .page-feature__copy h2 {
    overflow-wrap:break-word;
    hyphens:auto;
  }
}


/* v95: colorful waves start behind the service cards, while the heading stays
   near-black. Continuous, borderless atmosphere follows through the page. */
main.main--home {
  background-image:
    radial-gradient(ellipse 62% 18% at 7% 28%, rgba(33,74,157,.40) 0%, rgba(33,74,157,.13) 52%, transparent 100%),
    radial-gradient(ellipse 72% 20% at 95% 39%, rgba(88,34,145,.42) 0%, rgba(88,34,145,.12) 53%, transparent 100%),
    radial-gradient(ellipse 58% 13% at 24% 61%, rgba(3,4,10,.91) 0%, rgba(3,4,10,.45) 55%, transparent 100%),
    radial-gradient(ellipse 77% 16% at 77% 77%, rgba(26,66,148,.43) 0%, rgba(26,66,148,.12) 55%, transparent 100%),
    radial-gradient(ellipse 62% 17% at 18% 94%, rgba(96,40,130,.40) 0%, rgba(96,40,130,.10) 50%, transparent 100%),
    linear-gradient(180deg,
      #0d0b15 0%,
      #0b0a12 10%,
      #0b0c18 17%,
      #111d38 25%,
      #1a1234 38%,
      #06070d 51%,
      #10192f 64%,
      #1b1031 74%,
      #080911 83%,
      #111c35 91%,
      #090910 100%);
}

/* v96: keep the entire transition beneath the HERO dark. The blue/violet
   atmosphere begins behind the service cards, not at the HERO photograph. */
main.main--home {
  background-color: #0d0b15;
  background-image:
    radial-gradient(ellipse 76% 14% at 8% 45%, rgba(35,77,159,.45) 0%, rgba(35,77,159,.12) 55%, transparent 100%),
    radial-gradient(ellipse 67% 19% at 93% 56%, rgba(94,42,151,.41) 0%, rgba(94,42,151,.12) 54%, transparent 100%),
    radial-gradient(ellipse 61% 14% at 19% 69%, rgba(3,4,10,.83) 0%, rgba(3,4,10,.25) 55%, transparent 100%),
    radial-gradient(ellipse 75% 17% at 88% 80%, rgba(32,70,152,.39) 0%, rgba(32,70,152,.11) 58%, transparent 100%),
    radial-gradient(ellipse 64% 16% at 16% 94%, rgba(94,41,139,.37) 0%, rgba(94,41,139,.09) 54%, transparent 100%),
    linear-gradient(180deg,
      #0d0b15 0%,
      #0c0a14 19%,
      #08070e 28%,
      #090a13 34%,
      #101b34 44%,
      #1b1031 58%,
      #070810 69%,
      #121f3b 83%,
      #1b102b 94%,
      #090910 100%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
/* Improve desktop navigation legibility without changing its structure. */
@media (min-width: 801px) {
  .navigation > a { font-size: 14px; }
  .navigation .whatsapp { font-size: 14px; }
  .language-switch button { font-size: 14px; }
  .language-switch span { font-size: 14px; }
  .navigation { gap: clamp(13px, 1.7vw, 25px); }
}


/* v97: soften the continuous atmospheric colors without creating section breaks.
   Keep the almost-black band between the HERO image and the service cards. */
main.main--home {
  background-color: #0c0a13;
  background-image:
    radial-gradient(ellipse 76% 14% at 8% 45%, rgba(35,77,159,.26) 0%, rgba(35,77,159,.075) 55%, transparent 100%),
    radial-gradient(ellipse 67% 19% at 93% 56%, rgba(94,42,151,.24) 0%, rgba(94,42,151,.065) 54%, transparent 100%),
    radial-gradient(ellipse 61% 14% at 19% 69%, rgba(3,4,10,.81) 0%, rgba(3,4,10,.23) 55%, transparent 100%),
    radial-gradient(ellipse 75% 17% at 88% 80%, rgba(32,70,152,.23) 0%, rgba(32,70,152,.065) 58%, transparent 100%),
    radial-gradient(ellipse 64% 16% at 16% 94%, rgba(94,41,139,.21) 0%, rgba(94,41,139,.055) 54%, transparent 100%),
    linear-gradient(180deg,
      #0d0b15 0%,
      #0c0a14 19%,
      #08070e 28%,
      #090a12 34%,
      #0d1529 44%,
      #150e27 58%,
      #070810 69%,
      #0e1930 83%,
      #160e24 94%,
      #090910 100%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
body.inner-page .page-main {
  background-color: #0d0b15;
  background-image:
    linear-gradient(180deg, #0d0b15 0%, rgba(13,11,21,.94) 8%, rgba(13,11,21,.38) 25%, transparent 40%),
    radial-gradient(ellipse 82% 38% at 56% 40%, rgba(49,71,151,.15), transparent 85%),
    radial-gradient(ellipse 80% 43% at 35% 78%, rgba(92,46,143,.14), transparent 86%),
    linear-gradient(180deg, #0d0b15 0%, #101022 48%, #0d0b15 100%);
}


/* v98 — restrained editorial ordering: HERO / About / Services / Contact.
   One uninterrupted page-wide atmosphere; near-black after the HERO,
   with subdued blue and violet appearing only around the service cards. */
main.main--home {
  background-color: #0d0b15;
  background-image:
    radial-gradient(ellipse 74% 16% at 10% 64%, rgba(36,72,141,.23) 0%, rgba(36,72,141,.07) 55%, transparent 100%),
    radial-gradient(ellipse 70% 18% at 90% 78%, rgba(89,44,133,.19) 0%, rgba(89,44,133,.05) 54%, transparent 100%),
    radial-gradient(ellipse 62% 15% at 20% 90%, rgba(20,55,115,.13), transparent 80%),
    linear-gradient(180deg,
      #0d0b15 0%,
      #0a0911 26%,
      #08070e 40%,
      #0a0c17 49%,
      #10182c 63%,
      #150f26 77%,
      #0a0a15 88%,
      #0d0b15 100%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
/* Short, typographic introduction directly below the HERO. */
main.main--home > .about {
  padding: clamp(72px, 8vw, 112px) 0 clamp(64px, 7vw, 102px);
}
main.main--home .about__separator {
  border-top-color: rgba(255,255,255,.16);
  margin-bottom: clamp(35px, 4.5vw, 58px);
}
main.main--home .about__inner { gap: clamp(32px, 5vw, 76px); }
main.main--home .about__copy p { margin-bottom: 16px; }
main.main--home .about__copy .about__lead {
  margin-bottom: 25px;
  font-size: clamp(21px, 2.2vw, 29px);
}
main.main--home .about__copy .remembrance {
  margin-top: 28px;
}
main.main--home .about__copy .remembrance__card {
  padding: 18px 0 0;
  border-top-color: rgba(255,255,255,.12);
}
main.main--home .about__copy .remembrance__text {
  font-size: 13px;
  color: rgba(255,255,255,.64);
  line-height: 1.7;
}
/* Keep the service gateway spacious without inserting a second heavy divider. */
main.main--home > .services { padding-top: clamp(64px, 7vw, 100px); }
/* Calm contact wording, no new boxes or sales-focused CTAs. */
.contact-section__intro h2 { margin-top: 0; }
/* Detail pages already have a page title in HERO — the text starts immediately. */
body.inner-page .page-feature { padding-top: clamp(60px, 7.5vw, 100px); }
.page-feature__copy .page-feature__lead {
  font-size: clamp(18px, 1.7vw, 21px);
  font-weight: 500;
  line-height: 1.78;
  color: rgba(255,255,255,.93);
}
.page-feature__cta {
  display: inline-block;
  margin-top: 32px;
  padding: 0 0 5px;
  background: none;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.65);
  border-radius: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .035em;
  box-shadow: none;
  text-decoration: none;
  transition: border-color .2s, opacity .2s;
}
.page-feature__cta:hover,
.page-feature__cta:focus-visible {
  background: none;
  transform: none;
  opacity: .78;
  border-color: #fff;
}
@media (max-width: 800px) {
  main.main--home > .about { padding: 65px 0 70px; }
  main.main--home > .services { padding-top: 60px; }
}


/* v99: real crawlable language links with the same visual treatment as the old toggle. */
.language-switch a {
  border: 0;
  background: transparent;
  padding: 4px 0;
  color: rgba(255,255,255,.55);
  font: 600 14px Poppins,Arial,sans-serif;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease;
}
.language-switch a.active, .language-switch a:hover, .language-switch a:focus-visible { color: #fff; }
.language-switch a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: 2px; }
@media (max-width: 800px) { .language-switch a { font-size: 14px; } }


/* v102: a compact Home symbol at the start of the CZ/EN primary navigation. */
.navigation > .nav-home {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  width: 24px;
  height: 32px;
  color: #fff;
  opacity: .86;
  text-decoration: none;
}
.navigation > .nav-home svg { width: 22px; height: 22px; display: block; }
.navigation > .nav-home:hover { opacity: 1; }
.navigation > .nav-home:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: 3px; opacity: 1; }
@media (max-width: 800px) {
  .navigation > .nav-home {
    flex: 0 0 auto;
    align-self: flex-start;
    width: 40px;
    height: 34px;
  }
  .navigation > .nav-home svg { width: 24px; height: 24px; }
}


/* v105: a single personal thought beneath About, kept typographic and frameless. */
main.main--home .about__quote {
  max-width: 630px;
  margin: clamp(30px, 4vw, 48px) 0 0;
  padding: 0;
  border: 0;
}
main.main--home .about__copy .about__quote p {
  margin: 0;
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.6;
  font-weight: 500;
  font-style: italic;
  letter-spacing: -.015em;
  color: rgba(255,255,255,.94);
}
@media (max-width: 540px) {
  main.main--home .about__quote { margin-top: 30px; }
}


/* v108: minimalist prev / play / next controls, desktop and mobile. */
.music-player__transport {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.music-player__skip {
  width: 31px;
  height: 40px;
  flex: 0 0 31px;
  display: grid;
  place-items: center;
  padding: 0;
  color: rgba(255,255,255,.85);
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  transition: color .2s, background-color .2s, transform .2s;
}
.music-player__skip svg { width: 19px; height: 19px; display: block; }
.music-player__skip:hover {
  color: #fff;
  background: rgba(255,255,255,.10);
  transform: scale(1.05);
}
.music-player__skip:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.music-player--dock .music-player__transport { gap: 4px; }
.music-player--dock .music-player__skip { width: 29px; flex-basis: 29px; }
/* The player remains half the hero width on desktop; compact the transport
   slightly near tablet widths to leave room for the title and waveform. */
@media (min-width: 801px) and (max-width: 1200px) {
  body:not(.inner-page) .hero .music-player--hero .music-player__body { gap: 9px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__hero-art {
    width: 65px; height: 65px; flex-basis: 65px;
  }
  body:not(.inner-page) .hero .music-player--hero .music-player__toggle {
    width: 44px; height: 44px; flex-basis: 44px;
  }
  body:not(.inner-page) .hero .music-player--hero .music-player__transport { gap: 2px; }
  body:not(.inner-page) .hero .music-player--hero .music-player__skip {
    width: 25px; flex-basis: 25px;
  }
  body:not(.inner-page) .hero .music-player--hero .music-player__track {
    font-size: 13px; padding-right: 0; margin-bottom: 8px;
  }
  body:not(.inner-page) .hero .music-player--hero .music-player__track span {
    font-size: 10px;
  }
}
@media (max-width: 540px) {
  /* Two clean rows instead of squeezing the waveform between controls. */
  body:not(.inner-page) .hero .music-player--hero .music-player__body {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr);
    column-gap: 13px;
    row-gap: 12px;
  }
  body:not(.inner-page) .hero .music-player--hero .music-player__hero-art {
    grid-column: 1; grid-row: 1;
    margin: 0;
  }
  body:not(.inner-page) .hero .music-player--hero .music-player__transport {
    grid-column: 2; grid-row: 1;
    justify-content: flex-start;
    gap: 9px;
  }
  body:not(.inner-page) .hero .music-player--hero .music-player__details {
    grid-column: 1 / -1; grid-row: 2;
    width: 100%;
  }
  body:not(.inner-page) .hero .music-player--hero .music-player__track {
    font-size: 14px; margin-bottom: 9px;
  }
  body:not(.inner-page) .hero .music-player--hero .music-player__track span {
    font-size: 11px;
  }
  .music-player--dock .music-player__dock-inner {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    column-gap: 13px;
    row-gap: 8px;
    padding: 10px 16px 13px;
  }
  .music-player--dock .music-player__cover { grid-row: 1; grid-column: 1; }
  .music-player--dock .music-player__transport {
    grid-row: 1; grid-column: 2;
    justify-content: flex-start;
    gap: 7px;
  }
  .music-player--dock .music-player__details {
    grid-row: 2; grid-column: 1 / -1;
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .music-player__skip { transition: none; }
  .music-player__skip:hover { transform: none; }
}

/* Leave the time readout below the waveform whenever the column is narrow. */
@media (min-width: 801px) and (max-width: 1200px) {
  body:not(.inner-page) .hero .music-player--hero .music-player__timeline {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
  }
  body:not(.inner-page) .hero .music-player--hero .music-player__timeline .music-player__time {
    position: static;
    width: auto;
    min-width: 0;
    max-width: none;
    text-align: left;
    padding: 0;
  }
}
@media (max-width: 540px) {
  body:not(.inner-page) .hero .music-player--hero .music-player__timeline,
  .music-player--dock .music-player__timeline {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
  }
  body:not(.inner-page) .hero .music-player--hero .music-player__timeline .music-player__time,
  .music-player--dock .music-player__timeline .music-player__time {
    position: static;
    display: block;
    width: auto;
    min-width: 0;
    max-width: none;
    text-align: left;
    padding: 0;
  }
  .music-player--dock .music-player__track {padding-right: 0;}
}

/* v109: Hide the two fixed vertical edge labels on mobile and tablets. */
@media (max-width: 800px) {
  body:not(.inner-page) .hero__side {
    display: none;
  }
}


/* v112: readable, understated one-line/short-copy descriptions on service cards. */
.services__grid--four .service-card__meta {
  font-size: clamp(12px, 1.04vw, 14px);
  line-height: 1.48;
  font-weight: 500;
  letter-spacing: .008em;
  text-transform: none;
  color: rgba(255,255,255,.94);
  min-height: 0;
  text-wrap: pretty;
  text-shadow: 0 1px 9px rgba(0,0,0,.63);
}


/* v117: Editorial service details. Category numbering follows the four
   homepage services: 01A–01C, 02A–02C, 03A–03C, 04A–04C. No cards or borders. */
body.inner-page .page-feature {
  padding: clamp(62px, 7.5vw, 112px) 0 clamp(100px, 11vw, 165px);
}
body.inner-page .page-feature__copy {
  max-width: 920px;
}
body.inner-page .page-feature__copy .page-feature__lead {
  max-width: 850px;
  margin: 0;
  font-size: clamp(20px, 2.15vw, 27px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: -.018em;
  color: rgba(255, 255, 255, .96);
}
body.inner-page .page-feature__topics {
  display: flex;
  flex-direction: column;
  gap: clamp(34px, 4.8vw, 56px);
  margin-top: clamp(58px, 7vw, 96px);
}
body.inner-page .page-feature__topic {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: start;
  gap: clamp(16px, 2.5vw, 38px);
}
body.inner-page .page-feature__topic-number {
  padding-top: .24em;
  color: rgba(201, 176, 237, .9);
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: .065em;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
body.inner-page .page-feature__topic h2 {
  margin: 0;
  font-size: clamp(21px, 2.2vw, 27px);
  font-weight: 700;
  line-height: 1.24;
  letter-spacing: -.035em;
  text-transform: none;
  overflow-wrap: normal;
  hyphens: manual;
}
body.inner-page .page-feature__topic p {
  max-width: 735px;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, .76);
  font-size: clamp(15px, 1.28vw, 17px);
  line-height: 1.78;
}
body.inner-page .page-feature__cta {
  margin-top: clamp(52px, 7vw, 90px);
}
@media (max-width: 600px) {
  body.inner-page .page-feature__topics { gap: 36px; margin-top: 52px; }
  body.inner-page .page-feature__topic { grid-template-columns: 48px minmax(0,1fr); gap: 12px; }
  body.inner-page .page-feature__topic-number { font-size: 13px; }
  body.inner-page .page-feature__topic h2 { font-size: clamp(20px, 5.6vw, 25px); }
  body.inner-page .page-feature__topic p { font-size: 15px; line-height: 1.68; }
}


/* v118 - ONE TYPOGRAPHIC / SPACING SYSTEM
   Quiet editorial rhythm from About to Contact, and across every detail page.
   Intentionally leaves the homepage HERO, photography and music player untouched. */
:root {
  --layout-section-space: clamp(76px, 7.5vw, 112px);
  --layout-heading: clamp(38px, 4.2vw, 58px);
  --layout-lead: clamp(19px, 1.75vw, 23px);
  --layout-topic: clamp(21px, 1.9vw, 25px);
  --layout-body: 16px;
  --layout-muted: rgba(255, 255, 255, .77);
}

/* All three index sections share a single, restrained hierarchy. */
main.main--home > .about,
main.main--home > .services,
main.main--home > .contact-section {
  padding-top: var(--layout-section-space);
  padding-bottom: var(--layout-section-space);
}
main.main--home .about__heading h2,
main.main--home .services__heading,
main.main--home .contact-section__intro h2 {
  margin: 0 0 25px;
  font-size: var(--layout-heading);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.047em;
  text-transform: uppercase;
  text-wrap: balance;
}
main.main--home .about__inner {
  grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr);
  gap: clamp(32px, 5vw, 76px);
}
main.main--home .about__separator {
  margin-bottom: clamp(34px, 3.9vw, 52px);
  border-color: rgba(255, 255, 255, .18);
}
main.main--home .about__rule {
  width: 72px;
  height: 2px;
  background: rgba(255, 255, 255, .85);
}
main.main--home .about__heading .about__lead {
  max-width: 14ch;
  margin: 26px 0 0;
  font-size: var(--layout-lead);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: -.022em;
  color: #fff;
}
main.main--home .about__copy {
  max-width: 68ch;
}
main.main--home .about__copy p {
  margin: 0 0 19px;
  font-size: var(--layout-body);
  line-height: 1.8;
  color: var(--layout-muted);
}
main.main--home .about__copy p:last-child { margin-bottom: 0; }
main.main--home .services__heading { margin-bottom: 20px; }
main.main--home .services__intro {
  max-width: 68ch;
  margin: 0 0 clamp(32px, 3.5vw, 44px);
  font-size: clamp(17px, 1.55vw, 19px);
  line-height: 1.7;
  color: var(--layout-muted);
}
main.main--home .services__grid--four { gap: 16px; }
main.main--home .services__grid--four .service-card {
  min-height: 440px;
  padding: 21px 19px 20px;
}
main.main--home .services__grid--four .service-card__title {
  margin-bottom: 16px;
  font-size: clamp(27px, 2.3vw, 35px);
  line-height: 1.02;
  letter-spacing: -.045em;
  font-weight: 800;
}
main.main--home .services__grid--four .service-card__line {
  height: 1px;
  margin-bottom: 14px;
  background: rgba(255, 255, 255, .8);
}
main.main--home .services__grid--four .service-card__meta {
  font-size: 13px;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0;
}
main.main--home .services-platforms { margin-top: clamp(38px, 4.5vw, 58px); }
main.main--home .contact-section__intro h2 { margin: 0 0 25px; }
main.main--home .contact-section__intro > p:not(.contact-section__eyebrow) {
  max-width: 68ch;
  margin: 0 0 18px;
  font-size: var(--layout-body);
  line-height: 1.8;
  color: var(--layout-muted);
}
main.main--home .contact-section__inner {
  gap: clamp(36px, 6vw, 88px);
}

/* Four detail pages: equal page insets, aligned numbers, same text scale. */
body.inner-page .page-feature {
  padding-top: var(--layout-section-space);
  padding-bottom: var(--layout-section-space);
}
body.inner-page .page-feature__copy { max-width: 900px; }
body.inner-page .page-feature__copy .page-feature__lead {
  max-width: 70ch;
  margin: 0;
  font-size: var(--layout-lead);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: -.018em;
}
body.inner-page .page-feature__topics {
  gap: clamp(32px, 3.5vw, 45px);
  margin-top: clamp(48px, 5vw, 68px);
}
body.inner-page .page-feature__topic {
  grid-template-columns: 54px minmax(0, 1fr);
  gap: clamp(18px, 2.4vw, 30px);
}
body.inner-page .page-feature__topic-number {
  padding-top: .33em;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: .045em;
  font-weight: 700;
  color: rgba(201, 176, 237, .85);
}
body.inner-page .page-feature__topic h2 {
  margin: 0;
  font-size: var(--layout-topic);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -.028em;
  text-transform: none;
}
body.inner-page .page-feature__topic p {
  max-width: 72ch;
  margin: 10px 0 0;
  font-size: var(--layout-body);
  line-height: 1.75;
  color: var(--layout-muted);
}
body.inner-page .page-feature__cta { margin-top: clamp(44px, 5vw, 62px); }

@media (max-width: 800px) {
  :root {
    --layout-section-space: 72px;
    --layout-heading: clamp(37px, 7vw, 50px);
  }
  main.main--home .about__inner { grid-template-columns: 1fr; gap: 28px; }
  main.main--home .about__separator { margin-bottom: 36px; }
  main.main--home .services__grid--four .service-card { min-height: 420px; }
  main.main--home .contact-section__inner { gap: 32px; }
}
@media (max-width: 540px) {
  :root {
    --layout-section-space: 62px;
    --layout-heading: clamp(34px, 9.1vw, 43px);
    --layout-lead: 19px;
    --layout-topic: 21px;
    --layout-body: 15px;
  }
  main.main--home .about__separator { margin-bottom: 28px; }
  main.main--home .about__heading h2,
  main.main--home .services__heading,
  main.main--home .contact-section__intro h2 { margin-bottom: 22px; }
  main.main--home .about__heading .about__lead { margin-top: 22px; max-width: 100%; }
  main.main--home .about__copy p { margin-bottom: 16px; line-height: 1.75; }
  main.main--home .services__intro { margin-bottom: 28px; font-size: 16px; }
  main.main--home .services__grid--four { gap: 14px; }
  main.main--home .services__grid--four .service-card { min-height: 395px; }
  main.main--home .services__grid--four .service-card__title { font-size: clamp(28px, 7.8vw, 35px); }
  main.main--home .services-platforms { margin-top: 32px; }
  body.inner-page .page-feature__topics { gap: 32px; margin-top: 48px; }
  body.inner-page .page-feature__topic { grid-template-columns: 43px minmax(0,1fr); gap: 13px; }
  body.inner-page .page-feature__topic-number { font-size: 12px; }
  body.inner-page .page-feature__topic p { line-height: 1.7; }
  body.inner-page .page-feature__cta { margin-top: 45px; }
}

/* v118: tidy, centered two-by-two streaming-logo rhythm on small screens. */
@media (max-width: 540px) {
  main.main--home .services-platforms {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    justify-items: center;
    column-gap: 14px;
    row-gap: 22px;
  }
  main.main--home .services-platforms__logo {
    width: auto;
    height: 32px;
    max-width: 100%;
  }
}


/* v119: calm navigation, consistent azure action controls and unobtrusive contact details. */
.navigation > .nav-home {
  width: 28px; min-width: 28px; height: 32px; flex: 0 0 28px;
  border: 0; background: transparent; box-shadow: none;
  color: #fff; opacity: .72; border-radius: 0;
  transition: opacity .18s ease, transform .18s ease;
}
.navigation > .nav-home svg { width: 20px; height: 20px; }
.navigation > .nav-home:hover,
.navigation > .nav-home:focus-visible {
  color: #fff; opacity: 1; background: transparent;
  box-shadow: none; transform: translateY(-1px);
}
.navigation > .nav-home:focus-visible { outline: 2px solid rgba(255,255,255,.9); outline-offset: 3px; }
@media(max-width:800px){
  .navigation > .nav-home { align-self: flex-start; width: 40px; height: 36px; flex-basis: 40px; }
  .navigation > .nav-home svg { width: 21px; height: 21px; }
}

:root { --action-blue: #216bdc; --action-blue-hover: #3886f8; }
body.inner-page .page-feature__cta,
.contact-form button[type="submit"],
.contact-email-reveal,
.master-outro__button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 13px 22px;
  border: 0; border-radius: 10px;
  background: var(--action-blue); color: #fff;
  font-family: inherit; font-size: 13px; font-weight: 700;
  line-height: 1.25; letter-spacing: .02em;
  text-decoration: none; opacity: 1;
  box-shadow: 0 6px 22px rgba(32,110,240,.22), 0 0 17px rgba(35,112,232,.17);
  cursor: pointer;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.inner-page .page-feature__cta:hover,
body.inner-page .page-feature__cta:focus-visible,
.contact-form button[type="submit"]:hover,
.contact-form button[type="submit"]:focus-visible,
.contact-email-reveal:hover,
.contact-email-reveal:focus-visible,
.master-outro__button:hover,
.master-outro__button:focus-visible {
  background: var(--action-blue-hover); color: #fff;
  border: 0; opacity: 1; transform: translateY(-1px);
  box-shadow: 0 8px 26px rgba(32,110,240,.35), 0 0 26px rgba(53,125,248,.27);
}
.contact-form button[type="submit"]:disabled {
  opacity:.6; cursor:wait; transform:none; box-shadow:none;
}
.contact-email-reveal svg { width: 18px; height: 18px; flex: none; }
.contact-email-link { color: #fff; font-size: 16px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; overflow-wrap:anywhere; }
.contact-methods { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 28px; }
.contact-methods__phone { display: flex; flex-direction: column; gap: 4px; }
.contact-methods__label { font-size: 12px; color: rgba(255,255,255,.60); font-weight: 600; }
.contact-methods__phone a { font-weight: 600; font-size: 18px; color: #fff; text-decoration: none; }
.contact-methods__phone a:hover { text-decoration: underline; text-underline-offset: 4px; }
.contact-methods__whatsapp {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 46px; padding: 12px 18px;
  border-radius: 10px; border: 0;
  background: #25d366; color: #082414;
  font-size: 13px; font-weight: 800; letter-spacing:.02em;
  text-decoration: none; transition:background-color .2s, transform .2s;
}
.contact-methods__whatsapp svg { width:19px; height:19px; flex:none; }
.contact-methods__whatsapp:hover,
.contact-methods__whatsapp:focus-visible { background: #fff; color: #16512b; transform: translateY(-1px); }

.contact-dropzone {
  position: relative; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center;
  min-height: 158px; gap: 7px; padding: 22px 18px;
  border: 1px dashed rgba(165,190,236,.46); border-radius: 10px;
  background: rgba(28,68,125,.11);
  transition: background .18s, border-color .18s, box-shadow .18s;
}
.contact-dropzone:hover, .contact-dropzone.is-dragging, .contact-dropzone:focus-within {
  border-color: #5da4ff; background: rgba(40,99,194,.19);
  box-shadow: inset 0 0 0 1px rgba(75,148,249,.10);
}
.contact-dropzone.has-file { border-style:solid; border-color:rgba(109,176,255,.55); }
.contact-dropzone.has-error { border-color:rgba(255,133,147,.8); }
.contact-dropzone__icon { width: 26px; height: 26px; color: #a7cdfd; }
.contact-dropzone__title { font-size: 13px; font-weight: 700; color: #fff; letter-spacing:.025em; }
.contact-dropzone__subtitle { font-size: 12px; color: rgba(255,255,255,.67); }
.contact-dropzone__filename { max-width: 100%; overflow-wrap:anywhere; font-size: 12px; font-weight: 600; color: #95c7ff; }
.contact-form .contact-dropzone__input {
  position:absolute; inset:0; z-index:2;
  display:block; width:100%; height:100%; max-width:none;
  cursor:pointer; opacity:0;
}
.contact-form .contact-dropzone__input:focus-visible { outline:0; }
.contact-form__status {
  display:block; border: 1px solid rgba(160,198,252,.25);
  font-size: 15px; font-weight: 600; line-height:1.6;
  padding: 17px 19px; border-radius: 10px;
  background: rgba(41,97,173,.22); color:#fff;
}
.contact-form__status[data-state="success"] { background:rgba(39,129,101,.25); border-color:rgba(109,222,167,.55); }
.contact-form__status[data-state="error"] { background:rgba(149,46,67,.22); border-color:rgba(249,146,164,.4); }
.contact-form__status:focus { outline: 2px solid #a7cdfd; outline-offset: 4px; }

/* Existing transparent platform logos also belong to the release page. */
body.inner-page .services-platforms--release {
  display:flex; justify-content:center; align-items:center; flex-wrap:wrap;
  margin: clamp(34px,5vw,52px) auto 0; gap: clamp(15px, 2.25vw, 28px);
  padding:0; max-width:900px;
}
body.inner-page .services-platforms--release .services-platforms__logo {
  width: auto; height: clamp(27px,2.9vw,40px); max-width: 45%;
  filter: none; opacity: .90;
}
@media(max-width:540px){
  .contact-methods {gap: 18px;}
  body.inner-page .services-platforms--release {gap:17px 20px;}
  body.inner-page .services-platforms--release .services-platforms__logo {height:25px; max-width:44%;}
}
@media(prefers-reduced-motion: reduce){
  .contact-dropzone,.contact-methods__whatsapp,.contact-email-reveal {transition:none;}
  .contact-email-reveal:hover, .contact-methods__whatsapp:hover {transform:none;}
}
/* Keep the primary audio action consistent with other azure action buttons. */
.music-player .music-player__toggle {
  background: var(--action-blue); color: #fff;
  box-shadow: 0 0 18px rgba(43,124,250,.32);
}
.music-player .music-player__toggle:hover,
.music-player .music-player__toggle:focus-visible {
  background: var(--action-blue-hover); color: #fff;
  box-shadow: 0 0 23px rgba(52,142,255,.43);
}


/* v121: Minimal site footer. Content stays clear of the fixed player when visible. */
.site-footer {
  position: relative;
  z-index: 1;
  padding: 0 0 33px;
  background: transparent;
  color: rgba(255,255,255,.60);
}
.site-footer__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px 48px;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.16);
}
.site-footer p { margin: 0; }
.site-footer__identity { display: grid; gap: 5px; }
.site-footer__copyright, .site-footer__credit {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: .005em;
}
.site-footer__description {
  font-size: 11px;
  font-weight: 400;
  line-height: 1.65;
  color: rgba(255,255,255,.43);
}
.site-footer__credit { flex: 0 1 auto; text-align: right; }
.site-footer__credit a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px solid rgba(255,255,255,.38);
  transition: color .18s ease, border-color .18s ease;
}
.site-footer__credit a:hover,
.site-footer__credit a:focus-visible {
  color: #9cc9ff;
  border-bottom-color: currentColor;
}
/* Padding follows the player's measured height, including mobile's two-row dock.
   No need to hide the playback controls or cover the footer text. */
body.dock-visible .site-footer {
  padding-bottom: calc(33px + var(--dock-height, 112px));
}
@media (max-width: 700px) {
  .site-footer { padding-bottom: 26px; }
  .site-footer__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    padding-top: 22px;
  }
  .site-footer__credit { text-align: left; }
  body.dock-visible .site-footer {
    padding-bottom: calc(26px + var(--dock-height, 132px));
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer__credit a { transition: none; }
}


/* v123: Restrained About Me composition and a self-contained contact panel. */
main.main--home .about__inner {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: clamp(38px, 5vw, 76px);
  align-items: start;
}
main.main--home .about__heading h2 { margin-bottom: 0; }
main.main--home .about__heading .about__lead {
  max-width: 100%;
  margin: clamp(46px, 5vw, 66px) 0 0;
}
main.main--home .contact-form {
  box-sizing: border-box;
  width: 100%;
  padding: clamp(22px, 2.7vw, 34px);
  background: rgba(5, 9, 23, .52);
  border: 0;
  border-radius: 10px;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .12);
}
@media (max-width: 800px) {
  main.main--home .about__inner { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  main.main--home .about__heading .about__lead { max-width: 560px; margin-top: 34px; }
}
@media (max-width: 540px) {
  main.main--home .about__heading .about__lead { margin-top: 28px; }
  main.main--home .contact-form { padding: 21px 17px; }
}

/* v124: an unobtrusive, legible disclosure below the studio demo title. */
.music-player__track .music-player__track-note,
body:not(.inner-page) .hero .music-player--hero .music-player__track .music-player__track-note {
  display: block;
  margin: 6px 0 0;
  font-size: clamp(11px, .95vw, 12px);
  font-weight: 400;
  line-height: 1.4;
  color: rgba(255,255,255,.78);
  letter-spacing: 0;
  white-space: normal;
  overflow-wrap: break-word;
}
.music-player--dock .music-player__track .music-player__track-note {
  font-size: 11px;
  margin-top: 4px;
}
@media (max-width: 540px) {
  body:not(.inner-page) .hero .music-player--hero .music-player__track .music-player__track-note {
    font-size: 11px;
  }
}

/* v125: One clear contact flow: details first, form underneath. */
main.main--home .contact-section__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(32px, 4vw, 48px);
  max-width: 860px;
}
main.main--home .contact-section__intro > p:not(.contact-section__eyebrow) {
  max-width: 720px;
}
main.main--home .contact-methods {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 18px 30px;
  margin-top: 28px;
}
main.main--home .contact-methods__phone {
  min-width: 155px;
}
main.main--home .contact-form {
  max-width: 100%;
  margin: 0;
}
@media (max-width: 700px) {
  main.main--home .contact-section__inner {
    gap: 30px;
  }
  main.main--home .contact-methods {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-top: 26px;
  }
}
