/*
Theme Name: Little Mama Wren Child
Theme URI: https://littlemamawren.com/
Author: Little Mama Wren
Author URI: https://littlemamawren.com/
Description: Custom child theme for the Little Mama Wren rebrand. Parent theme: GeneratePress (free). Carries the LMW design system: bone/linen/mushroom/espresso/forest/porcelain/sage/bark palette, IM Fell English headings, Crimson Pro body, and the eight approved site components rebuilt as Gutenberg block patterns.
Version: 1.0.22
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lmw-child
Template: generatepress
*/

/* ============================================================
   FONTS — self-hosted, no CDN. Both fonts are free
   (SIL Open Font License 1.1). Files live in /fonts/.
   ============================================================ */
@font-face{
  font-family:'IM Fell English';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/im-fell-english-400.woff2') format('woff2');
}
@font-face{
  font-family:'IM Fell English';font-style:italic;font-weight:400;font-display:swap;
  src:url('fonts/im-fell-english-italic-400.woff2') format('woff2');
}
@font-face{
  font-family:'Crimson Pro';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/crimson-pro-400.woff2') format('woff2');
}
@font-face{
  font-family:'Crimson Pro';font-style:italic;font-weight:400;font-display:swap;
  src:url('fonts/crimson-pro-italic-400.woff2') format('woff2');
}
@font-face{
  font-family:'Crimson Pro';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/crimson-pro-600.woff2') format('woff2');
}
@font-face{
  font-family:'Crimson Pro';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/crimson-pro-700.woff2') format('woff2');
}

/* ============================================================
   DESIGN TOKENS — the approved LMW palette
   ============================================================ */
:root{
  --bone:#E9E2D3;
  --linen:#EBEAE3;
  --mushroom:#A7A198;
  --espresso:#4F2B2B;
  --forest:#4A5940;
  --porcelain:#5691A4;
  --sage:#879A86;
  --bark:#35180B;
  --radius-card:18px;
  --radius-pill:999px;
  --shadow-soft:0 10px 24px rgba(74,89,64,.10);
  --shadow-lift:0 18px 34px rgba(74,89,64,.16);
  --maxw:1200px;
  --measure:720px;
}

/* Body copy: 20px desktop + mobile (stepped up 2026-10-15 — body text was reading small).
   NOTE: this stays on `body`, never on `html` — rem-based component sizes
   in the prototypes were tuned against a 16px root. Putting it on `html`
   inflates every rem size site-wide (the v1.0.x oversizing bug). */
html{font-size:16px}

/* `html body` (0,0,2) deterministically beats GeneratePress's Customizer
   `body` background rule (0,0,1), which prints after the child stylesheet. */
html body{
  background:var(--bone);
  color:var(--bark);
  font-family:'Crimson Pro',Georgia,serif;
  font-size:20px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
@media(max-width:600px){html body{font-size:20px}}

/* ---------- Base typography ---------- */
h1,h2,h3,h4,h5,h6{
  font-family:'IM Fell English','Times New Roman',serif;
  font-weight:400;
  color:var(--forest);
  line-height:1.2;
}
p{margin:0 0 1.2em}
a{color:var(--forest)}
img{max-width:100%;height:auto}

/* Eyebrow labels: bolded, small, tight letter-spacing, kept quiet */
.eyebrow,.lmw-eyebrow{
  font-family:'Crimson Pro',serif;
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--forest);
  margin-bottom:14px;
}

/* Utility: hide the automatic page title.
   Use: Page editor → Settings (right sidebar) → Page tab → Advanced →
   "Additional CSS class(es)" → add: lmw-hide-title */
.lmw-hide-title .entry-title{display:none}

/* Accent text / subheadings: IM Fell English italic */
.lmw-accent{
  font-family:'IM Fell English',serif;
  font-style:italic;
  font-weight:400;
}

/* Section rhythm: 96px desktop / 64px mobile */
.lmw-section{padding-top:96px;padding-bottom:96px}
@media(max-width:640px){.lmw-section{padding-top:64px;padding-bottom:64px}}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
@media(max-width:640px){.wrap{padding:0 20px}}

/* ============================================================
   BUTTONS — hover is color-change ONLY (no lift/pop)
   primary: forest bg + linen text -> sage bg + bark text
   secondary: espresso bg -> bark bg
   ============================================================ */
.btn{
  display:inline-block;
  font-family:'IM Fell English',serif;
  font-weight:400;
  font-size:1.16rem;
  padding:13px 34px 14px;
  border-radius:var(--radius-pill);
  text-decoration:none;
  cursor:pointer;
  border:2px solid transparent;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--forest);color:var(--linen)}
