:root {
  --bg: #f7f3ea;
  --surface: rgba(255, 255, 255, 0.92);
  --surface-strong: #ffffff;
  --text: #1a1a1a;
  --muted: #6f6a61;
  --line: rgba(35, 31, 26, 0.12);
  --shadow: 0 28px 70px rgba(73, 61, 43, 0.12);
  --shadow-soft: 0 14px 36px rgba(73, 61, 43, 0.1);
}

html { background: #f7f3ea; }
body,
body:has(.atelier-site-header) {
  --text: #1a1a1a;
  --muted: #655f56;
  color-scheme: light;
  color: var(--text);
  font-family: "DM Sans", sans-serif;
  background:
    radial-gradient(circle at 88% 7%, rgba(207, 181, 59, 0.16), transparent 25%),
    radial-gradient(circle at 8% 45%, rgba(218, 202, 171, 0.26), transparent 26%),
    linear-gradient(180deg, #fffdf8 0%, #f7f1e5 46%, #fff 100%);
}

h1, h2, h3, h4,
.brand-title,
.hero h1,
.hero h2,
.section-heading h2,
.page-intro h1 {
  color: #191919;
  font-family: "Plus Jakarta Sans", "DM Sans", sans-serif;
  letter-spacing: -0.035em;
}

p { color: #615d56; }
.eyebrow, .card-label, .brand-kicker { color: #79630f; }

.hero-copy,
.hero-copy h1,
.hero-copy h2,
.hero-copy h3,
.hero-copy p,
.hero-copy strong,
.hero-copy span {
  color: #f7f5ef;
}

.hero-copy .eyebrow,
.hero-copy .card-label { color: #d8bf47; }

.page-intro-visual h2,
.page-intro-visual h3,
.page-intro-visual p,
.mood-visual h3,
.mood-visual p,
.reference-visual h3,
.reference-visual p,
.preview-stage-3d h3,
.preview-stage-3d p { color: #f7f5ef; }

.page-intro-note {
  border-color: rgba(255,255,255,.12);
  background: rgba(24,24,24,.92) !important;
  color: #f7f5ef;
  box-shadow: 0 18px 42px rgba(0,0,0,.2);
}
.page-intro-note,
.page-intro-note strong,
.page-intro-note p { color: #f7f5ef !important; }
.page-intro-note .card-label { color: #e0c84f !important; }

.site-header:not(.atelier-site-header) {
  border-bottom-color: rgba(35,31,26,.1);
}

.brand-title { color: #24211d; }
.site-nav { border-color: rgba(35,31,26,.1); background: rgba(28,28,28,.96); }
.site-nav a { color: rgba(255,255,255,.76); }
.site-nav a:hover, .site-nav a.is-current { color: #e2c845; }

.hero-panel,
.hero-floating-card,
.page-intro-card,
.page-intro-note,
.service-card,
.about-value,
.about-copy-card,
.about-panel,
.about-logo-card,
.mood-card,
.reference-card,
.references-strip-card,
.collection-card,
.catalog-card,
.contact-card,
.contact-item,
.contact-form,
.home-editorial,
.editorial-card,
.page-link-card,
.about-note-card,
.about-stat,
.process-step,
.service-process-card {
  color: #1a1a1a;
  border-color: rgba(35,31,26,.11);
  background: rgba(255,255,255,.9);
  box-shadow: var(--shadow-soft);
}

.page-link-card h3,
.page-link-card p,
.page-link-card strong,
.about-note-card h3,
.about-note-card p,
.about-stat strong,
.about-stat span,
.process-step h3,
.process-step p {
  color: #27231e;
}

.page-link-card p,
.about-note-card p,
.about-stat span,
.process-step p { color: #625c53; }

.page-link-cta { color: #6f5908; font-weight: 700; }
.about-value-index { color: #79630f; }

.about-copy-card {
  color: #1a1a1a;
  border-color: rgba(35, 31, 26, 0.11);
  background: linear-gradient(180deg, #ffffff 0%, #f8f2e7 100%);
  box-shadow: var(--shadow-soft);
}
.about-copy-card h2,
.about-copy-card h3 { color: #1d1c19; }
.about-copy-card p { color: #5f594f; }
.about-copy-card .eyebrow { color: #705a08; }
.about-panel h2,
.about-panel h3,
.about-panel strong { color: #1d1c19; }
.about-panel p,
.about-panel span { color: #5f594f; }

/* Homepage: override the legacy dark variants with readable light surfaces. */
.page-link-card.is-featured {
  color: #1a1a1a;
  border-color: rgba(154, 129, 32, 0.24);
  background:
    radial-gradient(circle at top right, rgba(207, 181, 59, 0.18), transparent 38%),
    linear-gradient(180deg, #fffefb 0%, #f7f0df 100%);
  box-shadow: var(--shadow-soft);
}

.page-link-card.is-featured .page-link-index {
  border-color: rgba(154, 129, 32, 0.28);
  background: rgba(255, 255, 255, 0.76);
  color: #594706;
}

.page-link-card.is-featured h3 { color: #1c1b18; }
.page-link-card.is-featured p:not(.card-label) { color: #5e584f; }
.page-link-card.is-featured .page-link-cta { color: #665106; }

.editorial-scene-card {
  color: #1a1a1a;
  border-color: rgba(35, 31, 26, 0.12);
  background: #ffffff;
  box-shadow: var(--shadow-soft);
}

.editorial-scene-copy {
  background: linear-gradient(180deg, #ffffff 0%, #f8f2e7 100%);
}

.editorial-scene-copy h3 { color: #1d1c19; }
.editorial-scene-copy p:last-child { color: #5f594f; }
.editorial-scene-copy .card-label { color: #705a08; }

/* Deliberately dark call-to-action surface: keep every line high-contrast. */
.home-cta-card,
.home-cta-card h2,
.home-cta-card strong { color: #f8f5ee; }
.home-cta-card p { color: #ded8cd; }
.home-cta-card .eyebrow { color: #f0d65c; }

.hero-panel p,
.hero-floating-card p,
.page-intro-card p,
.service-card p,
.about-value p,
.reference-card p,
.catalog-card p,
.contact-card p,
.contact-item p { color: #68635b; }

.hero-floating-card p,
.hero-floating-card p:last-child { color: #5f594f; }

.button-secondary,
.button-tertiary {
  border-color: rgba(35,31,26,.16);
  background: #fff;
  color: #24211d;
}

.site-footer {
  color: #f7f5ef;
  border-top-color: rgba(207,181,59,.25);
  background: #171717;
}
.site-footer h2, .site-footer p, .site-footer a { color: #f3efe5; }

/* Atelier: keep the preview readable while changing the application shell to cream. */
.atelier-heading h2 { color: #191919; }
.preview-shell {
  border-color: rgba(35,31,26,.12);
  background: rgba(255,255,255,.96);
  box-shadow: var(--shadow);
}
.preview-header { border-bottom-color: rgba(35,31,26,.1); }
.preview-header h3, .preview-caption strong { color: #1c1c1c; }
.preview-reference-chip {
  border-color: rgba(154,129,32,.22);
  background: #f5efe2;
  color: #514a3e;
}
.view-toggle .chip { border-color: rgba(35,31,26,.14); background: #f4f0e8; color: #3b3731; }
.view-toggle .chip.is-active { border-color: #cfb53b; background: #cfb53b; color: #111; }
.preview-caption p { color: #6f6a61; }

.control-panel {
  color: #1a1a1a;
  border-color: rgba(35,31,26,.12);
  background: rgba(255,253,248,.98);
  box-shadow: var(--shadow);
}
.control-panel-intro {
  border-bottom-color: rgba(35,31,26,.1);
  background: linear-gradient(#fffdf8 86%, transparent);
}
.control-panel-intro h3, .atelier-step-toggle { color: #1d1c19; }
.control-panel .control-heading h3 { color: #1d1c19; }
.control-panel-hint { color: #746f67; }
.atelier-step { border-color: rgba(35,31,26,.11); background: #fff; }
.atelier-step.is-open { border-color: rgba(154,129,32,.45); }
.atelier-step-toggle:hover { background: #faf6ed; }
.atelier-step-toggle small { color: #8a857c; }
.atelier-step .surface-browser { border-color: rgba(35,31,26,.1); background: #f8f4eb; }
.atelier-step .surface-brand-tab { border-color: rgba(35,31,26,.12); background: #fff; color: #655f56; }
.atelier-step .surface-brand-tab.is-active { background: #cfb53b; color: #111; }
.atelier-step .surface-search-input { border-color: rgba(35,31,26,.14); background: #fff; color: #1a1a1a; }
.atelier-step .surface-search > span { color: #60594f; font-weight: 700; }
.atelier-step .surface-selected { border-color: rgba(35,31,26,.1); background: #fff; }
.surface-selected-copy strong, .surface-card-copy strong { color: #211f1c; }
.surface-selected-copy p, .surface-card-copy span { color: #756f65; }
.surface-card { border-color: rgba(35,31,26,.1); background: #fff; color: #1a1a1a; }
.surface-card:hover, .surface-card.is-active { border-color: #b99e2f; background: #fffdf7; }
.atelier-step .chip-group .chip { border-color: rgba(35,31,26,.12); background: #fff; color: #2b2925; }
.atelier-step .chip-group .chip.is-active { border-color: #cfb53b; background: #f5e9a8; color: #1a1a1a; }
.atelier-step-state,
.atelier-step:not(.is-open) .atelier-step-number,
.surface-selected-copy .card-label,
.control-panel .card-label,
.preview-shell .card-label,
.contact-card .eyebrow,
.atelier-heading .eyebrow { color: #79630f; }

/* Labels placed directly over the dark 3D scene need a light accent. */
.preview-stage-3d-spotlight .card-label { color: #f0d65c; }

body:has(.atelier-site-header) .page-intro-card p,
body:has(.atelier-site-header) .control-panel-hint,
body:has(.atelier-site-header) .surface-selected-copy p,
body:has(.atelier-site-header) .contact-card p { color: #625c53; }

body:has(.atelier-site-header) .page-intro-card .eyebrow,
body:has(.atelier-site-header) .atelier-heading .eyebrow,
body:has(.atelier-site-header) .preview-shell .card-label,
body:has(.atelier-site-header) .control-panel .card-label,
body:has(.atelier-site-header) .contact-card .eyebrow,
body:has(.atelier-site-header) .surface-selected-copy .card-label,
body:has(.atelier-site-header) .atelier-step-state,
body:has(.atelier-site-header) .atelier-step:not(.is-open) .atelier-step-number {
  color: #79630f;
}

body:has(.atelier-site-header) .surface-search > span { color: #5f594f; }
body:has(.atelier-site-header) .preview-stage-3d-spotlight .card-label { color: #f0d65c; }
.surface-grid, .control-panel { scrollbar-color: rgba(154,129,32,.45) rgba(35,31,26,.06); }

@media (max-width: 760px) {
  .control-panel-intro { background: transparent; }
  .atelier .preview-shell { background: #fff; }
}
