/* ==========================================================================
   HERO DISPLAY TREATMENT — EmpowerMendWell
   Big display serif on cream card with accent underline swash.
   Matches the "Deeper Healing Begins at the Root" reference.
   ========================================================================== */

.hero-card {
    background-color: #FBFAF3;
    color: #1a0f2e;
    padding: clamp(2rem, 5vw, 3.5rem);
    border-radius: 20px;
    box-shadow: 0 24px 60px rgba(10, 4, 21, 0.28), 0 2px 8px rgba(10, 4, 21, 0.12);
    max-width: 640px;
}

/* Kill inherited text-shadow/animation from legacy hero styles.
   Everything inside the cream card sits on a solid background, so it
   doesn't need a shadow halo (which reads as blur on dark text). */
.hero-card,
.hero-card h1,
.hero-card h2,
.hero-card p,
.hero-card a,
.hero-card .wp-block-button__link {
    text-shadow: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.hero-display {
    font-family: 'Fraunces', Georgia, serif !important;
    font-weight: 400 !important;
    font-size: clamp(2.6rem, 5.8vw, 4.4rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.02em !important;
    color: #1a0f2e !important;
    margin: 0 0 20px 0 !important;
}

.hero-display .accent-underline {
    position: relative;
    display: inline-block;
    white-space: nowrap;
}

.hero-display .accent-underline::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.08em;
    height: 0.34em;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 18' preserveAspectRatio='none'><path d='M4 12 Q 55 2 110 10 T 216 7' stroke='%23C45BAA' stroke-width='5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/100% 100%;
    pointer-events: none;
}

.hero-card .hero-body {
    font-family: "DM Sans", sans-serif;
    font-size: clamp(1rem, 1.2vw, 1.125rem) !important;
    line-height: 1.6 !important;
    color: #1a0f2e !important;
    opacity: 0.85;
    margin: 0 0 14px 0 !important;
}

.hero-card .hero-location {
    font-family: "DM Sans", sans-serif;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    color: #5A5568 !important;
    margin: 0 0 26px 0 !important;
}

.hero-card .wp-block-buttons {
    margin-top: 0;
}

.hero-card .wp-block-button__link {
    background-color: var(--wp--preset--color--wellness-purple, #6B3FA0) !important;
    color: #ffffff !important;
    border-radius: 9999px !important;
    padding: 16px 36px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
    box-shadow: 0 8px 24px rgba(107, 63, 160, 0.35);
}

.hero-card .wp-block-button__link:hover {
    background-color: #552c85 !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(107, 63, 160, 0.45);
}

/* ==========================================================================
   TRUST SECTION — intro heading + 3 items (square corners)
   ========================================================================== */

.trust-intro {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 400;
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
    line-height: 1.35;
    letter-spacing: -0.01em;
    color: #ffffff;
    max-width: 900px;
    margin: 0 auto 28px auto;
    text-align: center;
}

/* ==========================================================================
   MOBILE OPTIMIZATIONS
   ========================================================================== */
@media (max-width: 768px) {
    .hero-card {
        padding: 1.6rem 1.5rem 1.8rem;
        border-radius: 16px;
        max-width: 100%;
    }
    .hero-display {
        font-size: clamp(2rem, 9vw, 2.7rem) !important;
    }
    .hero-card .hero-body {
        font-size: 0.95rem !important;
    }
    .hero-card .hero-location {
        font-size: 0.82rem !important;
        margin-bottom: 20px !important;
    }
    .hero-card .wp-block-button__link {
        padding: 14px 28px !important;
        font-size: 0.95rem !important;
    }
    .trust-intro {
        font-size: 1.1rem;
        padding: 0 8px;
    }
}

/* ==========================================================================
   ANNOUNCEMENT BAR MOBILE CTA
   ========================================================================== */
.announcement-bar-cta {
    display: inline-block;
    margin-left: 8px;
    padding: 4px 12px;
    background-color: #C45BAA;
    color: #ffffff !important;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}
.announcement-bar-cta:hover {
    background-color: #a0468b;
    color: #ffffff !important;
}
/* ==========================================================================
   EMPOWERMENDWELL — SERVICES & CONTACT PAGE DESIGN SYSTEM
   Editorial wellness aesthetic. Abstract line-art icons on cream cards.
   Append to assets/css/hero-display.css OR enqueue as standalone file.
   ========================================================================== */

/* --------------------------------------------------------------------------
   SERVICES PAGE HERO — pure typographic cream section
   -------------------------------------------------------------------------- */

.services-hero {
    background-color: #FBFAF3;
    padding: clamp(5rem, 10vw, 8rem) clamp(1.5rem, 5vw, 3rem) clamp(4rem, 8vw, 6rem);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.services-hero::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -120px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(107, 63, 160, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

.services-hero::after {
    content: "";
    position: absolute;
    bottom: -180px;
    left: -100px;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(196, 91, 170, 0.06) 0%, transparent 70%);
    pointer-events: none;
}

.services-hero > * {
    position: relative;
    z-index: 1;
}

.services-eyebrow {
    font-family: "DM Sans", sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #6B3FA0;
    margin: 0 0 20px 0;
}

.services-headline {
    font-family: "Fraunces", Georgia, serif !important;
    font-weight: 400 !important;
    font-size: clamp(2.8rem, 6vw, 4.8rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.025em !important;
    color: #1a0f2e !important;
    max-width: 780px;
    margin: 0 auto 28px auto !important;
}

.services-headline .accent-underline {
    position: relative;
    display: inline-block;
    white-space: nowrap;
}

.services-headline .accent-underline::after {
    content: "";
    position: absolute;
    left: -2%;
    right: -2%;
    bottom: -0.06em;
    height: 0.3em;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 18' preserveAspectRatio='none'><path d='M4 12 Q 55 2 110 10 T 216 7' stroke='%23C45BAA' stroke-width='5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/100% 100%;
    pointer-events: none;
}

.services-sub {
    font-family: "DM Sans", sans-serif;
    font-size: clamp(1.05rem, 1.4vw, 1.2rem);
    line-height: 1.65;
    color: #5E5A72;
    max-width: 640px;
    margin: 0 auto 36px auto;
}

/* --------------------------------------------------------------------------
   SERVICE CARDS GRID — cream cards on white, abstract SVG icons
   -------------------------------------------------------------------------- */

.service-grid {
    background-color: #FFFFFF;
    padding: clamp(4rem, 8vw, 6rem) clamp(1.5rem, 5vw, 3rem);
}

.service-card {
    background-color: #FBFAF3;
    border: 1px solid rgba(26, 15, 46, 0.06);
    border-radius: 20px !important;
    padding: 36px 32px 32px !important;
    transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    height: 100%;
    display: flex !important;
    flex-direction: column;
    gap: 0;
    position: relative;
    overflow: hidden;
}

.service-card::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #6B3FA0 0%, #C45BAA 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.service-card:hover {
    border-color: rgba(107, 63, 160, 0.3);
    transform: translateY(-4px);
    box-shadow: 0 20px 45px rgba(26, 15, 46, 0.08);
}

.service-card:hover::after {
    transform: scaleX(1);
}

/* Icon slot rendered as a pseudo-element with inline SVG data URI */
.service-card .svc-icon {
    width: 52px;
    height: 52px;
    margin-bottom: 22px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.service-card .wp-block-heading {
    font-family: "Fraunces", Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 1.3rem !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
    color: #1a0f2e !important;
    margin: 0 0 12px 0 !important;
}

.service-card p {
    font-family: "DM Sans", sans-serif;
    font-size: 0.94rem;
    line-height: 1.6;
    color: #5E5A72;
    margin: 0 0 18px 0;
    flex: 1;
}

.service-card .service-card-link {
    font-family: "DM Sans", sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    color: #6B3FA0;
    text-decoration: none;
    letter-spacing: 0.01em;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap 0.2s ease;
}

.service-card .service-card-link::after {
    content: "→";
    transition: transform 0.2s ease;
}

.service-card:hover .service-card-link {
    gap: 10px;
}

.service-card:hover .service-card-link::after {
    transform: translateX(2px);
}

/* Ninth slot — "Book a consultation" card, wellness-purple filled */
.service-card.service-card-book {
    background: linear-gradient(135deg, #6B3FA0 0%, #8B5CC2 100%);
    color: #FFFFFF;
    border-color: transparent;
}

.service-card.service-card-book .svc-icon {
    filter: brightness(0) invert(1);
}

.service-card.service-card-book .wp-block-heading {
    color: #FFFFFF !important;
}

.service-card.service-card-book p {
    color: rgba(255, 255, 255, 0.85);
}

.service-card.service-card-book .service-card-link {
    color: #FFFFFF;
}

.service-card.service-card-book:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 45px rgba(107, 63, 160, 0.35);
    border-color: transparent;
}

/* SVG ICON SET — embedded as data URIs with the wellness-purple stroke (#6B3FA0) */
.svc-icon-anxiety {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><path d='M4 14c3-3 6-3 9 0s6 3 9 0 6-3 9 0 6 3 9 0 4-2 4-2' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round'/><path d='M4 24c3-2 6-2 9 0s6 2 9 0 6-2 9 0 6 2 9 0 4-1.2 4-1.2' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round'/><path d='M4 34c3-0.8 6-0.8 9 0s6 0.8 9 0 6-0.8 9 0 6 0.8 9 0 4-0.4 4-0.4' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round'/></svg>");
}

.svc-icon-depression {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><circle cx='24' cy='30' r='7' stroke='%236B3FA0' stroke-width='1.6'/><path d='M6 34h36' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round'/><path d='M24 8v4M12 14l2.5 2.5M36 14l-2.5 2.5M8 28H4M44 28h-4' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round'/></svg>");
}

.svc-icon-emdr {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><path d='M4 24c4-8 11-12 20-12s16 4 20 12c-4 8-11 12-20 12S8 32 4 24z' stroke='%236B3FA0' stroke-width='1.6' stroke-linejoin='round'/><circle cx='24' cy='24' r='5' stroke='%236B3FA0' stroke-width='1.6'/><path d='M2 42l3-3M46 42l-3-3' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round'/></svg>");
}

.svc-icon-transitions {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><path d='M24 42V28M24 28c0-5-4-9-9-9M24 28c0-5 4-9 9-9' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round'/><circle cx='15' cy='15' r='4' stroke='%236B3FA0' stroke-width='1.6'/><circle cx='33' cy='15' r='4' stroke='%236B3FA0' stroke-width='1.6'/><circle cx='24' cy='42' r='2' fill='%236B3FA0'/></svg>");
}

.svc-icon-couples {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><path d='M24 24c-3-6-10-8-14-4-3 3-3 9 0 12 4 4 11 2 14-4' stroke='%236B3FA0' stroke-width='1.6' stroke-linejoin='round'/><path d='M24 24c3-6 10-8 14-4 3 3 3 9 0 12-4 4-11 2-14-4' stroke='%236B3FA0' stroke-width='1.6' stroke-linejoin='round'/></svg>");
}

.svc-icon-family {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><circle cx='24' cy='15' r='6' stroke='%236B3FA0' stroke-width='1.6'/><circle cx='13' cy='30' r='5' stroke='%236B3FA0' stroke-width='1.6'/><circle cx='35' cy='30' r='5' stroke='%236B3FA0' stroke-width='1.6'/><path d='M18 24l-4 4M30 24l4 4' stroke='%236B3FA0' stroke-width='1.2' stroke-linecap='round' stroke-dasharray='1.5 2.5'/></svg>");
}

.svc-icon-child {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><path d='M24 42V22' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round'/><path d='M24 22c-8 0-10-6-10-10 8 0 10 6 10 10z' stroke='%236B3FA0' stroke-width='1.6' stroke-linejoin='round'/><path d='M24 22c8 0 10-6 10-10-8 0-10 6-10 10z' stroke='%236B3FA0' stroke-width='1.6' stroke-linejoin='round'/><path d='M16 42h16' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round'/></svg>");
}

.svc-icon-teen {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><circle cx='10' cy='36' r='3.5' stroke='%236B3FA0' stroke-width='1.6'/><circle cx='24' cy='26' r='4' stroke='%236B3FA0' stroke-width='1.6'/><circle cx='38' cy='14' r='4.5' stroke='%236B3FA0' stroke-width='1.6'/><path d='M13 34l8-6M28 23l7-6' stroke='%236B3FA0' stroke-width='1.4' stroke-linecap='round' stroke-dasharray='1.5 2.5'/></svg>");
}

.svc-icon-book {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><path d='M24 6l6 12 12 2-9 8 2 12-11-6-11 6 2-12-9-8 12-2z' stroke='%23FFFFFF' stroke-width='1.6' stroke-linejoin='round'/></svg>");
}

/* --------------------------------------------------------------------------
   "WHAT TO EXPECT" — deep plum section, numbered steps
   -------------------------------------------------------------------------- */

.expect-section {
    background-color: #1a0f2e;
    padding: clamp(4rem, 8vw, 6rem) clamp(1.5rem, 5vw, 3rem);
    color: #FFFFFF;
}

.expect-eyebrow {
    font-family: "DM Sans", sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #C45BAA;
    text-align: center;
    margin: 0 0 14px 0;
}

.expect-heading {
    font-family: "Fraunces", Georgia, serif !important;
    font-weight: 400 !important;
    font-size: clamp(2rem, 4vw, 3rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: #FFFFFF !important;
    text-align: center;
    max-width: 720px;
    margin: 0 auto 48px auto !important;
}

.expect-step {
    padding: 0 !important;
}

.expect-step-num {
    font-family: "Fraunces", Georgia, serif !important;
    font-weight: 400 !important;
    font-size: 3rem !important;
    line-height: 1 !important;
    color: transparent !important;
    -webkit-text-stroke: 1.5px #6B3FA0;
    letter-spacing: -0.02em;
    margin: 0 0 18px 0 !important;
    display: inline-block;
}

.expect-step-title {
    font-family: "Fraunces", Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 1.3rem !important;
    line-height: 1.3 !important;
    color: #FFFFFF !important;
    margin: 0 0 12px 0 !important;
}

.expect-step-body {
    font-family: "DM Sans", sans-serif;
    font-size: 0.96rem;
    line-height: 1.65;
    color: #ddd0f5;
    margin: 0;
}

/* --------------------------------------------------------------------------
   "CHOOSE YOUR SESSION FORMAT" — two big format cards on cream
   -------------------------------------------------------------------------- */

.format-section {
    background-color: #FBFAF3;
    padding: clamp(4rem, 8vw, 6rem) clamp(1.5rem, 5vw, 3rem);
}

.format-heading {
    font-family: "Fraunces", Georgia, serif !important;
    font-weight: 400 !important;
    font-size: clamp(1.9rem, 3.8vw, 2.8rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: #1a0f2e !important;
    text-align: center;
    margin: 0 auto 40px auto !important;
    max-width: 720px;
}

.format-card {
    border-radius: 20px !important;
    padding: 40px 36px !important;
    height: 100%;
    display: flex !important;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.format-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 45px rgba(26, 15, 46, 0.12);
}

.format-card.format-inperson {
    background: #1a0f2e;
    color: #FFFFFF;
}

.format-card.format-online {
    background: linear-gradient(135deg, #6B3FA0 0%, #8B5CC2 100%);
    color: #FFFFFF;
}

.format-card .format-icon {
    width: 56px;
    height: 56px;
    margin-bottom: 22px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    filter: brightness(0) invert(1);
}

.format-card .wp-block-heading {
    font-family: "Fraunces", Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 1.5rem !important;
    color: #FFFFFF !important;
    margin: 0 0 10px 0 !important;
}

.format-card p {
    color: rgba(255, 255, 255, 0.88);
    font-family: "DM Sans", sans-serif;
    font-size: 0.98rem;
    line-height: 1.65;
    margin: 0 0 16px 0;
}

.format-card ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 18px 0;
    font-family: "DM Sans", sans-serif;
}

.format-card ul li {
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    line-height: 1.55;
    padding-left: 24px;
    position: relative;
    margin-bottom: 8px;
}

.format-card ul li::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 10px;
    width: 10px;
    height: 2px;
    background: currentColor;
    opacity: 0.7;
}

.format-ideal {
    margin-top: auto !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    font-size: 0.85rem !important;
    color: rgba(255, 255, 255, 0.7) !important;
    font-style: italic;
}

.format-icon-inperson {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><path d='M6 40V18l18-10 18 10v22' stroke='%236B3FA0' stroke-width='1.6' stroke-linejoin='round'/><path d='M6 40h36' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round'/><path d='M18 40V26h12v14' stroke='%236B3FA0' stroke-width='1.6' stroke-linejoin='round'/></svg>");
}

.format-icon-online {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><rect x='6' y='12' width='28' height='22' rx='3' stroke='%236B3FA0' stroke-width='1.6'/><path d='M34 20l8-4v16l-8-4z' stroke='%236B3FA0' stroke-width='1.6' stroke-linejoin='round'/></svg>");
}

/* --------------------------------------------------------------------------
   FINAL CTA BAND — wellness-purple
   -------------------------------------------------------------------------- */

.cta-band {
    background: linear-gradient(135deg, #6B3FA0 0%, #7F4BC2 100%);
    padding: clamp(4rem, 8vw, 6rem) clamp(1.5rem, 5vw, 3rem);
    text-align: center;
    color: #FFFFFF;
    position: relative;
    overflow: hidden;
}

.cta-band::before,
.cta-band::after {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

.cta-band::before {
    top: -250px;
    left: -200px;
}

.cta-band::after {
    bottom: -250px;
    right: -200px;
}

.cta-band > * {
    position: relative;
    z-index: 1;
}

.cta-band .cta-heading {
    font-family: "Fraunces", Georgia, serif !important;
    font-weight: 400 !important;
    font-size: clamp(2.2rem, 4.5vw, 3.4rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: #FFFFFF !important;
    max-width: 680px;
    margin: 0 auto 18px auto !important;
}

.cta-band .cta-sub {
    font-family: "DM Sans", sans-serif;
    font-size: clamp(1rem, 1.3vw, 1.12rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    max-width: 520px;
    margin: 0 auto 32px auto;
}

.cta-band .cta-phone {
    margin-top: 22px !important;
    font-family: "DM Sans", sans-serif;
    font-size: 0.9rem !important;
    color: rgba(255, 255, 255, 0.75) !important;
}

.cta-band .cta-phone a {
    color: #FFFFFF !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding-bottom: 1px;
}

/* --------------------------------------------------------------------------
   BUTTON NORMALIZATION — pill-shape everywhere, consistent treatment
   Catches any stray Gutenberg button that hasn't been individually styled.
   -------------------------------------------------------------------------- */

.emw-btn-primary .wp-block-button__link,
.emw-btn-primary a.wp-block-button__link {
    background-color: #6B3FA0 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 9999px !important;
    padding: 16px 36px !important;
    font-family: "DM Sans", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    box-shadow: 0 8px 24px rgba(107, 63, 160, 0.3);
    transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.emw-btn-primary .wp-block-button__link:hover,
.emw-btn-primary a.wp-block-button__link:hover {
    background-color: #552c85 !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(107, 63, 160, 0.42);
}

.emw-btn-on-dark .wp-block-button__link,
.emw-btn-on-dark a.wp-block-button__link {
    background-color: #FFFFFF !important;
    color: #1a0f2e !important;
    border: none !important;
    border-radius: 9999px !important;
    padding: 16px 36px !important;
    font-family: "DM Sans", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.emw-btn-on-dark .wp-block-button__link:hover,
.emw-btn-on-dark a.wp-block-button__link:hover {
    background-color: #FBFAF3 !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

/* Safety net: any `is-style-outline` button globally gets a proper pill */
.wp-block-button.is-style-outline .wp-block-button__link {
    border-radius: 9999px !important;
    border-width: 2px !important;
}

/* --------------------------------------------------------------------------
   CONTACT PAGE — "What to Expect" icon cards
   -------------------------------------------------------------------------- */

.contact-step-card {
    background-color: #FFFFFF;
    border: 1px solid rgba(26, 15, 46, 0.06);
    border-radius: 18px !important;
    padding: 32px 28px !important;
    height: 100%;
    display: flex !important;
    flex-direction: column;
    transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.contact-step-card:hover {
    border-color: rgba(107, 63, 160, 0.25);
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(26, 15, 46, 0.07);
}

.contact-step-card .step-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 18px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
}

.contact-step-card .wp-block-heading {
    font-family: "Fraunces", Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 1.2rem !important;
    color: #1a0f2e !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -0.005em;
}

.contact-step-card p {
    font-family: "DM Sans", sans-serif;
    font-size: 0.94rem;
    line-height: 1.6;
    color: #5E5A72;
    margin: 0;
}

.step-icon-secure {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><path d='M24 6l14 4v14c0 8-6 14-14 16-8-2-14-8-14-16V10l14-4z' stroke='%236B3FA0' stroke-width='1.6' stroke-linejoin='round'/><path d='M18 24l4 4 8-8' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

.step-icon-calendar {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><rect x='8' y='10' width='32' height='30' rx='3' stroke='%236B3FA0' stroke-width='1.6'/><path d='M16 6v8M32 6v8M8 18h32' stroke='%236B3FA0' stroke-width='1.6' stroke-linecap='round'/><rect x='20' y='24' width='8' height='8' rx='1.5' fill='%236B3FA0'/></svg>");
}

.step-icon-chat {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><path d='M4 14c0-2 2-4 4-4h20c2 0 4 2 4 4v10c0 2-2 4-4 4h-10l-8 6v-6H8c-2 0-4-2-4-4V14z' stroke='%236B3FA0' stroke-width='1.6' stroke-linejoin='round'/><path d='M20 34c0 2 2 4 4 4h6l6 4v-4h2c2 0 4-2 4-4V24c0-2-2-4-4-4' stroke='%236B3FA0' stroke-width='1.6' stroke-linejoin='round'/></svg>");
}

/* --------------------------------------------------------------------------
   MOBILE OPTIMIZATIONS
   -------------------------------------------------------------------------- */

@media (max-width: 900px) {
    .services-headline {
        font-size: clamp(2.2rem, 8vw, 3rem) !important;
    }
}

@media (max-width: 768px) {
    .services-hero {
        padding: clamp(3.5rem, 10vw, 5rem) 1.5rem clamp(3rem, 8vw, 4rem);
    }
    .services-headline {
        font-size: clamp(2rem, 9vw, 2.6rem) !important;
    }
    .services-sub {
        font-size: 1rem;
    }
    .service-card {
        padding: 28px 24px 24px !important;
    }
    .service-card .svc-icon {
        width: 44px;
        height: 44px;
        margin-bottom: 16px;
    }
    .service-card .wp-block-heading {
        font-size: 1.2rem !important;
    }
    .expect-section {
        padding: 3rem 1.5rem;
    }
    .expect-step-num {
        font-size: 2.3rem !important;
    }
    .format-card {
        padding: 32px 28px !important;
    }
    .cta-band .cta-heading {
        font-size: clamp(1.8rem, 8vw, 2.4rem) !important;
    }
    .contact-step-card {
        padding: 26px 22px !important;
    }
}
