/* ═══════════════════════════════════════════════════════════
   Mariposa Mental Wellness — Shared Stylesheet
   Kayla Martinez, MS, LPC · Mesa, AZ
═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Petrona:ital,wght@0,300;0,400;1,300&family=Figtree:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root {
  --olive: #7C6A0A;
  --sage: #BABD8D;
  --blush: #FFDAC6;
  --amber: #FA9500;
  --burnt: #EB6424;
  --cream: #FAF6F1;
  --dark: #2C2416;
  --forest: #263A22;
  --mid: #6B5E45;
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { font-family:'Figtree',sans-serif; background:var(--cream); color:var(--dark); font-weight:300; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }

/* Skip link */
.skip-link { position:absolute; top:-100px; left:0; background:var(--dark); color:white; padding:10px 18px; z-index:9999; font-size:.85rem; transition:top .15s; }
.skip-link:focus { top:0; }

/* ── BUTTERFLY SVG ── */
.butterfly-svg { display:inline-block; }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 60px;
  background:rgba(250,246,241,0.97); backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(124,106,10,0.1);
  transition:padding 0.3s, box-shadow 0.3s;
}
nav.scrolled { padding:14px 60px; box-shadow:0 2px 24px rgba(43,46,34,0.08); }
.nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.nav-logo-text { font-family:'Petrona',serif; font-size:1.1rem; font-weight:500; color:var(--olive); letter-spacing:0.03em; line-height:1.2; }
.nav-logo-text span { display:block; font-family:'Figtree',sans-serif; font-size:0.58rem; font-weight:400; letter-spacing:0.18em; text-transform:uppercase; color:var(--mid); }
.nav-links { display:flex; gap:36px; list-style:none; align-items:center; }
.nav-links a { text-decoration:none; font-size:0.75rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--mid); transition:color 0.2s; }
.nav-links a:hover, .nav-links a.active { color:var(--burnt); }
.nav-cta { background:var(--burnt)!important; color:white!important; padding:10px 22px; border-radius:2px; }
.nav-cta:hover { background:var(--olive)!important; color:white!important; }

/* ── NAV DROPDOWN ── */
.nav-has-dropdown { position:relative; }
.nav-has-dropdown > a::after {
  content:''; display:inline-block; width:5px; height:5px; margin-left:6px;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px); vertical-align:middle;
  transition:transform 0.2s;
}
.nav-has-dropdown.open > a::after {
  transform:rotate(-135deg) translateY(2px);
}
.nav-dropdown {
  display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%);
  background:rgba(250,246,241,0.98); backdrop-filter:blur(12px);
  border:1px solid rgba(124,106,10,0.12); border-radius:2px;
  padding:10px 0 6px; min-width:180px; list-style:none;
  box-shadow:0 8px 28px rgba(43,46,34,0.1);
}
.nav-has-dropdown.open .nav-dropdown { display:block; }
.nav-dropdown li a {
  display:block; padding:10px 22px; white-space:nowrap;
  font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--mid); transition:color 0.2s, background 0.2s;
}
.nav-dropdown li a:hover { color:var(--burnt); background:rgba(124,106,10,0.05); }
.nav-dropdown li a::after { display:none; }

/* ── MOBILE SUBNAV ── */
.mobile-subnav { display:none; flex-direction:column; align-items:center; gap:14px; margin-top:-10px; }
.mobile-subnav.open { display:flex; }
.mobile-subnav a { font-size:1.1rem !important; color:var(--mid) !important; letter-spacing:0.05em; }
.mobile-svc-row { display:flex; align-items:center; gap:10px; }
.mobile-svc-caret {
  background:none; border:none; cursor:pointer; padding:4px 6px;
  display:flex; align-items:center; justify-content:center; color:var(--dark);
}
.mobile-svc-caret svg { transition:transform 0.25s; }
.mobile-svc-caret.open svg { transform:rotate(180deg); }

/* hamburger */
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
.hamburger span { display:block; width:24px; height:1.5px; background:var(--dark); transition:all 0.3s; }
.hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

.mobile-menu {
  display:none; position:fixed; top:0; left:0; right:0; bottom:0; z-index:190;
  background:var(--cream); flex-direction:column; align-items:center; justify-content:flex-start; gap:32px;
  padding-top:80px; padding-bottom:30px; overflow-y:auto;
}
.mobile-menu.open { display:flex; }
.mobile-menu a { font-family:'Petrona',serif; font-size:2rem; font-weight:300; color:var(--dark); text-decoration:none; letter-spacing:0.04em; }
.mobile-menu a:hover { color:var(--burnt); }
.mobile-menu .m-cta { background:var(--burnt); color:white; padding:14px 40px; font-size:0.85rem; font-family:'Figtree',sans-serif; letter-spacing:0.14em; text-transform:uppercase; border-radius:2px; }

/* ── HERO — home full ── */
.hero {
  min-height:100vh;
  background:linear-gradient(to bottom, rgba(43,46,34,0.04) 0%, rgba(43,46,34,0.14) 42%, rgba(43,46,34,0.66) 100%), url('../images/rd-butterfly-wide.jpg') center 50%/cover no-repeat;
  display:flex; align-items:flex-end;
  padding:0 60px 90px;
}
.hero-inner { display:grid; grid-template-columns:1fr 1fr; align-items:flex-end; gap:60px; width:100%; max-width:1200px; margin:0 auto; }
.hero-headline { font-family:'Petrona',serif; font-size:clamp(2.8rem,5vw,4.8rem); font-weight:300; color:white; line-height:1.08; text-shadow:0 2px 20px rgba(43,46,34,0.5); }
.hero-headline em { font-style:italic; color:var(--blush); }
.hero-right { display:flex; flex-direction:column; gap:20px; padding-left:40px; border-left:1px solid rgba(255,218,198,0.5); }
.hero-right p { color:rgba(255,255,255,0.95); font-size:1rem; line-height:1.75; text-shadow:0 1px 8px rgba(43,46,34,0.4); }

/* ── INNER PAGE HERO ── */
.page-hero {
  height:460px;
  /* diagonal wash keeps the top-left headline crisp over any photo */
  background:linear-gradient(100deg, rgba(37,40,29,0.80) 0%, rgba(37,40,29,0.5) 48%, rgba(37,40,29,0.34) 100%), url('../images/rd-butterfly-wide.jpg') center 40%/cover no-repeat;
  display:flex; align-items:flex-start;
  padding:120px 60px 0;
  box-sizing:border-box;
}
/* Distinct, theme-matched imagery per page */
.page-hero.hero-about { background-image:linear-gradient(100deg, rgba(250,248,243,0.94) 0%, rgba(250,248,243,0.78) 38%, rgba(250,248,243,0.25) 62%, rgba(250,248,243,0) 80%), url('../images/rd-about.jpg'); background-position:center 55%; }
.page-hero.hero-services { background-image:linear-gradient(100deg, rgba(250,248,243,0.94) 0%, rgba(250,248,243,0.78) 38%, rgba(250,248,243,0.25) 62%, rgba(250,248,243,0) 80%), url('../images/rd-services.jpg'); background-position:center 45%; }
.page-hero.hero-women { background-image:linear-gradient(100deg, rgba(250,248,243,0.94) 0%, rgba(250,248,243,0.78) 38%, rgba(250,248,243,0.25) 62%, rgba(250,248,243,0) 80%), url('../images/rd-women.jpg'); background-position:center 50%; }
.page-hero.hero-path { background-image:linear-gradient(100deg, rgba(250,248,243,0.94) 0%, rgba(250,248,243,0.78) 38%, rgba(250,248,243,0.25) 62%, rgba(250,248,243,0) 80%), url('../images/rd-trauma.jpg'); background-position:center 60%; }
.page-hero.hero-journal { background-image:linear-gradient(100deg, rgba(250,248,243,0.94) 0%, rgba(250,248,243,0.78) 38%, rgba(250,248,243,0.25) 62%, rgba(250,248,243,0) 80%), url('../images/rd-ifs.jpg'); background-position:center 55%; }
.page-hero.hero-leaves { background-image:linear-gradient(100deg, rgba(250,248,243,0.94) 0%, rgba(250,248,243,0.78) 38%, rgba(250,248,243,0.25) 62%, rgba(250,248,243,0) 80%), url('../images/rd-emdr.jpg'); background-position:center 50%; }
.page-hero.hero-contact { background-image:linear-gradient(100deg, rgba(250,248,243,0.94) 0%, rgba(250,248,243,0.78) 38%, rgba(250,248,243,0.25) 62%, rgba(250,248,243,0) 80%), url('../images/rd-contact.jpg'); background-position:center 45%; }
.page-hero.hero-faq { background-image:linear-gradient(100deg, rgba(250,248,243,0.94) 0%, rgba(250,248,243,0.78) 38%, rgba(250,248,243,0.25) 62%, rgba(250,248,243,0) 80%), url('../images/rd-faq.jpg'); background-position:center 50%; }
.page-hero-inner { max-width:1200px; width:100%; }
.breadcrumb { font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.65); margin-bottom:16px; }
.breadcrumb a { color:rgba(255,255,255,0.65); transition:color 0.2s; }
.breadcrumb a:hover { color:var(--blush); }
.breadcrumb span { margin:0 8px; opacity:0.5; }
.page-hero h1 { font-family:'Petrona',serif; font-size:clamp(2.4rem,4.5vw,4rem); font-weight:300; color:white; line-height:1.1; text-shadow:0 2px 20px rgba(43,46,34,0.5); }
.page-hero h1 em { font-style:italic; color:var(--blush); }
.page-hero p { color:rgba(255,255,255,0.88); font-size:1rem; line-height:1.75; max-width:600px; margin-top:16px; text-shadow:0 1px 8px rgba(43,46,34,0.4); }

