/* A visual layer over the existing Greatlooks layout. No typography or content changes. */
:root {
  --gl-lux-shadow: 0 16px 42px rgba(25,34,29,.10), 0 3px 10px rgba(25,34,29,.05);
  --gl-lux-deep-shadow: 0 23px 54px rgba(25,34,29,.15), 0 5px 17px rgba(25,34,29,.07);
  --gl-lux-ease: cubic-bezier(.22,.8,.25,1);
}
.site-header {
  background: rgba(247,244,237,.88);
  border-bottom-color: rgba(178,154,103,.28);
  box-shadow: 0 6px 24px rgba(25,34,29,.035), inset 0 1px rgba(255,253,250,.7);
}
@supports ((backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px))) {
  .site-header { -webkit-backdrop-filter: blur(18px) saturate(115%); backdrop-filter: blur(18px) saturate(115%); }
  .photo-label,.service-num,.zoom-sign,.mobile-dock {
    -webkit-backdrop-filter: blur(13px); backdrop-filter: blur(13px);
  }
}
.photo-label {
  background: rgba(247,244,237,.86);
  border-color: rgba(255,253,250,.7);
  box-shadow: 0 14px 36px rgba(25,34,29,.16), inset 0 1px rgba(255,253,250,.9);
}
.service-num { background: rgba(247,244,237,.87); box-shadow: 0 3px 14px rgba(25,34,29,.1), inset 0 0 0 1px rgba(255,253,250,.62); }
.hero-photo>img,.sub-hero-photo>img { box-shadow: var(--gl-lux-deep-shadow); }
.service-visual,.work-photo>button,.community-grid>figure>img,#celebrity-clients .portfolio-item img { box-shadow: var(--gl-lux-shadow); }
.service-visual { isolation: isolate; }
.service-visual:after {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 2;
  border: 1px solid rgba(255,253,250,.24);
  background: radial-gradient(circle at var(--gl-glow-x,50%) var(--gl-glow-y,35%),rgba(255,253,250,.14),transparent 62%);
  opacity: .4; transition: opacity .4s var(--gl-lux-ease);
}
.offering-card,.package-card,.contact-enquiry,.sub-callout,.page-note {
  box-shadow: 0 10px 36px rgba(25,34,29,.045), inset 0 1px rgba(255,253,250,.8);
  border-color: rgba(178,154,103,.3);
}
.offering-card,.contact-enquiry,.sub-callout {
  background-image: linear-gradient(135deg,rgba(255,253,250,.64),rgba(247,244,237,.08));
}
.occasion-poster,.occasion-mark { box-shadow: var(--gl-lux-shadow), inset 0 1px rgba(255,253,250,.68); }
.story-section,.lash-panel,.contact-note,.heritage-panel {
  background-image: radial-gradient(ellipse at 5% 0%,rgba(178,154,103,.12),transparent 60%);
}
.trust-strip { box-shadow: inset 0 1px rgba(255,253,250,.85), 0 4px 20px rgba(25,34,29,.025); }
.visit-section { box-shadow: inset 0 1px rgba(255,253,250,.5); }
.btn {
  position: relative; isolation: isolate; overflow: hidden;
  box-shadow: 0 3px 10px rgba(25,34,29,.07), inset 0 1px rgba(255,253,250,.1);
  transition: background .24s ease, border-color .24s ease, box-shadow .32s var(--gl-lux-ease), transform .32s var(--gl-lux-ease);
}
.btn:before {
  content: ''; position: absolute; inset: -5% -30%; z-index: -1; pointer-events: none;
  background: linear-gradient(110deg,transparent 30%,rgba(216,196,155,.24) 49%,transparent 66%);
  transform: translateX(-110%); opacity: 0;
  transition: transform .7s var(--gl-lux-ease), opacity .3s ease;
}
.btn.outline { box-shadow: inset 0 1px rgba(255,253,250,.66), 0 3px 12px rgba(25,34,29,.025); }
.desktop-nav>a:not(.btn):after { background: var(--gold); }
.text-link { transition: color .2s ease,border-color .2s ease; }
.text-link:hover { border-color: var(--gold); }
.btn:focus-visible,.menu-button:focus-visible,.text-link:focus-visible,.service-card summary:focus-visible,.portfolio-item>a:focus-visible,.work-photo>button:focus-visible {
  outline: 3px solid #ad8950; outline-offset: 5px;
  box-shadow: 0 0 0 1px var(--paper), 0 0 0 5px rgba(178,154,103,.16);
}
.contact-field input:focus-visible,.contact-field textarea:focus-visible { box-shadow: 0 0 0 5px rgba(178,154,103,.12); }
.mobile-dock { background: rgba(247,244,237,.9); border-top-color: rgba(178,154,103,.3); }

