:root {
  color-scheme: dark;
  --bg: #050505;
  --bg-soft: #090909;
  --panel: #0d0d0d;
  --panel-2: #121212;
  --line: rgba(255, 255, 255, .11);
  --line-strong: rgba(255, 255, 255, .2);
  --text: #f5f3ed;
  --muted: #aaa7a0;
  --quiet: #77746e;
  --gold: #b99650;
  --gold-light: #d8be7d;
  --green: #25d366;
  --error: #ff8f8f;
  --success: #8fe2ac;
  --shell: 1200px;
  --shell-wide: 1400px;
  --radius-s: 10px;
  --radius: 18px;
  --radius-l: 28px;
  --header-h: 78px;
  --ease: cubic-bezier(.2, .75, .22, 1);
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: clip;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open, body.lightbox-open { overflow: hidden; }
img, video { display: block; width: 100%; max-width: 100%; }
img { height: auto; }
button, input, select, textarea { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4, blockquote { margin-top: 0; }
h1, h2, h3, h4, strong { font-weight: 600; }
p:last-child { margin-bottom: 0; }
svg { display: block; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
::selection { background: var(--gold); color: #080706; }

.shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
.shell--wide { width: min(calc(100% - 48px), var(--shell-wide)); margin-inline: auto; }
.section { position: relative; padding: clamp(72px, 7vw, 102px) 0; }
.section-heading { max-width: 720px; margin-bottom: 38px; }
.section-heading--center { margin-inline: auto; text-align: center; }
.eyebrow, .micro-label {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--gold-light);
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.display, .section-title {
  margin-bottom: 22px;
  color: var(--text);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: .99;
}
.display { font-size: clamp(2.65rem, 4.8vw, 4.65rem); }
.display--medium { font-size: clamp(2.3rem, 3.9vw, 3.7rem); }
.section-title { font-size: clamp(1.85rem, 2.9vw, 2.85rem); }
.section-lead, .hero-lead {
  color: var(--muted);
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.75;
}
.section-lead { max-width: 690px; }
.section-heading--center .section-lead { margin-inline: auto; }
.hero-lead { max-width: 650px; }
.hero-actions { display: flex; flex-wrap: wrap; justify-content: inherit; gap: 12px; margin-top: 30px; }

.button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 22px;
  border: 1px solid var(--gold);
  border-radius: 8px;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.button svg { width: 18px; height: 18px; }
.button:hover { transform: translateY(-2px); background: var(--gold); color: #090806; }
.button--solid { background: var(--gold); color: #090806; }
.button--solid:hover { background: var(--gold-light); border-color: var(--gold-light); }
.button--ghost { border-color: var(--line-strong); }
.button:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 4px;
}

/* Header and navigation */
.skip-link { position: fixed; z-index: 9999; top: 8px; left: 8px; padding: 10px 16px; transform: translateY(-160%); background: var(--text); color: #050505; }
.skip-link:focus { transform: none; }
/* The navigation itself is fixed. The custom-element host must not reserve a
   second header-height above the hero. */
site-header { display: block; height: 0; min-height: 0; }
.site-header {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto;
  display: grid;
  height: var(--header-h);
  grid-template-columns: 180px 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 0 max(24px, calc((100vw - var(--shell-wide)) / 2));
  border-bottom: 1px solid transparent;
  background: transparent;
  backdrop-filter: none;
  transition: height .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);
}
.site-header.is-scrolled { height: 68px; border-color: var(--line); background: rgba(5, 5, 5, .4); backdrop-filter: blur(18px); }
.site-brand { display: inline-flex; width: 152px; align-items: center; }
.site-brand img { width: 100%; max-height: 33px; object-fit: contain; object-position: left center; }
.desktop-nav { display: flex; justify-content: center; align-items: center; gap: clamp(22px, 2.4vw, 40px); }
.desktop-nav > a, .nav-dropdown__trigger {
  position: relative;
  border: 0;
  background: none;
  color: #d9d6cf;
  cursor: pointer;
  font-size: .73rem;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.desktop-nav > a::after, .nav-dropdown__trigger::after {
  position: absolute;
  right: 50%;
  bottom: -10px;
  left: 50%;
  height: 1px;
  background: var(--gold);
  content: "";
  transition: left .25s var(--ease), right .25s var(--ease);
}
.desktop-nav > a:hover::after, .desktop-nav > a[aria-current="page"]::after, .nav-dropdown.is-open .nav-dropdown__trigger::after, .nav-dropdown__trigger.is-current::after { right: 0; left: 0; }
.nav-dropdown { position: relative; }
.nav-dropdown__trigger { display: inline-flex; align-items: center; gap: 7px; padding: 10px 0; }
.nav-dropdown__trigger svg { width: 14px; height: 14px; transition: transform .25s var(--ease); }
.nav-dropdown.is-open .nav-dropdown__trigger svg { transform: rotate(180deg); }
.nav-dropdown__menu {
  position: absolute;
  top: calc(100% + 17px);
  left: 50%;
  width: 310px;
  padding: 10px;
  transform: translate(-50%, 10px);
  visibility: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(12, 12, 12, .98);
  box-shadow: 0 24px 65px rgba(0, 0, 0, .45);
  opacity: 0;
  transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
}
.nav-dropdown__menu::before { position: absolute; inset: -22px 0 auto; height: 24px; content: ""; }
.nav-dropdown:hover .nav-dropdown__menu, .nav-dropdown:focus-within .nav-dropdown__menu, .nav-dropdown.is-open .nav-dropdown__menu { transform: translate(-50%, 0); visibility: visible; opacity: 1; }
.nav-dropdown__menu a { display: grid; gap: 2px; padding: 12px 14px; border-radius: 10px; transition: background .25s, color .25s; }
.nav-dropdown__menu a:hover, .nav-dropdown__menu a[aria-current="page"] { background: rgba(185, 150, 80, .12); color: var(--gold-light); }
.nav-dropdown__menu span { font-size: .88rem; font-weight: 600; }
.nav-dropdown__menu small { color: var(--quiet); font-size: .73rem; }
.header-connect { display: flex; align-items: center; gap: 16px; }
.header-phone { display: inline-flex; align-items: center; gap: 8px; color: #dbd8d2; font-size: .75rem; white-space: nowrap; }
.header-phone svg, .header-instagram svg { width: 18px; height: 18px; color: var(--gold-light); }
.header-instagram { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; transition: border-color .25s, background .25s; }
.header-instagram:hover { border-color: var(--gold); background: rgba(185, 150, 80, .1); }
.menu-trigger { display: none; border: 0; background: transparent; color: var(--text); cursor: pointer; }
.menu-trigger__lines { display: grid; width: 24px; gap: 6px; }
.menu-trigger__lines i { height: 1px; background: currentColor; }
.drawer-backdrop { position: fixed; z-index: 1090; inset: 0; visibility: hidden; background: rgba(0, 0, 0, .7); opacity: 0; transition: opacity .3s, visibility .3s; }
.site-drawer {
  position: fixed;
  z-index: 1100;
  top: 0;
  right: 0;
  display: flex;
  width: min(430px, 100%);
  height: 100dvh;
  flex-direction: column;
  padding: 28px;
  transform: translateX(102%);
  border-left: 1px solid var(--line);
  background: #090909;
  transition: transform .4s var(--ease);
}
.menu-open .drawer-backdrop { visibility: visible; opacity: 1; }
.menu-open .site-drawer { transform: none; }
.drawer-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.drawer-top > a { width: 145px; }
.drawer-top button { position: relative; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; background: none; cursor: pointer; }
.drawer-top button span { position: absolute; top: 50%; left: 9px; width: 20px; height: 1px; transform: rotate(45deg); background: var(--text); }
.drawer-top button span + span { transform: rotate(-45deg); }
.drawer-nav { display: grid; margin-top: 28px; }
.drawer-nav > a, .drawer-services summary { display: grid; min-height: 66px; grid-template-columns: 34px 1fr auto; align-items: center; border-bottom: 1px solid var(--line); cursor: pointer; font-size: 1.25rem; font-weight: 600; list-style: none; }
.drawer-services summary::-webkit-details-marker { display: none; }
.drawer-nav span { color: var(--gold); font-size: .72rem; letter-spacing: .08em; }
.drawer-nav svg { width: 18px; height: 18px; }
.drawer-services[open] summary svg { transform: rotate(180deg); }
.drawer-services[data-current] summary { color: var(--gold-light); }
.drawer-services > div { display: grid; padding: 8px 0 12px 34px; border-bottom: 1px solid var(--line); }
.drawer-services > div a { padding: 9px 0; color: var(--muted); }
.drawer-bottom { display: flex; align-items: end; justify-content: space-between; margin-top: auto; padding-top: 26px; border-top: 1px solid var(--line); }
.drawer-bottom > div { display: grid; gap: 5px; }
.drawer-bottom span { color: var(--quiet); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.drawer-social { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--line); border-radius: 50%; }
.drawer-social svg { width: 20px; height: 20px; }

/* Dynamic media */
[data-media] { position: relative; overflow: hidden; background: linear-gradient(135deg, #151515, #090909); }
[data-media]::after { position: absolute; inset: 0; border: 1px solid rgba(255, 255, 255, .08); border-radius: inherit; content: ""; pointer-events: none; }
[data-media] > img, [data-media] > video { width: 100%; height: 100%; object-fit: cover; object-position: var(--media-position-desktop, 50% 50%); }

/* Home */
.home-hero, .subpage-hero { position: relative; display: grid; min-height: min(880px, 94svh); place-items: center; overflow: hidden; }
.home-hero { min-height: 90svh; }
.home-hero__media, .subpage-hero__media { position: absolute; inset: 0; }
.home-hero__media::before, .subpage-hero__media::before { position: absolute; z-index: 0; inset: 0; background: radial-gradient(circle at 50% 42%, #1b1b1b, #070707 62%); content: ""; transition: opacity .3s var(--ease); }
.home-hero__media.has-media::before, .subpage-hero__media.has-media::before { opacity: 0; }
.home-hero__media > img, .home-hero__media > video, .subpage-hero__media > img, .subpage-hero__media > video { position: relative; z-index: 1; }
.home-hero__shade, .subpage-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2, 2, 2, .34), rgba(2, 2, 2, .5) 55%, #050505 100%); }
.home-hero__content, .subpage-hero__content { position: relative; z-index: 2; max-width: 920px; padding-top: var(--header-h); text-align: center; }
.home-hero__content .hero-lead, .subpage-hero__content .hero-lead { margin-inline: auto; color: #d0cdc6; }
.home-hero__content .hero-actions, .subpage-hero__content .hero-actions { justify-content: center; }
.hero-trust { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 22px; margin-top: 28px; color: #c2bfb8; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.hero-trust__item { display: inline-flex; align-items: center; gap: 8px; }
.hero-trust__item svg { width: 16px; height: 16px; color: var(--gold-light); }
.hero-trust a { transition: color .25s var(--ease); }
.hero-trust a:hover { color: var(--gold-light); }
.service-notice { position: relative; z-index: 3; border-bottom: 1px solid var(--line); background: #090909; }
.service-notice__inner { display: grid; min-height: 92px; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; }
.service-notice__icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(185, 150, 80, .45); border-radius: 50%; color: var(--gold-light); }
.service-notice__icon svg { width: 22px; height: 22px; }
.service-notice strong { font-size: .93rem; }
.service-notice p { margin: 2px 0 0; color: var(--muted); font-size: .84rem; }
.service-notice a { display: inline-flex; align-items: center; gap: 10px; color: var(--gold-light); font-size: .74rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.service-notice a svg { width: 17px; height: 17px; }
.partner-strip { padding-block: clamp(62px, 6vw, 88px); background: var(--bg-soft); }
.partner-strip__title { max-width: 760px; margin: 0 auto 32px; text-align: center; }
.partner-strip__title .section-title { max-width: none; margin-bottom: 0; font-size: clamp(1.85rem, 2.9vw, 2.8rem); }
.partner-strip__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(270px, 23vw, 320px); align-items: stretch; gap: 18px; }
.partner-strip__copy { display: flex; height: 100%; min-height: 0; flex-direction: column; justify-content: center; padding: clamp(26px, 3.2vw, 42px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel-2); }
.partner-strip__copy h3 { margin-bottom: 11px; font-size: clamp(1.25rem, 1.75vw, 1.6rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.2; }
.partner-strip__copy p { color: var(--muted); font-size: .93rem; }
.partner-strip__media { height: 100%; min-height: 0; aspect-ratio: auto; border-radius: var(--radius); }
.studio-intro { background: #070707; }
.studio-intro__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(36px, 6vw, 78px); align-items: center; }
.studio-intro__copy > p { max-width: 650px; color: var(--muted); font-size: 1rem; }
.studio-intro__media { height: clamp(330px, 42vw, 520px); border-radius: var(--radius); }
.studio-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 34px; border-top: 1px solid var(--line); }
.studio-facts div { display: grid; gap: 3px; padding: 19px 18px 0 0; }
.studio-facts div + div { padding-left: 18px; border-left: 1px solid var(--line); }
.studio-facts strong { font-size: .84rem; }
.studio-facts span { color: var(--quiet); font-size: .75rem; }
.services-home { overflow: hidden; }
.services-home .shell { max-width: var(--shell); }
.service-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.service-card { position: relative; min-height: 0; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.service-card__media { position: absolute; inset: 0; }
.service-card__media > img, .service-card__media > video { transition: transform .8s var(--ease), filter .5s; }
.service-card__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .05) 15%, rgba(3, 3, 3, .88) 86%, #050505); }
.service-card__copy { position: absolute; z-index: 2; inset: auto 0 0; padding: 24px; }
.service-card__copy > span { color: var(--gold-light); font-size: .73rem; letter-spacing: .1em; }
.service-card h3 { margin: 0 0 18px; font-size: clamp(1.55rem, 2vw, 2rem); letter-spacing: -.04em; line-height: 1; }
.service-card p { max-width: 310px; margin-bottom: 20px; color: #bbb8b1; font-size: .9rem; }
.service-card strong { display: flex; align-items: center; gap: 9px; color: var(--gold-light); font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; }
.service-card strong svg { width: 17px; height: 17px; transition: transform .25s; }
.service-card:hover .service-card__media > img, .service-card:hover .service-card__media > video { transform: scale(1.035); filter: brightness(1.08); }
.service-card:hover strong svg { transform: translateX(4px); }
.service-card--accent { border-color: rgba(185, 150, 80, .44); }

/* Timeline */
.process-section { border-block: 1px solid rgba(255, 255, 255, .07); background: #080808; }
.process-section__inner { max-width: 790px; margin-inline: auto; }
.timeline { --timeline-progress: 0%; position: relative; display: grid; width: 100%; max-width: 760px; margin: 15px auto 0; }
.timeline__line { position: absolute; top: 0; bottom: 0; left: 21px; width: 1px; background: var(--line); }
.timeline__line > span { display: block; width: 1px; height: var(--timeline-progress); background: var(--gold); transition: height .15s linear; }
.timeline__step { position: relative; display: grid; min-height: 108px; grid-template-columns: 44px 48px 1fr; align-items: start; gap: 14px; padding: 16px 0; color: var(--quiet); transition: color .35s var(--ease), opacity .35s; }
.timeline__step > i { position: relative; z-index: 2; display: block; width: 11px; height: 11px; margin: 8px 0 0 16px; border: 2px solid #595959; border-radius: 50%; background: #080808; transition: border-color .3s, background .3s, box-shadow .3s; }
.timeline__step > span { padding-top: 1px; font-size: .76rem; font-weight: 600; letter-spacing: .08em; }
.timeline__step > div { text-align: left; }
.timeline__step h3 { margin: 0 0 5px; color: #88857e; font-size: clamp(1.12rem, 1.55vw, 1.4rem); letter-spacing: -.025em; transition: color .35s; }
.timeline__step p { max-width: 620px; margin: 0; font-size: .84rem; }
.timeline__step.is-active, .timeline__step.is-past { color: var(--muted); }
.timeline__step.is-active h3, .timeline__step.is-past h3 { color: var(--text); }
.timeline__step.is-active > i, .timeline__step.is-past > i { border-color: var(--gold); background: var(--gold); box-shadow: 0 0 0 7px rgba(185, 150, 80, .12); }

.about-instagram { background: var(--bg-soft); color: var(--text); }
.about-instagram .section-title { color: var(--text); }
.about-instagram .eyebrow { color: var(--gold-light); }
.about-instagram__grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(42px, 7vw, 100px); }
.about-instagram__media { height: clamp(370px, 46vw, 600px); border-radius: var(--radius); background: var(--panel-2); }
.about-instagram__copy { max-width: 560px; }
.about-instagram__copy blockquote { margin: 0 0 22px; color: var(--gold-light); font-family: Georgia, serif; font-size: clamp(1.35rem, 2.1vw, 2rem); font-style: italic; line-height: 1.35; }
.about-instagram__copy p { margin-bottom: 30px; color: var(--muted); }

/* Reviews */
.reviews-section { overflow: hidden; }
.reviews-heading { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 42px; }
.reviews-heading > div { max-width: 700px; }
.reviews-heading .section-lead { margin-bottom: 0; }
.google-rating { display: flex; flex: 0 0 auto; align-items: center; gap: 14px; padding: 14px 17px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); transition: border-color .25s, transform .25s; }
.google-rating:hover { transform: translateY(-2px); border-color: rgba(185, 150, 80, .5); }
.google-mark { width: 36px; height: 36px; flex: 0 0 36px; object-fit: contain; }
.google-rating > span:last-child { display: grid; }
.google-rating strong { font-size: .88rem; }
.google-rating i { color: #f6bd30; font-style: normal; letter-spacing: 0; }
.google-rating small { color: var(--quiet); font-size: .68rem; }
.reviews-marquee { width: 100%; overflow: hidden; mask-image: linear-gradient(90deg, transparent, black 6%, black 94%, transparent); }
.reviews-track { display: flex; width: max-content; gap: 18px; will-change: transform; }
.reviews-track.is-running { animation: review-loop var(--review-duration, 30s) linear infinite; }
.reviews-track:hover { animation-play-state: paused; }
.reviews-set { display: flex; gap: 18px; }
.review { display: flex; width: min(390px, calc(100vw - 48px)); min-height: 245px; flex-direction: column; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.review__rating { color: #f6bd30; font-size: .82rem; letter-spacing: .1em; }
.review blockquote { display: -webkit-box; margin: 22px 0 26px; overflow: hidden; color: #dedbd4; font-size: .98rem; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.review cite { display: grid; margin-top: auto; font-style: normal; }
.review cite span:first-child { font-size: .84rem; font-weight: 600; }
.review cite span:last-child { color: var(--quiet); font-size: .7rem; }
@keyframes review-loop { to { transform: translateX(calc(-1 * var(--review-distance))); } }

/* FAQ and CTA */
.faq-section { background: var(--bg-soft); }
.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(42px, 7vw, 95px); align-items: start; }
.faq { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item button { display: grid; width: 100%; grid-template-columns: 34px 1fr 26px; align-items: center; gap: 14px; padding: 24px 0; border: 0; background: none; color: var(--text); cursor: pointer; text-align: left; }
.faq-item button > span { color: var(--gold-light); font-size: .67rem; font-weight: 600; letter-spacing: .08em; }
.faq-item button > strong { margin: 0; font-size: clamp(1rem, 1.35vw, 1.18rem); font-weight: 600; letter-spacing: -.015em; line-height: 1.45; }
.faq-item button > i { position: relative; width: 24px; height: 24px; }
.faq-item button > i::before, .faq-item button > i::after { position: absolute; top: 11px; left: 5px; width: 14px; height: 1px; background: var(--gold); content: ""; transition: transform .25s; }
.faq-item button > i::after { transform: rotate(90deg); }
.faq-item.is-open button > i::after { transform: rotate(0); }
.faq-item__answer, .faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s var(--ease); }
.faq-item__answer > div, .faq-answer > div { overflow: hidden; }
.faq-item__answer p, .faq-answer p { max-width: 700px; margin: 0; padding: 0 44px 24px 0; color: var(--muted); font-size: .94rem; }
.faq-item.is-open .faq-item__answer, .faq-item.is-open .faq-answer { grid-template-rows: 1fr; }
.final-cta { border-top: 1px solid var(--line); background: linear-gradient(135deg, #15130f, #080808 58%); }
.final-cta__inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 60px; }
.final-cta__inner > div { max-width: 760px; }
.final-cta .section-title { margin-bottom: 14px; }
.final-cta p { max-width: 650px; color: var(--muted); }

/* Keramik */
.subpage-hero { min-height: min(760px, 82svh); }
.ceramic-explainer { background: #000; }
.ceramic-explainer .shell { max-width: 1000px; }
.ceramic-effect-media { width: 80%; height: clamp(250px, 31vw, 410px); margin: 32px auto 0; border-radius: var(--radius); }
.ceramic-effect-media::after { display: none; }
.ceramic-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 22px; overflow: hidden; border-radius: var(--radius); background: var(--line); }
.ceramic-benefits article { padding: 23px; background: var(--bg); }
.ceramic-benefits h3 { margin: 0 0 6px; font-size: 1.05rem; }
.ceramic-benefits p { color: var(--muted); font-size: .82rem; }
.ceramic-comparison-section { background: var(--bg-soft); }
.ceramic-comparison-layout { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: clamp(40px, 6vw, 85px); }
.interior-comparison-section { padding-block: clamp(54px, 6vw, 78px); background: var(--bg-soft); }
.interior-comparison-layout { display: grid; width: min(calc(100% - 48px), var(--shell)); max-width: var(--shell); margin-inline: auto; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); align-items: center; gap: clamp(40px, 6vw, 90px); }
.interior-comparison-layout .section-title { font-size: clamp(1.75rem, 2.5vw, 2.45rem); }
.comparison--compact { width: 100%; max-width: none; justify-self: stretch; }
.comparison { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.comparison__before, .comparison__after { position: absolute; inset: 0; }
.comparison__after { clip-path: inset(0 0 0 50%); }
.comparison__label { position: absolute; z-index: 4; top: 18px; padding: 7px 10px; border-radius: 6px; background: rgba(3, 3, 3, .72); font-size: .68rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.comparison__label--before { left: 18px; }
.comparison__label--after { right: 18px; }
.comparison__divider { position: absolute; z-index: 5; top: 0; bottom: 0; left: 50%; width: 1px; background: white; pointer-events: none; }
.comparison__divider i { position: absolute; top: 50%; left: 50%; display: grid; width: 42px; height: 42px; place-items: center; transform: translate(-50%, -50%); border-radius: 50%; background: var(--gold); color: #080706; font-style: normal; }
.comparison input { position: absolute; z-index: 6; inset: 0; width: 100%; height: 100%; margin: 0; cursor: ew-resize; opacity: 0; }
.ceramic-packages { background: #070707; }
.vehicle-switch { display: flex; width: fit-content; max-width: 100%; margin: 0 auto 30px; overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.vehicle-switch button { flex: 0 0 auto; min-height: 46px; padding: 10px 19px; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; font-size: .76rem; font-weight: 600; white-space: nowrap; }
.vehicle-switch button:last-child { border-right: 0; }
.vehicle-switch button.is-active { background: var(--gold); color: #090806; }
.ceramic-package-grid, .config-package-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.config-package { position: relative; display: flex; min-height: 490px; flex-direction: column; padding: clamp(23px, 2.7vw, 33px); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.config-package--featured { border-color: rgba(185, 150, 80, .75); background: linear-gradient(160deg, rgba(185, 150, 80, .12), #0d0d0d 42%); }
.config-package__badge { position: absolute; top: 0; right: 30px; padding: 8px 12px; background: var(--gold); color: #080706; font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.config-package__top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.config-package__type { color: var(--gold-light); font-size: .69rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.config-package__mark { color: #5c5953; font-size: .75rem; }
.config-package h3 { max-width: 470px; margin: 20px 0 14px; font-size: clamp(1.45rem, 2.1vw, 1.95rem); letter-spacing: -.04em; line-height: 1.08; }
.config-package__price { display: flex; align-items: baseline; gap: 10px; margin-bottom: 19px; }
.config-package__price > span { color: var(--gold-light); font-size: clamp(1.8rem, 2.65vw, 2.5rem); font-weight: 600; letter-spacing: -.045em; line-height: 1; }
.config-package__price small { color: var(--quiet); font-size: .72rem; }
.config-package__features { display: grid; gap: 7px; margin: 0 0 20px; padding: 0; list-style: none; }
.config-package__features li { position: relative; padding-left: 20px; color: #c7c4bd; font-size: .8rem; }
.config-package__features li::before { position: absolute; top: .68em; left: 1px; width: 8px; height: 1px; background: var(--gold); content: ""; }
.config-package__select { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--line); color: var(--gold-light); font-size: .7rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.notice { margin-top: 22px; padding: 25px 28px; border: 1px solid var(--line); border-radius: 12px; background: #0b0b0b; }
.notice h3 { margin-bottom: 6px; font-size: 1rem; }
.notice p { color: var(--muted); font-size: .86rem; }
.extras-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.extra-card { display: grid; min-height: 96px; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.extra-card > span { color: var(--gold-light); font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.extra-card h3 { margin: 0; font-size: 1.05rem; }
.extra-card p { color: var(--muted); font-size: .8rem; }
.extra-card strong { margin: 0; padding: 0; border: 0; color: var(--gold-light); font-size: .84rem; text-align: right; }
.extra-card__info { align-self: flex-start; margin-top: 13px; padding: 0; border: 0; background: none; color: var(--gold-light); cursor: pointer; font-size: .69rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.extra-card__footer { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin: 0; padding: 0; border: 0; }
.extra-card__footer strong { margin: 0; padding: 0; border: 0; }
.extra-card__footer .extra-card__info { margin: 0; }
.extras-section__heading { max-width: none; }
.extra-card--info { grid-template-columns: minmax(0, 1fr) auto; }
.extra-card--info .extra-card__footer { width: auto; flex-direction: column; align-items: flex-end; justify-content: center; gap: 7px; text-align: right; }
.extra-card--info .extra-card__footer strong,
.extra-card--info .extra-card__footer .extra-card__info { margin: 0; text-align: right; }
.extras-grid--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.extras-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Leistungseinstieg und Schutzkarten */
.service-packages { background: #070707; }
.service-packages .config-package { min-height: 480px; }
.config-package-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.config-package-grid--three .config-package { min-height: 500px; padding: clamp(22px, 2.2vw, 29px); }
.config-package-grid--three .config-package h3 { font-size: clamp(1.4rem, 1.75vw, 1.7rem); }
.services-overview { min-height: 720px; }
.protection-section { padding-block: clamp(62px, 6vw, 84px); background: var(--bg-soft); }
.protection-section .shell { max-width: 950px; }
.protection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.protection-card { display: flex; overflow: hidden; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.protection-card__media { height: clamp(185px, 22vw, 255px); }
.protection-card__copy { display: flex; flex: 1; flex-direction: column; padding: clamp(20px, 2.4vw, 26px); }
.protection-card__copy > span { color: var(--gold-light); font-size: .68rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.protection-card h3 { margin: 9px 0 7px; font-size: clamp(1.25rem, 1.8vw, 1.55rem); font-weight: 600; letter-spacing: -.03em; }
.protection-card p { max-width: 570px; color: var(--muted); font-size: .82rem; }
.protection-card__copy > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); }
.protection-card strong { color: var(--gold-light); font-size: .92rem; font-weight: 600; }
.protection-card button, .compact-extra button { padding: 0; border: 0; background: none; color: var(--gold-light); cursor: pointer; font-size: .69rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.compact-extra { display: flex; align-items: center; justify-content: space-between; gap: 26px; margin-top: 14px; padding: 19px 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.compact-extra .eyebrow { margin-bottom: 8px; }
.compact-extra h3 { margin-bottom: 4px; font-size: 1.08rem; }
.compact-extra p { color: var(--muted); font-size: .8rem; }
.compact-extra > div:last-child { display: grid; flex: 0 0 auto; justify-items: end; gap: 8px; }
.compact-extra strong { color: var(--gold-light); font-size: .9rem; }

/* Zugänglicher Info-Dialog */
.info-dialog { width: min(560px, calc(100% - 32px)); padding: 0; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius); background: #101010; color: var(--text); box-shadow: 0 35px 90px rgba(0, 0, 0, .65); }
.info-dialog::backdrop { background: rgba(0, 0, 0, .75); backdrop-filter: blur(5px); }
.info-dialog__inner { position: relative; padding: clamp(27px, 5vw, 44px); }
.info-dialog__close { position: absolute; top: 16px; right: 16px; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: none; color: var(--text); cursor: pointer; font-size: 1.25rem; }
.info-dialog .eyebrow { margin-bottom: 12px; }
.info-dialog h2 { max-width: 430px; margin: 0 42px 14px 0; font-size: clamp(1.55rem, 3vw, 2.2rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.12; }
.info-dialog p { color: var(--muted); font-size: .95rem; }

/* Projects */
.projects-hero, .blog-hero, .editorial-hero, .legal-hero { padding: clamp(150px, 16vw, 220px) 0 clamp(65px, 7vw, 100px); border-bottom: 1px solid var(--line); text-align: center; }
.projects-hero .hero-lead, .blog-hero .hero-lead, .editorial-hero .hero-lead, .legal-hero p { margin-inline: auto; }
.legal-hero h1 { margin-bottom: 18px; font-size: clamp(2.5rem, 5vw, 4.6rem); letter-spacing: -.045em; line-height: 1; }
.projects-index { padding-top: 85px; }
.projects-index--standalone { min-height: 78svh; padding-top: clamp(145px, 14vw, 190px); }
.project-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 36px; }
.project-filters button { padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--muted); cursor: pointer; font-size: .72rem; }
.project-filters button:hover, .project-filters button.is-active { border-color: var(--gold); background: rgba(185, 150, 80, .12); color: var(--gold-light); }
.projects-feed { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.project-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.project-card__link { display: flex; min-height: 520px; flex-direction: column; }
.project-card__media { height: 295px; flex: 0 0 295px; overflow: hidden; background: linear-gradient(135deg, #171717, #0b0b0b); }
.project-card__media img, .project-card__media video { width: 100%; height: 100%; object-fit: cover; object-position: var(--media-position-desktop, 50% 50%); transition: transform .6s var(--ease); }
.project-card__copy { display: flex; min-height: 225px; flex: 1; flex-direction: column; padding: 22px; }
.project-card__meta { display: flex; justify-content: space-between; gap: 15px; color: var(--quiet); font-size: .67rem; text-transform: uppercase; }
.project-card h3 { margin: 10px 0 6px; font-size: clamp(1.35rem, 2vw, 1.75rem); letter-spacing: -.035em; line-height: 1.1; }
.project-card__copy > p { display: -webkit-box; margin-bottom: 18px; overflow: hidden; color: var(--muted); font-size: .82rem; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.project-card__bottom { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: auto; }
.project-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.project-tags span { padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--quiet); font-size: .62rem; }
.project-card__more { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; color: var(--gold-light); font-size: .65rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.project-card__more svg { width: 16px; height: 16px; }
.project-card:hover .project-card__media img, .project-card:hover .project-card__media video { transform: scale(1.035); }
.projects-empty { grid-column: 1 / -1; padding: 70px 28px; border: 1px solid var(--line); border-radius: var(--radius); text-align: center; }
.projects-empty > span { color: var(--gold); }
.projects-empty h2 { margin: 12px 0 7px; }
.projects-empty p { color: var(--muted); }

/* Contact */
.contact-hero { position: relative; display: grid; min-height: 430px; place-items: center; overflow: hidden; padding: calc(var(--header-h) + 62px) 0 62px; border-bottom: 1px solid var(--line); }
.contact-hero__grid { position: relative; z-index: 2; display: block; }
.contact-hero__copy { max-width: 690px; }
.contact-hero__media { position: absolute; inset: 0; height: auto; border-radius: 0; opacity: .3; }
.contact-hero__shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(5, 5, 5, .96) 0%, rgba(5, 5, 5, .82) 46%, rgba(5, 5, 5, .58) 100%); }
.contact-main { background: var(--bg-soft); }
.contact-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 22px; align-items: start; }
.contact-form-card, .contact-direct, .map-consent { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.contact-form-card { padding: clamp(24px, 4vw, 44px); }
.contact-form-card__head { margin-bottom: 30px; }
.contact-form-card__head h2 { margin: 0 0 8px; font-size: clamp(1.7rem, 2.6vw, 2.4rem); letter-spacing: -.035em; }
.contact-form-card__head p { color: var(--muted); }
.contact-form { display: grid; gap: 21px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.contact-form label { display: grid; gap: 7px; }
.contact-form label > span, .form-extras legend { font-size: .73rem; font-weight: 600; letter-spacing: .04em; }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #080808;
  color: var(--text);
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.contact-form input:not([type="checkbox"]), .contact-form select { height: 49px; padding: 0 14px; }
.contact-form textarea { min-height: 135px; padding: 13px 14px; resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(185, 150, 80, .1); }
.contact-form [aria-invalid="true"] { border-color: var(--error) !important; }
.contact-form small[data-error-for] { min-height: 1em; color: var(--error); font-size: .68rem; }
.form-extras { margin: 0; padding: 20px; border: 1px solid var(--line); border-radius: 10px; }
.form-extras legend { padding: 0 7px; }
.form-extras legend span { margin-left: 7px; color: var(--quiet); font-weight: 400; }
.form-extras__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.form-extras__grid label, .pickup-option, .privacy-check { display: flex; grid-template: none; align-items: flex-start; gap: 10px; cursor: pointer; }
.form-extras input, .pickup-option input, .privacy-check input { flex: 0 0 auto; width: 16px; height: 16px; margin: 3px 0 0; accent-color: var(--gold); }
.form-extras__grid label span { color: var(--muted); font-size: .79rem; font-weight: 400; letter-spacing: 0; }
.pickup-option { padding: 15px 17px; border: 1px solid rgba(185, 150, 80, .35); border-radius: 10px; background: rgba(185, 150, 80, .06); }
.pickup-option > span { display: grid; }
.pickup-option strong { font-size: .82rem; }
.pickup-option small { color: var(--muted); font-size: .72rem; }
.privacy-check > span { color: var(--muted); font-size: .76rem; font-weight: 400; letter-spacing: 0; }
.privacy-check a { color: var(--gold-light); text-decoration: underline; text-underline-offset: 3px; }
.form-trap { position: absolute !important; left: -9999px !important; }
.form-status { margin: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; font-size: .82rem; }
.form-status--success { border-color: rgba(143, 226, 172, .45); color: var(--success); }
.form-status--error { border-color: rgba(255, 143, 143, .45); color: var(--error); }
.contact-aside { display: grid; gap: 18px; }
.contact-direct { padding: 27px; }
.contact-direct > p { margin-bottom: 25px; color: var(--muted); font-size: .87rem; }
.contact-direct__item { display: grid; gap: 4px; padding: 17px 0; border-top: 1px solid var(--line); }
.contact-direct__item > span { color: var(--quiet); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.contact-direct__item a { font-size: .88rem; }
.contact-direct__item small { color: var(--quiet); font-size: .71rem; }
.map-consent { display: grid; min-height: 315px; place-items: center; overflow: hidden; background: radial-gradient(circle at center, #191919, #0b0b0b 70%); }
.map-consent > div { padding: 28px; text-align: center; }
.map-consent h2 { margin-bottom: 7px; font-size: 1.3rem; }
.map-consent p { margin-bottom: 20px; color: var(--muted); font-size: .82rem; }
.map-consent iframe { width: 100%; height: 315px; border: 0; filter: grayscale(1) invert(.9) contrast(.85); }

/* Footer */
.site-footer { border-top: 1px solid var(--line); background: #080808; }
.footer-top { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 45px; padding-top: 70px; padding-bottom: 65px; }
.footer-brand img { width: 165px; margin-bottom: 20px; }
.footer-brand p { max-width: 330px; color: var(--muted); font-size: .84rem; }
.footer-social { display: inline-flex; align-items: center; gap: 8px; margin-top: 15px; color: var(--gold-light); font-size: .75rem; }
.footer-social svg { width: 17px; height: 17px; }
.footer-block { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; color: var(--muted); font-size: .79rem; }
.footer-heading { margin-bottom: 9px; color: var(--text); font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.footer-block a:hover { color: var(--gold-light); }
.footer-block p { color: var(--muted); }
.footer-bottom { display: flex; min-height: 67px; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); color: var(--quiet); font-size: .7rem; }
.footer-bottom > div { display: flex; gap: 18px; }
.floating-contact { position: fixed; z-index: 900; right: 22px; bottom: 22px; display: grid; width: 58px; height: 58px; place-items: center; overflow: hidden; border-radius: 50%; background: var(--green); box-shadow: 0 12px 34px rgba(0, 0, 0, .42); transition: transform .25s var(--ease); }
.floating-contact:hover { transform: translateY(-3px) scale(1.03); }
.floating-contact img { width: 31px; height: 31px; object-fit: contain; }

/* Blog, legal and dynamic detail pages */
.blog-list, .blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.blog-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.blog-card--featured { grid-column: span 2; }
.blog-card__link { display: flex; min-height: 520px; flex-direction: column; }
.blog-card__media { height: 260px; overflow: hidden; background: #141414; }
.blog-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--media-position-desktop, 50% 50%); transition: transform .6s var(--ease); }
.blog-card__copy { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.blog-card__category { color: var(--gold-light); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.blog-card h2 { margin: 12px 0 8px; font-size: 1.45rem; letter-spacing: -.025em; line-height: 1.15; }
.blog-card p { color: var(--muted); font-size: .84rem; }
.blog-card__more { margin-top: auto; padding-top: 18px; color: var(--gold-light); font-size: .7rem; font-weight: 600; text-transform: uppercase; }
.blog-card:hover img { transform: scale(1.035); }
.legal-main { padding: 80px 0 110px; }
.legal-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 65px; align-items: start; }
.legal-nav { position: sticky; top: 95px; display: grid; gap: 5px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.legal-nav a { padding: 7px 9px; border-radius: 6px; color: var(--muted); font-size: .75rem; }
.legal-nav a:hover { background: rgba(185, 150, 80, .1); color: var(--gold-light); }
.legal-content { max-width: 850px; margin-inline: auto; }
.legal-content h2 { margin: 48px 0 12px; font-size: 1.55rem; }
.legal-content h3 { margin: 28px 0 8px; font-size: 1.12rem; }
.legal-content p, .legal-content li { color: var(--muted); }
.legal-content a { color: var(--gold-light); text-decoration: underline; }
.detail-hero, .article-hero { padding: 145px 0 62px; border-bottom: 1px solid var(--line); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; color: var(--quiet); font-size: .72rem; }
.detail-gallery, .article-cover { margin-top: 38px; overflow: hidden; border-radius: var(--radius); }
.detail-gallery-section { padding: 48px 0 10px; }
.detail-gallery-section .shell--wide { position: relative; }
.detail-gallery { position: relative; display: flex; width: min(100%, 980px); height: 520px; margin-inline: auto; gap: 0; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.detail-gallery::-webkit-scrollbar { display: none; }
.detail-gallery > * { min-width: 100%; min-height: 0; flex: 0 0 100%; scroll-snap-align: center; }
.detail-gallery__item { padding: 0; overflow: hidden; border: 0; border-radius: 12px; background: var(--panel); cursor: zoom-in; }
.detail-gallery img, .detail-gallery video, .article-cover img { width: 100%; height: 100%; object-fit: cover; object-position: var(--media-position-desktop, 50% 50%); }
.detail-gallery__nav { position: absolute; z-index: 4; top: 50%; display: grid; width: 44px; height: 44px; place-items: center; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(5,5,5,.68); color: var(--text); cursor: pointer; backdrop-filter: blur(10px); }
.detail-gallery__nav--prev { left: max(16px, calc((100% - 980px) / 2 + 16px)); }
.detail-gallery__nav--next { right: max(16px, calc((100% - 980px) / 2 + 16px)); }
.detail-gallery__count { position: absolute; z-index: 4; right: max(16px, calc((100% - 980px) / 2 + 16px)); bottom: 16px; padding: 6px 10px; border-radius: 999px; background: rgba(5,5,5,.72); color: var(--text); font-size: .72rem; }
.detail-content__grid, .article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 70px; align-items: start; }
.article-layout { margin-top: 70px; margin-bottom: 110px; }
.article-cover { max-height: 630px; }
.article-cover img { max-height: 630px; }
.article-body { color: var(--muted); }
.article-body section + section { margin-top: 48px; padding-top: 48px; border-top: 1px solid var(--line); }
.article-body h2, .article-body h3 { color: var(--text); }
.article-body h2 { margin: 45px 0 12px; font-size: 1.7rem; }
.article-body h3 { margin: 28px 0 9px; font-size: 1.18rem; }
.detail-aside, .article-meta { position: sticky; top: 100px; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.article-hero .article-meta { position: static; display: flex; width: fit-content; gap: 18px; margin-top: 25px; padding: 0; border: 0; border-radius: 0; background: none; color: var(--quiet); font-size: .74rem; }
.detail-aside h2 { font-size: 1.3rem; line-height: 1.25; }
.detail-aside p { color: var(--muted); font-size: .84rem; }
.detail-aside .button { width: 100%; margin-top: 10px; }
.text-link { display: inline-block; margin-top: 18px; color: var(--gold-light); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.detail-intro { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 45px; padding: 18px 0; border-block: 1px solid var(--line); }
.detail-intro span { color: var(--quiet); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.detail-intro strong { color: var(--text); }
.lightbox { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(3, 3, 3, .95); color: var(--text); }
.lightbox::backdrop { background: rgba(0, 0, 0, .9); }
.lightbox-inner { position: relative; display: grid; width: 100%; height: 100%; place-items: center; }
.lightbox figure { display: grid; max-width: min(86vw, 1500px); max-height: 85dvh; margin: 0; place-items: center; }
.lightbox figure img { width: auto; max-width: 100%; max-height: 80dvh; object-fit: contain; }
.lightbox figcaption { margin-top: 9px; color: var(--muted); font-size: .72rem; }
.lightbox-close, .lightbox-prev, .lightbox-next { position: absolute; z-index: 2; display: grid; width: 45px; height: 45px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(15, 15, 15, .75); color: var(--text); cursor: pointer; font-size: 1.7rem; }
.lightbox-close { top: 22px; right: 22px; }
.lightbox-prev { top: 50%; left: 22px; transform: translateY(-50%); }
.lightbox-next { top: 50%; right: 22px; transform: translateY(-50%); }
.lightbox-count { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); color: var(--quiet); font-size: .72rem; }
.lightbox.is-single .lightbox-prev, .lightbox.is-single .lightbox-next { display: none; }

/* Legacy package page stays readable if opened directly */
.page-hero { position: relative; min-height: 650px; overflow: hidden; }
.hero-media { position: absolute; inset: 0; }
.page-hero::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4, 4, 4, .9), rgba(4, 4, 4, .42) 60%, rgba(4, 4, 4, .75)); content: ""; }
.hero-inner { position: relative; z-index: 2; display: grid; min-height: 650px; grid-template-columns: 1fr auto; align-items: center; gap: 70px; padding-top: 120px; padding-bottom: 65px; }
.hero-copy { max-width: 720px; }
.hero-meta { display: grid; min-width: 210px; gap: 4px; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: rgba(8, 8, 8, .72); backdrop-filter: blur(10px); }
.hero-meta span { margin-top: 11px; color: var(--quiet); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.hero-meta strong { color: var(--gold-light); font-size: 1.15rem; }
.mobile-service-note { padding: 28px 0; border-bottom: 1px solid var(--line); background: #0a0a0a; }
.mobile-service-note__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; }
.mobile-service-note__icon { display: grid; width: 45px; height: 45px; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-light); font-weight: 600; }
.mobile-service-note .eyebrow { margin-bottom: 5px; }
.mobile-service-note h2 { margin: 0 0 4px; font-size: 1.15rem; }
.mobile-service-note p { color: var(--muted); font-size: .82rem; }
.mobile-service-note .text-link { margin-top: 0; white-space: nowrap; }
.package-configurator { background: #070707; }
.configurator-heading { max-width: 760px; margin: 0 auto 35px; text-align: center; }
.configurator-heading .section-lead { margin-inline: auto; }
.package-configurator .config-package-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.package-configurator .config-package { min-height: 510px; padding: 23px 20px; }
.package-configurator .config-package h3 { font-size: clamp(1.25rem, 1.6vw, 1.6rem); }
.package-configurator .config-package__price > span { font-size: clamp(1.65rem, 2.1vw, 2.2rem); }
.config-package__select:is(button) { width: 100%; border: 0; background: none; cursor: pointer; text-align: left; }
.configurator-lower { display: grid; grid-template-columns: 1.08fr .92fr; gap: 20px; margin-top: 20px; align-items: start; }
.configurator-extras, .configurator-summary { padding: clamp(25px, 3vw, 38px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.configurator-extras > h2 { margin-bottom: 8px; font-size: 1.65rem; letter-spacing: -.03em; }
.configurator-extras > p { margin-bottom: 24px; color: var(--muted); font-size: .86rem; }
.extras-disclosure { border-top: 1px solid var(--line); }
.extras-disclosure:last-child { border-bottom: 1px solid var(--line); }
.extras-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 17px 0; cursor: pointer; font-size: .8rem; font-weight: 600; }
.extras-disclosure summary span:last-child { color: var(--quiet); font-size: .68rem; font-weight: 400; }
.extras-selection { display: grid; gap: 7px; padding-bottom: 17px; }
.extras-selection label { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
.extras-selection input { accent-color: var(--gold); }
.extras-selection span, .extras-selection strong { font-size: .75rem; }
.extras-selection strong { color: var(--gold-light); font-weight: 600; }
.configurator-summary { position: sticky; top: 92px; }
.configurator-summary__label { display: block; margin-bottom: 18px; color: var(--gold-light); font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.configurator-summary__row { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-top: 1px solid var(--line); font-size: .8rem; }
.configurator-summary__row span { color: var(--quiet); }
.configurator-summary__extras { display: grid; gap: 5px; padding: 14px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
.configurator-summary__extras > div { display: flex; justify-content: space-between; gap: 15px; }
.configurator-summary__total { display: flex; align-items: end; justify-content: space-between; gap: 15px; padding: 18px 0; border-block: 1px solid var(--line); }
.configurator-summary__total span { color: var(--quiet); font-size: .72rem; }
.configurator-summary__total strong { color: var(--gold-light); font-size: 1.55rem; }
.configurator-summary > p { margin: 14px 0 20px; color: var(--quiet); font-size: .7rem; }
.configurator-form { display: grid; gap: 13px; }
.configurator-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.configurator-form label { display: grid; gap: 5px; }
.configurator-form label > span { font-size: .67rem; }
.configurator-form input:not([type="checkbox"]), .configurator-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 7px; background: #080808; }
.configurator-form input:not([type="checkbox"]) { height: 43px; padding: 0 11px; }
.configurator-form textarea { padding: 10px 11px; resize: vertical; }
.configurator-form__privacy { display: flex !important; grid-template: none !important; align-items: flex-start; gap: 9px !important; }
.configurator-form__privacy input { margin-top: 4px; accent-color: var(--gold); }
.configurator-form__privacy span { color: var(--muted); }
.configurator-form__privacy a { color: var(--gold-light); text-decoration: underline; }
.configurator-form__trap { position: absolute; left: -9999px; }
.ceramic-teaser { background: linear-gradient(135deg, #15130f, #080808); }
.ceramic-teaser__inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 60px; }
.ceramic-teaser__price { display: grid; min-width: 270px; gap: 8px; padding: 25px; border: 1px solid rgba(185, 150, 80, .35); border-radius: 12px; }
.ceramic-teaser__price > span { color: var(--quiet); font-size: .68rem; text-transform: uppercase; }
.ceramic-teaser__price > strong { color: var(--gold-light); font-size: 1.8rem; }
.packages, .price-services, .chooser-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.package, .price-service, .chooser-item { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.package p, .price-service p, .chooser-item p { color: var(--muted); }

/* Reveal motion */
[data-reveal], [data-media-reveal], .word-reveal__word {
  opacity: 0;
  transition: opacity .72s var(--ease), transform .72s var(--ease), filter .72s var(--ease);
  transition-delay: var(--delay, 0ms);
}
[data-reveal] { transform: translateY(20px); filter: blur(5px); }
[data-media-reveal] { transform: scale(.975); filter: blur(8px); }
.word-reveal__word { display: inline-block; transform: translateY(.55em); filter: blur(8px); transition-delay: calc(var(--delay, 0ms) + var(--word, 0) * 42ms); }
[data-reveal].is-visible, [data-media-reveal].is-visible, .word-reveal.is-visible .word-reveal__word { transform: none; filter: blur(0); opacity: 1; }
.word-reveal { visibility: visible; }

@media (max-width:1100px) {
  .site-header { grid-template-columns: 150px 1fr auto; padding-inline: 24px; }
  .desktop-nav { gap: 20px; }
  .header-phone span { display: none; }
  .service-card { min-height: 0; }
  .projects-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .extras-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .config-package-grid--three { grid-template-columns: 1fr; }
  .config-package-grid--three .config-package { min-height: auto; }
}

@media (max-width: 900px) {
  :root { --header-h: 70px; }
  .shell, .shell--wide { width: min(calc(100% - 36px), var(--shell)); }
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav, .header-connect { display: none; }
  .menu-trigger { display: inline-flex; align-items: center; gap: 9px; font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
  .partner-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-strip__media { min-height: 0; }
  .studio-intro__grid, .about-instagram__grid, .ceramic-comparison-layout, .interior-comparison-layout, .contact-hero__grid, .contact-grid, .faq-layout { grid-template-columns: 1fr; }
  .interior-comparison-layout { width: min(calc(100% - 36px), var(--shell)); gap: 32px; }
  .studio-intro__grid { gap: 28px; }
  .studio-intro__media { grid-column: auto; }
  .about-instagram__media { height: min(620px, 85vw); }
  .service-card-grid { gap: 12px; }
  .service-card { min-height: 0; }
  .service-card__copy { padding: 22px; }
  .ceramic-benefits { grid-template-columns: 1fr; }
  .ceramic-package-grid, .config-package-grid { grid-template-columns: 1fr; }
  .config-package { min-height: auto; }
  .reviews-heading, .final-cta__inner { align-items: flex-start; flex-direction: column; }
  .reviews-heading { display: flex; }
  .final-cta__inner { display: flex; gap: 25px; }
  .footer-top { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-nav { grid-column: 2 / -1; }
  .detail-content__grid, .article-layout { grid-template-columns: 1fr; gap: 35px; }
  .detail-aside, .article-meta { position: static; }
  .legal-layout { grid-template-columns: 1fr; gap: 32px; }
  .legal-nav { position: static; display: flex; overflow-x: auto; white-space: nowrap; }
  .package-configurator .config-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .configurator-lower { grid-template-columns: 1fr; }
  .configurator-summary { position: static; }
  .extras-grid--six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width:760px) {
  [data-media] > img, [data-media] > video { object-position: var(--media-position-mobile, var(--media-position-desktop, 50% 50%)); }
  .project-card__media img, .project-card__media video { object-position: var(--media-position-mobile, var(--media-position-desktop, 50% 50%)); }
  .blog-card__media img, .article-cover img { object-position: var(--media-position-mobile, var(--media-position-desktop, 50% 50%)); }
  .section { padding: 62px 0; }
  .section-heading { margin-bottom: 32px; }
  .display { font-size: clamp(2.3rem, 10vw, 3.4rem); }
  .display--medium { font-size: clamp(2.1rem, 9vw, 3rem); }
  .section-title { font-size: clamp(1.8rem, 7.8vw, 2.45rem); }
  .home-hero { min-height: 94svh; }
  .home-hero__content { padding-top: calc(var(--header-h) + 42px); }
  .home-hero__content .hero-lead { margin-top: clamp(120px, 18svh, 165px); }
  .subpage-hero { min-height: 700px; }
  .service-notice__inner { grid-template-columns: auto 1fr; padding-block: 17px; }
  .service-notice a { grid-column: 2; }
  .studio-facts { grid-template-columns: 1fr; }
  .studio-facts div { padding: 14px 0; border-bottom: 1px solid var(--line); }
  .studio-facts div + div { padding-left: 0; border-left: 0; }
  .service-card-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 0; aspect-ratio: 16 / 10; }
  .timeline__step { grid-template-columns: 42px 40px 1fr; gap: 10px; }
  .reviews-marquee { mask-image: none; }
  .review { min-height: 230px; }
  .ceramic-effect-media { width: 100%; height: 58vw; min-height: 250px; }
  .extras-grid, .projects-feed, .blog-list, .blog-grid { grid-template-columns: 1fr; }
  .partner-strip__title { margin-bottom: 24px; text-align: left; }
  .partner-strip__grid, .protection-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .partner-strip__media { width: 100%; min-height: 230px; aspect-ratio: 16 / 9; justify-self: stretch; }
  .partner-strip__copy { min-height: auto; }
  .protection-card__media { height: min(58vw, 300px); }
  .comparison--compact { width: min(100%, 680px); justify-self: center; }
  .compact-extra { align-items: flex-start; flex-direction: column; }
  .compact-extra > div:last-child { justify-items: start; }
  .extras-grid--six, .extras-grid--three { grid-template-columns: 1fr; }
  .project-card__link { min-height: 500px; }
  .project-card__media { height: 285px; flex-basis: 285px; }
  .blog-card--featured { grid-column: auto; }
  .contact-hero { min-height: 400px; padding: calc(var(--header-h) + 48px) 0 50px; }
  .contact-hero__copy { max-width: 590px; }
  .form-grid, .form-extras__grid { grid-template-columns: 1fr; }
  .hero-inner { grid-template-columns: 1fr; gap: 25px; }
  .hero-meta { display: none; }
  .mobile-service-note__inner { grid-template-columns: auto 1fr; }
  .mobile-service-note .text-link { grid-column: 2; }
  .package-configurator .config-package-grid { grid-template-columns: 1fr; }
  .configurator-form__grid { grid-template-columns: 1fr; }
  .ceramic-teaser__inner { grid-template-columns: 1fr; gap: 28px; }
  .ceramic-teaser__price { min-width: 0; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 35px 24px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-nav { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 18px; }
  .detail-gallery { height: 390px; }
  .detail-gallery img, .detail-gallery video { object-position: var(--media-position-mobile, var(--media-position-desktop, 50% 50%)); }
  .packages, .price-services, .chooser-grid { grid-template-columns: 1fr; }
  .vehicle-switch { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; }
  .vehicle-switch button { width: 100%; min-width: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); white-space: normal; }
  .vehicle-switch button:nth-child(2n) { border-right: 0; }
  .vehicle-switch button:nth-last-child(-n + 2) { border-bottom: 0; }
}

@media (min-width:761px) {
  .extras-section__heading .section-title { white-space: nowrap; }
}

@media (max-width:460px) {
  .shell, .shell--wide { width: min(calc(100% - 28px), var(--shell)); }
  .interior-comparison-layout { width: min(calc(100% - 28px), var(--shell)); }
  .site-header { padding-inline: 15px; }
  .site-brand { width: 135px; }
  .site-drawer { padding: 22px 19px; }
  .hero-actions { display: grid; width: 100%; grid-template-columns: 1fr; }
  .hero-actions .button { width: 100%; }
  .hero-trust { gap: 9px; font-size: .66rem; }
  .service-notice__inner { gap: 13px; }
  .service-notice p { font-size: .77rem; }
  .service-card { min-height: 0; aspect-ratio: 4 / 3; }
  .timeline__step { min-height: 98px; grid-template-columns: 34px 1fr; padding-block: 14px; }
  .timeline__line { left: 16px; }
  .timeline__step > i { margin-left: 11px; }
  .timeline__step > span { display: none; }
  .google-rating { width: 100%; }
  .comparison { aspect-ratio: 4 / 3; }
  .vehicle-switch { width: 100%; }
  .config-package { padding: 21px 18px; }
  .config-package__price { align-items: flex-start; flex-direction: column; gap: 5px; }
  .extra-card { min-height: 86px; }
  .detail-gallery { height: 310px; }
  .protection-card__copy > div { align-items: center; flex-direction: row; }
  .project-card__media { height: 265px; flex-basis: 265px; }
  .project-card__bottom { align-items: flex-start; flex-direction: column; }
  .contact-form-card { padding: 21px 17px; }
  .form-extras { padding: 17px 13px; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .floating-contact { right: 15px; bottom: 15px; width: 54px; height: 54px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal], [data-media-reveal], .word-reveal__word { transform: none !important; filter: none !important; opacity: 1 !important; }
}

@media (max-width: 760px) {
  .home-hero__content .hero-lead {
    margin-top: clamp(90px, 15svh, 125px);
  }

.home-hero__content .hero-actions {
    width: min(100%, 260px);
    margin: 22px auto 0;
    gap: 9px;
  }

  .home-hero__content .hero-actions .button {
    width: 100%;
    min-height: 40px;
    padding: 10px 14px;
    font-size: .64rem;
  }

  .home-hero__content .hero-trust {
    margin-top: 20px;
  }
}

@media (max-width: 760px) {
  .ceramic-effect-media {
    width: 92vw;
    height: auto;
    min-height: 0;
    margin-inline: calc(50% - 46vw);
    aspect-ratio: auto;
  }

  .ceramic-effect-media img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}

.home-hero {
  min-height: 100vh;
  min-height: 100svh;
}

@media (max-width: 760px) {
  .home-hero {
    min-height: 100vh;
    min-height: 100svh;
  }

  .home-hero__content .hero-lead {
    margin-top: clamp(150px, 20svh, 190px);
  }
}
@media (max-width: 760px) {
  .home-hero__content > .eyebrow,
  .home-hero__content > .display {
    position: relative;
    top: -48px;
  }

  .home-hero__content .hero-lead {
    line-height: 1.35;
  }
}
