/*
 Theme Name: GeneratePress Child
 Template: generatepress
 Version: 2.1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap');

/* ── TOKENS ── */
:root {
  --pink:        #D4537E;
  --pink-dark:   #993556;
  --pink-light:  #FBEAF0;
  --pink-border: #F4C0D1;
  --blush:       #FDF5F7;
  --charcoal:    #2C2C2A;
  --muted:       #5F5E5A;
  --grey:        #888780;
  --nearblack:   #161614;
  --white:       #ffffff;
  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-body:   'DM Sans', system-ui, sans-serif;
  --radius:      3px;
  --max-w:       1200px;
  --pad:         40px;
}

/* ── BASE ── */
*, *::before, *::after { box-sizing: border-box; }
body { font-family: var(--font-body); background: var(--blush); color: var(--charcoal); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; margin: 0; }
a { color: var(--pink); text-decoration: none; }
a:hover { color: var(--pink-dark); }
img { max-width: 100%; height: auto; display: block; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-display); font-weight: 600; line-height: 1.15; color: var(--charcoal); margin: 0; }
p { margin: 0 0 1em; }

/* ── TOP BAR ── */
.csmd-topbar { background: var(--charcoal); color: #B4B2A9; text-align: center; padding: 9px 20px; font-size: 11px; letter-spacing: 0.08em; font-family: var(--font-body); }
.csmd-topbar a { color: var(--pink-border); text-decoration: none; }

/* ── HEADER ── */
.site-header, .header-main-bar-wrap { background: var(--white) !important; border-bottom: 1px solid var(--pink-border) !important; box-shadow: none !important; }
.site-logo img { width: 64px !important; height: 64px !important; object-fit: contain !important; }
.site-title, .site-title a { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important; font-weight: 700 !important; font-size: 18px !important; letter-spacing: 0.05em !important; text-transform: uppercase !important; color: var(--charcoal) !important; line-height: 1.15 !important; }
.site-description { font-family: var(--font-body) !important; font-size: 13px !important; color: var(--pink-dark) !important; letter-spacing: 0.04em !important; margin: 3px 0 0 !important; }

/* ── NAV desktop ── */
@media (min-width: 1025px) {
  .site-header .inside-header,
  .site-header .grid-container { max-width: var(--max-w) !important; padding: 0 var(--pad) !important; margin: 0 auto !important; }
  .main-navigation { float: none !important; margin-left: auto !important; }
  .main-navigation .main-nav > ul { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 28px !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
  .main-navigation .main-nav > ul > li { float: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; align-items: center !important; }
  .main-navigation .main-nav > ul > li > a { font-family: var(--font-body) !important; font-size: 13px !important; letter-spacing: 0.07em !important; text-transform: uppercase !important; color: var(--charcoal) !important; line-height: 1 !important; padding: 4px 0 !important; white-space: nowrap !important; }
  .main-navigation .main-nav > ul > li > a:hover { color: var(--pink) !important; background: none !important; }
  .main-navigation li.nav-cta > a { background: var(--pink) !important; color: var(--white) !important; border: none !important; border-radius: var(--radius) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; padding: 12px 24px !important; line-height: 1.2 !important; height: auto !important; white-space: nowrap !important; display: inline-block !important; }
  .main-navigation li.nav-cta > a:hover { background: var(--pink-dark) !important; color: var(--white) !important; }
}

/* ── NAV active state — desktop ── */
@media (min-width: 1025px) {
  .main-navigation .current-menu-item > a,
  .main-navigation .current_page_item > a { color: var(--pink) !important; }
  .main-navigation li.nav-cta.current-menu-item > a,
  .main-navigation li.nav-cta.current_page_item > a { color: var(--white) !important; }
}

/* ── NAV mobile ── */
@media (max-width: 1024px) {
  /* header-main-bar-wrap is the shared parent of .site-header and .main-navigation */
  .header-main-bar-wrap { position: relative !important; }

  /* Header bar sizing */
  .site-header .inside-header,
  .site-header .grid-container,
  .site-header .inside-header.grid-container {
    padding: 0 16px !important;
    min-height: 64px !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
  }
  .site-header .site-logo img,
  .site-header .site-logo a img,
  header .site-logo img { width: 36px !important; height: 36px !important; max-width: 36px !important; max-height: 36px !important; }
  .site-title, .site-title a, h1.site-title, h1.site-title a { font-size: 13px !important; }
  .site-description { font-size: 10px !important; margin-top: 1px !important; }

  /* Closed: nav sits top-right, auto-width, transparent, only toggle visible */
  .main-navigation {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: auto !important;
    background: transparent !important;
    z-index: 9999 !important;
  }
  .menu-toggle {
    display: flex !important;
    align-items: center !important;
    height: 64px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    background: transparent !important;
    font-size: 0 !important;          /* hide "Menu" text */
    gap: 0 !important;
  }
  /* Hide GP's built-in SVG bars and any duplicate icons */
  .menu-toggle .mobile-menu,
  .menu-toggle .menu-icon,
  .menu-toggle svg,
  .menu-toggle .gp-icon { display: none !important; }
  /* Single clean hamburger via pseudo-element */
  .menu-toggle::before {
    content: '' !important;
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    background: var(--charcoal) !important;
    box-shadow: 0 6px 0 var(--charcoal), 0 12px 0 var(--charcoal) !important;
    flex-shrink: 0 !important;
  }
  /* When open: show an × via unicode, drop the bars */
  .main-navigation.toggled .menu-toggle::before {
    content: '×' !important;
    font-size: 28px !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--charcoal) !important;
    font-family: var(--font-body) !important;
  }

  /* Hidden when closed */
  .main-navigation .main-nav { display: none !important; }

  /* Open: expand nav to full width with solid white background */
  .main-navigation.toggled {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: var(--white) !important;
    border-bottom: 2px solid var(--pink-border) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
  }
  /* Toggle row inside open nav — keep it 64px tall, right-aligned */
  .main-navigation.toggled .menu-toggle {
    display: flex !important;
    margin-left: auto !important;
    background: transparent !important;
  }
  /* Show the nav list below the toggle row */
  .main-navigation.toggled .main-nav {
    display: block !important;
    width: 100% !important;
  }
  .main-navigation.toggled .main-nav > ul {
    display: block !important;
    padding: 4px 0 8px !important;
    margin: 0 !important;
    width: 100% !important;
    list-style: none !important;
  }
  .main-navigation.toggled .main-nav > ul > li {
    display: block !important;
    width: 100% !important;
    border-top: 1px solid var(--pink-border) !important;
  }
  .main-navigation.toggled .main-nav > ul > li > a {
    display: block !important;
    padding: 14px 20px !important;
    color: var(--charcoal) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    background: var(--white) !important;
    line-height: 1.4 !important;
  }
  .main-navigation.toggled .main-nav > ul > li > a:hover { color: var(--pink) !important; background: var(--blush) !important; }
  .main-navigation.toggled li.nav-cta > a {
    background: var(--pink) !important;
    color: var(--white) !important;
    margin: 0 !important;
    border-radius: 0 !important;
    text-align: left !important;
    display: block !important;
    padding: 14px 20px !important;
  }

  /* Active state */
  .main-navigation .current-menu-item > a,
  .main-navigation .current_page_item > a { color: var(--pink) !important; font-weight: 600 !important; }
}

/* ── FOOTER ── */
.footer-widgets, .footer-bar { display: none !important; }
.site-footer { background: var(--nearblack) !important; padding: 28px 0 !important; }
.site-footer .inside-footer, .site-footer .inside-site-info { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--pad); }
.site-footer, .site-footer a, .site-footer p { color: var(--grey) !important; font-size: 12px; font-family: var(--font-body); }

