/* Skip to content */
.skip-to-content {
  position: fixed; top: -100%; left: 50%; transform: translateX(-50%);
  z-index: 99999; padding: 0.8rem 1.6rem; border-radius: 0 0 0.8rem 0.8rem;
  background: var(--accent-2); color: #0b040d; font-weight: 700; font-size: 0.9rem;
  text-decoration: none; transition: top 0.2s ease;
}
.skip-to-content:focus { top: 0; }

/* Floating contact button */
.floating-contact {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 9990;
  display: flex; align-items: center; gap: 0.6rem;
  padding: 0.85rem 1.2rem; border-radius: 999px;
  background: linear-gradient(135deg, #25d366, #128c7e);
  color: #fff; text-decoration: none; font-size: 0.88rem; font-weight: 600;
  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.35), 0 0 40px rgba(18, 140, 126, 0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  animation: float-pulse 3s ease-in-out infinite;
}
.floating-contact:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 28px rgba(37, 211, 102, 0.5), 0 0 50px rgba(18, 140, 126, 0.2);
}
.floating-contact svg { flex-shrink: 0; }
.floating-contact-label { white-space: nowrap; }
@keyframes float-pulse {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@media (max-width: 47.9375rem) {
  .floating-contact-label { display: none; }
  .floating-contact { padding: 0.9rem; }
}

/* Cookie consent banner */
.cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9980;
  display: flex; align-items: center; justify-content: center; gap: 1.2rem; flex-wrap: wrap;
  padding: 1rem 2rem;
  background: rgba(11, 4, 13, 0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(240, 214, 220, 0.1);
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.cookie-banner.is-hidden { transform: translateY(100%); opacity: 0; pointer-events: none; }
.cookie-banner p { color: var(--text-soft); font-size: 0.88rem; margin: 0; }
.cookie-banner a { color: var(--accent-2); }
.cookie-actions { display: flex; gap: 0.6rem; }
.cookie-accept, .cookie-decline {
  padding: 0.5rem 1.2rem; border-radius: 999px; border: none;
  font-size: 0.82rem; font-weight: 600; cursor: pointer; transition: background 0.25s ease;
}
.cookie-accept { background: var(--accent-2); color: #0b040d; }
.cookie-accept:hover { background: #d8b890; }
.cookie-decline { background: rgba(255, 255, 255, 0.08); color: var(--text-soft); }
.cookie-decline:hover { background: rgba(255, 255, 255, 0.14); }

:root {
  --bg: #0b040d;
  --bg-soft: #160b11;
  --surface: rgba(22, 12, 18, 0.68);
  --surface-strong: rgba(30, 17, 24, 0.9);
  --surface-light: rgba(255, 244, 246, 0.06);
  --panel-light: #f2e3de;
  --panel-light-2: #ead8d3;
  --text: #fff9f7;
  --text-soft: rgba(255, 244, 242, 0.72);
  --text-muted: rgba(255, 239, 236, 0.54);
  --ink: #0b040d;
  --ink-soft: rgba(11, 4, 13, 0.68);
  --accent: #b97790;
  --accent-2: #d9b2bf;
  --accent-3: #f0d6dc;
  --accent-dark: #8a586c;
  --champagne: #d8b890;
  --line: rgba(255, 241, 238, 0.1);
  --shadow: 0 28px 90px rgba(0, 0, 0, 0.28);
  --shadow-strong: 0 28px 120px rgba(7, 1, 5, 0.44);
  --container: min(82rem, calc(100vw - 2rem));
  --header-width: min(84rem, calc(100vw - 1.25rem));
  --section-space: clamp(5.5rem, 10vw, 9rem);
  --ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-luxury: cubic-bezier(0.19, 1, 0.22, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-width: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { width: 0 !important; height: 0 !important; }
body {
  margin: 0;
  min-width: 20rem;
  background:
    radial-gradient(circle at 16% 10%, rgba(185, 119, 144, 0.2), transparent 26%),
    radial-gradient(circle at 86% 18%, rgba(216, 184, 144, 0.12), transparent 24%),
    radial-gradient(circle at 50% 70%, rgba(185, 119, 144, 0.12), transparent 30%),
    linear-gradient(180deg, #0b040d 0%, #14080f 36%, #080306 100%);
  color: var(--text);
  font-family: "DM Sans", sans-serif;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overscroll-behavior: none;
  overflow-x: hidden;
}
body.is-lock { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { border: 0; padding: 0; background: transparent; color: inherit; }
img, svg { display: block; max-width: 100%; }
p, h1, h2, h3, h4 { margin: 0; }
.wrapper { position: relative; isolation: isolate; }
.main { position: relative; z-index: 1; }
.section { position: relative; padding: var(--section-space) 0; }
.container { position: relative; width: var(--container); margin: 0 auto; }
.position-relative { position: relative; }
.z-index-1 { z-index: 1; }
.mobile-only { display: none !important; }
.mobile-hide { display: flex !important; }
.text-size-16, .text-size-16-16-14 { font-size: 0.98rem; }
.text-weight-600 { font-weight: 600; }
.text-color-ddbbf1 { color: #efd4dd; }
.text-color-7f34a4 { color: var(--accent); }
.span-h1-gradient {
  background: linear-gradient(135deg, #f3dbe2 0%, #d5a3b3 46%, #e8c39f 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.heading-size-h2 {
  font-family: "Syne", sans-serif;
  font-size: clamp(2.3rem, 5vw, 4.4rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
}
.hero-title {
  max-width: 50rem;
  font-family: "Syne", sans-serif;
  font-size: clamp(3.2rem, 7.6vw, 7.4rem);
  line-height: 0.92;
  letter-spacing: -0.07em;
}
.hero-title span {
  display: inline-block;
  font-family: "Instrument Serif", serif;
  font-style: italic;
  font-weight: 400;
  background: linear-gradient(135deg, #f3dbe2 0%, #d5a3b3 46%, #e8c39f 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.page-loader {
  position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; gap: 1.5rem;
  background: radial-gradient(circle at center, rgba(217, 178, 191, 0.12), transparent 30%), linear-gradient(180deg, #0d050e 0%, #160910 100%);
  transition: opacity 0.65s ease, visibility 0.65s ease;
}
.page-loader.is-hidden { opacity: 0; visibility: hidden; }
.loader-word {
  display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(0.28rem, 0.6vw, 0.75rem);
  width: min(90vw, 56rem); font-family: "Syne", sans-serif; font-size: clamp(1.2rem, 3vw, 2.4rem); font-weight: 700;
  letter-spacing: 0.36em; text-indent: 0.36em;
}
.loader-word span { opacity: 0; transform: translateY(1rem); animation: loader-rise 0.85s var(--ease-luxury) forwards; }
.loader-word span:nth-child(1) { animation-delay: 0.03s; }
.loader-word span:nth-child(2) { animation-delay: 0.06s; }
.loader-word span:nth-child(3) { animation-delay: 0.09s; }
.loader-word span:nth-child(4) { animation-delay: 0.12s; }
.loader-word span:nth-child(5) { animation-delay: 0.15s; }
.loader-word span:nth-child(6) { animation-delay: 0.18s; }
.loader-word span:nth-child(7) { animation-delay: 0.21s; }
.loader-word span:nth-child(8) { animation-delay: 0.24s; }
.loader-word span:nth-child(9) { animation-delay: 0.27s; }
.loader-word span:nth-child(10) { animation-delay: 0.3s; }
.loader-word span:nth-child(11) { animation-delay: 0.33s; }
.loader-word span:nth-child(12) { animation-delay: 0.36s; }
.loader-word span:nth-child(13) { animation-delay: 0.39s; }
.loader-word span:nth-child(14) { animation-delay: 0.42s; }
.loader-word span:nth-child(15) { animation-delay: 0.45s; }
.loader-bar { width: min(22rem, 64vw); height: 1px; overflow: hidden; background: rgba(255, 240, 238, 0.12); }
.loader-bar span {
  display: block; width: 100%; height: 100%; transform-origin: left; transform: scaleX(0);
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-3) 44%, var(--champagne) 100%);
  box-shadow: 0 0 1.5rem rgba(185, 119, 144, 0.45); animation: loader-bar 1.3s var(--ease-luxury) forwards;
}
@keyframes loader-rise { to { opacity: 1; transform: translateY(0); } }
@keyframes loader-bar { to { transform: scaleX(1); } }

.grain {
  position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: 0.12; mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='15' cy='24' r='1'/%3E%3Ccircle cx='42' cy='70' r='1'/%3E%3Ccircle cx='79' cy='31' r='1'/%3E%3Ccircle cx='124' cy='56' r='1'/%3E%3Ccircle cx='165' cy='28' r='1'/%3E%3Ccircle cx='143' cy='109' r='1'/%3E%3Ccircle cx='98' cy='145' r='1'/%3E%3Ccircle cx='37' cy='138' r='1'/%3E%3Ccircle cx='18' cy='106' r='1'/%3E%3Ccircle cx='161' cy='164' r='1'/%3E%3C/g%3E%3C/svg%3E");
}
.ambient { position: fixed; z-index: 0; border-radius: 100%; filter: blur(4.5rem); opacity: 0.52; pointer-events: none; }
.a1 { top: 10vh; left: -10vw; width: 28rem; height: 28rem; background: radial-gradient(circle, rgba(185, 119, 144, 0.4) 0%, rgba(185, 119, 144, 0) 70%); }
.a2 { top: 14vh; right: -6vw; width: 22rem; height: 22rem; background: radial-gradient(circle, rgba(216, 184, 144, 0.26) 0%, rgba(216, 184, 144, 0) 72%); }
.a3 { bottom: 8vh; right: 12vw; width: 18rem; height: 18rem; background: radial-gradient(circle, rgba(217, 178, 191, 0.22) 0%, rgba(217, 178, 191, 0) 72%); }

.site-header { position: fixed; top: 0.9rem; left: 50%; z-index: 80; width: var(--header-width); transform: translateX(-50%); }
.site-header .container.is-header { width: 100%; }
.header-row {
  position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem;
  padding: 0.9rem 1rem; border-radius: 999px; border: 1px solid rgba(255, 244, 242, 0.08);
  background: rgba(17, 8, 14, 0.52); backdrop-filter: blur(1.35rem); -webkit-backdrop-filter: blur(1.35rem);
  box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.22); transition: background-color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease, padding 0.35s ease;
}
.site-header.is-scrolled .header-row {
  padding: 0.72rem 0.9rem;
  transform: translateY(-0.12rem) scale(0.985);
  background: rgba(17, 8, 14, 0.84); border-color: rgba(255, 244, 242, 0.14); box-shadow: 0 1.8rem 4rem rgba(0, 0, 0, 0.34);
}
.logo { display: inline-flex; align-items: center; gap: 0.8rem; }
.logo-mascot {
  width: 3rem; height: 3rem;
  object-fit: contain;
  filter: drop-shadow(0 0 0.6rem rgba(185, 119, 144, 0.5));
  transition: transform 0.35s ease, filter 0.35s ease;
}
.logo-text-wrap { display: flex; flex-direction: column; line-height: 1; gap: 0.18rem; }
.logo-text-wrap strong { font-family: "Syne", sans-serif; font-size: 0.95rem; font-weight: 700; letter-spacing: -0.03em; }
.logo-text-wrap small { color: var(--text-muted); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; }
.site-nav { justify-content: center; gap: clamp(0.8rem, 1.5vw, 1.8rem); align-items: center; }
.logo-text-wrap strong,
.logo-text-wrap small,
.site-nav,
.header-actions {
  transition: transform 0.35s ease, opacity 0.35s ease, gap 0.35s ease;
}
.logo-text-wrap small {
  transform-origin: left top;
}
.site-header.is-scrolled .logo-mascot {
  transform: scale(0.92);
  filter: drop-shadow(0 0 0.8rem rgba(185, 119, 144, 0.34));
}
.site-header.is-scrolled .logo-text-wrap strong {
  transform: translateY(0.04rem);
}
.site-header.is-scrolled .logo-text-wrap small {
  opacity: 0;
  transform: translateY(-0.34rem) scale(0.92);
}
.site-header.is-scrolled .site-nav {
  gap: clamp(0.65rem, 1vw, 1.2rem);
}
.site-header.is-scrolled .header-actions {
  transform: scale(0.96);
}
.active-state {
  position: relative; display: inline-flex; align-items: center; gap: 0.45rem;
  color: var(--text-muted);
  padding: 0.45rem 0.75rem; border-radius: 0.6rem;
  background: transparent;
  border: 1px solid transparent;
  transition: color 0.3s ease, transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.active-state-circle { width: 0.35rem; height: 0.35rem; border-radius: 999px; background: currentColor; opacity: 0; transform: scale(0.4); transition: opacity 0.4s ease, transform 0.4s ease; }
.active-state:hover, .active-state.is-active { color: var(--text); }
.active-state:hover {
  transform: translateY(-2px) scale(1.08);
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 4px 16px rgba(185, 119, 144, 0.12);
}
.active-state.is-active {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(185, 119, 144, 0.15);
}
.active-state:hover .active-state-circle, .active-state.is-active .active-state-circle { opacity: 1; transform: scale(1); }
.header-actions { align-items: center; gap: 0.75rem; }
.glass-label, .glass-button, .hero-card, .gravity-slide-card, .horizontal-scroll-card-about-us, .team-card, .faq-accordion, .footer-card, .contact-form, .timeline-shell { position: relative; isolation: isolate; }
.glass-label, .glass-button { border-radius: 999px; color: var(--text); }
.glass-label::before, .glass-button::before, .hero-card::before, .gravity-slide-card::before, .horizontal-scroll-card-about-us::before, .team-card::before, .faq-accordion::before, .footer-card::before, .contact-form::before, .timeline-shell::before {
  content: ""; position: absolute; inset: 0; padding: 1px; border-radius: inherit;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.04) 42%, rgba(255, 255, 255, 0.04) 62%, rgba(255, 255, 255, 0.2) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events: none; z-index: 1;
}
.glass-label::after, .glass-button::after, .hero-card::after, .gravity-slide-card::after, .horizontal-scroll-card-about-us::after, .team-card::after, .faq-accordion::after, .footer-card::after, .contact-form::after, .timeline-shell::after {
  content: ""; position: absolute; inset: 1px; border-radius: inherit; pointer-events: none; z-index: 0;
}
.glass-label::before { background: linear-gradient(200deg, rgba(240, 214, 220, 0.7) 0%, rgba(240, 214, 220, 0) 38%, rgba(240, 214, 220, 0) 62%, rgba(240, 214, 220, 0.7) 100%); }
.glass-label::after { background: rgba(185, 119, 144, 0.08); }
.glass-button::before {
  background: linear-gradient(45deg, #b97790, #7f34a4, #d8b890, #f0d6dc, #b97790, #7f34a4, #d8b890, #f0d6dc);
  background-size: 400%;
  animation: rainbow-border 12s linear infinite;
  opacity: 0.6;
  transition: opacity 0.35s ease;
}
.glass-button:hover::before { opacity: 1; }
.glass-button::after {
  background: linear-gradient(180deg, rgba(11, 4, 13, 0.85) 0%, rgba(11, 4, 13, 0.92) 100%);
  inset: 1px; border-radius: inherit;
}
@keyframes rainbow-border {
  0% { background-position: 0% 0%; }
  50% { background-position: 400% 0%; }
  100% { background-position: 0% 0%; }
}
.button-inner { position: relative; z-index: 2; display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem; padding: 0 1.4rem; border-radius: inherit; transition: transform 0.45s var(--ease-luxury), color 0.35s ease; }
.glass-label:hover .button-inner, .glass-button:hover .button-inner { transform: translateY(-1px); }
.glass-button { transition: box-shadow 0.4s ease; }
.glass-button:hover { box-shadow: 0 0 28px rgba(185, 119, 144, 0.3), 0 0 60px rgba(127, 52, 164, 0.15); }
.glass-button .button-inner { font-weight: 600; }
.glass-button-header .button-inner { min-height: 3.1rem; }
.magnetic { transform: translate3d(var(--magnetic-x, 0), var(--magnetic-y, 0), 0); transition: transform 0.35s var(--ease-luxury); }
.menu-toggle { justify-self: end; }
.button-inner.is-menu-btn { min-width: 3.25rem; min-height: 3.25rem; padding: 0 1rem; }
.menu-icon { position: relative; display: inline-flex; width: 1.2rem; height: 1.2rem; }
.menu-icon span { position: absolute; left: 0; width: 100%; height: 1.5px; border-radius: 999px; background: currentColor; transition: transform 0.35s ease, opacity 0.35s ease; }
.menu-icon-open span:nth-child(1) { top: 0.2rem; }
.menu-icon-open span:nth-child(2) { top: 0.55rem; }
.menu-icon-open span:nth-child(3) { top: 0.9rem; }
.menu-icon-close { position: absolute; inset: 0; opacity: 0; }
.menu-icon-close span:nth-child(1) { top: 0.55rem; transform: rotate(45deg) scaleX(0.2); }
.menu-icon-close span:nth-child(2) { top: 0.55rem; transform: rotate(-45deg) scaleX(0.2); }
.menu-toggle.is-open .menu-icon-open { opacity: 0; }
.menu-toggle.is-open .menu-icon-close { opacity: 1; }
.menu-toggle.is-open .menu-icon-close span:nth-child(1) { transform: rotate(45deg) scaleX(1); }
.menu-toggle.is-open .menu-icon-close span:nth-child(2) { transform: rotate(-45deg) scaleX(1); }
.bg-blur { position: fixed; inset: 0; z-index: 70; background: rgba(11, 4, 13, 0.34); backdrop-filter: blur(0.9rem); -webkit-backdrop-filter: blur(0.9rem); }
.bg-blur[hidden], .header-menu-wrapper[hidden] { display: none !important; }
.header-menu-wrapper { position: fixed; top: 5.5rem; left: 0.65rem; right: 0.65rem; bottom: 1rem; z-index: 90; overflow-y: auto; }
.header-menu-inner {
  border-radius: 1.8rem; padding: 1.2rem 1rem 1rem; border: 1px solid rgba(255, 244, 242, 0.1); background: rgba(17, 8, 14, 0.9);
  backdrop-filter: blur(1.3rem); -webkit-backdrop-filter: blur(1.3rem); box-shadow: var(--shadow-strong);
}
.mobile-nav { display: grid; gap: 0.4rem; }
.menu-mobile-nav-wrapper { display: flex; align-items: center; justify-content: space-between; padding: 1rem 0.2rem; border-bottom: 1px solid rgba(255, 244, 242, 0.08); font-size: 1.05rem; }
.menu-mobile-nav-wrapper span { color: var(--accent-2); }
.mobile-menu-actions { display: grid; gap: 0.75rem; margin-top: 1rem; }

.hero { min-height: 100vh; padding-top: clamp(7.5rem, 12vw, 11rem); display: flex; align-items: center; overflow: clip; }
.hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; height: 1px;
  background: linear-gradient(90deg, rgba(205, 127, 254, 0) 0%, rgba(185, 119, 144, 0.75) 50%, rgba(205, 127, 254, 0) 100%); opacity: 0.6;
}
.hero-container { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(19rem, 0.98fr); align-items: center; gap: clamp(2rem, 5vw, 4.5rem); }
.hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
.hero-label, .section-label {
  position: relative; display: inline-flex; align-items: center; justify-content: center; padding: 0.55rem 1rem; border-radius: 999px;
  border: 1px solid rgba(255, 244, 242, 0.08); background: rgba(255, 244, 246, 0.04); overflow: hidden; backdrop-filter: blur(1rem); -webkit-backdrop-filter: blur(1rem);
}
.hero-label p, .section-label p { position: relative; z-index: 2; }
.hero-label-glow-bg {
  position: absolute; inset: auto 18% -65% 18%; z-index: 1; height: 180%; border-radius: 100%;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.48) 0%, rgba(185, 119, 144, 0) 70%); filter: blur(1.1rem); pointer-events: none;
}
.hero-text, .key-stats-sub, .story-copy, .timeline-copy, .team-heading p, .contact-copy { max-width: 40rem; color: var(--text-soft); font-size: clamp(1rem, 1.4vw, 1.15rem); }
.hero-actions, .contact-actions { display: flex; flex-wrap: wrap; gap: 0.9rem; }
.hero-tags { display: flex; flex-wrap: wrap; gap: 0.75rem; padding: 0; list-style: none; }
.hero-tags li, .screen-pill, .horizontal-scroll-year {
  display: inline-flex; align-items: center; justify-content: center; min-height: 2.4rem; padding: 0.5rem 0.9rem; border-radius: 999px;
  border: 1px solid rgba(255, 244, 242, 0.08); background: rgba(255, 247, 249, 0.04); color: rgba(255, 244, 242, 0.82); font-size: 0.88rem;
  backdrop-filter: blur(1rem); -webkit-backdrop-filter: blur(1rem);
}
.hero-stage { position: relative; min-height: clamp(26rem, 48vw, 40rem); }
.orb { position: absolute; border-radius: 100%; filter: blur(2.4rem); pointer-events: none; }
.orb.rose { top: 8%; left: 3%; width: clamp(12rem, 28vw, 22rem); height: clamp(12rem, 28vw, 22rem); background: radial-gradient(circle, rgba(185, 119, 144, 0.7) 0%, rgba(185, 119, 144, 0) 70%); }
.orb.gold { right: 0; bottom: 6%; width: clamp(10rem, 22vw, 18rem); height: clamp(10rem, 22vw, 18rem); background: radial-gradient(circle, rgba(216, 184, 144, 0.5) 0%, rgba(216, 184, 144, 0) 70%); }
.hero-card {
  position: absolute; right: 0; bottom: 0; width: min(100%, 34rem); padding: 1rem; border-radius: 2rem;
  background: linear-gradient(160deg, rgba(255, 248, 249, 0.08) 0%, rgba(255, 248, 249, 0.02) 100%), rgba(22, 12, 18, 0.74);
  box-shadow: var(--shadow-strong); backdrop-filter: blur(1.25rem); -webkit-backdrop-filter: blur(1.25rem);
}
.hero-card::after { background: linear-gradient(180deg, rgba(255, 248, 249, 0.05) 0%, rgba(255, 248, 249, 0.02) 100%); }
.browser-bar { display: flex; gap: 0.45rem; margin-bottom: 0.9rem; }
.browser-bar span { width: 0.65rem; height: 0.65rem; border-radius: 999px; background: rgba(255, 255, 255, 0.24); }
.browser-bar span:first-child { background: var(--accent); }
.browser-bar span:nth-child(2) { background: var(--champagne); }
.browser-bar span:nth-child(3) { background: rgba(240, 214, 220, 0.62); }
.card-screen { padding: 1.3rem; border-radius: 1.55rem; border: 1px solid rgba(255, 244, 242, 0.08); background: radial-gradient(circle at top left, rgba(240, 214, 220, 0.08), transparent 26%), linear-gradient(180deg, rgba(255, 248, 249, 0.04) 0%, rgba(255, 248, 249, 0.015) 100%); }
.screen-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(11rem, 0.8fr); gap: 1rem; margin-top: 1rem; }
.screen-main, .screen-side { display: grid; gap: 0.85rem; }
.screen-line { height: 0.7rem; border-radius: 999px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.14) 100%); }
.screen-line.md { width: 72%; opacity: 0.76; }
.screen-line.sm { width: 46%; opacity: 0.56; }
.screen-bars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; align-items: end; margin-top: 0.45rem; }
.screen-bars span { height: 6rem; border-radius: 1.1rem; background: linear-gradient(180deg, rgba(185, 119, 144, 0.42) 0%, rgba(255, 247, 249, 0.05) 100%); }
.screen-bars span:nth-child(2) { height: 7.4rem; background: linear-gradient(180deg, rgba(216, 184, 144, 0.4) 0%, rgba(255, 247, 249, 0.05) 100%); }
.screen-bars span:nth-child(3) { height: 5.2rem; background: linear-gradient(180deg, rgba(240, 214, 220, 0.28) 0%, rgba(255, 247, 249, 0.05) 100%); }
.metric-card { padding: 1rem; border-radius: 1.2rem; border: 1px solid rgba(255, 244, 242, 0.08); background: rgba(255, 247, 249, 0.04); }
.metric-card strong { display: block; margin-bottom: 0.35rem; font-family: "Syne", sans-serif; font-size: 1rem; }
.metric-card span { display: block; color: var(--text-muted); font-size: 0.88rem; }
.key-stats-about-us { overflow: clip; }
.key-stats-about-us::before, .key-stats-about-us::after {
  content: ""; position: absolute; top: 2rem; bottom: 0; width: 1px;
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0 3px, transparent 3px 10px); opacity: 0.25;
}
.key-stats-about-us::before { left: 16%; }
.key-stats-about-us::after { right: 14%; }
.key-stats-center { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 1.35rem; text-align: center; }
.key-stats-text-number {
  font-family: "Syne", sans-serif; font-size: clamp(5rem, 16vw, 11rem); line-height: 0.85; letter-spacing: -0.08em;
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.key-stats-text-number.is-changing, .key-stats-text-paragraph.is-changing { opacity: 0.22; transform: translateY(0.4rem); }
.key-stats-text-paragraph { position: relative; z-index: 4; max-width: 22rem; font-size: 1.15rem; color: rgba(255, 244, 242, 0.9); transition: opacity 0.35s ease, transform 0.35s ease; }
.key-stat-bg-wave { position: absolute; inset: auto 0 0; z-index: 1; pointer-events: none; opacity: 0.98; }
.desktop-wave svg { display: block; width: 100%; height: auto; }

.our-story { background: linear-gradient(180deg, #0b040d 0%, #14080f 100%); color: var(--text); overflow: hidden; }
.our-story--dark .heading-size-h2, .our-story--dark h3, .our-story--dark .gravity-step { color: var(--text); }
.our-story--dark .text-color-7f34a4 { color: var(--accent-2); }
.our-story--dark .story-copy { color: var(--text-soft) !important; }
.our-story--dark .section-label p { color: var(--accent-2); }
.our-story--dark .gravity-slide-card {
  background: var(--surface-strong);
  border: 1px solid rgba(185, 119, 144, 0.12);
  position: relative;
  --spot-x: 50%;
  --spot-y: 50%;
  --spot-hue: 310;
}
.our-story--dark .gravity-slide-card::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  padding: 2px;
  background: radial-gradient(
    500px circle at var(--spot-x) var(--spot-y),
    hsla(var(--spot-hue), 80%, 65%, 0.8),
    hsla(var(--spot-hue), 60%, 50%, 0.2) 35%,
    transparent 55%
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
  transition: opacity 0.4s ease;
  opacity: 0;
}
.our-story--dark .gravity-slide-card:hover::before,
.our-story--dark .gravity-slide-card.spotlight-active::before { opacity: 1; }
.our-story--dark .gravity-slide-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(
    350px circle at var(--spot-x) var(--spot-y),
    hsla(var(--spot-hue), 65%, 60%, 0.1),
    transparent 50%
  );
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.our-story--dark .gravity-slide-card:hover::after,
.our-story--dark .gravity-slide-card.spotlight-active::after { opacity: 1; }
.our-story--dark .gravity-slide-card h3 { color: var(--text); }
.our-story--dark .gravity-slide-card p { color: var(--text-soft); }
.our-story--dark .gravity-prev-btn, .our-story--dark .gravity-next-btn { background: rgba(255,255,255,0.06); color: var(--text); }
.our-story--dark .gravity-prev-btn:hover:not(.is-disabled), .our-story--dark .gravity-next-btn:hover:not(.is-disabled) { background: rgba(255,255,255,0.12); }
.our-story--dark .gravity-icon-circle { background: rgba(185, 119, 144, 0.15); border-color: rgba(185, 119, 144, 0.3); }
.entropy-bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; opacity: 0.6; }
.our-story .container { position: relative; z-index: 1; }
.faq--dark .heading-size-h2, .faq--dark .accordion-head, .faq--dark .section-label { color: var(--text); }
.faq--dark .text-color-7f34a4 { color: var(--accent-2); }
.faq--dark .section-label p { color: var(--accent-2); }
.faq--dark .faq-accordion { background: rgba(255, 248, 249, 0.04); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(240, 214, 220, 0.1); }
.faq--dark .accordion-head { color: var(--text); }
.faq--dark .accordion-body p { color: var(--text-soft); }
.faq--dark .faq-circle { background: rgba(255, 255, 255, 0.1); }
.faq--dark .faq-cross-line-one, .faq--dark .faq-cross-line-two { background: var(--text); }
.our-story::after, .faq::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, rgba(185, 119, 144, 0) 0%, rgba(185, 119, 144, 0.7) 50%, rgba(185, 119, 144, 0) 100%); opacity: 0.55;
}
.gravity-container { display: grid; grid-template-columns: minmax(18rem, 0.88fr) minmax(0, 1.12fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.gravity-left-wrapper { display: flex; flex-direction: column; align-items: flex-start; gap: 1.2rem; position: sticky; top: 7rem; }
.gravity-left-wrapper .story-copy { color: var(--ink-soft); }
.gravity-nav-wrap { display: flex; gap: 0.75rem; }
.gravity-prev-btn, .gravity-next-btn {
  display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 999px;
  background: rgba(11, 4, 13, 0.06); color: var(--ink); transition: background-color 0.28s ease, color 0.28s ease, opacity 0.28s ease;
}
.gravity-prev-btn svg, .gravity-next-btn svg { width: 1.2rem; height: 1.2rem; }
.gravity-prev-btn svg { transform: rotate(180deg); }
.gravity-prev-btn:hover:not(.is-disabled), .gravity-next-btn:hover:not(.is-disabled) { background: rgba(11, 4, 13, 0.12); }
.gravity-prev-btn.is-disabled, .gravity-next-btn.is-disabled { opacity: 0.32; pointer-events: none; }
.gravity-wrapper { position: relative; min-height: 33rem; }
.gravity-slide {
  position: absolute; inset: 0; display: flex; align-items: flex-start; justify-content: flex-end;
  transform-origin: 50% 100%; transition: transform 0.6s var(--ease-luxury), opacity 0.45s ease; will-change: transform, opacity;
}
.gravity-slide-card {
  width: min(100%, 36rem); padding: 2rem; border-radius: 2rem; background: rgba(255, 251, 250, 0.62);
  box-shadow: 0 2rem 4rem rgba(11, 4, 13, 0.12); backdrop-filter: blur(1rem); -webkit-backdrop-filter: blur(1rem);
  display: flex; flex-direction: column; gap: 1rem;
}
.gravity-slide-card::before, .faq-accordion::before, .footer-card::before, .contact-form::before, .timeline-shell::before {
  background: linear-gradient(30deg, rgba(11, 4, 13, 0.04) 0%, rgba(11, 4, 13, 0.02) 40%, rgba(255, 255, 255, 0.5) 100%);
}
.gravity-slide-card::after, .faq-accordion::after, .footer-card::after, .contact-form::after, .timeline-shell::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.04) 100%);
}
.gravity-icon-circle {
  width: 3rem; height: 3rem; border-radius: 999px;
  background: radial-gradient(circle at 35% 35%, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.1) 28%, transparent 29%), linear-gradient(135deg, rgba(185, 119, 144, 0.85) 0%, rgba(216, 184, 144, 0.9) 100%);
  box-shadow: 0 0 1.8rem rgba(185, 119, 144, 0.24);
}
.gravity-icon-mascot {
  width: 3rem; height: 3rem;
  object-fit: contain;
  filter: drop-shadow(0 0 1rem rgba(185, 119, 144, 0.3));
}
.gravity-step { color: var(--accent-dark); font-size: 0.95rem; font-weight: 700; }
.gravity-slide-card h3 { font-family: "Syne", sans-serif; font-size: clamp(1.45rem, 2.6vw, 2rem); line-height: 1.02; letter-spacing: -0.05em; }
.gravity-slide-card p { color: var(--ink-soft); font-size: 1rem; }

.timeline-section { overflow: clip; }
.timeline-head { display: flex; flex-direction: column; align-items: flex-start; gap: 1.2rem; }
.timeline-shell {
  margin-top: 2.5rem; padding: 2rem; border-radius: 2.3rem; background: rgba(23, 13, 19, 0.64);
  box-shadow: var(--shadow-strong); overflow: hidden;
}
.timeline-shell::after { background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%); }
.timeline-track-line { position: relative; height: 3px; border-radius: 999px; background: rgba(255, 255, 255, 0.08); overflow: hidden; }
.timeline-track-line::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(185, 119, 144, 0.7) 0%, rgba(216, 184, 144, 0.7) 52%, rgba(185, 119, 144, 0.7) 100%); opacity: 0.7;
}
.timeline-cards {
  display: flex; gap: 1rem; overflow-x: auto; margin-top: 1.6rem; padding: 0.2rem 0 0.5rem;
  scroll-snap-type: x proximity; scrollbar-width: none;
}
.timeline-cards::-webkit-scrollbar { display: none; }
.horizontal-scroll-card-about-us {
  flex: 0 0 min(22rem, 82vw); scroll-snap-align: start; min-height: 18rem; padding: 1.5rem; border-radius: 1.9rem;
  background: linear-gradient(180deg, rgba(255, 248, 249, 0.06) 0%, rgba(255, 248, 249, 0.02) 100%), rgba(20, 10, 16, 0.92);
  transition: transform 0.45s var(--ease-luxury), box-shadow 0.45s ease, background-color 0.45s ease;
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.16);
}
.horizontal-scroll-card-about-us::after { background: linear-gradient(180deg, rgba(255, 248, 249, 0.05) 0%, rgba(255, 248, 249, 0.015) 100%); }
.horizontal-scroll-card-about-us.is-active, .horizontal-scroll-card-about-us:hover {
  transform: translateY(-0.4rem); background: linear-gradient(180deg, rgba(255, 248, 249, 0.09) 0%, rgba(255, 248, 249, 0.03) 100%), rgba(20, 10, 16, 0.92);
  box-shadow: 0 1.8rem 4rem rgba(9, 1, 6, 0.28);
}
.horizontal-scroll-card-about-us .horizontal-scroll-year { margin-bottom: 1.2rem; color: var(--accent-2); }
.horizontal-scroll-card-about-us h3 { font-family: "Syne", sans-serif; font-size: 1.6rem; line-height: 1; letter-spacing: -0.05em; }
.horizontal-scroll-card-about-us p { margin-top: 1rem; color: var(--text-soft); font-size: 1rem; }
.our-team { padding-top: calc(var(--section-space) + 1rem); position: relative; overflow: hidden; }
.aether-bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.our-team .container { position: relative; z-index: 1; }
.our-team .team-card {
  --spot-x: 50%;
  --spot-y: 50%;
  --spot-hue: 290;
}
.our-team .team-card .team-card-glow {
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  padding: 2px;
  background: radial-gradient(
    500px circle at var(--spot-x) var(--spot-y),
    hsla(var(--spot-hue), 80%, 65%, 0.7),
    hsla(var(--spot-hue), 60%, 50%, 0.15) 35%,
    transparent 55%
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 3;
  transition: opacity 0.4s ease;
  opacity: 0;
}
.our-team .team-card:hover .team-card-glow,
.our-team .team-card.spotlight-active .team-card-glow { opacity: 1; }
.team-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 1.2rem; margin-bottom: 2.2rem; }
.team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.team-card {
  min-height: 27rem; padding: 1rem; border-radius: 1.9rem;
  background: linear-gradient(180deg, rgba(255, 248, 249, 0.08) 0%, rgba(255, 248, 249, 0.02) 100%), rgba(22, 12, 18, 0.9);
  overflow: hidden; transition: transform 0.45s var(--ease-luxury), box-shadow 0.45s ease;
}
.team-card::after { background: linear-gradient(180deg, rgba(255, 248, 249, 0.05) 0%, rgba(255, 248, 249, 0.02) 100%); }
.team-card:hover { transform: translateY(-0.4rem); box-shadow: 0 1.6rem 4rem rgba(0, 0, 0, 0.26); }
.margin-top-48-0 { margin-top: 3rem; }
.team-card-bg-active {
  position: absolute; inset: auto -18% -28% -18%; height: 52%; z-index: 0; border-radius: 100%;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.22) 0%, rgba(185, 119, 144, 0) 72%); filter: blur(1.7rem);
}
.team-photo {
  position: relative; z-index: 2; height: 17rem; margin-bottom: 1rem; border-radius: 1.5rem; overflow: hidden;
  background: radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 18%), linear-gradient(180deg, rgba(255, 248, 249, 0.08) 0%, rgba(255, 248, 249, 0.02) 100%), #120a0f;
}
.team-photo::before, .team-photo::after { content: ""; position: absolute; border-radius: 100%; }
.team-photo::before { left: 50%; bottom: -18%; width: 10rem; height: 10rem; background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0.06) 100%); transform: translateX(-50%); }
.team-photo::after { left: 50%; top: 18%; width: 5.3rem; height: 5.3rem; background: linear-gradient(180deg, rgba(255, 255, 255, 0.32) 0%, rgba(255, 255, 255, 0.08) 100%); transform: translateX(-50%); }
.team-photo.glow-one { background: radial-gradient(circle at 30% 20%, rgba(240, 214, 220, 0.32) 0%, transparent 30%), linear-gradient(180deg, rgba(255, 248, 249, 0.08) 0%, rgba(255, 248, 249, 0.02) 100%), #120a0f; }
.team-photo.glow-two { background: radial-gradient(circle at 70% 20%, rgba(216, 184, 144, 0.32) 0%, transparent 30%), linear-gradient(180deg, rgba(255, 248, 249, 0.08) 0%, rgba(255, 248, 249, 0.02) 100%), #120a0f; }
.team-photo.glow-three { background: radial-gradient(circle at 50% 16%, rgba(185, 119, 144, 0.36) 0%, transparent 30%), linear-gradient(180deg, rgba(255, 248, 249, 0.08) 0%, rgba(255, 248, 249, 0.02) 100%), #120a0f; }
.team-photo.glow-four { background: radial-gradient(circle at 32% 22%, rgba(240, 214, 220, 0.2) 0%, transparent 30%), radial-gradient(circle at 76% 18%, rgba(216, 184, 144, 0.22) 0%, transparent 28%), linear-gradient(180deg, rgba(255, 248, 249, 0.08) 0%, rgba(255, 248, 249, 0.02) 100%), #120a0f; }
.team-copy { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 0.5rem; }
.team-copy h3 { font-family: "Syne", sans-serif; font-size: 1.5rem; line-height: 1; letter-spacing: -0.05em; }
.team-copy p { color: var(--text-soft); font-size: 0.98rem; }

.faq { background: linear-gradient(180deg, #0b040d 0%, #14080f 100%); color: var(--text); position: relative; overflow: hidden; }
.faq-canvas-bg {
  position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; opacity: 0.5;
}
.faq-gradient-overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(to right, rgba(185, 119, 144, 0.08), transparent),
    linear-gradient(to bottom left, rgba(127, 52, 164, 0.06), transparent),
    linear-gradient(180deg, rgba(11, 4, 13, 0.5) 0%, rgba(11, 4, 13, 0.2) 50%, rgba(11, 4, 13, 0.6) 100%);
}
.faq .container { position: relative; z-index: 2; }
.faq-heading { display: flex; flex-direction: column; align-items: center; gap: 1.1rem; text-align: center; }
.faq-list { display: grid; gap: 0.75rem; margin-top: 2rem; }
.faq-accordion { border-radius: 1.6rem; background: rgba(255, 255, 255, 0.44); overflow: hidden; }
.faq-circle { position: relative; flex: 0 0 auto; width: 2.1rem; height: 2.1rem; border-radius: 999px; background: rgba(11, 4, 13, 0.06); }
.faq-cross-line-one, .faq-cross-line-two {
  position: absolute; top: 50%; left: 50%; width: 0.95rem; height: 1.5px; border-radius: 999px; background: var(--ink);
  transform: translate(-50%, -50%); transition: transform 0.3s ease, opacity 0.3s ease;
}
.faq-cross-line-two { transform: translate(-50%, -50%) rotate(90deg); }
.faq-accordion.is-open .faq-cross-line-two { transform: translate(-50%, -50%) rotate(90deg) scaleX(0); opacity: 0; }
.accordion-head {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%;
  padding: 1.35rem 1.4rem; text-align: left; font-size: 1.1rem; font-weight: 600; color: var(--ink);
}
.accordion-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.35s var(--ease-out), padding-bottom 0.35s var(--ease-out); }
.accordion-body p { overflow: hidden; color: var(--ink-soft); padding: 0 1.4rem 0; }
.faq-accordion.is-open .accordion-body { grid-template-rows: 1fr; padding-bottom: 1.2rem; }

.contact-us { overflow: clip; }
.contact-us::before {
  content: ""; position: absolute; inset: 8% 12% auto; z-index: 0; height: 16rem; border-radius: 100%;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.26) 0%, rgba(185, 119, 144, 0) 72%); filter: blur(2rem);
}
.contact-shell { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 1.35rem; text-align: center; }
.contact-shell .heading-size-h2 { max-width: 52rem; }
.contact-copy { max-width: 28rem; }
.contact-form {
  width: min(100%, 48rem); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1.4rem; border-radius: 2rem;
  background: rgba(17, 8, 14, 0.78); box-shadow: var(--shadow-strong); backdrop-filter: blur(1.25rem); -webkit-backdrop-filter: blur(1.25rem); text-align: left;
}
.contact-form::after { background: linear-gradient(180deg, rgba(255, 248, 249, 0.07) 0%, rgba(255, 248, 249, 0.02) 100%); }
.contact-form label { position: relative; z-index: 2; display: grid; gap: 0.5rem; }
.contact-form span { color: rgba(255, 244, 242, 0.88); font-size: 0.92rem; font-weight: 600; }
.contact-form input, .contact-form textarea, .contact-form select {
  width: 100%; border: 1px solid rgba(255, 244, 242, 0.08); border-radius: 1rem; background: rgba(255, 248, 249, 0.05); color: var(--text);
  padding: 0.95rem 1rem; resize: none; outline: none; transition: border-color 0.28s ease, background-color 0.28s ease, transform 0.28s ease;
}
.contact-form input::placeholder, .contact-form textarea::placeholder { color: rgba(255, 239, 236, 0.4); }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: rgba(217, 178, 191, 0.42); background: rgba(255, 248, 249, 0.08); transform: translateY(-1px); }
.contact-form option { color: #0b040d; }
.full { grid-column: 1 / -1; }
.form-note, .form-status { position: relative; z-index: 2; font-size: 0.92rem; }
.form-note { color: var(--text-muted); }
.form-status { color: var(--accent-2); }

.footer { padding: 0 0 2rem; }
.footer-card { border-radius: 2rem; padding: 1.5rem; background: rgba(15, 7, 12, 0.82); backdrop-filter: blur(1.2rem); -webkit-backdrop-filter: blur(1.2rem); }
.site-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.footer-brand { display: flex; flex-direction: column; gap: 0.4rem; }
.footer-brand strong { font-family: "Syne", sans-serif; font-size: 1.2rem; letter-spacing: -0.04em; }
.footer-brand p { max-width: 26rem; color: var(--text-muted); font-size: 0.94rem; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.reveal { opacity: 0; transform: translateY(1.8rem); transition: opacity 0.9s ease, transform 0.9s var(--ease-luxury); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 79rem) { .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .timeline-shell { padding: 1.4rem; } }
@media (max-width: 62rem) {
  .mobile-hide { display: none !important; }
  .mobile-only { display: inline-flex !important; }
  .header-row { grid-template-columns: auto auto; justify-content: space-between; }
  .hero-container, .gravity-container { grid-template-columns: 1fr; }
  .gravity-left-wrapper { position: static; }
  .gravity-wrapper { min-height: 28rem; }
  .hero-stage { min-height: 26rem; }
  .hero-card { position: relative; margin-top: 1rem; }
  .contact-form { grid-template-columns: 1fr; }
  .full { grid-column: auto; }
  .site-footer__inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 47.9375rem) {
  :root { --container: calc(100vw - 1rem); --header-width: calc(100vw - 1rem); --section-space: 4.5rem; }
  .site-header { top: 0.5rem; }
  .header-row { padding: 0.78rem 0.85rem; }
  .logo-text-wrap small { font-size: 0.55rem; }
  .hero { min-height: auto; padding-top: 7rem; }
  .hero-copy, .timeline-head, .team-heading { gap: 1rem; }
  .hero-actions, .contact-actions, .hero-tags { width: 100%; }
  .hero-actions > *, .contact-actions > * { flex: 1 1 100%; }
  .screen-layout { grid-template-columns: 1fr; }
  .key-stats-about-us::before, .key-stats-about-us::after { display: none; }
  .gravity-wrapper { min-height: 25rem; }
  .gravity-slide { justify-content: center; }
  .gravity-slide-card { width: 100%; padding: 1.5rem; }
  .timeline-cards { padding-bottom: 0.2rem; }
  .horizontal-scroll-card-about-us { flex-basis: 85vw; min-height: 15rem; }
  .team-grid { grid-template-columns: 1fr; max-width: 24rem; margin: 0 auto; }
  .margin-top-48-0 { margin-top: 0; }
  .team-card { min-height: 24rem; transform: none !important; transition: none; }
  .team-card:hover { transform: none !important; box-shadow: none; }
  .team-photo { height: 14.5rem; }
  .team-photo-image { object-position: center center; }
  .accordion-head { font-size: 1rem; padding: 1.1rem 1rem; }
  .accordion-body p { padding: 0 1rem 0; }
  .faq-accordion.is-open .accordion-body { padding-bottom: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

.scroll-pattern {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  isolation: isolate;
}
.scroll-pattern::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 26%, rgba(210, 138, 170, 0.16), transparent 24%),
    radial-gradient(circle at 82% 64%, rgba(240, 205, 217, 0.11), transparent 28%),
    linear-gradient(180deg, rgba(255, 214, 227, 0.018) 0%, rgba(255, 214, 227, 0) 100%);
  opacity: 0.9;
}
.pattern-top,
.pattern-bottom {
  position: absolute;
  left: 0;
  right: 0;
  background-repeat: no-repeat;
  background-position: center;
  will-change: transform, opacity;
  mix-blend-mode: screen;
  overflow: hidden;
  isolation: isolate;
}
.pattern-top::before,
.pattern-top::after,
.pattern-bottom::before,
.pattern-bottom::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.pattern-top {
  top: -7vh;
  height: 62vh;
  opacity: var(--pattern-top-opacity, 0.15);
  transform: translate3d(0, calc(var(--pattern-shift, 0px) * -0.42), 0) scale(var(--pattern-top-scale, 1.06));
  filter: blur(var(--pattern-top-blur, 3px));
  background-image:
    radial-gradient(circle at 50% 22%, rgba(255, 230, 238, 0.1) 0%, rgba(255, 230, 238, 0) 60%),
    linear-gradient(180deg, rgba(255, 214, 227, 0.045) 0%, rgba(255, 214, 227, 0) 76%);
  background-size: 100% 100%, 100% 100%;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.98) 0%, rgba(0,0,0,0.72) 42%, rgba(0,0,0,0.24) 76%, transparent 100%);
}
.pattern-top::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='218' viewBox='0 0 256 218'%3E%3Cg fill='none' stroke='rgba(241,198,218,0.58)' stroke-width='1.25'%3E%3Cpolyline points='0 0 0 34.916 31.889 54.025 63.778 34.916 95.778 54.025 95.778 88.916 127.5 108.5 159.556 88.916'/%3E%3Cpolyline points='95.778 88.916 63.778 108.025 63.778 142.942 32 162.025'/%3E%3Cpolyline points='63.889 142.945 95.778 162.025 127.5 142.945 160 162.025 159.556 196.971 127.667 216.08'/%3E%3Cpolyline points='160 162.025 191.444 142.942 223.556 162.054 254.778 142.945'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat;
  background-position: center top;
  background-size: 12.2rem auto;
  opacity: 0.95;
}
.pattern-top::after {
  background:
    linear-gradient(180deg, rgba(255, 188, 210, 0.14) 0%, rgba(255, 188, 210, 0.03) 46%, rgba(255, 188, 210, 0) 100%),
    radial-gradient(circle at 34% 18%, rgba(255, 214, 227, 0.13), transparent 22%),
    radial-gradient(circle at 68% 14%, rgba(220, 142, 176, 0.11), transparent 24%);
}
.pattern-bottom {
  bottom: -14vh;
  height: 80vh;
  opacity: var(--pattern-bottom-opacity, 0.2);
  transform: translate3d(0, calc(var(--pattern-shift, 0px) * 0.26), 0) scale(var(--pattern-bottom-scale, 1.08));
  filter: blur(var(--pattern-bottom-blur, 4px));
  background-image:
    radial-gradient(circle at 50% 78%, rgba(255, 186, 208, 0.14) 0%, rgba(255, 186, 208, 0) 48%),
    linear-gradient(180deg, rgba(255, 214, 227, 0) 0%, rgba(255, 214, 227, 0.065) 48%, rgba(255, 214, 227, 0.15) 100%);
  background-size: 100% 100%, 100% 100%;
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.18) 16%, rgba(0,0,0,0.9) 52%, rgba(0,0,0,1) 100%);
}
.pattern-bottom::before {
  background-image:
    linear-gradient(rgba(248, 191, 219, 0.48) 1px, transparent 1px),
    linear-gradient(90deg, rgba(248, 191, 219, 0.48) 1px, transparent 1px),
    linear-gradient(rgba(190, 98, 139, 0.32) 1px, transparent 1px),
    linear-gradient(90deg, rgba(190, 98, 139, 0.32) 1px, transparent 1px);
  background-repeat: repeat;
  background-position: center;
  background-size: 3rem 3rem, 3rem 3rem, 9rem 9rem, 9rem 9rem;
  opacity: 1;
}
.pattern-bottom::after {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='218' viewBox='0 0 256 218'%3E%3Cg fill='none' stroke='rgba(243,171,204,0.55)' stroke-width='1.05'%3E%3Cpolyline points='0 0 0 34.916 31.889 54.025 63.778 34.916 95.778 54.025 95.778 88.916 127.5 108.5 159.556 88.916'/%3E%3Cpolyline points='95.778 88.916 63.778 108.025 63.778 142.942 32 162.025'/%3E%3Cpolyline points='63.889 142.945 95.778 162.025 127.5 142.945 160 162.025 159.556 196.971 127.667 216.08'/%3E%3Cpolyline points='160 162.025 191.444 142.942 223.556 162.054 254.778 142.945'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(circle at 18% 76%, rgba(221, 136, 182, 0.28), transparent 24%),
    radial-gradient(circle at 82% 54%, rgba(255, 216, 232, 0.22), transparent 28%);
  background-repeat: repeat, no-repeat, no-repeat;
  background-position: center, left bottom, right center;
  background-size: 12rem auto, 26rem 26rem, 30rem 30rem;
  opacity: 0.9;
}
@media (max-width: 47.9375rem) {
  .pattern-top {
    height: 44vh;
  }
  .pattern-bottom {
    height: 54vh;
  }
  .pattern-top::before {
    background-size: 9.4rem auto;
  }
  .pattern-bottom::before {
    background-size: 2.2rem 2.2rem, 2.2rem 2.2rem, 6.8rem 6.8rem, 6.8rem 6.8rem;
  }
  .pattern-bottom::after {
    background-size: 8.6rem auto, 18rem 18rem, 20rem 20rem;
  }
}


