/* Glow & Co Salon — editorial / premium */
:root {
  --ink: #1A1814;
  --cream: #F5F0E8;
  --cream-light: #FAF7F2;
  --taupe: #C9A88B;
  --taupe-dark: #A08465;
  --rose: #E5B8B0;
  --sage: #889080;
}
html { scroll-behavior: smooth; }
body { font-feature-settings: "liga", "kern"; }

/* Reveal */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 1.1s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity: 1; transform: none; }
.reveal-d1 { transition-delay: .12s; } .reveal-d2 { transition-delay: .24s; }
.reveal-d3 { transition-delay: .36s; } .reveal-d4 { transition-delay: .48s; }

/* Editorial type */
.serif { font-family: 'Cormorant Garamond', serif; font-weight: 400; }
.italic-serif { font-family: 'Cormorant Garamond', serif; font-style: italic; }

/* Eyebrow */
.eyebrow { font-family: 'Inter Tight', sans-serif; font-size: 11px; letter-spacing: .35em; text-transform: uppercase; font-weight: 500; }

/* Hover image zoom */
.img-zoom { overflow: hidden; }
.img-zoom img { transition: transform 1.4s cubic-bezier(.2,.7,.2,1); }
.img-zoom:hover img { transform: scale(1.06); }

/* Underline link */
.link-u { position: relative; display: inline-block; }
.link-u::after {
  content: ""; position: absolute; left: 0; bottom: -2px; height: 1px; width: 100%;
  background: currentColor; transform-origin: right; transform: scaleX(0);
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}
.link-u:hover::after { transform-origin: left; transform: scaleX(1); }

/* Marquee for stylist names */
@keyframes scroll-x { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee { display: flex; animation: scroll-x 45s linear infinite; white-space: nowrap; }

/* Number list */
.num-list { counter-reset: item; }
.num-list > li { counter-increment: item; }
.num-list > li::before { content: counter(item, decimal-leading-zero); display: block; font-family: 'Cormorant Garamond', serif; font-size: 2.5rem; font-style: italic; color: var(--taupe-dark); margin-bottom: .5rem; }

/* Soft focus rings */
a:focus-visible, button:focus-visible { outline: 2px solid var(--taupe-dark); outline-offset: 4px; }

/* Sticky element */
.sticky-top { position: sticky; top: 100px; }

/* Aspect helper */
.portrait { aspect-ratio: 3/4; }
.landscape { aspect-ratio: 4/3; }

/* Hero 3D layer — decorative canvas over static fallback */
.hero-3d-stage { position: relative; }
.hero-3d-stage > .hero-3d-bg,
.hero-3d-stage > #hero-3d-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.hero-3d-stage > .hero-3d-bg { object-fit: cover; }
.hero-3d-stage > #hero-3d-canvas {
  pointer-events: none;
  mix-blend-mode: normal;
}
.hero-3d-stage > .hero-3d-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(245,240,232,0.18) 0%, rgba(229,184,176,0.10) 45%, rgba(26,24,20,0.18) 100%);
  pointer-events: none;
}