.btn-primary:hover{background:var(--sage);color:var(--bark)}
.btn-secondary{background:var(--espresso);color:var(--linen)}
.btn-secondary:hover{background:var(--bark);color:var(--linen)}
.btn-outline{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn-outline:hover{background:var(--forest);color:var(--linen);border-color:var(--forest)}
.btn-sm{padding:10px 26px;font-size:1.06rem}

/* Gutenberg buttons — map the same styles onto core button blocks */
.wp-block-button.lmw-btn-primary .wp-block-button__link,
.wp-block-buttons .lmw-btn-primary .wp-block-button__link{
  background:var(--forest);color:var(--linen);
  font-family:'IM Fell English',serif;font-size:1.16rem;
  padding:13px 34px 14px;border-radius:var(--radius-pill);
  border:2px solid transparent;
  transition:background-color .2s ease,color .2s ease;
}
.wp-block-button.lmw-btn-primary .wp-block-button__link:hover,
.wp-block-buttons .lmw-btn-primary .wp-block-button__link:hover{
  background:var(--sage);color:var(--bark);
}
.wp-block-button.lmw-btn-secondary .wp-block-button__link,
.wp-block-buttons .lmw-btn-secondary .wp-block-button__link{
  background:var(--espresso);color:var(--linen);
  font-family:'IM Fell English',serif;font-size:1.16rem;
  padding:13px 34px 14px;border-radius:var(--radius-pill);
  border:2px solid transparent;
  transition:background-color .2s ease,color .2s ease;
}
.wp-block-button.lmw-btn-secondary .wp-block-button__link:hover,
.wp-block-buttons .lmw-btn-secondary .wp-block-button__link:hover{
  background:var(--bark);color:var(--linen);
}
.wp-block-button.lmw-btn-outline .wp-block-button__link,
.wp-block-buttons .lmw-btn-outline .wp-block-button__link{
  background:transparent;color:var(--forest);border:2px solid var(--forest);
  font-family:'IM Fell English',serif;font-size:1.16rem;
  padding:13px 34px 14px;border-radius:var(--radius-pill);
  transition:background-color .2s ease,color .2s ease;
}
.wp-block-button.lmw-btn-outline .wp-block-button__link:hover,
.wp-block-buttons .lmw-btn-outline .wp-block-button__link:hover{
  background:var(--forest);color:var(--linen);
}
.wp-block-button.lmw-btn-dark .wp-block-button__link,
.wp-block-buttons .lmw-btn-dark .wp-block-button__link{
  background:var(--mushroom);color:var(--bark);
  font-family:'IM Fell English',serif;font-size:1.16rem;
  padding:13px 34px 14px;border-radius:var(--radius-pill);
  transition:background-color .2s ease;
}
.wp-block-button.lmw-btn-dark .wp-block-button__link:hover,
.wp-block-buttons .lmw-btn-dark .wp-block-button__link:hover{
  background:var(--linen);color:var(--bark);
}

/* WordPress flow layout injects block-start margins between children — kill them
   inside our flex rows or items stagger vertically (v1.0.x nav/footer bug) */
.lmw-nav > *, .lmw-brand > *, .lmw-header-inner > *,
.lmw-footer-bottom > *, .lmw-hero-eyebrow > *, .lmw-card-meta > *,
.lmw-card-img > *, .lmw-card-body > *, .lmw-comingsoon > *,
.lmw-services-intro > *{
  margin-top:0;margin-bottom:0;
}

/* ============================================================
   COMPONENT: SITE HEADER
   ============================================================ */
.lmw-header{
  position:sticky;top:0;z-index:100;
  background:var(--bone);
  border-bottom:1px solid rgba(53,24,11,.12);
}
.lmw-header-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 32px;height:88px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.lmw-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--forest)}
/* Header button keeps a compact size so it can never overflow the 88px bar.
   (Needs to beat the general .lmw-btn-primary rule on specificity — v1.0.6 bug.) */
.lmw-header .wp-block-button{margin:0}
.lmw-header .wp-block-button.lmw-btn-primary .wp-block-button__link,
.lmw-header .wp-block-buttons .lmw-btn-primary .wp-block-button__link{font-size:1.08rem;line-height:1.3;padding:10px 26px}
.lmw-mark-wrap{width:78px;height:78px;flex:none;display:block}
.lmw-mark-img{margin:0}
.lmw-mark-img img{height:70px;width:auto;display:block}
.lmw-wordmark{
  font-family:'IM Fell English',serif;font-size:1.65rem;color:var(--forest);
  line-height:1.1;white-space:nowrap;
}
.lmw-wordmark small{
  display:block;font-family:'Crimson Pro',serif;font-weight:700;font-size:.7rem;
  letter-spacing:.24em;text-transform:uppercase;color:var(--mushroom);margin-top:2px;
}
.lmw-nav{display:flex;align-items:center;gap:30px}
.lmw-nav a.nl{
  font-weight:600;font-size:1.18rem;color:var(--bark);text-decoration:none;
  position:relative;padding:6px 0;transition:color .2s ease;
}
.lmw-nav a.nl::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:0;
  background:var(--forest);transition:width .2s ease;
}
.lmw-nav a.nl:hover{color:var(--forest)}
.lmw-nav a.nl:hover::after{width:100%}
.lmw-burger{display:none;background:none;border:0;cursor:pointer;padding:10px}
.lmw-burger span{display:block;width:26px;height:2px;background:var(--forest);margin:6px 0;transition:transform .2s ease,opacity .2s ease}
.lmw-mobile{display:none;border-top:1px solid rgba(53,24,11,.12);background:var(--linen);padding:12px 32px 24px}
.lmw-mobile a.nl{display:block;font-weight:600;font-size:1.15rem;color:var(--bark);text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(53,24,11,.08)}
.lmw-mobile .btn{margin-top:16px}
.lmw-header.open .lmw-mobile{display:block}
.lmw-header.open .lmw-burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.lmw-header.open .lmw-burger span:nth-child(2){opacity:0}
.lmw-header.open .lmw-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(max-width:900px){.lmw-header .lmw-nav{display:none}.lmw-burger{display:block}}
@media(max-width:600px){
  .lmw-wordmark{font-size:1.35rem}
  .lmw-wordmark small{display:none}
  .lmw-mark-wrap{width:62px;height:62px}
  .lmw-mark-img img{height:58px}
}