/* ── STRIP ── */
.strip { background:var(--olive); color:white; text-align:center; padding:16px 60px; font-size:0.76rem; letter-spacing:0.14em; text-transform:uppercase; }
.strip a { color:var(--blush); text-decoration:none; }

/* ── BUTTONS ── */
.btn-primary { display:inline-block; background:var(--burnt); color:white; text-decoration:none; padding:15px 34px; font-size:0.73rem; letter-spacing:0.16em; text-transform:uppercase; border-radius:2px; align-self:flex-start; transition:background 0.25s,transform 0.2s; border:none; cursor:pointer; font-family:'Figtree',sans-serif; }
.btn-primary:hover { background:var(--amber); transform:translateY(-1px); }
.btn-outline { display:inline-block; border:1px solid var(--burnt); color:var(--burnt); text-decoration:none; padding:13px 30px; font-size:0.73rem; letter-spacing:0.16em; text-transform:uppercase; border-radius:2px; transition:all 0.25s; }
.btn-outline:hover { background:var(--burnt); color:white; }
.btn-white { display:inline-block; background:white; color:var(--burnt); text-decoration:none; padding:15px 34px; font-size:0.73rem; letter-spacing:0.16em; text-transform:uppercase; border-radius:2px; transition:all 0.25s; border:none; cursor:pointer; font-family:'Figtree',sans-serif; }
.btn-white:hover { background:var(--blush); }

/* ── SECTIONS ── */
.section { padding:100px 60px; max-width:1200px; margin:0 auto; }
.eyebrow { font-size:0.67rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--burnt); margin-bottom:14px; font-weight:500; }
.section-title { font-family:'Petrona',serif; font-size:clamp(1.9rem,3.2vw,2.9rem); font-weight:400; line-height:1.15; color:var(--dark); margin-bottom:22px; }
.section-title em { font-style:italic; color:var(--olive); }
.body-text { font-size:0.97rem; line-height:1.85; color:var(--mid); margin-bottom:18px; }

/* ── ABOUT ── */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-img { position:relative; }
.about-img img { width:100%; height:520px; object-fit:cover; border-radius:2px; }
.about-img-accent { position:absolute; bottom:-22px; right:-22px; width:160px; height:160px; background:var(--blush); border-radius:2px; z-index:-1; }
.about-img-badge { position:absolute; top:28px; right:-18px; background:var(--burnt); color:white; padding:18px 22px; font-family:'Petrona',serif; font-size:0.88rem; text-align:center; line-height:1.5; max-width:150px; }

/* ── STORY ── */
.story-section { background:var(--dark); padding:100px 60px; text-align:center; }
.story-inner { max-width:720px; margin:0 auto; }
.story-section .eyebrow { color:var(--blush); }
.story-section .section-title { color:white; font-size:clamp(2rem,3.8vw,3.2rem); margin-bottom:28px; }
.story-section .section-title em { color:var(--amber); }
.story-section .body-text { color:rgba(255,255,255,0.7); }
.story-butterfly { margin-bottom:28px; }

/* ── SERVICES GRID ── */
.services-section { padding:100px 60px; background:var(--blush); }
.services-inner { max-width:1200px; margin:0 auto; }
.services-header { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; margin-bottom:52px; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(124,106,10,0.12); }
.service-card { position:relative; background:white; padding:40px 32px; transition:background 0.3s, box-shadow 0.3s, transform 0.3s; }
.service-card:hover { background:#FFFBF6; box-shadow:0 14px 34px rgba(43,46,34,0.1); transform:translateY(-3px); z-index:1; }
.service-card:hover .service-icon { opacity:1; }
.service-card:hover .learn-more { color:var(--olive); border-bottom-color:var(--olive); }
/* whole card is clickable when it contains a learn-more link */
.service-card .learn-more::after { content:''; position:absolute; inset:0; }
.service-icon { width:36px; height:36px; margin-bottom:18px; opacity:0.7; transition:opacity 0.3s; }
.service-card h3 { font-family:'Petrona',serif; font-size:1.35rem; font-weight:500; color:var(--dark); margin-bottom:10px; }
.service-card p { font-size:0.88rem; line-height:1.75; color:var(--mid); }

/* ── SERVICE DETAIL (inner service pages) ── */
.service-detail { padding:80px 60px; max-width:1200px; margin:0 auto; }
.service-detail-grid { display:grid; grid-template-columns:3fr 2fr; gap:80px; align-items:start; }
.service-detail h2 { font-family:'Petrona',serif; font-size:clamp(1.6rem,2.6vw,2.3rem); font-weight:400; color:var(--dark); margin-bottom:20px; line-height:1.2; }
.service-detail h2 em { font-style:italic; color:var(--olive); }
.service-detail h3 { font-family:'Petrona',serif; font-size:1.35rem; font-weight:500; color:var(--dark); margin:36px 0 12px; }
.service-sidebar { position:sticky; top:100px; background:var(--blush); padding:36px 32px; border-radius:2px; }
.service-sidebar h4 { font-family:'Petrona',serif; font-size:1.1rem; font-weight:500; color:var(--dark); margin-bottom:16px; }
.service-sidebar ul { list-style:none; }
.service-sidebar li { font-size:0.87rem; color:var(--mid); padding:8px 0; border-bottom:1px solid rgba(124,106,10,0.12); display:flex; align-items:center; gap:10px; }
.service-sidebar li::before { content:'→'; color:var(--burnt); font-size:0.78rem; flex-shrink:0; }

/* ── MOTHERS NICHE ── */
.niche-section { padding:100px 60px; background:linear-gradient(135deg,var(--olive) 0%,#5a4d07 100%); }
.niche-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.niche-section .eyebrow { color:var(--amber); }
.niche-section .section-title { color:white; }
.niche-section .section-title em { color:var(--blush); }
.niche-section .body-text { color:rgba(255,255,255,0.75); }
.niche-checklist { list-style:none; margin:22px 0 34px; }
.niche-checklist li { color:rgba(255,255,255,0.85); font-size:0.93rem; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.12); display:flex; align-items:center; gap:12px; }
.niche-checklist li::before { content:'→'; color:var(--amber); font-size:0.82rem; flex-shrink:0; }
.niche-img img { width:100%; height:500px; object-fit:cover; object-position:center 35%; border-radius:2px; }

/* ── APPROACH ── */
.approach-section { padding:100px 60px; max-width:1200px; margin:0 auto; }
.approach-grid { display:grid; grid-template-columns:1fr 2fr; gap:80px; align-items:start; }
.approach-sticky { position:sticky; top:100px; }
.modality-list { list-style:none; margin-top:36px; }
.modality-item { padding:26px 0; border-bottom:1px solid rgba(124,106,10,0.15); }
.modality-item:first-child { border-top:1px solid rgba(124,106,10,0.15); }
.modality-num { font-family:'Petrona',serif; font-size:0.78rem; color:var(--burnt); letter-spacing:0.1em; margin-bottom:5px; }
.modality-item h4 { font-family:'Petrona',serif; font-size:1.25rem; font-weight:500; color:var(--dark); margin-bottom:7px; }
.modality-item p { font-size:0.87rem; line-height:1.75; color:var(--mid); }
.learn-more { display:inline-block; margin-top:10px; font-size:0.82rem; font-weight:500; letter-spacing:0.04em; color:var(--burnt); text-decoration:none; border-bottom:1px solid transparent; transition:border-color 0.2s, color 0.2s; }
.learn-more:hover { color:var(--olive); border-bottom-color:var(--olive); }

/* ── MEET KAYLA ── */
.kayla-section { padding:100px 60px; background:var(--sage); }
.kayla-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:360px 1fr; gap:80px; align-items:center; }
.kayla-photo { position:relative; }
.kayla-photo img { width:100%; height:500px; object-fit:cover; object-position:center 15%; border-radius:2px; filter:sepia(0.06) saturate(1.04); }
.kayla-credentials { position:absolute; bottom:-18px; left:-18px; background:var(--dark); color:white; padding:20px 24px; font-size:0.78rem; line-height:1.6; }
.kayla-credentials strong { display:block; font-family:'Petrona',serif; font-size:1.05rem; font-weight:400; margin-bottom:3px; }
.kayla-section .section-title { color:var(--dark); }
.kayla-section .body-text { color:#4a4030; }
.kayla-section .eyebrow { color:var(--burnt); }
.kayla-quote { margin:28px 0; padding:26px 32px; background:white; border-left:3px solid var(--burnt); }
.kayla-quote p { font-family:'Petrona',serif; font-size:1.2rem; font-style:italic; color:var(--dark); line-height:1.6; }

/* ── PROCESS ── */
.process-section { padding:100px 60px; background:var(--cream); }
.process-inner { max-width:1200px; margin:0 auto; }
.process-header { text-align:center; margin-bottom:56px; }
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(124,106,10,0.1); }
.process-step { background:white; padding:40px 28px; }
.step-num { font-family:'Petrona',serif; font-size:3.2rem; font-weight:300; color:rgba(124,106,10,0.32); line-height:1; margin-bottom:14px; }
.process-step h4 { font-family:'Petrona',serif; font-size:1.2rem; font-weight:500; color:var(--dark); margin-bottom:10px; }
.process-step p { font-size:0.87rem; line-height:1.75; color:var(--mid); }

/* ── FAQ ── */
.faq-section { padding:80px 60px; max-width:1200px; margin:0 auto; }
.faq-list { margin-top:36px; }
.faq-item { border-bottom:1px solid rgba(124,106,10,0.15); }
.faq-item:first-child { border-top:1px solid rgba(124,106,10,0.15); }
.faq-question { width:100%; padding:22px 0; font-family:'Petrona',serif; font-size:1.15rem; font-weight:500; color:var(--dark); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; text-align:left; background:none; border:none; }
.faq-question::after { content:'+'; font-family:'Figtree',sans-serif; font-size:1.3rem; font-weight:300; color:var(--burnt); flex-shrink:0; transition:transform 0.3s; }
.faq-item.open .faq-question::after { transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.4s ease; }
.faq-answer p { font-size:0.93rem; line-height:1.85; color:var(--mid); padding-bottom:22px; }
.faq-item.open .faq-answer { max-height:640px; }

/* ── INSTAGRAM / COMMUNITY ── */
.instagram-section { padding:100px 60px; background:var(--blush); }
.instagram-inner { max-width:1200px; margin:0 auto; }
.ig-community { display:grid; grid-template-columns:1fr 380px; gap:80px; align-items:center; }
.ig-stats { display:flex; gap:40px; margin:32px 0 36px; }
.ig-stat { text-align:center; }
.ig-stat-num { font-family:'Petrona',serif; font-size:2.4rem; font-weight:300; color:var(--burnt); line-height:1; }
.ig-stat-label { font-size:0.64rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--mid); margin-top:5px; }

