:root {
  --color-bg: #fff5f8; --color-text: #2a1020; --color-heading: #160814;
  --color-muted: #7a5366; --color-accent: #ff2d6a; --color-surface: #ffe3ee;
  --color-border: rgba(22,8,20,.1); --nav-fg: #fff; --nav-solid: rgba(255,245,248,.96);
  --nav-solid-fg: #160814; --btn-primary-fg: #fff; --font-display: 'Syne', sans-serif;
  --font-body: 'Heebo', sans-serif; --footer-bg: #160814;
}
html:has(body.theme-popfrench) { overflow-x: hidden; }
.theme-popfrench { overflow-x: hidden; overscroll-behavior-x: none; }
body { font-family: var(--font-body); background: var(--color-bg); }
h1,h2,h3 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.04em; }
.theme-popfrench .site-footer, .theme-popfrench .site-footer p, .theme-popfrench .site-footer a, .theme-popfrench .site-footer button, .theme-popfrench .site-footer h3 { color: #f7cfe0; }
.theme-popfrench .btn--primary { background: #ff2d6a; box-shadow: 0 10px 28px rgba(255,45,106,.35); }
.theme-popfrench .nav-cta { background: #ff2d6a; color: #fff; }
.nail-hero { position: relative; min-height: 100vh; overflow: hidden; isolation: isolate; }
.nail-hero__blocks { position: absolute; inset: 0; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.nail-block { margin: 0; overflow: hidden; position: relative; background: #ff2d6a; }
.nail-block img { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.nail-block--a { background: #ff2d6a; }
.nail-block--b { background: #3d9eff; }
.nail-block--c { background: #ffe14d; }
.nail-block--d { background: #f4e6d8; }
.nail-block span { position: absolute; bottom: 1rem; right: 1.1rem; font-family: var(--font-display); font-size: clamp(1.4rem, 4vw, 2.6rem); color: #fff; mix-blend-mode: difference; letter-spacing: .08em; }
.nail-hero__copy { position: relative; z-index: 2; min-height: 100vh; display: flex; flex-direction: column; justify-content: flex-end; padding: 6rem 7vw 4.5rem; color: #fff;
  background: linear-gradient(to top, rgba(22,8,20,.72) 0%, rgba(22,8,20,.18) 42%, transparent 70%); max-width: 56rem; }
.nail-hero h1 { font-size: clamp(3.2rem, 9vw, 6.4rem); line-height: .88; }
.nail-hero .lede { font-size: 1.12rem; white-space: nowrap; max-width: none; }
.nail-slogan-nowrap { white-space: nowrap; }
.hero-actions { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.3rem; }
.nail-swatches { display: flex; gap: 10px; padding: 14px 6vw; overflow-x: auto; background: #160814; }
.nail-swatches i { flex: none; width: 42px; height: 42px; border-radius: 50%; background:
  radial-gradient(circle at 30% 28%, rgba(255,255,255,.75), transparent 36%), var(--c);
  box-shadow: inset 0 -6px 10px rgba(0,0,0,.18), 0 0 0 2px rgba(255,255,255,.14); }
.nail-pop { background: #160814; color: #fff5f8; padding: 3.5rem 0 1.2rem; overflow: hidden; }
.nail-pop__head { margin-bottom: 1.6rem; }
.nail-pop h2 { font-size: clamp(1.8rem, 4vw, 3rem); max-width: 16ch; }
.nail-pop__desc { margin-top: 1rem; max-width: 60ch; line-height: 1.75; color: #f7cfe0; }
.nail-pop__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-top: 1.4rem; }
.nail-pop__grid figure { margin: 0; overflow: hidden; background: #2a1020; aspect-ratio: 4 / 5; }
.nail-pop__grid img { height: 100%; width: 100%; object-fit: cover; display: block; }
.nail-marquee { overflow: hidden; width: 100%; direction: ltr; }
.nail-marquee__track { display: flex; width: max-content; animation: nail-roll 42s linear infinite; }
.nail-marquee:hover .nail-marquee__track, .nail-marquee:focus-within .nail-marquee__track { animation-play-state: paused; }
.nail-marquee__set { display: flex; gap: 10px; padding-inline-end: 10px; flex-shrink: 0; }
.nail-marquee figure { flex: 0 0 280px; margin: 0; overflow: hidden; background: #2a1020; }
.nail-marquee img { width: 280px; height: 38vh; object-fit: cover; display: block; }
.nail-marquee--slow .nail-marquee__track { animation-duration: 56s; animation-direction: reverse; }
@keyframes nail-roll { to { transform: translate3d(-50%,0,0); } }
.nail-about { padding: 6.5rem 0; overflow: hidden; }
.nail-about__grid { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 800px) { .nail-about__grid { grid-template-columns: 1fr 1fr; } .nail-about__img { max-width: 50%; justify-self: start; } }
.nail-about__img { aspect-ratio: 4/5; overflow: hidden; background: #ffc2d4; max-width: 100%; }
.nail-stats { display: flex; gap: 1.8rem; margin-top: 2rem; flex-wrap: wrap; }
.nail-stats b { display: block; font-family: var(--font-display); font-size: 1.8rem; color: #ff2d6a; }
.nail-french { display: grid; background: #f7efe6; color: #3a2a22; overflow: hidden; }
@media (min-width: 900px) { .nail-french { grid-template-columns: 1fr 1fr; } }
.nail-french__copy { padding: 3.5rem 7vw; display: flex; flex-direction: column; justify-content: center; gap: .5rem; }
.nail-french h2 { font-family: 'Frank Ruhl Libre', serif; font-weight: 400; font-style: italic; font-size: clamp(1.8rem, 3.4vw, 2.8rem); letter-spacing: 0; }
.nail-french p { max-width: 36ch; color: #6a584c; }
.nail-french__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; padding: 5px; }
.nail-french__grid figure { margin: 0; overflow: hidden; aspect-ratio: 4 / 5; }
.nail-french__grid img { height: 100%; width: 100%; object-fit: cover; display: block; }
.nail-belief { display: grid; background: #ff2d6a; color: #fff; overflow: hidden; }
@media (min-width: 800px) { .nail-belief { grid-template-columns: 1.1fr .9fr; } }
.nail-belief blockquote { margin: 0; padding: 4rem 8vw; display: flex; flex-direction: column; justify-content: center; }
.nail-belief__text { font-family: 'Frank Ruhl Libre', serif; font-weight: 400; font-size: clamp(0.875rem, 2.1vw, 1.35rem); font-style: italic; line-height: 1.6; max-width: min(800px, 90%); }
.nail-belief__text p { margin-bottom: 0.5rem; }
.nail-belief__item { margin-bottom: 0.75rem; line-height: 1.65; }
.nail-belief__key { font-weight: 700; color: #f7cfe0; font-style: normal; display: inline; }
.nail-belief cite { margin-top: 1.3rem; font-style: normal; letter-spacing: .08em; opacity: .85; }
.nail-belief__img { min-height: 360px; overflow: hidden; }
.nail-belief__img img { width: 100%; height: 100%; object-fit: cover; min-height: 360px; }
.nail-svc { padding: 5.5rem 0; overflow: hidden; }
.nail-svc__grid { display: grid; gap: 1.1rem; margin-top: 2rem; }
@media (min-width: 800px) { .nail-svc__grid { grid-template-columns: repeat(3,1fr); } }
.nail-svc article { background: #fff; overflow: hidden; border: 2px solid transparent; }
.nail-svc article:nth-child(odd) { border-color: #ff2d6a; }
.nail-svc article:nth-child(even) { border-color: #f4e6d8; }
.nail-svc img { height: 190px; width: 100%; object-fit: cover; }
.nail-svc h3, .nail-svc p { padding: 0 1.1rem; }
.nail-svc p { padding-bottom: 1.2rem; color: var(--color-muted); font-size: .92rem; }
.nail-gal { display: grid; grid-template-columns: repeat(4,1fr); gap: 3px; overflow: hidden; background: #160814; }
.nail-gal img { height: 30vh; width: 100%; object-fit: cover; }
@media (max-width: 700px) {
  .nail-hero__blocks { grid-template-rows: 1fr 1fr; }
  .nail-block img { min-height: 0; }
  .nail-pop__grid { gap: 3px; }
  .nail-pop__grid figure { aspect-ratio: 1 / 1; }
  .nail-gal { grid-template-columns: 1fr 1fr; }
  .nail-marquee figure, .nail-marquee img { flex-basis: 220px; width: 220px; height: 32vh; }
}
@media (prefers-reduced-motion: reduce) { .nail-marquee__track { animation: none; } }
body.a11y-stop-motion .nail-marquee__track { animation: none; }