/* Rebuilt timeline and team visuals */
.timeline-scene {
  position: relative;
  margin-top: 2.5rem;
}

.timeline-sticky {
  position: sticky;
  top: 6.25rem;
  height: calc(100vh - 7.5rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.2rem;
  overflow: hidden;
}

.timeline-progress {
  position: relative;
  width: 100%;
  height: 3px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255, 244, 242, 0.08);
}

.timeline-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0.08);
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(185, 119, 144, 0.92) 0%, rgba(216, 184, 144, 0.92) 52%, rgba(240, 214, 220, 0.95) 100%);
  box-shadow: 0 0 1.5rem rgba(185, 119, 144, 0.42);
}

.timeline-track {
  display: flex;
  align-items: stretch;
  gap: 1rem;
  width: max-content;
  will-change: transform;
}

.timeline-panel {
  position: relative;
  flex: 0 0 31rem;
  min-height: 68vh;
  border-radius: 2rem;
  overflow: hidden;
  border: 1px solid rgba(255, 244, 242, 0.1);
  background: linear-gradient(180deg, rgba(255, 248, 249, 0.09) 0%, rgba(255, 248, 249, 0.02) 100%), rgba(22, 12, 18, 0.9);
  box-shadow: 0 2rem 4rem rgba(6, 2, 5, 0.22);
  transition: transform 0.5s var(--ease-luxury), box-shadow 0.5s ease, border-color 0.5s ease;
}

