/* Site styles for this child theme.
   Loaded after the parent CSS, so selectors here win without extra specificity. */

/* -------------------------------------------------------------------------
   Dr. Zimm design tokens
   ------------------------------------------------------------------------- */

:root {
    /* Typography */
    --lp-font-body:    'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --lp-font-heading: 'Cinzel', Georgia, 'Times New Roman', serif;
    --lp-font-accent:  'Cormorant Garamond', Georgia, serif;

    /* Palette */
    --lp-text:        #1F1F1F;
    --lp-brand:       #A49165;
    --lp-brand-25:    color-mix(in srgb, var(--lp-brand) 25%, transparent);
    --lp-muted:       #5A5A5A;
    --lp-card-border: #E7E1D2;

    /* Header */
    --lp-header-bg:  #FFFFFFFA;
    --lp-hairline:   #E7E1D2;
    --lp-header-max: var(--lp-container);
    --lp-header-h:   88px;

    /* Footer */
    --lp-footer-bg:  #0F0F0F;
    --lp-footer-ink: #FFFFFF;
}

/* -------------------------------------------------------------------------
   Section utilities
   ------------------------------------------------------------------------- */

.lp-py-80 { padding-block: 80px; }

.lp-bg-light { background-color: #EFEEEA; }

/* -------------------------------------------------------------------------
   Header
   ------------------------------------------------------------------------- */

/* Only visible because the header is sticky and content passes under it */
.lp-header {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.lp-header__inner {
    padding-block: 20px;
    gap: 28px;
}

.lp-header__logo { width: 52px; height: 52px; }

.lp-header__actions {
    flex: 1;
    justify-content: flex-end;
    gap: 28px;
}

/* -------- Nav -------- */

.lp-header__nav { margin-inline: auto; }

.lp-nav { gap: 28px; }

.lp-nav a {
    font-family: var(--lp-font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: .32px;
    color: var(--lp-text);
}

.lp-nav a:hover,
.lp-nav .current-menu-item > a { color: var(--lp-brand); }

/* -------- Phone -------- */

.lp-header__phone {
    gap: 10px;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: .6px;
    color: var(--lp-text);
    transition: color .2s ease;
}

.lp-header__phone:hover,
.lp-header__phone:focus-visible {
    color: var(--lp-brand);
}

/* -------- CONSULTATION: text link, not a pill -------- */

.lp-header__cta--link {
    gap: 10px;
    padding: 0;
    border-radius: 0;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: var(--lp-text);
    transition: color .2s ease;
}

.lp-header__cta--link:hover {
    background: none;
    transform: none;
    color: var(--lp-brand);
}

/* -------- Icons: gold, text stays dark -------- */

.lp-header__phone-icon,
.lp-header__cta-icon {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    color: var(--lp-brand);
}

/* -------------------------------------------------------------------------
   Header - mobile (parent already hides .lp-header__nav below 900px)
   ------------------------------------------------------------------------- */

@media (max-width: 900px) {
    .lp-header__inner { gap: 16px; }

    /* Design shows logo + CONSULTATION only */
    .lp-header__phone { display: none; }

    /* Parent re-pads the CTA here - keep it a text link at the same size */
    .lp-header__cta--link {
        padding: 0;
        font-size: 15px;
        letter-spacing: .6px;
    }
}

/* -------------------------------------------------------------------------
   Shared section head - eyebrow pill, heading, intro copy
   ------------------------------------------------------------------------- */

.lp-eyebrow {
    display: inline-block;
    margin: 0 0 24px;
    padding: 12px 22px;
    background: var(--lp-brand);
    color: #FFFFFF;
    font-family: var(--lp-font-body);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 2.08px;
    text-transform: uppercase;
}

.lp-section-head {
    max-width: 740px;
    margin: 0 auto 56px;
}

.lp-section-head__heading {
    font-family: var(--lp-font-heading);
    font-size: 36px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: 1.44px;
    text-transform: uppercase;
    color: var(--lp-text);
}

.lp-section-head__lede {
    max-width: 740px;
    margin: 15px auto 0;
    font-family: var(--lp-font-body);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
    color: var(--lp-muted);
}

/* Dark sections invert the shared head */
.lp-bg-dark .lp-section-head__heading { color: #FFFFFF; }
.lp-bg-dark .lp-section-head__lede    { color: #FFFFFFB2; }


/* -------------------------------------------------------------------------
   Hero
   ------------------------------------------------------------------------- */

.lp-py-48 { padding-block: 48px; }

/* Parent assumes a dark hero; this one sits on a light photograph */
.lp-block--hero { color: var(--lp-text); }

@media (min-width: 901px) {
    .lp-block--hero .lp-hero__inner:not(.lp-hero__inner--solo) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
        gap: 64px;
    }
}

/* The hero has its own eyebrow class, not the shared .lp-eyebrow */
.lp-block--hero .lp-hero__eyebrow {
    display: inline-block;
    margin: 0 0 24px;
    padding: 12px 22px;
    background: var(--lp-brand);
    color: #FFFFFF;
    font-family: var(--lp-font-body);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 2.08px;
    text-transform: uppercase;
}

.lp-block--hero .lp-hero__title {
    margin-block-end: 24px;
    font-family: var(--lp-font-heading);
    font-size: 52px;
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: 2.08px;
    text-transform: uppercase;
    color: var(--lp-text);
}

.lp-block--hero .lp-hero__body {
    max-width: 580px;
    font-family: var(--lp-font-body);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.55;
    color: var(--lp-muted);
}

.lp-block--hero .lp-hero__cta {
    gap: 10px;
    margin-block-start: 32px;
    padding: 14px 28px;
    border: 1px solid #000000;
    border-radius: 4px;
    background: #1F1F1F;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: .45px;
    color: #FFFFFF;
    transition: background-color .2s ease, border-color .2s ease;
}

.lp-block--hero .lp-hero__cta:hover {
    background: var(--lp-brand);
    border-color: var(--lp-brand);
    transform: none;
}

/* -------- Trust badges -------- */

.lp-block--hero .lp-hero__list--badge {
    gap: 60px;
    margin-block-start: 48px;
}

.lp-block--hero .lp-hero__list--badge .lp-hero__list-item { gap: 12px; }

.lp-block--hero .lp-hero__list--badge .lp-hero__check-wrap {
    width: 52px;
    height: 52px;
    margin: 0;
    border: 1px solid #FFFFFF99;
    background: #FFFFFF40;
    box-shadow: inset 0 1px 0 1px #FFFFFFB2, 0 8px 24px #0000000F;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.lp-block--hero .lp-hero__badge-icon {
    width: 26px;
    height: 26px;
}

.lp-block--hero .lp-hero__list--badge .lp-hero__list-text {
    font-family: var(--lp-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: .28px;
    color: var(--lp-text);
}

/* -------- Form card -------- */

.lp-block--hero .lp-hero__card {
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--lp-card-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px #00000014;
}

/* Heading and subtext share one dark panel across the top of the card */
.lp-block--hero .lp-hero__card-heading {
    margin: 0;
    padding: 23px 28px 6px;
    background: #1A1A1A;
    font-family: var(--lp-font-accent);
    font-size: 26px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: .26px;
    color: #FFFFFF;
}

.lp-block--hero .lp-hero__card-text {
    margin: 0;
    padding: 0 28px 24px;
    background: #1A1A1A;
    font-family: var(--lp-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: .14px;
    color: #FFFFFFBF;
}

.lp-block--hero .lp-hero__form { padding: 22px 28px 0; }

.lp-block--hero .lp-hero__disclaimer {
    margin: 0;
    padding: 12px 28px 17px;
    font-family: var(--lp-font-body);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    color: #8A8A8A;
}

/* -------- Gravity Forms -------- */

.lp-block--hero .gform_wrapper.gravity-theme .gform_fields {
    row-gap: 12px;
    column-gap: 12px;
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield_label {
    margin-block-end: 6px;
    font-family: var(--lp-font-body);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .14px;
    color: var(--lp-text);
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield_required { color: #DD4444; }

.lp-block--hero .gform_wrapper.gravity-theme .gfield input[type="text"],
.lp-block--hero .gform_wrapper.gravity-theme .gfield input[type="email"],
.lp-block--hero .gform_wrapper.gravity-theme .gfield input[type="tel"],
.lp-block--hero .gform_wrapper.gravity-theme .gfield select,
.lp-block--hero .gform_wrapper.gravity-theme .gfield textarea {
    padding: 12px 14px;
    border: 1px solid var(--lp-card-border);
    border-radius: 4px;
    font-family: var(--lp-font-body);
    font-size: 14px;
    line-height: 1.5;
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield textarea {
    min-height: 96px;
    resize: vertical;
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield input::placeholder,
.lp-block--hero .gform_wrapper.gravity-theme .gfield textarea::placeholder {
    color: #757575;
}

.lp-block--hero .gform_wrapper.gravity-theme .gform_footer input[type="submit"] {
    padding: 14px;
    border: 1px solid #000000;
    border-radius: 4px;
    background: #868988;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .45px;
    color: #FFFFFF;
}

.lp-block--hero .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover {
    background: var(--lp-brand);
    border-color: var(--lp-brand);
    transform: none;
}
/* GF 2.5 renders the submit as <input>, newer versions can use <button> */
.lp-block--hero .gform_wrapper.gravity-theme .gform_footer button[type="submit"] {
    width: 100%;
    padding: 14px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: #868988;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .45px;
    color: #FFFFFF;
    cursor: pointer;
}

.lp-block--hero .gform_wrapper.gravity-theme .gform_footer button[type="submit"]:hover {
    background: var(--lp-brand);
    border-color: var(--lp-brand);
    transform: none;
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield select {
    color: #757575;
    background-image: none;
}

.lp-block--hero .gform_wrapper.gravity-theme .gfield select:valid { color: var(--lp-text); }
p.gform_required_legend {
    display: none;
}
@media (max-width: 1200px) {
.lp-block--hero .lp-hero__title {font-size: 40px;
}
}
@media (max-width: 900px) {
    /* Parent takes the card full-bleed on mobile; this design keeps it inset */
    .lp-block--hero .lp-hero__card {
        margin-inline: 0;
        padding: 0;
        border-radius: 8px;
        box-shadow: 0 8px 24px #00000014;
    }
       .lp-block--hero .lp-hero__title {
        font-size: 32px;
        line-height: 1.12;
        letter-spacing: 1.28px;
    }

    /* Everything in the copy column centres on mobile */
    .lp-block--hero .lp-hero__content { text-align: center; }

    /* Pill spans the column rather than hugging its text */
    .lp-block--hero .lp-hero__eyebrow {
        display: block;
        width: 100%;
    }

    .lp-block--hero .lp-hero__body { margin-inline: auto; }

    .lp-block--hero .lp-hero__cta {
        width: 100%;
        justify-content: center;
    }

    .lp-block--hero .lp-hero__badges {
        gap: 24px;
        justify-items: center;
    }

    /* Parent takes the card full-bleed on mobile; this design keeps it inset */
    .lp-block--hero .lp-hero__card {
        margin-inline: 0;
        padding: 0;
        border-radius: 8px;
        box-shadow: 0 8px 24px #00000014;
    }

    /* Parent zeroes the hero's bottom padding so KK's stat bar can meet the card */
    .lp-block.lp-block--hero.lp-py-48 { padding-block-end: 48px; }


    .lp-block.lp-block--hero.thank-you {
    padding-block-end: 4rem;
    }

}



/* -------------------------------------------------------------------------
   Features cards
   ------------------------------------------------------------------------- */

.lp-block--features .lp-features__grid { gap: 16px; }

/* Icon spans both rows so the body copy sits directly under the title
   rather than below the full height of the icon */
.lp-block--features .lp-features__card {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    grid-template-areas:
        "icon title"
        "icon text";
    align-content: start;
    column-gap: 18px;
    row-gap: 6px;
    padding: 24px 28px;
    border: 1px solid var(--lp-card-border);
    border-radius: 8px;
    background: #FFFFFF;
    text-align: left;
}

.lp-block--features .lp-features__icon-wrap {
    grid-area: icon;
    align-self: start;
    width: 36px;
    height: 36px;
    margin: 0;
    border-radius: 0;
    background: none;
}

.lp-block--features .lp-features__icon {
    width: 36px;
    height: 36px;
}

.lp-block--features .lp-features__title {
    grid-area: title;
    font-family: var(--lp-font-body);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.16px;
    color: var(--lp-text);
}

.lp-block--features .lp-features__text {
    grid-area: text;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    color: var(--lp-muted);
}

/* -------------------------------------------------------------------------
   Profile - Meet Your Surgeon
   ------------------------------------------------------------------------- */

@media (min-width: 901px) {
    .lp-block--profile .lp-profile {
        grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
        gap: 100px;
    }
}

.lp-block--profile .lp-profile__heading {
    font-family: var(--lp-font-heading);
    font-size: 38px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: 1.52px;
    text-transform: uppercase;
    color: #FFFFFF;
}

.lp-block--profile .lp-profile__subtitle {
    margin-block-start: 10px;
    font-family: var(--lp-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: 1.96px;
    text-transform: uppercase;
    color: #FFFFFF99;
}

.lp-block--profile .lp-profile__body {
    margin-block-start: 24px;
    font-family: var(--lp-font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
    color: #FFFFFFC7;
}

.lp-block--profile .lp-profile__body p { margin-block: 0 20px; }

.lp-block--profile .lp-profile__creds {
    margin-block-start: 30px;
    padding-block: 28px;
    border-block-start: 1px solid var(--lp-brand-25);
    column-gap: 40px;
}

.lp-block--profile .lp-profile__cred {
    font-family: var(--lp-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #FFFFFFE0;
}

.lp-block--profile .lp-profile__actions {
    margin-block-start: 0;
    padding-block-start: 28px;
    border-block-start: 1px solid var(--lp-brand-25);
}

.lp-block--profile .lp-profile__cta {
    gap: 10px;
    padding: 14px 28px;
    border: 1px solid #FFFFFF66;
    border-radius: 4px;
    background: none;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: .45px;
    color: #FFFFFF;
    transition: background-color .2s ease, border-color .2s ease;
}

.lp-block--profile .lp-profile__cta:hover {
    background: var(--lp-brand);
    border-color: var(--lp-brand);
    transform: none;
}

/* -------------------------------------------------------------------------
   Process
   ------------------------------------------------------------------------- */

.lp-block--process .lp-process__heading {
    font-family: var(--lp-font-heading);
    font-size: 32px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: 1.28px;
    text-transform: uppercase;
    color: var(--lp-text);
}

.lp-block--process .lp-process__lede {
    margin-block-start: 20px;
    font-family: var(--lp-font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
    color: var(--lp-muted);
}

.lp-block--process .lp-process__lede p { margin-block: 0 20px; }
.lp-block--process .lp-process__lede p:last-child { margin-block-end: 0; }

/* Parent centres the column on mobile; this design stays left at every width */
.lp-block--process .lp-process__content { text-align: left; }

.lp-block--process .lp-process__image {
    border-radius: 8px;
    box-shadow: 0 18px 40px #0000001A;
}

.lp-block--process .lp-process__step-title {
    font-family: var(--lp-font-body);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .84px;
    text-transform: uppercase;
    color: var(--lp-text);
}

.lp-block--process .lp-process__step-text {
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    color: var(--lp-muted);
}

/* Opt-in marker style: a left keyline instead of the dotted timeline */
.lp-block--process.lp-process--rule .lp-process__step {
    padding-inline-start: 14px;
    border-inline-start: 2px solid var(--lp-brand);
}

.lp-block--process.lp-process--rule .lp-process__step::before,
.lp-block--process.lp-process--rule .lp-process__step:not(:last-child)::after {
    content: none;
}

@media (max-width: 900px) {
    /* Parent forces 4:3; this photo is portrait, so let it keep its own ratio */
    .lp-block--process .lp-process__image { aspect-ratio: auto; }
}

/* -------------------------------------------------------------------------
   Gallery - Before & After
   ------------------------------------------------------------------------- */

.lp-block--gallery .lp-gallery__grid { gap: 28px; }

.lp-block--gallery .lp-gallery__caption {
    padding: 12px 16px;
    font-family: var(--lp-font-accent);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: .18px;
    color: var(--lp-text);
}

.lp-block--gallery .lp-gallery__cta-heading {
    max-width: 520px;
    margin-block-start: 40px;
    margin-inline: auto;
    font-family: var(--lp-font-heading);
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .78px;
    text-transform: uppercase;
    color: var(--lp-text);
}

.lp-block--gallery .lp-gallery__cta {
    gap: 10px;
    margin-block-start: 28px;
    padding: 14px 28px;
    border-radius: 4px;
    background: #1F1F1F;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: .45px;
    color: #FFFFFF;
    transition: background-color .2s ease;
}

.lp-block--gallery .lp-gallery__cta:hover {
    background: var(--lp-brand);
    transform: none;
}

.lp-block--gallery .lp-gallery__disclaimer {
    max-width: 700px;
    margin-block-start: 32px;
    font-family: var(--lp-font-body);
    font-size: 13px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.55;
    color: #8A8A8A;
}

/* -------------------------------------------------------------------------
   Timeline - What to Expect
   ------------------------------------------------------------------------- */

.lp-block--timeline .lp-timeline__list {
    max-width: 900px;
    margin-inline: auto;
}

.lp-block--timeline .lp-timeline__label {
    padding: 8px 14px;
    background: #1F1F1F;
    color: #FFFFFF;
    font-family: var(--lp-font-body);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 2.08px;
    text-transform: uppercase;
}

.lp-block--timeline .lp-timeline__title {
    margin-block-start: 14px;
    font-family: var(--lp-font-accent);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -.22px;
    color: var(--lp-text);
}

.lp-block--timeline .lp-timeline__text {
    margin-block-start: 8px;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--lp-muted);
}

/* -------------------------------------------------------------------------
   Testimonials
   ------------------------------------------------------------------------- */

.lp-block--testimonials .lp-testimonials__grid { gap: 24px; }

/* Top margin leaves room for the badge that overhangs the card */
.lp-block--testimonials .lp-testimonials__card {
    position: relative;
    margin-block-start: 29px;
    padding: 50px 28px 55px;
    border: 0;
    border-block-start: 1px solid var(--lp-card-border);
    border-radius: 8px;
    box-shadow: none;
}

/* Parent's mark is a different quote shape, and a glyph inside an <svg> can't be
   swapped from CSS - so hide it and rebuild the badge on the card itself */
.lp-block--testimonials .lp-testimonials__mark { display: none; }

.lp-block--testimonials .lp-testimonials__card::before,
.lp-block--testimonials .lp-testimonials__card::after {
    content: '';
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 50%;
    translate: -50% -50%;
}

.lp-block--testimonials .lp-testimonials__card::before {
    width: 56px;
    height: 56px;
    border: 2px solid var(--lp-brand);
    border-radius: 50%;
    background: #1F1F1F;
}

.lp-block--testimonials .lp-testimonials__card::after {
    width: 20px;
    height: 20px;
    background: #FFFFFF;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15"><path d="M3.58395 14.1681C2.42662 14.1681 1.53062 13.7574 0.895949 12.9361C0.298616 12.1147 0 10.9014 0 9.29606C0 7.61606 0.354616 6.02939 1.06395 4.53606C1.77328 3.04272 2.81862 1.54939 4.19995 0.0560584C4.23728 0.0187233 4.29328 0 4.36795 0C4.47995 0 4.57328 0.0560562 4.64795 0.168057C4.72262 0.280058 4.72262 0.373391 4.64795 0.448057C3.82662 1.60539 3.26662 2.72539 2.96795 3.80806C2.66928 4.85339 2.51995 6.01072 2.51995 7.28006C2.51995 8.28806 2.65062 9.10939 2.91195 9.74406C3.21062 10.3414 3.60262 10.8641 4.08795 11.3121L1.95995 11.7041C1.92262 11.0694 2.09062 10.5841 2.46395 10.2481C2.83728 9.91206 3.32262 9.74406 3.91995 9.74406C4.62928 9.74406 5.17062 9.94939 5.54395 10.3601C5.95462 10.7707 6.15995 11.3121 6.15995 11.9841C6.15995 12.6934 5.93595 13.2347 5.48795 13.6081C5.03995 13.9814 4.40528 14.1681 3.58395 14.1681ZM11.816 14.1681C10.6586 14.1681 9.76262 13.7574 9.12795 12.9361C8.49328 12.1147 8.17595 10.9014 8.17595 9.29606C8.17595 7.65339 8.53062 6.08539 9.23995 4.59206C9.94928 3.09872 10.9946 1.58672 12.3759 0.0560584C12.4133 0.0187233 12.4693 0 12.5439 0C12.656 0 12.7493 0.0560562 12.824 0.168057C12.8986 0.280058 12.8986 0.373391 12.824 0.448057C12.0026 1.60539 11.4426 2.72539 11.1439 3.80806C10.8826 4.85339 10.7519 6.01072 10.7519 7.28006C10.7519 8.28806 10.8826 9.09072 11.1439 9.68806C11.4053 10.2854 11.7786 10.8267 12.2639 11.3121L10.1359 11.7041C10.0986 11.0694 10.2666 10.5841 10.6399 10.2481C11.0506 9.91206 11.5546 9.74406 12.1519 9.74406C12.8239 9.74406 13.3466 9.94939 13.7199 10.3601C14.1306 10.7707 14.3359 11.3121 14.3359 11.9841C14.3359 13.4401 13.4959 14.1681 11.816 14.1681Z"/></svg>') center / contain no-repeat;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15"><path d="M3.58395 14.1681C2.42662 14.1681 1.53062 13.7574 0.895949 12.9361C0.298616 12.1147 0 10.9014 0 9.29606C0 7.61606 0.354616 6.02939 1.06395 4.53606C1.77328 3.04272 2.81862 1.54939 4.19995 0.0560584C4.23728 0.0187233 4.29328 0 4.36795 0C4.47995 0 4.57328 0.0560562 4.64795 0.168057C4.72262 0.280058 4.72262 0.373391 4.64795 0.448057C3.82662 1.60539 3.26662 2.72539 2.96795 3.80806C2.66928 4.85339 2.51995 6.01072 2.51995 7.28006C2.51995 8.28806 2.65062 9.10939 2.91195 9.74406C3.21062 10.3414 3.60262 10.8641 4.08795 11.3121L1.95995 11.7041C1.92262 11.0694 2.09062 10.5841 2.46395 10.2481C2.83728 9.91206 3.32262 9.74406 3.91995 9.74406C4.62928 9.74406 5.17062 9.94939 5.54395 10.3601C5.95462 10.7707 6.15995 11.3121 6.15995 11.9841C6.15995 12.6934 5.93595 13.2347 5.48795 13.6081C5.03995 13.9814 4.40528 14.1681 3.58395 14.1681ZM11.816 14.1681C10.6586 14.1681 9.76262 13.7574 9.12795 12.9361C8.49328 12.1147 8.17595 10.9014 8.17595 9.29606C8.17595 7.65339 8.53062 6.08539 9.23995 4.59206C9.94928 3.09872 10.9946 1.58672 12.3759 0.0560584C12.4133 0.0187233 12.4693 0 12.5439 0C12.656 0 12.7493 0.0560562 12.824 0.168057C12.8986 0.280058 12.8986 0.373391 12.824 0.448057C12.0026 1.60539 11.4426 2.72539 11.1439 3.80806C10.8826 4.85339 10.7519 6.01072 10.7519 7.28006C10.7519 8.28806 10.8826 9.09072 11.1439 9.68806C11.4053 10.2854 11.7786 10.8267 12.2639 11.3121L10.1359 11.7041C10.0986 11.0694 10.2666 10.5841 10.6399 10.2481C11.0506 9.91206 11.5546 9.74406 12.1519 9.74406C12.8239 9.74406 13.3466 9.94939 13.7199 10.3601C14.1306 10.7707 14.3359 11.3121 14.3359 11.9841C14.3359 13.4401 13.4959 14.1681 11.816 14.1681Z"/></svg>') center / contain no-repeat;
}

.lp-block--testimonials .lp-testimonials__quote {
    font-family: var(--lp-font-accent);
    font-size: 18px;
    font-weight: 500;
    font-style: italic;
    line-height: 1.55;
    color: var(--lp-text);
}

/* Design stacks name, stars, treatment. display:contents lifts the name and
   location out of their wrapper so order can interleave the rating between them */
.lp-block--testimonials .lp-testimonials__foot {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding-block-start: 20px;
    border-block-start: 1px solid var(--lp-card-border);
}

.lp-block--testimonials .lp-testimonials__person { display: contents; }

.lp-block--testimonials .lp-testimonials__name {
    order: 1;
    font-family: var(--lp-font-body);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: .28px;
    color: var(--lp-text);
}

.lp-block--testimonials .lp-testimonials__rating {
    order: 2;
    gap: 1px;
    color: var(--lp-brand);
}

.lp-block--testimonials .lp-testimonials__star {
    width: 14px;
    height: 14px;
}

.lp-block--testimonials .lp-testimonials__location {
    order: 3;
    font-family: var(--lp-font-body);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: .26px;
    color: #8A8A8A;
}

.lp-block--testimonials .lp-testimonials__outro-heading {
    margin-block-start: 40px;
    font-family: var(--lp-font-heading);
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .78px;
    text-transform: uppercase;
    color: #FFFFFF;
}

.lp-block--testimonials .lp-testimonials__cta {
    gap: 10px;
    margin-block-start: 28px;
    padding: 14px 28px;
    border: 1px solid #FFFFFF66;
    border-radius: 4px;
    background: none;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: .45px;
    color: #FFFFFF;
    transition: background-color .2s ease, border-color .2s ease;
}

.lp-block--testimonials .lp-testimonials__cta:hover {
    background: var(--lp-brand);
    border-color: var(--lp-brand);
    transform: none;
}
.lp-block--testimonials .lp-section-head { max-width: 620px; }

/* -------------------------------------------------------------------------
   Logos - As Featured In
   ------------------------------------------------------------------------- */

/* A caption here, not the gold pill the content sections use */
.lp-block--logos .lp-eyebrow {
    margin: 0 0 28px;
    padding: 0;
    background: none;
    font-size: 13px;
    line-height: 1.65;
    letter-spacing: 2.34px;
    color: #8A8A8A;
}

.lp-block--logos .lp-section-head { margin-block-end: 0; }

.lp-featured {
    --lp-logos-gap: 55px;
    padding-block: 55px;
    border-block: 1px solid #0000000D;
}
.lp-featured .lp-logos__grid {
    max-width: 830px;
    margin-inline: auto;
}

@media (max-width: 900px) {
    .lp-featured .lp-logos__grid:not(.lp-logos__grid--slider) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* Five logos in two columns leaves one alone - span it so it centres */
    .lp-featured .lp-logos__item:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
}


/* -------------------------------------------------------------------------
   FAQ
   ------------------------------------------------------------------------- */

.lp-block--faq {
    --lp-faq-line: var(--lp-card-border);
    background-position: top center;
    background-size: 100% auto;
    background-repeat: repeat-y;
}

.lp-block--faq .lp-faq { max-width: 820px; }

.lp-block--faq .lp-faq__question { padding-block: 22px; }

.lp-block--faq .lp-faq__question-text {
    font-family: var(--lp-font-accent);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.65;
    letter-spacing: .2px;
    color: var(--lp-text);
}

/* Parent's chevron is an <svg>, so its shape can't be changed from CSS.
   Hide it and draw the circled plus on the summary instead. */
.lp-block--faq .lp-faq__icon { display: none; }

.lp-block--faq .lp-faq__question::after {
    content: '';
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background:
        linear-gradient(var(--lp-brand) 0 0) center / 12px 2px no-repeat,
        linear-gradient(var(--lp-brand) 0 0) center / 2px 12px no-repeat,
        #F1EAD8;
    transition: background-size .2s ease;
}

.lp-block--faq .lp-faq__item[open] .lp-faq__question::after {
    background-size: 12px 2px, 2px 0, auto;
}


.lp-block--faq .lp-faq__answer-inner {
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: #000000;
}

/* -------------------------------------------------------------------------
   CTA band
   ------------------------------------------------------------------------- */

.lp-py-100 { padding-block: 100px; }

.lp-block--cta .lp-cta__heading {
    margin-block-end: 24px;
    font-family: var(--lp-font-heading);
    font-size: 38px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: 1.52px;
    text-transform: uppercase;
    color: #FFFFFF;
}

.lp-block--cta .lp-cta__lede {
    max-width: 440px;
    font-family: var(--lp-font-body);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.65;
    color: #FFFFFFC7;
}

.lp-block--cta .lp-cta__actions {
    gap: 16px;
    margin-block-start: 32px;
}

.lp-block--cta .lp-cta__actions .lp-btn {
    padding: 14px 28px;
    border-radius: 4px;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: .45px;
}

.lp-block--cta .lp-cta__primary {
    border: 1px solid transparent;
    background: #1F1F1F;
    color: #FFFFFF;
    font-weight: 700;
    transition: background-color .2s ease, border-color .2s ease;
}

.lp-block--cta .lp-cta__phone {
    gap: 10px;
    border: 1px solid #FFFFFF66;
    color: #FFFFFF;
    transition: background-color .2s ease, border-color .2s ease;
}

.lp-block--cta .lp-cta__primary:hover,
.lp-block--cta .lp-cta__phone:hover {
    background: var(--lp-brand);
    border-color: var(--lp-brand);
    transform: none;
}

/* No icon on this footnote, and it's a sentence rather than a tracked label */
.lp-block--cta .lp-cta__trust-icon { display: none; }

.lp-block--cta .lp-cta__trust {
    max-width: 450px;
    margin: 24px auto 0;
    font-family: var(--lp-font-body);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: .54px;
    text-transform: none;
    color: #FFFFFFC7;
}

/* The Z is already baked into the desktop background image */
@media (min-width: 901px) {
    .lp-block--cta .lp-cta__watermark { display: none; }
}


/* -------------------------------------------------------------------------
   Video gallery
   ------------------------------------------------------------------------- */

.lp-block--videos .lp-videos__grid { gap: 28px; }

/* Cinzel renders lowercase as small caps - this heading is typed in title case */
.lp-block--videos .lp-section-head__heading { text-transform: none; }

.lp-block--videos .lp-section-head { max-width: 900px; }



/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */

.lp-footer {
    padding-block: 65px 28px;
}

.lp-footer__inner {
    max-width: 560px;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
    padding-block: 0 36px;
}

.lp-footer__info {
    gap: 0;
    justify-items: center;
}

.lp-footer__item {
    justify-content: center;
    gap: 0;
    font-family: var(--lp-font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: #FFFFFFA6;
}

.lp-footer__item--phone { margin-block: 15px; }

.lp-footer__item--phone a {
    font-family: var(--lp-font-heading);
    font-size: 28px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: .84px;
    text-transform: uppercase;
    color: #FFFFFF;
    transition: color .2s ease;
}

.lp-footer__item--phone a:hover {
    color: var(--lp-brand);
    text-decoration: none;
}

.lp-footer__item--entrance {
    font-size: 13px;
    font-style: italic;
    line-height: 1.6;
}

.lp-footer__legal {
    max-width: 560px;
    margin-inline: auto;
    justify-content: center;
    padding-block: 28px 0;
    border-block-start: 1px solid #FFFFFF14;
}

.lp-footer__legal-text {
    font-family: var(--lp-font-body);
    font-size: 13px;
    line-height: 1.6;
    color: #FFFFFFA6;
    opacity: 1;
}

@media (max-width: 768px) {
    .lp-footer__legal { width: 90%; }
}