/* ============================================================
   COMPONENT: HERO (home)
   ============================================================ */
.lmw-hero-home{padding:80px 0 96px}
.lmw-hero-eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:18px;flex-wrap:wrap;padding:0 36px}
.lmw-hero-eyebrow::before,.lmw-hero-eyebrow::after{content:"";width:28px;height:1px;background:var(--forest);flex:none}
.lmw-hero-eyebrow span{font-weight:700;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--forest);text-align:center}
/* Script-style accent line — was Caveat in prototypes; IM Fell English
   italic per Becky's 2026-10-08 direction ("for now") */
.lmw-hero-script{
  font-family:'IM Fell English',serif;font-style:italic;font-weight:400;
  font-size:2.15rem;color:var(--porcelain);text-align:center;margin-bottom:4px;
}
.lmw-hero-home h1{
  font-family:'IM Fell English',serif;font-weight:400;font-size:3.5rem;
  line-height:1.12;color:var(--forest);text-align:center;
  max-width:860px;margin:0 auto 44px;padding:0 32px;
}
.lmw-hero-grid{
  max-width:1120px;margin:0 auto;display:grid;
  grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;padding:0 32px;
}
.lmw-hero-copy p{font-size:1.22rem;margin-bottom:16px;max-width:560px}
.lmw-hero-copy p strong{color:var(--forest)}
.lmw-hero-copy .btnrow{display:flex;flex-wrap:wrap;gap:16px;margin:28px 0 6px}
.lmw-hero-note{text-align:center;font-size:1.02rem;color:var(--bark);margin-top:18px}
.lmw-hero-note a{color:var(--forest)}
.lmw-portrait-wrap{position:relative;width:max-content;max-width:100%;margin:0 auto}
@media(min-width:601px){.lmw-portrait-wrap{margin-top:72px}}
.lmw-portrait-frame{
  position:absolute;top:50%;left:50%;width:370px;height:416px;
  transform:translate(-50%,-50%);z-index:0;
  background:url('assets/fern-frame.webp') center/contain no-repeat;
}
.lmw-portrait-photo{
  width:270px;height:270px;border-radius:50%;object-fit:cover;
  display:block;margin:0 auto;box-shadow:var(--shadow-soft);
  position:relative;z-index:1;
}
/* Page heroes (About / Blog / etc.) */
.lmw-hero-page{padding:88px 32px 72px;text-align:center}
.lmw-hero-page h1{font-family:'IM Fell English',serif;font-weight:400;font-size:3.1rem;color:var(--forest);margin:12px 0}
.lmw-hero-page p{max-width:640px;margin:0 auto;color:rgba(53,24,11,.75);font-size:1.25rem}
@media(max-width:860px){
  .lmw-hero-grid{grid-template-columns:1fr;gap:88px}
  .lmw-hero-home h1{font-size:3.2rem}
  .lmw-portrait-frame{width:329px;height:370px}
  .lmw-hero-page h1{font-size:2.35rem}
}

/* ============================================================
   COMPONENT: BLOG CARDS
   ============================================================ */
.lmw-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1120px;margin:0 auto;padding:0 32px}
.lmw-card{
  background:var(--linen);border-radius:var(--radius-card);overflow:hidden;
  box-shadow:var(--shadow-soft);transition:box-shadow .2s ease;
  display:flex;flex-direction:column;
}
.lmw-card:hover{box-shadow:var(--shadow-lift)}
.lmw-card-img{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,rgba(135,154,134,.5),rgba(167,161,152,.4));display:flex;align-items:center;justify-content:center}
.lmw-card-img span{font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(74,89,64,.75)}
.lmw-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.lmw-card-body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.lmw-card-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* Category chip: porcelain bg + linen text (2.9:1 — below the readability
   bar; bark at 4.65:1 is the approved fallback) */