/* ── BUTTONS ── */
.btn { display: inline-block; font-family: var(--font-body); font-size: 12px; font-weight: 500; letter-spacing: 0.07em; text-transform: uppercase; padding: 15px 34px; border-radius: var(--radius); transition: background 0.15s, color 0.15s, border-color 0.15s; text-decoration: none; line-height: 1; }
.btn--primary { background: var(--pink); color: var(--white) !important; border: 1.5px solid var(--pink); }
.btn--primary:hover { background: var(--pink-dark); border-color: var(--pink-dark); color: var(--white) !important; }
.btn--outline { background: transparent; color: var(--pink) !important; border: 1.5px solid var(--pink); }
.btn--outline:hover { background: var(--pink); color: var(--white) !important; }
.btn--sm { font-size: 11px !important; padding: 8px 16px !important; }

/* ── GP CONTAINER RESET ── */
.page-template-page-home .site-main, .page-template-page-home .content-area, .page-template-page-home .inside-article, .page-template-page-home .entry-content,
.about-page .site-main, .about-page .content-area, .about-page .inside-article, .about-page .entry-content,
.credentials-page .site-main, .credentials-page .content-area, .credentials-page .inside-article, .credentials-page .entry-content,
.contact-page .site-main, .contact-page .content-area, .contact-page .inside-article, .contact-page .entry-content,
.blog-archive .site-main, .blog-archive .content-area, .blog-archive .inside-article, .blog-archive .entry-content,
.single-post .site-main, .single-post .content-area, .single-post .inside-article { padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; }
.page .featured-image, .single .featured-image { display: none !important; }