/* ── IG IMAGE GRID ── */
.ig-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
  text-decoration:none; border-radius:10px; overflow:hidden;
}
.ig-post {
  position:relative; overflow:hidden;
  aspect-ratio:4/5;
  background:var(--dark); border-radius:6px;
}
.ig-post img {
  width:100%; height:100%; object-fit:cover;
  display:block; transition:transform 0.45s ease;
  filter:saturate(0.9) sepia(0.12) contrast(0.98) brightness(1.03);
}
/* warm wash unifies the mixed exposures of real posts */
.ig-post::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(160deg, rgba(186,189,141,0.08) 0%, rgba(124,106,10,0.12) 100%);
}
.ig-grid:hover .ig-post img { transform:scale(1.02); }
.ig-post-cap { display:none; }

/* ── HOME CONTACT FORM WRAP ── */
.home-form-wrap { background:white; border-radius:12px; padding:40px; box-shadow:0 4px 28px rgba(43,46,34,0.07); }
.home-form-wrap .form-field label { font-size:0.74rem; font-weight:600; letter-spacing:0.08em; }
.home-form-wrap .form-field input,
.home-form-wrap .form-field textarea,
.home-form-wrap .form-field select { border-radius:8px; border:1.5px solid rgba(124,106,10,0.2); background:var(--cream); padding:12px 16px; font-size:0.94rem; }
.home-form-wrap .form-field input:focus,
.home-form-wrap .form-field textarea:focus { border-color:var(--olive); }

/* ── FEES ── */
.fees-section { padding:72px 60px; background:var(--sage); }
.fees-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.fee-card { background:white; padding:60px 40px; text-align:center; }
.fee-card:nth-child(2) { background:var(--blush); }
.fee-num { font-family:'Petrona',serif; font-size:3rem; font-weight:300; color:var(--olive); line-height:1; margin-bottom:10px; }
.fee-card h4 { font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--mid); margin-bottom:14px; }
.fee-card p { font-size:0.87rem; line-height:1.7; color:var(--mid); }

/* ── CONTACT ── */
.contact-section { padding:100px 60px; background:var(--cream); }
.contact-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.contact-form { display:flex; flex-direction:column; gap:14px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-field { display:flex; flex-direction:column; gap:5px; }
.form-field label { font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--mid); }
.form-field input, .form-field textarea, .form-field select { padding:13px 15px; border:1.5px solid rgba(124,106,10,0.2); background:var(--cream); font-family:'Figtree',sans-serif; font-size:0.9rem; color:var(--dark); border-radius:8px; outline:none; transition:border-color 0.2s; -webkit-appearance:none; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color:var(--olive); }
.form-field textarea { height:110px; resize:vertical; }
.contact-info { display:flex; flex-direction:column; gap:28px; padding-top:8px; }
.contact-detail { display:flex; gap:18px; align-items:flex-start; }
.contact-icon { width:42px; height:42px; background:var(--blush); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
.contact-detail h5 { font-size:0.65rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--mid); margin-bottom:3px; }
.contact-detail p, .contact-detail a { font-size:0.97rem; color:var(--dark); text-decoration:none; }
.contact-detail a:hover { color:var(--burnt); }

/* ── CTA BAND ── */
.cta-band { background:var(--burnt); padding:80px 60px; text-align:center; }
.cta-band h2 { font-family:'Petrona',serif; font-size:clamp(2rem,3.5vw,3rem); font-weight:400; color:white; margin-bottom:16px; }
.cta-band h2 em { font-style:italic; color:var(--blush); }
.cta-band p { color:rgba(255,255,255,0.85); font-size:1rem; max-width:560px; margin:0 auto 32px; line-height:1.75; }
.cta-band-links { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ── STATS ROW ── */
.stats-row { background:var(--dark); padding:60px; }
.stats-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,0.06); }
.stat-item { background:rgba(255,255,255,0.04); padding:40px 32px; text-align:center; }
.stat-num { font-family:'Petrona',serif; font-size:3rem; font-weight:300; color:var(--amber); line-height:1; margin-bottom:8px; }
.stat-label { font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.55); }

/* ── VALUES GRID ── */
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(124,106,10,0.1); margin-top:48px; }
.value-card { background:white; padding:36px 30px; }
.value-card h3 { font-family:'Petrona',serif; font-size:1.2rem; font-weight:500; color:var(--dark); margin-bottom:10px; }
.value-card p { font-size:0.87rem; line-height:1.75; color:var(--mid); }
.value-num { font-family:'Petrona',serif; font-size:2.2rem; font-weight:300; color:var(--blush); line-height:1; margin-bottom:14px; }

/* ── FOOTER ── */
footer { background:var(--dark); color:rgba(255,255,255,0.58); padding:60px; }
.footer-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:60px; }
.footer-logo { font-family:'Petrona',serif; font-size:1.35rem; font-weight:400; color:white; margin-bottom:12px; display:flex; align-items:center; gap:10px; }
footer p { font-size:0.84rem; line-height:1.75; }
.footer-col h5 { font-size:0.63rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.3); margin-bottom:18px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.footer-col a { color:rgba(255,255,255,0.58); text-decoration:none; font-size:0.87rem; transition:color 0.2s; }
.footer-col a:hover { color:var(--amber); }
.footer-bottom { max-width:1200px; margin:36px auto 0; padding-top:28px; border-top:1px solid rgba(255,255,255,0.08); display:flex; justify-content:space-between; align-items:center; font-size:0.76rem; flex-wrap:wrap; gap:12px; }
.footer-bottom a { color:var(--amber); text-decoration:none; }

