/* Homepage layout from Sally's supplied references. Shared pages are unaffected. */
.home .hero-copy .action { border-radius:8px; background:#0B7A85; border-color:#0B7A85; color:#fff; }
.home .hero-copy .action:hover { background:#075c64; border-color:#075c64; color:#fff; }
.home .desktop-nav { gap:25px; }
.home .desktop-nav a:last-child { color:#eadde4; }

/* Three substantial offer panels: consistent structure, distinct brand colours. */
.home .offers { width:min(1380px,calc(100% - 64px)); padding-block:130px 140px; }
.home .offers > h2 { text-align:center; font-family:var(--serif); font-size:clamp(2.4rem,3.8vw,3.8rem); font-weight:400; line-height:1.1; margin:0 0 64px; letter-spacing:-.025em; color:var(--ink); }
.home .offer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.home .offer {
  display:flex; flex-direction:column; align-items:center;
  padding:42px 30px 34px; border:0; border-radius:0;
  text-align:center; min-height:650px;
}
.home .offer-1 { background:#F1F2EE; color:#2F4858; }
.home .offer-2 { background:#F1F2EE; color:#2F4858; }
.home .offer-3 { background:#F1F2EE; color:#2F4858; }
.home .offer-top { width:100%; min-height:135px; margin:0 0 24px; border:0; }
.home .offer h3 { font-family:var(--serif); font-size:clamp(1.65rem,2.4vw,2.3rem); font-weight:400; font-style:normal; line-height:1.13; letter-spacing:-.025em; margin:0 0 20px; }
.home .price { font-size:.9rem; margin:0; color:inherit; }
.home .offer .offer-lead { font-family:var(--serif); font-size:1.55rem; line-height:1.3; max-width:28ch; margin:0 0 22px; }
.home .offer > p:not(.offer-lead) { font-size:1rem; line-height:1.65; max-width:35ch; margin:0 0 22px; }
.home .offer > p:last-of-type { margin-bottom:32px; }
.home .text-link {
  display:inline-flex; align-items:center; justify-content:center;
  margin-top:auto; padding:14px 19px; min-height:50px; max-width:100%;
  font-size:.75rem; font-weight:700; line-height:1.45; letter-spacing:.04em;
  border:1px solid #0B7A85; border-radius:6px; background:#0B7A85; color:#fff;
  text-decoration:none;
}
.home .offer-1 .text-link { background:#0B7A85; border-color:#0B7A85; color:#fff; }
.home .text-link:hover { background:#075c64; border-color:#075c64; color:#fff; }
.home .offer-1 .text-link:hover { background:#075c64; border-color:#075c64; color:#fff; }

/* The family photograph gives the motherhood section its own editorial scale. */
.home .motherhood {
  width:min(1280px,calc(100% - 96px)); grid-template-columns:minmax(0,57fr) minmax(0,43fr);
  gap:clamp(40px,5vw,80px); align-items:center; border:0; border-top:2px solid #c4a7b9; padding-block:130px 140px; background:#FAF9F7;
}
.home .motherhood > div { padding:0; }
.home .family-photo { grid-column:2; grid-row:1; }
.home .motherhood-copy { grid-column:1; grid-row:1; }
.home .family-photo img { width:100%; height:auto; }
.home .motherhood h2 { font-size:clamp(2rem,2.7vw,2.65rem); line-height:1.2; margin:0 0 30px; }
.home .motherhood .motherhood-copy > p { max-width:53ch; font-family:var(--body); font-size:1.0625rem; line-height:1.7; color:var(--ink); }
.home .motherhood .motherhood-copy > .motherhood-highlight { font-family:var(--serif); font-size:clamp(1.8rem,2.4vw,2.3rem); line-height:1.23; margin-block:30px; color:var(--mauve); }
/* A smaller personal photograph and a comfortable reading measure for Sally's introduction. */
.home .about { width:min(1080px,calc(100% - 96px)); grid-template-columns:340px minmax(0,1fr); gap:92px; align-items:center; border:0; border-top:2px solid #c4a7b9; padding-block:130px 150px; background:#eef3f4; }
.home .portrait { width:340px; max-width:100%; margin:0 0 0 -22px; }
.home .portrait img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border-radius:0; }
.home .about > div > p:first-of-type { font-size:clamp(1.8rem,2.4vw,2.25rem); line-height:1.24; margin-bottom:30px; }
.home .about > div > p:not(:first-of-type) { font-size:1rem; line-height:1.75; }
.home .about-more { border-top:0; margin-top:18px; padding-top:4px; }
.home .about-more summary { display:inline-block; padding:10px 0; border-bottom:1px solid #a58c9c; }
@media(max-width:1050px) {
  .home .desktop-nav { gap:16px; font-size:.82rem; }
  .home .offers { width:calc(100% - 40px); }
  .home .offer-grid { gap:14px; }
  .home .offer { padding:32px 21px; }
  .home .offer-top { min-height:125px; }
  .home .offer .offer-lead { font-size:1.4rem; }
  .home .offer > p:not(.offer-lead) { font-size:.95rem; }
  .home .text-link { padding:12px; font-size:.7rem; }
  .home .motherhood { width:calc(100% - 64px); gap:36px; }
  .home .about { width:calc(100% - 64px); grid-template-columns:300px minmax(0,1fr); gap:56px; }
  .home .portrait { width:300px; margin:0; }
}
@media(max-width:760px) and (min-width:651px) {
  .home .brand-header { flex-wrap:wrap; justify-content:center; gap:0; }
  .home .desktop-nav { justify-content:center; flex-wrap:wrap; }
}
@media(max-width:760px) {
  .home .offers { width:calc(100% - 40px); padding-block:80px 90px; }
  .home .offers > h2 { font-size:2.4rem; margin-bottom:42px; }
  .home .offer-grid { grid-template-columns:1fr; gap:20px; }
  .home .offer { min-height:0; padding:34px 26px; }
  .home .offer-top { min-height:0; margin-bottom:24px; }
  .home .offer h3 { font-size:2rem; max-width:18ch; margin-inline:auto; }
  .home .offer .offer-lead { font-size:1.6rem; max-width:26ch; }
  .home .offer > p:not(.offer-lead) { font-size:1rem; }
  .home .text-link { font-size:.75rem; padding:14px 20px; }
  .home .motherhood { width:calc(100% - 40px); grid-template-columns:1fr; gap:40px; padding-block:80px 90px; }
  .home .motherhood h2 { font-size:2.1rem; margin-bottom:24px; }
  .home .motherhood .motherhood-copy > .motherhood-highlight { font-size:1.9rem; margin-block:26px; }
  .home .family-photo { max-width:520px; grid-column:1; grid-row:1; }
  .home .motherhood-copy { grid-column:1; grid-row:2; }
  .home .about { width:calc(100% - 40px); grid-template-columns:1fr; gap:36px; padding-block:80px 100px; }
  .home .portrait { width:min(340px,100%); margin:0 auto; }
  .home .about > div > p:first-of-type { font-size:1.8rem; }
}

/* Full-width colour bands distinguish the homepage sections. */
.home main { overflow-x:clip; }
.home .offers, .home .motherhood, .home .about { position:relative; isolation:isolate; border-top:0; }
.home .offers { --section-background:#fdfdfc; }
.home .motherhood { --section-background:#FAF9F7; }
.home .about { --section-background:#eef3f4; }
.home .offers::before, .home .motherhood::before, .home .about::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:var(--section-background);
  box-shadow:0 0 0 100vmax var(--section-background);
  clip-path:inset(0 -100vmax); pointer-events:none;
}
.home .offers > h2::after {
  content:""; display:block; width:96px; height:3px;
  margin:28px auto 0; background:var(--mauve);
}
/* Only the colour backing is angled; the personal photograph stays upright. */
.home .portrait { position:relative; isolation:isolate; }
.home .portrait::before {
  content:""; position:absolute; inset:-12px -14px;
  background:#C89B73; transform:rotate(-6deg); z-index:-1;
  pointer-events:none;
}
@media(max-width:760px) {
  .home .offers > h2::after { width:76px; margin-top:22px; }
  .home .portrait { width:min(300px,calc(100% - 32px)); margin:12px auto 18px; }
  .home .portrait::before { inset:-10px; transform:rotate(-5deg); }
}

/* Homepage links follow the requested teal with visible link and focus cues. */
.home main a:not(.action):not(.text-link) { color:#0FA3B1; text-decoration:underline; text-underline-offset:3px; }
.home main a:not(.action):not(.text-link):hover { color:#075c64; text-decoration-thickness:2px; }
.home main a:not(.action):not(.text-link):focus-visible,
.home .action:focus-visible, .home .text-link:focus-visible { outline:3px solid #2F4858; outline-offset:4px; }
.home .offer-1 { background:#F1F2EE; color:#2F4858; }
.home .offer-2, .home .offer-3 { background:#F1F2EE; color:#2F4858; }
.home .motherhood { background:#FAF9F7; }
.home .about { background:#eef3f4; }
.home .portrait::before { background:#C89B73; }
.home .offers > h2 { color:#83677B; }
.home .offers > h2::after { background:#2F4858; }
.home .offer-1 .price { font-size:1.15rem; }
.home .portrait::before { background:#2F4858; }


/* Homepage type and action hierarchy refinements. */
.home .offer .text-link,
.home .offer-1 .text-link,
.home .offer-2 .text-link,
.home .offer-3 .text-link { background:#2F4858; border-color:#2F4858; color:#fff; }
.home .offer .text-link:hover,
.home .offer-1 .text-link:hover,
.home .offer-2 .text-link:hover,
.home .offer-3 .text-link:hover { background:#203642; border-color:#203642; color:#fff; }
.home .offer h3 { color:#2F4858; }
.home .offer .offer-lead { font-size:1.68rem; line-height:1.38; }
@media(max-width:1050px) { .home .offer .offer-lead { font-size:1.52rem; } }
@media(max-width:760px) { .home .offer .offer-lead { font-size:1.7rem; line-height:1.38; } }
.home .motherhood h2 { color:#2F4858; }
.home .motherhood .motherhood-copy > .motherhood-highlight { font-size:clamp(2rem,2.6vw,2.5rem); line-height:1.32; margin-block:40px; font-style:italic; }
@media(max-width:760px) { .home .motherhood .motherhood-copy > .motherhood-highlight { font-size:2rem; margin-block:34px; } }
.home .about .about-accent { color:var(--mauve); font-family:var(--serif); font-style:italic; }

/* Warm editorial offer panels; shared text slots keep each panel aligned. */
.home .offer-1 { background:#FFF0E1; }
.home .offer-2 { background:#FFF3D8; }
.home .offer-3 { background:#FCEBE5; }
.home .offer-1, .home .offer-2, .home .offer-3 { color:#353535; }
.home .offer h3 {
  color:#262626;
  font-family:var(--body);
  font-size:.92rem;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin:0 0 20px;
}
.home .offer-top { min-height:135px; }
.home .offer .price { color:#262626; }
.home .offer .offer-lead {
  color:#262626;
  font-family:var(--serif);
  font-size:clamp(1.8rem,2.3vw,2.25rem);
  font-weight:400;
  line-height:1.2;
  min-height:3.6em;
  margin:0 0 22px;
}
.home .offer > p:not(.offer-lead) { color:#353535; }
.home .offer .text-link,
.home .offer-1 .text-link,
.home .offer-2 .text-link,
.home .offer-3 .text-link {
  align-self:center;
  background:transparent;
  border:0;
  border-radius:0;
  color:#262626;
  min-height:0;
  padding:14px 0 5px;
  text-decoration:underline;
  text-decoration-color:#262626;
  text-underline-offset:7px;
  text-decoration-thickness:1px;
}
.home .offer .text-link:hover,
.home .offer-1 .text-link:hover,
.home .offer-2 .text-link:hover,
.home .offer-3 .text-link:hover {
  background:transparent;
  border-color:transparent;
  color:#262626;
  text-decoration-thickness:2px;
}
@media(max-width:760px) {
  .home .offer h3 { font-size:.92rem; }
  .home .offer .offer-lead { font-size:1.85rem; min-height:3.6em; }
}


/* Option 2: bold contemporary offer panels and an editorial motherhood headline. */
.home .offer-1 { background:#EDF2EF; }
.home .offer-2 { background:#FDE6B7; }
.home .offer-3 { background:#F7DEDA; }
.home .offer-1, .home .offer-2, .home .offer-3 { color:#2F4858; }
.home .offer h3 { color:#2F4858; }
.home .offer .price { color:#2F4858; }
.home .offer .offer-lead { color:#2F4858; }
.home .offer > p:not(.offer-lead) { color:#2F4858; }
.home .offer .text-link,
.home .offer-1 .text-link,
.home .offer-2 .text-link,
.home .offer-3 .text-link {
  background:#2F4858;
  border:1px solid #2F4858;
  border-radius:5px;
  color:#fff;
  min-height:48px;
  padding:12px 18px;
  text-decoration:none;
}
.home .offer .text-link:hover,
.home .offer-1 .text-link:hover,
.home .offer-2 .text-link:hover,
.home .offer-3 .text-link:hover {
  background:#203642;
  border-color:#203642;
  color:#fff;
}
.home .motherhood h2 .motherhood-primary,
.home .motherhood h2 .motherhood-secondary { display:block; }
.home .motherhood h2 .motherhood-secondary { margin-top:.18em; }
.home .motherhood h2 .motherhood-secondary em {
  color:var(--mauve);
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
}
.home .family-photo { background:transparent; box-shadow:none; border:0; }
.home .family-photo::before,
.home .family-photo::after { content:none; display:none; }


/* Latest homepage colour and photography refinements. */
.home .offer-1 { background:#fdf0d4; }
.home .offer-2 { background:#fce8e5; }
.home .offer-3 { background:#eef3ef; }
.home .offers > h2 { color:#2F4858; }
.home .motherhood-label { color:#2F4858; margin:0 0 12px; }
.home .motherhood h2 .motherhood-secondary em {
  color:#755368;
  font-family:'Caveat',cursive;
  font-size:1.18em;
  font-style:normal;
  font-weight:500;
  line-height:1;
}
.home .family-photo { position:relative; isolation:isolate; }
.home .family-photo::before {
  content:"";
  display:block;
  position:absolute;
  z-index:1;
  width:108%;
  height:98%;
  top:-7%;
  right:-5%;
  border-radius:50% 46% 54% 42% / 43% 48% 52% 57%;
  background:#D9DDDB;
}
.home .family-photo img {
  position:relative;
  z-index:2;
  clip-path:none;
  border-radius:44% 7% 6% 34% / 18% 10% 8% 16%;
  transform:none;
}

.home .motherhood .motherhood-copy > .motherhood-body {
  font-family:Nunito,Arial,sans-serif;
}
.home .motherhood .motherhood-copy > .motherhood-highlight {
  color:#755368;
  font-family:Fraunces,var(--serif);
}

.home .motherhood .motherhood-copy > .motherhood-body {
  font-family:'Nunito',Arial,sans-serif;
  font-style:normal;
}
.home .motherhood .motherhood-copy > .motherhood-highlight {
  color:#755368;
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(2.45rem,3vw,2.8rem);
  font-style:italic;
  font-weight:400;
  line-height:1.2;
  margin-block:42px;
}
@media(max-width:760px) {
  .home .motherhood .motherhood-copy > .motherhood-highlight {
    font-size:2.1rem;
    margin-block:34px;
  }
}


/* Explicit paragraph classes prevent the eyebrow label shifting typography targets. */
.home .motherhood .motherhood-copy > p.motherhood-body {
  color:var(--ink);
  font-family:'Nunito',Arial,sans-serif;
  font-size:1.0625rem;
  font-style:normal;
  font-weight:400;
  line-height:1.7;
  margin:0 0 1.2em;
}
.home .motherhood .motherhood-copy > p.motherhood-highlight {
  color:#755368;
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(2.45rem,3vw,2.8rem);
  font-style:italic;
  font-weight:400;
  line-height:1.2;
  margin-block:42px;
}
@media(max-width:760px) {
  .home .motherhood .motherhood-copy > p.motherhood-highlight {
    font-size:2.1rem;
    margin-block:34px;
  }
}
.home .motherhood .motherhood-copy > p.motherhood-label {
  color:#2F4858;
  font:700 .75rem/1.5 'Nunito',Arial,sans-serif;
  letter-spacing:.14em;
  margin:0 0 12px;
  max-width:none;
}

/* Preview the body copy in true black while keeping editorial accents intact. */
.home .motherhood .motherhood-copy > p.motherhood-body,
.home .motherhood .motherhood-copy > p:last-of-type,
.home .about > div > p:not(:first-of-type),
.home .about-more p { color:#000; }
.home .motherhood .motherhood-copy > p.motherhood-body,
.home .motherhood .motherhood-copy > p:last-of-type,
.home .about > div > p:not(:first-of-type),
.home .about-more p { font-size:1.125rem; }
@media(max-width:760px) {
  .home .motherhood .motherhood-copy > p.motherhood-body,
  .home .motherhood .motherhood-copy > p:last-of-type,
  .home .about > div > p:not(:first-of-type),
  .home .about-more p { font-size:1.0625rem; }
}
.home .about-more summary {
  color:#755368;
  font-size:1rem;
}

/* Small spacing and scale adjustment for the three homepage offer panels. */
.home .offers { width:min(1440px,calc(100% - 48px)); }
.home .offer-grid { gap:26px; }
.home .offer h3 { font-size:1rem; }
.home .offer-top { min-height:130px; margin-bottom:20px; }
@media(max-width:1050px) {
  .home .offers { width:calc(100% - 32px); }
  .home .offer-grid { gap:20px; }
}
@media(max-width:760px) {
  .home .offers { width:calc(100% - 40px); }
  .home .offer-grid { gap:20px; }
  .home .offer h3 { font-size:1rem; }
  .home .offer-top { min-height:0; margin-bottom:20px; }
}

/* Requested homepage copy and body text refinements. */
.home .family-photo::before { content:none; display:none; }
.home .offer > p:not(.offer-lead),
.home .motherhood .motherhood-copy > p.motherhood-body,
.home .motherhood .motherhood-copy > p:last-of-type,
.home .about > div > p:not(:first-of-type),
.home .about-more p { color:#2F4858; }
.home .about > div > p:not(:first-of-type),
.home .about-more p {
  font-size:1.1875rem;
  line-height:1.8;
  margin-bottom:1.5em;
}
@media(max-width:760px) {
  .home .about > div > p:not(:first-of-type),
  .home .about-more p { font-size:1.125rem; }
}

/* One-step increase for homepage Nunito/Arial body copy. */
.home .hero-copy > p:not(.eyebrow) { font-size:1.1625rem; }
.home .offer > p:not(.offer-lead) { font-size:1.0625rem; }
.home .motherhood .motherhood-copy > p.motherhood-body,
.home .motherhood .motherhood-copy > p:last-of-type { font-size:1.1875rem; }
.home .about > div > p:not(:first-of-type),
.home .about-more p { font-size:1.25rem; }
@media(max-width:1050px) {
  .home .offer > p:not(.offer-lead) { font-size:1rem; }
}
@media(max-width:760px) {
  .home .hero-copy > p:not(.eyebrow) { font-size:1.0625rem; }
  .home .offer > p:not(.offer-lead) { font-size:1.0625rem; }
  .home .motherhood .motherhood-copy > p.motherhood-body,
  .home .motherhood .motherhood-copy > p:last-of-type { font-size:1.125rem; }
  .home .about > div > p:not(:first-of-type),
  .home .about-more p { font-size:1.1875rem; }
}

/* Swap the two motherhood headline accents as requested. */
.home .motherhood h2 .motherhood-secondary em {
  color:#2F4858;
  font-family:'Fraunces',Georgia,serif;
  font-style:normal;
  font-weight:400;
}
.home .motherhood .motherhood-copy > p.motherhood-highlight {
  color:#755368;
  font-family:'Caveat',cursive;
  font-size:clamp(2.6rem,3.2vw,3rem);
  font-style:normal;
  font-weight:500;
  line-height:1.1;
}
@media(max-width:760px) {
  .home .motherhood .motherhood-copy > p.motherhood-highlight { font-size:2.35rem; }
}
.home .motherhood h2 .motherhood-primary,
.home .motherhood h2 .motherhood-secondary {
  font-size:1em;
}
.home .motherhood h2 .motherhood-secondary { margin-top:.32em; }
.home .motherhood h2 .motherhood-secondary em { font-size:1em; }
.home .about .about-accent { color:#755368; }
.home .motherhood .motherhood-copy > p.motherhood-label {
  font-size:1.1875rem;
  margin-bottom:56px;
  text-decoration:underline;
  text-decoration-color:#2F4858;
  text-decoration-thickness:1px;
  text-underline-offset:6px;
}
.home .motherhood { column-gap:clamp(64px,7vw,108px); }
@media(max-width:1050px) {
  .home .motherhood { column-gap:56px; }
}
@media(max-width:760px) {
  .home .motherhood { column-gap:0; }
}

/* Additional body-copy scale and offer-panel height requested for the homepage. */
.home .motherhood h2 .motherhood-secondary { margin-top:.55em; }
.home .offer { min-height:700px; }
.home .hero-copy > p:not(.eyebrow) { font-size:1.225rem; }
.home .offer > p:not(.offer-lead) { font-size:1.125rem; }
.home .offer .offer-lead { margin-bottom:46px; }
.home .motherhood .motherhood-copy > p.motherhood-body,
.home .motherhood .motherhood-copy > p:last-of-type { font-size:1.3125rem; }
.home .about > div > p:not(:first-of-type),
.home .about-more p { font-size:1.3125rem; }
@media(max-width:1050px) {
  .home .offer { min-height:680px; }
  .home .offer > p:not(.offer-lead) { font-size:1.0625rem; }
}
@media(max-width:760px) {
  .home .offer { min-height:0; }
  .home .hero-copy > p:not(.eyebrow) { font-size:1.125rem; }
  .home .offer > p:not(.offer-lead) { font-size:1.125rem; }
  .home .motherhood .motherhood-copy > p.motherhood-body,
  .home .motherhood .motherhood-copy > p:last-of-type { font-size:1.25rem; }
  .home .about > div > p:not(:first-of-type),
  .home .about-more p { font-size:1.25rem; }
}