.lmw-chip{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'IM Fell English',serif;font-size:.8rem;font-weight:400;
  letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;
  border-radius:var(--radius-pill);background:var(--porcelain);color:var(--linen);line-height:1;text-decoration:none;
}
.lmw-chip-bark{background:var(--bark);color:var(--linen)}
.lmw-card-date{font-size:.92rem;color:var(--mushroom)}
.lmw-card-title{font-family:'IM Fell English',serif;font-weight:400;font-size:1.6rem;line-height:1.25;color:var(--forest);margin:2px 0}
.lmw-card-title a{color:inherit;text-decoration:none}
.lmw-card-title a:hover{color:var(--porcelain)}
.lmw-card-excerpt{font-size:1.06rem;color:rgba(53,24,11,.78);flex:1}
.lmw-card-link{font-weight:600;color:var(--forest);text-decoration:underline;text-underline-offset:4px;align-self:flex-start}
.lmw-card-link:hover{color:var(--porcelain)}
@media(max-width:900px){.lmw-card-grid{grid-template-columns:1fr;max-width:520px}}

/* ============================================================
   COMPONENT: CTA BAND (forest crumpled-paper texture)
   ============================================================ */
.lmw-cta-band{
  background-color:var(--forest);
  background-image:url('assets/forest-crumpled-bg-v2.webp');
  background-size:cover;background-position:center;
  padding:128px 32px;text-align:center;
}
.lmw-cta-band .eyebrow{color:var(--linen)}
.lmw-cta-band h2{font-family:'IM Fell English',serif;font-weight:400;font-size:2.7rem;line-height:1.2;color:var(--linen);margin:16px auto;max-width:780px}
.lmw-cta-band p{color:var(--linen);max-width:620px;margin:0 auto 36px;font-size:1.15rem}
.lmw-cta-note{margin:24px 0 0;font-size:.95rem;opacity:.75}
@media(max-width:860px){.lmw-cta-band{padding:96px 24px}.lmw-cta-band h2{font-size:2.05rem}}

/* ============================================================
   COMPONENT: TESTIMONIAL (taped paper note)
   Latest design: torn-edge sage-linen paper note, tape corners.
   Note: parked per Becky — "I'll have to come back to that because
   it's not what I want." Included for completeness.
   ============================================================ */
