/* Isolated homepage navbar styles; no changes to the subpage content grids. */
body.jd-body .site-header .site-menu .button{background:#d997ad!important;margin-top:0;transform:none}
body.jd-body .site-header .site-menu .button:hover{background:#945069!important}
body.jd-body .site-header .header-bar__inner>p{color:rgba(255,255,255,.68)!important}
@media(max-width:959px){body.jd-body .site-header .site-menu .button{margin-top:1.5rem}body.jd-body .site-header .site-menu .button--outline{background:transparent!important;margin-top:.75rem}}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
body.jd-body .site-header{font-family:'Avenir Next',Avenir,Arial,sans-serif;color:#3f2932;position:sticky;top:0;z-index:100}
body.jd-body .site-header .container{width:calc(100% - 2 * clamp(1.25rem,4vw,4.5rem));max-width:1320px;margin:auto;padding:0}
.site-header p{margin:0}.site-header a{text-decoration:none;color:inherit}.site-header svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
.site-header .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header .icon-link{border:1px solid;border-radius:50%;place-items:center}
body.jd-body .site-header .button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:.9rem 1.4rem;border:1px solid #d997ad;border-radius:999px;background:#d997ad;color:#3f2932!important;-webkit-text-fill-color:#3f2932!important;font-size:.65rem;font-weight:700;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;box-shadow:none;margin-bottom:0}
body.jd-body .site-header .button:hover{background:#945069;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.jd-body .site-header .button--outline{background:transparent;border-color:#945069}
body.jd-body .site-header .mobile-call-action{display:none}
.site-header a[aria-current=page]{color:#945069!important}
body.jd-body :is(.jd-page-hero,.svc-hero){margin-top:0!important}
@media(max-width:959px){body.jd-body .site-header .mobile-call-action{display:inline-flex}.site-header .site-menu{height:calc(100dvh - 111px)}}
@media(max-width:639px){.site-header .site-brand{gap:.55rem}.site-header .site-brand__mark{width:2.9rem;height:2.9rem}.site-header .site-brand__wordmark strong{font-size:1.15rem}.site-header .site-brand__wordmark small{font-size:.45rem;letter-spacing:.18em}.site-header .site-nav__inner{gap:.6rem}.site-header .site-menu{width:100%}.site-header .header-bar__inner{font-size:.56rem}}
.site-header {
    --brand: #d997ad;
    --brand-dark: #b76883;
    --brand-deep: #743f54;
    --brand-pale: #fff0f5;
    --brand-mist: #f8dce6;
    --canvas: #fffafb;
    --surface: #ffffff;
    --surface-soft: #fff3f6;
    --ink: #3f2932;
    --ink-soft: #755b66;
    --muted: #927984;
    --line: #f0dce3;
    --line-strong: #e2bcc9;
    --white: #ffffff;
    --shadow-sm: 0 10px 30px rgba(116, 63, 84, 0.08);
    --shadow-md: 0 24px 70px rgba(116, 63, 84, 0.13);
    --shadow-brand: 0 18px 48px rgba(217, 151, 173, 0.25);
    --font-display: "Bodoni 72", Didot, "Bodoni MT", "Iowan Old Style", Georgia, serif;
    --font-body: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
    --container: 1320px;
    --gutter: clamp(1.25rem, 4vw, 4.5rem);
    --section-space: clamp(5.25rem, 9vw, 9.5rem);
    --radius-sm: 0.45rem;
    --radius-md: 1.1rem;
    --radius-lg: 2rem;
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --header-height: 7.55rem;
    --z-header: 40;
    --z-menu: 50;
    --z-floating: 35;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: var(--z-header);
    background: rgba(247, 251, 254, 0.88);
    border-bottom: 1px solid transparent;
    backdrop-filter: blur(18px) saturate(140%);
    transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.site-header.is-scrolled {
    background: rgba(247, 251, 254, 0.96);
    border-bottom-color: var(--line);
    box-shadow: 0 12px 30px rgba(55, 86, 106, 0.06);
}

.header-bar {
    color: rgba(255, 255, 255, 0.9);
    background: var(--ink);
}

.header-bar__inner {
    min-height: 2.2rem;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
    font-size: 0.62rem;
    font-weight: 650;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.header-bar__inner > p {
    color: rgba(255, 255, 255, 0.68);
}

.header-bar a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    transition: color 180ms ease;
}

.header-bar a:hover {
    color: #c3dff1;
}

.header-bar__links {
    display: flex;
    justify-content: flex-end;
    gap: 0.4rem;
}

.header-bar__links .icon-link {
    width: 1.65rem;
    height: 1.65rem;
    display: grid;
    border-color: rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.86);
    background: rgba(255, 255, 255, 0.04);
}

.header-bar__links .icon-link:hover {
    border-color: #c3dff1;
    color: var(--ink);
    background: #c3dff1;
}

.site-nav__inner {
    min-height: 5.35rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.site-brand,
.footer-brand {
    display: inline-flex;
    align-items: center;
}

.site-brand {
    gap: 0.8rem;
}

.site-brand__mark {
    width: 3.4rem;
    height: 3.4rem;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    overflow: visible;
    color: var(--brand-deep);
    background: transparent;
}

.site-brand__mark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.site-brand__wordmark,
.footer-brand__wordmark {
    display: flex;
    flex-direction: column;
}

.site-brand__wordmark strong {
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 1.8vw, 1.9rem);
    font-weight: 500;
    letter-spacing: 0.045em;
    line-height: 0.9;
}

.site-brand__wordmark small {
    margin-top: 0.48rem;
    color: var(--brand-dark);
    font-size: 0.49rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    line-height: 1;
    text-transform: uppercase;
}

.site-menu {
    display: flex;
    align-items: center;
    gap: clamp(1.2rem, 2.5vw, 2.7rem);
}

.mobile-call-action {
    display: none;
}

.nav-backdrop {
    display: none;
}

.site-menu > a:not(.button) {
    position: relative;
    padding-block: 0.5rem;
    color: var(--ink);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.site-menu > a:not(.button)::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: var(--brand);
    content: "";
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 240ms var(--ease-out);
}

.site-menu > a:not(.button):hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.nav-toggle {
    width: 2.9rem;
    height: 2.9rem;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.3rem;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--surface);
    cursor: pointer;
}

.nav-toggle > span:not(.sr-only) {
    width: 1.1rem;
    height: 1px;
    background: var(--ink);
    transition: transform 200ms ease, opacity 200ms ease;
}

.nav-toggle[aria-expanded="true"] > span:nth-child(2) {
    transform: translateY(0.4rem) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] > span:nth-child(3) {
    opacity: 0;
}

.nav-toggle[aria-expanded="true"] > span:nth-child(4) {
    transform: translateY(-0.4rem) rotate(-45deg);
}

@media(max-width:959px){    .header-bar__inner {
        grid-template-columns: 1fr auto;
    }

    .header-bar__inner > p {
        display: none;
    }

    .site-nav__inner {
        min-height: 4.7rem;
    }

    .nav-toggle {
        display: flex;
    }

    .site-menu {
        position: absolute;
        z-index: var(--z-menu);
        top: 100%;
        right: 0;
        bottom: auto;
        width: min(88vw, 25rem);
        height: calc(100dvh - var(--header-height));
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        padding: 2rem;
        border-left: 1px solid var(--line);
        overflow-y: auto;
        overscroll-behavior: contain;
        background: var(--canvas);
        box-shadow: -30px 0 60px rgba(55, 86, 106, 0.12);
        transform: translateX(105%);
        visibility: hidden;
        pointer-events: none;
        transition:
            transform 360ms var(--ease-out),
            visibility 0s linear 360ms;
    }

    .nav-backdrop {
        position: absolute;
        z-index: calc(var(--z-menu) - 1);
        top: 100%;
        right: 0;
        width: 100%;
        height: calc(100dvh - var(--header-height));
        display: block;
        background: rgba(30, 42, 51, 0.22);
        backdrop-filter: blur(3px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        cursor: pointer;
        transition:
            opacity 280ms ease,
            visibility 0s linear 360ms;
    }

    .site-menu.is-open {
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
        transition:
            transform 360ms var(--ease-out),
            visibility 0s linear 0s;
    }

    .nav-backdrop.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition:
            opacity 280ms ease,
            visibility 0s linear 0s;
    }

    .site-menu > a:not(.button) {
        padding: 1.1rem 0.2rem;
        border-bottom: 1px solid var(--line);
        font-family: var(--font-display);
        font-size: 1.8rem;
        font-weight: 500;
        letter-spacing: -0.02em;
        text-transform: none;
    }

    .site-menu .button {
        margin-top: 1.5rem;
    }

    .site-menu .mobile-call-action {
        display: inline-flex;
        margin-top: 0.75rem;
    }

}