.timeline-panel.is-active {
  transform: translateY(-0.45rem);
  border-color: rgba(255, 244, 242, 0.18);
  box-shadow: 0 2.4rem 4.5rem rgba(6, 2, 5, 0.32);
}

.timeline-panel-intro {
  flex-basis: 24rem;
  min-height: 68vh;
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 1rem;
  background:
    linear-gradient(180deg, rgba(11, 4, 13, 0.32) 0%, rgba(11, 4, 13, 0.72) 55%, rgba(11, 4, 13, 0.92) 100%),
    radial-gradient(circle at 22% 16%, rgba(240, 214, 220, 0.18), transparent 28%),
    radial-gradient(circle at 78% 84%, rgba(216, 184, 144, 0.14), transparent 26%),
    url('https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?auto=format&fit=crop&w=800&q=75') center center / cover no-repeat;
}

.timeline-panel-intro h3,
.timeline-panel-copy h3,
.timeline-finale-content h3 {
  font-family: "Syne", sans-serif;
  font-size: clamp(1.8rem, 2.7vw, 2.5rem);
  line-height: 0.96;
  letter-spacing: -0.05em;
}

.timeline-panel-intro p,
.timeline-panel-copy p,
.timeline-finale-content p {
  color: var(--text-soft);
  font-size: 1rem;
}