/* The original figures remain in their original order; only their container scrolls. */
.community-grid,#celebrity-clients .portfolio-grid {
  --gl-carousel-gap: 23px; --gl-carousel-columns: 3;
  position: relative; isolation: isolate;
  grid-template-columns: none; grid-auto-flow: column;
  grid-auto-columns: calc((100% - var(--gl-carousel-gap) - var(--gl-carousel-gap)) / 3);
  gap: var(--gl-carousel-gap);
  overflow-x: auto; overflow-y: hidden;
  padding-block: 12px 16px; margin-block: -12px -16px;
  scroll-snap-type: x mandatory; scroll-padding-inline: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin; scrollbar-color: #b29a67 transparent;
  perspective: 1200px; perspective-origin: 50% 45%;
}
#celebrity-clients .portfolio-grid { --gl-carousel-gap: 24px; }
.community-grid>figure,#celebrity-clients .portfolio-grid>figure {
  min-width: 0; scroll-snap-align: start; scroll-snap-stop: normal;
  position: relative; transform-origin: 50% 50%;
}
.community-grid:focus-visible,#celebrity-clients .portfolio-grid:focus-visible { outline: 3px solid #ad8950; outline-offset: 5px; }
.community-grid::-webkit-scrollbar,#celebrity-clients .portfolio-grid::-webkit-scrollbar { height: 5px; }
.community-grid::-webkit-scrollbar-thumb,#celebrity-clients .portfolio-grid::-webkit-scrollbar-thumb { background: #b29a67; border-radius: 8px; }
.community-grid::-webkit-scrollbar-track,#celebrity-clients .portfolio-grid::-webkit-scrollbar-track { background: transparent; }
.gl-tilt-enabled { transform-origin: 50% 42%; transition: transform .4s var(--gl-lux-ease),box-shadow .4s var(--gl-lux-ease); }
.gl-parallax-target { translate: 0 var(--gl-parallax-y,0px); }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .btn:hover { transform: translateY(-3px); border-color: #b29a67; box-shadow: 0 9px 22px rgba(25,34,29,.15),inset 0 1px rgba(216,196,155,.22); }
  .btn:hover:before { transform: translateX(110%); opacity: 1; }
  .btn:active { transform: translateY(-1px); }
  .gl-tilt-enabled.gl-is-tilting {
    transform: perspective(1100px) rotateX(var(--gl-tilt-x,0deg)) rotateY(var(--gl-tilt-y,0deg)) translate3d(0,-3px,0);
  }
  .gl-is-tilting .service-visual:after { opacity: 1; }
  .offering-card.gl-is-tilting,.package-card.gl-is-tilting { box-shadow: var(--gl-lux-deep-shadow); }
  .gl-carousel-ready>figure.gl-tilt-enabled {
    transform-style: preserve-3d;
    transform: translateZ(var(--gl-slide-z,0px)) rotateY(var(--gl-slide-yaw,0deg)) rotateX(var(--gl-tilt-x,0deg)) rotateY(var(--gl-tilt-y,0deg)) translateY(var(--gl-slide-lift,0px));
    transition: transform .36s var(--gl-lux-ease);
  }
  .gl-carousel-ready>figure.gl-is-tilting { --gl-slide-lift: -4px; }
  .gl-carousel-ready>figure.gl-is-tilting>img,.gl-carousel-ready>figure.gl-is-tilting img { box-shadow: var(--gl-lux-deep-shadow); }
  .gl-tilt-enabled:focus-within,.gl-carousel-ready>figure:focus-within { transform: none; }
}
@media (max-width:900px) { .community-grid { --gl-carousel-gap: 16px; } }
@media (max-width:750px) {
  #celebrity-clients .portfolio-grid { --gl-carousel-gap: 18px; --gl-carousel-columns: 2; grid-auto-columns: calc((100% - var(--gl-carousel-gap)) / 2); }
}
@media (max-width:600px) {
  .community-grid,#celebrity-clients .portfolio-grid { --gl-carousel-gap: 15px; --gl-carousel-columns: 2; grid-auto-columns: calc((100% - var(--gl-carousel-gap)) / 2); }
  .community-grid>figure:last-child { display: block; }
  .photo-label { box-shadow: 0 9px 24px rgba(25,34,29,.13); }
}
@media (prefers-reduced-motion:reduce) {
  .gl-tilt-enabled,.gl-carousel-ready>figure,.gl-parallax-target { transform: none!important; translate: none!important; transition: none!important; }
  .btn:hover,.btn:active { transform: none; }
  .btn:before { display: none; }
  .service-visual:after { background: none; }
  .community-grid,#celebrity-clients .portfolio-grid { scroll-behavior: auto!important; perspective: none; }
}