.lmw-testimonial-band{background-color:var(--bone);padding:90px 24px;text-align:center;overflow:hidden}
.lmw-testimonial-band > .eyebrow{margin-bottom:50px}
.testimonial-note{position:relative;width:min(100%,650px);margin:0 auto}
.testimonial-paper{position:relative;width:100%;box-sizing:border-box;transform:rotate(-0.7deg)}
.paper-bg{
  position:absolute;inset:0;background-color:#879A86;
  background-image:url('assets/sage-linen-bg.webp');
  background-size:400px;background-repeat:repeat;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2C3.0%20L3.1%2C2.7%20L6.2%2C2.3%20L9.4%2C2.1%20L12.5%2C2.2%20L15.6%2C2.2%20L18.8%2C2.1%20L21.9%2C2.3%20L25.0%2C2.2%20L28.1%2C2.0%20L31.2%2C2.3%20L34.4%2C2.9%20L37.5%2C3.2%20L40.6%2C3.3%20L43.8%2C3.2%20L46.9%2C3.3%20L50.0%2C3.6%20L53.1%2C3.4%20L56.2%2C3.5%20L59.4%2C3.7%20L62.5%2C3.4%20L65.6%2C3.0%20L68.8%2C2.7%20L71.9%2C2.6%20L75.0%2C2.8%20L78.1%2C2.6%20L81.2%2C2.9%20L84.4%2C3.3%20L87.5%2C3.4%20L90.6%2C3.4%20L93.8%2C3.3%20L96.9%2C3.3%20L100.0%2C3.0%20L100%2C97.0%20L96.9%2C96.7%20L93.8%2C96.8%20L90.6%2C97.0%20L87.5%2C97.1%20L84.4%2C97.3%20L81.2%2C97.5%20L78.1%2C97.3%20L75.0%2C97.0%20L71.9%2C96.9%20L68.8%2C97.0%20L65.6%2C97.2%20L62.5%2C97.8%20L59.4%2C98.0%20L56.2%2C98.6%20L53.1%2C98.5%20L50.0%2C98.7%20L46.9%2C98.4%20L43.8%2C98.0%20L40.6%2C97.8%20L37.5%2C97.3%20L34.4%2C97.2%20L31.2%2C97.4%20L28.1%2C97.3%20L25.0%2C97.3%20L21.9%2C97.1%20L18.8%2C97.2%20L15.6%2C97.6%20L12.5%2C97.7%20L9.4%2C97.6%20L6.2%2C97.5%20L3.1%2C97.4%20L0.0%2C97.0%20Z%22%20fill%3D%22%23fff%22/%3E%3C/svg%3E");
  -webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2C3.0%20L3.1%2C2.7%20L6.2%2C2.3%20L9.4%2C2.1%20L12.5%2C2.2%20L15.6%2C2.2%20L18.8%2C2.1%20L21.9%2C2.3%20L25.0%2C2.2%20L28.1%2C2.0%20L31.2%2C2.3%20L34.4%2C2.9%20L37.5%2C3.2%20L40.6%2C3.3%20L43.8%2C3.2%20L46.9%2C3.3%20L50.0%2C3.6%20L53.1%2C3.4%20L56.2%2C3.5%20L59.4%2C3.7%20L62.5%2C3.4%20L65.6%2C3.0%20L68.8%2C2.7%20L71.9%2C2.6%20L75.0%2C2.8%20L78.1%2C2.6%20L81.2%2C2.9%20L84.4%2C3.3%20L87.5%2C3.4%20L90.6%2C3.4%20L93.8%2C3.3%20L96.9%2C3.3%20L100.0%2C3.0%20L100%2C97.0%20L96.9%2C96.7%20L93.8%2C96.8%20L90.6%2C97.0%20L87.5%2C97.1%20L84.4%2C97.3%20L81.2%2C97.5%20L78.1%2C97.3%20L75.0%2C97.0%20L71.9%2C96.9%20L68.8%2C97.0%20L65.6%2C97.2%20L62.5%2C97.8%20L59.4%2C98.0%20L56.2%2C98.6%20L53.1%2C98.5%20L50.0%2C98.7%20L46.9%2C98.4%20L43.8%2C98.0%20L40.6%2C97.8%20L37.5%2C97.3%20L34.4%2C97.2%20L31.2%2C97.4%20L28.1%2C97.3%20L25.0%2C97.3%20L21.9%2C97.1%20L18.8%2C97.2%20L15.6%2C97.6%20L12.5%2C97.7%20L9.4%2C97.6%20L6.2%2C97.5%20L3.1%2C97.4%20L0.0%2C97.0%20Z%22%20fill%3D%22%23fff%22/%3E%3C/svg%3E");
  mask-size:100% 100%;mask-repeat:no-repeat;
  filter:drop-shadow(4px 8px 18px rgba(53,24,11,.16));
}
.testimonial-content{position:relative;z-index:2;padding:clamp(70px,8vw,95px) clamp(35px,8vw,70px) clamp(60px,7vw,80px)}
.tape{position:absolute;z-index:5;width:115px;height:auto;filter:drop-shadow(0 2px 2px rgba(53,24,11,.12))}
.tape-a{top:-12px;left:35px;transform:rotate(-6deg)}
.tape-b{top:-10px;right:35px;transform:rotate(5deg)}
.testimonial-note .lmw-testimonial-mark{font-family:'IM Fell English',serif;font-size:4rem;line-height:.6;color:var(--bark);margin-bottom:25px}
.testimonial-note .lmw-testimonial-quote{font-family:'IM Fell English',serif;font-size:1.58rem;line-height:1.5;color:var(--bark);margin:0 0 24px}
.testimonial-note .lmw-testimonial-attr{font-weight:700;color:var(--bark)}
@media(max-width:600px){
  .lmw-testimonial-band{padding:70px 18px}
  .lmw-testimonial-band > .eyebrow{margin-bottom:40px}
  .testimonial-content{padding:60px 30px 50px}
  .tape{width:82px}
  .tape-a{top:-8px;left:18px}
  .tape-b{top:-6px;right:18px}
  .testimonial-note .lmw-testimonial-quote{font-size:1.25rem}
  .testimonial-note .lmw-testimonial-mark{font-size:3rem}
}

/* ============================================================
   COMPONENT: FEATURE LIST (services)
   ============================================================ */
.lmw-features{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;max-width:820px;margin:0 auto;padding:64px 32px 120px}
.lmw-feature{border-top:1px solid var(--mushroom);padding-top:24px}
.lmw-feature-num{font-family:'IM Fell English',serif;font-size:1.12rem;color:var(--porcelain);letter-spacing:.12em;margin-bottom:12px}
.lmw-feature h3{font-family:'IM Fell English',serif;font-weight:400;font-size:1.52rem;line-height:1.25;color:var(--forest);margin:0 0 10px}
.lmw-feature p{font-size:1.05rem;color:rgba(53,24,11,.78);margin:0}
.lmw-services-intro{max-width:680px;margin:0 auto;padding:48px 32px 0;text-align:center}
.lmw-services-intro h3{font-family:'IM Fell English',serif;font-weight:400;font-size:1.85rem;line-height:1.3;color:var(--forest);margin:0 0 12px}
.lmw-services-intro p{font-size:1.12rem;color:rgba(53,24,11,.78);margin:0}
@media(max-width:900px){.lmw-features{grid-template-columns:1fr;max-width:560px;padding:88px 32px}}

/* ============================================================
   COMPONENT: EMAIL SIGNUP
   ============================================================ */