/* ── REVEAL ── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity 0.7s ease,transform 0.7s ease; }
.reveal.visible { opacity:1; transform:none; }
/* stagger card grids so they cascade instead of popping in as one block */
.services-grid > .reveal:nth-child(2), .values-grid > .reveal:nth-child(2),
.process-steps > .reveal:nth-child(2), .fees-inner > .reveal:nth-child(2) { transition-delay:0.08s; }
.services-grid > .reveal:nth-child(3), .values-grid > .reveal:nth-child(3),
.process-steps > .reveal:nth-child(3), .fees-inner > .reveal:nth-child(3) { transition-delay:0.16s; }
.services-grid > .reveal:nth-child(4), .values-grid > .reveal:nth-child(4),
.process-steps > .reveal:nth-child(4) { transition-delay:0.24s; }
.services-grid > .reveal:nth-child(5), .values-grid > .reveal:nth-child(5) { transition-delay:0.32s; }
.services-grid > .reveal:nth-child(6), .values-grid > .reveal:nth-child(6) { transition-delay:0.4s; }

/* ── FOCUS VISIBILITY ── */
a:focus-visible, button:focus-visible { outline:2px solid var(--burnt); outline-offset:3px; border-radius:2px; }
.nav-cta:focus-visible, .btn-primary:focus-visible, .btn-white:focus-visible { outline-color: var(--olive); }

/* ══════════════════════════════
   CONTACT PAGE
══════════════════════════════ */
.contact-layout { display:grid; grid-template-columns:1fr 420px; gap:64px; align-items:start; }
.contact-form-wrap { background:white; border-radius:12px; padding:48px; box-shadow:0 4px 32px rgba(43,46,34,0.07); }
.contact-form { display:flex; flex-direction:column; gap:20px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-family:'Figtree',sans-serif; font-size:0.82rem; font-weight:600; color:var(--dark); letter-spacing:0.05em; text-transform:uppercase; }
.form-group input, .form-group select, .form-group textarea { font-family:'Figtree',sans-serif; font-size:0.96rem; color:var(--dark); background:var(--cream); border:1.5px solid rgba(124,106,10,0.2); border-radius:8px; padding:12px 16px; outline:none; transition:border-color 0.2s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--olive); }
.form-group textarea { resize:vertical; min-height:130px; }
.form-group select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237C6A0A' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:40px; }
.req { color:var(--burnt); }
.form-check { flex-direction:row; align-items:flex-start; gap:10px; }
.check-label { display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-family:'Figtree',sans-serif; font-size:0.88rem; color:var(--mid); line-height:1.5; }
.check-label input[type="checkbox"] { width:18px; height:18px; flex-shrink:0; margin-top:2px; accent-color:var(--olive); cursor:pointer; }
.btn-full { width:100%; justify-content:center; text-align:center; }
.form-note { font-family:'Figtree',sans-serif; font-size:0.78rem; color:var(--mid); text-align:center; opacity:0.8; margin-top:-4px; }

.contact-info-wrap { display:flex; flex-direction:column; gap:16px; position:sticky; top:100px; }
.contact-info-card { display:flex; align-items:flex-start; gap:16px; background:white; border-radius:12px; padding:20px; box-shadow:0 2px 16px rgba(43,46,34,0.06); }
.ci-icon { width:42px; height:42px; background:var(--cream); border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-info-card > div { display:flex; flex-direction:column; gap:3px; }
.contact-info-card strong { font-family:'Figtree',sans-serif; font-size:0.78rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--dark); }
.contact-info-card a, .contact-info-card span { font-family:'Figtree',sans-serif; font-size:0.92rem; color:var(--mid); text-decoration:none; line-height:1.5; }
.contact-info-card a { color:var(--olive); }
.ci-note { font-size:0.78rem !important; opacity:0.7; }
.ci-map-link { font-size:0.82rem !important; font-weight:600; color:var(--burnt) !important; margin-top:4px; }
.contact-fees-box { background:var(--cream); border-radius:12px; padding:24px; border:1px solid rgba(124,106,10,0.12); }
.fee-row { display:flex; justify-content:space-between; align-items:center; font-family:'Figtree',sans-serif; font-size:0.92rem; color:var(--dark); padding:8px 0; border-bottom:1px solid rgba(124,106,10,0.1); }
.fee-row:last-of-type { border-bottom:none; }
.fee-row strong { color:var(--olive); font-size:1.05rem; }
.contact-crisis-box { background:rgba(124,106,10,0.06); border:1px solid rgba(124,106,10,0.18); border-radius:12px; padding:20px; }
.contact-crisis-box strong { display:block; font-family:'Figtree',sans-serif; font-size:0.8rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--burnt); margin-bottom:8px; }
.contact-crisis-box p { font-family:'Figtree',sans-serif; font-size:0.88rem; color:var(--mid); margin:0 0 10px; line-height:1.5; }
.contact-crisis-box a { display:block; font-family:'Figtree',sans-serif; font-size:0.9rem; font-weight:600; color:var(--burnt); text-decoration:none; margin-bottom:4px; }
.map-embed { overflow:hidden; }
.map-embed iframe { display:block; filter:sepia(0.22) saturate(0.82) contrast(0.98); }

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */

@media (max-width:1024px) {
  nav { padding:16px 30px; }
  nav.scrolled { padding:12px 30px; }
  .nav-links { gap:18px; }
  .nav-links a { font-size:0.68rem; letter-spacing:0.08em; }
  .nav-cta { padding:8px 16px !important; }

  .hero { padding:0 30px 80px; }
  .hero-inner { grid-template-columns:1fr; gap:32px; }
  .hero-right { border-left:none; padding-left:0; border-top:1px solid rgba(255,218,198,0.35); padding-top:28px; }

  .page-hero { height:380px; padding:80px 30px 0; }

  .section { padding:80px 30px; }
  .about-grid { grid-template-columns:1fr; gap:50px; }
  .about-img-badge { right:12px; }
  .about-img-accent { display:none; }

  .story-section { padding:80px 30px; }
  .services-section { padding:80px 30px; }
  .services-header { grid-template-columns:1fr; gap:24px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }

  .niche-section { padding:80px 30px; }
  .niche-inner { grid-template-columns:1fr; gap:48px; }
  .niche-img { order:-1; }
  .niche-img img { height:380px; }

  .approach-section { padding:80px 30px; }
  .approach-grid { grid-template-columns:1fr; gap:40px; }
  .approach-sticky { position:static; }

  .kayla-section { padding:80px 30px; }
  .kayla-inner { grid-template-columns:1fr; gap:36px; }
  .niche-img img { height:380px; object-position:center 40%; }
  .ig-grid { max-width:420px; }

  /* Compact horizontal therapist card at tablet too */
  .kayla-photo {
    display:flex; flex-direction:row; align-items:stretch;
    background:var(--dark); border-radius:4px; overflow:hidden;
  }
  .kayla-photo img {
    width:260px; height:auto; flex-shrink:0;
    object-fit:cover; object-position:center 18%; border-radius:0;
  }
  .kayla-credentials {
    position:static; background:transparent; border-radius:0;
    padding:22px 20px; flex:1; display:flex;
    flex-direction:column; justify-content:center; font-size:0.82rem;
  }

  .process-section { padding:80px 30px; }
  .process-steps { grid-template-columns:repeat(4,1fr); gap:1px; }
  .process-step { padding:28px 16px; }
  .step-num { font-size:2.4rem; }

  .instagram-section { padding:80px 30px; }
  .ig-community { grid-template-columns:1fr; gap:40px; }
  .ig-grid { max-width:560px; }

  .fees-section { padding:64px 30px; }
  .fees-inner { grid-template-columns:1fr; gap:8px; }

  .contact-section { padding:80px 30px; }
  .contact-inner { grid-template-columns:1fr; gap:60px; }

  footer { padding:60px 30px; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:40px; }
  .footer-inner > div:first-child { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; text-align:center; }

  .strip { padding:14px 20px; font-size:0.7rem; }
  .cta-band { padding:60px 30px; }
  .stats-row { padding:60px 30px; }
  .stats-inner { grid-template-columns:1fr; gap:1px; }
  .service-detail { padding:60px 30px; }
  .service-detail-grid { grid-template-columns:1fr; gap:50px; }
  .service-sidebar { position:static; }
  .faq-section { padding:60px 30px; }
  .values-grid { grid-template-columns:1fr 1fr; }
  .contact-layout { grid-template-columns:1fr; gap:40px; }
  .contact-info-wrap { position:static; }
  .contact-form-wrap { padding:36px; }
}