/* ── SHARED ── */
.section-eyebrow { text-align: center; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--pink); display: block; margin-bottom: 10px; font-family: var(--font-body); }
.section-title { text-align: center; font-family: var(--font-display); font-size: 32px; font-weight: 600; color: var(--charcoal); margin: 0 0 48px; }

/* ── HOMEPAGE HERO ── */
.home-hero { background: var(--white); }
.home-hero__inner { max-width: var(--max-w); margin: 0 auto; padding: 72px var(--pad) 64px; display: grid; grid-template-columns: 1fr 320px; gap: 64px; align-items: start; }
.home-hero__eyebrow { font-family: var(--font-body); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--pink); margin-bottom: 20px; display: block; }
.home-hero__headline { font-family: var(--font-display); font-size: 48px; font-weight: 600; font-style: italic; line-height: 1.08; color: var(--charcoal); margin: 0 0 22px; }
.home-hero__headline em { font-style: italic; color: var(--pink); }
.home-hero__body { font-size: 15px; line-height: 1.8; color: var(--muted); margin-bottom: 22px; }
.home-hero__availability { background: var(--pink-light); border-left: 3px solid var(--pink); border-radius: 0 var(--radius) var(--radius) 0; padding: 14px 18px; margin-bottom: 28px; }
.home-hero__availability strong { font-weight: 600; color: var(--charcoal); display: block; font-size: 14px; margin-bottom: 4px; }
.home-hero__availability p { margin: 0; font-size: 13px; color: var(--muted); line-height: 1.5; }
.home-hero__buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.home-hero__photo { position: relative; }
.home-hero__photo img { width: 100%; border-radius: var(--radius); aspect-ratio: 3/4; object-fit: cover; object-position: top center; display: block; }
.home-hero__badge { position: absolute; bottom: -14px; left: -14px; background: var(--charcoal); padding: 14px 18px; border-radius: var(--radius); z-index: 2; }
.home-hero__badge span { display: block; font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pink-border); margin-bottom: 4px; font-family: var(--font-body); }
.home-hero__badge strong { font-family: var(--font-display); font-size: 16px; font-weight: 400; color: var(--white); }

/* ── AREAS ── */
.home-areas { background: var(--blush); padding: 72px var(--pad); }
.home-areas__inner { max-width: var(--max-w); margin: 0 auto; }
.home-areas__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--pink-border); border: 1px solid var(--pink-border); border-radius: var(--radius); overflow: hidden; }
.home-areas__item { background: var(--white); padding: 36px 24px 32px; text-align: center; }
.home-areas__item::before { content: ''; display: block; width: 32px; height: 2px; background: var(--pink); margin: 0 auto 20px; }
.home-areas__item h3 { font-family: var(--font-display); font-size: 20px; font-weight: 600; color: var(--charcoal); margin: 0 0 10px; line-height: 1.2; }
.home-areas__item p { font-size: 13px; line-height: 1.7; color: var(--grey); margin: 0; }

/* ── BLOG PREVIEW ── */
.home-blog { background: var(--white); padding: 72px var(--pad); }
.home-blog__inner { max-width: var(--max-w); margin: 0 auto; }
.home-blog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 36px; }
.home-blog__card { border: 1px solid var(--pink-border); border-radius: var(--radius); overflow: hidden; background: var(--white); transition: box-shadow 0.2s; }
.home-blog__card:hover { box-shadow: 0 4px 20px rgba(212,83,126,0.12); }
.home-blog__card-img { aspect-ratio: 16/10; overflow: hidden; background: var(--pink-light); }
.home-blog__card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.home-blog__card:hover .home-blog__card-img img { transform: scale(1.03); }
.home-blog__card-body { padding: 20px; }
.home-blog__cat { font-size: 10px; letter-spacing: 0.13em; text-transform: uppercase; color: var(--pink); display: block; margin-bottom: 8px; }
.home-blog__card h3 { font-family: var(--font-display); font-size: 18px; font-weight: 600; line-height: 1.3; margin: 0 0 8px; color: var(--charcoal); }
.home-blog__card p { font-size: 13px; line-height: 1.65; color: var(--muted); margin: 0 0 12px; }
.home-blog__read { font-size: 12px; color: var(--pink); }
.home-blog__view-all { text-align: center; }
.home-blog__view-all a { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--pink); border-bottom: 1px solid var(--pink); padding-bottom: 2px; }