.timeline-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 2.2rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 244, 242, 0.1);
  background: rgba(255, 247, 249, 0.05);
  color: rgba(255, 244, 242, 0.88);
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.timeline-panel-card {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}

.timeline-panel-media {
  position: relative;
  min-height: 25rem;
  overflow: hidden;
}

.timeline-panel-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 4, 13, 0.02) 0%, rgba(11, 4, 13, 0.12) 52%, rgba(11, 4, 13, 0.64) 100%);
}

.timeline-panel-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ease-luxury), filter 0.4s ease;
}

.timeline-panel-card:hover .timeline-panel-media img,
.timeline-panel-card.is-active .timeline-panel-media img {
  transform: scale(1.045);
  filter: saturate(1.04) contrast(1.03);
}

.timeline-panel-copy {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.35rem;
}

.timeline-panel-finale {
  flex-basis: 44rem;
  min-height: 68vh;
}

.timeline-finale-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.timeline-panel-finale::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(11, 4, 13, 0.08) 0%, rgba(11, 4, 13, 0.16) 46%, rgba(11, 4, 13, 0.8) 100%),
    radial-gradient(circle at 74% 20%, rgba(240, 214, 220, 0.22), transparent 24%);
}

.timeline-finale-content {
  position: absolute;
  inset: auto 1.5rem 1.5rem 1.5rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 28rem;
}

.timeline-years {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.timeline-years span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  min-height: 2.25rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 244, 242, 0.08);
  background: rgba(255, 247, 249, 0.04);
  color: rgba(255, 244, 242, 0.58);
  font-size: 0.88rem;
  transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease, transform 0.3s ease;
}

.timeline-years span.is-active {
  color: var(--text);
  border-color: rgba(255, 244, 242, 0.18);
  background: rgba(255, 247, 249, 0.1);
  transform: translateY(-0.12rem);
}

.team-slider {
  overflow: visible;
}

.team-slider .team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.team-photo-frame {
  position: relative;
  z-index: 2;
  height: 18rem;
  margin-bottom: 1rem;
  border-radius: 1.45rem;
  overflow: hidden;
  background: #120a0f;
}

.team-photo-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(11, 4, 13, 0.04) 0%, rgba(11, 4, 13, 0.18) 50%, rgba(11, 4, 13, 0.72) 100%),
    radial-gradient(circle at 68% 14%, rgba(240, 214, 220, 0.18), transparent 24%);
}

.team-photo-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(0.96) contrast(1.02);
}

.team-card:nth-child(2) .team-photo-image {
  object-position: center 18%;
}

.team-card:nth-child(3) .team-photo-image {
  object-position: center 16%;
}

.team-card:nth-child(4) .team-photo-image {
  object-position: center 12%;
}

@media (min-width: 992px) {
  .timeline-panel-card {
    flex-basis: 32rem;
  }
}

