:root {
  --black: #050505;
  --black-soft: #0b0b0d;
  --panel: #111114;
  --panel-2: #171719;
  --gold: #d8b24c;
  --gold-2: #f5d77d;
  --gold-dark: #8d6b22;
  --text: #f8f5ed;
  --muted: #b9b2a4;
  --line: rgba(216, 178, 76, .24);
  --shadow: 0 24px 70px rgba(0, 0, 0, .48);
  --radius: 8px;
  --max: 1440px;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at top right, rgba(216, 178, 76, .13), transparent 34rem),
    linear-gradient(180deg, #030303 0%, #0b0b0d 42%, #050505 100%);
  font-family: "Manrope", Arial, sans-serif;
  line-height: 1.65;
  overflow-x: hidden;
}

body.nav-open { overflow: hidden; }

a {
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}

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

.skip-link {
  position: absolute;
  left: -999px;
  top: 12px;
  z-index: 1000;
  padding: 10px 14px;
  background: var(--gold);
  color: #080808;
}

.skip-link:focus { left: 12px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 90;
  background: #030303;
  border-bottom: 0;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .42);
}

.site-header::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  z-index: 0;
  height: 1px;
  background:
    linear-gradient(90deg, rgba(245, 215, 125, .85), rgba(216, 178, 76, .34) 23%, transparent 36%),
    linear-gradient(270deg, rgba(245, 215, 125, .85), rgba(216, 178, 76, .34) 23%, transparent 36%);
  filter: drop-shadow(0 0 6px rgba(245, 215, 125, .24));
  pointer-events: none;
}

.site-header::before {
  top: 0;
}

.nav {
  position: relative;
  z-index: 1;
  width: min(var(--max), calc(100% - 40px));
  height: 118px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.logo {
  --logo-scale: 2;
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 230px;
  min-height: 118px;
  padding-top: 8px;
  overflow: visible;
  animation: logoEnter .9s cubic-bezier(.16, .84, .24, 1) both;
}

.logo img {
  width: 230px;
  height: auto;
  max-height: 118px;
  object-fit: contain;
  transform: scale(var(--logo-scale));
  transform-origin: left top;
}

@keyframes logoEnter {
  from {
    opacity: 0;
    transform: translateX(-72px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
  font-size: 1.05rem;
  font-family: "Manrope", Arial, sans-serif;
}

.nav-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 14px;
  border-radius: 999px;
  color: #fff;
  overflow: hidden;
  isolation: isolate;
  transition: color .22s ease, text-shadow .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease;
}

.nav-links a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(245, 215, 125, .98), rgba(216, 178, 76, .92) 46%, rgba(141, 107, 34, .96));
  opacity: 0;
  transform: scale(.94);
  transition: opacity .22s ease, transform .22s ease;
}

.nav-links a::after {
  content: "";
  position: absolute;
  inset: -40% auto -40% -70%;
  z-index: -1;
  width: 58%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .75), transparent);
  opacity: 0;
  transform: skewX(-18deg);
  transition: left .48s ease, opacity .18s ease;
}

.nav-links a:hover,
.nav-links a:focus-visible {
  color: #080808;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
  box-shadow: 0 0 22px rgba(216, 178, 76, .42), inset 0 0 0 1px rgba(255, 245, 190, .55);
  transform: translateY(-1px);
}

.nav-links a:hover::before,
.nav-links a:focus-visible::before {
  opacity: 1;
  transform: scale(1);
}

.nav-links a:hover::after,
.nav-links a:focus-visible::after {
  left: 112%;
  opacity: .82;
}

.nav-links a.active {
  color: var(--gold-2);
  text-shadow: 0 0 20px rgba(245, 215, 125, .34);
}

.nav-links a.active:hover,
.nav-links a.active:focus-visible {
  color: #080808;
}

.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #090909;
  color: var(--gold-2);
  cursor: pointer;
}

.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  margin: 5px auto;
  background: currentColor;
  transition: transform .25s ease, opacity .25s ease;
}

.nav-open .menu-toggle span { opacity: 0; }
.nav-open .menu-toggle::before { transform: translateY(7px) rotate(45deg); }
.nav-open .menu-toggle::after { transform: translateY(-7px) rotate(-45deg); }

.section {
  padding: 116px 0;
  position: relative;
}

.container {
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
}

.hero {
  min-height: calc(100vh - 118px);
  display: grid;
  align-items: center;
  overflow: hidden;
  background:
    var(--hero-image) center right / cover no-repeat;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .72) 42%, rgba(0, 0, 0, .28) 72%, rgba(0, 0, 0, .08) 100%),
    linear-gradient(270deg, rgba(216, 178, 76, .28) 0%, rgba(216, 178, 76, .1) 32%, rgba(216, 178, 76, .02) 62%, transparent 100%),
    linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(0, 0, 0, .46));
  pointer-events: none;
}

.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  z-index: 3;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  opacity: .9;
  transform: scale(1.04);
  filter: saturate(1) contrast(1.08) brightness(.92) drop-shadow(0 0 42px rgba(245, 215, 125, .62));
  animation: heroDrift 28s ease-in-out infinite alternate;
}

.hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 820px) 1fr;
  gap: 64px;
  align-items: center;
}

@keyframes heroDrift {
  from { transform: scale(1.04) translateX(1.6%); }
  to { transform: scale(1.09) translateX(-1.6%); }
}

.eyebrow {
  color: var(--gold-2);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.phone-pill,
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 13px 20px;
  border-radius: var(--radius);
  border: 1px solid rgba(245, 215, 125, .46);
  background: linear-gradient(135deg, var(--gold-2), var(--gold) 45%, var(--gold-dark));
  color: #080808;
  font-weight: 900;
  box-shadow: 0 14px 34px rgba(216, 178, 76, .2);
  position: relative;
  overflow: hidden;
  text-align: center;
}

.btn::before,
.phone-pill::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-120%);
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent);
  transition: transform .65s ease;
}

.btn:hover::before,
.phone-pill:hover::before { transform: translateX(120%); }

.btn.secondary {
  background: rgba(255, 255, 255, .05);
  color: var(--gold-2);
}

h1, h2, h3, h4, h5 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  line-height: 1.04;
  letter-spacing: 0;
}

h1 {
  margin-top: 26px;
  font-size: clamp(2.9rem, 5.8vw, 5.4rem);
}

.hero-title {
  font-size: clamp(2.25rem, 3.65vw, 4.2rem);
}

.hero-anim {
  animation: heroSlideIn 1.45s cubic-bezier(.16, .84, .24, 1) both;
}

.hero-anim-1 { animation-delay: .22s; }
.hero-anim-2 { animation-delay: .48s; }
.hero-anim-3 { animation-delay: .76s; }
.hero-anim-4 { animation-delay: 1.04s; }
.hero-anim-5 { animation-delay: 1.28s; }
.hero-anim-6 { animation-delay: 1.42s; }
.hero-anim-7 { animation-delay: 1.56s; }
.hero-anim-8 { animation-delay: 1.7s; }

@keyframes heroSlideIn {
  from {
    opacity: 0;
    transform: translateX(-64px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

h2 {
  font-size: clamp(2.8rem, 5vw, 5.4rem);
}

h3 { font-size: clamp(1.7rem, 3vw, 2.5rem); }

p { color: var(--muted); }

.hero-copy {
  max-width: 780px;
  font-size: 1.18rem;
  margin-top: 18px;
}

.premium-stats {
  position: relative;
  z-index: 4;
  margin-top: -1px;
  padding: 42px 0;
  background:
    radial-gradient(circle at 46% 0%, rgba(255, 226, 114, .36), transparent 22%),
    linear-gradient(115deg, rgba(62, 47, 10, .38) 0%, transparent 30%),
    linear-gradient(135deg, #8d6b22 0%, #d8b24c 36%, #f5d77d 58%, #b98b2d 100%);
  border-block: 2px solid rgba(255, 226, 114, .88);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .34), inset 0 -2px 0 rgba(70, 45, 5, .28), 0 0 34px rgba(216, 178, 76, .28), 0 18px 52px rgba(0, 0, 0, .42);
}

.premium-stats::before {
  content: "";
  position: absolute;
  inset: 10px 3%;
  border-radius: var(--radius);
  border: 2px solid rgba(255, 235, 151, .72);
  box-shadow: inset 0 0 30px rgba(255, 255, 255, .16), 0 0 12px rgba(245, 215, 125, .48), 0 0 38px rgba(216, 178, 76, .32);
  pointer-events: none;
}

.premium-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, .72fr)) minmax(280px, 1.34fr);
  align-items: center;
  gap: 28px;
  min-height: 138px;
}

.premium-stat {
  padding: 12px 18px;
  border-right: 3px solid rgba(45, 31, 4, .34);
  box-shadow: 10px 0 18px -16px rgba(255, 244, 184, .5);
}

.premium-stat strong {
  display: block;
  color: #050505;
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: .95;
  font-weight: 900;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .34);
}

.premium-stat span {
  color: #15110a;
  font-weight: 800;
}

.premium-stats p {
  margin: 0;
  color: #050505;
  font-size: clamp(1.1rem, 2vw, 1.55rem);
  line-height: 1.35;
  font-weight: 900;
}

.social-row,
.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.social-row a {
  position: relative;
  display: inline-flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  padding: 0;
  color: var(--gold-2);
  background: rgba(255, 255, 255, .035);
  box-shadow: inset 0 0 0 1px rgba(255, 230, 150, .08);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease;
}

.social-row svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}

.social-row a:hover {
  transform: translateY(-3px) scale(1.04);
  border-color: var(--gold);
  color: var(--gold);
  box-shadow: 0 0 20px rgba(216, 178, 76, .34), inset 0 0 0 1px rgba(255, 230, 150, .16);
}

.social-phone span {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  transform: translate(-50%, 8px) scale(.96);
  min-width: max-content;
  padding: 10px 14px;
  border: 1px solid rgba(216, 178, 76, .58);
  border-radius: 10px;
  color: var(--gold-2);
  background: rgba(5, 5, 4, .95);
  box-shadow: 0 0 22px rgba(216, 178, 76, .28);
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .01em;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.social-phone:hover span,
.social-phone:focus-visible span {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.intro-grid,
.split-grid,
.contact-grid,
.booking-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.intro-grid {
  align-items: center;
}

.image-frame {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: linear-gradient(145deg, rgba(216, 178, 76, .12), rgba(255, 255, 255, .03));
  box-shadow: var(--shadow);
}

.image-frame img {
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
}

.about-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}

.about-content h2 {
  position: relative;
  padding-top: 22px;
  font-size: clamp(2.25rem, 3.25vw, 4rem);
  line-height: .98;
  white-space: nowrap;
}

.about-content h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(100%, 620px);
  height: 1px;
  background: linear-gradient(90deg, var(--gold), rgba(216, 178, 76, .08));
}

.about-content .statement {
  font-size: clamp(1.15rem, 1.72vw, 1.55rem);
  line-height: 1.42;
}

.about-content p {
  margin: 0;
  line-height: 1.55;
}

.about-content .btn {
  align-self: flex-start;
  margin-top: 2px;
}

.statement {
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  color: #fff;
  font-weight: 800;
}

.stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 30px;
}

.stat,
.card,
.price-card,
.location-card,
.form-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
  box-shadow: 0 18px 48px rgba(0, 0, 0, .28);
}

.stat {
  padding: 22px;
}

.stat strong {
  display: block;
  color: var(--gold-2);
  font-size: 2.35rem;
  line-height: 1;
}

.stat span {
  color: var(--muted);
  font-size: .92rem;
}

.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 42px;
}

.services-showcase {
  overflow: hidden;
  background:
    radial-gradient(circle at 24% 7%, rgba(245, 215, 125, .2), transparent 24%),
    linear-gradient(135deg, rgba(255, 255, 255, .05), transparent 32%),
    #050505;
}

.services-showcase::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 18px);
  opacity: .18;
}

.services-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 64px;
  align-items: center;
}

.services-showcase .cards {
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: 0;
}

.card {
  padding: 32px;
  transition: transform .25s ease, border-color .25s ease;
}

.card:hover {
  transform: translateY(-6px);
  border-color: rgba(245, 215, 125, .6);
}

.card img,
.feature img {
  width: 74px;
  height: 74px;
  object-fit: contain;
  margin-bottom: 18px;
}

.card h4,
.feature h5 {
  color: #fff;
  font-family: "Manrope", Arial, sans-serif;
  text-transform: none;
}

