/* Juwelier Hausil — supporting CSS for Tailwind */
/*
  EDIT GUIDE (CSS):
  - Navigation/header behavior: .header-scrolled, .nav-link, .mobile-link
  - Shared section rhythm + headings: .section-shell, .showcase-shell, .section-title, .section-lead
  - Buttons: .btn-primary, .btn-secondary
  - Stats row: .stat
  - Fallback media background (missing images): .media-fallback
  - Reveal animation: [data-reveal] and .is-visible
  - Light theme overrides: all selectors prefixed with html.light
*/
:root { color-scheme: dark light; }
html { scroll-padding-top: 88px; }
body { min-width: 320px; overflow-x: hidden; }
.skip-link { position: fixed; left: 1rem; top: 1rem; z-index: 100; transform: translateY(-200%); border-radius: .75rem; background: #F4CF52; color: #0A0806; padding: .75rem 1rem; font: 600 .875rem/1.2 Jost, sans-serif; }
.skip-link:focus { transform: translateY(0); }
.header-scrolled { background: rgba(10,8,6,.88); border-color: transparent; backdrop-filter: blur(18px); box-shadow: none; }
.nav-link { position: relative; display: inline-flex; min-height: 44px; align-items: center; font: 500 .72rem/1 Jost, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: rgba(244,236,216,.7); transition: color .2s ease; }
.nav-link:hover { color: #F8E08E; }
.nav-link::after { content:""; position:absolute; left:0; right:100%; bottom:7px; height:1px; background:#E0AF3F; transition:right .25s ease; }
.nav-link:hover::after { right:0; }
.mobile-link { display:flex; min-height:48px; align-items:center; border-bottom:1px solid rgba(230,179,55,.1); font:500 .9rem/1 Jost,sans-serif; color:rgba(244,236,216,.78); }
.menu-icon { display:grid; gap:5px; width:18px; }
.menu-icon i { display:block; height:1px; background:currentColor; transition:transform .2s ease; }
.header-whatsapp-icon {
  transition: transform .26s cubic-bezier(.2,.8,.2,1), box-shadow .26s ease, background-color .2s ease, color .2s ease;
  transform-origin: center;
}
.header-whatsapp-icon:hover,
.header-whatsapp-icon:focus-visible {
  transform: translateY(-1px) scale(1.12);
  box-shadow: 0 10px 26px rgba(224,175,63,.28);
}
.eyebrow { font: 600 .67rem/1.2 Jost,sans-serif; letter-spacing:.22em; text-transform:uppercase; color:#E8C45A; }
.text-gold-gradient { background:linear-gradient(120deg,#FFF2A3 0%,#F4D15C 35%,#D79B2F 68%,#FFF0A0 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.gold-text{
  background:linear-gradient(120deg, var(--gold-3, #D79B2F) 0%, var(--gold-1, #F4D15C) 22%, #fff6d8 38%, var(--gold-1, #F4D15C) 52%, var(--gold-2, #E0AF3F) 70%, var(--gold-3, #D79B2F) 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation: shine 7s linear infinite;
}
@keyframes shine{
  0%{background-position:0% 50%;}
  100%{background-position:220% 50%;}
}
.section-shell { padding-block: clamp(5rem,9vw,9rem); }
.showcase-shell { padding-block: clamp(5rem,9vw,10rem); }
.section-shell,
.showcase-shell,
#vakmanschap {
  content-visibility: auto;
  contain-intrinsic-size: 860px;
}
.showcase-shell[aria-labelledby="movement-title"] .video-frame {
  width: min(86vw, 18.5rem);
  margin-inline: auto;
}
.showcase-shell[aria-labelledby="diamond-close-title"] .video-frame {
  width: min(88vw, 20rem);
  margin-inline: auto;
}
.showcase-shell[aria-labelledby="movement-title"] .video-frame,
.showcase-shell[aria-labelledby="diamond-close-title"] .video-frame {
  transition: transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s ease, border-color .32s ease, filter .32s ease;
  transform-origin: center;
  will-change: transform;
}
.showcase-shell[aria-labelledby="movement-title"] .video-frame video,
.showcase-shell[aria-labelledby="diamond-close-title"] .video-frame video {
  transition: transform .55s cubic-bezier(.2,.8,.2,1), filter .32s ease;
}
.showcase-shell[aria-labelledby="movement-title"] .video-frame:hover,
.showcase-shell[aria-labelledby="diamond-close-title"] .video-frame:hover,
.showcase-shell[aria-labelledby="movement-title"] .video-frame:focus-within,
.showcase-shell[aria-labelledby="diamond-close-title"] .video-frame:focus-within {
  transform: translateY(-7px) scale(1.03);
  border-color: rgba(248,224,142,.46);
  box-shadow: 0 26px 60px rgba(0,0,0,.34);
  filter: brightness(1.04);
}
.showcase-shell[aria-labelledby="movement-title"] .video-frame:hover video,
.showcase-shell[aria-labelledby="diamond-close-title"] .video-frame:hover video,
.showcase-shell[aria-labelledby="movement-title"] .video-frame:focus-within video,
.showcase-shell[aria-labelledby="diamond-close-title"] .video-frame:focus-within video {
  transform: scale(1.06);
  filter: saturate(1.1);
}
.showcase-shell[aria-labelledby="movement-title"] .video-frame:active,
.showcase-shell[aria-labelledby="diamond-close-title"] .video-frame:active {
  transform: translateY(-3px) scale(1.01);
}
@media (max-width: 639px) {
  .showcase-shell[aria-labelledby="movement-title"] .video-frame {
    width: min(82vw, 16.75rem);
  }
  .showcase-shell[aria-labelledby="diamond-close-title"] .video-frame {
    width: min(84vw, 18rem);
  }
}
@media (min-width: 1024px) {
  .showcase-shell[aria-labelledby="movement-title"] .video-frame {
    width: min(100%, 22rem);
    justify-self: end;
  }
  .showcase-shell[aria-labelledby="diamond-close-title"] .video-frame {
    width: min(100%, 21rem);
  }
}
.section-title { margin-top:1rem; font:500 clamp(3rem,6vw,5.6rem)/.9 'Cormorant Garamond',serif; letter-spacing:-.035em; color:#F4ECD8; }
.section-lead { margin-top:1.5rem; max-width:42rem; font:400 clamp(1rem,1.3vw,1.12rem)/1.85 Jost,sans-serif; color:rgba(244,236,216,.64); }
.btn-primary,.btn-secondary { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:.65rem; border-radius:999px; padding-inline:1.35rem; font:600 .72rem/1 Jost,sans-serif; letter-spacing:.12em; text-transform:uppercase; transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.btn-primary { background:#E0AF3F; color:#0A0806; box-shadow:0 12px 30px rgba(224,175,63,.16); }
.btn-primary:hover { transform:translateY(-2px); background:#F8E08E; }
.btn-secondary { border:1px solid rgba(230,179,55,.35); color:#F4ECD8; }
.btn-secondary:hover { transform:translateY(-2px); border-color:#E0AF3F; background:rgba(230,179,55,.08); }
.stat { min-height:112px; display:flex; flex-direction:column; justify-content:center; padding:1.2rem; }
.stat:nth-child(2n) { border-left:0; }
.stat strong { font:600 clamp(2rem,4vw,3rem)/1 'Cormorant Garamond',serif; color:#E8C45A; }
.stat span { margin-top:.4rem; font:500 .62rem/1.4 Jost,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:#A99F8C; }
.contact-link { color:#E8C45A; text-decoration:underline; text-underline-offset:3px; }
.contact-link:hover { color:#FFF0A0; }
.footer-heading { font:600 .7rem/1 Jost,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#F4ECD8; }
.footer-link { transition:color .2s ease; }
.footer-link:hover { color:#E8C45A; }
.media-fallback { background:radial-gradient(circle at 50% 35%,rgba(230,179,55,.22),transparent 42%),linear-gradient(135deg,#1D1712,#0A0806); }
.tech-grid { display:grid; gap:1.25rem; }
.tech-card {
  overflow:hidden; border:1px solid rgba(230,179,55,.14); border-radius:1.5rem; background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)); box-shadow:0 20px 46px rgba(0,0,0,.18); transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.tech-card:hover {
  transform:translateY(-4px); border-color:rgba(248,224,142,.4); box-shadow:0 24px 60px rgba(0,0,0,.24);
}
.tech-media {
  position:relative; aspect-ratio:4 / 5; overflow:hidden; background:#0a0806; border-bottom:1px solid rgba(230,179,55,.12);
}
.tech-video {
  display:block; width:100%; height:100%; object-fit:cover; filter:saturate(1.05) contrast(1.05);
}
.tech-media-overlay {
  position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,8,6,.15), rgba(10,8,6,.58));
}
.tech-tag {
  position:absolute; left:1rem; top:1rem; z-index:1; display:inline-flex; align-items:center; border-radius:999px; border:1px solid rgba(255,255,255,.2); background:rgba(7,6,5,.45); padding:.35rem .7rem; font:600 .58rem/1 Jost,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#F4ECD8; backdrop-filter:blur(8px);
}
.tech-card-body { padding:1.4rem 1.25rem 1.5rem; }
.tech-card-header {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem;
}
.tech-card-number {
  font:600 .66rem/1 Jost,sans-serif; letter-spacing:.22em; text-transform:uppercase; color:#E0AF3F;
}
.tech-card-arrow {
  display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:999px; border:1px solid rgba(230,179,55,.2); color:#E0AF3F; transition:all .25s ease;
}
.tech-card:hover .tech-card-arrow {
  background:#E0AF3F; color:#0a0806; border-color:transparent; transform:translateX(2px);
}
.tech-card-title {
  font:500 clamp(2rem, 3vw, 2.6rem)/.95 'Cormorant Garamond',serif; color:#F4ECD8;
}
.tech-card-copy {
  margin-top:.8rem; font:400 .92rem/1.8 Jost,sans-serif; color:rgba(244,236,216,.72);
}
@media (min-width: 768px) {
  .tech-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.hero-video-fallback {
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 35%, rgba(230,179,55,.18), transparent 34%),
    linear-gradient(180deg, rgba(16,13,9,.92), rgba(10,8,6,.98));
  opacity: 0;
  transition: opacity .45s ease;
}
.hero-video-fallback-logo {
  width: min(42vw, 24rem);
  height: min(42vw, 24rem);
  background: center / contain no-repeat url('assets/branding/logo.png');
  opacity: .28;
  filter: drop-shadow(0 18px 48px rgba(0,0,0,.35));
}
#top.hero-video-failed .hero-video-fallback {
  opacity: 1;
}
#top.hero-video-failed [data-hero-video] {
  opacity: 0;
}

.services-carousel {
  position: relative;
  overflow: visible;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.services-carousel-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  text-align: center;
}
.services-stage-wrap {
  position: relative;
  padding-inline: 5rem;
  margin-top: 1.5rem;
}
.services-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 8;
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  border: 1px solid rgba(230,179,55,.28);
  background: rgba(12,10,8,.68);
  backdrop-filter: blur(10px);
  color: #F4ECD8;
  transition: transform .25s ease, border-color .25s ease, background .25s ease, color .25s ease;
}
.services-nav:hover {
  transform: translateY(calc(-50% - 2px)) scale(1.03);
  border-color: rgba(248,224,142,.7);
  background: rgba(230,179,55,.14);
  color: #FFF2A3;
}
.services-nav[data-services-prev] { left: -0.35rem; }
.services-nav[data-services-next] { right: -0.35rem; }
.services-stage {
  position: relative;
  margin-top: 0;
  min-height: 34rem;
  width: min(100%, 34rem);
  margin-inline: auto;
  overflow: visible;
  perspective: 1800px;
  outline: none;
  touch-action: pan-y;
  cursor: grab;
}
.services-stage.is-dragging { cursor: grabbing; }
.services-orbit {
  position: relative;
  width: 100%;
  min-height: inherit;
  transform-style: preserve-3d;
}
.service-card {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transform-origin: center center;
  transition: transform .75s cubic-bezier(.2,.8,.2,1), opacity .5s ease, filter .5s ease;
}
.service-card-shell {
  width: min(100%, 25.5rem);
  min-height: 25rem;
  border-radius: 1.75rem;
  border: 1px solid rgba(230,179,55,.18);
  padding: 1.5rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03)),
    radial-gradient(circle at top right, rgba(248,224,142,.12), transparent 32%),
    #171310;
  box-shadow: 0 22px 50px rgba(0,0,0,.26);
}
.service-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  margin-bottom: 4rem;
}
.service-card-index {
  font: 600 .72rem/1 Jost, sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #E0AF3F;
}
.service-card-title {
  font: 500 clamp(2rem, 4vw, 3rem)/.95 'Cormorant Garamond', serif;
  color: #F4ECD8;
}
.service-card-copy {
  margin-top: 1rem;
  max-width: 28rem;
  font: 400 1rem/1.85 Jost, sans-serif;
  color: rgba(244,236,216,.68);
}
.service-card[data-position="is-active"] {
  opacity: 1;
  pointer-events: auto;
  z-index: 5;
  transform: translate3d(0, 0, 180px) scale(1.08);
}
.service-card[data-position="is-next"] {
  opacity: .72;
  z-index: 4;
  transform: translate3d(31%, .85rem, -54px) rotateY(-28deg) scale(.84);
  filter: brightness(.92);
}
.service-card[data-position="is-far-next"] {
  opacity: .32;
  z-index: 3;
  transform: translate3d(43%, 1.8rem, -200px) rotateY(-42deg) scale(.68);
  filter: brightness(.62);
}
.service-card[data-position="is-prev"] {
  opacity: .72;
  z-index: 4;
  transform: translate3d(-31%, .85rem, -54px) rotateY(28deg) scale(.84);
  filter: brightness(.92);
}
.service-card[data-position="is-far-prev"] {
  opacity: .32;
  z-index: 3;
  transform: translate3d(-43%, 1.8rem, -200px) rotateY(42deg) scale(.68);
  filter: brightness(.62);
}
.service-card[data-position="is-hidden"] {
  opacity: 0;
  z-index: 1;
  transform: translate3d(0, 3.25rem, -300px) scale(.58);
}

/* Decorative image wrapping for gallery and card media blocks. */
.g-item, .image-frame {
  position: relative;
  isolation: isolate;
}
.g-item::before, .image-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(120deg, rgba(248,224,142,.2), rgba(248,224,142,.7), rgba(224,175,63,.35));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
  z-index: 2;
}
.g-item:hover::before, .image-frame:hover::before { opacity: 1; }
.g-item img, .image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .5s ease;
  transform: scale(1.06);
}
.group.g-item:hover img, .image-frame:hover img {
  transform: scale(1.16) rotate(.3deg);
  filter: saturate(1.15) brightness(1.05);
}
.g-item figcaption, .g-item .g-caption {
  position: relative;
  z-index: 3;
}

/* Two-row collection marquee: top and bottom rows move in opposite directions. */
.collection-marquee { display: grid; gap: .85rem; overflow: hidden; }
.marquee-row {
  position: relative;
  overflow: hidden;
}
.marquee-track {
  display: flex;
  width: max-content;
  gap: .85rem;
  animation-name: marquee-loop;
  animation-duration: 42s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
}
.marquee-row-top .marquee-track { animation-direction: normal; }
.marquee-row-bottom .marquee-track { animation-direction: reverse; animation-duration: 46s; }
.collection-marquee.is-paused .marquee-track { animation-play-state: paused; }

.collection-item {
  width: clamp(220px, 30vw, 360px);
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: .9rem;
  background: #171310;
  cursor: pointer;
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, filter .35s ease;
  transform-origin: center;
}
.collection-item.g-item figcaption,
.collection-item .g-caption {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: 2.75rem 1rem 1rem;
  font: 500 1rem/1.1 'Cormorant Garamond', serif;
  color: #fff;
  background: linear-gradient(to top, rgba(0,0,0,.82), rgba(0,0,0,0));
  z-index: 3;
}
.collection-item:hover,
.collection-item:focus-visible,
.collection-item.is-active {
  z-index: 8;
  transform: translateY(-6px) scale(1.06);
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
  filter: saturate(1.08);
}
.collection-item:focus-visible { outline: 2px solid #F8E08E; outline-offset: 3px; }

[data-collection-marquee][data-scroll-dir="right"] .marquee-row-top .marquee-track { animation-direction: reverse; }
[data-collection-marquee][data-scroll-dir="right"] .marquee-row-bottom .marquee-track { animation-direction: normal; }

@keyframes marquee-loop {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - .425rem)); }
}

[data-reveal] {
  --reveal-distance: 42px;
  --reveal-x: 0px;
  --reveal-delay: 0ms;
  opacity: 0;
  filter: blur(10px);
  transform: translate3d(var(--reveal-x), var(--reveal-distance), 0) scale(.972);
  transition:
    opacity 1.05s ease,
    transform 1.05s cubic-bezier(.18,.8,.2,1),
    filter 1.05s ease;
  transition-delay: var(--reveal-delay);
  will-change: opacity, transform, filter;
}
[data-reveal][data-reveal-direction="left"] { --reveal-x: -52px; }
[data-reveal][data-reveal-direction="right"] { --reveal-x: 52px; }
[data-reveal][data-reveal-style="hero-premium"] {
  --reveal-distance: 58px;
  --reveal-x: -24px;
  transition:
    opacity 1.3s ease,
    transform 1.3s cubic-bezier(.16,.82,.18,1),
    filter 1.3s ease;
}
[data-reveal][data-reveal-style="hero-premium"].is-visible {
  transform: translate3d(0, 0, 0) scale(1);
}
[data-reveal][data-reveal-style="hero-premium"] .eyebrow,
[data-reveal][data-reveal-style="hero-premium"] h1,
[data-reveal][data-reveal-style="hero-premium"] p,
[data-reveal][data-reveal-style="hero-premium"] .btn-primary,
[data-reveal][data-reveal-style="hero-premium"] .btn-secondary {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition: opacity .95s ease, transform .95s cubic-bezier(.2,.8,.2,1);
}
[data-reveal][data-reveal-style="hero-premium"].is-visible .eyebrow,
[data-reveal][data-reveal-style="hero-premium"].is-visible h1,
[data-reveal][data-reveal-style="hero-premium"].is-visible p,
[data-reveal][data-reveal-style="hero-premium"].is-visible .btn-primary,
[data-reveal][data-reveal-style="hero-premium"].is-visible .btn-secondary {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
[data-reveal][data-reveal-style="hero-premium"].is-visible .eyebrow { transition-delay: .12s; }
[data-reveal][data-reveal-style="hero-premium"].is-visible h1 { transition-delay: .24s; }
[data-reveal][data-reveal-style="hero-premium"].is-visible p { transition-delay: .38s; }
[data-reveal][data-reveal-style="hero-premium"].is-visible .btn-primary { transition-delay: .5s; }
[data-reveal][data-reveal-style="hero-premium"].is-visible .btn-secondary { transition-delay: .58s; }
[data-reveal][data-reveal-style="collection-copy"] {
  --reveal-distance: 46px;
  --reveal-x: -36px;
  transition:
    opacity 1.08s ease,
    transform 1.08s cubic-bezier(.18,.8,.2,1),
    filter 1.08s ease;
}
[data-reveal][data-reveal-style="collection-marquee"] {
  --reveal-distance: 34px;
  --reveal-x: 36px;
  filter: blur(12px);
  transform: translate3d(var(--reveal-x), var(--reveal-distance), 0) scale(.95);
  transition:
    opacity 1.15s ease,
    transform 1.15s cubic-bezier(.16,.78,.2,1),
    filter 1.15s ease;
}
[data-reveal][data-reveal-style="collection-marquee"].is-visible {
  transform: translate3d(0, 0, 0) scale(1);
}
[data-reveal][data-reveal-style="collection-marquee"] .collection-item {
  opacity: .01;
  transform: translate3d(0, 24px, 0) scale(.97);
  transition: opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1);
}
[data-reveal][data-reveal-style="collection-marquee"].is-visible .collection-item {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
[data-reveal][data-reveal-style="collection-marquee"].is-visible .collection-item:nth-child(3n + 1) { transition-delay: .12s; }
[data-reveal][data-reveal-style="collection-marquee"].is-visible .collection-item:nth-child(3n + 2) { transition-delay: .2s; }
[data-reveal][data-reveal-style="collection-marquee"].is-visible .collection-item:nth-child(3n) { transition-delay: .28s; }
[data-reveal].is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0) scale(1);
}
:focus-visible { outline:2px solid #F8E08E; outline-offset:3px; }
@media (min-width:640px) { .stat { padding-inline:1.5rem; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  [data-reveal] { opacity:1; filter:none; transform:none; }
  [data-reveal][data-reveal-style="hero-premium"] .eyebrow,
  [data-reveal][data-reveal-style="hero-premium"] h1,
  [data-reveal][data-reveal-style="hero-premium"] p,
  [data-reveal][data-reveal-style="hero-premium"] .btn-primary,
  [data-reveal][data-reveal-style="hero-premium"] .btn-secondary,
  [data-reveal][data-reveal-style="collection-marquee"] .collection-item { opacity:1; transform:none; }
  .marquee-track { animation: none !important; transform: none !important; }
  .service-card { transition: none !important; }
}
@media (max-width:639px) {
  [data-reveal][data-reveal-direction="left"] { --reveal-x: -22px; }
  [data-reveal][data-reveal-direction="right"] { --reveal-x: 22px; }
  [data-reveal][data-reveal-style="hero-premium"] { --reveal-x: -14px; }
  [data-reveal][data-reveal-style="collection-copy"] { --reveal-x: -18px; }
  [data-reveal][data-reveal-style="collection-marquee"] { --reveal-x: 18px; }
  .section-title { line-height:.94; }
  .stat:nth-child(3), .stat:nth-child(4) { border-top:1px solid rgba(230,179,55,.1); }
  .stat:nth-child(odd) { border-left:0; }
  .stat:nth-child(even) { border-left:1px solid rgba(230,179,55,.1); }
  .services-carousel { padding: 0; border-radius: 0; }
  .services-carousel-header { align-items: center; flex-direction: column; }
  .services-stage-wrap { padding-inline: 3.3rem; }
  .services-nav { width: 2.6rem; height: 2.6rem; }
  .services-nav[data-services-prev] { left: -0.2rem; }
  .services-nav[data-services-next] { right: -0.2rem; }
  .services-stage { min-height: 28rem; }
  .service-card-shell { min-height: 22rem; padding: 1.25rem; }
  .service-card-top { margin-bottom: 3rem; }
  .service-card[data-position="is-active"] { transform: translate3d(0, -.3rem, 90px) scale(1.03); }
  .service-card[data-position="is-next"] { transform: translate3d(23%, 1.2rem, -50px) rotateY(-18deg) scale(.82); }
  .service-card[data-position="is-far-next"] { transform: translate3d(32%, 2rem, -140px) rotateY(-24deg) scale(.72); }
  .service-card[data-position="is-prev"] { transform: translate3d(-23%, 1.2rem, -50px) rotateY(18deg) scale(.82); }
  .service-card[data-position="is-far-prev"] { transform: translate3d(-32%, 2rem, -140px) rotateY(24deg) scale(.72); }
}
@media (min-width:640px) {
  .stat + .stat { border-left:1px solid rgba(230,179,55,.1); }
}
@media (min-width:1024px) {
  .services-layout { align-items: start; }
  .services-layout > :first-child { position: sticky; top: 7.5rem; }
}

/* Light theme: same brand gold, lighter luxury surfaces and dark readable text. */
html.light { color-scheme: light; }
html.light body { background:#F7F3EA; color:#19140E; }
html.light #siteHeader { color:#19140E; }
html.light .header-scrolled { background:rgba(247,243,234,.88); border-color:transparent; box-shadow:none; }
html.light .nav-link, html.light .mobile-link { color:#4B4134; }
html.light .nav-link:hover, html.light .mobile-link:hover { color:#8A5C17; }
html.light .section-title, html.light .text-cream, html.light .text-white { color:#211A12 !important; }
html.light .section-lead, html.light .text-muted { color:#665B4C !important; }
html.light [class*="text-cream/"] { color:#3E352A !important; }
html.light [class*="text-gold-"] { color:#7A5316 !important; }
html.light .eyebrow { color:#7A5316; }
html.light .btn-secondary {
  color:#2D2317;
  border-color:rgba(122,83,22,.38);
  background:rgba(255,255,255,.72);
}
html.light .btn-secondary:hover {
  color:#1F180F;
  border-color:rgba(122,83,22,.58);
  background:rgba(248,239,221,.95);
}
html.light .tech-card-title { color:#211A12; }
html.light .tech-card-copy { color:#5D5142; }
html.light .tech-tag { color:#211A12; background:rgba(255,255,255,.78); border-color:rgba(122,83,22,.26); }
html.light .bg-panel\/35, html.light .bg-panel\/40 { background:rgba(255,255,255,.55); }
html.light .bg-panel\/70 { background:rgba(255,255,255,.72); }
html.light .bg-\[\#070605\] { background:#EEE7D8; }
html.light .border-gold-300\/10 { border-color:rgba(138,92,23,.14); }
html.light .border-gold-300\/15 { border-color:rgba(138,92,23,.18); }
html.light .border-gold-400\/15 { border-color:rgba(138,92,23,.18); }
html.light .border-white\/10, html.light .border-white\/15 { border-color:rgba(31,24,16,.12); }
html.light .bg-ink\/95 { background:rgba(247,243,234,.96); }
html.light .media-fallback { background:radial-gradient(circle at 50% 35%,rgba(224,175,63,.25),transparent 42%),linear-gradient(135deg,#F1E9D8,#DED3BC); }
html.light .showcase-shell { background:#F7F3EA; }
html.light .contact-link { color:#8A5C17; }
html.light footer { background:#EEE7D8; }
html.light .footer-heading { color:#211A12; }
html.light .footer-link, html.light footer span { color:#665B4C; }
html.light .stat span { color:#665B4C; }
html.light .stat strong { color:#A86F1B; }
html.light .services-carousel { background: transparent; box-shadow: none; }
html.light .services-nav { background: rgba(255,255,255,.82); color: #211A12; }
html.light .service-card-shell {
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,243,234,.84)), radial-gradient(circle at top right, rgba(224,175,63,.14), transparent 32%), #FFFFFF;
  box-shadow: 0 22px 50px rgba(69,50,18,.12);
}
html.light .service-card-title { color: #211A12; }
html.light .service-card-copy { color: #665B4C; }