.lmw-signup{max-width:700px;margin:0 auto;padding:0 32px 120px}
.lmw-signup-card{background:var(--linen);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);padding:56px 48px;text-align:center}
.lmw-signup-card h3{font-family:'IM Fell English',serif;font-weight:400;font-size:2.05rem;line-height:1.25;color:var(--forest);margin:12px 0}
.lmw-signup-card p{color:rgba(53,24,11,.78);max-width:480px;margin:0 auto 28px}
.lmw-signup-form{display:flex;gap:12px;max-width:520px;margin:0 auto}
.lmw-signup-form input{
  flex:1;min-width:0;font-family:'Crimson Pro',serif;font-size:1.06rem;color:var(--bark);
  background:transparent;border:2px solid var(--mushroom);border-radius:var(--radius-pill);
  padding:14px 24px;
}
.lmw-signup-form input::placeholder{color:var(--mushroom)}
.lmw-signup-form input:focus{outline:none;border-color:var(--forest)}
.lmw-signup-note{font-size:.9rem;color:var(--mushroom);margin-top:16px;margin-bottom:0}
@media(max-width:640px){.lmw-signup-form{flex-direction:column}.lmw-signup-card{padding:40px 28px}.lmw-signup-card h3{font-size:1.72rem}}

/* ============================================================
   COMPONENT: FOOTER (flat espresso, per her direction)
   ============================================================ */