.gold-band {
  background:
    linear-gradient(110deg, rgba(216, 178, 76, .24), rgba(216, 178, 76, .05)),
    #090909;
  border-block: 1px solid var(--line);
}

.services-showcase .card {
  position: relative;
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 18px;
  align-items: center;
  padding: 26px;
  border-color: rgba(216, 178, 76, .28);
  background: linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .012));
  box-shadow: 0 13px 34px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 232, 150, .08);
}

.services-showcase .card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  box-shadow: 0 0 14px rgba(245, 215, 125, .55);
}

.services-showcase .service-icon {
  grid-row: 1 / 3;
  width: 54px;
  height: 54px;
  margin: 0;
  padding: 11px;
  border: 1px solid rgba(245, 215, 125, .86);
  border-radius: 16px;
  background: #000;
  box-shadow: 0 0 28px rgba(216, 178, 76, .34), inset 0 0 18px rgba(245, 215, 125, .05);
}

.services-showcase .service-icon svg {
  width: 100%;
  height: 100%;
  fill: #fff;
  display: block;
}

.service-icon-anim {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 1.15s cubic-bezier(.16, .84, .24, 1), transform 1.15s cubic-bezier(.16, .84, .24, 1);
}

.card.visible .service-icon-anim {
  opacity: 1;
  transform: translateY(0);
}

.card.visible .service-icon-anim-2 { transition-delay: .18s; }
.card.visible .service-icon-anim-3 { transition-delay: .36s; }

.services-showcase .card h4 {
  grid-column: 2;
  margin-bottom: 8px;
  color: #fff;
  font-size: 1.08rem;
  text-transform: uppercase;
}

.services-showcase .card h4::after {
  content: "";
  display: block;
  width: 62px;
  height: 1px;
  margin-top: 12px;
  background: var(--gold);
}

.services-showcase .card p,
.services-panel p {
  grid-column: 2;
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: .9rem;
  line-height: 1.55;
}

.services-showcase .card:hover {
  border-color: rgba(245, 215, 125, .86);
  background: linear-gradient(145deg, rgba(245, 215, 125, .32), rgba(177, 129, 35, .18));
  box-shadow: 0 0 34px rgba(216, 178, 76, .28), inset 0 1px 0 rgba(255, 232, 150, .2);
}

.services-panel h2 {
  max-width: 560px;
  text-transform: uppercase;
}

.services-panel .eyebrow {
  display: inline-flex;
  width: fit-content;
  margin-inline: auto;
  padding: 8px 14px;
  border: 1px solid rgba(245, 215, 125, .54);
  border-radius: 8px;
  background: linear-gradient(135deg, var(--gold-2), var(--gold) 48%, var(--gold-dark));
  color: #080808;
  box-shadow: 0 0 22px rgba(216, 178, 76, .26);
}

.services-panel h2::after {
  content: "";
  display: block;
  height: 1px;
  margin: 26px 0;
  background: linear-gradient(90deg, var(--gold), rgba(216, 178, 76, .1));
  box-shadow: 0 0 16px rgba(245, 215, 125, .35);
}

.services-panel img {
  width: 100%;
  margin-top: 28px;
  border: 1px solid rgba(216, 178, 76, .45);
  border-radius: 18px;
  box-shadow: 0 22px 54px rgba(0, 0, 0, .38), 0 0 26px rgba(216, 178, 76, .16);
}

.service-contact {
  width: 100%;
  margin: 28px auto 0;
  background: rgba(0, 0, 0, .62);
  color: var(--gold-2);
  box-shadow: 0 0 28px rgba(216, 178, 76, .2);
}

.service-contact:hover {
  border-color: var(--gold);
  background: linear-gradient(135deg, var(--gold-2), var(--gold) 45%, var(--gold-dark));
  color: #080808;
  box-shadow: 0 0 34px rgba(216, 178, 76, .34);
}

.pet-section {
  background:
    radial-gradient(circle at 85% 50%, rgba(216, 178, 76, .14), transparent 28%),
    linear-gradient(135deg, #030303, #0b0905 65%, #050505);
}

.pet-photo {
  overflow: hidden;
  border: 1px solid rgba(216, 178, 76, .38);
  border-radius: 28px;
  box-shadow: 0 24px 58px rgba(0, 0, 0, .38), 0 0 30px rgba(216, 178, 76, .16);
}

.pet-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.pet-copy {
  position: relative;
  padding-top: 34px;
}

.pet-copy::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), rgba(216, 178, 76, .1));
  box-shadow: 0 0 16px rgba(216, 178, 76, .35);
}

.pet-copy p {
  margin: 0;
  color: #fff;
  font-size: clamp(1.1rem, 1.7vw, 1.55rem);
  line-height: 1.65;
}

.pet-copy strong {
  color: var(--gold-2);
}

.pet-reveal-left {
  transform: translateX(-72px);
  transition: opacity 1.45s cubic-bezier(.16, .84, .24, 1), transform 1.45s cubic-bezier(.16, .84, .24, 1);
}

.pet-reveal-right {
  transform: translateX(72px);
  transition: opacity 1.45s cubic-bezier(.16, .84, .24, 1), transform 1.45s cubic-bezier(.16, .84, .24, 1);
}

.features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 36px;
}

.feature {
  padding: 28px;
  border-left: 1px solid var(--line);
}

.qualified-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 22% 100%, rgba(216, 178, 76, .16), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, .035), transparent 36%),
    #030303;
}

.qualified-card {
  padding: clamp(34px, 5vw, 70px);
  border: 1px solid rgba(216, 178, 76, .42);
  border-radius: 28px;
  background:
    radial-gradient(circle at 82% 20%, rgba(216, 178, 76, .18), transparent 24%),
    linear-gradient(145deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .018));
  box-shadow: 0 28px 70px rgba(0, 0, 0, .45), 0 0 34px rgba(216, 178, 76, .12);
}

.qualified-top {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
  margin-bottom: clamp(54px, 8vw, 96px);
}

.qualified-title {
  color: #fff;
  font-family: "Manrope", Arial, sans-serif;
  font-size: clamp(2.6rem, 5vw, 5rem);
  font-weight: 900;
  line-height: .98;
}

.qualified-btn {
  min-width: 190px;
  background: rgba(0, 0, 0, .72);
  color: var(--gold-2);
  border-color: rgba(245, 215, 125, .74);
  box-shadow: 0 0 28px rgba(216, 178, 76, .22);
}

.qualified-btn:hover {
  background: linear-gradient(135deg, var(--gold-2), var(--gold) 48%, var(--gold-dark));
  color: #080808;
  box-shadow: 0 0 36px rgba(216, 178, 76, .38);
}

.qualified-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 5vw, 70px);
}

.qualified-feature span {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  margin-bottom: 28px;
  border: 1px solid rgba(245, 215, 125, .82);
  border-radius: 16px;
  background: #000;
  box-shadow: 0 0 26px rgba(216, 178, 76, .3), inset 0 0 14px rgba(245, 215, 125, .05);
}

.qualified-feature img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.qualified-feature h5 {
  margin: 0 0 14px;
  color: #fff;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 1.25rem;
  text-transform: uppercase;
}

.qualified-feature h5::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  margin-top: 12px;
  background: var(--gold);
  box-shadow: 0 0 14px rgba(216, 178, 76, .45);
}

.qualified-feature p {
  margin: 0;
  color: rgba(255, 255, 255, .78);
}

.reveal.qualified-title {
  transform: translateX(-72px);
  transition: opacity 1.35s cubic-bezier(.16, .84, .24, 1), transform 1.35s cubic-bezier(.16, .84, .24, 1);
}

.reveal.qualified-btn {
  transform: translateX(72px);
  transition: opacity 1.35s cubic-bezier(.16, .84, .24, 1), transform 1.35s cubic-bezier(.16, .84, .24, 1);
}

.qualified-feature {
  transform: translateY(48px);
  transition: opacity 1.15s cubic-bezier(.16, .84, .24, 1), transform 1.15s cubic-bezier(.16, .84, .24, 1);
}

.qualified-feature.visible {
  transform: translateY(0);
}

.qualified-feature-2.visible { transition-delay: .16s; }
.qualified-feature-3.visible { transition-delay: .32s; }

.video-grid {
  --video-card-width: clamp(380px, 32vw, 520px);
  --video-gap: 34px;
  overflow: hidden;
  padding: 116px 0 132px;
  margin-top: 48px;
}

.video-track {
  display: flex;
  width: max-content;
  gap: var(--video-gap);
  animation: workVideoMarquee 34s linear infinite;
  will-change: transform;
}

.video-grid:hover .video-track,
.video-grid.is-video-focused .video-track {
  animation-play-state: paused;
}

.video-card {
  flex: 0 0 var(--video-card-width);
  position: relative;
  z-index: 1;
  overflow: visible;
  isolation: isolate;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(216, 178, 76, .46);
  border-radius: 18px;
  background: #050505;
  box-shadow: 0 22px 54px rgba(0, 0, 0, .38), 0 0 28px rgba(216, 178, 76, .72), 0 0 72px rgba(245, 215, 125, .4);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease, z-index .35s ease;
}

.video-card::before {
  content: "";
  position: absolute;
  inset: -16px;
  z-index: -1;
  border-radius: 24px;
  background:
    radial-gradient(circle, rgba(255, 226, 128, .7), rgba(216, 178, 76, .34) 44%, transparent 74%);
  filter: blur(8px);
  opacity: 1;
}

.video-card:hover,
.video-card.is-video-focus {
  z-index: 400;
  border-color: rgba(245, 215, 125, 1);
  box-shadow: 0 34px 90px rgba(0, 0, 0, .68), 0 0 44px rgba(255, 224, 112, .95), 0 0 92px rgba(216, 178, 76, .62);
}

.video-card.is-video-focus {
  position: fixed;
  top: 50%;
  left: 50%;
  width: min(46vw, 760px);
  transform: translate(-50%, -50%) rotate(-20deg) scale(2);
  border-color: rgba(245, 215, 125, 1);
  box-shadow: 0 34px 90px rgba(0, 0, 0, .68), 0 0 44px rgba(255, 224, 112, .95), 0 0 92px rgba(216, 178, 76, .62);
}

.video-card video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.video-lightbox {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: none;
  place-items: center;
  padding: 34px clamp(58px, 7vw, 110px);
  background: rgba(0, 0, 0, .92);
}

.video-lightbox.open {
  display: grid;
}

.video-lightbox video { box-shadow: 0 0 42px rgba(255, 224, 112, .86), 0 0 100px rgba(216, 178, 76, .5); }

.video-lightbox video {
  width: min(100%, 1280px);
  max-height: 88vh;
  border: 1px solid rgba(245, 215, 125, .82);
  border-radius: 18px;
  background: #000;
  box-shadow: 0 0 64px rgba(245, 215, 125, .34);
}

.video-lightbox-arrow,
.video-lightbox-close {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid rgba(245, 215, 125, .7);
  background: rgba(0, 0, 0, .68);
  color: var(--gold-2);
  cursor: pointer;
}

.video-lightbox-arrow {
  top: 50%;
  width: 58px;
  height: 72px;
  border-radius: 999px;
  font-size: 2.4rem;
  transform: translateY(-50%);
}

.video-lightbox-prev {
  left: 22px;
}

.video-lightbox-next {
  right: 22px;
}

.video-lightbox-close {
  top: 22px;
  right: 22px;
  width: 44px;
  height: 44px;
  border-radius: var(--radius);
  font-size: 1.4rem;
}

@keyframes workVideoMarquee {
  to {
    transform: translateX(calc(-5 * (var(--video-card-width) + var(--video-gap))));
  }
}

.work-section {
  text-align: center;
  background:
    radial-gradient(circle at 50% 12%, rgba(216, 178, 76, .13), transparent 26%),
    linear-gradient(135deg, rgba(255, 255, 255, .035), transparent 34%),
    #030303;
}

.work-container h2 {
  color: #fff;
  font-family: "Manrope", Arial, sans-serif;
  font-size: clamp(2rem, 4vw, 3.7rem);
  font-weight: 900;
  text-transform: uppercase;
}

.work-container > p {
  color: rgba(255, 255, 255, .74);
}

.work-btn {
  margin-top: 22px;
  background: rgba(0, 0, 0, .68);
  color: var(--gold-2);
  border-color: rgba(245, 215, 125, .72);
  box-shadow: 0 0 24px rgba(216, 178, 76, .18);
}