/* Tight tablet: shrink further before hamburger kicks in */
@media (max-width:860px) {
  .nav-links { gap:12px; }
  .nav-links a { font-size:0.62rem; letter-spacing:0.05em; }
  .nav-logo-text { font-size:0.95rem; }
  .nav-logo-text span { display:none; }
}

@media (max-width:767px) {
  nav { padding:14px 20px; }
  nav.scrolled { padding:12px 20px; }
  .nav-links { display:none; }
  .hamburger { display:flex; }

  .hero { padding:0 20px 110px; min-height:100svh; background:linear-gradient(to bottom, rgba(43,46,34,0.2) 0%, rgba(43,46,34,0.5) 40%, rgba(43,46,34,0.88) 100%), url('../images/rd-butterfly-mobile.jpg') center 18%/cover no-repeat; }
  .hero-inner { grid-template-columns:1fr; gap:28px; }
  .hero-headline { font-size:clamp(2.2rem,9vw,3.2rem); }
  .hero-right { border-left:none; padding-left:0; border-top:1px solid rgba(255,218,198,0.35); padding-top:24px; }

  .page-hero { height:320px; padding:82px 20px 0; }
  .page-hero h1 { font-size:clamp(2rem,8vw,2.8rem); }

  .section { padding:70px 20px; }
  .about-grid { grid-template-columns:1fr; gap:40px; }
  .about-img img { height:380px; }
  .about-img-accent { display:none; }
  .about-img-badge { right:10px; top:18px; }

  .story-section { padding:70px 20px; }
  .services-section { padding:70px 20px; }
  .services-header { grid-template-columns:1fr; gap:20px; }
  .services-grid { grid-template-columns:1fr; }

  .niche-section { padding:70px 20px; }
  .niche-inner { grid-template-columns:1fr; gap:40px; }
  .niche-img { order:-1; }
  .niche-img img { height:300px; }

  .approach-section { padding:70px 20px; }
  .approach-grid { grid-template-columns:1fr; }
  .approach-sticky { position:static; }

  .kayla-section { padding:70px 20px; }
  .kayla-inner { grid-template-columns:1fr; gap:36px; }
  .niche-img img { height:300px; object-position:center 40%; }
  .niche-section { padding:60px 20px !important; }

  /* Compact horizontal therapist card on mobile */
  .kayla-photo {
    display:flex; flex-direction:row; align-items:stretch;
    background:var(--dark); border-radius:4px; overflow:hidden;
  }
  .kayla-photo img {
    width:155px; height:auto; flex-shrink:0;
    object-fit:cover; object-position:center 18%;
    border-radius:0;
  }
  .kayla-credentials {
    position:static; background:transparent; border-radius:0;
    padding:18px 16px; flex:1; display:flex;
    flex-direction:column; justify-content:center; font-size:0.78rem;
  }

  .process-section { padding:70px 20px; }
  .process-steps { grid-template-columns:repeat(2,1fr); }

  .instagram-section { padding:70px 20px; }
  .ig-community { grid-template-columns:1fr; gap:32px; }
  .ig-grid { gap:4px; max-width:100%; }
  .ig-stats { gap:24px; }

  .fees-section { padding:56px 20px; }
  .fees-inner { grid-template-columns:1fr; gap:8px; }
  .fee-card { padding:44px 28px; }

  .contact-section { padding:70px 20px; }
  .contact-inner { grid-template-columns:1fr; gap:50px; }
  .form-row { grid-template-columns:1fr; }
  .contact-layout { grid-template-columns:1fr; gap:32px; }
  .contact-form-wrap { padding:28px 20px; border-radius:12px; }
  .contact-info-wrap { position:static; }

  footer { padding:50px 20px; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:28px; }
  .footer-inner > div:first-child { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; text-align:center; gap:8px; }

  .strip { padding:12px 16px; font-size:0.66rem; letter-spacing:0.08em; }
  .banner { font-size:0.72rem; }
  .cta-band { padding:60px 20px; }
  .cta-band-links { flex-direction:column; align-items:center; }
  .stats-row { padding:50px 20px; }
  .stats-inner { grid-template-columns:1fr; }
  .service-detail { padding:50px 20px; }
  .service-detail-grid { grid-template-columns:1fr; }
  .faq-section { padding:50px 20px; }
  .values-grid { grid-template-columns:1fr; }
  .process-step { padding:28px 16px; }
  .step-num { font-size:2.2rem; }
  .service-sidebar { padding:28px 22px; }
  .service-sidebar li { font-size:0.84rem; }
  .ig-stat-num { font-size:2rem; }
  .ig-topic { padding:18px 14px; }
  .ig-topic h4 { font-size:0.92rem; }
  .section-title { margin-bottom:18px; font-size:1.65rem; }
  .section-title br { display:none; }
  .story-section .section-title,
  .niche-section .section-title { font-size:1.75rem; }
  .modality-item { padding:22px 0; }
  .faq-question { font-size:1.05rem; padding:18px 0; }
  .strip { line-height:1.75; }
  .page-hero p { font-size:0.93rem; margin-top:12px; }
  .breadcrumb { font-size:0.62rem; margin-bottom:12px; }
  .cta-band h2 { font-size:clamp(1.7rem,7vw,2.4rem); }
  .cta-band p { font-size:0.93rem; }
  .btn-primary, .btn-white { padding:14px 28px; }
  .btn-outline { padding:12px 24px; }
}

/* ══════════════════════════════
   MOBILE MENU BRAND
══════════════════════════════ */
.mobile-menu-brand {
  display:flex; flex-direction:column; align-items:center; gap:5px;
  padding-bottom:24px; margin-bottom:4px; width:100%; text-align:center;
  border-bottom:1px solid rgba(124,106,10,0.12);
}
.mobile-menu-brand-name {
  font-family:'Petrona',serif; font-size:1.3rem; font-weight:500;
  color:var(--olive); letter-spacing:0.04em; line-height:1.2; margin-top:8px;
}
.mobile-menu-brand-sub {
  font-family:'Figtree',sans-serif; font-size:0.57rem; font-weight:400;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--mid);
}
.mobile-menu a.active { color:var(--burnt); }
.mobile-menu a.m-cta, .mobile-menu a.m-cta.active { color:white; }

/* ══════════════════════════════
   CREDENTIALS GRID (about page)
══════════════════════════════ */
.cred-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:2px;
}
@media (max-width:767px) {
  .cred-grid { grid-template-columns:1fr; gap:2px; }
}
@media (max-width:1024px) and (min-width:768px) {
  .cred-grid { grid-template-columns:1fr 1fr; }
  .cred-grid > div:last-child { grid-column:1/-1; }
}

/* ── Contact form status (EmailJS) ── */
.form-status { margin-top:16px; font-size:0.9rem; line-height:1.6; font-family:'Figtree',sans-serif; }
.form-status:empty { margin:0; }
.form-status.success { padding:16px 18px; background:#EFF3E6; border-left:3px solid var(--sage); color:var(--forest); border-radius:2px; }
.form-status.error { padding:16px 18px; background:#FDECE3; border-left:3px solid var(--burnt); color:#8A3A16; border-radius:2px; }
.form-status code { background:rgba(0,0,0,0.06); padding:1px 5px; border-radius:3px; font-size:0.82em; }

/* ── Blog ── */
.hero-blog { background:linear-gradient(100deg, rgba(250,248,243,0.94) 0%, rgba(250,248,243,0.78) 38%, rgba(250,248,243,0.25) 62%, rgba(250,248,243,0) 80%), url('../images/rd-blog.jpg') center 50%/cover no-repeat; }
.blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:34px; }
.blog-card { display:flex; flex-direction:column; background:#fff; border-radius:4px; overflow:hidden; text-decoration:none; box-shadow:0 2px 14px rgba(43,46,34,0.06); transition:transform .25s, box-shadow .25s; }
.blog-card:hover { transform:translateY(-4px); box-shadow:0 12px 30px rgba(43,46,34,0.12); }
.blog-card-img { aspect-ratio:16/10; overflow:hidden; }
.blog-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.blog-card:hover .blog-card-img img { transform:scale(1.05); }
.blog-card-body { padding:26px 28px 30px; display:flex; flex-direction:column; gap:10px; }
.blog-card-body h3 { font-family:'Petrona',serif; font-size:1.5rem; font-weight:500; color:var(--dark); line-height:1.2; }
.blog-card-body p { font-size:0.9rem; line-height:1.7; color:var(--mid); }
.blog-card-more { font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--burnt); margin-top:4px; }
.post-meta { font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--olive); }
.post-wrap { max-width:760px; }
.post-hero-img { width:100%; border-radius:4px; margin-bottom:36px; aspect-ratio:16/9; object-fit:cover; }
.post-body { font-size:1.02rem; line-height:1.85; color:var(--dark); }
.post-body h2 { font-family:'Petrona',serif; font-size:1.85rem; font-weight:500; color:var(--dark); margin:38px 0 14px; line-height:1.2; }
.post-body h3 { font-family:'Petrona',serif; font-size:1.4rem; font-weight:500; color:var(--dark); margin:28px 0 10px; }
.post-body p { margin-bottom:20px; }
.post-body ul, .post-body ol { margin:0 0 22px 22px; }
.post-body li { margin-bottom:10px; line-height:1.75; }
.post-body a { color:var(--burnt); text-decoration:underline; text-underline-offset:2px; }
.post-body strong { font-weight:500; color:var(--dark); }
.post-body em { font-style:italic; }
.post-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:36px; }
.post-tags span { font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--mid); background:var(--blush); padding:6px 14px; border-radius:20px; }