/* ── CTA ── */
.home-cta { background: var(--charcoal); padding: 64px var(--pad); text-align: center; width: 100%; }
.home-cta .section-eyebrow { color: var(--pink-border); }
.home-cta h2 { font-family: var(--font-display); font-size: 40px; font-weight: 400; font-style: italic; color: var(--white); margin: 0 0 12px; }
.home-cta > p { font-size: 15px; color: var(--grey); margin: 0 0 28px; }

/* ── ABOUT ── */
.about-hero { background: var(--white); padding: 72px 0 80px; }
.about-hero__inner { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--pad); display: grid; grid-template-columns: 380px 1fr; gap: 72px; align-items: start; }
.about-hero__photo img { width: 100%; border-radius: var(--radius); aspect-ratio: 3/4; object-fit: cover; object-position: top center; display: block; }
.about-hero__awards { display: flex; flex-direction: column; margin-top: 20px; }
.about-hero__award { padding: 10px 0; border-bottom: 1px solid var(--pink-border); }
.about-hero__award:last-child { border-bottom: none; }
.about-hero__award-label { font-size: 13px; color: var(--muted); line-height: 1.4; }
.about-hero__headline { font-family: var(--font-display); font-size: 40px; font-weight: 600; color: var(--charcoal); margin: 8px 0 4px; line-height: 1.1; }
.about-hero__subtitle { font-size: 13px; color: var(--pink-dark); margin-bottom: 24px; font-style: italic; font-family: var(--font-display); }
.about-hero__text p { font-size: 15px; line-height: 1.8; color: var(--muted); margin-bottom: 16px; }
.about-hero__text a { color: var(--pink); }
.about-philosophy { background: var(--blush); padding: 72px var(--pad); }
.about-philosophy__inner { max-width: var(--max-w); margin: 0 auto; }
.about-philosophy__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.about-philosophy__col h3 { font-family: var(--font-display); font-size: 22px; font-weight: 600; margin-bottom: 12px; }
.about-philosophy__col p { font-size: 14px; line-height: 1.8; color: var(--muted); margin: 0; }
/* Mood Bars — white background matching about section */
.about-moodbars { background: var(--white); padding: 64px var(--pad); }
.about-moodbars__inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.about-moodbars__text .section-eyebrow { text-align: left; }
.about-moodbars__text h2 { font-family: var(--font-display); font-size: 36px; font-weight: 600; font-style: italic; color: var(--charcoal); margin: 8px 0 16px; }
.about-moodbars__text p { font-size: 15px; line-height: 1.8; color: var(--muted); margin-bottom: 24px; }
.about-moodbars__quote { font-family: var(--font-display); font-size: 26px; font-style: italic; font-weight: 400; color: var(--pink-border); line-height: 1.5; }

/* ── CREDENTIALS ── */
.credentials-inner { max-width: var(--max-w); margin: 0 auto; padding: 64px var(--pad); }
.credentials-header { margin-bottom: 56px; padding-bottom: 40px; border-bottom: 1px solid var(--pink-border); }
.credentials-header h1 { font-family: var(--font-display); font-size: 44px; font-weight: 600; margin: 8px 0; }
.credentials-subtitle { font-size: 13px; color: var(--muted); margin-bottom: 24px; }
.credentials-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 64px; }
.credentials-section h2 { font-family: var(--font-display); font-size: 24px; font-weight: 600; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid var(--pink-border); }
.credentials-section p { font-size: 14px; line-height: 1.8; color: var(--muted); }
.credentials-section p a { color: var(--pink); }
.credentials-section--full { grid-column: 1 / -1; }
.credentials-list { list-style: none; margin: 0; padding: 0; }
.credentials-list li { display: flex; flex-direction: column; padding: 12px 0; border-bottom: 1px solid var(--pink-border); gap: 2px; }
.credentials-list li:last-child { border-bottom: none; }
.credentials-list strong { font-weight: 600; font-size: 14px; color: var(--charcoal); }
.credentials-list span { font-size: 13px; color: var(--muted); }
.press-list { list-style: none; margin: 0; padding: 0; }
.press-list li { display: flex; align-items: baseline; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--pink-border); font-size: 13px; }
.press-list li:last-child { border-bottom: none; }
.press-date { color: var(--grey); white-space: nowrap; flex-shrink: 0; font-size: 12px; }
.press-outlet { color: var(--pink); font-weight: 500; white-space: nowrap; flex-shrink: 0; font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; }
.press-list a { color: var(--charcoal); }
.press-list a:hover { color: var(--pink); }