.work-btn:hover {
  background: linear-gradient(135deg, var(--gold-2), var(--gold) 48%, var(--gold-dark));
  color: #080808;
  box-shadow: 0 0 34px rgba(216, 178, 76, .34);
}

.play-button {
  width: 86px;
  height: 86px;
  border-radius: 999px;
  border: 1px solid rgba(245, 215, 125, .7);
  background: rgba(5, 5, 5, .72);
  color: var(--gold-2);
  font-weight: 900;
  cursor: pointer;
}

.page-hero {
  min-height: 420px;
  display: grid;
  place-items: center;
  text-align: center;
  background:
    linear-gradient(rgba(0, 0, 0, .76), rgba(0, 0, 0, .86)),
    var(--hero-image) center / cover no-repeat;
  border-bottom: 1px solid var(--line);
}

.page-hero p {
  max-width: 790px;
  margin: 22px auto 0;
}

.locations {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 28px;
}

.location-card {
  padding: 24px;
}

.location-card h3 {
  color: var(--gold-2);
  text-transform: lowercase;
}

.location-card.friday h3 { text-transform: uppercase; }

.prices {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 26px;
}

.price-card {
  padding: 20px;
}

.price-card strong {
  display: block;
  color: #fff;
}

.price-card span {
  color: var(--gold-2);
  font-weight: 900;
}