@media (max-width: 991px) {
  .timeline-scene {
    margin-top: 1.5rem;
  }

  .timeline-sticky {
    position: relative;
    top: auto;
    height: auto;
    justify-content: flex-start;
    overflow: visible;
  }

  .timeline-track {
    width: auto;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .timeline-track::-webkit-scrollbar {
    display: none;
  }

  .timeline-panel,
  .timeline-panel-intro,
  .timeline-panel-card,
  .timeline-panel-finale {
    flex: 0 0 min(84vw, 24rem);
    min-height: 31rem;
    scroll-snap-align: start;
  }

  .timeline-panel-intro {
    min-height: 31rem;
  }

  .timeline-panel-finale {
    flex-basis: min(90vw, 28rem);
  }

  .timeline-panel-media {
    min-height: 18rem;
  }

  .timeline-finale-content {
    right: 1.1rem;
    left: 1.1rem;
    bottom: 1.1rem;
  }

  .team-slider {
    overflow-x: auto;
    padding-bottom: 0.5rem;
    scrollbar-width: none;
  }

  .team-slider::-webkit-scrollbar {
    display: none;
  }

  .team-slider .team-grid {
    display: flex;
    width: max-content;
  }

  .team-slider .team-card {
    flex: 0 0 min(84vw, 20rem);
    min-height: 24.5rem;
  }

  .team-slider .margin-top-48-0 {
    margin-top: 0;
  }
}/* Hero image composition and visual polish */
.hero-gallery {
  position: relative;
  min-height: inherit;
  height: 100%;
}
.hero-gallery::before {
  content: "";
  position: absolute;
  inset: 10% 4% 8%;
  border-radius: 2.2rem;
  background: radial-gradient(circle at 58% 18%, rgba(240, 214, 220, 0.22), transparent 28%), radial-gradient(circle at 18% 82%, rgba(216, 184, 144, 0.16), transparent 24%);
  filter: blur(28px);
  opacity: 0.9;
}
.hero-visual-card {
  position: absolute;
  overflow: hidden;
  border-radius: 1.9rem;
  border: 1px solid rgba(255, 244, 242, 0.14);
  background: rgba(18, 10, 15, 0.9);
  box-shadow: 0 2rem 4.5rem rgba(6, 1, 4, 0.34);
}
.hero-visual-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 4, 13, 0.02) 0%, rgba(11, 4, 13, 0.18) 48%, rgba(11, 4, 13, 0.72) 100%);
  pointer-events: none;
}
.hero-visual-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
  filter: saturate(1.02) contrast(1.03);
}
.hero-visual-main {
  inset: 7% 14% 8% 0;
  transform: rotate(-7deg);
}
.hero-visual-main img {
  object-position: center 18%;
}
.hero-visual-side {
  width: clamp(10rem, 22vw, 16rem);
  aspect-ratio: 0.84;
}
.hero-visual-side.is-top {
  right: 0;
  top: 2%;
  transform: rotate(8deg);
}
.hero-visual-side.is-bottom {
  right: 4%;
  bottom: 0;
  transform: rotate(10deg);
}
.hero-visual-side.is-top img {
  object-position: center 20%;
}
.hero-visual-side.is-bottom img {
  object-position: center 30%;
}
.hero-visual-overlay {
  position: absolute;
  inset: auto 1.25rem 1.25rem 1.25rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
.hero-visual-overlay strong {
  font-family: "Syne", sans-serif;
  font-size: clamp(1.6rem, 2.4vw, 2.4rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
}
.hero-visual-overlay p {
  max-width: 22rem;
  color: rgba(255, 244, 242, 0.78);
  font-size: 0.98rem;
}
.hero-visual-note {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;
}
.hero-visual-note span {
  display: inline-flex;
  align-items: center;
  min-height: 2.15rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 244, 242, 0.14);
  background: rgba(15, 8, 12, 0.46);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: rgba(255, 244, 242, 0.92);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.hero-floating-stat {
  position: absolute;
  left: 2%;
  bottom: 5%;
  z-index: 4;
  display: grid;
  gap: 0.35rem;
  max-width: 13rem;
  padding: 0.95rem 1rem;
  border-radius: 1.4rem;
  border: 1px solid rgba(255, 244, 242, 0.14);
  background: rgba(18, 10, 15, 0.58);
  box-shadow: 0 1.2rem 2.6rem rgba(6, 1, 4, 0.28);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.hero-floating-stat span {
  font-family: "Syne", sans-serif;
  font-size: 1.7rem;
  line-height: 0.9;
  color: var(--accent-3);
}
.hero-floating-stat p {
  color: rgba(255, 244, 242, 0.74);
  font-size: 0.92rem;
}

/* Fantasy-inspired cinematic reel */
.immersive-reel {
  overflow: clip;
  padding-top: calc(var(--section-space) * 0.9);
}
.immersive-reel::before,
.immersive-reel::after {
  content: "";
  position: absolute;
  border-radius: 100%;
  pointer-events: none;
  filter: blur(32px);
}
.immersive-reel::before {
  top: 7rem;
  left: -3rem;
  width: 16rem;
  height: 16rem;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.24) 0%, rgba(185, 119, 144, 0) 72%);
}
.immersive-reel::after {
  right: -2rem;
  bottom: 3rem;
  width: 18rem;
  height: 18rem;
  background: radial-gradient(circle, rgba(216, 184, 144, 0.18) 0%, rgba(216, 184, 144, 0) 72%);
}
.immersive-reel-head {
  display: grid;
  gap: 1.15rem;
}
.immersive-lead {
  max-width: 50rem;
  color: var(--text-soft);
  font-size: clamp(1rem, 1.5vw, 1.12rem);
}
.immersive-scene {
  position: relative;
  height: 300vh;
  margin-top: 2.5rem;
}
.immersive-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
}
.immersive-backdrop {
  position: absolute;
  inset: 5% 0 5%;
  border-radius: 2.6rem;
  border: 1px solid rgba(255, 244, 242, 0.08);
  background:
    radial-gradient(circle at 24% 24%, rgba(240, 214, 220, 0.12), transparent 22%),
    radial-gradient(circle at 74% 70%, rgba(216, 184, 144, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(3, 2, 4, 0.9) 0%, rgba(9, 4, 8, 0.96) 100%);
  box-shadow: 0 2rem 5rem rgba(4, 1, 3, 0.34);
  transform: scale(1.08);
  opacity: 0.52;
  will-change: transform, opacity;
}
.immersive-backdrop::before,
.immersive-backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}
.immersive-backdrop::before {
  background-image:
    linear-gradient(rgba(255, 244, 242, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 244, 242, 0.045) 1px, transparent 1px);
  background-size: 4rem 4rem;
  opacity: 0.26;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.9) 28%, rgba(0, 0, 0, 1) 100%);
}
.immersive-backdrop::after {
  background:
    linear-gradient(180deg, rgba(11, 4, 13, 0) 0%, rgba(11, 4, 13, 0.1) 34%, rgba(11, 4, 13, 0.74) 100%),
    radial-gradient(circle at 50% 40%, rgba(255, 223, 231, 0.07), transparent 34%);
}
.immersive-copy-block {
  position: absolute;
  top: 11%;
  left: 0;
  z-index: 4;
  display: grid;
  gap: 0.9rem;
  width: min(34rem, 42vw);
  will-change: transform, opacity;
}
.immersive-copy-block h3 {
  font-family: "Syne", sans-serif;
  font-size: clamp(2.05rem, 4vw, 4rem);
  line-height: 0.92;
  letter-spacing: -0.06em;
}
.immersive-copy-block p {
  max-width: 29rem;
  color: var(--text-soft);
  font-size: 1rem;
}
.immersive-grid {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(12rem, 0.76fr) minmax(20rem, 1.18fr) minmax(12rem, 0.76fr);
  gap: 1rem;
  align-items: center;
  width: 100%;
}
.immersive-column {
  display: grid;
  gap: 1rem;
}
.immersive-column.is-left {
  padding-top: 5rem;
}
.immersive-column.is-right {
  padding-bottom: 5rem;
}
.immersive-card,
.immersive-feature {
  position: relative;
  overflow: hidden;
  border-radius: 1.9rem;
  border: 1px solid rgba(255, 244, 242, 0.12);
  background: linear-gradient(180deg, rgba(255, 248, 249, 0.08) 0%, rgba(255, 248, 249, 0.02) 100%), rgba(17, 8, 13, 0.9);
  box-shadow: 0 1.8rem 4rem rgba(4, 1, 3, 0.34);
  will-change: transform, opacity;
}
.immersive-card::before,
.immersive-feature::before,
.immersive-card::after,
.immersive-feature::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.immersive-card::before,
.immersive-feature::before {
  background: linear-gradient(180deg, rgba(11, 4, 13, 0.04) 0%, rgba(11, 4, 13, 0.16) 42%, rgba(11, 4, 13, 0.74) 100%);
}
.immersive-card::after,
.immersive-feature::after {
  background: radial-gradient(circle at 80% 18%, rgba(240, 214, 220, 0.14), transparent 22%), linear-gradient(180deg, rgba(11, 4, 13, 0) 0%, rgba(11, 4, 13, 0.78) 100%);
}
.immersive-card.is-sm {
  height: 13.5rem;
}
.immersive-card.is-md {
  height: 16rem;
}
.immersive-card.is-lg {
  height: 18.75rem;
}
.immersive-card video,
.immersive-feature video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
  filter: saturate(1.03) contrast(1.05);
}
.immersive-feature {
  min-height: min(70vh, 40rem);
  padding: 0.85rem;
  transform-origin: center center;
}
.immersive-feature-media {
  position: relative;
  min-height: min(70vh, 40rem);
  border-radius: 1.45rem;
  overflow: hidden;
  clip-path: polygon(0 0, 88% 0, 100% 10%, 100% 100%, 0 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 244, 242, 0.08);
}
.immersive-card-copy,
.immersive-feature-copy {
  position: absolute;
  z-index: 2;
  display: grid;
}
.immersive-card-copy {
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  gap: 0.38rem;
}
.immersive-card-copy span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 2rem;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 244, 242, 0.12);
  background: rgba(14, 8, 12, 0.46);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  color: rgba(255, 244, 242, 0.88);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.immersive-card-copy strong {
  max-width: 12.5rem;
  font-family: "Syne", sans-serif;
  font-size: 1.08rem;
  line-height: 0.96;
  letter-spacing: -0.04em;
}
.immersive-feature-copy {
  left: 2rem;
  right: 2rem;
  bottom: 2rem;
  width: min(31rem, 78%);
  gap: 0.85rem;
  will-change: transform;
}
.immersive-feature-copy h3 {
  font-family: "Syne", sans-serif;
  font-size: clamp(2rem, 4.1vw, 3.8rem);
  line-height: 0.92;
  letter-spacing: -0.06em;
}
.immersive-feature-copy p {
  max-width: 27rem;
  color: rgba(255, 244, 242, 0.8);
  font-size: 1rem;
}
.immersive-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 8%;
  z-index: 4;
  height: 3px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255, 244, 242, 0.08);
}
.immersive-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0.08);
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(185, 119, 144, 0.94) 0%, rgba(216, 184, 144, 0.92) 52%, rgba(240, 214, 220, 0.96) 100%);
  box-shadow: 0 0 1.5rem rgba(185, 119, 144, 0.42);
}
@media (max-width: 62rem) {
  .immersive-scene {
    height: auto;
  }

  .immersive-sticky {
    position: relative;
    top: auto;
    height: auto;
    display: grid;
    gap: 1rem;
  }

  .immersive-backdrop {
    inset: 0;
    border-radius: 2rem;
    transform: none;
  }

  .immersive-copy-block {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
  }

  .immersive-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .immersive-feature {
    order: -1;
    min-height: 28rem;
  }

  .immersive-feature-media {
    min-height: 28rem;
  }

  .immersive-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .immersive-column.is-left,
  .immersive-column.is-right {
    padding: 0;
  }

  .immersive-card.is-lg {
    grid-column: span 2;
  }

  .immersive-progress {
    position: relative;
    bottom: auto;
    margin-top: 0.25rem;
  }
}
@media (max-width: 47.9375rem) {
  .immersive-feature {
    min-height: 22rem;
    padding: 0.7rem;
  }

  .immersive-feature-media {
    min-height: 22rem;
    border-radius: 1.1rem;
    clip-path: polygon(0 0, 86% 0, 100% 12%, 100% 100%, 0 100%);
  }

  .immersive-copy-block h3 {
    font-size: 1.9rem;
  }

  .immersive-copy-block p,
  .immersive-feature-copy p {
    font-size: 0.92rem;
  }

  .immersive-feature-copy {
    left: 1.1rem;
    right: 1.1rem;
    bottom: 1.1rem;
    width: auto;
    gap: 0.65rem;
  }

  .immersive-feature-copy h3 {
    font-size: 1.85rem;
  }

  .immersive-column {
    grid-template-columns: 1fr;
  }

  .immersive-card.is-sm,
  .immersive-card.is-md,
  .immersive-card.is-lg {
    height: 14rem;
  }

  .immersive-card-copy strong {
    max-width: 100%;
  }
}
/* Fantasy-inspired full-screen video break */
.cinema-break {
  padding-top: 0;
  padding-bottom: 0;
  overflow: clip;
}
.cinema-scene {
  position: relative;
  height: 220vh;
}
.cinema-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  border-radius: 2.6rem;
}
.cinema-media,
.cinema-overlay,
.cinema-mesh {
  position: absolute;
  inset: 0;
}
.cinema-media {
  transform: scale(1.16);
  transform-origin: center center;
  will-change: transform;
}
.cinema-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.04) contrast(1.06);
}
.cinema-overlay {
  background:
    linear-gradient(180deg, rgba(6, 2, 5, 0.28) 0%, rgba(6, 2, 5, 0.08) 26%, rgba(6, 2, 5, 0.72) 100%),
    radial-gradient(circle at 50% 46%, rgba(255, 225, 234, 0.08), transparent 32%);
  opacity: 0.88;
  will-change: opacity;
}
.cinema-mesh {
  background-image:
    linear-gradient(rgba(255, 244, 242, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 244, 242, 0.05) 1px, transparent 1px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='218' viewBox='0 0 256 218'%3E%3Cg fill='none' stroke='rgba(243,171,204,0.18)' stroke-width='1.05'%3E%3Cpolyline points='0 0 0 34.916 31.889 54.025 63.778 34.916 95.778 54.025 95.778 88.916 127.5 108.5 159.556 88.916'/%3E%3Cpolyline points='95.778 88.916 63.778 108.025 63.778 142.942 32 162.025'/%3E%3Cpolyline points='63.889 142.945 95.778 162.025 127.5 142.945 160 162.025 159.556 196.971 127.667 216.08'/%3E%3Cpolyline points='160 162.025 191.444 142.942 223.556 162.054 254.778 142.945'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 3.8rem 3.8rem, 3.8rem 3.8rem, 11rem auto;
  background-position: center, center, center;
  opacity: 0.28;
  mix-blend-mode: screen;
}
.cinema-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
  padding-bottom: clamp(3rem, 8vh, 5rem);
  will-change: transform, opacity;
}
.cinema-content .heading-size-h2 {
  max-width: 46rem;
}
.cinema-copy {
  max-width: 29rem;
  color: rgba(255, 244, 242, 0.8);
  font-size: clamp(1rem, 1.5vw, 1.1rem);
}
.cinema-note {
  position: absolute;
  right: clamp(1rem, 4vw, 3rem);
  bottom: clamp(2rem, 8vh, 4rem);
  z-index: 3;
  display: grid;
  gap: 0.5rem;
  width: min(18rem, 30vw);
  padding: 1rem 1.05rem;
  border-radius: 1.4rem;
  border: 1px solid rgba(255, 244, 242, 0.12);
  background: rgba(12, 7, 10, 0.38);
  box-shadow: 0 1.6rem 3.4rem rgba(4, 1, 3, 0.28);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  will-change: transform, opacity;
}
.cinema-note span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 2rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 244, 242, 0.14);
  background: rgba(255, 247, 249, 0.06);
  color: rgba(255, 244, 242, 0.86);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.cinema-note strong {
  font-family: "Syne", sans-serif;
  font-size: 1.05rem;
  line-height: 0.98;
  letter-spacing: -0.04em;
}
.cinema-progress {
  position: absolute;
  left: clamp(1rem, 4vw, 3rem);
  right: clamp(1rem, 4vw, 3rem);
  bottom: 1.1rem;
  z-index: 3;
  height: 3px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255, 244, 242, 0.08);
}
.cinema-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0.08);
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(185, 119, 144, 0.94) 0%, rgba(216, 184, 144, 0.92) 52%, rgba(240, 214, 220, 0.96) 100%);
  box-shadow: 0 0 1.5rem rgba(185, 119, 144, 0.42);
}
@media (max-width: 62rem) {
  .cinema-scene {
    height: auto;
  }

  .cinema-sticky {
    position: relative;
    min-height: 42rem;
    height: auto;
    border-radius: 2rem;
  }

  .cinema-content {
    padding-top: 8rem;
    padding-bottom: 5rem;
  }

  .cinema-note {
    width: min(18rem, calc(100% - 2rem));
  }
}
@media (max-width: 47.9375rem) {
  .cinema-sticky {
    min-height: 34rem;
    border-radius: 1.4rem;
  }

  .cinema-content {
    padding-top: 6rem;
    padding-bottom: 4.5rem;
  }

  .cinema-content .heading-size-h2 {
    max-width: 18rem;
  }

  .cinema-copy {
    max-width: 15.5rem;
    font-size: 0.92rem;
  }

  .cinema-note {
    right: 1rem;
    bottom: 3.8rem;
    width: calc(100% - 2rem);
    padding: 0.9rem;
  }

  .cinema-note strong {
    font-size: 0.96rem;
  }

  .cinema-progress {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
  }
}
.timeline-section::before,
.timeline-section::after,
.our-team::before,
.our-team::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.timeline-section::before {
  inset: 8rem auto auto 4%;
  width: 18rem;
  height: 18rem;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.18) 0%, rgba(185, 119, 144, 0) 72%);
  filter: blur(26px);
}
.timeline-section::after {
  inset: auto 5% 10% auto;
  width: 16rem;
  height: 16rem;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(216, 184, 144, 0.16) 0%, rgba(216, 184, 144, 0) 72%);
  filter: blur(24px);
}
.our-team::before {
  top: 3rem;
  left: -3rem;
  width: 14rem;
  height: 14rem;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.18) 0%, rgba(185, 119, 144, 0) 72%);
  filter: blur(24px);
}
.our-team::after {
  right: -2rem;
  bottom: 2rem;
  width: 18rem;
  height: 18rem;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(240, 214, 220, 0.12) 0%, rgba(240, 214, 220, 0) 72%);
  filter: blur(28px);
}
.timeline-panel {
  border-color: rgba(255, 244, 242, 0.12);
}
.timeline-panel::before {
  content: "";
  position: absolute;
  inset: -10% auto auto -8%;
  width: 10rem;
  height: 10rem;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 72%);
  filter: blur(14px);
  opacity: 0.4;
}
.timeline-panel.is-active::before {
  opacity: 0.9;
}
.timeline-panel-card {
  padding-bottom: 0.25rem;
}
.timeline-panel-card .timeline-panel-media {
  margin: 0.85rem 0.85rem 0;
  min-height: 26rem;
  border-radius: 1.55rem;
  clip-path: polygon(0 0, 89% 0, 100% 11%, 100% 100%, 0 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 244, 242, 0.08);
}
.timeline-panel-media::before {
  content: "";
  position: absolute;
  right: 0.85rem;
  bottom: 0.85rem;
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(240, 214, 220, 0.22) 0%, rgba(240, 214, 220, 0) 72%);
  filter: blur(10px);
  z-index: 1;
}
.timeline-panel-copy {
  gap: 0.85rem;
  padding: 1.15rem 1.1rem 1.3rem;
}
.timeline-panel-copy .horizontal-scroll-year {
  width: fit-content;
  border-color: rgba(255, 244, 242, 0.12);
  background: rgba(255, 247, 249, 0.06);
}
.timeline-panel-copy h3 {
  max-width: 18rem;
}
.timeline-panel-card:hover,
.timeline-panel-card.is-active,
.timeline-panel-finale.is-active {
  box-shadow: 0 2.6rem 5rem rgba(6, 2, 5, 0.38);
}
.timeline-panel-finale {
  background: #100810;
}
.timeline-panel-finale .timeline-finale-image {
  transform: scale(1.05);
}
.timeline-finale-content {
  padding: 1rem 1.1rem;
  border: 1px solid rgba(255, 244, 242, 0.14);
  border-radius: 1.35rem;
  background: rgba(15, 8, 12, 0.46);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.timeline-years span {
  cursor: pointer;
  user-select: none;
}
.timeline-years span.is-active {
  box-shadow: 0 0 1.4rem rgba(185, 119, 144, 0.2);
}
.team-card {
  border: 1px solid rgba(255, 244, 242, 0.12);
  box-shadow: 0 1.6rem 3.6rem rgba(6, 1, 4, 0.22);
}
.team-card-bg-active {
  opacity: 0.58;
  transition: opacity 0.45s ease, transform 0.45s ease;
}
.team-card:hover .team-card-bg-active {
  opacity: 1;
  transform: scale(1.08);
}
.team-photo-frame {
  box-shadow: inset 0 0 0 1px rgba(255, 244, 242, 0.08), 0 1.5rem 3rem rgba(5, 1, 3, 0.24);
}
.team-photo-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 248, 249, 0.03) 0%, rgba(11, 4, 13, 0.22) 44%, rgba(11, 4, 13, 0.76) 100%), radial-gradient(circle at 76% 18%, rgba(240, 214, 220, 0.14), transparent 22%);
  z-index: 1;
  pointer-events: none;
}
.team-copy {
  padding: 0 0.2rem 0.2rem;
}
.team-copy h3 {
  font-size: clamp(1.45rem, 2.1vw, 1.7rem);
}
.team-copy p {
  max-width: 16rem;
}
@media (max-width: 62rem) {
  .hero-gallery {
    min-height: 28rem;
  }
  .hero-visual-main {
    inset: 8% 12% 10% 0;
  }
  .hero-visual-side {
    width: 10.5rem;
  }
  .hero-floating-stat {
    left: auto;
    right: 1rem;
    bottom: -0.2rem;
  }
}
@media (max-width: 47.9375rem) {
  .hero-stage {
    min-height: 26rem;
  }
  .hero-gallery {
    min-height: 24rem;
  }
  .hero-visual-main {
    inset: 4% 2% 12% 2%;
    transform: rotate(-2deg);
  }
  .hero-visual-side {
    display: none;
  }
  .hero-visual-overlay {
    inset: auto 0.8rem 0.8rem 0.8rem;
  }
  .hero-visual-overlay strong {
    font-size: 1.35rem;
  }
  .hero-visual-overlay p {
    font-size: 0.85rem;
    max-width: none;
  }
  .hero-floating-stat {
    max-width: 10rem;
    padding: 0.7rem 0.8rem;
    bottom: -0.5rem;
  }
  .timeline-panel-card .timeline-panel-media {
    min-height: 18.5rem;
    margin: 0.7rem 0.7rem 0;
  }
  .timeline-finale-content {
    padding: 0.9rem 1rem;
  }
}