/* ── CONTACT ── */
.contact-inner { max-width: var(--max-w); margin: 0 auto; padding: 72px var(--pad); }
.contact-header { margin-bottom: 56px; padding-bottom: 40px; border-bottom: 1px solid var(--pink-border); }
.contact-header h1 { font-family: var(--font-display); font-size: 48px; font-weight: 600; margin-top: 8px; }
.contact-grid { display: grid; grid-template-columns: 1fr 340px; gap: 80px; align-items: start; }
.contact-info p { font-size: 16px; line-height: 1.8; color: var(--muted); margin-bottom: 20px; }
.contact-info a { color: var(--pink); }
.contact-emergency { background: var(--pink-light); border-left: 3px solid var(--pink); border-radius: 0 var(--radius) var(--radius) 0; padding: 12px 16px !important; font-size: 14px !important; }
.contact-details { background: var(--white); border: 1px solid var(--pink-border); border-radius: var(--radius); overflow: hidden; }
.contact-detail { padding: 20px 24px; border-bottom: 1px solid var(--pink-border); display: flex; flex-direction: column; gap: 4px; }
.contact-detail:last-child { border-bottom: none; }
.contact-detail__label { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pink); font-family: var(--font-body); }
.contact-detail__value { font-size: 15px; color: var(--charcoal); line-height: 1.5; }
a.contact-detail__value { color: var(--charcoal); }
a.contact-detail__value:hover { color: var(--pink); }

/* ── BLOG ARCHIVE ── */
.blog-archive__inner { max-width: var(--max-w); margin: 0 auto; padding: 48px var(--pad); }
.blog-archive__header { margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--pink-border); text-align: center; }
.blog-archive__title { font-family: var(--font-display); font-size: 44px; font-weight: 600; margin-top: 8px; text-align: center; }
.blog-archive__desc { font-size: 15px; color: var(--muted); margin-top: 12px; max-width: 600px; margin-left: auto; margin-right: auto; }
/* Category pills */
.blog-archive__cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; justify-content: center; }
.blog-cat-filter { display: inline-block !important; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); padding: 7px 16px; border: 1px solid var(--pink-border); border-radius: 100px; font-family: var(--font-body); transition: all 0.15s; background: var(--white); white-space: nowrap; cursor: pointer; }
.blog-cat-filter:hover,
.blog-cat-filter.active { background: var(--pink) !important; color: var(--white) !important; border-color: var(--pink) !important; }
/* Blog grid */
.blog-archive__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-bottom: 48px; }
.blog-card { background: var(--white); border: 1px solid var(--pink-border); border-radius: var(--radius); overflow: hidden; transition: box-shadow 0.2s; display: flex; flex-direction: column; }
.blog-card:hover { box-shadow: 0 4px 20px rgba(212,83,126,0.12); }
.blog-card__img { aspect-ratio: 16/10; overflow: hidden; background: var(--pink-light); flex-shrink: 0; }
.blog-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; display: block; }
.blog-card:hover .blog-card__img img { transform: scale(1.03); }
.blog-card__body { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.blog-card__cat { font-size: 10px; letter-spacing: 0.13em; text-transform: uppercase; color: var(--pink); display: block; margin-bottom: 8px; }
.blog-card__title { font-family: var(--font-display); font-size: 20px; font-weight: 600; line-height: 1.25; margin: 0 0 10px; }
.blog-card__title a { color: var(--charcoal); }
.blog-card__title a:hover { color: var(--pink); }
.blog-card__excerpt { font-size: 13px; line-height: 1.65; color: var(--muted); margin: 0 0 16px; flex: 1; }
.blog-card__footer { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--pink-border); }
.blog-card__date { font-size: 11px; color: var(--grey); }
.blog-card__read { font-size: 12px; color: var(--pink); }
/* Pagination */
.blog-archive__pagination { text-align: center; }
.blog-archive__pagination .nav-links { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.blog-archive__pagination .nav-links a,
.blog-archive__pagination .nav-links span.page-numbers { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--pink-border); border-radius: var(--radius); font-size: 13px; color: var(--charcoal); background: var(--white); }
.blog-archive__pagination .nav-links a:hover { background: var(--pink); color: var(--white); border-color: var(--pink); }
.blog-archive__pagination .nav-links span.current { background: var(--pink); color: var(--white); border-color: var(--pink); }

