:root {
  --ink: #11110f;
  --ivory: #f4ecdd;
  --gold: #c8a45a;
  --emerald: #0d3c2e;
  --purple: #4b1751;
  --purple-deep: #270c2c;
  --clay: #9a755d;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--ivory); font-family: var(--sans); font-size: 16px; line-height: 1.65; }
a { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.site-header { position: absolute; z-index: 20; top: 0; left: 0; width: 100%; min-height: 88px; padding: 0 4vw; display: flex; align-items: center; justify-content: space-between; color: #fff; }
.brand { font-family: var(--serif); font-weight: 600; font-size: 1.3rem; letter-spacing: .26em; text-decoration: none; }
.primary-nav { display: flex; gap: 2rem; align-items: center; }
.primary-nav a { font-size: .84rem; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; opacity: .78; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { opacity: 1; }
.primary-nav a[aria-current="page"] { border-bottom: 1px solid currentColor; }
.menu-button { display: none; border: 0; padding: .5rem; background: transparent; color: inherit; }
.menu-button span:not(.sr-only) { display: block; width: 26px; height: 1px; margin: 5px 0; background: currentColor; }
.eyebrow { margin: 0 0 1.25rem; color: var(--accent, var(--gold)); font-size: .75rem; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; font-family: var(--serif); font-weight: 500; line-height: .98; }

/* Parent landing page */
.home-page { background: var(--ink); }
.home-hero { position: relative; min-height: 100vh; display: grid; grid-template-columns: 43% 57%; background: radial-gradient(circle at 38% 28%, #273e31 0%, transparent 33%), radial-gradient(circle at 20% 88%, #38133a 0%, transparent 35%), #11110f; overflow: hidden; }
.home-hero__content { position: relative; z-index: 3; align-self: end; padding: 10rem 3vw 9vh 6vw; }
.home-hero h1 { font-size: clamp(4.2rem, 7.3vw, 8.4rem); letter-spacing: -.055em; }
.home-hero h1 em { color: var(--gold); font-weight: 500; }
.intro { max-width: 34rem; margin: 2rem 0; color: rgba(244,236,221,.72); font-size: 1.05rem; }
.text-link { display: inline-flex; gap: .9rem; align-items: center; padding-bottom: .35rem; border-bottom: 1px solid currentColor; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.home-hero__gallery { min-height: 100vh; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; background: #11110f; }
.hero-pane { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: .15rem; padding: 2rem 1.2rem; overflow: hidden; text-decoration: none; isolation: isolate; }
.hero-pane::before, .hero-pane::after { content: ""; position: absolute; inset: 0; z-index: -1; transition: transform .7s ease, opacity .4s ease; }
.hero-pane::before { background-position: center; background-size: cover; }
.hero-pane::after { background: linear-gradient(0deg, rgba(10,10,8,.88), rgba(10,10,8,.05) 62%); }
.hero-pane:hover::before { transform: scale(1.035); }
.hero-pane--bistro::before { background-image: url('/assets/bistro-velvet.png'); background-position: 67% center; }
.hero-pane--beauty::before { background-image: url('/assets/beauty-aromatherapy.png'); background-position: 68% center; }
.hero-pane--fashion::before { background-image: url('/assets/fashion-organic.png'); background-position: 69% center; }
.hero-pane span { color: var(--gold); font-size: .7rem; letter-spacing: .14em; }
.hero-pane strong { font-family: var(--serif); font-size: clamp(1.7rem, 2.3vw, 3rem); font-weight: 500; }

.worlds { position: relative; padding: 9rem 4vw 10rem; background: linear-gradient(150deg, #0c241b 0%, #15130f 33%, #321036 67%, #4a3c32 100%); overflow: hidden; }
.worlds::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 12% 30%, rgba(46,115,83,.2), transparent 30%), radial-gradient(circle at 80% 45%, rgba(124,53,129,.22), transparent 34%), radial-gradient(circle at 70% 100%, rgba(187,151,107,.18), transparent 30%); }
.worlds > * { position: relative; }
.section-heading { display: grid; grid-template-columns: .42fr 1fr; gap: 3rem; align-items: start; margin-bottom: 4rem; }
.section-heading h2 { max-width: 900px; font-size: clamp(3.4rem, 6.4vw, 7.4rem); letter-spacing: -.045em; }
.world-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.world-card { position: relative; min-height: 600px; padding: 2rem; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgba(226,197,134,.25); color: white; text-decoration: none; overflow: hidden; isolation: isolate; }
.world-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(10,10,8,.92), rgba(10,10,8,.05) 70%); }
.world-card__image { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: center; transition: transform .7s ease, filter .7s ease; }
.world-card:hover .world-card__image { transform: scale(1.04); filter: saturate(1.08); }
.world-card--bistro .world-card__image { background-image: url('/assets/bistro-velvet.png'); background-position: 66% center; }
.world-card--beauty .world-card__image { background-image: url('/assets/beauty-aromatherapy.png'); background-position: 70% center; }
.world-card--fashion .world-card__image { background-image: url('/assets/fashion-organic.png'); background-position: 68% center; }
.world-card__number { align-self: flex-end; color: var(--gold); font-size: .72rem; letter-spacing: .15em; }
.world-card p { margin: 0 0 1rem; color: var(--gold); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }
.world-card h3 { margin-bottom: 1.3rem; font-size: clamp(3rem, 4.2vw, 5rem); letter-spacing: -.035em; }
.world-card div > span { display: block; max-width: 15rem; color: rgba(255,255,255,.72); }
.world-card b { position: absolute; right: 2rem; bottom: 2rem; font-size: 1.8rem; font-weight: 400; }
.story-section { padding: 10rem 7vw; background: #12110f; color: var(--ivory); border-top: 1px solid rgba(200,164,90,.22); }
.story-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 8vw; align-items: start; }
.story-grid h2 { max-width: 900px; font-size: clamp(3rem, 5.6vw, 6.8rem); letter-spacing: -.04em; }
.story-copy { padding-top: 1rem; color: rgba(244,236,221,.68); font-size: 1.05rem; }
.story-copy p { margin: 0 0 1.5rem; }
.site-footer { padding: 3rem 4vw; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; background: #0b0b09; color: var(--ivory); border-top: 1px solid rgba(200,164,90,.2); font-size: .75rem; letter-spacing: .07em; text-transform: uppercase; }
.site-footer p { margin: 0; }
.site-footer p:last-child { text-align: right; }
.brand--footer { color: var(--ivory); }

/* Connected subsite worlds */
.subsite-page { --page-bg: #171714; --surface: #24231f; --surface-2: #302e29; --deep: #11110f; --text: var(--ivory); --muted: rgba(244,236,221,.67); --line: rgba(244,236,221,.18); --accent: var(--gold); background: var(--page-bg); color: var(--text); }
.subsite-page--bistro { --page-bg: #0b2b21; --surface: #113b2e; --surface-2: #1a4939; --deep: #071d17; --text: #f4ead8; --muted: rgba(244,234,216,.7); --line: rgba(203,169,95,.28); --accent: #cba95f; }
.subsite-page--beauty { --page-bg: #27042f; --surface: #3b0b47; --surface-2: #53125f; --deep: #120018; --text: #fff6e7; --muted: rgba(255,246,231,.72); --line: rgba(235,194,99,.38); --accent: #e7bd5d; background: linear-gradient(180deg, #53125f 0%, #3b0b47 34%, #24032d 68%, #120018 100%); }
.subsite-page--fashion { --page-bg: #d8cdbd; --surface: #e8dfd2; --surface-2: #c7b49d; --deep: #5c493b; --text: #28231e; --muted: rgba(40,35,30,.67); --line: rgba(76,60,48,.23); --accent: #8b684e; }
.subsite-page .site-header { position: absolute; }
.sub-hero { position: relative; min-height: 92vh; display: grid; align-items: end; color: #fff; overflow: hidden; background: var(--deep); }
.sub-hero::before { content: ""; position: absolute; inset: 0; background-size: cover; background-position: center; }
.subsite-page--bistro .sub-hero::before { background-image: linear-gradient(90deg, rgba(5,24,18,.93) 0%, rgba(5,24,18,.48) 46%, rgba(5,24,18,.05) 100%), url('/assets/bistro-velvet.png'); }
.subsite-page--beauty .sub-hero::before { background-image: linear-gradient(90deg, rgba(18,0,24,.97) 0%, rgba(83,18,95,.69) 44%, rgba(39,4,47,.13) 100%), url('/assets/beauty-aromatherapy.png'); }
.subsite-page--beauty .sub-intro { background: linear-gradient(155deg, #53125f 0%, #3b0b47 45%, #24032d 76%, #17001e 100%); }
.subsite-page--beauty .sub-features { background: linear-gradient(180deg, #24032d 0%, #17001e 100%); }
.subsite-page--beauty .eyebrow,
.subsite-page--beauty .feature__number,
.subsite-page--beauty .sub-hero h1 em,
.subsite-page--beauty .sub-quote em,
.subsite-page--beauty .sub-hero__mark {
  color: #e7bd5d;
  background: linear-gradient(105deg, #c9892f 0%, #fff1a1 48%, #d19b38 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.beauty-header-brand { display: inline-flex; flex-direction: column; align-items: center; gap: .1rem; line-height: 1; letter-spacing: .22em; }
.beauty-header-brand span,
.beauty-header-brand small {
  color: #e7bd5d;
  background: linear-gradient(105deg, #c9892f 0%, #fff1a1 48%, #d19b38 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.beauty-header-brand small { font-family: var(--sans); font-size: .48rem; font-weight: 600; letter-spacing: .42em; }
.subsite-page--beauty .primary-nav a[aria-current="page"] { color: #f4cf74; border-color: #e7bd5d; }
.beauty-crest { position: relative; min-height: 760px; padding: 5rem 7vw 6rem; display: grid; grid-template-columns: minmax(340px, .95fr) minmax(380px, 1.05fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; overflow: hidden; background: linear-gradient(180deg, #53125f 0%, #3b0b47 43%, #24032d 72%, #120018 100%); border-top: 1px solid rgba(235,194,99,.26); border-bottom: 1px solid rgba(235,194,99,.26); }
.beauty-crest::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 26% 24%, rgba(255,241,161,.08), transparent 24%), radial-gradient(circle at 76% 66%, rgba(122,38,132,.24), transparent 34%); }
.beauty-crest > * { position: relative; z-index: 1; }
.beauty-crest__logo { width: min(100%, 650px); justify-self: center; }
.beauty-crest__logo::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 44px 20px rgba(18,0,24,.12); }
.beauty-crest__logo img { display: block; width: 100%; height: auto; }
.beauty-crest__copy { max-width: 650px; }
.beauty-crest__copy h2 { margin-bottom: 2rem; color: #fff6e7; font-size: clamp(3.5rem, 6vw, 7rem); letter-spacing: -.045em; }
.beauty-crest__copy h2 em { color: #e7bd5d; background: linear-gradient(105deg, #c9892f 0%, #fff1a1 48%, #d19b38 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.beauty-crest__copy > p:last-child { max-width: 34rem; margin: 0; color: var(--muted); font-size: 1.05rem; }
.subsite-page--beauty .gold-label { width: fit-content; margin-bottom: 1.7rem; padding: .5rem .78rem .46rem; color: #f0c86d; background: rgba(231,189,93,.07); border: 1px solid rgba(235,194,99,.48); box-shadow: inset 0 0 0 1px rgba(83,18,95,.28); -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: #f0c86d; }
.subsite-page--beauty .feature__number { width: fit-content; padding: .42rem .62rem .38rem; color: #f0c86d; background: rgba(231,189,93,.07); border: 1px solid rgba(235,194,99,.42); -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: #f0c86d; }
.subsite-page--fashion .sub-hero::before { background-image: linear-gradient(90deg, rgba(55,43,34,.9) 0%, rgba(55,43,34,.37) 46%, rgba(55,43,34,.03) 100%), url('/assets/fashion-organic.png'); }
.sub-hero__content { position: relative; z-index: 1; width: min(1260px, 90vw); margin: 0 auto; padding: 11rem 0 8rem; }
.sub-hero h1 { max-width: 1050px; font-size: clamp(4.5rem, 9.4vw, 9.8rem); letter-spacing: -.055em; }
.sub-hero h1 em { color: var(--accent); }
.sub-hero__bottom { display: flex; justify-content: space-between; align-items: flex-end; gap: 3rem; margin-top: 2.5rem; }
.sub-hero__bottom p { max-width: 35rem; margin: 0; color: rgba(255,255,255,.78); font-size: 1.05rem; }
.sub-hero__mark { font-family: var(--serif); font-size: 4rem; line-height: 1; color: var(--accent); }
.sub-intro { padding: 9rem 7vw; display: grid; grid-template-columns: .55fr 1.45fr; gap: 7vw; background: linear-gradient(145deg, var(--page-bg), var(--surface)); }
.sub-intro h2 { max-width: 1000px; font-size: clamp(3.1rem, 5.6vw, 6.7rem); letter-spacing: -.04em; }
.sub-intro__copy { max-width: 40rem; padding-top: 2rem; color: var(--muted); font-size: 1.05rem; }
.sub-intro__copy p { margin: 0 0 1.5rem; }
.sub-features { padding: 0 4vw 8rem; background: var(--surface); }
.sub-features__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.feature { min-height: 330px; padding: 2.3rem 2rem 2.3rem 0; border-right: 1px solid var(--line); }
.feature + .feature { padding-left: 2rem; }
.feature:last-child { border-right: 0; }
.feature__number { display: block; margin-bottom: 4.5rem; color: var(--accent); font-size: .7rem; font-weight: 600; letter-spacing: .15em; }
.feature h3 { margin-bottom: 1rem; font-size: clamp(2.1rem, 3vw, 3.5rem); }
.feature p { max-width: 23rem; margin: 0; color: var(--muted); }
.sub-quote { margin: 0; padding: 10rem 7vw; background: var(--deep); color: #fff; text-align: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sub-quote p { max-width: 1050px; margin: 0 auto; font-family: var(--serif); font-size: clamp(3.2rem, 6vw, 7.3rem); line-height: 1.02; letter-spacing: -.04em; }
.sub-quote em { color: var(--accent); }
.world-switcher { padding: 6rem 4vw; background: var(--page-bg); }
.world-switcher h2 { margin-bottom: 2.5rem; font-size: clamp(2.6rem, 4vw, 4.6rem); }
.world-switcher__links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.world-switcher__links a { min-height: 160px; padding: 1.5rem; display: flex; align-items: flex-end; justify-content: space-between; background: var(--surface); border: 1px solid var(--line); text-decoration: none; transition: transform .25s, background .25s; }
.world-switcher__links a:hover { transform: translateY(-4px); background: var(--surface-2); }
.world-switcher__links a[aria-current="page"] { background: var(--deep); color: #fff; }
.world-switcher__links strong { font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.subsite-page .site-footer { background: var(--deep); color: #fff; border-color: var(--line); }

/* Faylux Bistro menu and origins */
.bistro-menu { padding: 9rem 5vw 10rem; background: #f1e8d8; color: #17382d; }
.bistro-menu__heading { display: grid; grid-template-columns: .55fr 1fr .7fr; gap: 4vw; align-items: end; padding-bottom: 4.5rem; }
.bistro-menu__heading .eyebrow { color: #8b6c34; }
.bistro-menu__heading h2 { font-size: clamp(4rem, 8vw, 9rem); letter-spacing: -.055em; }
.bistro-menu__heading > p:last-child { max-width: 31rem; margin: 0 0 .7rem; color: rgba(23,56,45,.68); }
.menu-columns { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(23,56,45,.24); border-left: 1px solid rgba(23,56,45,.24); }
.menu-column { min-width: 0; padding: 3rem; border-right: 1px solid rgba(23,56,45,.24); border-bottom: 1px solid rgba(23,56,45,.24); }
.menu-column__number { margin: 0 0 3rem; color: #8b6c34; font-size: .72rem; font-weight: 600; letter-spacing: .16em; }
.menu-item { display: grid; grid-template-columns: minmax(170px, .75fr) 1fr; gap: 2rem; padding: 1.7rem 0; border-top: 1px solid rgba(23,56,45,.15); }
.menu-item h3 { color: #17382d; font-size: clamp(1.55rem, 2.5vw, 2.6rem); line-height: 1.08; }
.menu-item p { margin: 0; color: rgba(23,56,45,.65); }
.origin-journey { padding: 9rem 5vw 10rem; background: #0d3327; color: #f4ead8; }
.origin-journey__intro { display: grid; grid-template-columns: .5fr 1.5fr; gap: 5vw; align-items: start; margin-bottom: 5rem; }
.origin-journey__intro h2 { max-width: 1000px; font-size: clamp(3.2rem, 6vw, 7rem); letter-spacing: -.045em; }
.origin-journey__intro h2 em { color: #cba95f; }
.origin-layers { border-top: 1px solid rgba(203,169,95,.3); }
.origin-layer { display: grid; grid-template-columns: .58fr 1.42fr; gap: 4vw; align-items: start; padding: 3.4rem 2rem; border-bottom: 1px solid rgba(203,169,95,.3); background: rgba(255,255,255,.015); }
.origin-layer:nth-child(2) { margin-left: 4vw; background: #123d30; }
.origin-layer:nth-child(3) { margin-left: 8vw; background: #174638; }
.origin-layer > p { margin: .4rem 0 0; color: #cba95f; font-size: .82rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.origin-layer > p span { margin-right: 1.25rem; opacity: .7; }
.origin-layer h3 { margin-bottom: .8rem; font-size: clamp(2.1rem, 4vw, 4.5rem); }
.origin-layer div p { max-width: 38rem; margin: 0; color: rgba(244,234,216,.68); }

/* Pearl-white Faylux Beauty collection */
.subsite-page--beauty { background: #f8f5f2; color: #35103f; }
.subsite-page--beauty .beauty-crest { min-height: 650px; grid-template-columns: minmax(280px, .75fr) minmax(380px, 1.25fr); background: linear-gradient(145deg, #fffdf9 0%, #f8f4f2 54%, #eee6ed 100%); border-color: rgba(75,23,81,.14); }
.subsite-page--beauty .beauty-crest::before { background: radial-gradient(circle at 16% 20%, rgba(231,189,93,.12), transparent 24%), radial-gradient(circle at 86% 72%, rgba(83,18,95,.07), transparent 32%); }
.subsite-page--beauty .beauty-crest__logo { width: min(100%, 440px); box-shadow: 0 24px 60px rgba(53,16,63,.13); }
.subsite-page--beauty .beauty-crest__copy h2 { color: #35103f; }
.subsite-page--beauty .beauty-crest__copy > p:last-child { color: rgba(53,16,63,.68); }
.subsite-page--beauty .sub-intro { background: #fbf9f6; color: #35103f; }
.subsite-page--beauty .sub-intro__copy { color: rgba(53,16,63,.67); }
.subsite-page--beauty .sub-features { background: #f4efed; color: #35103f; }
.subsite-page--beauty .sub-features__grid { border-color: rgba(75,23,81,.17); }
.subsite-page--beauty .feature { border-color: rgba(75,23,81,.17); }
.subsite-page--beauty .feature p { color: rgba(53,16,63,.65); }
.subsite-page--beauty .beauty-crest .eyebrow,
.subsite-page--beauty .sub-intro .eyebrow,
.subsite-page--beauty .beauty-products .eyebrow,
.subsite-page--beauty .world-switcher .eyebrow { color: #704676; background: none; -webkit-text-fill-color: #704676; }
.subsite-page--beauty .gold-label { color: #603166; background: #fffdfa; border-color: rgba(201,137,47,.48); box-shadow: none; -webkit-text-fill-color: #603166; }
.subsite-page--beauty .feature__number { color: #603166; background: #fffaf5; border-color: rgba(201,137,47,.44); -webkit-text-fill-color: #603166; }

.beauty-products { padding: 9rem 5vw 10rem; background: #fffdf9; color: #35103f; }
.beauty-products__heading { display: grid; grid-template-columns: .48fr 1.1fr .65fr; gap: 4vw; align-items: end; margin-bottom: 4.5rem; }
.beauty-products__heading h2 { font-size: clamp(3.2rem, 5.6vw, 6.7rem); letter-spacing: -.04em; }
.beauty-products__heading h2 em { color: #6f2d76; }
.beauty-products__heading > p:last-child { margin: 0 0 .35rem; color: rgba(53,16,63,.64); }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.product-card { min-width: 0; background: #faf6f2; border: 1px solid rgba(75,23,81,.15); }
.product-label { min-height: 330px; padding: 2.4rem 1.5rem; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #e7bd5d; text-align: center; background: radial-gradient(circle at 50% 12%, #64186e 0%, transparent 40%), linear-gradient(180deg, #4f105b 0%, #2f0739 58%, #16001d 100%); border: 10px solid #f4efeb; outline: 1px solid rgba(201,137,47,.42); outline-offset: -18px; }
.product-label__heart { margin-bottom: .55rem; color: #f0c96d; font-family: var(--serif); font-size: 4.8rem; font-weight: 400; line-height: .72; }
.product-label strong { color: #e7bd5d; background: linear-gradient(105deg, #c9892f 0%, #fff1a1 48%, #d19b38 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-family: var(--serif); font-size: clamp(1.75rem, 2.8vw, 2.7rem); font-weight: 500; letter-spacing: .14em; line-height: 1; }
.product-label small { margin-top: .65rem; color: #f0c96d; font-size: .62rem; font-weight: 600; letter-spacing: .42em; }
.product-label b { margin-top: 2.1rem; padding-top: .8rem; color: #f8df97; border-top: 1px solid rgba(240,201,109,.45); font-size: .64rem; font-weight: 500; letter-spacing: .2em; }
.product-card__copy { padding: 2rem 1.7rem 2.3rem; }
.product-card__copy p { margin: 0 0 1.1rem; color: #76547a; font-size: .72rem; font-weight: 600; letter-spacing: .14em; }
.product-card__copy h3 { margin-bottom: .8rem; color: #35103f; font-size: clamp(2rem, 3vw, 3rem); }
.product-card__copy span { color: rgba(53,16,63,.64); }
.subsite-page--beauty .sub-quote { background: #f1e9ef; color: #35103f; border-color: rgba(75,23,81,.15); }
.subsite-page--beauty .sub-quote em { color: #713477; background: none; -webkit-text-fill-color: #713477; }
.subsite-page--beauty .world-switcher { background: #faf7f4; color: #35103f; }
.subsite-page--beauty .world-switcher__links a { background: #fffdf9; border-color: rgba(75,23,81,.16); }
.subsite-page--beauty .world-switcher__links a:hover { background: #f1e8ef; }
.subsite-page--beauty .world-switcher__links a[aria-current="page"] { background: #eadfea; color: #35103f; }

/* Complete site footer */
.site-footer--full { padding: 6rem 5vw 2rem; display: block; text-transform: none; }
.footer-lead { display: grid; grid-template-columns: .7fr 1.3fr; gap: 6vw; align-items: start; padding-bottom: 4rem; }
.footer-lead .brand { font-size: clamp(2rem, 4vw, 4.5rem); line-height: 1; }
.footer-lead > p { max-width: 34rem; margin: 0; color: rgba(244,236,221,.65); font-family: var(--serif); font-size: clamp(1.5rem, 2.3vw, 2.6rem); line-height: 1.25; }
.footer-nav { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 4rem; max-width: 650px; margin-left: auto; padding: 3.5rem 0; border-top: 1px solid rgba(200,164,90,.25); }
.footer-nav > div { display: flex; flex-direction: column; align-items: flex-start; gap: .45rem; }
.footer-heading { margin: 0 0 .8rem; color: var(--gold); font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.footer-nav a { color: inherit; font-family: var(--serif); font-size: 1.35rem; text-decoration: none; opacity: .78; }
.footer-nav a:hover { opacity: 1; }
.footer-bottom { padding-top: 1.8rem; display: grid; grid-template-columns: 1fr auto 1fr; gap: 2rem; border-top: 1px solid rgba(200,164,90,.22); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-bottom p { margin: 0; }
.footer-bottom p:last-child { text-align: right; }
.subsite-page--beauty .site-footer--full { background: #ede5eb; color: #35103f; border-color: rgba(75,23,81,.15); }
.subsite-page--beauty .site-footer--full .brand--footer { color: #4b1751; }
.subsite-page--beauty .footer-lead > p { color: rgba(53,16,63,.62); }
.subsite-page--beauty .footer-nav,
.subsite-page--beauty .footer-bottom { border-color: rgba(75,23,81,.17); }
.subsite-page--beauty .footer-heading { color: #7a457e; }
.subsite-page--fashion .site-footer--full { background: #4f4036; color: #f7f1e8; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .site-header { min-height: 72px; }
  .menu-button { display: block; }
  .primary-nav { position: absolute; top: 72px; left: 0; right: 0; display: none; flex-direction: column; align-items: flex-start; gap: 1rem; padding: 1.5rem 5vw 2rem; background: rgba(17,17,15,.97); }
  .primary-nav.is-open { display: flex; }
  .home-hero { grid-template-columns: 1fr; }
  .home-hero__content { min-height: 66vh; padding: 9rem 7vw 4rem; }
  .home-hero__gallery { min-height: 58vh; grid-template-columns: repeat(3, 1fr); }
  .hero-pane { padding: 1.4rem .8rem; }
  .hero-pane strong { font-size: 1.25rem; }
  .section-heading { grid-template-columns: 1fr; gap: 1rem; }
  .world-grid { grid-template-columns: 1fr; }
  .world-card { min-height: 520px; }
  .story-grid { grid-template-columns: 1fr; gap: 3rem; }
  .beauty-crest { min-height: auto; grid-template-columns: 1fr; gap: 2rem; padding: 5rem 6vw 6rem; }
  .beauty-crest__logo { width: min(100%, 560px); }
  .beauty-crest__copy { max-width: 720px; }
  .beauty-products__heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .beauty-products__heading > p:last-child { max-width: 35rem; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .bistro-menu__heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .bistro-menu__heading > p:last-child { max-width: 38rem; }
  .menu-item { grid-template-columns: 1fr; gap: .65rem; }
  .origin-journey__intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .origin-layer, .origin-layer:nth-child(2), .origin-layer:nth-child(3) { margin-left: 0; grid-template-columns: .55fr 1.45fr; }
  .footer-lead { grid-template-columns: 1fr; gap: 2rem; }
  .footer-nav { max-width: none; margin-left: 0; }
  .sub-hero { min-height: 82vh; }
  .sub-hero::before { background-position: 62% center !important; }
  .sub-hero__content { padding-bottom: 4rem; }
  .sub-hero__mark { display: none; }
  .sub-intro { grid-template-columns: 1fr; gap: 2.5rem; padding: 6rem 6vw; }
  .sub-features { padding-bottom: 5rem; }
  .sub-features__grid { grid-template-columns: 1fr; }
  .feature, .feature + .feature { min-height: auto; padding: 2.4rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .feature:last-child { border-bottom: 0; }
  .feature__number { margin-bottom: 2rem; }
  .sub-quote { padding: 7rem 6vw; }
  .world-switcher__links { grid-template-columns: 1fr; }
  .site-footer:not(.site-footer--full) { grid-template-columns: 1fr; text-align: left; }
  .site-footer p:last-child { text-align: left; }
  .footer-bottom { grid-template-columns: 1fr; gap: .55rem; }
  .footer-bottom p:last-child { text-align: left; }
}

@media (max-width: 560px) {
  .beauty-header-brand { font-size: 1.05rem; }
  .beauty-crest { padding: 3.5rem 5vw 4.5rem; }
  .beauty-crest__copy h2 { font-size: clamp(3rem, 15vw, 4.6rem); }
  .beauty-products { padding: 6rem 5vw; }
  .product-grid { grid-template-columns: 1fr; }
  .product-label { min-height: 300px; }
  .bistro-menu, .origin-journey { padding: 6rem 5vw; }
  .menu-columns { grid-template-columns: 1fr; }
  .menu-column { padding: 2.2rem 1.5rem; }
  .origin-layer, .origin-layer:nth-child(2), .origin-layer:nth-child(3) { grid-template-columns: 1fr; gap: 1rem; padding: 2.5rem 0; background: transparent; }
  .footer-nav { grid-template-columns: 1fr; gap: 2.5rem; }
  .home-hero__gallery { min-height: auto; grid-template-columns: 1fr; }
  .hero-pane { min-height: 300px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .world-card__image, .hero-pane::before { transition: none; }
}