/* Heading-level cleanup (h4 -> h3 for a valid outline); same look as before */
.process-step h3 { font-family:'Petrona',serif; font-size:1.2rem; font-weight:500; color:var(--dark); margin-bottom:10px; }
.fee-card h3 { font-family:'Figtree',sans-serif; font-size:0.72rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--mid); margin-bottom:14px; }
.modality-item h3 { font-family:'Petrona',serif; font-size:1.25rem; font-weight:500; color:var(--dark); margin-bottom:7px; }
.service-detail .service-sidebar h3 { font-family:'Petrona',serif; font-size:1.1rem; font-weight:500; color:var(--dark); margin:0 0 16px; }
.contact-detail .cd-label { font-size:0.65rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--mid); margin-bottom:3px; }
.blog-card-body h2 { font-family:'Petrona',serif; font-size:1.5rem; font-weight:500; color:var(--dark); line-height:1.2; }
@media (max-width:767px) { .process-step h3 { font-size:1.1rem; } }

/* ══════════════════════════════════════════════════════════
   OCT 2026 POLISH: focus cards, pricing ledger, Instagram
══════════════════════════════════════════════════════════ */

/* Focus cards: no clip-art icons; a short warm rule leads each card instead */
.service-icon { display:none; }
.service-card { padding:44px 36px 40px; }
.service-card h3 { font-size:1.5rem; font-weight:500; margin-bottom:12px; }
.service-card h3::before { content:''; display:block; width:28px; height:1px; background:var(--burnt); margin-bottom:22px; }

/* Pricing: one even ledger, three equal columns, hairline dividers */
.fees-section { padding:96px 60px; background:var(--cream); }
.fees-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0;
  background:#fff; border:1px solid rgba(124,106,10,0.16); }
.fee-card, .fee-card:nth-child(2) { background:none; text-align:left; padding:44px 40px 46px; }
.fee-card + .fee-card { border-left:1px solid rgba(124,106,10,0.16); }
.fee-num { font-size:2.6rem; white-space:nowrap; margin-bottom:14px; }
.fee-card:nth-child(2) .fee-num { color:var(--burnt); }
.fee-card h3 { margin-bottom:10px; }
.fee-card p { font-size:0.9rem; }
/* Nested inside the FAQ page's narrow column */
.section .fees-section { padding:0; background:none; }

/* Instagram: quiet inline proof, readable button, grid that never outgrows the column */
.ig-community { grid-template-columns:minmax(0,1fr) minmax(0,440px); }
.ig-meta { display:flex; gap:32px; margin:26px 0 30px; font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--mid); }
.ig-meta strong { display:block; font-family:'Petrona',serif; font-size:2.2rem; font-weight:300; letter-spacing:0; text-transform:none; color:var(--burnt); line-height:1; margin-bottom:6px; }
.ig-grid { width:100%; max-width:440px; justify-self:end; }
.ig-post { aspect-ratio:4/5; }

@media (max-width:1024px) {
  .ig-community { grid-template-columns:1fr; }
  .ig-grid { justify-self:start; max-width:520px; }
  .fees-section { padding:72px 30px; }
}
@media (max-width:767px) {
  .service-card { padding:34px 24px 32px; }
  .fees-section { padding:56px 20px; }
  .fees-inner { grid-template-columns:1fr; }
  .fee-card, .fee-card:nth-child(2) { padding:30px 26px; }
  .fee-card + .fee-card { border-left:0; border-top:1px solid rgba(124,106,10,0.16); }
  .fee-num { font-size:2.2rem; }
  .ig-grid { max-width:100%; }
}

/* ══════════════════════════════════════════════════════════
   FINISHING DETAILS
══════════════════════════════════════════════════════════ */
h1, h2, h3, .hero-headline, .section-title { text-wrap:balance; }
p, li { text-wrap:pretty; }
::selection { background:var(--blush); color:var(--dark); }

/* Home hero: the photo settles in slowly on load */
.hero { position:relative; overflow:hidden; isolation:isolate; }
.hero::before { content:''; position:absolute; inset:0; z-index:-1; background:inherit; transform-origin:60% 55%;
  animation:heroSettle 14s cubic-bezier(.22,.61,.36,1) both; }
@keyframes heroSettle { from { transform:scale(1.07); } to { transform:scale(1); } }

/* Mobile booking bar: appears after the hero, never covers the footer */
.book-bar { display:none; }
@media (max-width:767px) {
  .book-bar { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:180;
    background:rgba(250,246,241,0.97); backdrop-filter:blur(8px); border-top:1px solid rgba(124,106,10,0.15);
    padding:10px 14px calc(10px + env(safe-area-inset-bottom)); gap:10px;
    transform:translateY(110%); transition:transform .35s ease; }
  .book-bar.show { transform:none; }
  .book-bar a { flex:1; text-align:center; padding:13px 10px; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; }
  .book-bar .bb-book { background:var(--burnt); color:#fff; }
  .book-bar .bb-call { flex:0 0 34%; border:1px solid rgba(124,106,10,0.3); color:var(--dark); }
  body.has-book-bar footer { padding-bottom:110px; }
}

/* Footer credit */
.site-credit { color:rgba(255,255,255,0.4); }
.site-credit a { color:rgba(255,255,255,0.55); }
.site-credit a:hover { color:var(--amber); }

@media (prefers-reduced-motion:reduce) {
  .hero::before { animation:none; }
  .reveal { opacity:1 !important; transform:none !important; transition:none !important; }
  .book-bar { transition:none; }
  html { scroll-behavior:auto; }
}

/* Home hero: one confident line, no swapped italic word */
.hero-headline em { font-style:normal; color:inherit; }
.page-hero h1 em { font-style:normal; color:inherit; }
/* Home hero: copy stacks in one left column so the butterfly owns the right half */
@media (min-width:1025px) {
  .hero-inner { grid-template-columns:minmax(0,420px); gap:28px; }
  .hero-right { padding-left:0; border-left:none; border-top:1px solid rgba(255,218,198,0.45); padding-top:26px; }
}

/* ── Home: lighter structure ── */
.help-section { padding:110px 60px; background:var(--cream); }
.help-inner { max-width:1100px; margin:0 auto; }
.help-header { margin-bottom:44px; }
.help-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 56px; }
.help-item { display:block; padding:26px 0 30px; border-top:1px solid rgba(124,106,10,0.18); transition:border-color .25s; }
.help-item h3 { font-family:'Petrona',serif; font-size:1.45rem; font-weight:500; color:var(--dark); margin-bottom:6px; transition:color .25s; }
.help-item p { font-size:0.9rem; line-height:1.7; color:var(--mid); }
.help-item:hover { border-top-color:var(--burnt); }
.help-item:hover h3 { color:var(--burnt); }
.help-note { margin-top:40px; max-width:720px; font-size:0.97rem; line-height:1.85; color:var(--mid); }
.help-note a { color:var(--dark); border-bottom:1px solid rgba(124,106,10,0.35); }
.help-note a:hover { color:var(--burnt); border-color:var(--burnt); }
.help-note .help-all { margin-left:6px; color:var(--burnt); border-color:var(--burnt); white-space:nowrap; }
.process-steps--three { grid-template-columns:repeat(3,1fr); }
.kayla-section .btn-outline { margin-top:8px; }
@media (max-width:1024px) { .help-section { padding:80px 30px; } .help-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .help-section { padding:64px 20px; } .help-grid { grid-template-columns:1fr; } .process-steps--three { grid-template-columns:1fr; } }

