:root {
            --pink: #edc4cb;
            --pink-deep: #c88998;
            --pink-pale: #fff5f6;

            --blue: #f4e2e7;
            --blue-deep: #a77a8b;

            --sage: #f1e0e6;
            --sage-deep: #b98a99;

            --cream: #fbf7f1;
            --peach: #f7e5d9;

            --lavender: #f3e6ec;
            --mauve: #a96f84;

            --ink: #293237;
            --muted: #717a7d;
            --line: #e8e2df;
            --white: #ffffff;

            --max: 1180px;
        }


        /* ==========================================
           RESET
        ========================================== */

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: "DM Sans", sans-serif;
            color: var(--ink);
            background: var(--white);
            line-height: 1.7;
        }

        img {
            width: 100%;
            display: block;
        }

        a {
            text-decoration: none;
            color: inherit;
        }

        button {
            font: inherit;
        }

        .container {
            width: min(var(--max), calc(100% - 40px));
            margin-inline: auto;
        }


        /* ==========================================
           HEADER
        ========================================== */

        header {
            position: sticky;
            top: 0;
            z-index: 100;
            background: var(--cream);
            border-bottom: 1px solid rgba(41,50,55,.08);
        }

        .navbar {
            height: 82px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 3px;
        }

        .brand-symbol {
            width: 60px;
            height: 60px;
            background: transparent;
            color: var(--pink-deep);
            border-radius: 0;
            display: grid;
            place-items: center;
            object-fit: cover;
            flex: none;
            font-family: Georgia, serif;
            font-size: 20px;
        }

        .brand-name {
            font-weight: 700;
            font-size: 14px;
        }

        .brand-sub {
            display: block;
            font-size: 9px;
            text-transform: uppercase;
            letter-spacing: .16em;
            color: var(--muted);
            margin-top: 2px;
        }

        .nav {
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .mob-call { display: none; }

        .nav-link {
            display: flex;
            align-items: center;
            gap: 7px;
            font: inherit;
            font-size: 13px;
            font-weight: 500;
            color: #525c60;
            background: none;
            border: 0;
            cursor: pointer;
            padding: 10px 12px;
            border-radius: 100px;
            transition: background .2s, color .2s;
        }

        .nav-ic { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; color: var(--ink); opacity: .7; }

        .nav-link.active { color: var(--pink-deep); background: var(--pink-pale); }
        .nav-link.active .nav-ic { opacity: 1; }

        .nav-chev { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: .55; transition: transform .25s; margin-left: -2px; }

        /* ---- Dropdown (desktop mega-menu style) ---- */
        .dd { position: relative; }

        .dd-menu {
            position: absolute;
            top: calc(100% + 10px);
            left: 50%;
            transform: translate(-50%, 6px);
            min-width: 300px;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 20px;
            padding: 10px;
            box-shadow: 0 24px 60px rgba(41,50,55,.14);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity .2s ease .15s, transform .2s ease .15s, visibility 0s linear .35s;
            z-index: 50;
        }

        /* Hover-driven behaviour only for real mouse pointers. On touch devices
           (phones/tablets) a tap simulates :hover/:focus and it can get "stuck"
           open on two menus at once — so touch relies solely on the .is-active
           class toggled by JS (see assets/js/main.js) instead. */
        @media (hover: hover) and (pointer: fine) {
            .nav-link:hover { color: var(--pink-deep); background: var(--pink-pale); }
            .nav-link:hover .nav-ic { opacity: 1; }
            .dd:hover .nav-chev, .dd:focus-within .nav-chev { transform: rotate(180deg); }
            .dd:hover .dd-menu, .dd:focus-within .dd-menu {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
                transform: translate(-50%, 0);
                transition-delay: 0s;
            }
            .dd-item:hover { background: var(--pink-pale); }
            .dd-item:hover .dd-ic.c0 { background: var(--pink-deep); color: #fff; }
            .dd-item:hover .dd-ic.c1 { background: var(--blue-deep); color: #fff; }
            .dd-item:hover .dd-ic.c2 { background: var(--sage-deep); color: #fff; }
            .dd-item:hover .dd-ic.c3 { background: #a96f84; color: #fff; }
        }

        .dd-item {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 11px 12px;
            border-radius: 13px;
            color: var(--ink);
        }

        .dd-item + .dd-item { margin-top: 1px; }
        .dd-item.active { background: var(--pink-pale); }

        .dd-ic {
            width: 38px; height: 38px; flex: none;
            border-radius: 11px;
            display: grid; place-items: center;
            background: var(--pink-pale);
            color: var(--pink-deep);
        }
        .dd-ic.c0 { background: var(--pink-pale); color: var(--pink-deep); }
        .dd-ic.c1 { background: var(--blue); color: var(--blue-deep); }
        .dd-ic.c2 { background: var(--sage); color: var(--sage-deep); }
        .dd-ic.c3 { background: var(--lavender); color: #a96f84; }
        .dd-item.active .dd-ic.c0 { background: var(--pink-deep); color: #fff; }
        .dd-item.active .dd-ic.c1 { background: var(--blue-deep); color: #fff; }
        .dd-item.active .dd-ic.c2 { background: var(--sage-deep); color: #fff; }
        .dd-item.active .dd-ic.c3 { background: #a96f84; color: #fff; }
        .dd-ic svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

        .dd-item b { display: block; font-size: 13.5px; font-weight: 700; }
        .dd-item small { display: block; font-size: 11.5px; color: var(--muted); font-weight: 400; margin-top: 1px; }

        .header-button {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: var(--mauve);
            color: white !important;
            padding: 11px 19px;
            border-radius: 100px;
            font-size: 13px;
            font-weight: 600;
            margin-left: 10px;
        }
        .header-button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

        .menu {
            display: none;
            width: 40px; height: 40px;
            border: 0;
            background: none;
            cursor: pointer;
            border-radius: 50%;
            flex: none;
        }
        .menu:hover { background: var(--pink-pale); }

        .menu span {
            display: block;
            width: 20px;
            height: 1.5px;
            background: var(--ink);
            margin: 5px auto;
            transition: transform .25s, opacity .25s;
        }
        .menu.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
        .menu.open span:nth-child(2) { opacity: 0; }
        .menu.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }


        /* ==========================================
           HERO
           Completely different layout
        ========================================== */

        .hero {
            background: var(--cream);
            min-height: 720px;
            position: relative;
            overflow: hidden;
        }

        .hero::before {
            content: "";
            position: absolute;
            width: 580px;
            height: 580px;
            border-radius: 50%;
            background: var(--pink);
            left: -280px;
            top: -210px;
            opacity: .45;
        }

        .hero-layout {
            min-height: 720px;
            position: relative;
            display: grid;
            grid-template-columns: 1fr 1fr;
            align-items: center;
            gap: 45px;
        }

        .hero-copy {
            position: relative;
            z-index: 2;
        }

        .tiny-label {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            color: var(--pink-deep);
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .18em;
            margin-bottom: 22px;
        }

        .tiny-label::before {
            content: "";
            width: 25px;
            height: 1px;
            background: currentColor;
        }

        .hero h1 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: clamp(48px, 5.6vw, 77px);
            font-weight: 400;
            line-height: 1.02;
            letter-spacing: -.045em;
            max-width: 650px;
        }

        .hero h1 span {
            color: var(--pink-deep);
            font-style: italic;
        }

        .hero-description {
            color: var(--muted);
            max-width: 490px;
            font-size: 15px;
            margin: 27px 0 30px;
        }

        .hero-links {
            display: flex;
            align-items: center;
            gap: 24px;
        }

        .primary {
            display: inline-flex;
            background: var(--pink-deep);
            color: white;
            padding: 13px 22px;
            border-radius: 100px;
            font-size: 12px;
            font-weight: 700;
            transition: .25s ease;
        }

        .primary:hover {
            transform: translateY(-2px);
            background: #b87989;
        }

        .text-link {
            font-size: 12px;
            font-weight: 700;
        }

        .text-link::after {
            content: "  →";
            color: var(--pink-deep);
        }

        .hero-visual {
            height: 600px;
            position: relative;
        }

        .hero-main-image {
            width: 390px;
            height: 520px;
            object-fit: cover;
            position: absolute;
            right: 70px;
            top: 40px;
            border-radius: 210px 210px 20px 20px;
        }

        .hero-small-image {
            width: 170px;
            height: 215px;
            object-fit: cover;
            position: absolute;
            bottom: 25px;
            left: 15px;
            border-radius: 90px 90px 16px 16px;
            border: 10px solid var(--cream);
        }

        .hero-sticker {
            position: absolute;
            right: 0;
            bottom: 80px;
            width: 115px;
            height: 115px;
            border-radius: 50%;
            background: var(--sage);
            display: grid;
            place-items: center;
            text-align: center;
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: .1em;
            line-height: 1.5;
            transform: rotate(8deg);
        }


        /* ==========================================
           INTRO STATEMENT
           Typography-only section
        ========================================== */

        .statement {
            padding: 105px 0;
            text-align: center;
            background: white;
        }

        .statement p {
            font-family: "Playfair Display", Georgia, serif;
            font-size: clamp(30px, 4vw, 52px);
            line-height: 1.22;
            max-width: 960px;
            margin: auto;
            letter-spacing: -.025em;
        }

        .statement p em {
            color: var(--pink-deep);
            font-weight: 400;
        }


        /* ==========================================
           SERVICES
           Horizontal magazine-style layout
        ========================================== */

        .services {
            background: var(--pink-pale);
            padding: 105px 0;
        }

        .services-header {
            display: flex;
            justify-content: space-between;
            align-items: end;
            margin-bottom: 55px;
            gap: 40px;
        }

        .services-header h2 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: 52px;
            font-weight: 400;
            line-height: 1.08;
        }

        .services-header p {
            max-width: 360px;
            color: var(--muted);
            font-size: 13px;
        }

        .service-feature {
            display: grid;
            grid-template-columns: 1.15fr .85fr;
            min-height: 470px;
        }

        .service-feature-image {
            overflow: hidden;
        }

        .service-feature-image img {
            height: 100%;
            min-height: 470px;
            object-fit: cover;
        }

        .service-feature-content {
            background: white;
            padding: 60px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .service-number {
            font-size: 11px;
            color: var(--pink-deep);
            font-weight: 700;
            letter-spacing: .16em;
            text-transform: uppercase;
        }

        .service-feature-content h3 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: 43px;
            font-weight: 400;
            line-height: 1.1;
            margin: 25px 0 18px;
        }

        .service-feature-content p {
            color: var(--muted);
            font-size: 14px;
            max-width: 410px;
        }

        .service-feature-content a {
            margin-top: 30px;
            font-size: 12px;
            font-weight: 700;
        }


        /* ==========================================
           SERVICE MINI NAV
           No cards
        ========================================== */

        .service-nav {
            background: white;
            border-bottom: 1px solid var(--line);
        }

        .service-nav-inner {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
        }

        .service-nav a {
            padding: 24px 20px;
            border-right: 1px solid var(--line);
            font-size: 12px;
            font-weight: 600;
            transition: .2s ease;
        }

        .service-nav a:first-child {
            border-left: 1px solid var(--line);
        }

        .service-nav a:hover {
            background: var(--blue);
        }

        .service-nav span {
            display: block;
            color: var(--pink-deep);
            font-size: 9px;
            letter-spacing: .12em;
            margin-bottom: 5px;
        }


        /* ==========================================
           ABOUT
           Asymmetrical image composition
        ========================================== */

        .about {
            padding: 130px 0;
        }

        .about-layout {
            display: grid;
            grid-template-columns: .8fr 1.2fr;
            gap: 90px;
            align-items: center;
        }

        .about-photo {
            position: relative;
            height: 600px;
        }

        .about-photo-main {
            position: absolute;
            width: 330px;
            height: 480px;
            object-fit: cover;
            left: 50px;
            top: 40px;
            border-radius: 170px 170px 20px 20px;
        }

        .about-photo-small {
            position: absolute;
            width: 165px;
            height: 220px;
            object-fit: cover;
            right: 0;
            bottom: 30px;
            border-radius: 16px;
            border: 9px solid white;
        }

        .about-circle {
            position: absolute;
            width: 100px;
            height: 100px;
            background: var(--peach);
            border-radius: 50%;
            left: 0;
            bottom: 70px;
        }

        .about-copy h2 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: clamp(42px, 5vw, 62px);
            line-height: 1.06;
            font-weight: 400;
        }

        .about-copy h2 span {
            color: var(--pink-deep);
        }

        .about-copy > p {
            max-width: 550px;
            color: var(--muted);
            margin: 25px 0;
        }

        .about-detail {
            margin-top: 40px;
            display: flex;
            gap: 35px;
        }

        .about-detail div {
            padding-left: 17px;
            border-left: 2px solid var(--pink);
        }

        .about-detail strong {
            display: block;
            font-size: 12px;
        }

        .about-detail span {
            font-size: 11px;
            color: var(--muted);
        }


        /* ==========================================
           CARE JOURNEY
           Timeline, NOT cards
        ========================================== */

        .journey {
            background: var(--blue);
            padding: 110px 0 120px;
        }

        .journey-heading {
            text-align: center;
            margin-bottom: 75px;
        }

        .journey-heading h2 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: 52px;
            font-weight: 400;
        }

        .journey-heading p {
            max-width: 530px;
            color: #60757d;
            margin: 15px auto 0;
        }

        .timeline {
            position: relative;
            max-width: 950px;
            margin: auto;
        }

        .timeline::before {
            content: "";
            position: absolute;
            top: 28px;
            bottom: 28px;
            left: 50%;
            width: 1px;
            background: rgba(60,90,100,.2);
        }

        .timeline-item {
            position: relative;
            display: grid;
            grid-template-columns: 1fr 80px 1fr;
            align-items: center;
            margin-bottom: 45px;
        }

        .timeline-item:last-child {
            margin-bottom: 0;
        }

        .timeline-content {
            padding: 0 30px;
        }

        .timeline-item:nth-child(even) .timeline-content:first-child {
            grid-column: 3;
            grid-row: 1;
        }

        .timeline-item:nth-child(even) .timeline-content:nth-child(3) {
            grid-column: 1;
            grid-row: 1;
            text-align: right;
        }

        .timeline-dot {
            width: 58px;
            height: 58px;
            background: white;
            border-radius: 50%;
            margin: auto;
            display: grid;
            place-items: center;
            position: relative;
            z-index: 2;
            font-family: "Playfair Display", Georgia, serif;
            color: var(--blue-deep);
            font-size: 20px;
        }

        .timeline-content h3 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: 27px;
            font-weight: 400;
        }

        .timeline-content p {
            color: #60757d;
            font-size: 13px;
            margin-top: 7px;
        }


        /* ==========================================
           PINK FEATURE
           Large editorial quote
        ========================================== */

        .feature-quote {
            padding: 120px 0;
            background: var(--sage);
        }

        .feature-quote-inner {
            display: grid;
            grid-template-columns: 100px 1fr;
            gap: 45px;
            align-items: start;
        }

        .feature-quote-mark {
            font-family: Georgia, serif;
            font-size: 110px;
            color: var(--sage-deep);
            line-height: .7;
        }

        .feature-quote blockquote {
            font-family: "Playfair Display", Georgia, serif;
            font-size: clamp(35px, 4.3vw, 57px);
            line-height: 1.15;
            max-width: 900px;
            font-weight: 400;
        }

        .feature-quote cite {
            display: block;
            margin-top: 25px;
            font-size: 11px;
            color: #8a6573;
            font-style: normal;
            text-transform: uppercase;
            letter-spacing: .1em;
        }


        /* ==========================================
           LOCATIONS
           Map-like visual layout
        ========================================== */

        .locations {
            padding: 120px 0;
        }

        .locations-heading {
            text-align: center;
            margin-bottom: 70px;
        }

        .locations-heading h2 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: 54px;
            font-weight: 400;
        }

        .locations-heading p {
            max-width: 500px;
            color: var(--muted);
            margin: 14px auto 0;
        }

        .location-map {
            min-height: 470px;
            background:
                radial-gradient(circle at 28% 35%, rgba(255,255,255,.8) 0 3px, transparent 4px),
                radial-gradient(circle at 61% 28%, rgba(255,255,255,.8) 0 3px, transparent 4px),
                radial-gradient(circle at 47% 67%, rgba(255,255,255,.8) 0 3px, transparent 4px),
                var(--lavender);
            position: relative;
            overflow: hidden;
        }

        .location-map::before {
            content: "";
            position: absolute;
            width: 620px;
            height: 300px;
            border: 1px dashed rgba(111,100,120,.25);
            border-radius: 48% 52% 45% 55%;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%) rotate(-12deg);
        }

        .pin {
            position: absolute;
            width: 110px;
            text-align: center;
        }

        .pin-dot {
            width: 18px;
            height: 18px;
            background: var(--pink-deep);
            border: 5px solid rgba(255,255,255,.8);
            box-shadow: 0 5px 15px rgba(80,50,60,.15);
            border-radius: 50%;
            margin: auto;
        }

        .pin strong {
            display: block;
            font-size: 11px;
            margin-top: 8px;
        }

        .pin span {
            display: block;
            color: var(--muted);
            font-size: 9px;
        }

        .pin-1 {
            left: 27%;
            top: 31%;
        }

        .pin-2 {
            left: 53%;
            top: 20%;
        }

        .pin-3 {
            left: 61%;
            top: 57%;
        }

        .pin-4 {
            left: 35%;
            top: 70%;
        }

        .map-caption {
            position: absolute;
            left: 30px;
            bottom: 25px;
            font-size: 10px;
            color: var(--muted);
            text-transform: uppercase;
            letter-spacing: .1em;
        }


        /* ==========================================
           RESOURCES
           Magazine layout
        ========================================== */

        .resources {
            background: var(--cream);
            padding: 115px 0;
        }

        .resources-head {
            display: flex;
            justify-content: space-between;
            align-items: end;
            margin-bottom: 50px;
        }

        .resources-head h2 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: 51px;
            font-weight: 400;
        }

        .resources-head a {
            font-size: 12px;
            font-weight: 700;
        }

        .resource-grid {
            display: grid;
            grid-template-columns: 1.3fr .7fr;
            gap: 20px;
        }

        .resource-main {
            position: relative;
            min-height: 500px;
            background:
                linear-gradient(0deg, rgba(25,28,29,.68), transparent 60%),
                url("https://images.unsplash.com/photo-1523438885200-e635ba2c371e?auto=format&fit=crop&w=1100&q=85")
                center/cover;
            padding: 42px;
            color: white;
            display: flex;
            flex-direction: column;
            justify-content: end;
        }

        .resource-main h3 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: 38px;
            font-weight: 400;
            max-width: 520px;
            line-height: 1.1;
        }

        .resource-main p {
            max-width: 490px;
            font-size: 13px;
            margin-top: 10px;
            opacity: .88;
        }

        .resource-main a {
            margin-top: 20px;
            font-size: 11px;
            font-weight: 700;
        }

        .resource-side {
            background: var(--peach);
            padding: 42px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .resource-side small {
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: .15em;
            font-weight: 700;
        }

        .resource-side h3 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: 34px;
            font-weight: 400;
            line-height: 1.12;
        }

        .resource-side p {
            font-size: 13px;
            color: #735f54;
        }

        .resource-side a {
            font-size: 11px;
            font-weight: 700;
        }


        /* ==========================================
           TESTIMONIALS
           Different: floating quote
        ========================================== */

        .testimonial {
            padding: 125px 0;
            text-align: center;
            background: white;
        }

        .testimonial-label {
            color: var(--pink-deep);
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: .18em;
            font-weight: 700;
        }

        .testimonial blockquote {
            font-family: "Playfair Display", Georgia, serif;
            font-size: clamp(34px, 4vw, 52px);
            line-height: 1.2;
            max-width: 850px;
            margin: 25px auto;
            font-weight: 400;
        }

        .testimonial cite {
            font-size: 11px;
            color: var(--muted);
            font-style: normal;
        }


        /* ==========================================
           FAQ
           Vertical accordion
        ========================================== */

        .faq {
            background: var(--pink-pale);
            padding: 110px 0;
        }

        .faq-layout {
            display: grid;
            grid-template-columns: .75fr 1.25fr;
            gap: 90px;
        }

        .faq-title h2 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: 55px;
            font-weight: 400;
            line-height: 1.05;
        }

        .faq-title p {
            color: var(--muted);
            max-width: 350px;
            margin-top: 18px;
            font-size: 13px;
        }

        .faq-item {
            border-top: 1px solid rgba(110,70,80,.16);
        }

        .faq-item:last-child {
            border-bottom: 1px solid rgba(110,70,80,.16);
        }

        .faq-question {
            width: 100%;
            border: 0;
            background: transparent;
            padding: 23px 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            text-align: left;
            cursor: pointer;
            color: var(--ink);
            font-weight: 600;
            font-size: 14px;
        }

        .faq-icon {
            width: 25px;
            height: 25px;
            border: 1px solid var(--pink-deep);
            border-radius: 50%;
            display: grid;
            place-items: center;
            color: var(--pink-deep);
            flex-shrink: 0;
            transition: .25s ease;
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height .3s ease;
        }

        .faq-answer p {
            color: var(--muted);
            font-size: 13px;
            padding: 0 50px 22px 0;
        }

        .faq-item.active .faq-icon {
            transform: rotate(45deg);
        }


        /* ==========================================
           FINAL CTA
           Circular composition
        ========================================== */

        .final {
            background: var(--lavender);
            padding: 120px 0;
            overflow: hidden;
        }

        .final-inner {
            text-align: center;
            position: relative;
        }

        .final-circle {
            width: 390px;
            height: 390px;
            background: var(--pink);
            border-radius: 50%;
            margin: auto;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 40px;
        }

        .final-circle h2 {
            font-family: "Playfair Display", Georgia, serif;
            font-size: 47px;
            line-height: 1.05;
            font-weight: 400;
        }

        .final-circle p {
            color: #674f56;
            font-size: 12px;
            max-width: 280px;
            margin: 15px auto 23px;
        }

        .final-circle a {
            background: var(--ink);
            color: white;
            border-radius: 100px;
            padding: 12px 20px;
            font-size: 11px;
            font-weight: 700;
        }


        /* ==========================================
           FOOTER
        ========================================== */

        footer {
            background: var(--ink);
            color: white;
            padding: 70px 0 25px;
        }

        .footer-top {
            display: grid;
            grid-template-columns: 1.3fr .7fr .7fr;
            gap: 70px;
            padding-bottom: 60px;
        }

        .footer-brand p {
            max-width: 350px;
            color: #adb5b8;
            font-size: 13px;
            margin-top: 17px;
        }

        footer h4 {
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: .15em;
            margin-bottom: 18px;
        }

        footer ul {
            list-style: none;
        }

        footer li {
            margin-bottom: 8px;
        }

        footer li a,
        .footer-contact {
            color: #adb5b8;
            font-size: 12px;
        }

        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,.12);
            padding-top: 22px;
            display: flex;
            justify-content: space-between;
            color: #8f999d;
            font-size: 10px;
        }


        /* ==========================================
           RESPONSIVE
        ========================================== */

        @media (max-width: 950px) {

            .nav {
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                max-height: calc(100vh - 82px);
                overflow-y: auto;
                display: none;
                background: white;
                padding: 10px 18px 22px;
                flex-direction: column;
                align-items: stretch;
                gap: 2px;
                border-bottom: 1px solid var(--line);
                box-shadow: 0 24px 40px rgba(41,50,55,.1);
            }

            .nav.open { display: flex; }

            .nav-link {
                justify-content: flex-start;
                width: 100%;
                padding: 14px 8px;
                border-radius: 12px;
                font-size: 14.5px;
                border-bottom: 1px solid #f4f0f0;
            }
            .nav-link .nav-chev { margin-left: auto; }
            .nav-link:hover, .nav-link.active { background: none; }

            .dd { border-bottom: 1px solid #f4f0f0; }
            .dd .nav-link { border-bottom: 0; }

            .dd-menu {
                position: static;
                transform: none;
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
                border: 0;
                box-shadow: none;
                padding: 0 0 8px 14px;
                min-width: 0;
                display: grid;
                gap: 2px;
                max-height: 0;
                overflow: hidden;
                box-sizing: border-box;
                transition: max-height .3s ease, padding .3s ease;
            }
            .dd:not(.is-active) .dd-menu { padding-top: 0; padding-bottom: 0; }
            .dd.is-active .dd-menu { max-height: 600px; }
            .dd.is-active .nav-chev { transform: rotate(180deg); }

            .dd-item { padding: 10px 10px; }
            .dd-ic { width: 34px; height: 34px; }
            .dd-ic svg { width: 16px; height: 16px; }

            .header-button {
                justify-content: center;
                margin: 14px 0 4px;
            }

            .mob-call {
                display: flex;
                align-items: center;
                gap: 9px;
                justify-content: center;
                font-size: 12.5px;
                font-weight: 600;
                color: var(--muted);
                padding: 6px 0 2px;
            }
            .mob-call svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

            .menu {
                display: block;
            }

            .hero-layout {
                grid-template-columns: 1fr;
                padding: 80px 0;
            }

            .hero {
                min-height: auto;
            }

            .hero-visual {
                height: 520px;
            }

            .hero-main-image {
                right: 15%;
            }

            .hero-small-image {
                left: 10%;
            }

            .service-feature {
                grid-template-columns: 1fr;
            }

            .service-feature-image img {
                min-height: 380px;
                height: 380px;
            }

            .about-layout {
                grid-template-columns: 1fr;
            }

            .journey-heading h2 {
                font-size: 44px;
            }

            .locations {
                padding: 90px 0;
            }

            .resource-grid {
                grid-template-columns: 1fr;
            }

            .faq-layout {
                grid-template-columns: 1fr;
            }

            .footer-top {
                grid-template-columns: 1fr 1fr;
            }
        }


        @media (max-width: 650px) {

            .container {
                width: min(100% - 28px, var(--max));
            }

            .hero-layout {
                padding: 60px 0;
            }

            .hero h1 {
                font-size: 47px;
            }

            .hero-visual {
                height: 430px;
            }

            .hero-main-image {
                width: 260px;
                height: 360px;
                right: 9%;
            }

            .hero-small-image {
                width: 125px;
                height: 165px;
                left: 4%;
                bottom: 15px;
            }

            .hero-sticker {
                width: 90px;
                height: 90px;
                right: 0;
                bottom: 40px;
                font-size: 8px;
            }

            .statement,
            .services,
            .about,
            .journey,
            .feature-quote,
            .locations,
            .resources,
            .testimonial,
            .faq,
            .final {
                padding: 80px 0;
            }

            .services-header,
            .resources-head {
                display: block;
            }

            .services-header h2,
            .resources-head h2 {
                font-size: 42px;
            }

            .services-header p {
                margin-top: 15px;
            }

            .service-nav-inner {
                grid-template-columns: 1fr 1fr;
            }

            .service-nav a:nth-child(3),
            .service-nav a:nth-child(4) {
                border-top: 1px solid var(--line);
            }

            .about-photo {
                height: 470px;
            }

            .about-photo-main {
                width: 260px;
                height: 380px;
                left: 25px;
            }

            .about-photo-small {
                width: 130px;
                height: 175px;
            }

            .about-detail {
                flex-direction: column;
                gap: 18px;
            }

            .timeline::before {
                left: 28px;
            }

            .timeline-item,
            .timeline-item:nth-child(even) {
                display: grid;
                grid-template-columns: 56px 1fr;
                margin-bottom: 40px;
            }

            .timeline-dot {
                width: 56px;
                height: 56px;
                grid-column: 1;
                grid-row: 1;
            }

            .timeline-content,
            .timeline-item:nth-child(even) .timeline-content:first-child,
            .timeline-item:nth-child(even) .timeline-content:nth-child(3) {
                grid-column: 2;
                grid-row: 1;
                text-align: left;
                padding: 0 0 0 20px;
            }

            .feature-quote-inner {
                grid-template-columns: 1fr;
                gap: 20px;
            }

            .feature-quote-mark {
                font-size: 75px;
            }

            .location-map {
                min-height: 390px;
            }

            .location-map::before {
                width: 430px;
                height: 230px;
            }

            .pin {
                width: 85px;
            }

            .pin-1 {
                left: 15%;
            }

            .pin-2 {
                left: 53%;
            }

            .pin-3 {
                left: 62%;
            }

            .pin-4 {
                left: 28%;
            }

            .resource-main {
                min-height: 400px;
                padding: 30px;
            }

            .resource-side {
                min-height: 320px;
                padding: 30px;
            }

            .faq-title h2 {
                font-size: 44px;
            }

            .final-circle {
                width: 320px;
                height: 320px;
            }

            .final-circle h2 {
                font-size: 38px;
            }

            .footer-top {
                grid-template-columns: 1fr;
                gap: 35px;
            }

            .footer-bottom {
                flex-direction: column;
                gap: 10px;
            }
        }

html{scroll-padding-top:100px}
h1,h2,h3{font-weight:400}
.nav a{white-space:nowrap}
.hero.inner{min-height:0}
.hero.inner .hero-layout{min-height:560px}
.hero.inner h1{font-size:clamp(40px,4.6vw,62px)}
.hero.inner .hero-visual{height:470px}
.hero.inner .hero-main-image{width:340px;height:440px;top:15px;right:60px;border-radius:190px 190px 20px 20px}
.hero-description{max-width:540px}
.hero-description+.hero-description{margin-top:-12px}
.hero-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.hero-sticker{width:130px;height:130px}
.sec{padding:96px 0}
.bg-pink{background:var(--pink-pale)}.bg-blue{background:var(--blue)}.bg-sage{background:var(--sage)}.bg-cream{background:var(--cream)}
.sec-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.sec-head{position:sticky;top:120px}
.sec-head h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,4vw,48px);line-height:1.1;letter-spacing:-.02em}
.sec-body p{color:var(--muted);font-size:15px;margin-bottom:16px;max-width:620px}
.sec-body p.lead{font-family:"Playfair Display",Georgia,serif;color:var(--ink);font-size:25px;line-height:1.4;letter-spacing:-.01em}
.bg-blue .sec-body p,.bg-sage .sec-body p{color:#4d5b60}
.ticks{list-style:none;margin:8px 0 12px;max-width:620px}
.ticks li{position:relative;padding:15px 0 15px 34px;border-top:1px solid rgba(41,50,55,.1);font-size:15px}
.ticks li:last-child{border-bottom:1px solid rgba(41,50,55,.1)}
.ticks li::before{content:"";position:absolute;left:0;top:23px;width:12px;height:12px;border-radius:50%;background:var(--pink-deep)}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:26px}
.journey .cta-row,.testi .cta-row{justify-content:center;margin-top:44px}
.plans-label{font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink-deep);margin:26px 0 12px}
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:6px}
.plan{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;font-size:14px;font-weight:600}
.plan small{display:block;font-weight:400;color:var(--muted);font-size:11.5px;margin-top:2px}
.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.help-grid a{display:block;background:#fff;padding:36px 34px;font-family:"Playfair Display",Georgia,serif;font-size:23px;line-height:1.3;transition:.25s}
.help-grid a span{display:block;font:700 10px "DM Sans",sans-serif;letter-spacing:.16em;color:var(--pink-deep);margin-bottom:14px}
.help-grid a:hover{background:var(--blue)}
.services .cta-row{margin-top:40px}
.about-copy h2{font-size:clamp(34px,3.8vw,50px)}
.about-detail{flex-wrap:wrap;gap:22px 35px}
.about-copy .cta-row{margin-top:36px}
.ways{display:flex;justify-content:center;flex-wrap:wrap;gap:18px}
.way{background:#fff;border-radius:100px;padding:12px 28px 12px 12px;display:flex;align-items:center;gap:14px;font-weight:600;font-size:14px}
.way b{width:42px;height:42px;border-radius:50%;background:var(--blue);display:grid;place-items:center;font:400 16px "Playfair Display",serif;color:var(--blue-deep)}
.feature-quote blockquote.big{font-size:clamp(27px,3.3vw,42px);margin-top:0}
.feature-sub{color:#4d5b60;max-width:640px;margin-top:26px;font-size:17px}
.reviews{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.review{background:#fff;border:1px solid var(--line);padding:40px;border-radius:6px}
.review::before{content:"“";display:block;font-family:Georgia,serif;font-size:80px;color:var(--pink);line-height:.6;margin-bottom:18px}
.review p{font-size:14.5px;color:#4d585c}
.review cite{display:block;margin-top:22px;font-style:normal;font-weight:700;font-size:13px}
.faq-title .cta-row{margin-top:30px}
.person{display:grid;grid-template-columns:230px 1fr;gap:70px;align-items:center;padding:70px 0;border-top:1px solid var(--line)}
.person:first-child{border-top:0}
.avatar{width:210px;height:260px;border-radius:110px 110px 16px 16px;display:grid;place-items:center;font-family:"Playfair Display",serif;font-size:64px;color:rgba(41,50,55,.5)}
.person h2{font-family:"Playfair Display",Georgia,serif;font-size:38px;line-height:1.1;letter-spacing:-.02em}
.person .tiny-label{margin-bottom:12px}
.creds{color:var(--pink-deep);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:8px 0 18px;min-height:4px}
.person p{color:var(--muted);font-size:15px;max-width:620px;margin-bottom:14px}
.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.office{background:#fff;border-top:4px solid var(--pink-deep);padding:38px 30px;box-shadow:0 10px 40px rgba(41,50,55,.06)}
.office h2{font-family:"Playfair Display",Georgia,serif;font-size:30px;line-height:1.15}
.addr{font-weight:600;font-size:14px;margin:16px 0 8px}
.office p{color:var(--muted);font-size:14px}
.maplink{display:inline-block;margin:16px 0 4px;font-size:12px;font-weight:700;color:var(--pink-deep)}
.form-card{background:#fff;padding:54px;max-width:860px;margin:auto;border-radius:6px;box-shadow:0 20px 60px rgba(110,70,80,.08)}
.form-card h2{font-family:"Playfair Display",Georgia,serif;font-size:40px;margin-bottom:30px}
.form-success{background:#e7f5ea;color:#2f6b3e;border:1px solid #bfe3c8;padding:14px 18px;border-radius:10px;margin:-14px 0 26px;font-size:14px;font-weight:600}
.form-error{background:#fdecec;color:#a33b3b;border:1px solid #f3c7c7;padding:14px 18px;border-radius:10px;margin:-14px 0 26px;font-size:14px;font-weight:600}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fgrid .full{grid-column:1/-1}
.fgrid label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}
.fgrid input,.fgrid textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:14px;background:var(--pink-pale);color:var(--ink)}
.fgrid input:focus,.fgrid textarea:focus{outline:2px solid var(--pink);border-color:var(--pink-deep)}
.fgrid button.primary{border:0;cursor:pointer;padding:15px 30px;font-size:13px}
footer ul{columns:2;column-gap:30px}
footer li a,.footer-contact p{color:#adb5b8;font-size:12px}
.footer-contact p{margin-bottom:8px}
footer a:hover{color:var(--pink)}
.final{scroll-margin-top:0}
@media(max-width:950px){
.sec{padding:70px 0}
.sec-grid,.person,.offices,.reviews,.help-grid,.fgrid,.plans{grid-template-columns:1fr}
.sec-grid{gap:28px}.sec-head{position:static}
.person{gap:28px;padding:50px 0}.avatar{width:160px;height:200px;font-size:48px}
.hero.inner .hero-layout{min-height:0;padding:60px 0 20px}
.hero.inner .hero-visual{height:400px}
.hero.inner .hero-main-image{right:auto;left:50%;margin-left:-150px;width:300px;height:390px}
.form-card{padding:32px 22px}
footer ul{columns:1}
}

/* ===== heroes ===== */
.hv-blob{position:absolute;width:400px;height:400px;border-radius:50%;background:var(--sage);right:-20px;top:70px;opacity:.75}
.heroB{min-height:620px}
.heroB>.container{min-height:620px;display:flex;align-items:center;position:relative;z-index:2}
.heroB .hero-copy{max-width:min(580px,52%)}
.heroB h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(40px,4.6vw,64px);line-height:1.04;letter-spacing:-.04em;font-weight:400}
.heroB-img{position:absolute;right:0;top:0;bottom:0;width:42%;background-size:cover;background-position:center;border-radius:300px 0 0 300px}
.heroB::after{content:"";position:absolute;right:38%;bottom:70px;width:120px;height:120px;border-radius:50%;background:var(--sage);z-index:1;opacity:.9}
.heroC{padding:90px 0 0;text-align:center}
.heroC h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(40px,5vw,68px);line-height:1.04;letter-spacing:-.04em;font-weight:400;margin-inline:auto}
.hc-copy{max-width:800px;margin:auto;position:relative;z-index:2}
.heroC .hero-description{margin-inline:auto}
.heroC .hero-links{justify-content:center}
.heroC .tiny-label{justify-content:center}
.hc-strip{display:flex;justify-content:center;align-items:flex-end;gap:22px;margin-top:60px;position:relative;z-index:2}
.hc-strip img{width:min(30%,320px);object-fit:cover;border-radius:220px 220px 0 0}
.hc-strip img:nth-child(1),.hc-strip img:nth-child(3){height:240px}
.hc-strip img:nth-child(2){height:320px}
.hc-strip img:nth-child(3){border-radius:0 0 0 0;border-radius:220px 220px 0 0}
/* ===== shared ===== */
.shead{margin-bottom:44px}.shead.c{text-align:center}
.shead h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,4.2vw,52px);line-height:1.1;letter-spacing:-.02em;font-weight:400}
.intro{color:var(--muted);font-size:16px;max-width:600px;margin-bottom:14px}.intro.c{margin:0 auto 14px;text-align:center}
.two{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.two .shead{margin-bottom:24px}
.ctr .cta-row{justify-content:center;margin-top:44px}
.ico{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:var(--ink);margin-bottom:22px;flex:none}
.ico svg,.chk svg,.dv-bar svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.bt0{background:var(--pink)}.bt1{background:var(--blue)}.bt2{background:var(--sage)}.bt3{background:var(--peach)}.bt4{background:var(--lavender)}
/* ===== home ===== */
.ptiles{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ptile{display:block;background:#fff;border-radius:200px 200px 18px 18px;padding-bottom:32px;text-align:center;transition:.3s;overflow:hidden}
.ptile:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(110,70,80,.12)}
.ptile-img{height:250px;overflow:hidden}.ptile-img img{height:100%;object-fit:cover;transition:.6s}.ptile:hover img{transform:scale(1.07)}
.ptile span{display:block;margin:24px 0 8px;font:700 10px "DM Sans",sans-serif;letter-spacing:.16em;color:var(--pink-deep)}
.ptile h3{font-family:"Playfair Display",Georgia,serif;font-size:20px;line-height:1.3;padding:0 24px;font-weight:400}
.services .cta-row{margin-top:44px}
.bigstate{font-family:"Playfair Display",Georgia,serif;font-size:clamp(26px,3.2vw,42px);line-height:1.22;letter-spacing:-.02em;max-width:900px;margin:0 auto 16px;text-align:center}
.sm2{color:#4d5b60;max-width:600px;margin:0 auto 10px;text-align:center;font-size:15px}
.ways3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.way3{background:#fff;border-radius:26px;padding:38px 32px;transition:.3s;display:block}
.way3:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(60,90,100,.14)}
.way3 h3{font-family:"Playfair Display",Georgia,serif;font-size:26px;font-weight:400}.way3 p{color:var(--muted);font-size:13.5px;margin-top:6px}
.way3:nth-child(2) .ico{background:var(--sage)}.way3:nth-child(3) .ico{background:var(--lavender)}
.reviews{align-items:start}
.review{border:0;border-radius:30px}
.review:nth-child(1){background:var(--blue)}.review:nth-child(2){background:var(--pink-pale);margin-top:64px}
.review::before{color:#fff}
.rv-top{display:flex;align-items:center;gap:14px;margin-top:26px}
.rv-av{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;font:400 17px "Playfair Display",serif}
.rv-top cite{margin:0!important}
/* ===== split / bento / timeline ===== */
.split{padding:110px 0}
.split>.container{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}
.split.rev .split-pic{order:-1}
.split-pic{position:relative;height:520px;isolation:isolate}
.split-pic>img{height:100%;object-fit:cover;border-radius:230px 230px 20px 20px}
.split-pic::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--peach);right:-28px;bottom:-28px;z-index:-1}
.split.rev .split-pic::after{left:-28px;right:auto}
.split .sec-body p.lead{font-size:22px}
.split .sec-body .shead{margin-bottom:24px}
.trio>img{position:absolute;border-radius:50%!important;border:8px solid #fff;object-fit:cover}
.trio>img:nth-child(1){width:290px;height:290px!important;left:0;top:0}
.trio>img:nth-child(2){width:240px;height:240px!important;right:0;top:120px}
.trio>img:nth-child(3){width:270px;height:270px!important;left:70px;bottom:0}
.av-lg{height:100%;min-height:400px;border-radius:230px 230px 20px 20px;background:linear-gradient(160deg,var(--pink),var(--peach));display:grid;place-items:center;font:400 120px "Playfair Display",serif;color:rgba(41,50,55,.35)}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.bt{border-radius:28px;padding:34px 30px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;grid-column:span 2;transition:.3s}
.bt:hover{transform:translateY(-5px)}
.bento.n5 .bt:nth-child(-n+2),.bento.n4 .bt{grid-column:span 3}
.bt span{font-family:"Playfair Display",serif;font-size:42px;line-height:1;color:rgba(41,50,55,.3)}
.bt p{font-size:17px;line-height:1.45;font-weight:500;color:var(--ink)}
.tl{position:relative;max-width:960px;margin:0 auto}
.tl::before{content:"";position:absolute;top:28px;bottom:28px;left:50%;width:1px;background:rgba(60,90,100,.25)}
.tl-item{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;margin-bottom:44px}
.tl-c{padding:0 30px;grid-row:1}.tl-c.l{grid-column:1;text-align:right}.tl-c.r{grid-column:3}
.tl-dot{grid-column:2;grid-row:1;width:58px;height:58px;background:#fff;border-radius:50%;margin:auto;display:grid;place-items:center;position:relative;z-index:2;font:400 20px "Playfair Display",serif;color:var(--blue-deep)}
.tl-c h3{font-family:"Playfair Display",Georgia,serif;font-size:28px;font-weight:400}.tl-c p{color:#6f5a62;font-size:14px;margin-top:7px}
.journey .cta-row{margin-top:56px}
.stm{padding:120px 0;text-align:center;background:var(--lavender)}
.stm h2.tiny-label{margin-bottom:28px}
.stm .big1{font-family:"Playfair Display",serif;font-size:clamp(28px,3.6vw,46px);line-height:1.22;letter-spacing:-.02em;max-width:940px;margin:0 auto 22px}
.stm .sm{color:#5b6165;max-width:620px;margin:0 auto 26px;font-size:16px}
.stm .cta-row{justify-content:center}
.inkbox{background:var(--ink);color:#fff;padding:110px 0}
.inkbox>.container{display:grid;grid-template-columns:320px 1fr;gap:90px;align-items:center}
.badge{width:300px;height:300px;border-radius:50%;background:var(--pink);color:var(--ink);display:grid;place-items:center;text-align:center;font:400 64px/1 "Playfair Display",serif;position:relative}
.badge::before{content:"";position:absolute;inset:-16px;border:1px dashed rgba(237,196,203,.55);border-radius:50%}
.badge small{display:block;font:700 10px/1.6 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-top:12px}
.inkbox h2{font-family:"Playfair Display",serif;font-size:clamp(34px,4vw,50px);font-weight:400;line-height:1.1;margin-bottom:22px}
.inkbox p{color:#c9d0d3;font-size:16px;max-width:560px;margin-bottom:14px}
.inkbox .text-link{color:#fff}
.final-circle.big{width:480px;height:480px;padding:56px}
.final-circle.big h2{font-size:44px}.final-circle.big p{font-size:13.5px;max-width:330px}
.final-circle a.text-link{background:none;color:var(--ink);padding:0;margin-top:14px}
/* ===== appointments / schedule ===== */
.st2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.stp{background:#fff;border-radius:28px;padding:40px}
.stp b{font:400 64px/1 "Playfair Display",serif;color:var(--pink);display:block;margin-bottom:16px}
.stp p{color:var(--muted);font-size:15.5px}
.st2+.cta-row{margin-top:36px}
.chk{list-style:none;background:#fff;border-radius:30px;padding:26px 40px;box-shadow:0 20px 60px rgba(41,50,55,.07)}
.chk li{display:flex;gap:16px;align-items:flex-start;padding:17px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.chk li:last-child{border:0}
.chk li i{flex:none;width:28px;height:28px;border-radius:9px;background:var(--sage);color:var(--sage-deep);display:grid;place-items:center}
.chk svg{width:15px;height:15px;stroke-width:2.4}
.cc3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.cc{border-radius:28px;padding:38px 32px;display:block;transition:.3s}.cc:hover{transform:translateY(-6px)}
.cc h3{font-family:"Playfair Display",serif;font-size:26px;font-weight:400}.cc p{font-size:14px;color:#4d5b60;margin-top:8px;word-break:break-word}
.plabel{font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-deep);text-align:center;margin:36px 0 18px}
.plans2{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.plan2{background:#fff;border-radius:18px;padding:16px 20px;display:flex;align-items:center;gap:14px;font-weight:600;font-size:14px}
.plan2 i{flex:none;width:36px;height:36px;border-radius:50%;background:var(--pink);display:grid;place-items:center;font:400 16px "Playfair Display",serif;font-style:normal}
.plan2 small{display:block;font-weight:400;color:var(--muted);font-size:11.5px}
.callout{background:var(--pink);border-radius:44px;padding:70px;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.callout h2{font-family:"Playfair Display",serif;font-size:clamp(32px,3.6vw,46px);font-weight:400;line-height:1.1}
.callout p{color:#5e474e;font-size:16px;margin-bottom:12px}
.callout p:first-child{font-family:"Playfair Display",serif;font-size:24px;color:var(--ink);line-height:1.35}
.callout .primary{background:var(--ink)}
/* ===== prenatal / support ===== */
.modes{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.mode{background:#fff;border-radius:28px;padding:36px 30px}.mode h3{font-family:"Playfair Display",serif;font-size:26px;font-weight:400}.mode p{color:var(--muted);font-size:14px}
.freebadge{width:300px;height:300px;border-radius:50%;background:var(--peach);display:grid;place-items:center;margin:auto;position:relative}
.freebadge::before{content:"";position:absolute;inset:-16px;border:1px dashed var(--pink-deep);border-radius:50%}
.freebadge b{font:400 72px "Playfair Display",serif}
.schedcard{background:#fff;border-radius:30px;padding:44px}
.schedcard p{color:var(--muted);font-size:16px;margin-bottom:12px}
.plain{max-width:680px;margin:auto;text-align:center}.plain p{color:var(--muted);font-size:16.5px;margin-bottom:12px}
.plain .cta-row{justify-content:center}
/* ===== team / locations / contact ===== */
.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}
.founder .av-lg{height:540px}
.pname{font-family:"Playfair Display",serif;font-size:clamp(40px,4.6vw,60px);font-weight:400;line-height:1.05;letter-spacing:-.03em}
.founder .creds{margin-bottom:26px}
.tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.tcard{border-radius:32px;padding:38px;display:grid;grid-template-columns:110px 1fr;gap:28px;align-items:start}
.av{width:110px;height:140px;border-radius:60px 60px 12px 12px;display:grid;place-items:center;font:400 38px "Playfair Display",serif;background:rgba(255,255,255,.75);color:rgba(41,50,55,.5)}
.av-round{border-radius:50%;width:150px;height:150px;font-size:46px}
.tcard h2{font-family:"Playfair Display",serif;font-size:27px;font-weight:400;line-height:1.15}
.tcard .creds{margin:6px 0 16px}
.tcard p{font-size:14px;color:#4d5b60;margin-bottom:10px}
.tcard .cta-row{margin-top:14px}
.staff{background:var(--blue);padding:90px 0}
.staff>.container{display:grid;grid-template-columns:150px 1fr;gap:50px;align-items:center;max-width:900px}
.staff h2{font-family:"Playfair Display",serif;font-size:38px;font-weight:400;margin-bottom:10px}
.staff p{color:#6f5a62;margin-bottom:10px;max-width:560px}
.locwrap{padding:90px 0}
.locwrap .location-map{min-height:420px;border-radius:36px}
.locwrap .offices{margin-top:-120px;position:relative;z-index:2;padding:0 30px}
.tiles4{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.ctile{border-radius:34px;padding:46px 42px}
.ctile h2{font-family:"Playfair Display",serif;font-size:32px;font-weight:400;margin-bottom:10px}
.ctile p{color:#4d5b60;font-size:15.5px;margin-bottom:10px}
.ctile .cta-row{margin-top:20px}.ctile .primary{background:var(--ink)}
/* ===== video device ===== */
.device{background:#fff;border-radius:30px;padding:16px;box-shadow:0 30px 70px rgba(41,50,55,.16);max-width:500px;margin:auto;transform:rotate(-2deg);position:relative;top:50%;translate:0 -50%}
.dv-screen{background:var(--ink);border-radius:18px;height:320px;position:relative;overflow:hidden}
.dv-screen>img{height:100%;object-fit:cover}
.dv-me{position:absolute;right:14px;bottom:14px;width:110px;height:80px;border-radius:12px;border:3px solid #fff;overflow:hidden}
.dv-me img{height:100%;object-fit:cover}
.dv-bar{display:flex;justify-content:center;gap:14px;padding:16px 0 6px}
.dv-bar i{width:42px;height:42px;border-radius:50%;background:var(--pink-pale);display:grid;place-items:center}
.dv-bar i:last-child{background:#e2706f;color:#fff}.dv-bar svg{width:19px;height:19px}
.device{top:auto;translate:none}
.split-pic:has(.device)::after{display:none}
/* ===== responsive ===== */
@media(max-width:950px){
.heroB>.container{min-height:0;padding:70px 0 40px}.heroB .hero-copy{max-width:100%}
.heroB-img{position:relative;width:100%;height:340px;border-radius:0 0 200px 200px}.heroB::after{display:none}
.hc-strip{gap:10px}.hc-strip img:nth-child(1),.hc-strip img:nth-child(3){height:150px}.hc-strip img:nth-child(2){height:210px}
.two,.split>.container,.founder,.callout,.tgrid,.tiles4,.st2,.cc3,.ways3,.ptiles,.modes,.inkbox>.container,.reviews{grid-template-columns:1fr}
.two,.split>.container,.founder,.inkbox>.container{gap:44px}
.split{padding:70px 0}.split.rev .split-pic{order:0}.split-pic{height:400px}
.trio>img:nth-child(1){width:210px;height:210px!important}.trio>img:nth-child(2){width:180px;height:180px!important;top:90px}.trio>img:nth-child(3){width:200px;height:200px!important;left:30px}
.bento{grid-template-columns:1fr}.bento .bt,.bento.n5 .bt:nth-child(-n+2),.bento.n4 .bt{grid-column:auto;min-height:150px}
.tl::before{left:29px}.tl-item{grid-template-columns:60px 1fr}.tl-c.l,.tl-c.r{grid-column:2;text-align:left}.tl-dot{grid-column:1;margin:0}
.review:nth-child(2){margin-top:0}
.badge{margin:auto}.callout{padding:40px 28px}.tcard{grid-template-columns:1fr}.staff>.container{grid-template-columns:1fr;text-align:center}.staff .av-round{margin:auto}
.locwrap .offices{margin-top:-80px;padding:0 10px}.locwrap .location-map{min-height:340px}
.final-circle.big{width:100%;max-width:400px;height:auto;aspect-ratio:1;padding:40px}.final-circle.big h2{font-size:34px}
.founder .av-lg{height:400px}.freebadge{width:240px;height:240px}
}
.av-lg.ph{display:block;padding:0;min-height:0;background:var(--peach)}
.av-lg.ph img{height:100%;object-fit:cover;object-position:center 12%;border-radius:230px 230px 20px 20px}
.tph{width:150px;height:200px;object-fit:cover;object-position:center 15%;border-radius:80px 80px 14px 14px}
.tph.round{width:160px;height:160px;border-radius:50%}
.tcard{grid-template-columns:150px 1fr}
.heroB-img{object-fit:cover;object-position:center 20%;height:100%}
.office-img{height:190px;object-fit:cover;border-radius:16px;margin-bottom:22px}
@media(max-width:950px){.tph{margin:auto}.heroB-img{height:340px}}
/* ===== WhatsApp floating button ===== */
.wa{position:fixed;left:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:999;display:flex;align-items:center;gap:0;height:60px;min-width:60px;border-radius:60px;background:#25D366;color:#fff;box-shadow:0 10px 30px rgba(37,211,102,.45);transition:.3s;overflow:hidden}
.wa svg{width:32px;height:32px;fill:#fff;margin:14px;flex:none}
.wa span{max-width:0;opacity:0;white-space:nowrap;font-size:13px;font-weight:700;transition:.3s}
.wa:hover,.wa:focus-visible{background:#1ebe5b;padding-right:8px}
.wa:hover span,.wa:focus-visible span{max-width:200px;opacity:1;margin-right:12px}
.wa::before{content:"";position:absolute;inset:0;border-radius:60px;box-shadow:0 0 0 0 rgba(37,211,102,.55);animation:wapulse 2.4s infinite}
@keyframes wapulse{70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@media(max-width:600px){.wa{left:14px;height:54px;min-width:54px}.wa svg{width:28px;height:28px;margin:13px}}
.office[data-c="0"]{border-top-color:var(--pink-deep)}.office[data-c="1"]{border-top-color:var(--blue-deep)}.office[data-c="2"]{border-top-color:var(--sage-deep)}
.footer-brand .brand-sub{color:#aab2b5}

/* ===== Logo: wordmark (navbar) + full logo (footer) ===== */
.brand-wordmark{height:34px;max-height:34px;width:auto;max-width:170px;display:block}
.footer-logo-link{display:inline-block}
.footer-logo{width:200px;height:auto;display:block;margin-left:-20px;margin-top:-30px;margin-bottom:-30px}
@media(max-width:600px){.brand-wordmark{height:28px;max-height:28px;max-width:140px}}

/* ===== 10/2 client updates ===== */
/* hover bridge so the dropdown stays open while moving the mouse down to it */
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
header{background:var(--cream);border-bottom:1px solid rgba(169,111,132,.18)}
.nav-link.active{background:rgba(255,255,255,.7)}
/* footer: light, not black */
footer{background:#f6e3e8;color:var(--ink)}
footer h4{color:var(--mauve)}
footer li a,.footer-contact p,.footer-contact a{color:#5b4a50}
.footer-brand p{color:#5b4a50}
footer a:hover{color:var(--mauve)}
.footer-bottom{border-top:1px solid rgba(169,111,132,.25);color:#7d6a71}
/* "Who provides your care" no longer black */
.inkbox{background:#f6e3e8;color:var(--ink)}
.inkbox p{color:#5b4a50}
.inkbox .text-link{color:var(--ink)}
.badge{background:#fff}
.badge::before{border-color:rgba(169,111,132,.5)}
/* buttons: mauve instead of near-black */
.final-circle a,.callout .primary,.ctile .primary{background:var(--mauve);color:#fff}
.final-circle a.text-link{background:none;color:var(--ink)}
.final-circle p a.text-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.final-circle h2{font-size:34px}
.final-circle.big h2{font-size:36px}
@media(max-width:950px){.final-circle h2,.final-circle.big h2{font-size:30px}}
/* sticker as link */
a.hero-sticker{color:var(--ink);cursor:pointer;transition:transform .25s ease}
a.hero-sticker:hover{transform:rotate(0deg) scale(1.06)}
.hero-note{display:block;margin-top:-6px;font-size:12px;color:var(--muted)}
/* How we help tiles without numbers */
.ptile h3{padding-top:26px}
/* quote section without the big quote mark */
.feature-quote-inner.nomark{grid-template-columns:1fr}
/* team: longer bios */
.tgrid{grid-template-columns:1fr}
.tcard{grid-template-columns:230px 1fr;gap:40px}
.tcard .tph{width:230px;height:300px}
.tcard .role{display:block;color:var(--muted);font-size:13px;line-height:1.6;margin:-6px 0 14px}
.tcard p{font-size:15px}
.staff p{font-size:15px}
@media(max-width:950px){.tcard{grid-template-columns:1fr}.tcard .tph{margin:auto}}
/* locations: four offices */
.offices{grid-template-columns:repeat(4,1fr);gap:18px;padding:0 20px}
.office{padding:30px 22px}
.office h2{font-size:26px}
.office[data-c="3"]{border-top-color:var(--mauve)}
@media(max-width:1100px) and (min-width:951px){.offices{grid-template-columns:repeat(2,1fr)}}
/* class + support group lists */
.classlist{list-style:none;max-width:760px;margin:0 auto;text-align:left}
.classlist li{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 24px;margin-bottom:12px}
.classlist b{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:19px}
.classlist span{color:var(--muted);font-size:14px}
.groupsched{list-style:none;margin:6px 0 18px}
.groupsched li{padding:14px 0;border-top:1px solid var(--line);font-size:15px}
.groupsched li:last-child{border-bottom:1px solid var(--line)}
.groupsched b{display:block;font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:20px}
.groupsched span{color:var(--muted)}
.fgrid .opts{display:grid;gap:8px}
.fgrid .opts label{display:flex;align-items:center;gap:10px;font-weight:500;font-size:14px;margin:0}
.fgrid .opts input{width:auto;padding:0}
.fgrid select{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:14px;background:var(--pink-pale);color:var(--ink)}
.fgrid label sup,.req{color:var(--pink-deep)}

/* ===== white section backgrounds (client request) ===== */
.final{background:#fff}
.bg-white{background:#fff !important}
.inkbox.bg-white .badge{background:var(--pink)}
.feature-quote.bg-white .feature-quote-mark{color:var(--pink-deep)}

/* Real map embed (Locations) */
.location-map.map-embed{background:var(--pink-pale);display:flex;flex-direction:column}
.location-map.map-embed::before{display:none}
.map-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:14px;background:#fff;border-bottom:1px solid var(--line)}
.map-tab{border:1px solid var(--pink-deep);background:#fff;color:var(--mauve);border-radius:999px;padding:8px 18px;font:600 13px "DM Sans",sans-serif;cursor:pointer}
.map-tab.active,.map-tab:hover{background:var(--mauve);color:#fff;border-color:var(--mauve)}
.map-embed iframe{border:0;width:100%;flex:1;min-height:360px;display:block}

/* Locations: stack office cards on tablet/phone (fixes 4-column override) */
@media(max-width:950px){
.offices,.locwrap .offices{grid-template-columns:1fr !important;gap:20px;padding:0 16px}
.office{min-width:0;padding:26px 22px}
.office-img{width:100%;height:210px}
.office .addr{overflow-wrap:anywhere}
}
@media(max-width:600px){
.locwrap{padding:56px 0}
.locwrap .offices{margin-top:-60px}
}

/* Header: logo + wordmark closer */
.brand{gap:3px !important}
.brand-wordmark{margin-left:-4px}
/* Dropdown: invisible bridge so menu stays open while moving the mouse down */
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
@media (hover:hover) and (pointer:fine){.dd-menu{transition-delay:.05s,.05s,.2s}.dd:hover .dd-menu,.dd:focus-within .dd-menu{transition-delay:0s}}
/* Appointments footnote */
.home-footnote{display:block;margin:10px auto 0;text-align:center;font-size:12px;color:var(--muted)}

/* Free circle badge (Support Group) */
.free-badge{width:92px;height:92px;border-radius:50%;background:var(--pink-deep);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:6px 0 18px;transform:rotate(-6deg);box-shadow:0 8px 20px rgba(169,111,132,.25)}
.free-badge b{font:700 20px "Playfair Display",serif;letter-spacing:.06em;line-height:1}
.free-badge small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-top:4px;opacity:.95}

.home-footnote-left{display:block;margin-top:-6px;font-size:12px;color:var(--muted)}