.steps {
  margin: 24px 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.steps li {
  border-left: 2px solid var(--gold);
  padding: 9px 0 9px 16px;
  color: var(--muted);
}

.form-card {
  padding: 30px;
}

.form-grid {
  display: grid;
  gap: 16px;
}

.field {
  display: grid;
  gap: 7px;
}

.field label,
.radio-label {
  color: #fff;
  font-weight: 800;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(0, 0, 0, .38);
  color: #fff;
  padding: 13px 14px;
  font: inherit;
}

input[type="radio"],
input[type="checkbox"] {
  width: auto;
}

textarea { min-height: 138px; resize: vertical; }

.radio-row {
  display: flex;
  gap: 20px;
  color: var(--muted);
}

.form-note {
  display: none;
  margin-top: 12px;
  color: var(--gold-2);
}

.form-note.is-success { color: #d9bd63; }
.form-note.is-error { color: #ff9d9d; }
.lead-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
form[aria-busy="true"] .btn { cursor: wait; opacity: .72; }

.footer {
  padding: 72px 0 24px;
  background:
    radial-gradient(circle at 12% 0%, rgba(216, 178, 76, .14), transparent 25%),
    #020202;
  border-top: 1px solid rgba(216, 178, 76, .24);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.25fr .9fr 1.15fr 1.25fr;
  gap: 42px;
  align-items: start;
}

.footer-grid > div:nth-child(3),
.footer-grid > div:nth-child(4) {
  border-left: 1px solid rgba(216, 178, 76, .38);
  padding-left: 34px;
}

.footer h2,
.footer h3 {
  font-size: 1.3rem;
  font-family: "Manrope", Arial, sans-serif;
  color: var(--gold-2);
}

.footer p {
  max-width: 310px;
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.55;
}

.footer ul {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  color: var(--gold-2);
}

.footer li + li {
  margin-top: 9px;
}

.footer-grid > div:nth-child(4) li + li {
  margin-top: 5px;
}

.footer-grid > div:nth-child(4) a {
  line-height: 1.25;
}

.footer a {
  color: var(--gold-2);
  font-weight: 800;
}

.footer a:hover {
  color: #fff;
  text-shadow: 0 0 12px rgba(216, 178, 76, .55);
}

.footer-contact li {
  display: flex;
  gap: 10px;
  align-items: center;
}

.footer-contact span {
  width: 18px;
  color: var(--gold);
  font-weight: 900;
  text-align: center;
}

.copyright {
  border-top: 1px solid rgba(216, 178, 76, .18);
  margin-top: 34px;
  padding-top: 18px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: var(--muted);
  flex-wrap: wrap;
}

.cookie {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 100;
  width: min(430px, calc(100% - 44px));
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(8, 8, 8, .96);
  box-shadow: var(--shadow);
}

.cookie.hidden { display: none; }

body[data-proof="true"] .cookie {
  display: none;
}

.cookie h3 {
  font-family: "Manrope", Arial, sans-serif;
  font-size: 1rem;
  margin-bottom: 10px;
}

.cookie p {
  font-size: .85rem;
  margin-bottom: 14px;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: none;
  place-items: center;
  padding: 24px;
  background: rgba(0, 0, 0, .8);
}

.modal.open { display: grid; }

.modal-content {
  width: min(760px, 100%);
  min-height: 420px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #090909;
  display: grid;
  place-items: center;
  position: relative;
}

.modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: #050505;
  color: var(--gold-2);
  cursor: pointer;
}

.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .7s ease, transform .7s ease;
}

.about-reveal {
  transform: translateY(110px);
  transition: opacity 2.1s cubic-bezier(.16, .84, .24, 1), transform 2.1s cubic-bezier(.16, .84, .24, 1);
}

.reveal.pet-reveal-left {
  transform: translateX(-72px);
  transition: opacity 1.45s cubic-bezier(.16, .84, .24, 1), transform 1.45s cubic-bezier(.16, .84, .24, 1);
}

.reveal.pet-reveal-right {
  transform: translateX(72px);
  transition: opacity 1.45s cubic-bezier(.16, .84, .24, 1), transform 1.45s cubic-bezier(.16, .84, .24, 1);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.client-proof {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 120;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(0, 0, 0, .7);
  color: var(--gold-2);
  font-size: .8rem;
  pointer-events: none;
}

@media (max-width: 920px) {
  .menu-toggle { display: block; }
  .nav-links {
    position: fixed;
    inset: 118px 0 auto;
    display: grid;
    gap: 0;
    padding: 18px 20px 28px;
    background: rgba(3, 3, 3, .98);
    border-bottom: 1px solid var(--line);
    transform: translateY(-120%);
    transition: transform .28s ease;
  }
  .nav-open .nav-links { transform: translateY(0); }
  .nav-links a {
    display: block;
    padding: 14px 0;
    border-radius: 0;
  }
  .hero-grid,
  .intro-grid,
  .split-grid,
  .contact-grid,
  .booking-grid {
    grid-template-columns: 1fr;
  }
  .hero {
    min-height: auto;
    padding: 84px 0;
    background-position: center;
  }
  .hero-video {
    object-position: 62% center;
    opacity: .82;
    animation: none;
  }
  .hero-anim {
    animation: none;
  }
  .cards,
  .features,
  .qualified-features,
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-grid > div:nth-child(3),
  .footer-grid > div:nth-child(4) {
    border-left: 0;
    padding-left: 0;
  }
  .qualified-top {
    grid-template-columns: 1fr;
  }
  .services-grid {
    grid-template-columns: 1fr;
  }
  .premium-stats-grid {
    grid-template-columns: repeat(3, 1fr);
    text-align: center;
  }
  .premium-stats p {
    grid-column: 1 / -1;
    max-width: 640px;
    margin: 0 auto;
  }
  .about-content h2 {
    white-space: normal;
  }
  .card,
  .price-card,
  .location-card,
  .form-card {
    overflow-wrap: anywhere;
  }
  .premium-stat {
    border-right: 0;
    padding-inline: 8px;
  }
  .locations,
  .prices,
  .video-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .nav { width: min(100% - 28px, 360px); height: 92px; }
  .logo {
    --logo-scale: 1.55;
    width: 190px;
    min-height: 92px;
    padding-top: 6px;
  }
  .logo img {
    width: 190px;
    max-height: 92px;
  }
  .nav-links { inset: 92px 0 auto; }
  .container { width: min(100% - 28px, 360px); }
  .section { padding: 66px 0; }
  h1 { font-size: clamp(2.3rem, 12vw, 3rem); }
  h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .hero {
    padding: 70px 0;
  }
  .hero-grid > * {
    min-width: 0;
    width: 100%;
    max-width: min(100%, 320px);
  }
  .hero-title {
    max-width: 100%;
    font-size: clamp(1.65rem, 8vw, 2.35rem);
  }
  .hero-title br {
    display: block;
  }
  .hero-copy {
    max-width: 100%;
    font-size: .98rem;
  }
  .page-hero {
    min-height: 340px;
    padding: 72px 0;
  }
  .premium-stats {
    padding: 28px 0;
  }
  .premium-stats-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .premium-stat {
    border-bottom: 1px solid rgba(216, 178, 76, .18);
  }
  .stats { grid-template-columns: 1fr; }
  .services-showcase .card {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
  }
  .services-showcase .service-icon {
    width: 54px;
    height: 54px;
    padding: 11px;
  }
  .button-row {
    flex-direction: column;
  }
  .social-row {
    flex-direction: row;
  }
  .btn,
  .phone-pill {
    width: 100%;
  }
  .copyright {
    display: grid;
  }
  .video-grid {
    --video-card-width: min(82vw, 320px);
    --video-gap: 16px;
    padding-block: 54px 64px;
  }
  .video-lightbox {
    padding: 72px 16px;
  }
  .video-lightbox video {
    max-height: 76vh;
  }
  .video-lightbox-arrow {
    width: 44px;
    height: 58px;
    font-size: 1.8rem;
  }
  .video-lightbox-prev {
    left: 8px;
  }
  .video-lightbox-next {
    right: 8px;
  }
  .cookie {
    right: 14px;
    bottom: 14px;
    width: calc(100% - 28px);
    padding: 18px;
  }
  .client-proof {
    left: 12px;
    bottom: 12px;
    max-width: calc(100% - 24px);
    font-size: .68rem;
  }
  .reveal,
  .about-reveal,
  .reveal.pet-reveal-left,
  .reveal.pet-reveal-right,
  .reveal.qualified-title,
  .reveal.qualified-btn,
  .qualified-feature {
    transition-duration: .45s;
  }
}


/* Internal pages migrated from the previous WordPress site. */
.internal-page .page-hero { min-height: 460px; }
.internal-page .page-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.54)), linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.8)); }
.internal-page .page-hero .container { position: relative; z-index: 1; }
.internal-page .page-hero h1 { color: #fff; }
.internal-page .nav-links { gap: 3px; font-size: .91rem; }
.internal-page .nav-links a { padding-inline: 10px; }
.internal-page .reveal { opacity: 1; transform: none; }
.about-page .about-speed-hero { position: relative; min-height: clamp(390px, 52vw, 570px); display: grid; place-items: center; overflow: hidden; isolation: isolate; background: #020606 url('/assets/placeholders/image-placeholder.svg') center / cover no-repeat; border-bottom: 1px solid rgba(216,178,76,.28); }
.about-page .about-speed-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,10,10,.35) 50%, rgba(0,0,0,.78)), linear-gradient(180deg, rgba(0,0,0,.26), rgba(0,0,0,.72)); }
.about-page .about-speed-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .32; background: repeating-linear-gradient(102deg, transparent 0 54px, rgba(216,178,76,.11) 55px, transparent 57px 112px); transform: translateX(-8%); animation: aboutSpeedLines 8s linear infinite; }
.about-page .about-speed-content { text-align: center; }
.about-page .about-speed-title { position: relative; width: fit-content; margin: 0 auto 24px; color: var(--gold-2); font-family: "Manrope", Arial, sans-serif; font-size: clamp(3.4rem, 8vw, 7.5rem); font-style: italic; font-weight: 900; line-height: .9; letter-spacing: 0; text-transform: uppercase; text-shadow: 0 0 24px rgba(216,178,76,.24); transform: skewX(-7deg); animation: aboutTitleDriveIn .9s cubic-bezier(.16,.84,.24,1) both; }
.about-page .about-speed-title::before, .about-page .about-speed-title::after { content: ""; position: absolute; top: 50%; right: calc(100% + 22px); width: clamp(45px, 9vw, 130px); height: 4px; background: linear-gradient(90deg, transparent, var(--gold)); box-shadow: 0 -12px 0 rgba(216,178,76,.42), 0 12px 0 rgba(216,178,76,.18); transform: skewX(7deg); }
.about-page .about-speed-title::after { right: auto; left: calc(100% + 22px); background: linear-gradient(90deg, var(--gold), transparent); }
.about-page .about-speed-copy { min-height: 3.4em; max-width: 830px; margin: 0 auto; color: #fff; font-size: clamp(1rem, 1.6vw, 1.35rem); font-weight: 800; line-height: 1.65; text-wrap: balance; }
.about-page .about-speed-copy::after { content: ""; display: inline-block; width: 2px; height: 1.05em; margin-left: 5px; vertical-align: -.12em; background: var(--gold-2); animation: aboutTypingCaret .72s steps(1) infinite; }
.about-page .about-speed-copy.typing-complete::after { animation-iteration-count: 4; }
.about-page .about-presence-section { position: relative; padding: clamp(72px, 8vw, 118px) 0; overflow: hidden; background: linear-gradient(125deg, #9b7620 0%, #d8b24c 43%, #f1cf71 62%, #aa7f22 100%); border-block: 1px solid rgba(255,231,148,.58); }
.about-page .about-presence-section::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, rgba(0,0,0,.24), transparent 34%, rgba(255,255,255,.12) 58%, rgba(0,0,0,.2)); }
.about-page .about-presence-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: clamp(48px, 7vw, 104px); align-items: center; }
.about-page .about-presence-image { overflow: hidden; border: 1px solid rgba(15,12,5,.35); border-radius: 8px; background: #080808; box-shadow: 0 28px 64px rgba(29,20,2,.3); }
.about-page .about-presence-image img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.about-page .about-presence-copy { position: relative; padding-top: 34px; font-family: "Invariant", "Manrope", Arial, sans-serif; }
.about-page .about-presence-copy::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, #080808, rgba(8,8,8,.16)); }
.about-page .about-presence-copy p { max-width: 640px; margin: 0 0 34px; color: #080808; font-family: inherit; font-size: clamp(1.22rem, 2vw, 1.75rem); font-weight: 700; line-height: 1.55; }
.about-page .about-presence-copy .btn { min-width: 230px; border-color: rgba(8,8,8,.55); background: #080808; color: var(--gold-2); box-shadow: 0 16px 34px rgba(18,13,3,.24); }
.about-page .about-presence-copy .btn:hover { background: #17130a; color: #fff; }
.about-page .location-route-section { position: relative; overflow: hidden; padding: clamp(78px, 8vw, 118px) 0; background: #070704 url('/assets/placeholders/image-placeholder.svg') center / cover fixed no-repeat; border-bottom: 1px solid rgba(216,178,76,.3); }
.about-page .location-route-section::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.84); pointer-events: none; }
.about-page .location-route-section > .container { position: relative; }
.about-page .location-route-intro { max-width: 1040px; text-align: center; }
.about-page .location-route-intro h2 { margin: 4px 0 22px; color: #fff; font-family: "Manrope", Arial, sans-serif; font-size: clamp(2.8rem, 6vw, 5.5rem); font-weight: 900; line-height: .95; text-transform: uppercase; }
.about-page .location-route-intro .content-lead { margin-inline: auto; color: var(--gold-2); }
.about-page .location-route-intro > p:last-child { max-width: 920px; margin: 14px auto 0; color: rgba(255,255,255,.82); }
.about-page .location-days { display: grid; gap: clamp(62px, 8vw, 104px); margin-top: 64px; }
.about-page .location-day { animation: locationFadeInUp .8s cubic-bezier(.16,.84,.24,1) both; }
.about-page .location-day:nth-child(2) { animation-delay: .08s; }
.about-page .location-day:nth-child(3) { animation-delay: .16s; }
.about-page .location-day:nth-child(4) { animation-delay: .24s; }
.about-page .location-day:nth-child(5) { animation-delay: .32s; }
.about-page .location-day:nth-child(6) { animation-delay: .4s; }
.about-page .location-day h3 { margin: 0 0 28px; color: #fff; font-family: "Manrope", Arial, sans-serif; font-size: clamp(1.55rem, 2.6vw, 2.15rem); font-weight: 900; letter-spacing: 10px; text-align: center; text-transform: uppercase; }
.about-page .image-accordion { display: flex; width: 100%; min-height: 677px; overflow: hidden; border: 1px solid rgba(216,178,76,.46); background: #050505; box-shadow: 0 28px 68px rgba(0,0,0,.48); }
.about-page .image-accordion input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.about-page .image-accordion label { position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; cursor: pointer; background-image: linear-gradient(180deg, rgba(0,0,0,.08) 35%, rgba(0,0,0,.92)), var(--location-image); background-position: center; background-size: cover; border-right: 1px solid rgba(216,178,76,.28); transition: flex .62s cubic-bezier(.16,.84,.24,1), filter .4s ease; filter: saturate(.72) brightness(.72); }
.about-page .image-accordion label:last-of-type { border-right: 0; }
.about-page .image-accordion label:hover,
.about-page .image-accordion input:checked + label,
.about-page .image-accordion label:focus-visible { flex: 4 1 0; filter: saturate(1) brightness(1); }
.about-page .image-accordion label span { position: absolute; inset: auto 0 0; display: block; padding: 22px 20px; color: #fff; font-size: 1rem; font-weight: 800; line-height: 1.4; text-transform: uppercase; text-shadow: 0 2px 8px #000; opacity: .74; transform: translateY(5px); transition: opacity .35s ease, transform .35s ease; }
.about-page .image-accordion label:hover span,
.about-page .image-accordion input:checked + label span,
.about-page .image-accordion label:focus-visible span { opacity: 1; transform: translateY(0); }
.about-page .location-booking { display: flex; width: fit-content; margin: 28px auto 0; background: linear-gradient(135deg, var(--gold-2), var(--gold) 52%, var(--gold-dark)); color: #080808; transition: transform .28s ease, box-shadow .28s ease; }
.about-page .location-booking:hover { transform: scale(1.05); box-shadow: 0 0 30px rgba(216,178,76,.4); }
.services-page .services-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.services-page .services-hero { position: relative; min-height: clamp(500px, 62vw, 700px); display: grid; place-items: center; overflow: hidden; isolation: isolate; background: #030303 url('/assets/placeholders/image-placeholder.svg') center / cover no-repeat; border-bottom: 1px solid rgba(216,178,76,.4); }
.services-page .services-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.42) 52%, rgba(0,0,0,.84)), linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.82)); }
.services-page .services-hero::after { content: ""; position: absolute; right: -5%; bottom: -12%; z-index: -1; width: min(46vw, 620px); aspect-ratio: 1; background: url('/assets/placeholders/image-placeholder.svg') center / contain no-repeat; opacity: .24; animation: servicesHeroMark 7s ease-in-out infinite alternate; }
.services-page .services-hero-content { max-width: 940px; text-align: center; animation: servicesFadeUp .9s cubic-bezier(.16,.84,.24,1) both; }
.services-page .services-hero h1 { margin: 8px 0 24px; color: var(--gold-2); font-family: "Manrope", Arial, sans-serif; font-size: clamp(4.2rem, 10vw, 8.4rem); font-style: italic; font-weight: 900; line-height: .85; text-transform: uppercase; text-shadow: 0 0 28px rgba(216,178,76,.24); }
.services-page .services-hero-content > p:last-child { max-width: 820px; margin: 0 auto; color: #fff; font-size: clamp(1rem, 1.6vw, 1.3rem); font-weight: 600; line-height: 1.7; }
.services-page .services-inchworm { position: relative; min-height: 100vh; overflow: clip; background: #020202; border-bottom: 1px solid rgba(216,178,76,.38); }
.services-page .services-inchworm-pin { position: relative; height: 100vh; min-height: 650px; display: grid; grid-template-rows: auto minmax(0,1fr) auto; align-items: center; overflow: hidden; padding: clamp(26px,4vw,52px) 0 clamp(22px,3vw,38px); isolation: isolate; background: radial-gradient(circle at 50% 55%,rgba(216,178,76,.13),transparent 32%),linear-gradient(145deg,#020202,#0a0804 55%,#020202); }
.services-page .services-inchworm-pin::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .16; background: url('/assets/placeholders/image-placeholder.svg') center / cover no-repeat; transform: scale(1.04); }
.services-page .services-inchworm-pin::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.38) 50%,rgba(0,0,0,.94)); }
.services-page .services-inchworm-heading { position: relative; z-index: 30; width: 100%; margin: 0 auto; overflow: hidden; text-align: center; }
.services-page .services-inchworm-heading h2 { display: flex; width: max-content; margin: 8px 0 0; color: #fff; font-family: "Cormorant Garamond",Georgia,serif; font-size: clamp(2.8rem,5.6vw,5.8rem); line-height: .9; white-space: nowrap; animation: servicesHeadingMarquee 14s linear infinite; will-change: transform; }
.services-page .services-inchworm-heading h2 span { flex: none; padding-right: clamp(70px,10vw,170px); }
.services-page .services-inchworm-window { position: relative; width: 100%; height: min(62vh,590px); min-height: 400px; display: grid; place-items: center; overflow: hidden; }
.services-page .services-inchworm-track { position: relative; width: 100%; height: 100%; display: grid; place-items: center; perspective: 1200px; }
.services-page .services-inchworm-glow { position: absolute; left: 50%; top: 52%; width: min(52vw,760px); height: 48%; border-radius: 50%; background: rgba(245,215,125,.38); filter: blur(72px); transform: translate(-50%,-50%); opacity: .82; }
.services-page .services-inchworm-item { position: absolute; width: min(34vw,480px); height: min(43vh,390px); margin: 0; overflow: hidden; border: 1px solid rgba(216,178,76,.48); border-radius: 8px; background: #050505; box-shadow: 0 24px 62px rgba(0,0,0,.68),0 0 30px rgba(216,178,76,.62),0 0 70px rgba(245,215,125,.3); transform-origin: center; will-change: transform,opacity; }
.services-page .services-inchworm-item::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg,rgba(0,0,0,.02) 44%,rgba(0,0,0,.91)); }
.services-page .services-inchworm-item video,.services-page .services-inchworm-item img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.06); transition: filter .4s ease,transform .65s cubic-bezier(.16,.84,.24,1); }
.services-page .services-inchworm-item.is-leading { border-color: rgba(245,215,125,.95); box-shadow: 0 32px 80px rgba(0,0,0,.76),0 0 46px rgba(255,224,112,.92),0 0 96px rgba(216,178,76,.52),inset 0 0 0 1px rgba(255,235,165,.18); }
.services-page .services-inchworm-item.is-leading video,.services-page .services-inchworm-item.is-leading img { filter: saturate(1.03) contrast(1.03); transform: scale(1.022); }
.services-page .services-inchworm-item figcaption { position: absolute; inset: auto 0 0; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 24px; color: #fff; font-size: .84rem; font-weight: 900; letter-spacing: .6px; text-transform: uppercase; }
.services-page .services-inchworm-item figcaption span { color: var(--gold-2); font-size: .7rem; }
.services-page .services-inchworm-progress { position: relative; z-index: 30; width: min(72vw,900px); height: 2px; margin: 0 auto; overflow: hidden; background: rgba(255,255,255,.16); }
.services-page .services-inchworm-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--gold-dark),var(--gold-2)); transform: scaleX(0); transform-origin: left; }
.services-page .services-inchworm:not(.is-enhanced) .services-inchworm-pin { height: auto; min-height: 0; padding-block: 82px; }
.services-page .services-inchworm:not(.is-enhanced) .services-inchworm-window { height: auto; min-height: 0; margin-top: 42px; overflow-x: auto; }
.services-page .services-inchworm:not(.is-enhanced) .services-inchworm-track { width: max-content; height: auto; display: flex; gap: 18px; padding: 0 4vw 24px; }
.services-page .services-inchworm:not(.is-enhanced) .services-inchworm-item { position: relative; width: min(78vw,430px); height: auto; aspect-ratio: 4/3; opacity: 1; transform: none !important; }
.services-page .services-inchworm:not(.is-enhanced) .services-inchworm-progress,.services-page .services-inchworm:not(.is-enhanced) .services-inchworm-glow { display: none; }
.services-page .services-catalog { position: relative; padding: clamp(80px, 9vw, 132px) 0; overflow: hidden; background: radial-gradient(circle at 12% 8%, rgba(216,178,76,.14), transparent 28%), linear-gradient(145deg, #030303, #0c0a06 55%, #040404); }
.services-page .services-catalog::before { content: ""; position: absolute; inset: 0; opacity: .14; pointer-events: none; background: repeating-linear-gradient(115deg, transparent 0 85px, rgba(216,178,76,.12) 86px, transparent 88px 170px); }
.services-page .services-catalog > .container { position: relative; }
.services-page .services-heading { max-width: 760px; margin: 0 auto 54px; text-align: center; }
.services-page .services-heading h2 { margin: 8px 0 0; color: #fff; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(3.4rem, 7vw, 6.3rem); line-height: .9; }
.services-page .services-premium-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.services-page .services-premium-card { position: relative; min-height: 300px; padding: clamp(28px, 4vw, 46px); overflow: hidden; border: 1px solid rgba(216,178,76,.35); border-radius: 8px; background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(216,178,76,.035) 58%, rgba(0,0,0,.22)); box-shadow: 0 22px 54px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,232,150,.08); transition: transform .38s cubic-bezier(.16,.84,.24,1), border-color .38s ease, box-shadow .38s ease, background .38s ease; }
.services-page .services-premium-card::after { content: ""; position: absolute; inset: auto -25% -45% 42%; height: 75%; background: radial-gradient(circle, rgba(216,178,76,.18), transparent 68%); opacity: 0; transition: opacity .38s ease; }
.services-page .services-premium-card:hover { transform: translateY(-8px); border-color: rgba(245,215,125,.86); background: linear-gradient(145deg, rgba(216,178,76,.16), rgba(255,255,255,.035)); box-shadow: 0 28px 70px rgba(0,0,0,.46), 0 0 34px rgba(216,178,76,.16), inset 0 1px 0 rgba(255,232,150,.16); }
.services-page .services-premium-card:hover::after { opacity: 1; }
.services-page .services-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 34px; }
.services-page .services-card-top span { color: var(--gold-2); font-size: .82rem; font-weight: 900; letter-spacing: 2px; }
.services-page .services-card-top svg { width: 58px; height: 58px; padding: 13px; fill: var(--gold-2); border: 1px solid rgba(216,178,76,.55); border-radius: 50%; background: rgba(0,0,0,.42); box-shadow: 0 0 24px rgba(216,178,76,.13); transition: transform .38s ease, background .38s ease; }
.services-page .services-premium-card:hover .services-card-top svg { transform: translateX(-5px) scale(1.06); background: rgba(216,178,76,.12); }
.services-page .services-premium-card h3 { max-width: 580px; margin: 0 0 17px; color: #fff; font-family: "Manrope", Arial, sans-serif; font-size: clamp(1.45rem, 2.4vw, 2.15rem); font-weight: 900; line-height: 1.12; text-transform: uppercase; }
.services-page .services-premium-card p { max-width: 620px; margin: 0; color: rgba(255,255,255,.72); font-size: 1rem; line-height: 1.7; }
.services-page .services-cta { position: relative; padding: clamp(82px, 9vw, 130px) 0; overflow: hidden; background: #050505 url('/assets/placeholders/image-placeholder.svg') center / cover fixed no-repeat; }
.services-page .services-cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.7)), rgba(0,0,0,.34); }
.services-page .services-cta-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(360px,.88fr); gap: clamp(45px, 7vw, 96px); align-items: center; }
.services-page .services-carousel { position: relative; min-height: 430px; overflow: hidden; border: 1px solid rgba(216,178,76,.5); border-radius: 8px; background: #000; box-shadow: 0 28px 68px rgba(0,0,0,.48), 0 0 32px rgba(216,178,76,.12); }
.services-page .services-carousel-track, .services-page .services-carousel-slide { position: absolute; inset: 0; }
.services-page .services-carousel-slide { margin: 0; opacity: 0; transform: scale(1.035); transition: opacity .7s ease, transform 1.1s cubic-bezier(.16,.84,.24,1); }
.services-page .services-carousel-slide.is-active { opacity: 1; transform: scale(1); }
.services-page .services-carousel-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.services-page .services-carousel-arrow { position: absolute; top: 50%; z-index: 3; width: 46px; height: 54px; transform: translateY(-50%); border: 1px solid rgba(245,215,125,.55); border-radius: 6px; background: rgba(0,0,0,.72); box-shadow: 0 0 22px rgba(0,0,0,.34); cursor: pointer; transition: background .25s ease, border-color .25s ease; }
.services-page .services-carousel-arrow::before { content: ""; position: absolute; top: 50%; width: 12px; height: 12px; border-top: 2px solid var(--gold-2); border-right: 2px solid var(--gold-2); }
.services-page .services-carousel-prev { left: 16px; }
.services-page .services-carousel-next { right: 16px; }
.services-page .services-carousel-prev::before { left: 18px; transform: translateY(-50%) rotate(-135deg); }
.services-page .services-carousel-next::before { right: 18px; transform: translateY(-50%) rotate(45deg); }
.services-page .services-carousel-arrow:hover { border-color: var(--gold-2); background: rgba(216,178,76,.16); }
.services-page .services-carousel-dots { position: absolute; left: 50%; bottom: 18px; z-index: 3; display: flex; gap: 8px; transform: translateX(-50%); }
.services-page .services-carousel-dots button { width: 24px; height: 3px; padding: 0; border: 0; background: rgba(255,255,255,.45); cursor: pointer; transition: width .25s ease, background .25s ease; }
.services-page .services-carousel-dots button.is-active { width: 42px; background: var(--gold-2); }
.services-page .services-cta-copy h2 { margin: 8px 0 24px; color: #fff; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(3rem, 5vw, 5rem); line-height: .95; }
.services-page .services-cta-copy > p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.78); font-size: 1.08rem; line-height: 1.75; }
.services-page .services-book-button { margin-top: 32px; animation: servicesButtonPulse 2.2s ease-in-out infinite; }
@keyframes servicesHeroMark { to { transform: translate(-20px,-14px) rotate(-3deg); opacity: .34; } }
@keyframes servicesFadeUp { from { opacity: 0; transform: translateY(38px); } to { opacity: 1; transform: translateY(0); } }
@keyframes servicesButtonPulse { 50% { box-shadow: 0 0 0 8px rgba(216,178,76,0), 0 0 32px rgba(216,178,76,.3); transform: scale(1.035); } }
@keyframes servicesHeadingMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.booking-page .booking-hero { position: relative; min-height: clamp(590px, 70vw, 770px); display: grid; place-items: center; overflow: hidden; isolation: isolate; background: #030303 url('/assets/placeholders/image-placeholder.svg') center / cover no-repeat; border-bottom: 1px solid rgba(216,178,76,.48); }
.booking-page .booking-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.43) 52%, rgba(0,0,0,.86)), linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.85)); }
.booking-page .booking-hero::after { content: ""; position: absolute; right: -4%; bottom: 0; z-index: -1; width: min(44vw, 610px); aspect-ratio: 1; background: url('/assets/placeholders/image-placeholder.svg') center / contain no-repeat; opacity: .22; animation: bookingMarkFloat 7s ease-in-out infinite alternate; }
.booking-page .booking-hero-content { max-width: 960px; padding-top: 40px; text-align: center; animation: bookingFadeUp .9s cubic-bezier(.16,.84,.24,1) both; }
.booking-page .booking-hero h1 { margin: 8px 0 24px; color: var(--gold-2); font-family: "Manrope", Arial, sans-serif; font-size: clamp(4.2rem, 10vw, 8.4rem); font-style: italic; font-weight: 900; line-height: .85; text-transform: uppercase; text-shadow: 0 0 28px rgba(216,178,76,.24); }
.booking-page .booking-hero-content > p:not(.eyebrow) { max-width: 850px; margin: 0 auto; color: #fff; font-size: clamp(1rem, 1.55vw, 1.28rem); font-weight: 600; line-height: 1.7; }
.booking-page .booking-payment { display: grid; justify-items: center; gap: 12px; max-width: 620px; margin: 38px auto 0; padding: 18px 26px; border: 1px solid rgba(216,178,76,.36); border-radius: 8px; background: rgba(0,0,0,.55); box-shadow: 0 18px 44px rgba(0,0,0,.3); }
.booking-page .booking-payment span { color: var(--gold-2); font-size: .76rem; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; }
.booking-page .booking-payment img { display: block; width: min(100%, 500px); height: auto; object-fit: contain; }
.booking-page .booking-prices-section { position: relative; padding: clamp(82px, 9vw, 132px) 0; overflow: hidden; background: radial-gradient(circle at 10% 8%, rgba(216,178,76,.16), transparent 28%), linear-gradient(145deg, #030303, #0c0a06 58%, #040404); }
.booking-page .booking-prices-section::before { content: ""; position: absolute; inset: 0; opacity: .14; pointer-events: none; background: repeating-linear-gradient(115deg, transparent 0 85px, rgba(216,178,76,.12) 86px, transparent 88px 170px); }
.booking-page .booking-prices-section > .container { position: relative; }
.booking-page .booking-section-heading { max-width: 820px; margin: 0 auto 54px; text-align: center; }
.booking-page .booking-section-heading h2 { margin: 8px 0 18px; color: #fff; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(3.4rem, 7vw, 6.2rem); line-height: .9; }
.booking-page .booking-section-heading > p:last-child { margin: 0; color: rgba(255,255,255,.68); }
.booking-page .booking-prices { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.booking-page .booking-price-card { overflow: hidden; border: 1px solid rgba(216,178,76,.35); border-radius: 8px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(216,178,76,.035)); box-shadow: 0 18px 44px rgba(0,0,0,.26); transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.booking-page .booking-price-card:hover, .booking-page .booking-price-card[open] { transform: translateY(-3px); border-color: rgba(245,215,125,.82); box-shadow: 0 22px 54px rgba(0,0,0,.38), 0 0 26px rgba(216,178,76,.14); }
.booking-page .booking-price-card summary { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; min-height: 96px; padding: 22px 24px; cursor: pointer; list-style: none; }
.booking-page .booking-price-card summary::-webkit-details-marker { display: none; }
.booking-page .booking-price-card summary > span { color: var(--gold-2); font-size: .75rem; font-weight: 900; letter-spacing: 1px; }
.booking-page .booking-price-card summary strong { color: #fff; font-size: clamp(.98rem, 1.7vw, 1.22rem); line-height: 1.35; text-transform: uppercase; }
.booking-page .booking-price-card summary i { position: relative; width: 28px; height: 28px; border: 1px solid rgba(216,178,76,.55); border-radius: 50%; }
.booking-page .booking-price-card summary i::before, .booking-page .booking-price-card summary i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 1px; background: var(--gold-2); transform: translate(-50%,-50%); }
.booking-page .booking-price-card summary i::after { transform: translate(-50%,-50%) rotate(90deg); transition: transform .25s ease; }
.booking-page .booking-price-card[open] summary i::after { transform: translate(-50%,-50%) rotate(0); }
.booking-page .booking-price-card > div { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 22px 24px 25px; border-top: 1px solid rgba(216,178,76,.22); background: rgba(0,0,0,.42); animation: bookingPriceOpen .28s ease both; }
.booking-page .booking-price-card small { color: rgba(255,255,255,.6); text-transform: uppercase; }
.booking-page .booking-price-card b { color: var(--gold-2); font-family: "Cormorant Garamond", Georgia, serif; font-size: 2.45rem; line-height: .8; }
.booking-page .booking-appointment-section { position: relative; padding: clamp(82px, 9vw, 132px) 0; overflow: hidden; background: #050505 url('/assets/placeholders/image-placeholder.svg') center / cover fixed no-repeat; }
.booking-page .booking-appointment-section::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.84); }
.booking-page .booking-appointment-section > .container { position: relative; }
.booking-page .booking-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; margin-bottom: clamp(72px, 9vw, 120px); }
.booking-page .booking-step { position: relative; min-height: 270px; display: grid; align-content: center; justify-items: center; gap: 22px; padding: 34px 26px; text-align: center; border: 1px solid rgba(216,178,76,.38); border-radius: 8px; background: linear-gradient(145deg, rgba(216,178,76,.11), rgba(255,255,255,.025)); box-shadow: 0 22px 54px rgba(0,0,0,.32); transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
.booking-page .booking-step:hover { transform: translateY(-7px); border-color: rgba(245,215,125,.86); box-shadow: 0 28px 66px rgba(0,0,0,.46), 0 0 28px rgba(216,178,76,.14); }
.booking-page .booking-step > span { position: absolute; top: 18px; left: 20px; color: var(--gold-2); font-size: .72rem; font-weight: 900; }
.booking-page .booking-step svg { width: 62px; height: 62px; fill: var(--gold-2); filter: drop-shadow(0 0 12px rgba(216,178,76,.22)); }
.booking-page .booking-step h3 { margin: 0; color: #fff; font-family: "Manrope", Arial, sans-serif; font-size: 1.15rem; line-height: 1.45; text-transform: uppercase; }
.booking-page .booking-form-layout { display: grid; grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr); gap: clamp(48px, 7vw, 92px); align-items: start; }
.booking-page .booking-form-copy { position: sticky; top: 150px; }
.booking-page .booking-form-copy h2 { margin: 8px 0 22px; color: #fff; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(3.4rem, 6vw, 5.7rem); line-height: .9; }
.booking-page .booking-form-copy > p:not(.eyebrow) { color: rgba(255,255,255,.76); font-size: 1.08rem; line-height: 1.75; }
.booking-page .booking-premium-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; padding: clamp(26px, 4vw, 46px); border: 1px solid rgba(216,178,76,.42); border-radius: 8px; background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(0,0,0,.58)); box-shadow: 0 28px 72px rgba(0,0,0,.46), 0 0 28px rgba(216,178,76,.1); }
.booking-page .booking-premium-form .field { display: grid; gap: 8px; }
.booking-page .booking-premium-form label, .booking-page .booking-call-consent legend { color: var(--gold-2); font-size: .73rem; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; }
.booking-page .booking-premium-form input, .booking-page .booking-premium-form select { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid rgba(216,178,76,.34); border-radius: 5px; outline: none; background: rgba(0,0,0,.64); color: #fff; font: inherit; transition: border-color .25s ease, box-shadow .25s ease; }
.booking-page .booking-premium-form input:focus, .booking-page .booking-premium-form select:focus { border-color: var(--gold-2); box-shadow: 0 0 0 3px rgba(216,178,76,.12); }
.booking-page .booking-call-consent { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 12px; margin: 4px 0 0; padding: 18px; border: 1px solid rgba(216,178,76,.24); border-radius: 5px; }
.booking-page .booking-call-consent legend { padding: 0 8px; }
.booking-page .booking-call-consent label { cursor: pointer; }
.booking-page .booking-call-consent input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.booking-page .booking-call-consent span { display: inline-flex; min-width: 72px; min-height: 42px; align-items: center; justify-content: center; border: 1px solid rgba(216,178,76,.36); border-radius: 5px; color: #fff; background: rgba(0,0,0,.46); transition: background .25s ease, color .25s ease, border-color .25s ease; }
.booking-page .booking-call-consent input:checked + span { border-color: var(--gold-2); background: var(--gold); color: #080808; }
.booking-page .booking-premium-form .btn, .booking-page .booking-premium-form .form-note { grid-column: 1 / -1; }
.booking-page .booking-premium-form .btn { width: 100%; margin-top: 4px; }
@keyframes bookingMarkFloat { to { transform: translate(-20px,-14px) rotate(-3deg); opacity: .33; } }
@keyframes bookingFadeUp { from { opacity: 0; transform: translateY(38px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bookingPriceOpen { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes aboutTitleDriveIn { from { opacity: 0; transform: translateX(-55vw) skewX(-7deg); filter: blur(5px); } 70% { filter: blur(0); } to { opacity: 1; transform: translateX(0) skewX(-7deg); } }
@keyframes aboutSpeedLines { to { transform: translateX(8%); } }
@keyframes aboutTypingCaret { 50% { opacity: 0; } }
@keyframes locationFadeInUp { from { opacity: 0; transform: translateY(38px); } to { opacity: 1; transform: translateY(0); } }
.content-lead { max-width: 920px; font-size: 1.1rem; }
.section-heading { max-width: 780px; margin-bottom: 40px; }
.section-heading p { font-size: 1.05rem; }
.location-list { display: grid; gap: 14px; padding: 0; margin: 22px 0 26px; list-style: none; }
.location-list li { display: grid; gap: 2px; padding-bottom: 13px; border-bottom: 1px solid rgba(216,178,76,.15); }
.location-list strong { color: #fff; }
.location-list span { color: var(--muted); }
.service-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.service-detail-card { position: relative; min-height: 250px; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); box-shadow: 0 18px 48px rgba(0,0,0,.28); }
.service-detail-card > span { display: block; margin-bottom: 28px; color: var(--gold-2); font-weight: 900; }
.service-detail-card h3 { max-width: 480px; font-size: clamp(1.75rem, 2.6vw, 2.5rem); }
.service-detail-card p { margin-bottom: 0; }
.price-card { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; align-items: end; }
.price-card strong { grid-column: 1 / -1; }
.price-card small { color: var(--muted); }
.price-card span { font-size: 1.45rem; }
.price-note { margin-top: 18px; }
.contact-methods { display: grid; gap: 12px; margin: 30px 0; }
.contact-methods a { display: grid; gap: 3px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.035); }
.contact-methods span { color: var(--gold-2); font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.contact-methods strong { color: #fff; overflow-wrap: anywhere; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gallery-item { position: relative; min-height: 320px; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #080808; }
.gallery-item:nth-child(4n + 1) { grid-row: span 2; min-height: 658px; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.gallery-item:hover img { transform: scale(1.035); }
.gallery-item figcaption { position: absolute; inset: auto 0 0; padding: 38px 18px 16px; color: #fff; font-weight: 800; background: linear-gradient(transparent, rgba(0,0,0,.88)); }
.legacy-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.legacy-video-grid video { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border: 1px solid rgba(245,215,125,.58); border-radius: var(--radius); background: #000; box-shadow: var(--shadow); }
.review-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.review-stat { min-height: 220px; display: grid; place-content: center; gap: 10px; padding: 28px; text-align: center; border-right: 1px solid var(--line); }
.review-stat:last-child { border-right: 0; }
.review-stat strong { color: var(--gold-2); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(3.5rem, 7vw, 6.5rem); line-height: .8; }
.review-stat span { color: #fff; font-weight: 800; }
.legal-content { max-width: 900px; }
.legal-content h2 { margin: 50px 0 14px; font-size: clamp(2rem, 4vw, 3.2rem); }
.legal-content h2:first-child { margin-top: 0; }
.legal-note { margin-top: 54px; padding: 20px; border-left: 2px solid var(--gold); background: rgba(216,178,76,.08); }
@media (max-width: 1120px) {
  .internal-page .menu-toggle { display: block; }
  .internal-page .nav-links { position: fixed; inset: 118px 0 auto; display: grid; gap: 0; padding: 18px 20px 28px; background: rgba(3,3,3,.98); border-bottom: 1px solid var(--line); transform: translateY(-120%); transition: transform .28s ease; }
  .internal-page.nav-open .nav-links { transform: translateY(0); }
  .internal-page .nav-links a { display: block; padding: 14px 0; border-radius: 0; }
}
@media (max-width: 920px) {
  .service-detail-grid, .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-item:nth-child(4n + 1) { grid-row: auto; min-height: 360px; }
  .about-page .about-presence-grid { grid-template-columns: 1fr; gap: 38px; }
  .about-page .about-presence-copy { max-width: 720px; }
  .about-page .location-route-section { background-attachment: scroll; }
  .about-page .image-accordion { min-height: 560px; }
  .services-page .services-cta { background-attachment: scroll; }
  .services-page .services-cta-grid { grid-template-columns: 1fr; }
  .services-page .services-carousel { min-height: 460px; }
  .services-page .services-inchworm-item { width: min(46vw,440px); height: min(39vh,360px); }
  .booking-page .booking-appointment-section { background-attachment: scroll; }
  .booking-page .booking-form-layout { grid-template-columns: 1fr; }
  .booking-page .booking-form-copy { position: static; }
}
@media (max-width: 620px) {
  .internal-page .nav-links { inset: 92px 0 auto; }
  .service-detail-grid, .gallery-grid, .legacy-video-grid, .review-stats { grid-template-columns: 1fr; }
  .service-detail-card { min-height: 0; padding: 24px; }
  .gallery-item, .gallery-item:nth-child(4n + 1) { min-height: 310px; }
  .review-stat { min-height: 170px; border-right: 0; border-bottom: 1px solid var(--line); }
  .review-stat:last-child { border-bottom: 0; }
  .about-page .about-speed-hero { min-height: 390px; background-position: 58% center; }
  .about-page .about-speed-content { width: min(100% - 32px, 360px); }
  .about-page .about-speed-title { margin-bottom: 22px; font-size: clamp(3rem, 16vw, 4.3rem); }
  .about-page .about-speed-title::before, .about-page .about-speed-title::after { width: 34px; right: calc(100% + 10px); }
  .about-page .about-speed-title::after { right: auto; left: calc(100% + 10px); }
  .about-page .about-speed-copy { min-height: 7em; font-size: .98rem; line-height: 1.55; }
  .about-page .about-presence-section { padding: 58px 0; }
  .about-page .about-presence-grid { gap: 30px; }
  .about-page .about-presence-image img { aspect-ratio: 16 / 10; }
  .about-page .about-presence-copy { padding-top: 24px; }
  .about-page .about-presence-copy p { margin-bottom: 26px; font-size: 1.08rem; line-height: 1.5; }
  .about-page .about-presence-copy .btn { width: 100%; }
  .about-page .location-route-section { padding: 68px 0; }
  .about-page .location-days { gap: 62px; margin-top: 48px; }
  .about-page .location-day h3 { margin-bottom: 20px; font-size: 1.35rem; letter-spacing: 7px; }
  .about-page .image-accordion { flex-direction: column; min-height: 400px; }
  .about-page .image-accordion label { min-height: 72px; border-right: 0; border-bottom: 1px solid rgba(216,178,76,.28); background-position: center; transition: flex .5s cubic-bezier(.16,.84,.24,1), min-height .5s cubic-bezier(.16,.84,.24,1), filter .35s ease; }
  .about-page .image-accordion label:last-of-type { border-bottom: 0; }
  .about-page .image-accordion label:hover,
  .about-page .image-accordion input:checked + label,
  .about-page .image-accordion label:focus-visible { flex: 4 1 0; min-height: 230px; }
  .about-page .image-accordion label span { padding: 16px 14px; font-size: .75rem; }
  .about-page .location-booking { width: 100%; }
  .services-page .services-hero { min-height: 470px; background-position: 58% center; }
  .services-page .services-hero::after { right: -28%; bottom: -2%; width: 88vw; }
  .services-page .services-hero h1 { font-size: clamp(3.8rem, 18vw, 5rem); }
  .services-page .services-premium-grid { grid-template-columns: 1fr; }
  .services-page .services-premium-card { min-height: 0; padding: 26px 22px; }
  .services-page .services-card-top { margin-bottom: 24px; }
  .services-page .services-card-top svg { width: 50px; height: 50px; }
  .services-page .services-carousel { min-height: 320px; }
  .services-page .services-carousel-arrow { width: 40px; height: 48px; }
  .services-page .services-carousel-prev { left: 10px; }
  .services-page .services-carousel-next { right: 10px; }
  .services-page .services-carousel-prev::before { left: 15px; }
  .services-page .services-carousel-next::before { right: 15px; }
  .services-page .services-book-button { width: 100%; }
  .services-page .services-inchworm-pin { min-height: 620px; padding: 28px 0 22px; }
  .services-page .services-inchworm-heading { width: 100%; }
  .services-page .services-inchworm-heading h2 { font-size: clamp(2.3rem,11vw,3.4rem); animation-duration: 11s; }
  .services-page .services-inchworm-window { min-height: 390px; height: 57vh; }
  .services-page .services-inchworm-item { width: min(76vw,330px); height: min(37vh,300px); }
  .services-page .services-inchworm-item figcaption { padding: 17px; font-size: .72rem; }
  .services-page .services-inchworm-progress { width: calc(100% - 48px); }
  .booking-page .booking-hero { min-height: 590px; background-position: 58% center; }
  .booking-page .booking-hero::after { right: -28%; bottom: 1%; width: 88vw; }
  .booking-page .booking-hero h1 { font-size: clamp(3.7rem, 18vw, 5rem); }
  .booking-page .booking-payment { padding: 14px; }
  .booking-page .booking-prices { grid-template-columns: 1fr; }
  .booking-page .booking-price-card summary { min-height: 86px; padding: 18px; }
  .booking-page .booking-price-card > div { padding: 20px 18px 22px; }
  .booking-page .booking-steps { grid-template-columns: 1fr; }
  .booking-page .booking-step { min-height: 230px; }
  .booking-page .booking-premium-form { grid-template-columns: 1fr; padding: 22px 18px; }
  .booking-page .booking-premium-form .field, .booking-page .booking-call-consent, .booking-page .booking-premium-form .btn, .booking-page .booking-premium-form .form-note { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .about-page .about-speed-title, .about-page .about-speed-hero::after, .about-page .about-speed-copy::after { animation: none; }
  .about-page .location-day { animation: none; }
  .about-page .image-accordion label, .about-page .image-accordion label span, .about-page .location-booking { transition: none; }
  .services-page .services-hero::after, .services-page .services-hero-content, .services-page .services-book-button { animation: none; }
  .services-page .services-premium-card, .services-page .services-card-top svg, .services-page .services-carousel-slide { transition: none; }
  .services-page .services-inchworm-item video,.services-page .services-inchworm-item img { transition: none; }
  .services-page .services-inchworm-heading h2 { width: 100%; justify-content: center; animation: none; }
  .services-page .services-inchworm-heading h2 span { padding-right: 0; }
  .services-page .services-inchworm-heading h2 span[aria-hidden="true"] { display: none; }
  .booking-page .booking-hero::after, .booking-page .booking-hero-content { animation: none; }
  .booking-page .booking-price-card > div { animation: none; }
}
/* Desktop scale correction for the Netlify production package. */
@media (min-width: 921px) {
  :root { --max: 1320px; }

  body { line-height: 1.58; }

  .section { padding: 92px 0; }
  .container { width: min(var(--max), calc(100% - 64px)); }

  .site-header .nav { height: 104px; min-height: 104px; }
  .logo img { max-height: 104px; }

  .hero { min-height: min(820px, calc(100vh - 104px)); }
  .hero-grid { grid-template-columns: minmax(0, 720px) 1fr; gap: 48px; }
  .hero-title { font-size: clamp(2.05rem, 3.1vw, 3.72rem); }
  h1 { font-size: clamp(2.55rem, 4.8vw, 4.75rem); }
  h2 { font-size: clamp(2.45rem, 4.15vw, 4.75rem); }
  h3 { font-size: clamp(1.55rem, 2.45vw, 2.25rem); }
  .statement { font-size: clamp(1rem, 1.45vw, 1.34rem); }

  .premium-stats-grid { min-height: 0; padding-block: 28px; }
  .premium-stat strong { font-size: clamp(3.1rem, 5.4vw, 5.9rem); }

  .image-frame { min-height: 400px; }
  .services-panel img { max-height: 360px; object-fit: contain; }
  .qualified-card { padding: clamp(30px, 4vw, 56px); }
  .qualified-title { font-size: clamp(2.35rem, 4.1vw, 4.35rem); }

  .work-section { padding-block: 92px; }
  .work-container h2 { font-size: clamp(1.9rem, 3.25vw, 3.28rem); }
  .video-grid { --video-card-width: clamp(330px, 27vw, 455px); }

  .page-hero,
  .internal-page .page-hero { min-height: 390px; }

  .about-page .about-speed-hero { min-height: clamp(360px, 42vw, 505px); }
  .about-page .about-speed-title { font-size: clamp(3rem, 6.4vw, 6.35rem); }
  .about-page .about-speed-copy { font-size: clamp(.98rem, 1.25vw, 1.18rem); }
  .about-page .about-presence-section { padding: clamp(60px, 6vw, 92px) 0; }
  .about-page .about-presence-grid { gap: clamp(38px, 5.6vw, 78px); }
  .about-page .about-presence-copy p { font-size: clamp(1.08rem, 1.55vw, 1.45rem); }
  .about-page .location-route-section { padding: 84px 0; }
  .about-page .location-days { gap: clamp(46px, 6vw, 78px); margin-top: 48px; }
  .about-page .image-accordion { min-height: 540px; }
  .about-page .location-day h3 { margin-bottom: 22px; font-size: clamp(1.35rem, 2vw, 1.85rem); }

  .services-page .services-hero { min-height: clamp(430px, 48vw, 600px); }
  .services-page .services-hero h1 { font-size: clamp(3.55rem, 7.3vw, 6.9rem); }
  .services-page .services-hero-content > p:last-child { font-size: clamp(.98rem, 1.28vw, 1.16rem); }
  .services-page .services-inchworm-pin { min-height: 560px; padding: clamp(22px, 3vw, 42px) 0 clamp(18px, 2.4vw, 30px); }
  .services-page .services-inchworm-heading h2 { font-size: clamp(2.45rem, 4.4vw, 4.8rem); }
  .services-page .services-inchworm-window { height: min(55vh, 510px); min-height: 350px; }
  .services-page .services-inchworm-item { width: min(29vw, 420px); height: min(37vh, 330px); }
  .services-page .services-catalog { padding: clamp(66px, 6.8vw, 104px) 0; }
  .services-page .services-heading { margin-bottom: 42px; }
  .services-page .services-heading h2 { font-size: clamp(2.9rem, 5.4vw, 5.35rem); }
  .services-page .services-premium-card { min-height: 250px; padding: clamp(24px, 3.1vw, 38px); }
  .services-page .services-card-top { margin-bottom: 24px; }
  .services-page .services-card-top svg { width: 50px; height: 50px; padding: 11px; }
  .services-page .services-premium-card h3 { font-size: clamp(1.25rem, 1.9vw, 1.82rem); }
  .services-page .services-premium-card p { font-size: .96rem; line-height: 1.6; }

  .booking-page .booking-hero { min-height: clamp(500px, 52vw, 660px); }
  .booking-page .booking-hero h1 { font-size: clamp(3.55rem, 7.2vw, 6.85rem); }
  .booking-page .booking-hero-content { max-width: 860px; padding-top: 20px; }
  .booking-page .booking-hero-content > p:not(.eyebrow) { font-size: clamp(.96rem, 1.25vw, 1.14rem); line-height: 1.6; }
  .booking-page .booking-payment { max-width: 540px; margin-top: 28px; padding: 14px 22px; }
  .booking-page .booking-payment img { width: min(100%, 430px); }
  .booking-page .booking-prices-section,
  .booking-page .booking-appointment-section { padding: clamp(66px, 6.8vw, 104px) 0; }
  .booking-page .booking-section-heading { margin-bottom: 42px; }
  .booking-page .booking-section-heading h2,
  .booking-page .booking-form-copy h2 { font-size: clamp(2.9rem, 5.2vw, 4.95rem); }
  .booking-page .booking-price-card summary { min-height: 82px; padding: 18px 20px; }
  .booking-page .booking-price-card b { font-size: 2.1rem; }
  .booking-page .booking-steps { gap: 16px; margin-bottom: clamp(56px, 6.8vw, 88px); }
  .booking-page .booking-step { min-height: 220px; gap: 16px; padding: 28px 22px; }
  .booking-page .booking-step svg { width: 52px; height: 52px; }
  .booking-page .booking-step h3 { font-size: 1.02rem; }
  .booking-page .booking-form-layout { gap: clamp(38px, 5.4vw, 72px); }
  .booking-page .booking-premium-form { padding: clamp(24px, 3.2vw, 38px); }

  .legal-content h2 { font-size: clamp(1.8rem, 3.1vw, 2.72rem); }
}

@media (min-width: 1440px) {
  .hero { min-height: 760px; }
  .section { padding: 98px 0; }
}

/* LS Paint media helpers */
.video-card img,
.services-inchworm-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.social-row a span:first-child {
  display: inline-grid;
  place-items: center;
  min-width: 1.1em;
  font-weight: 900;
  text-transform: uppercase;
}
/* LS Paint Service neon theme */
:root {
  --ls-black: #020204;
  --ls-panel: #080a10;
  --ls-white: #ffffff;
  --ls-yellow: #fff200;
  --ls-blue: #009dff;
  --ls-blue-soft: rgba(0, 157, 255, .34);
  --ls-yellow-soft: rgba(255, 242, 0, .34);
  --radius: 8px;
}

body {
  color: var(--ls-white);
  background:
    radial-gradient(circle at 88% 8%, rgba(0,157,255,.18), transparent 34%),
    radial-gradient(circle at 8% 48%, rgba(255,242,0,.12), transparent 30%),
    linear-gradient(180deg, #020204 0%, #05070c 42%, #020204 100%);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 82%);
}

.site-header {
  background: linear-gradient(180deg, rgba(2,2,4,.94), rgba(2,2,4,.62));
  border-bottom-color: rgba(255,242,0,.24);
  box-shadow: 0 0 36px rgba(0,157,255,.14);
}

.logo img {
  filter: drop-shadow(0 0 10px rgba(255,255,255,.2)) drop-shadow(0 0 18px rgba(0,157,255,.18));
}

.nav-links a {
  color: #fff;
}

.nav-links a:hover,
.nav-links a.active {
  color: var(--ls-yellow);
  text-shadow: 0 0 12px var(--ls-yellow-soft), 0 0 20px var(--ls-blue-soft);
}

.hero,
.page-hero,
.about-speed-hero,
.services-hero,
.booking-hero {
  background-color: var(--ls-black) !important;
  background-image:
    linear-gradient(90deg, rgba(2,2,4,.95) 0%, rgba(2,2,4,.68) 46%, rgba(2,2,4,.18) 100%),
    var(--hero-image) !important;
  background-position: center !important;
  background-size: cover !important;
}

.hero::after,
.page-hero::after,
.services-hero::after,
.booking-hero::after {
  content: "";
  position: absolute;
  inset: auto -6vw 8% auto;
  width: min(48vw, 680px);
  height: min(28vw, 330px);
  pointer-events: none;
  background:
    radial-gradient(ellipse at 22% 48%, rgba(255,255,255,.86), transparent 18%),
    radial-gradient(ellipse at 45% 46%, rgba(255,242,0,.92), transparent 24%),
    radial-gradient(ellipse at 65% 48%, rgba(0,157,255,.9), transparent 26%);
  filter: blur(2px) drop-shadow(0 0 20px rgba(0,157,255,.22));
  clip-path: polygon(0 42%, 10% 28%, 25% 34%, 38% 18%, 52% 36%, 72% 20%, 100% 36%, 95% 55%, 76% 48%, 60% 68%, 45% 52%, 25% 72%, 7% 57%);
  opacity: .92;
}

.hero-title,
.about-speed-title,
.services-hero h1,
.booking-hero h1,
.page-hero h1,
h2,
h3 {
  color: #fff;
  letter-spacing: 0;
  text-shadow: 0 0 20px rgba(0,157,255,.22);
}

.eyebrow {
  color: var(--ls-yellow);
  text-shadow: 0 0 13px var(--ls-yellow-soft);
}

.btn,
button.btn,
.phone-pill {
  color: #050505;
  border-color: rgba(255,242,0,.72);
  background: linear-gradient(135deg, var(--ls-yellow), #ffffff 48%, var(--ls-blue));
  box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 0 24px rgba(255,242,0,.24), 0 0 32px rgba(0,157,255,.18);
}

.btn.secondary {
  color: #fff;
  background: rgba(0,157,255,.08);
  border-color: rgba(0,157,255,.68);
}

.btn:hover,
.phone-pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 0 1px rgba(255,255,255,.28), 0 0 28px rgba(255,242,0,.55), 0 0 44px rgba(0,157,255,.45);
}

.card,
.services-premium-card,
.qualified-card,
.booking-price-card,
.booking-step,
.form-card,
.booking-premium-form,
.contact-methods a,
.location-day {
  background: linear-gradient(180deg, rgba(8,10,16,.92), rgba(2,2,4,.94));
  border: 1px solid rgba(0,157,255,.34);
  box-shadow: inset 0 0 0 1px rgba(255,242,0,.08), 0 18px 56px rgba(0,0,0,.42), 0 0 26px rgba(0,157,255,.08);
}

.card:hover,
.services-premium-card:hover,
.contact-methods a:hover,
.booking-price-card:hover {
  border-color: rgba(255,242,0,.64);
  box-shadow: inset 0 0 0 1px rgba(255,242,0,.18), 0 0 30px rgba(255,242,0,.14), 0 0 42px rgba(0,157,255,.16);
}

.premium-stats,
.gold-band,
.booking-prices-section,
.services-catalog,
.location-route-section,
.booking-appointment-section {
  background:
    radial-gradient(circle at 12% 20%, rgba(255,242,0,.12), transparent 28%),
    radial-gradient(circle at 88% 70%, rgba(0,157,255,.16), transparent 34%),
    #020204 !important;
}

.service-icon,
.qualified-feature span,
.services-card-top span,
.booking-step span,
.footer-contact span {
  color: var(--ls-yellow);
  text-shadow: 0 0 18px var(--ls-yellow-soft);
}

.footer {
  background: #020204;
  border-top: 1px solid rgba(255,242,0,.28);
  box-shadow: 0 -18px 60px rgba(0,157,255,.08);
}

.footer a:hover {
  color: var(--ls-yellow);
}

.video-card,
.services-inchworm-item,
.image-frame,
.about-presence-image {
  border-color: rgba(255,242,0,.4);
  box-shadow: 0 0 28px rgba(0,157,255,.18);
}

.ls-brush-layer {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.site-header,
main,
.footer,
.cookie,
.client-proof {
  position: relative;
  z-index: 1;
}

.ls-brush-stroke {
  position: absolute;
  width: min(54vw, 760px);
  height: clamp(86px, 13vw, 160px);
  opacity: 0;
  transform: translateX(var(--start-x)) rotate(var(--rotate)) scaleX(.16);
  transform-origin: var(--origin) center;
  transition: transform 1s cubic-bezier(.16,.84,.24,1), opacity .55s ease;
  filter: drop-shadow(0 0 14px rgba(0,157,255,.22)) drop-shadow(0 0 18px rgba(255,242,0,.12));
}

.ls-brush-stroke::before,
.ls-brush-stroke::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px 46% 999px 48%;
  clip-path: polygon(0 44%, 8% 22%, 19% 38%, 32% 12%, 44% 34%, 62% 18%, 80% 36%, 100% 24%, 92% 58%, 76% 48%, 62% 80%, 48% 56%, 31% 84%, 16% 60%, 0 72%);
}

.ls-brush-stroke::before {
  background: linear-gradient(90deg, transparent, var(--brush-a), var(--brush-b), transparent);
}

.ls-brush-stroke::after {
  inset: 28% 7% 26% 5%;
  background: rgba(255,255,255,.84);
  opacity: .75;
  transform: translateY(-18px);
}

.ls-brush-stroke.is-visible {
  opacity: .88;
  transform: translateX(0) rotate(var(--rotate)) scaleX(1);
}

.ls-brush-left {
  left: -16vw;
  --start-x: -34vw;
  --origin: left;
}

.ls-brush-right {
  right: -16vw;
  --start-x: 34vw;
  --origin: right;
}

@media (max-width: 920px) {
  .hero::after,
  .page-hero::after,
  .services-hero::after,
  .booking-hero::after {
    width: 92vw;
    height: 170px;
    right: -22vw;
    bottom: 2%;
    opacity: .62;
  }
  .ls-brush-stroke {
    width: 82vw;
    height: 110px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ls-brush-stroke {
    transition: none;
    opacity: .55;
    transform: translateX(0) rotate(var(--rotate)) scaleX(1);
  }
}
/* LS Paint requested full-site artwork background and blue neon buttons */
:root {
  --ls-bg-art: url('/assets/placeholders/ls-paint-global-background.png');
}

html,
body {
  background: #020204 var(--ls-bg-art) center top / cover fixed no-repeat !important;
}

body::before {
  background:
    linear-gradient(90deg, rgba(2,2,4,.88), rgba(2,2,4,.50) 45%, rgba(2,2,4,.82)),
    radial-gradient(circle at 50% 22%, rgba(0,157,255,.14), transparent 34%) !important;
  background-size: auto !important;
  mask-image: none !important;
}

main > section,
.premium-stats,
.gold-band,
.booking-prices-section,
.services-catalog,
.location-route-section,
.booking-appointment-section,
.about-presence-section,
.qualified-section,
.work-section,
.footer {
  background-color: rgba(2,2,4,.72) !important;
  background-image: linear-gradient(180deg, rgba(2,2,4,.72), rgba(2,2,4,.88)), var(--ls-bg-art) !important;
  background-position: center top !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}

.hero,
.page-hero,
.about-speed-hero,
.services-hero,
.booking-hero {
  background-image:
    linear-gradient(90deg, rgba(2,2,4,.95) 0%, rgba(2,2,4,.62) 48%, rgba(2,2,4,.36) 100%),
    var(--ls-bg-art) !important;
  background-position: center top !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}

.btn,
button.btn,
.phone-pill,
input[type='submit'],
button[type='submit'] {
  color: #ffffff !important;
  border: 1px solid rgba(0, 208, 255, .88) !important;
  background: linear-gradient(135deg, #005dff 0%, #00c8ff 52%, #0076ff 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 0 18px rgba(0, 200, 255, .38),
    0 0 34px rgba(0, 118, 255, .26) !important;
  text-shadow: 0 0 10px rgba(255,255,255,.38) !important;
}

.btn.secondary {
  background: rgba(0, 157, 255, .16) !important;
  color: #ffffff !important;
  border-color: rgba(0, 208, 255, .82) !important;
}

.btn:hover,
button.btn:hover,
.phone-pill:hover,
input[type='submit']:hover,
button[type='submit']:hover,
.btn.secondary:hover {
  color: #ffffff !important;
  border-color: rgba(120, 235, 255, 1) !important;
  background: linear-gradient(135deg, #008cff 0%, #35e4ff 50%, #006bff 100%) !important;
  transform: translateY(-2px) scale(1.015);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.34) inset,
    0 0 18px rgba(82, 232, 255, .95),
    0 0 42px rgba(0, 157, 255, .72),
    0 0 78px rgba(0, 90, 255, .42) !important;
}

@media (max-width: 920px) {
  html,
  body,
  main > section,
  .hero,
  .page-hero,
  .about-speed-hero,
  .services-hero,
  .booking-hero {
    background-attachment: scroll !important;
  }
}
/* LS Paint official logo placement */
.logo {
  width: clamp(150px, 18vw, 280px) !important;
  max-width: 44vw !important;
  align-items: center;
}

.logo img {
  width: 100% !important;
  height: auto !important;
  max-height: 92px !important;
  object-fit: contain !important;
  transform: none !important;
  filter: drop-shadow(0 0 12px rgba(255,255,255,.22)) drop-shadow(0 0 24px rgba(0,157,255,.28)) !important;
}

.footer-grid > div:first-child img {
  width: min(280px, 82vw) !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 16px rgba(255,255,255,.18)) drop-shadow(0 0 24px rgba(0,157,255,.22));
}

@media (max-width: 620px) {
  .logo {
    width: clamp(128px, 42vw, 190px) !important;
  }
  .logo img {
    max-height: 74px !important;
  }
}
/* LS Paint real project imagery integration */
.hero {
  min-height: clamp(680px, 82vh, 920px);
  background-image:
    linear-gradient(90deg, rgba(2,2,4,.96) 0%, rgba(2,2,4,.76) 38%, rgba(2,2,4,.28) 100%),
    var(--hero-image) !important;
  background-size: 110% auto !important;
  background-position: center 42% !important;
  animation: lsHeroPhotoDrift 18s ease-in-out infinite alternate;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 22% 28%, rgba(0,200,255,.16), transparent 28%),
    linear-gradient(180deg, rgba(2,2,4,.08), rgba(2,2,4,.84));
}

.hero .container {
  position: relative;
  z-index: 1;
}

@keyframes lsHeroPhotoDrift {
  from { background-position: center 42%; background-size: 110% auto; }
  to { background-position: center 50%; background-size: 116% auto; }
}

.ls-section-heading {
  max-width: 900px;
  margin: 0 auto clamp(30px, 5vw, 56px);
  text-align: center;
}

.ls-section-heading h2 {
  margin: 8px 0 12px;
  font-size: clamp(2rem, 4.4vw, 4.6rem);
  line-height: .95;
}

.ls-section-heading p {
  max-width: 740px;
  margin: 0 auto;
  color: rgba(255,255,255,.78);
}

.ls-before-after-section,
.ls-service-photo-section,
.ls-gallery-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.ls-before-after-section::before,
.ls-service-photo-section::before,
.ls-gallery-section::before {
  content: "";
  position: absolute;
  inset: 10% -18% auto auto;
  width: min(60vw, 820px);
  height: 180px;
  z-index: -1;
  background: linear-gradient(90deg, transparent, rgba(0,200,255,.72), rgba(255,242,0,.66), transparent);
  clip-path: polygon(0 44%, 9% 26%, 21% 40%, 34% 15%, 51% 36%, 67% 18%, 100% 34%, 92% 58%, 72% 49%, 58% 78%, 42% 55%, 25% 79%, 10% 60%, 0 72%);
  filter: blur(1px) drop-shadow(0 0 24px rgba(0,200,255,.32));
  opacity: .58;
  transform: translateX(16%);
}

.ls-before-after-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2.2vw, 28px);
}

.ls-before-card {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(0,208,255,.36);
  background: rgba(3,5,10,.72);
  box-shadow: 0 24px 70px rgba(0,0,0,.54), 0 0 28px rgba(0,157,255,.13);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.ls-before-card:hover {
  transform: translateY(-8px);
  border-color: rgba(0,208,255,.92);
  box-shadow: 0 30px 88px rgba(0,0,0,.62), 0 0 34px rgba(0,200,255,.34), 0 0 42px rgba(255,242,0,.12);
}

.ls-before-media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.ls-before-media img,
.ls-service-photo-card img,
.ls-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .7s cubic-bezier(.16,.84,.24,1), filter .45s ease;
}

.ls-before-card:hover img,
.ls-service-photo-card:hover img,
.ls-gallery-item:hover img {
  transform: scale(1.065);
  filter: contrast(1.08) saturate(1.1);
}

.ls-scan-line {
  position: absolute;
  inset: 0 auto 0 50%;
  width: 2px;
  background: linear-gradient(180deg, transparent, #fff, #00c8ff, transparent);
  box-shadow: 0 0 20px rgba(0,200,255,.9);
  opacity: .75;
  transition: left .45s ease;
}

.ls-before-card:hover .ls-scan-line {
  left: 72%;
}

.ls-before-copy,
.ls-service-photo-card > div {
  position: absolute;
  inset: auto 0 0;
  padding: 22px;
  background: linear-gradient(180deg, transparent, rgba(2,2,4,.94));
}

.ls-before-copy span,
.ls-service-photo-card span,
.ls-gallery-item figcaption span {
  color: var(--ls-yellow);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ls-before-copy h3,
.ls-service-photo-card h3 {
  margin: 6px 0 0;
  font-size: clamp(1.3rem, 2vw, 2rem);
}

.ls-service-photo-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: clamp(18px, 3vw, 34px);
  align-items: stretch;
}

.ls-service-photo-card {
  position: relative;
  min-height: clamp(360px, 42vw, 620px);
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(255,242,0,.34);
  background: rgba(2,2,4,.72);
  box-shadow: 0 26px 80px rgba(0,0,0,.56), 0 0 28px rgba(255,242,0,.1), 0 0 34px rgba(0,157,255,.12);
}

.ls-service-photo-card:not(.is-large) {
  min-height: clamp(320px, 36vw, 520px);
}

.ls-masonry-gallery {
  columns: 3 260px;
  column-gap: clamp(16px, 2vw, 24px);
}

.ls-gallery-item {
  position: relative;
  break-inside: avoid;
  margin: 0 0 clamp(16px, 2vw, 24px);
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  box-shadow: 0 18px 60px rgba(0,0,0,.5), inset 0 0 0 1px rgba(0,200,255,.1);
}

.ls-gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.14), transparent 34%, rgba(0,200,255,.13));
  opacity: .45;
}

.ls-gallery-item img {
  height: auto;
  min-height: 260px;
  max-height: 560px;
}

.ls-gallery-item figcaption {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 2;
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  color: #fff;
  font-weight: 900;
  background: rgba(2,2,4,.62);
  border: 1px solid rgba(0,208,255,.28);
  border-radius: 8px;
  backdrop-filter: blur(10px);
}

.ls-gallery-section .container,
.ls-before-after-section .container,
.ls-service-photo-section .container {
  position: relative;
  z-index: 1;
}

@media (max-width: 980px) {
  .ls-before-after-grid,
  .ls-service-photo-grid {
    grid-template-columns: 1fr;
  }
  .ls-before-media {
    aspect-ratio: 16 / 11;
  }
  .hero {
    background-size: cover !important;
    animation: none;
  }
}

@media (max-width: 620px) {
  .ls-gallery-item img {
    min-height: 220px;
    max-height: none;
  }
  .ls-before-copy,
  .ls-service-photo-card > div {
    padding: 18px;
  }
}