.lmw-footer{background:var(--espresso);color:var(--linen);padding:96px 32px 32px}
.lmw-footer-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.lmw-footer-brand{font-family:'IM Fell English',serif;font-size:1.65rem;color:var(--linen);line-height:1.2}
.lmw-footer-tag{font-size:.95rem;color:var(--mushroom);margin-top:10px;max-width:270px;line-height:1.6}
.lmw-footer h4{font-family:'IM Fell English',serif;font-weight:400;font-size:1.12rem;letter-spacing:.08em;text-transform:uppercase;color:var(--linen);margin:4px 0 18px}
.lmw-footer ul{list-style:none;margin:0;padding:0}
.lmw-footer ul li{margin-bottom:12px}
.lmw-footer ul a{color:var(--linen);text-decoration:none;font-size:1.02rem}
.lmw-footer ul a:hover{color:var(--porcelain)}
.lmw-footer-bottom{
  max-width:1120px;margin:56px auto 0;padding-top:24px;
  border-top:1px solid rgba(167,161,152,.35);
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  font-size:.9rem;color:var(--mushroom);
}
.lmw-footer-bottom a{color:var(--mushroom);text-decoration:none}
.lmw-footer-bottom a:hover{color:var(--linen)}
.lmw-footer-bottom p{margin:0}
.lmw-footer-legal{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
@media(max-width:900px){.lmw-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.lmw-footer-grid{grid-template-columns:1fr}.lmw-footer{padding:72px 24px 28px}}

/* Editor canvas should match the frontend: bone background and IM Fell English
   headings. (Core editor styles otherwise win these on specificity.) */
.editor-styles-wrapper{background-color:var(--bone)}
.editor-styles-wrapper h1,.editor-styles-wrapper h2,.editor-styles-wrapper h3,
.editor-styles-wrapper h4,.editor-styles-wrapper h5,.editor-styles-wrapper h6{
  font-family:'IM Fell English','Times New Roman',serif;font-weight:400;color:var(--forest);
}

/* ============================================================
   COMING SOON
   ============================================================ */
.lmw-comingsoon{max-width:720px;margin:0 auto;padding:96px 32px 40px;text-align:center}
.lmw-comingsoon-mark{margin:0 auto}
.lmw-comingsoon-mark img{width:260px;height:auto;display:block;margin:0 auto}
.lmw-comingsoon-title{font-size:4.5rem;margin:24px 0 8px}
.lmw-comingsoon-tag{font-family:'IM Fell English',serif;font-style:italic;font-size:2rem;color:var(--bark);margin:0;line-height:1.35}
.lmw-comingsoon-soon{margin:56px 0 0}
.lmw-comingsoon-soon h2{font-size:2.75rem;margin:0 0 12px}
.lmw-comingsoon-soon p{max-width:520px;margin:0 auto}
.lmw-comingsoon .lmw-signup{padding-top:56px;padding-bottom:40px}
.lmw-comingsoon .wp-block-buttons{justify-content:center;margin:28px 0 0}
.lmw-comingsoon-contact{margin-top:28px;line-height:2}
.lmw-comingsoon-contact a{color:var(--forest)}
.lmw-comingsoon-nest{margin-top:40px;font-size:1.125rem;color:var(--bark)}
@media(max-width:600px){
  .lmw-comingsoon{padding:72px 24px 32px}
  .lmw-comingsoon-mark img{width:180px}
  .lmw-comingsoon-title{font-size:3rem}
  .lmw-comingsoon-tag{font-size:1.5rem}
  .lmw-comingsoon-soon h2{font-size:2rem}
}

/* ============================================================
   DIVIDERS
   ============================================================ */
/* Fern divider (mushroom hairlines + her fern sprig) — blog → signup */
.lmw-divider-fern{
  width:170px;height:56px;flex:none;
  background:url('assets/fern-divider-small.webp') center/contain no-repeat;
}
.lmw-divider{display:flex;align-items:center;justify-content:center;gap:22px;max-width:680px;margin:0 auto;padding:0 32px}
.lmw-divider::before,.lmw-divider::after{content:"";height:1px;flex:1;background:var(--mushroom)}

/* Stitch divider (hand-sewn dashed thread, mushroom, gentle wave).
   In the latest prototypes this was a CSS motif only, so it is rebuilt
   here as a lightweight SVG tile true to the description. */
.lmw-stitch-divider{
  height:14px;margin:0 auto;max-width:1120px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2214%22%20viewBox%3D%220%200%2040%2014%22%3E%3Cpath%20d%3D%22M0%2C7%20Q10%2C2%2020%2C7%20T40%2C7%22%20stroke%3D%22%23A7A198%22%20stroke-width%3D%222.5%22%20fill%3D%22none%22%20stroke-dasharray%3D%227%206%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") repeat-x center;
}

/* Spiral binding above blog cards — the notebook motif from her Canva
   graphic, rebuilt here as a simple CSS coil. */
.lmw-spiral-binding{
  height:30px;margin:0 auto 32px;max-width:1120px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236%22%20height%3D%2230%22%20viewBox%3D%220%200%2036%2030%22%3E%3Cg%20stroke%3D%22%23A7A198%22%20stroke-width%3D%222.5%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2212%22%20r%3D%228%22/%3E%3Cline%20x1%3D%2218%22%20y1%3D%2220%22%20x2%3D%2218%22%20y2%3D%2230%22/%3E%3C/g%3E%3C/svg%3E") repeat-x center;
}

/* ============================================================
   HOME SECTIONS (from lmw-home v81)
   ============================================================ */
.lmw-how{max-width:760px;margin:0 auto;padding:24px 32px 88px}
.lmw-how .eyebrow{text-align:center;margin-bottom:20px}
.lmw-how h2{font-family:'IM Fell English',serif;font-weight:400;font-size:2.15rem;color:var(--forest);text-align:center;margin:0 0 32px;line-height:1.3}
.lmw-how p{margin:0 0 1.35em;line-height:1.8}
.lmw-how blockquote{
  border:none;padding:0;margin:2.5em auto;max-width:660px;text-align:center;
  font-family:'IM Fell English',serif;font-size:1.9rem;color:var(--espresso);line-height:1.45;
}
.lmw-services-head{max-width:720px;margin:0 auto;padding:88px 32px 0;text-align:center}
.lmw-services-head h2{font-family:'IM Fell English',serif;font-weight:400;font-size:2.2rem;color:var(--forest);margin:16px 0 0}
.lmw-services-cta{text-align:center;padding:0 32px 88px}
.lmw-blogrow{padding:88px 0 0}
.lmw-blogrow:last-of-type{padding-bottom:120px}
.lmw-blogrow-head{max-width:720px;margin:0 auto 48px;padding:0 32px;text-align:center}
.lmw-blogrow-head h2{font-family:'IM Fell English',serif;font-weight:400;font-size:2.2rem;color:var(--forest);margin:16px 0 12px}
.lmw-blogrow-head p{color:rgba(53,24,11,.72);margin:0}
.lmw-blogrow-more{text-align:center;margin-top:48px}
.lmw-textlink{font-weight:700;color:var(--forest);text-decoration:underline;text-underline-offset:4px}
.lmw-textlink:hover{color:var(--porcelain)}
/* About teaser */
.lmw-about-teaser{max-width:1100px;margin:0 auto;padding:88px 32px}
.lmw-about-teaser-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
.lmw-about-teaser-media{position:relative;width:100%;max-width:380px;margin:0 auto}
.lmw-teaser-frame{
  position:absolute;top:50%;left:50%;width:340px;height:382px;max-width:none;
  transform:translate(-50%,-50%);pointer-events:none;
  background:url('assets/fern-frame.webp') center/contain no-repeat;
}
.lmw-about-teaser-photo{position:relative;z-index:1;width:280px;height:280px;max-width:80%;margin:0 auto}
.lmw-about-teaser-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;box-shadow:var(--shadow-lift)}
.lmw-about-teaser h2{font-family:'IM Fell English',serif;font-weight:400;font-size:2.1rem;color:var(--forest);margin:12px 0 20px}
.lmw-about-teaser p{line-height:1.75;margin:0 0 1.2em;max-width:520px}
@media(max-width:900px){.lmw-about-teaser-inner{grid-template-columns:1fr;gap:40px}.lmw-about-teaser-media{max-width:300px}.lmw-teaser-frame{width:270px;height:303px}}
/* Lead magnet ("The Field Guide to Postpartum Cycles") */
.lmw-leadmagnet{max-width:1100px;margin:0 auto;padding:0 32px 120px}
.lmw-leadmagnet-card{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;
  background:var(--linen);border-radius:var(--radius-card);padding:56px;box-shadow:var(--shadow-soft);
}
.lmw-guide-cover{
  aspect-ratio:4/5;border-radius:12px;background-color:var(--sage);
  background-image:url('assets/sage-linen-bg.webp');background-size:400px;background-repeat:repeat;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:32px;box-shadow:var(--shadow-soft);
}
.lmw-guide-cover .eyebrow{color:var(--bark);margin-bottom:16px}
.lmw-guide-title{font-family:'IM Fell English',serif;font-size:1.92rem;line-height:1.3;color:var(--bark);margin-bottom:12px}
.lmw-guide-sub{font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bark);opacity:.75}
.lmw-leadmagnet-card h2{font-family:'IM Fell English',serif;font-weight:400;font-size:2.02rem;line-height:1.3;color:var(--forest);margin:12px 0 18px}
.lmw-leadmagnet-card p{color:rgba(53,24,11,.72);margin:0 0 26px;line-height:1.7}
.lmw-leadmagnet-card p em{color:var(--mushroom)}
@media(max-width:900px){
  .lmw-leadmagnet-card{grid-template-columns:1fr;gap:40px;padding:40px 32px}
  .lmw-guide-cover{max-width:320px;margin:0 auto;width:100%}
}
@media(max-width:640px){
  .lmw-how{padding:8px 20px 64px}
  .lmw-services-head{padding:64px 20px 0}
  .lmw-blogrow-head{padding:0 20px}
  .lmw-about-teaser{padding:64px 20px}
  .lmw-leadmagnet{padding:0 20px 88px}
  .lmw-leadmagnet-card{padding:40px 28px}
  .lmw-services-cta{padding:0 20px 64px}
}