/* ── SINGLE POST ── */
.single-post { background: var(--white); }
.single-post__article { max-width: 740px; margin: 0 auto; padding: 64px var(--pad); }
.single-post__cat { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pink); display: block; margin-bottom: 12px; }
.single-post__title { font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; margin: 0 0 16px; }
.single-post__date { font-size: 12px; color: var(--grey); display: block; margin-bottom: 32px; }
.single-post__image { margin-bottom: 40px; border-radius: var(--radius); overflow: hidden; aspect-ratio: 16/9; }
.single-post__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.single-post__content { font-size: 16px; line-height: 1.85; }
.single-post__content p { margin-bottom: 1.5em; }
.single-post__content h2 { font-family: var(--font-display); font-size: 28px; font-weight: 600; margin: 2em 0 0.75em; }
.single-post__content h3 { font-family: var(--font-display); font-size: 22px; font-weight: 600; margin: 1.75em 0 0.5em; }
.single-post__content a { color: var(--pink); }
.single-post__content ul, .single-post__content ol { padding-left: 1.5em; margin-bottom: 1.5em; }
.single-post__content li { margin-bottom: 0.5em; }
.single-post__content blockquote { border-left: 3px solid var(--pink); padding: 12px 20px; margin: 2em 0; font-style: italic; color: var(--muted); }
.single-post__footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--pink-border); }
.single-post__back { font-size: 13px; color: var(--pink); }
.featured-in-callout { background: var(--pink-light); border-left: 3px solid var(--pink); border-radius: 0 var(--radius) var(--radius) 0; padding: 14px 18px; margin-bottom: 32px; font-size: 13px; color: var(--muted); }
.featured-in-callout strong { color: var(--pink); }

/* ── RADIO ── */
.radio-player { margin-bottom: 48px; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--pink-border); }

/* ── RESPONSIVE 900px ── */
@media (max-width: 900px) {
  .home-hero__inner { grid-template-columns: 1fr; padding: 40px 24px 48px; gap: 40px; }
  .home-hero__photo { order: -1; }
  .home-hero__photo img { aspect-ratio: 4/3; }
  .home-hero__badge { display: none; }
  .home-hero__headline { font-size: 36px; }
  .home-areas__grid { grid-template-columns: repeat(2, 1fr); }
  .home-blog__grid { grid-template-columns: repeat(2, 1fr); }
  .home-areas, .home-blog, .home-cta { padding: 48px 24px; }
  .about-hero__inner { grid-template-columns: 1fr; gap: 40px; padding: 40px 24px; }
  .about-hero__text { order: -1; }
  .about-hero__photo img { aspect-ratio: 4/3; }
  .about-philosophy__cols { grid-template-columns: 1fr; gap: 32px; }
  .about-moodbars__inner { grid-template-columns: 1fr; }
  .about-moodbars__quote { display: none; }
  .about-philosophy, .about-moodbars { padding: 48px 24px; }
  .credentials-grid { grid-template-columns: 1fr; }
  .credentials-section--full { grid-column: 1; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .contact-inner, .credentials-inner { padding: 48px 24px; }
  .blog-archive__grid { grid-template-columns: repeat(2, 1fr); }
  .blog-archive__inner { padding: 40px 24px; }
}

/* ── RESPONSIVE 600px ── */
@media (max-width: 600px) {
  .home-hero__headline { font-size: 28px; }
  .home-areas__grid { grid-template-columns: 1fr 1fr; }
  .home-blog__grid { grid-template-columns: 1fr; }
  .home-hero__buttons { flex-direction: column; }
  .btn { text-align: center; }
  .blog-archive__grid { grid-template-columns: 1fr; }
  .blog-archive__title { font-size: 32px; }
  .single-post__title { font-size: 32px; }
  .single-post__article { padding: 32px 20px; }
  .press-list li { flex-wrap: wrap; }
  .credentials-inner { padding: 32px 20px; }
  .about-hero { padding: 32px 0; }
  .about-hero__inner { padding: 0 20px; }
  .about-hero__text { order: -1; }
}

/* ── MOBILE PILLS — wrap naturally ── */
@media (max-width: 1024px) {
  .blog-archive__cats {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    overflow-x: visible !important;
  }
}