/* Expanded reference-driven loader + menu */
.page-loader::before {
  content: "";
  position: absolute;
  inset: 18% 26%;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.18) 0%, rgba(185, 119, 144, 0) 70%);
  filter: blur(2.4rem);
  pointer-events: none;
}
.loader-mark {
  width: min(10rem, 26vw);
  color: rgba(255, 240, 244, 0.9);
}
.loader-mark svg {
  width: 100%;
  height: auto;
}
.loader-path {
  stroke-dasharray: 280;
  stroke-dashoffset: 280;
  animation: loader-dash 1.8s var(--ease-luxury) forwards;
}
.loader-path:nth-child(2) { animation-delay: 0.12s; }
.loader-path:nth-child(3) { animation-delay: 0.24s; }
.loader-path:nth-child(4) { animation-delay: 0.36s; }
.loader-sub {
  color: rgba(255, 240, 244, 0.62);
  font-size: 0.76rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
@keyframes loader-dash {
  to {
    stroke-dashoffset: 0;
  }
}
.mobile-menu-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1rem;
}
.mobile-menu-socials a {
  display: inline-flex;
  align-items: center;
  min-height: 2.2rem;
  padding: 0.42rem 0.72rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 244, 242, 0.08);
  background: rgba(255, 247, 249, 0.04);
  color: rgba(255, 244, 242, 0.78);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Buzzworthy-inspired client and awards sections */
.clients-showcase,
.awards-showcase,
.testimonials-showcase {
  overflow: clip;
}
.clients-showcase::before,
.awards-showcase::before,
.testimonials-showcase::before {
  content: "";
  position: absolute;
  border-radius: 100%;
  pointer-events: none;
  filter: blur(30px);
  opacity: 0.9;
}
.clients-showcase::before {
  top: 10%;
  right: -6rem;
  width: 18rem;
  height: 18rem;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.16) 0%, rgba(185, 119, 144, 0) 72%);
}
.awards-showcase::before {
  left: -7rem;
  top: 18%;
  width: 20rem;
  height: 20rem;
  background: radial-gradient(circle, rgba(216, 184, 144, 0.12) 0%, rgba(216, 184, 144, 0) 72%);
}
.testimonials-showcase::before {
  right: -6rem;
  bottom: 12%;
  width: 17rem;
  height: 17rem;
  background: radial-gradient(circle, rgba(240, 214, 220, 0.16) 0%, rgba(240, 214, 220, 0) 72%);
}
.clients-intro,
.testimonials-head,
.awards-shell {
  display: grid;
  gap: 1rem;
}
.clients-copy,
.awards-copy,
.testimonials-copy {
  max-width: 42rem;
  color: var(--text-soft);
  font-size: clamp(1rem, 1.4vw, 1.08rem);
}
.clients-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
  gap: 1rem;
  align-items: stretch;
  margin-top: 2rem;
}
.clients-logo-wall {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}
.client-logo-item,
.client-stat-board,
.award-frame,
.testimonial-card {
  position: relative;
  overflow: hidden;
  border-radius: 1.5rem;
  border: 1px solid rgba(255, 244, 242, 0.1);
  background: linear-gradient(180deg, rgba(255, 248, 249, 0.08) 0%, rgba(255, 248, 249, 0.02) 100%), rgba(17, 8, 13, 0.82);
  box-shadow: 0 1.6rem 3rem rgba(4, 1, 3, 0.24);
}
.client-logo-item {
  display: grid;
  align-content: space-between;
  min-height: 6.25rem;
  padding: 1rem;
  text-align: left;
  transition: transform 0.45s var(--ease-luxury), border-color 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
}
.client-logo-item span {
  font-family: "Syne", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.16em;
  line-height: 1;
}
.client-logo-item small {
  color: var(--text-muted);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.client-logo-item.is-active,
.client-logo-item:hover {
  transform: translateY(-0.18rem);
  border-color: rgba(255, 244, 242, 0.22);
  background: linear-gradient(180deg, rgba(255, 248, 249, 0.13) 0%, rgba(255, 248, 249, 0.04) 100%), rgba(17, 8, 13, 0.92);
  box-shadow: 0 1.9rem 3.6rem rgba(4, 1, 3, 0.32);
}
.client-stat-board {
  display: grid;
  align-content: start;
  gap: 0.75rem;
  min-height: 100%;
  padding: 1.35rem;
}
.client-stat-board::after {
  content: "";
  position: absolute;
  inset: auto 12% -20% 12%;
  height: 50%;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.22) 0%, rgba(185, 119, 144, 0) 72%);
  filter: blur(20px);
  pointer-events: none;
}
.client-stat-kicker {
  color: rgba(255, 240, 244, 0.62);
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.client-stat-main {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  gap: 0.55rem;
}
#client-stat-direction {
  font-family: "Instrument Serif", serif;
  font-size: 2.3rem;
  line-height: 1;
  font-style: normal;
}
#client-stat-direction.is-positive { color: var(--champagne); }
#client-stat-direction.is-negative { color: #dba5bb; }
#client-stat-number {
  font-family: "Syne", sans-serif;
  font-size: clamp(3rem, 7vw, 5.4rem);
  line-height: 0.86;
  letter-spacing: -0.07em;
}
.client-stat-label {
  position: relative;
  z-index: 1;
  font-family: "Syne", sans-serif;
  font-size: 1.35rem;
  line-height: 0.95;
  letter-spacing: -0.04em;
}
.client-stat-copy {
  position: relative;
  z-index: 1;
  max-width: 18rem;
  color: var(--text-soft);
}
.awards-showcase {
  padding-top: clamp(6rem, 12vw, 9rem);
}
.awards-fade-word {
  position: absolute;
  left: 50%;
  top: 2rem;
  transform: translateX(-50%);
  font-family: "Syne", sans-serif;
  font-size: clamp(4.2rem, 14vw, 11rem);
  line-height: 0.86;
  letter-spacing: -0.08em;
  color: rgba(255, 244, 242, 0.045);
  white-space: nowrap;
  pointer-events: none;
}
.awards-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
  align-items: end;
  margin-top: 2rem;
}
.award-frame {
  padding: 0.85rem;
  will-change: transform, opacity;
  animation: award-float 8s ease-in-out infinite;
}
.award-frame img {
  width: 100%;
  aspect-ratio: 0.82;
  object-fit: cover;
  border-radius: 1rem;
}
.award-frame:nth-child(1) { transform: translate3d(0, 1.6rem, 0) rotate(-5deg); animation-delay: 0s; }
.award-frame:nth-child(2) { transform: translate3d(0, 0.1rem, 0) rotate(4deg); animation-delay: 0.8s; }
.award-frame:nth-child(3) { transform: translate3d(0, 1.1rem, 0) rotate(-3deg); animation-delay: 1.4s; }
.award-frame:nth-child(4) { transform: translate3d(0, -0.2rem, 0) rotate(5deg); animation-delay: 2s; }
.award-frame:nth-child(5) { transform: translate3d(0, 1.4rem, 0) rotate(-4deg); animation-delay: 2.8s; }
.award-frame:nth-child(6) { transform: translate3d(0, 0.2rem, 0) rotate(3deg); animation-delay: 3.5s; }
@keyframes award-float {
  0%, 100% { filter: saturate(1) brightness(1); }
  50% { filter: saturate(1.04) brightness(1.06); }
}
.awards-summary {
  display: grid;
  gap: 0.7rem;
  max-width: 34rem;
  margin-top: 2rem;
}
.awards-summary h3 {
  font-family: "Syne", sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
}
.awards-summary p {
  color: var(--text-soft);
}
.testimonials-shell {
  margin-top: 2rem;
}
.testimonial-slider {
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 0.6rem;
}
.testimonial-slider::-webkit-scrollbar {
  display: none;
}
.testimonial-slider.is-grabbing {
  cursor: grabbing;
}
.testimonial-track {
  display: flex;
  gap: 1rem;
  width: max-content;
}
.testimonial-card {
  flex: 0 0 min(24rem, 78vw);
  display: grid;
  gap: 1rem;
  padding: 1.15rem;
  min-height: 18rem;
}
.testimonial-card-head {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.testimonial-card-head img {
  width: 4.2rem;
  height: 4.2rem;
  border-radius: 50%;
  object-fit: cover;
}
.testimonial-card-head strong {
  display: block;
  font-family: "Syne", sans-serif;
  font-size: 1.05rem;
  line-height: 0.95;
  letter-spacing: -0.03em;
}
.testimonial-card-head span {
  display: block;
  margin-top: 0.2rem;
  color: var(--text-muted);
  font-size: 0.76rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.testimonial-card p {
  color: rgba(255, 244, 242, 0.88);
  font-size: 1.05rem;
  line-height: 1.5;
}
.testimonial-progress {
  margin-top: 1rem;
  height: 3px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255, 244, 242, 0.08);
}
.testimonial-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0.08);
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(185, 119, 144, 0.94) 0%, rgba(216, 184, 144, 0.92) 52%, rgba(240, 214, 220, 0.96) 100%);
  box-shadow: 0 0 1.5rem rgba(185, 119, 144, 0.42);
}