/* ============================================================
   HOME CONTACT BLOCK (from lmw-home v81)
   ============================================================ */
.lmw-contact{max-width:680px;margin:0 auto;padding:96px 32px}
.lmw-contact .eyebrow{text-align:center}
.lmw-contact h2{font-family:'IM Fell English',serif;font-weight:400;font-size:2.1rem;color:var(--forest);margin:14px 0 20px;text-align:center}
.lmw-contact > p{text-align:center;margin-bottom:32px}
.lmw-contact-form{display:grid;gap:16px;margin-bottom:32px}
.lmw-contact-form .lmw-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lmw-contact-form input,.lmw-contact-form textarea{
  padding:12px 16px;border:1px solid var(--mushroom);border-radius:8px;
  font-family:'Crimson Pro',serif;font-size:1rem;background:#fff;color:var(--bark);width:100%;
}
.lmw-contact-form textarea{resize:vertical}
.lmw-contact-form .btn{justify-self:center}
.lmw-contact-lines{text-align:center;font-size:.95rem;color:var(--bark)}
.lmw-contact-lines p{margin:8px 0}
.lmw-contact-lines a{color:var(--forest)}
.lmw-contact-lines .lmw-phone-placeholder{color:var(--mushroom)}

/* Standard section rhythm for home sections */
.lmw-how,.lmw-features,.lmw-leadmagnet,.lmw-blogrow,.lmw-about-teaser,.lmw-signup,.lmw-cta-band{padding-top:96px;padding-bottom:96px}
.lmw-testimonial-band{padding-top:96px;padding-bottom:96px}
@media(max-width:640px){
  .lmw-how,.lmw-features,.lmw-leadmagnet,.lmw-blogrow,.lmw-about-teaser,.lmw-signup,.lmw-cta-band{padding-top:64px;padding-bottom:64px}
  .lmw-testimonial-band{padding-top:64px;padding-bottom:64px}
  .lmw-contact{padding-top:64px;padding-bottom:64px}
}

/* Mobile tuning (from v81) */
@media(max-width:640px){
  .lmw-hero-home{padding:48px 0 64px}
  .lmw-hero-home h1{font-size:2.4rem}
  .lmw-hero-grid{padding:0 36px}
  .lmw-portrait-photo{width:240px;height:240px}
  .lmw-portrait-frame{width:320px;height:360px}
  .lmw-card-grid{padding:0 20px}
  .lmw-features{padding:88px 20px}
  .lmw-signup{padding:0 20px 120px}
  .lmw-cta-band h2{font-size:1.7rem}
  .lmw-contact-form .lmw-contact-row{grid-template-columns:1fr}
}

/* GeneratePress parent resets — keep LMW's own look on top */
/* Content background. GeneratePress's Customizer prints
   `.separate-containers .inside-article` (0,2,0) AFTER the child stylesheet,
   so a plain `.inside-article` rule can never win. These (0,2,1) rules take
   the bone background back for the design system. */
body.separate-containers .inside-article,
body.one-container .container,
body .site-content,body .content-area{background-color:var(--bone)}
