/* Lamaze Elegance — base styles */

@font-face {
  font-family: "Bodoni Moda";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: local("Bodoni Moda Italic");
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--c-petal);
  color: var(--c-ink);
  font-family: var(--f-body);
  font-size: var(--t-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--c-burgundy); outline-offset: 2px; }
[aria-hidden="true"] { pointer-events: none; }

.lamaze-container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--page-pad-mobile);
  padding-right: var(--page-pad-mobile);
}
@media (min-width: 1024px) {
  .lamaze-container { padding-left: var(--page-pad-desktop); padding-right: var(--page-pad-desktop); }
}

.lamaze-section {
  padding-top: var(--section-pad-mobile);
  padding-bottom: var(--section-pad-mobile);
}
@media (min-width: 1024px) {
  .lamaze-section { padding-top: var(--section-pad-desktop); padding-bottom: var(--section-pad-desktop); }
}

.bg-petal   { background: var(--c-petal); }
.bg-cream   { background: var(--c-cream); }
.bg-ivory   { background: var(--c-ivory); }
.bg-burgundy-deep { background: var(--c-burgundy-deep); color: var(--c-pink); }
.bg-pink    { background: var(--c-pink); }

.eyebrow {
  font-size: var(--t-eyebrow);
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--c-burgundy);
  font-weight: 600;
}

/* The brand voice line — bold roman top + italic 500 bottom in burgundy */
.brand-headline { font-family: var(--f-display); font-weight: 800; letter-spacing: -2px; line-height: 0.95; margin: 0; color: var(--c-burgundy-deep); }
.brand-headline em,
.brand-headline .accent { font-style: italic; font-weight: 500; color: var(--c-burgundy); }
.brand-headline.on-dark { color: var(--c-ivory); }
.brand-headline.on-dark em { color: var(--c-pink); }

.script-accent { font-family: var(--f-script); font-style: normal; }

.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;
}

.skip-link {
  position: absolute; left: -9999px; top: 0; background: var(--c-burgundy-deep); color: var(--c-pink);
  padding: 12px 20px; z-index: 999; border-radius: 0 0 var(--r-md) 0;
}
.skip-link:focus { left: 0; }