@media (max-width: 62rem) {
  .clients-stage {
    grid-template-columns: 1fr;
  }
  .clients-logo-wall {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .awards-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 47.9375rem) {
  .loader-mark {
    width: min(8.4rem, 34vw);
  }
  .loader-sub {
    font-size: 0.66rem;
    letter-spacing: 0.18em;
  }
  .menu-mobile-nav-wrapper {
    font-size: 1.18rem;
  }
  .clients-logo-wall {
    grid-template-columns: 1fr;
  }
  .client-logo-item {
    min-height: 5.3rem;
  }
  .client-stat-board {
    padding: 1rem;
  }
  #client-stat-number {
    font-size: 3.15rem;
  }
  .client-stat-label {
    font-size: 1.08rem;
  }
  .awards-fade-word {
    top: 1rem;
    font-size: 3.4rem;
  }
  .awards-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
  }
  .award-frame {
    padding: 0.55rem;
  }
  .testimonial-card {
    flex-basis: 84vw;
    min-height: 17rem;
    padding: 1rem;
  }
  .testimonial-card p {
    font-size: 0.96rem;
  }
}

/* Overlay menu, page mask, section theme switching, and extra Fantasy stack */
.page-frame-layer {
  position: fixed;
  inset: 1rem;
  z-index: 0;
  pointer-events: none;
  opacity: 0.22;
  mix-blend-mode: screen;
}
.page-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: rgba(255, 240, 244, 0.04);
}
.page-frame-back {
  transform: translate3d(0, 0.8rem, 0) scale(1.01);
  filter: blur(12px);
}
.page-frame-front {
  color: rgba(255, 240, 244, 0.05);
}
.menu-toggle-desktop {
  min-width: 6rem;
}
.reference-menu-overlay[hidden] {
  display: none !important;
}
.reference-menu-overlay {
  position: fixed;
  inset: 0.7rem;
  z-index: 78;
  border-radius: 2rem;
  overflow: hidden;
  border: 1px solid rgba(255, 244, 242, 0.1);
  background:
    radial-gradient(circle at 16% 18%, rgba(185, 119, 144, 0.2) 0%, transparent 26%),
    radial-gradient(circle at 84% 20%, rgba(216, 184, 144, 0.14) 0%, transparent 24%),
    linear-gradient(180deg, rgba(15, 7, 12, 0.94) 0%, rgba(11, 4, 13, 0.98) 100%);
  box-shadow: 0 2rem 6rem rgba(0, 0, 0, 0.46);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.reference-menu-overlay::before,
.reference-menu-overlay::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.reference-menu-overlay::before {
  inset: auto 10% -16% 10%;
  height: 44%;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.18) 0%, rgba(185, 119, 144, 0) 72%);
  filter: blur(26px);
}
.reference-menu-overlay::after {
  top: 1.8rem;
  right: 1.8rem;
  width: 13rem;
  height: 13rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='218' viewBox='0 0 256 218'%3E%3Cg fill='none' stroke='rgba(243,171,204,0.22)' stroke-width='1.1'%3E%3Cpolyline points='0 0 0 34.916 31.889 54.025 63.778 34.916 95.778 54.025 95.778 88.916 127.5 108.5 159.556 88.916'/%3E%3Cpolyline points='95.778 88.916 63.778 108.025 63.778 142.942 32 162.025'/%3E%3Cpolyline points='63.889 142.945 95.778 162.025 127.5 142.945 160 162.025 159.556 196.971 127.667 216.08'/%3E%3Cpolyline points='160 162.025 191.444 142.942 223.556 162.054 254.778 142.945'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.7;
}
.reference-menu-inner {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: space-between;
  min-height: 100%;
  padding: clamp(1.4rem, 3vw, 2.4rem);
  gap: 2rem;
}
.reference-menu-top,
.reference-menu-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.reference-menu-kicker,
.reference-menu-note {
  color: rgba(255, 240, 244, 0.62);
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.reference-menu-nav {
  display: grid;
  gap: 0.2rem;
}
.reference-menu-nav a {
  width: fit-content;
  font-family: "Syne", sans-serif;
  font-size: clamp(2.4rem, 7vw, 6.5rem);
  line-height: 0.92;
  letter-spacing: -0.08em;
  color: rgba(255, 244, 242, 0.86);
  transition: color 0.35s ease, transform 0.45s var(--ease-luxury);
}
.reference-menu-nav a:hover {
  color: #fff;
  transform: translateX(0.45rem);
}
.reference-menu-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  max-width: 28rem;
}
.reference-menu-socials a {
  display: inline-flex;
  align-items: center;
  min-height: 2.35rem;
  padding: 0.42rem 0.78rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 244, 242, 0.08);
  background: rgba(255, 247, 249, 0.04);
  color: rgba(255, 244, 242, 0.76);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.reference-menu-cta {
  display: grid;
  justify-items: end;
  gap: 0.8rem;
  max-width: 19rem;
  text-align: right;
}
.reference-menu-cta p {
  color: var(--text-soft);
}
.site-header.is-light .header-row {
  background: rgba(242, 227, 222, 0.72);
  border-color: rgba(11, 4, 13, 0.08);
  box-shadow: 0 1.2rem 2.8rem rgba(39, 14, 23, 0.08);
}
.site-header.is-light .logo-text-wrap strong,
.site-header.is-light .site-nav .active-state,
.site-header.is-light .header-actions,
.site-header.is-light .menu-toggle,
.site-header.is-light .logo-text-wrap small {
  color: var(--ink);
}
.site-header.is-light .active-state {
  color: rgba(11, 4, 13, 0.46);
}
.site-header.is-light .active-state.is-active,
.site-header.is-light .active-state:hover {
  color: var(--ink);
}
.site-header.is-light .glass-label,
.site-header.is-light .glass-button {
  color: var(--ink);
}
.site-header.is-light .glass-label::after,
.site-header.is-light .glass-button::after {
  background: rgba(11, 4, 13, 0.04);
}
.site-header.is-light .glass-label::before,
.site-header.is-light .glass-button::before {
  background: linear-gradient(135deg, rgba(11, 4, 13, 0.18) 0%, rgba(11, 4, 13, 0.04) 40%, rgba(11, 4, 13, 0.04) 60%, rgba(11, 4, 13, 0.16) 100%);
}
.case-stack-section {
  padding-top: 0;
  padding-bottom: 0;
  overflow: clip;
}
.case-stack-scene {
  position: relative;
  height: 260vh;
}
.case-stack-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  border-radius: 2.4rem;
}
.case-stack-media,
.case-stack-overlay {
  position: absolute;
  inset: 0;
}
.case-stack-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.08);
  filter: saturate(1.04) contrast(1.06);
}
.case-stack-overlay {
  background:
    linear-gradient(180deg, rgba(6, 2, 5, 0.22) 0%, rgba(6, 2, 5, 0.18) 25%, rgba(6, 2, 5, 0.74) 100%),
    radial-gradient(circle at 18% 38%, rgba(255, 225, 234, 0.08), transparent 24%);
}
.case-stack-shell {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: space-between;
  min-height: 100%;
  padding-top: clamp(6rem, 12vh, 8rem);
  padding-bottom: clamp(3.5rem, 8vh, 5rem);
}
.case-stack-intro {
  display: grid;
  gap: 0.8rem;
  max-width: 28rem;
}
.case-stack-intro p {
  color: rgba(255, 244, 242, 0.78);
}
.case-stack-list {
  display: grid;
  gap: 0.55rem;
  align-self: end;
}
.case-stack-item {
  display: grid;
  gap: 0.4rem;
  width: fit-content;
  opacity: 0.2;
  transform: translate3d(0, 1.4rem, 0) scale(0.96);
  transition: opacity 0.45s ease, transform 0.45s var(--ease-luxury);
}
.case-stack-item.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
.case-stack-step {
  color: rgba(255, 240, 244, 0.6);
  font-size: 0.84rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.case-stack-item h3 {
  margin: 0;
  max-width: 48rem;
  font-family: "Syne", sans-serif;
  font-size: clamp(2.5rem, 7vw, 6.4rem);
  line-height: 0.9;
  letter-spacing: -0.08em;
}
.case-stack-progress {
  position: absolute;
  left: clamp(1rem, 4vw, 3rem);
  right: clamp(1rem, 4vw, 3rem);
  bottom: 1.1rem;
  z-index: 3;
  height: 3px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255, 244, 242, 0.08);
}
.case-stack-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0.08);
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(185, 119, 144, 0.94) 0%, rgba(216, 184, 144, 0.92) 52%, rgba(240, 214, 220, 0.96) 100%);
  box-shadow: 0 0 1.5rem rgba(185, 119, 144, 0.42);
}
@media (max-width: 62rem) {
  .reference-menu-overlay {
    inset: 0.6rem;
    border-radius: 1.5rem;
  }
  .reference-menu-top,
  .reference-menu-bottom {
    display: grid;
  }
  .reference-menu-cta {
    justify-items: start;
    text-align: left;
  }
  .reference-menu-nav a {
    font-size: clamp(2.2rem, 8vw, 4.6rem);
  }
  .case-stack-scene {
    height: auto;
  }
  .case-stack-sticky {
    position: relative;
    min-height: 34rem;
    height: auto;
    border-radius: 1.8rem;
  }
  .case-stack-shell {
    padding-top: 5rem;
    padding-bottom: 4rem;
  }
}
@media (max-width: 47.9375rem) {
  .page-frame-layer {
    inset: 0.5rem;
    opacity: 0.18;
  }
  .reference-menu-overlay {
    inset: 0.45rem;
    border-radius: 1.2rem;
  }
  .reference-menu-inner {
    padding: 5rem 1rem 1rem;
    gap: 1.4rem;
  }
  .reference-menu-note {
    display: none;
  }
  .reference-menu-socials {
    max-width: none;
  }
  .reference-menu-nav a {
    font-size: 2.4rem;
  }
  .case-stack-intro p {
    font-size: 0.92rem;
  }
  .case-stack-item h3 {
    max-width: 15.5rem;
    font-size: 2.35rem;
  }
  .case-stack-progress {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
  }
}

/* Reference-driven transition, overlay menu, and footer finale */
.bg-blur {
  opacity: 0;
  transition: opacity 0.38s ease;
}
.bg-blur.is-visible {
  opacity: 1;
}
.reference-menu-overlay[hidden] {
  display: block !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.reference-menu-overlay {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, 1rem, 0) scale(0.985);
  transition: opacity 0.42s ease, visibility 0.42s ease, transform 0.55s var(--ease-luxury);
}
.reference-menu-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0) scale(1);
}
.reference-menu-top,
.reference-menu-bottom,
.reference-menu-cta,
.reference-menu-socials a,
.reference-menu-nav a {
  transition: opacity 0.5s ease, transform 0.65s var(--ease-luxury);
}
.reference-menu-nav a,
.reference-menu-socials a,
.reference-menu-cta,
.reference-menu-top,
.reference-menu-bottom {
  opacity: 0;
  transform: translate3d(0, 1.4rem, 0);
}
.reference-menu-overlay.is-open .reference-menu-top,
.reference-menu-overlay.is-open .reference-menu-bottom,
.reference-menu-overlay.is-open .reference-menu-cta,
.reference-menu-overlay.is-open .reference-menu-socials a,
.reference-menu-overlay.is-open .reference-menu-nav a {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.reference-menu-overlay.is-open .reference-menu-nav a:nth-child(1) { transition-delay: 0.04s; }
.reference-menu-overlay.is-open .reference-menu-nav a:nth-child(2) { transition-delay: 0.08s; }
.reference-menu-overlay.is-open .reference-menu-nav a:nth-child(3) { transition-delay: 0.12s; }
.reference-menu-overlay.is-open .reference-menu-nav a:nth-child(4) { transition-delay: 0.16s; }
.reference-menu-overlay.is-open .reference-menu-nav a:nth-child(5) { transition-delay: 0.2s; }
.reference-menu-overlay.is-open .reference-menu-nav a:nth-child(6) { transition-delay: 0.24s; }
.reference-menu-overlay.is-open .reference-menu-nav a:nth-child(7) { transition-delay: 0.28s; }
.reference-menu-overlay.is-open .reference-menu-socials a:nth-child(1) { transition-delay: 0.18s; }
.reference-menu-overlay.is-open .reference-menu-socials a:nth-child(2) { transition-delay: 0.22s; }
.reference-menu-overlay.is-open .reference-menu-socials a:nth-child(3) { transition-delay: 0.26s; }
.reference-menu-overlay.is-open .reference-menu-socials a:nth-child(4) { transition-delay: 0.3s; }
.reference-menu-overlay.is-open .reference-menu-cta { transition-delay: 0.22s; }
.reference-menu-overlay.is-open .reference-menu-bottom { transition-delay: 0.2s; }

.page-transition-overlay {
  position: fixed;
  inset: 0;
  z-index: 96;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}
.page-transition-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(9, 3, 8, 0.38);
  backdrop-filter: blur(1rem);
  -webkit-backdrop-filter: blur(1rem);
  opacity: 0;
  transition: opacity 0.38s ease;
}
.page-transition-shell {
  position: absolute;
  inset: 1rem;
  color: rgba(24, 11, 18, 0.98);
  opacity: 0;
  transform: translate3d(0, 2%, 0) scale(0.88);
  transform-origin: center;
  transition: opacity 0.42s ease, transform 0.72s var(--ease-luxury);
  filter: drop-shadow(0 2rem 5rem rgba(0, 0, 0, 0.34));
}
.page-transition-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.page-transition-back {
  color: rgba(18, 8, 14, 0.96);
}
.page-transition-front {
  color: rgba(242, 227, 222, 0.9);
  mix-blend-mode: screen;
  transform: scale(0.985);
  transform-origin: center;
}
body.is-transitioning .page-transition-overlay {
  opacity: 1;
  visibility: visible;
}
body.is-transitioning .page-transition-overlay::before {
  opacity: 1;
}
body.is-transitioning .page-transition-shell {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
body.is-transitioning .main {
  filter: saturate(0.92) brightness(0.94);
}
body.is-transitioning .site-header {
  opacity: 0.35;
  transform: translateX(-50%) scale(0.98);
}

.footer {
  padding: 0 0 2rem;
  overflow: clip;
}
.footer::before {
  content: "";
  position: absolute;
  inset: 4rem 12% auto;
  z-index: 0;
  height: 18rem;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.28) 0%, rgba(185, 119, 144, 0) 72%);
  filter: blur(2.6rem);
}
.is-footer {
  display: grid;
  gap: 1.1rem;
}
.footer-super {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1rem;
  justify-items: center;
  padding: 1rem 0 0.6rem;
  text-align: center;
}
.footer-label {
  justify-self: center;
}
.footer-mega-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-family: "Syne", sans-serif;
  font-size: clamp(3.6rem, 12vw, 9.8rem);
  line-height: 0.9;
  letter-spacing: -0.08em;
  text-transform: uppercase;
}
.footer-mega-link span {
  position: relative;
  z-index: 1;
}
.footer-mega-dot {
  width: clamp(1rem, 1.8vw, 1.6rem);
  height: clamp(1rem, 1.8vw, 1.6rem);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--champagne) 100%);
  box-shadow: 0 0 2rem rgba(185, 119, 144, 0.4);
}
.footer-super-copy {
  max-width: 42rem;
  color: var(--text-soft);
}
.footer-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.1fr 1fr 0.95fr;
  gap: 1rem;
}
.footer-card {
  min-height: 100%;
  border-radius: 2rem;
  padding: 1.5rem;
  background: rgba(15, 7, 12, 0.82);
  backdrop-filter: blur(1.2rem);
  -webkit-backdrop-filter: blur(1.2rem);
}
.footer-card-kicker {
  display: inline-flex;
  margin-bottom: 0.8rem;
  color: rgba(255, 239, 236, 0.56);
  font-size: 0.82rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.footer-card h3 {
  margin: 0 0 0.5rem;
  font-family: "Syne", sans-serif;
  font-size: clamp(1.4rem, 2.8vw, 2.3rem);
  line-height: 0.96;
  letter-spacing: -0.05em;
}
.footer-card p {
  color: var(--text-soft);
}
.footer-service-list,
.footer-link-list {
  display: grid;
  gap: 0.55rem;
}
.footer-service-list a,
.footer-link-list a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: rgba(255, 244, 242, 0.88);
  transition: color 0.28s ease, transform 0.28s ease;
}
.footer-service-list a:hover,
.footer-link-list a:hover {
  color: var(--accent-3);
  transform: translateX(0.18rem);
}
.footer-card-links {
  background: linear-gradient(180deg, rgba(255, 247, 249, 0.06) 0%, rgba(255, 247, 249, 0.02) 100%), rgba(15, 7, 12, 0.84);
}