/* ══════════════════════════════════════════════════════════
   LIGHT & MINIMAL PASS
   Two light neutrals (cream, sand), one accent (burnt), ink for text.
══════════════════════════════════════════════════════════ */
:root { --sand:#F3ECE3; --ink:#2C2416; --rule-light:rgba(43,46,34,0.12); }

/* Section backgrounds: retire the heavy sage / olive / blush / orange blocks */
.kayla-section, .instagram-section, .process-section, .contact-section { background:var(--sand); }
.help-section, .services-section, .fees-section { background:var(--cream); }
.process-section { background:var(--cream); }
.instagram-section { background:var(--sand); }
.strip { background:var(--cream); color:var(--mid); border-top:1px solid var(--rule-light); border-bottom:1px solid var(--rule-light); }
.strip a { color:var(--ink); }

/* Headings: italic words stay italic but in ink, not olive */
.section-title em, .service-detail h2 em, .cta-band h2 em { color:inherit; }

/* Buttons: burnt for the one primary action, ink outline for everything else */
.btn-outline { border-color:rgba(43,46,34,0.55); color:var(--ink); }
.btn-outline:hover { background:var(--ink); border-color:var(--ink); color:#fff; }
.btn-primary:hover { background:var(--ink); }

/* Small text: readable weight and contrast */
.help-item p, .process-step p, .service-card p, .value-card p, .modality-item p, .fee-card p,
.faq-answer p, .service-sidebar li, .contact-detail p, .contact-detail a, .ig-meta { font-weight:400; color:#5E5240; }
.body-text { color:#5E5240; }

/* Quote: quiet, no white box */
.kayla-quote { background:transparent; border-left:2px solid var(--burnt); padding:6px 0 6px 26px; }

/* Process cards: white on cream, hairline instead of grey gutters */
.process-steps { background:transparent; gap:16px; }
.process-step { border:1px solid var(--rule-light); }

/* Inner-page closing band: light, not a full orange slab */
.cta-band { background:var(--sand); border-top:1px solid var(--rule-light); }
.cta-band h2 { color:var(--ink); }
.cta-band p { color:#5E5240; }
.cta-band .btn-white { background:var(--burnt); color:#fff; }
.cta-band .btn-white:hover { background:var(--ink); color:#fff; }
.cta-band .btn-outline { border-color:rgba(43,46,34,0.55) !important; color:var(--ink) !important; }
.cta-band .btn-outline:hover { background:var(--ink) !important; color:#fff !important; }

/* Mothers band and story band: light versions */
.niche-section { background:var(--sand) !important; }
.niche-section .section-title, .story-section .section-title { color:var(--ink); }
.niche-section .eyebrow, .story-section .eyebrow { color:var(--burnt); }
.niche-section .body-text, .story-section .body-text { color:#5E5240 !important; }
.niche-checklist li { color:#5E5240; border-bottom-color:var(--rule-light); }
.niche-checklist li::before { color:var(--burnt); }
.story-section { background:var(--cream); border-top:1px solid var(--rule-light); border-bottom:1px solid var(--rule-light); }
.story-section .btn-white { background:var(--burnt); color:#fff; }
.story-butterfly svg { fill:var(--olive) !important; }
.story-butterfly svg [stroke="#FFDAC6"] { stroke:var(--olive); }

/* Sidebars and focus cards */
.service-sidebar { background:var(--sand); }
.service-card { border:1px solid var(--rule-light); }
.services-grid { background:transparent; gap:16px; }
/* Light pass, part 2: sections that set heavy backgrounds inline, and pale accent words */
section[style*="background:var(--blush)"], div[style*="background:var(--blush)"],
section[style*="background:var(--sage)"] { background:var(--sand) !important; }
.niche-section .section-title em, .story-section .section-title em, .kayla-section .section-title em { color:inherit !important; }
.page-hero h1 em { color:inherit; }
.cta-band .eyebrow { color:var(--burnt); }

/* Corner consistency: square everywhere (only the small contact icons stay round) */
.nav-cta, .mobile-menu .m-cta, .btn-primary, .btn-outline, .btn-white, .about-img img, .about-img-accent,
.service-sidebar, .niche-img img, .kayla-photo, .kayla-photo img, .home-form-wrap, .contact-form-wrap,
.form-field input, .form-field textarea, .form-field select, .form-group input, .form-group select, .form-group textarea,
.home-form-wrap .form-field input, .home-form-wrap .form-field textarea, .home-form-wrap .form-field select,
.contact-info-card, .ci-icon, .contact-fees-box, .contact-crisis-box, .blog-card, .blog-card-img, .post-hero-img,
.post-tags span, .ig-grid, .ig-post, .form-status.success, .form-status.error, .book-bar a, .nav-dropdown {
  border-radius:0 !important;
}
.home-form-wrap, .contact-form-wrap { box-shadow:none; border:1px solid var(--rule-light); }
.contact-info-card { box-shadow:none; border:1px solid var(--rule-light); }

/* ══════════════════════════════════════════════════════════
   BESPOKE TYPE SYSTEM: Petrona (display) + Figtree (text)
   Petrona is heavier and wider than the old serif: one weight, smaller sizes,
   tighter tracking, never italic.
══════════════════════════════════════════════════════════ */
body { font-weight:400; }
h1, h2, h3, h4, .hero-headline, .section-title, .page-hero h1, .cta-band h2, .fee-num, .step-num, .value-num,
.statement-line, .nav-logo-text, .footer-logo, .mobile-menu a, .faq-question, .kayla-quote p { font-weight:400 !important; }
h1 em, h2 em, h3 em, .section-title em, .hero-headline em, .page-hero h1 em, .cta-band h2 em { font-style:normal !important; color:inherit !important; }

.hero-headline { font-size:clamp(2.5rem,4.4vw,4.1rem); line-height:1.04; letter-spacing:-0.012em; }
.page-hero h1 { font-size:clamp(2.1rem,3.7vw,3.3rem); line-height:1.06; letter-spacing:-0.01em; }
.section-title { font-size:clamp(1.75rem,2.6vw,2.4rem); line-height:1.12; letter-spacing:-0.008em; }
.cta-band h2 { font-size:clamp(1.8rem,2.8vw,2.6rem); letter-spacing:-0.008em; }
.service-detail h2 { font-size:clamp(1.55rem,2.3vw,2.1rem); letter-spacing:-0.006em; }
.service-detail h3, .help-item h3, .process-step h3, .modality-item h3, .value-card h3, .service-card h3 { font-size:1.22rem; letter-spacing:-0.004em; }
.fee-num { font-size:2.2rem; }
.step-num { font-size:2.2rem; color:rgba(124,106,10,0.4); }
.kayla-quote p { font-family:'Figtree',sans-serif; font-style:italic; font-size:1.05rem; line-height:1.75; color:var(--ink); }
.faq-question { font-size:1.08rem; }
.mobile-menu a { font-size:1.7rem; }

/* Wordmark */
.nav-logo { gap:11px; }
.nav-logo-text { font-family:'Petrona',serif; font-size:1.5rem; color:var(--ink); letter-spacing:-0.005em; line-height:1; }
.nav-logo-text span { font-family:'Figtree',sans-serif; font-size:0.54rem; font-weight:500; letter-spacing:0.34em; color:var(--mid); margin-top:5px; display:block; text-transform:uppercase; }
.mobile-menu-brand-name { font-family:'Petrona',serif; font-size:1.7rem; color:var(--ink); }
.footer-logo { display:flex; align-items:center; gap:12px; }
.footer-logo .fl-word { font-family:'Petrona',serif; font-size:1.55rem; color:#fff; line-height:1; }
.footer-logo .fl-sub { font-family:'Figtree',sans-serif; font-size:0.55rem; font-weight:500; letter-spacing:0.32em; text-transform:uppercase; color:rgba(255,255,255,0.5); align-self:flex-end; padding-bottom:3px; }
@media (max-width:860px) { .nav-logo-text span { display:block; } .nav-logo-text { font-size:1.35rem; } }

/* Section labels: quiet ink caps led by a short burnt rule, instead of orange everywhere */
.eyebrow { display:inline-flex; align-items:center; gap:12px; color:var(--mid) !important; font-weight:500; letter-spacing:0.22em; }
.eyebrow::before { content:''; width:22px; height:1px; background:var(--burnt); flex-shrink:0; }

/* Signature moment: one oversized line about the name */
.statement { background:var(--cream); border-top:1px solid var(--rule-light); border-bottom:1px solid var(--rule-light); }
.statement-inner { max-width:1200px; margin:0 auto; padding:120px 60px 128px 22%; }
.statement-label { font-size:0.68rem; letter-spacing:0.24em; text-transform:uppercase; color:var(--mid); margin-bottom:26px; }
.statement-line { font-family:'Petrona',serif; font-size:clamp(2rem,4.2vw,3.6rem); line-height:1.1; letter-spacing:-0.015em; color:var(--ink); max-width:17ch; text-wrap:balance; }

/* Kayla: editorial caption under the photo instead of a dark sticker */
.kayla-photo { display:block !important; background:none !important; overflow:visible !important; }
.kayla-credentials { position:static !important; background:none !important; color:var(--mid) !important; padding:14px 0 0 !important;
  margin-top:14px; border-top:1px solid var(--rule-light); font-size:0.78rem !important; line-height:1.6; display:block !important; }
.kayla-credentials strong { font-family:'Petrona',serif; font-size:1.05rem; color:var(--ink); margin-bottom:2px; }
.about-img-badge, .about-img-accent { display:none !important; }
@media (max-width:1024px) { .kayla-photo img { width:100% !important; height:420px !important; object-position:center 25% !important; } }
@media (max-width:767px) {
  .kayla-photo img { height:340px !important; }
  .statement-inner { padding:80px 20px 88px; }
}


/* ══════════════════════════════════════════════════════════
   KAYLA'S PALETTE, CALM HALF
   Olive leads; sage and blush support; no orange, no brown.
══════════════════════════════════════════════════════════ */
:root {
  --olive:#7C6A0A;          /* her primary: buttons, accents */
  --olive-deep:#5E5108;     /* hover */
  --sage:#BABD8D;           /* her secondary: rules, small marks */
  --blush:#FFDAC6;          /* her soft tone */
  --burnt:#7C6A0A;          /* every former orange accent becomes olive */
  --amber:#BABD8D;
  --dark:#2B2E22;           /* olive-black ink instead of coffee brown */
  --ink:#2B2E22;
  --mid:#5C5F4A;
  --cream:#FAF8F3;
  --sand:#FBEEE6;           /* blush, washed out */
  --sage-wash:#EFF0E5;      /* sage, washed out */
  --rule-light:rgba(43,46,34,0.12);
}
.body-text, .help-item p, .process-step p, .service-card p, .value-card p, .modality-item p, .fee-card p,
.faq-answer p, .service-sidebar li, .contact-detail p, .contact-detail a, .ig-meta, .cta-band p,
.niche-section .body-text, .story-section .body-text, .niche-checklist li { color:#4F523F !important; }

/* Alternating soft tints from her palette */
.kayla-section, .contact-section { background:var(--sand); }
.instagram-section, .service-sidebar, .cta-band, .niche-section { background:var(--sage-wash) !important; }
section[style*="background:var(--blush)"], div[style*="background:var(--blush)"],
section[style*="background:var(--sage)"] { background:var(--sage-wash) !important; }

/* Buttons */
.btn-primary, .nav-cta, .mobile-menu .m-cta, .btn-white, .cta-band .btn-white, .story-section .btn-white, .book-bar .bb-book { background:var(--olive) !important; color:#fff !important; }
.btn-primary:hover, .nav-cta:hover, .btn-white:hover, .cta-band .btn-white:hover { background:var(--olive-deep) !important; }
.eyebrow::before { background:var(--sage); height:2px; }
.step-num { color:var(--sage) !important; }
.kayla-quote { border-left-color:var(--sage) !important; }
.nav-links a:hover, .nav-links a.active, .mobile-menu a.active { color:var(--olive) !important; }

/* Footer: deep olive instead of brown */
footer { background:#2B2E22; }
.footer-col a:hover, .footer-bottom a, footer a[style*="amber"] { color:var(--sage) !important; }
::selection { background:var(--sage-wash); color:var(--ink); }


/* ══════════════════════════════════════════════════════════
   LIGHT HEROES: cream fade + ink type (airy, feminine)
══════════════════════════════════════════════════════════ */
.hero { background:linear-gradient(100deg, rgba(250,248,243,0.92) 0%, rgba(250,248,243,0.7) 32%, rgba(250,248,243,0.1) 58%, rgba(250,248,243,0) 75%), url('../images/rd-butterfly-wide.jpg') center 50%/cover no-repeat !important; }
.hero-headline, .page-hero h1 { color:var(--ink) !important; text-shadow:none !important; }
.hero-right p, .page-hero p { color:#4F523F !important; text-shadow:none !important; }
.hero-right { border-top-color:rgba(43,46,34,0.18) !important; border-left-color:rgba(43,46,34,0.18) !important; }
.breadcrumb, .breadcrumb a { color:var(--mid) !important; }
.breadcrumb a:hover { color:var(--olive) !important; }
.page-hero { border-bottom:1px solid var(--rule-light); }
@media (max-width:767px) {
  /* Photo sits on top, fades to cream; copy starts below the butterfly instead of over it */
  .hero { min-height:0 !important; padding:118vw 20px 60px !important; align-items:flex-start !important;
    background:linear-gradient(to bottom, rgba(250,248,243,0) 0, rgba(250,248,243,0) 82vw, rgba(250,248,243,0.88) 110vw, #FAF8F3 124vw), url('../images/rd-butterfly-mobile.jpg') center -10vw/100% auto no-repeat, #FAF8F3 !important; }
  .hero-inner { gap:24px !important; }
  .page-hero.hero-about, .page-hero.hero-services, .page-hero.hero-women, .page-hero.hero-path, .page-hero.hero-journal,
  .page-hero.hero-leaves, .page-hero.hero-faq, .page-hero.hero-contact, .hero-blog {
    background-blend-mode:normal; }
  .page-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(250,248,243,0.9) 0%, rgba(250,248,243,0.7) 55%, rgba(250,248,243,0.2) 100%); pointer-events:none; }
  .page-hero { position:relative; }
  .page-hero-inner { position:relative; z-index:1; }
}


/* ══════════════════════════════════════════════════════════
   TYPE: Petrona Light (display) + Figtree (text)
   Soft, warm, contemporary. Light headings, regular wordmark.
══════════════════════════════════════════════════════════ */
h1, h2, h3, .hero-headline, .section-title, .page-hero h1, .cta-band h2, .statement-line,
.service-detail h2, .service-detail h3, .help-item h3, .process-step h3, .modality-item h3, .value-card h3, .service-card h3,
.kayla-credentials strong, .faq-question, .fee-num, .step-num, .mobile-menu a, .blog-card-body h2, .post-body h2, .post-body h3 { font-weight:300 !important; }
.hero-headline { font-size:clamp(2.7rem,4.8vw,4.5rem); line-height:1.05; letter-spacing:-0.02em; }
.page-hero h1 { font-size:clamp(2.3rem,4vw,3.6rem); letter-spacing:-0.018em; }
.section-title { font-size:clamp(1.9rem,2.9vw,2.7rem); letter-spacing:-0.015em; }
.statement-line { letter-spacing:-0.02em; }
.faq-question, .help-item h3, .process-step h3, .modality-item h3, .service-card h3, .value-card h3 { font-weight:400 !important; }

/* Wordmark: lighter, more delicate lockup */
.nav-logo { gap:10px; }
.nav-logo svg { width:27px; height:20px; opacity:0.92; }
.nav-logo-text { font-family:'Petrona',serif; font-weight:400 !important; font-size:1.62rem; letter-spacing:-0.01em; }
.nav-logo-text span { font-family:'Figtree',sans-serif; font-size:0.52rem; letter-spacing:0.38em; margin-top:4px; }
.footer-logo .fl-word, .mobile-menu-brand-name { font-family:'Petrona',serif; font-weight:400 !important; letter-spacing:-0.01em; }
.footer-logo svg { width:24px; height:18px; }
.kayla-quote p { font-family:'Petrona',serif; font-style:italic; font-weight:300; font-size:1.22rem; line-height:1.6; }

.page-hero.hero-women { background-position:center 50%; }
.page-hero.hero-services { background-position:center 50%; }

/* Site Info: office on/off blocks are toggled with the hidden attribute at build time */
[hidden] { display:none !important; }

/* For Women page: maternal section, white with the photo on the left */
.niche-section.niche-mothers { background:#fff !important; border-top:1px solid var(--rule-light); }

/* Contact form: never wider than the phone (long select options were pushing it out) */
.contact-layout > *, .form-row > *, .home-contact-grid > * { min-width:0; }
.contact-form select, .contact-form input, .contact-form textarea { max-width:100%; width:100%; }