/* Footer bottom 4-col section */
.footer-bottom {
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.7fr 0.7fr;
  gap: 2.5rem;
  margin-top: 3rem;
  padding-top: 2.5rem;
  border-top: 1px solid rgba(240, 214, 220, 0.1);
}
.footer-bottom-brand { display: flex; flex-direction: column; gap: 1rem; }
.footer-logo { display: flex; align-items: center; gap: 0.6rem; }
.footer-logo-mascot {
  width: 2.4rem; height: 2.4rem;
  object-fit: contain;
}
.footer-logo strong {
  font-family: "Syne", sans-serif; font-size: 1.15rem; letter-spacing: -0.03em; color: var(--text);
}
.footer-bottom-desc { max-width: 22rem; color: var(--text-muted); font-size: 0.9rem; line-height: 1.55; }
.footer-social { display: flex; gap: 0.75rem; margin-top: 0.5rem; }
.footer-social[hidden] { display: none !important; }
.footer-social a {
  display: flex; align-items: center; justify-content: center;
  width: 2.2rem; height: 2.2rem; border-radius: 50%;
  background: rgba(255, 255, 255, 0.06); color: var(--text-soft);
  transition: background 0.3s ease, color 0.3s ease;
}
.footer-social a:hover { background: rgba(185, 119, 144, 0.2); color: var(--accent-2); }
.footer-col-title {
  display: block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--accent-2); margin-bottom: 1.2rem;
}
.footer-col-list { list-style: none; display: flex; flex-direction: column; gap: 0.7rem; }
.footer-col-list li { display: flex; align-items: center; gap: 0.5rem; }
.footer-col-list li svg { flex-shrink: 0; color: var(--accent-2); }
.footer-col-list a, .footer-col-list address {
  color: var(--text-soft); font-size: 0.92rem; font-style: normal;
  transition: color 0.25s ease;
}
.footer-col-list a:hover { color: var(--text); }
.footer-copyright {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 2.5rem; padding-top: 1.5rem;
  border-top: 1px solid rgba(240, 214, 220, 0.08);
}
.footer-copyright p { color: var(--text-muted); font-size: 0.82rem; }

@media (max-width: 62rem) {
  .footer-bottom { grid-template-columns: 1fr 1fr; }
  .footer-bottom-brand { grid-column: 1 / -1; }
}
@media (max-width: 47.9375rem) {
  .footer-bottom { grid-template-columns: 1fr; gap: 2rem; }
  .footer-copyright { flex-direction: column; gap: 0.5rem; text-align: center; }
}

@media (max-width: 62rem) {
  .page-transition-shell {
    inset: 0.8rem;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-super {
    justify-items: start;
    text-align: left;
  }
  .footer-label {
    justify-self: start;
  }
}
@media (max-width: 47.9375rem) {
  .page-transition-shell {
    inset: 0.45rem;
  }
  .footer-mega-link {
    align-items: flex-end;
    gap: 0.7rem;
    font-size: clamp(2.9rem, 16vw, 4.4rem);
  }
  .footer-super-copy {
    max-width: 19rem;
    font-size: 0.95rem;
  }
  .footer-card {
    padding: 1.2rem;
    border-radius: 1.5rem;
  }
}

/* Sales-oriented website offer cards */
.service-offers-grid {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  margin-top: 2rem;
}
.service-offer-card {
  position: relative;
  padding: 1.2rem;
  border-radius: 1.6rem;
  border: 1px solid rgba(255, 244, 242, 0.08);
  background: linear-gradient(180deg, rgba(255, 248, 249, 0.08) 0%, rgba(255, 248, 249, 0.02) 100%), rgba(20, 10, 16, 0.8);
  box-shadow: 0 1.4rem 3rem rgba(9, 1, 6, 0.18);
  text-align: left;
  overflow: hidden;
}
.service-offer-card::before {
  content: "";
  position: absolute;
  inset: auto -10% -42% -10%;
  height: 55%;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.22) 0%, rgba(185, 119, 144, 0) 72%);
  filter: blur(1.6rem);
  pointer-events: none;
}
.service-offer-kicker {
  position: relative;
  z-index: 1;
  display: inline-flex;
  margin-bottom: 0.75rem;
  color: rgba(255, 239, 236, 0.58);
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.service-offer-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 0.6rem;
  font-family: "Syne", sans-serif;
  font-size: 1.45rem;
  line-height: 0.98;
  letter-spacing: -0.05em;
}
.service-offer-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--text-soft);
  font-size: 0.98rem;
}
.service-offer-card ul {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.45rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
.service-offer-card li {
  position: relative;
  padding-left: 1rem;
  color: rgba(255, 244, 242, 0.84);
  font-size: 0.9rem;
}
.service-offer-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.48rem;
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--champagne) 100%);
}
@media (max-width: 79rem) {
  .service-offers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 47.9375rem) {
  .service-offers-grid {
    grid-template-columns: 1fr;
    margin-top: 1.4rem;
  }
  .service-offer-card {
    padding: 1rem;
    border-radius: 1.3rem;
  }
}

/* Premium sales pass */
.main {
  transition: filter 0.42s ease, transform 0.55s var(--ease-luxury);
}

body.is-menu-open .main {
  filter: blur(3px) saturate(0.82);
  transform: scale(0.992);
}

body.is-menu-open .page-frame-layer {
  opacity: 0.1;
}

.page-transition-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-content: center;
  gap: 0.45rem;
  text-align: center;
  opacity: 0;
  transform: translate3d(0, 1rem, 0);
  transition: opacity 0.38s ease, transform 0.6s var(--ease-luxury);
  pointer-events: none;
}

.page-transition-kicker {
  color: rgba(255, 239, 236, 0.64);
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

#page-transition-label {
  font-family: "Syne", sans-serif;
  font-size: clamp(2rem, 5vw, 4.6rem);
  line-height: 0.9;
  letter-spacing: -0.07em;
  color: rgba(255, 247, 249, 0.94);
}

body.is-transitioning .page-transition-content {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.chapter-indicator {
  position: fixed;
  right: 1.05rem;
  top: 50%;
  z-index: 62;
  display: grid;
  gap: 0.2rem;
  padding: 0.9rem 1rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(255, 244, 242, 0.08);
  background: rgba(17, 8, 14, 0.48);
  backdrop-filter: blur(1rem);
  -webkit-backdrop-filter: blur(1rem);
  transform: translate3d(0, -50%, 0);
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.16);
  pointer-events: none;
}

.chapter-indicator-kicker {
  color: rgba(255, 239, 236, 0.54);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

#chapter-label {
  font-family: "Syne", sans-serif;
  font-size: 1rem;
  letter-spacing: -0.04em;
}

.reference-menu-shell-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem);
  gap: clamp(1.2rem, 4vw, 3rem);
  align-items: end;
}

.reference-menu-proof {
  display: grid;
  gap: 0.85rem;
}

.reference-proof-card {
  position: relative;
  overflow: hidden;
  padding: 1rem 1rem 1.05rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(255, 244, 242, 0.08);
  background: linear-gradient(180deg, rgba(255, 248, 249, 0.07) 0%, rgba(255, 248, 249, 0.02) 100%), rgba(22, 12, 18, 0.72);
  box-shadow: 0 1.2rem 3rem rgba(8, 2, 5, 0.18);
}

.reference-proof-card::before {
  content: "";
  position: absolute;
  inset: auto -8% -38% -8%;
  height: 54%;
  border-radius: 100%;
  background: radial-gradient(circle, rgba(185, 119, 144, 0.18) 0%, rgba(185, 119, 144, 0) 72%);
  filter: blur(1.6rem);
}

.reference-proof-card > * {
  position: relative;
  z-index: 1;
}

.reference-proof-card span {
  display: inline-flex;
  margin-bottom: 0.45rem;
  color: rgba(255, 239, 236, 0.58);
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.reference-proof-card strong {
  display: block;
  margin-bottom: 0.4rem;
  font-family: "Syne", sans-serif;
  font-size: clamp(1.3rem, 2.2vw, 2rem);
  line-height: 0.94;
  letter-spacing: -0.05em;
}

.reference-proof-card p {
  margin: 0;
  color: var(--text-soft);
  font-size: 0.92rem;
}

.hero-proof-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  width: min(100%, 35rem);
}

.hero-proof-card {
  position: relative;
  overflow: hidden;
  padding: 0.85rem 1rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(255, 244, 242, 0.08);
  background: linear-gradient(180deg, rgba(255, 248, 249, 0.08) 0%, rgba(255, 248, 249, 0.02) 100%), rgba(18, 10, 15, 0.7);
  box-shadow: 0 1rem 2.5rem rgba(7, 1, 5, 0.16);
}

.hero-proof-card strong,
.hero-proof-card span {
  position: relative;
  z-index: 1;
  display: block;
}

.hero-proof-card strong {
  font-family: "Syne", sans-serif;
  font-size: 1.2rem;
  line-height: 0.96;
  letter-spacing: -0.04em;
}

.hero-proof-card span {
  margin-top: 0.24rem;
  color: rgba(255, 239, 236, 0.58);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.service-offers-note {
  max-width: 42rem;
  color: rgba(255, 239, 236, 0.64);
  font-size: 0.98rem;
}

.service-offer-card {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  transition: transform 0.45s var(--ease-luxury), box-shadow 0.45s ease, border-color 0.45s ease;
}

.service-offer-card:hover {
  transform: translateY(-0.35rem);
  border-color: rgba(255, 244, 242, 0.16);
  box-shadow: 0 1.8rem 3.5rem rgba(9, 1, 6, 0.24);
}

.service-offer-meta {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.8rem 0.9rem;
  border-radius: 1rem;
  border: 1px solid rgba(255, 244, 242, 0.07);
  background: rgba(255, 248, 249, 0.04);
}

.service-offer-meta strong {
  font-family: "Syne", sans-serif;
  font-size: 1.05rem;
  line-height: 0.96;
  letter-spacing: -0.04em;
}

.service-offer-meta span {
  color: rgba(255, 239, 236, 0.56);
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.service-offer-bestfor {
  color: rgba(255, 244, 242, 0.86) !important;
  font-weight: 600;
}

.service-offer-foot {
  margin-top: auto !important;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(255, 244, 242, 0.08);
  color: rgba(255, 239, 236, 0.58) !important;
  font-size: 0.88rem !important;
}

.testimonial-card-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 244, 242, 0.08);
  background: rgba(255, 248, 249, 0.05);
  color: rgba(255, 239, 236, 0.72);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-intake-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  width: min(100%, 48rem);
}

.contact-intake-card {
  position: relative;
  overflow: hidden;
  padding: 1rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(255, 244, 242, 0.08);
  background: linear-gradient(180deg, rgba(255, 248, 249, 0.06) 0%, rgba(255, 248, 249, 0.02) 100%), rgba(17, 8, 14, 0.62);
  text-align: left;
}

.contact-intake-card strong,
.contact-intake-card span {
  display: block;
}

.contact-intake-card strong {
  font-family: "Syne", sans-serif;
  font-size: 1.05rem;
  line-height: 0.95;
  letter-spacing: -0.04em;
}

.contact-intake-card span {
  margin-top: 0.28rem;
  color: rgba(255, 239, 236, 0.6);
  font-size: 0.86rem;
}

.footer-proof-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
}

.footer-proof-chip {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  padding: 0.42rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 244, 242, 0.08);
  background: rgba(255, 248, 249, 0.05);
  color: rgba(255, 239, 236, 0.76);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body[data-chapter="hero"] .page-frame-front,
body[data-chapter="showcase"] .page-frame-front,
body[data-chapter="timeline"] .page-frame-front,
body[data-chapter="contact"] .page-frame-front {
  color: rgba(255, 240, 244, 0.05);
}

body[data-chapter="services"] .page-frame-front,
body[data-chapter="clients"] .page-frame-front,
body[data-chapter="awards"] .page-frame-front,
body[data-chapter="testimonials"] .page-frame-front {
  color: rgba(255, 217, 232, 0.07);
}

body[data-chapter="story"] .page-frame-front,
body[data-chapter="faq"] .page-frame-front {
  color: rgba(11, 4, 13, 0.05);
  mix-blend-mode: multiply;
}

@media (max-width: 62rem) {
  .chapter-indicator {
    right: 0.7rem;
    top: auto;
    bottom: 0.8rem;
    transform: none;
  }

  .reference-menu-shell-grid {
    grid-template-columns: 1fr;
  }

  .reference-menu-proof {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hero-proof-strip {
    width: 100%;
  }

  .contact-intake-points {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 47.9375rem) {
  .page-transition-content {
    gap: 0.3rem;
  }

  #page-transition-label {
    font-size: 2.4rem;
  }

  .chapter-indicator {
    display: none;
  }

  .reference-menu-proof {
    grid-template-columns: 1fr;
  }

  .hero-proof-strip {
    grid-template-columns: 1fr;
  }

  .hero-proof-card,
  .reference-proof-card,
  .contact-intake-card {
    border-radius: 1rem;
  }

  .footer-proof-row {
    justify-content: flex-start;
  }
}
