@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Archivo+Black&family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&display=swap");

/*
 * Doreen Loubser theme CSS
 * Cleaned version:
 * - Removed old Book Doreen hero styles now replaced by .dl-page-hero
 * - Removed old Vicki book hero styles now replaced by .dl-page-hero
 * - Removed duplicate search form rules
 * - Kept reusable hero, booking form, book page, posts, archives, 404 and footer styles
 */

:root {
    --dl-black: #000000;
    --dl-white: #ffffff;
    --dl-page-bg: #fbf9f9;
    --dl-light-bg: #f7f6f1;
    --dl-dark-bg: #393f38;
    --dl-hero-bg: #3e3e3e;
    --dl-primary: #262c1a;
    --dl-body: #46483f;
    --dl-muted-light: #dbdad9;
    --dl-sage: #dae2c4;
    --dl-sage-2: #d6dec0;
    --dl-border: #c7c7bc;
    --dl-card-bg: #efeded;
    --dl-hero-gradient-dark: #303031;

    --dl-container: 1120px;
    --dl-side-space: 80px;

    --dl-font-sans: "Archivo", "Helvetica Neue", Arial, sans-serif;
    --dl-font-serif: "Libre Caslon Text", Georgia, "Times New Roman", serif;
    --dl-font-hero: "Archivo Black", "Archivo", Impact, sans-serif;

    --dl-shadow-book: 0 25px 50px rgba(0, 0, 0, 0.25);
    --dl-shadow-hero: -27px -20px 34px rgba(0, 0, 0, 0.25);
}

/* Hide default Understrap wrappers only.
   Do not hide .navbar, otherwise the custom header navbar is hidden too. */
.page-template-template-doreen-home #wrapper-navbar,
.page-template-template-doreen-home .wrapper-navbar,
.page-template-template-doreen-home #wrapper-footer,
.page-template-template-doreen-home footer.site-footer,
.page-template-template-doreen-home .site-footer {
    display: none !important;
}

.page-template-template-doreen-home {
    background: var(--dl-page-bg);
}

.dl-home {
    background: var(--dl-page-bg);
    color: var(--dl-black);
    font-family: var(--dl-font-sans);
    overflow-x: hidden;
}

.dl-home .container,
.doreen-header-container,
.doreen-footer__container,
.doreen-footer__bottom-container {
    max-width: var(--dl-container);
}

.dl-home .container {
    padding-left: 0;
    padding-right: 0;
}

.dl-home img {
    display: block;
    max-width: 100%;
}

.dl-home p {
    margin-top: 0;
}

/* Theme styles from the ACF dark/light selector
--------------------------------------------- */
.dl-section--light {
    background-color: var(--dl-light-bg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--dl-black);
}

.dl-section--light .dl-section-content,
.dl-section--light .dl-hero__intro,
.dl-section--light .dl-blog-card__excerpt,
.dl-section--light .dl-socials__label {
    color: var(--dl-body);
}

.dl-section--light .dl-eyebrow,
.dl-section--light .dl-blog-card__eyebrow,
.dl-section--light .dl-socials__name,
.dl-section--light .dl-text-link {
    color: var(--dl-primary);
}

.dl-section--dark {
    background-color: var(--dl-dark-bg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--dl-white);
    position: relative;
}

.dl-section--dark .dl-section-content,
.dl-section--dark .dl-hero__intro,
.dl-section--dark .dl-blog-card__excerpt,
.dl-section--dark .dl-socials__label {
    color: var(--dl-muted-light);
}

.dl-section--dark .dl-eyebrow,
.dl-section--dark .dl-blog-card__eyebrow,
.dl-section--dark .dl-socials__name,
.dl-section--dark .dl-text-link {
    color: var(--dl-muted-light);
}

/* Shared typography
--------------------------------------------- */
.dl-eyebrow {
    color: inherit;
    font-family: var(--dl-font-sans);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.25;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.dl-section-title {
    color: inherit;
    font-family: var(--dl-font-serif);
    font-size: clamp(42px, 4.15vw, 50px);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.035em;
    line-height: 0.98;
    margin: 0 0 30px;
}

.dl-section-content {
    color: var(--dl-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
}

.dl-section-content p {
    margin-bottom: 18px;
}

.dl-section-content p:last-child,
.dl-section-quote p:last-child,
.dl-big-quote p:last-child {
    margin-bottom: 0;
}

.dl-section-quote {
    border-left: 0;
    color: inherit;
    font-family: var(--dl-font-serif);
    font-size: clamp(22px, 2vw, 28px);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.035em;
    line-height: 1.16;
    margin: 28px 0 26px;
    max-width: 560px;
    padding: 0;
}

.dl-section-icon {
    height: auto;
    margin-bottom: 24px;
    width: 58px;
}

.dl-section-icon svg,
.dl-section-icon img,
.dl-section-icon__image {
    display: block;
    height: auto;
    max-height: 44px;
    object-fit: contain;
    object-position: left center;
    width: 100%;
}

/* Buttons
--------------------------------------------- */
.dl-btn {
    align-items: center;
    border: 0;
    border-radius: 0;
    display: inline-flex;
    font-family: var(--dl-font-sans);
    font-size: 12px;
    font-weight: 800;
    justify-content: center;
    letter-spacing: 0.015em;
    line-height: 1;
    min-height: 64px;
    padding: 0 42px;
    text-transform: uppercase;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.dl-btn:hover,
.dl-btn:focus {
    transform: translateY(-1px);
}

.dl-btn--light {
    background: var(--dl-light-bg);
    color: var(--dl-primary);
}

.dl-btn--light:hover,
.dl-btn--light:focus {
    background: var(--dl-sage);
    color: var(--dl-primary);
}

.dl-btn--dark {
    background: var(--dl-primary);
    color: var(--dl-white);
}

.dl-btn--dark:hover,
.dl-btn--dark:focus {
    background: var(--dl-dark-bg);
    color: var(--dl-white);
}

/* Header
--------------------------------------------- */
.doreen-site-header {
    background: transparent;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 50;
}

.doreen-navbar {
    background: transparent;
    min-height: 108px;
    padding: 30px 0;
}

.doreen-header-container {
    position: relative;
    width: 100%;
}

.doreen-header-grid {
    align-items: center;
    column-gap: 20px;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    min-height: 64px;
    position: relative;
    width: 100%;
}

.doreen-site-logo {
    align-items: center;
    display: inline-flex;
    grid-column: 1;
    justify-self: start;
    margin: 0;
    max-width: 220px;
    padding: 0;
    text-decoration: none;
    width: auto;
}

.doreen-custom-logo {
    display: block;
    height: auto;
    max-height: 74px;
    max-width: 210px;
    width: auto;
}

.doreen-site-title {
    color: var(--dl-white);
    font-family: var(--dl-font-hero);
    font-size: 22px;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
}

.doreen-main-menu .menu-item,
.doreen-header-cta-menu .menu-item {
    margin: 0;
    padding: 0;
}

.doreen-main-menu .nav-link,
.doreen-main-menu a {
    color: var(--dl-white);
    display: inline-flex;
    font-family: var(--dl-font-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.11em;
    line-height: 1.2;
    padding: 0;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 180ms ease;
    white-space: nowrap;
}

.doreen-main-menu .nav-link:hover,
.doreen-main-menu .nav-link:focus,
.doreen-main-menu a:hover,
.doreen-main-menu a:focus,
.doreen-main-menu .current-menu-item > a {
    color: var(--dl-sage);
}

.doreen-main-menu .nav-link::after,
.doreen-main-menu a::after {
    background: currentColor;
    bottom: -7px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 180ms ease;
    width: 100%;
}

.doreen-main-menu .nav-link:hover::after,
.doreen-main-menu .nav-link:focus::after,
.doreen-main-menu a:hover::after,
.doreen-main-menu a:focus::after,
.doreen-main-menu .current-menu-item > a::after {
    transform: scaleX(1);
    transform-origin: left;
}

.doreen-header-cta-menu {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0;
}

.doreen-header-cta-menu a,
.doreen-header-cta-menu .nav-link {
    align-items: center;
    background: var(--dl-sage);
    border: 1px solid var(--dl-sage);
    color: var(--dl-black);
    display: inline-flex;
    font-family: var(--dl-font-sans);
    font-size: 12px;
    font-weight: 700;
    justify-content: center;
    letter-spacing: 0.11em;
    line-height: 1;
    min-height: 44px;
    padding: 14px 22px;
    text-decoration: none;
    text-transform: uppercase;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
    white-space: nowrap;
}

.doreen-header-cta-menu a:hover,
.doreen-header-cta-menu a:focus,
.doreen-header-cta-menu .nav-link:hover,
.doreen-header-cta-menu .nav-link:focus {
    background: var(--dl-white);
    border-color: var(--dl-white);
    color: var(--dl-black);
}

.doreen-navbar-toggler {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 0;
    box-shadow: none;
    display: none;
    flex-direction: column;
    gap: 5px;
    height: 44px;
    justify-content: center;
    padding: 0;
    width: 44px;
}

.doreen-navbar-toggler:focus {
    box-shadow: none;
    outline: 1px solid var(--dl-sage);
    outline-offset: 3px;
}

.doreen-menu-icon {
    background: var(--dl-white);
    display: block;
    height: 1px;
    margin: 0 auto;
    width: 19px;
}

@media (min-width: 992px) {
    .doreen-menu-wrap {
        display: contents !important;
    }

    .doreen-primary-menu-area {
        grid-column: 2;
        justify-self: center;
        padding-right: 210px;
        width: 100%;
    }

    .doreen-main-menu {
        align-items: center;
        display: flex;
        flex-direction: row;
        gap: 24px;
        justify-content: center;
        list-style: none;
        margin: 0;
        padding: 0;
        width: 100%;
    }

    .doreen-header-cta-area {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        z-index: 5;
    }
}

/* Hero
--------------------------------------------- */
.min-vh-75 {
    min-height: 805px;
}

.dl-hero {
    background-color: var(--dl-hero-bg);
    background-image: none !important;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    isolation: isolate;
    min-height: 805px;
    overflow: hidden;
    padding: 0;
    position: relative;
}

.dl-hero__bg {
    animation: dlHeroBgSlowMove 38s ease-in-out infinite alternate;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    inset: -120px;
    position: absolute;
    transform: translate3d(0, var(--dl-hero-parallax-y, 0px), 0) scale(1.08);
    will-change: transform, background-position;
    z-index: 0;
}

.dl-hero::before {
    background: linear-gradient(
        180deg,
        rgba(48, 48, 49, 0.48) 0%,
        rgba(64, 64, 64, 0) 50%,
        rgba(48, 48, 49, 0.98) 100%
    );
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.dl-hero::after {
    background:
        linear-gradient(42deg, transparent 0 23%, rgba(218, 226, 196, 0.04) 23.1% 35%, transparent 35.1% 100%),
        linear-gradient(22deg, transparent 0 9%, rgba(107, 45, 32, 0.24) 9.1% 14%, transparent 14.1% 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.dl-hero .container,
.dl-hero .row {
    min-height: 805px;
    position: relative;
    z-index: 2;
}

.dl-hero__copy {
    padding-top: 258px;
    position: relative;
    z-index: 3;
}

.dl-hero__title {
    color: var(--dl-white);
    font-family: var(--dl-font-hero);
    font-size: clamp(86px, 9.65vw, 124px);
    font-weight: 400;
    letter-spacing: -0.065em;
    line-height: 0.84;
    margin: 0 0 24px;
    max-width: 640px;
    overflow: visible;
    padding-bottom: 0.08em;
    text-transform: uppercase;
}

.dl-hero__title br + *,
.dl-hero__title br + span,
.dl-hero__title-line:nth-child(2) {
    color: var(--dl-sage);
}

.dl-hero__title-line {
    animation: dlHeroTitleLineIn 1400ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: calc(300ms + (var(--dl-line-index) * 240ms));
    display: block;
    opacity: 0;
    transform: translateY(0.24em);
    will-change: opacity, transform;
}

.dl-hero__intro {
    color: var(--dl-muted-light);
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 30px;
    max-width: 520px;
}

.dl-hero__media {
    bottom: 0;
    height: 100%;
    pointer-events: none;
    position: absolute;
    right: -76px;
    top: 25px;
    width: 782px;
    z-index: 2;
}

.dl-hero__image-wrap {
    height: 100%;
    margin: 0;
    max-width: none;
    position: relative;
    width: 100%;
}

.dl-hero__image {
    animation: dlHeroImageColourReveal 2200ms ease-out 650ms forwards;
    filter:
        grayscale(1)
        saturate(0.7)
        contrast(1.04)
        drop-shadow(var(--dl-shadow-hero));
    height: auto;
    max-width: none;
    object-fit: contain;
    object-position: right bottom;
    width: 782px;
    will-change: filter;
}

.dl-image-placeholder--hero {
    align-items: center;
    aspect-ratio: auto;
    background: rgba(255, 255, 255, 0.08);
    color: var(--dl-white);
    display: flex;
    height: 780px;
    justify-content: center;
    width: 782px;
}

@keyframes dlHeroBgSlowMove {
    0% {
        background-position: 48% 50%;
    }

    50% {
        background-position: 52% 48%;
    }

    100% {
        background-position: 54% 51%;
    }
}

@keyframes dlHeroTitleLineIn {
    0% {
        filter: blur(5px);
        opacity: 0;
        transform: translateY(0.24em);
    }

    65% {
        filter: blur(0);
        opacity: 1;
    }

    100% {
        filter: blur(0);
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes dlHeroImageColourReveal {
    0% {
        filter:
            grayscale(1)
            saturate(0.7)
            contrast(1.04)
            drop-shadow(var(--dl-shadow-hero));
    }

    65% {
        filter:
            grayscale(0.25)
            saturate(0.95)
            contrast(1.02)
            drop-shadow(var(--dl-shadow-hero));
    }

    100% {
        filter:
            grayscale(0)
            saturate(1)
            contrast(1)
            drop-shadow(var(--dl-shadow-hero));
    }
}

/* Social links in ACF sections
--------------------------------------------- */
.dl-socials {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 28px;
}

.dl-socials__label {
    color: inherit;
    font-size: 16px;
    line-height: 20px;
    margin-right: 24px;
}

.dl-socials__items {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.dl-socials__items::before {
    background: currentColor;
    content: "";
    display: block;
    height: 1px;
    opacity: 0.38;
    width: 48px;
}

.dl-hero .dl-socials__items::before {
    display: none;
}

.dl-socials__link {
    align-items: center;
    color: inherit;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    gap: 10px;
    letter-spacing: 0.03em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
}

.dl-socials__link:hover,
.dl-socials__link:focus {
    color: var(--dl-sage);
}

.dl-socials__icon {
    align-items: center;
    display: inline-flex;
    height: 20px;
    justify-content: center;
    width: 20px;
}

.dl-socials__icon svg,
.dl-socials__icon img,
.dl-socials__image {
    display: block;
    height: 20px;
    object-fit: contain;
    width: 20px;
}

/* Repeating content sections
--------------------------------------------- */
.dl-content-section {
    background-position: center;
    background-repeat: repeat;
    background-size: auto;
    padding: 140px 0 130px;
    position: relative;
}

.dl-content-section > .container,
.dl-blog-section > .container,
.dl-podcast-section > .container {
    position: relative;
    z-index: 2;
}

.dl-content-section .row {
    --bs-gutter-x: 124px;
}

.dl-section-copy {
    max-width: 560px;
}

.dl-section-image-wrap {
    max-width: 420px;
    position: relative;
}

.dl-section-image-wrap::after {
    background: var(--dl-sage);
    bottom: -22px;
    content: "";
    height: 86px;
    position: absolute;
    width: 86px;
    z-index: 0;
}

.dl-section-image-wrap--left::after {
    right: -22px;
}

.dl-section-image-wrap--right {
    margin-left: auto;
}

.dl-section-image-wrap--right::after {
    left: -22px;
}

.dl-section-image {
    aspect-ratio: 420 / 689;
    border: 1px solid var(--dl-border);
    box-shadow: none;
    height: auto;
    object-fit: cover;
    object-position: center;
    position: relative;
    width: 100%;
    z-index: 1;
}

.dl-image-placeholder {
    align-items: center;
    aspect-ratio: 420 / 689;
    background: var(--dl-card-bg);
    border: 1px solid var(--dl-border);
    color: var(--dl-body);
    display: flex;
    font-size: 16px;
    font-weight: 800;
    justify-content: center;
    letter-spacing: 0.05em;
    min-height: 420px;
    padding: 32px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
    z-index: 1;
}

.dl-section--dark .dl-image-placeholder {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
    color: var(--dl-muted-light);
}

.dl-hero + .dl-content-section {
    background-color: var(--dl-light-bg);
    min-height: 960px;
    padding-bottom: 130px;
    padding-top: 140px;
}

.dl-hero + .dl-content-section .dl-section-copy {
    padding-top: 4px;
}

.dl-hero + .dl-content-section + .dl-content-section {
    background-color: var(--dl-dark-bg);
    min-height: 886px;
    overflow: hidden;
    padding-bottom: 140px;
    padding-top: 140px;
}

.dl-hero + .dl-content-section + .dl-content-section::before,
.dl-quote-split::before {
    background: radial-gradient(circle at 50% 50%, rgba(91, 97, 75, 0.5) 0%, rgba(91, 97, 75, 0) 68%);
    content: "";
    inset: 0;
    opacity: 0.1;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.dl-hero + .dl-content-section + .dl-content-section .row {
    --bs-gutter-x: 190px;
}

.dl-hero + .dl-content-section + .dl-content-section .dl-section-image-wrap {
    max-width: 404px;
}

.dl-hero + .dl-content-section + .dl-content-section .dl-section-image-wrap::after {
    display: none;
}

.dl-hero + .dl-content-section + .dl-content-section .dl-section-image {
    aspect-ratio: 350 / 580;
    border: 0;
}

/* Dark tiled section + quote split parallax
--------------------------------------------- */
.dl-content-section.dl-section--dark,
.dl-quote-split.dl-section--dark {
    background-position: center calc(50% + var(--dl-dark-parallax-y, 0px)) !important;
    background-repeat: repeat !important;
    background-size: auto !important;
    isolation: isolate;
    overflow: hidden;
    position: relative;
}

.dl-content-section.dl-section--dark > .container,
.dl-quote-split.dl-section--dark > .container {
    position: relative;
    z-index: 2;
}

.dl-content-section.dl-section--dark::after {
    background: linear-gradient(
        180deg,
        rgba(57, 63, 56, 0.38) 0%,
        rgba(57, 63, 56, 0.18) 45%,
        rgba(57, 63, 56, 0.48) 100%
    );
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.dl-content-section.dl-section--dark::before,
.dl-quote-split.dl-section--dark::before {
    z-index: 1;
}

/* Blog
--------------------------------------------- */
.dl-blog-section {
    background: var(--dl-page-bg);
    padding: 134px 0 140px;
}

.dl-blog-section .row.mb-4 {
    margin-bottom: 44px !important;
}

.dl-blog-section .row.g-4 {
    --bs-gutter-x: 15px;
    --bs-gutter-y: 44px;
}

.dl-blog-card {
    color: var(--dl-primary);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.dl-blog-card__image {
    background: var(--dl-card-bg);
    display: block;
    margin-bottom: 20px;
    overflow: hidden;
    text-decoration: none;
}

.dl-blog-card__thumb,
.dl-image-placeholder--blog {
    aspect-ratio: 362.66 / 190.98;
    display: block;
    height: auto;
    min-height: 0;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.dl-blog-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.dl-blog-card__eyebrow {
    color: var(--dl-primary);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.dl-blog-card__title {
    color: var(--dl-primary);
    font-family: var(--dl-font-serif);
    font-size: clamp(22px, 2.1vw, 29px);
    font-weight: 400;
    letter-spacing: -0.035em;
    line-height: 0.98;
    margin: 0 0 14px;
    max-width: 320px;
}

.dl-blog-card__title a {
    color: inherit;
    text-decoration: none;
}

.dl-blog-card__title a:hover,
.dl-blog-card__title a:focus {
    color: var(--dl-body);
}

.dl-blog-card__excerpt {
    color: var(--dl-body);
    font-size: 16px;
    line-height: 1.45;
    margin: 0 0 24px;
    max-width: 315px;
}

.dl-text-link {
    color: var(--dl-primary);
    display: inline-flex;
    font-size: 16px;
    font-weight: 800;
    gap: 8px;
    letter-spacing: 0.03em;
    line-height: 1;
    margin-top: auto;
    text-decoration: none;
    text-transform: uppercase;
}

.dl-text-link::after {
    content: "+";
}

.dl-text-link:hover,
.dl-text-link:focus {
    color: var(--dl-body);
}

/* Quote split
--------------------------------------------- */
.dl-quote-split {
    background-color: var(--dl-dark-bg);
    background-position: center;
    background-repeat: repeat;
    background-size: auto;
    min-height: 626px;
    overflow: hidden;
    position: relative;
}

.dl-quote-split__copy {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 550px;
    padding: 92px 0 82px;
}

.dl-big-quote {
    border-left: 1px solid rgba(218, 226, 196, 0.75);
    color: var(--dl-muted-light);
    font-family: var(--dl-font-serif);
    font-size: clamp(42px, 4.3vw, 55px);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.045em;
    line-height: 0.98;
    margin: 0 0 14px;
    max-width: 520px;
    padding-left: 28px;
}

.dl-quote-byline {
    color: var(--dl-muted-light);
    font-family: var(--dl-font-serif);
    font-size: clamp(32px, 3.25vw, 42px);
    font-weight: 400;
    letter-spacing: -0.04em;
    line-height: 1;
    margin: 0 0 45px 28px;
}

.dl-quote-split__image-wrap {
    overflow: hidden;
    width: 100%;
}

.dl-quote-split__image {
    object-fit: cover;
    object-position: center bottom;
    width: 100%;
}

.dl-image-placeholder--split {
    aspect-ratio: auto;
}

/* Podcast
--------------------------------------------- */
.dl-podcast-section {
    background-color: var(--dl-light-bg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 780px;
    padding: 140px 0;
}

.dl-podcast-section .row {
    --bs-gutter-x: 92px;
}

.dl-embed-panel {
    background: rgba(255, 255, 255, 0.4);
    overflow: hidden;
    width: 100%;
}

.dl-section--dark .dl-embed-panel {
    background: rgba(255, 255, 255, 0.08);
}

.dl-embed-panel iframe {
    border: 0;
    display: block;
    width: 100%;
}

/* Footer
--------------------------------------------- */
.doreen-footer {
    background-color: var(--dl-dark-bg);
    background-position: center calc(50% + var(--dl-footer-parallax-y, 0px));
    background-repeat: repeat;
    background-size: auto;
    color: var(--dl-muted-light);
    font-family: var(--dl-font-sans);
    overflow: hidden;
    position: relative;
}

.doreen-footer::before {
    background: rgba(57, 63, 56, 0.86);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.doreen-footer__container,
.doreen-footer__bottom {
    position: relative;
    z-index: 2;
}

.doreen-footer__container {
    padding-bottom: 54px;
    padding-top: 96px;
}

.doreen-footer__top {
    align-items: flex-start;
}

.doreen-footer__logo {
    align-items: center;
    display: inline-flex;
    margin-bottom: 26px;
    max-width: 195px;
    text-decoration: none;
}

.doreen-footer__logo-img {
    display: block;
    height: auto;
    max-height: 70px;
    max-width: 185px;
    width: auto;
}

.doreen-footer__site-title {
    color: var(--dl-white);
    font-family: var(--dl-font-hero);
    font-size: 28px;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
}

.doreen-footer__intro {
    color: var(--dl-muted-light);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 0 26px;
    max-width: 390px;
}

.doreen-footer__heading {
    color: var(--dl-white);
    font-family: var(--dl-font-sans);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.13em;
    line-height: 1.2;
    margin: 0 0 24px;
    text-transform: uppercase;
}

.doreen-footer__menu,
.doreen-footer__social-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.doreen-footer__menu {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.doreen-footer__menu .menu-item,
.doreen-footer__social-menu .menu-item {
    margin: 0;
    padding: 0;
}

.doreen-footer__menu a {
    color: var(--dl-muted-light);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.25;
    text-decoration: none;
    transition: color 180ms ease, opacity 180ms ease;
}

.doreen-footer__menu a:hover,
.doreen-footer__menu a:focus {
    color: var(--dl-sage);
}

.doreen-footer__social-menu {
    align-items: center;
    display: flex;
    gap: 24px;
}

.doreen-footer__social-menu a {
    align-items: center;
    color: var(--dl-muted-light);
    display: inline-flex;
    font-size: 0;
    height: 20px;
    justify-content: center;
    line-height: 1;
    position: relative;
    text-decoration: none;
    transition: opacity 180ms ease, transform 180ms ease;
    width: 20px;
}

.doreen-footer__social-menu a::before {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 20px;
    opacity: 0.82;
    transition: opacity 180ms ease, transform 180ms ease;
    width: 20px;
}

.doreen-footer__social-menu a:hover,
.doreen-footer__social-menu a:focus {
    transform: translateY(-1px);
}

.doreen-footer__social-menu a:hover::before,
.doreen-footer__social-menu a:focus::before {
    opacity: 1;
}

/* Use either the WordPress menu item CSS class OR the URL fallback. */
.doreen-footer__social-menu .instagram a::before,
.doreen-footer__social-menu a[href*="instagram.com"]::before {
    background-image: url("../inc/img/instagram-light.svg");
}

.doreen-footer__social-menu .facebook a::before,
.doreen-footer__social-menu a[href*="facebook.com"]::before {
    background-image: url("../inc/img/facebook-light.svg");
}

.doreen-footer__social-menu .tiktok a::before,
.doreen-footer__social-menu a[href*="tiktok.com"]::before {
    background-image: url("../inc/img/tik-tok-light.svg");
}

.doreen-footer__bottom {
    border-top: 1px solid rgba(219, 218, 217, 0.14);
}

.doreen-footer__bottom-container {
    align-items: center;
    display: flex;
    gap: 32px;
    justify-content: space-between;
    padding-bottom: 96px;
    padding-top: 36px;
}

.doreen-footer__copyright,
.doreen-footer__tagline {
    color: var(--dl-muted-light);
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.12em;
    line-height: 1.4;
    margin: 0;
}

.doreen-footer__tagline {
    text-align: right;
}

/* Responsive
--------------------------------------------- */
@media (max-width: 1199.98px) {
    .dl-home .container,
    .doreen-header-container,
    .doreen-footer__container,
    .doreen-footer__bottom-container {
        max-width: calc(100% - 64px);
    }

    .dl-hero__media {
        right: -160px;
    }
}

@media (max-width: 991.98px) {
    .dl-home .container,
    .doreen-header-container,
    .doreen-footer__container,
    .doreen-footer__bottom-container {
        max-width: calc(100% - 48px);
    }

    .doreen-navbar {
        min-height: 82px;
        padding: 18px 0;
    }

    .doreen-header-grid {
        column-gap: 16px;
        grid-template-columns: 1fr auto;
    }

    .doreen-site-logo {
        grid-column: 1;
        max-width: 170px;
    }

    .doreen-custom-logo {
        max-height: 58px;
        max-width: 165px;
    }

    .doreen-navbar-toggler {
        display: inline-flex;
        grid-column: 2;
        justify-self: end;
    }

    .doreen-menu-wrap {
        background: rgba(57, 63, 56, 0.97);
        display: none !important;
        grid-column: 1 / -1;
        margin-top: 18px;
        padding: 24px;
    }

    .doreen-menu-wrap.show {
        display: block !important;
    }

    .doreen-primary-menu-area,
    .doreen-header-cta-area {
        width: 100%;
    }

    .doreen-main-menu {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        gap: 18px;
        justify-content: flex-start;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .doreen-main-menu .nav-link,
    .doreen-main-menu a {
        font-size: 13px;
    }

    .doreen-header-cta-menu {
        justify-content: flex-start;
        margin-top: 24px;
    }

    .min-vh-75,
    .dl-hero,
    .dl-hero .container,
    .dl-hero .row {
        min-height: auto;
    }

    .dl-hero {
        padding: 96px 0 0;
    }

    .dl-hero__bg {
        animation-duration: 46s;
        inset: -70px;
        transform: translate3d(0, var(--dl-hero-parallax-y, 0px), 0) scale(1.06);
    }

    .dl-hero .row {
        display: flex;
        flex-direction: column;
    }

    .dl-hero__copy {
        padding-top: 0;
        width: 100%;
    }

    .dl-hero__title {
        font-size: clamp(64px, 17vw, 108px);
        max-width: 680px;
    }

    .dl-hero__media {
        bottom: auto;
        height: auto;
        margin-top: 48px;
        order: 2;
        pointer-events: auto;
        position: relative;
        right: auto;
        top: auto;
        width: 100%;
    }

    .dl-hero__image,
    .dl-image-placeholder--hero {
        height: auto;
        margin-left: auto;
        width: min(100%, 680px);
    }

    .dl-content-section,
    .dl-hero + .dl-content-section,
    .dl-hero + .dl-content-section + .dl-content-section,
    .dl-blog-section,
    .dl-podcast-section {
        min-height: auto;
        padding: 84px 0;
    }

    .dl-content-section .row,
    .dl-hero + .dl-content-section + .dl-content-section .row,
    .dl-podcast-section .row {
        --bs-gutter-x: 48px;
        --bs-gutter-y: 48px;
    }

    .dl-section-image-wrap,
    .dl-hero + .dl-content-section + .dl-content-section .dl-section-image-wrap {
        max-width: 560px;
    }

    .dl-section-image-wrap--right {
        margin-left: 0;
    }

    .dl-content-section.dl-section--dark,
    .dl-quote-split.dl-section--dark {
        background-position: center calc(50% + var(--dl-dark-parallax-y, 0px)) !important;
    }

    .dl-quote-split__copy {
        padding: 80px 48px;
    }

    .doreen-footer__container {
        padding-bottom: 44px;
        padding-top: 72px;
    }

    .doreen-footer__brand-col {
        margin-bottom: 54px;
    }

    .doreen-footer__menu-col {
        margin-bottom: 42px;
    }

    .doreen-footer__bottom-container {
        align-items: flex-start;
        flex-direction: column;
        padding-bottom: 64px;
        padding-top: 32px;
    }

    .doreen-footer__tagline {
        text-align: left;
    }
}

@media (max-width: 767.98px) {
    .dl-section-title {
        font-size: clamp(38px, 10vw, 50px);
    }

    .dl-blog-section .row.g-4 {
        --bs-gutter-x: 24px;
    }

    .dl-blog-card__title,
    .dl-blog-card__excerpt {
        max-width: none;
    }
}

@media (max-width: 575.98px) {
    .dl-home .container,
    .doreen-header-container,
    .doreen-footer__container,
    .doreen-footer__bottom-container {
        max-width: calc(100% - 32px);
    }

    .doreen-header-container {
        padding-left: 0;
        padding-right: 0;
    }

    .doreen-custom-logo {
        max-height: 52px;
        max-width: 145px;
    }

    .doreen-menu-wrap {
        margin-left: -16px;
        margin-right: -16px;
        padding-left: 22px;
        padding-right: 22px;
    }

    .dl-hero {
        padding-top: 100px;
    }

    .dl-hero__title {
        font-size: clamp(52px, 18vw, 78px);
        letter-spacing: -0.055em;
    }

    .dl-btn {
        min-height: 56px;
        padding: 0 28px;
        width: 100%;
    }

    .dl-socials {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .dl-socials__items {
        gap: 20px;
    }

    .dl-socials__items::before {
        display: none;
    }

    .dl-content-section,
    .dl-hero + .dl-content-section,
    .dl-hero + .dl-content-section + .dl-content-section,
    .dl-blog-section,
    .dl-podcast-section {
        padding: 64px 0;
    }

    .dl-section-image-wrap::after {
        display: none;
    }

    .dl-big-quote {
        font-size: clamp(34px, 13vw, 48px);
        padding-left: 20px;
    }

    .dl-quote-byline {
        font-size: clamp(26px, 10vw, 36px);
        margin-left: 20px;
    }

    .dl-quote-split__copy {
        padding: 24px 0px;
    }

    .doreen-footer__container {
        padding-top: 60px;
    }

    .doreen-footer__logo-img {
        max-width: 155px;
    }

    .doreen-footer__copyright,
    .doreen-footer__tagline {
        font-size: 13px;
        letter-spacing: 0.08em;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dl-hero__bg {
        animation: none;
        transform: scale(1.06);
    }

    .dl-hero__title-line {
        animation: none;
        filter: none;
        opacity: 1;
        transform: none;
    }

    .dl-hero__image {
        animation: none;
        filter:
            grayscale(0)
            saturate(1)
            contrast(1)
            drop-shadow(var(--dl-shadow-hero));
    }

    .dl-content-section.dl-section--dark,
    .dl-quote-split.dl-section--dark {
        background-position: center center !important;
    }
}


/* Blog single post
--------------------------------------------- */

.single-post .doreen-site-header {
	position: absolute;
}

.dl-post {
	background: var(--dl-page-bg);
	color: var(--dl-black);
	font-family: var(--dl-font-sans);
	overflow-x: hidden;
}

.dl-post .container {
	max-width: var(--dl-container);
	padding-left: 0;
	padding-right: 0;
}

/* Post hero */

.dl-post-hero {
	position: relative;
	min-height: 620px;
	display: flex;
	align-items: flex-end;
	background: var(--dl-dark-bg);
	color: var(--dl-white);
	overflow: hidden;
	isolation: isolate;
}

.dl-post-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	transform: scale(1.04);
	filter: grayscale(0.18) contrast(1.05);
}

.dl-post-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			rgba(48, 48, 49, 0.66) 0%,
			rgba(48, 48, 49, 0.28) 42%,
			rgba(48, 48, 49, 0.96) 100%
		),
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.52) 0%,
			rgba(0, 0, 0, 0.26) 46%,
			rgba(0, 0, 0, 0.32) 100%
		);
}

.dl-post-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(42deg, transparent 0 23%, rgba(218, 226, 196, 0.04) 23.1% 35%, transparent 35.1% 100%),
		linear-gradient(22deg, transparent 0 9%, rgba(107, 45, 32, 0.18) 9.1% 14%, transparent 14.1% 100%);
}

.dl-post-hero--no-image {
	background:
		radial-gradient(circle at 72% 32%, rgba(218, 226, 196, 0.12), transparent 24%),
		linear-gradient(135deg, #303031 0%, #393f38 100%);
}

.dl-post-hero__container {
	position: relative;
	z-index: 2;
	width: 100%;
}

.dl-post-hero__content {
	max-width: 820px;
	padding-top: 180px;
	padding-bottom: 94px;
}

.dl-post-hero__eyebrow {
	display: inline-flex;
	margin-bottom: 22px;
	color: var(--dl-sage);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.dl-post-hero__eyebrow:hover,
.dl-post-hero__eyebrow:focus {
	color: var(--dl-white);
}

.dl-post-hero__title {
	color: var(--dl-white);
	font-family: var(--dl-font-serif);
	font-size: clamp(52px, 6vw, 84px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.96;
	margin: 0 0 28px;
	max-width: 900px;
}

.dl-post-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	color: var(--dl-muted-light);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

.dl-post-hero__meta span {
	position: relative;
}

.dl-post-hero__meta span:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -13px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.55;
	transform: translateY(-50%);
}

.dl-post-hero__meta a {
	color: inherit;
	text-decoration: none;
}

.dl-post-hero__meta a:hover,
.dl-post-hero__meta a:focus {
	color: var(--dl-sage);
}

.dl-post-hero__excerpt {
	max-width: 650px;
	margin-top: 28px;
	color: var(--dl-muted-light);
	font-size: 18px;
	line-height: 1.55;
}

.dl-post-hero__excerpt p {
	margin: 0;
}

/* Post body */

.dl-post-body {
	position: relative;
	padding: 104px 0 118px;
	background: var(--dl-page-bg);
}

.dl-post-body__row {
	--bs-gutter-x: 86px;
	align-items: flex-start;
}

.dl-post-article {
	max-width: 740px;
}

.dl-post-content {
	color: var(--dl-body);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.82;
}

.dl-post-content > *:first-child {
	margin-top: 0;
}

.dl-post-content p {
	margin: 0 0 28px;
}

.dl-post-content h2,
.dl-post-content h3,
.dl-post-content h4 {
	color: var(--dl-primary);
	font-family: var(--dl-font-serif);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
	margin: 56px 0 22px;
}

.dl-post-content h2 {
	font-size: clamp(38px, 4vw, 54px);
}

.dl-post-content h3 {
	font-size: clamp(30px, 3vw, 40px);
}

.dl-post-content h4 {
	font-size: 26px;
}

.dl-post-content a {
	color: var(--dl-primary);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.dl-post-content a:hover,
.dl-post-content a:focus {
	color: var(--dl-body);
}

.dl-post-content blockquote {
	position: relative;
	margin: 48px 0;
	padding: 0 0 0 28px;
	border-left: 1px solid var(--dl-primary);
	color: var(--dl-primary);
	font-family: var(--dl-font-serif);
	font-size: clamp(30px, 3.2vw, 44px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 1.06;
}

.dl-post-content blockquote p {
	margin-bottom: 0;
}

.dl-post-content ul,
.dl-post-content ol {
	margin: 0 0 30px;
	padding-left: 24px;
}

.dl-post-content li {
	margin-bottom: 10px;
}

.dl-post-content img {
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 42px 0;
}

.dl-post-content figure {
	margin: 46px 0;
}

.dl-post-content figure img {
	margin: 0;
}

.dl-post-content figcaption {
	margin-top: 12px;
	color: var(--dl-body);
	font-size: 13px;
	letter-spacing: 0.04em;
	line-height: 1.4;
	opacity: 0.78;
}

.dl-post-content .wp-block-image,
.dl-post-content .wp-block-gallery {
	margin-top: 46px;
	margin-bottom: 46px;
}

.dl-post-content .alignwide {
	width: calc(100% + 120px);
	max-width: calc(100% + 120px);
	margin-left: -60px;
}

.dl-post-content .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
}

.dl-post-pages {
	margin-top: 42px;
	color: var(--dl-primary);
	font-weight: 700;
}

/* Tags */

.dl-post-tags {
	margin-top: 58px;
	padding-top: 34px;
	border-top: 1px solid rgba(70, 72, 63, 0.18);
}

.dl-post-tags__label {
	display: block;
	margin-bottom: 16px;
	color: var(--dl-primary);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.dl-post-tags__items {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.dl-post-tags__items a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 16px;
	border: 1px solid rgba(70, 72, 63, 0.22);
	color: var(--dl-primary);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.dl-post-tags__items a:hover,
.dl-post-tags__items a:focus {
	background: var(--dl-primary);
	border-color: var(--dl-primary);
	color: var(--dl-white);
}

/* Sidebar */

.dl-post-sidebar {
	position: sticky;
	top: 120px;
}

.dl-post-sidebar__card {
	padding: 32px 0;
	border-top: 1px solid rgba(70, 72, 63, 0.18);
}

.dl-post-sidebar__card:first-child {
	padding-top: 0;
	border-top: 0;
}

.dl-post-sidebar__eyebrow {
	margin: 0 0 20px;
	color: var(--dl-primary);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1;
	text-transform: uppercase;
}

.dl-post-sidebar__meta {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dl-post-sidebar__meta li {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 0;
	border-bottom: 1px solid rgba(70, 72, 63, 0.12);
}

.dl-post-sidebar__meta span {
	color: var(--dl-body);
	font-size: 13px;
	line-height: 1.3;
}

.dl-post-sidebar__meta strong {
	color: var(--dl-primary);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-align: right;
}

.dl-post-share {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.dl-post-share a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 14px;
	border: 1px solid rgba(70, 72, 63, 0.22);
	color: var(--dl-primary);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.dl-post-share a:hover,
.dl-post-share a:focus {
	background: var(--dl-primary);
	border-color: var(--dl-primary);
	color: var(--dl-white);
}

.dl-post-latest {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.dl-post-latest__item {
	display: block;
	color: var(--dl-primary);
	text-decoration: none;
}

.dl-post-latest__item span {
	display: block;
	margin-bottom: 8px;
	color: var(--dl-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1;
	text-transform: uppercase;
}

.dl-post-latest__item strong {
	display: block;
	color: var(--dl-primary);
	font-family: var(--dl-font-serif);
	font-size: 24px;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.dl-post-latest__item:hover strong,
.dl-post-latest__item:focus strong {
	color: var(--dl-body);
}

/* Previous / next */

.dl-post-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-top: 76px;
	padding-top: 40px;
	border-top: 1px solid rgba(70, 72, 63, 0.18);
}

.dl-post-nav__item a {
	display: block;
	min-height: 120px;
	padding: 28px;
	background: var(--dl-light-bg);
	color: var(--dl-primary);
	text-decoration: none;
	transition: background 180ms ease, color 180ms ease;
}

.dl-post-nav__item a:hover,
.dl-post-nav__item a:focus {
	background: var(--dl-primary);
	color: var(--dl-white);
}

.dl-post-nav__item span {
	display: block;
	margin-bottom: 12px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
	opacity: 0.72;
}

.dl-post-nav__item strong {
	display: block;
	font-family: var(--dl-font-serif);
	font-size: 26px;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.dl-post-nav__item--next {
	text-align: right;
}

/* Comments */

.dl-post .comments-area {
	margin-top: 76px;
	padding-top: 40px;
	border-top: 1px solid rgba(70, 72, 63, 0.18);
}

.dl-post .comments-title,
.dl-post .comment-reply-title {
	color: var(--dl-primary);
	font-family: var(--dl-font-serif);
	font-size: clamp(34px, 3.5vw, 46px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1;
}

.dl-post .comment-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dl-post .comment-body {
	padding: 24px 0;
	border-bottom: 1px solid rgba(70, 72, 63, 0.14);
}

.dl-post .comment-form input,
.dl-post .comment-form textarea {
	width: 100%;
	border: 1px solid rgba(70, 72, 63, 0.22);
	border-radius: 0;
	background: transparent;
	color: var(--dl-primary);
	padding: 14px 16px;
}

.dl-post .comment-form .submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: 52px;
	padding: 0 34px;
	border: 0;
	background: var(--dl-primary);
	color: var(--dl-white);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Responsive post */

@media (max-width: 1199.98px) {
	.dl-post .container {
		max-width: calc(100% - 64px);
	}

	.dl-post-content .alignwide {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
	}
}

@media (max-width: 991.98px) {
	.dl-post-hero {
		min-height: 560px;
	}

	.dl-post-hero__content {
		padding-top: 160px;
		padding-bottom: 72px;
	}

	.dl-post-body {
		padding: 78px 0 90px;
	}

	.dl-post-body__row {
		--bs-gutter-x: 48px;
		--bs-gutter-y: 64px;
	}

	.dl-post-sidebar {
		position: static;
		top: auto;
	}

	.dl-post-article {
		max-width: none;
	}
}

@media (max-width: 767.98px) {
	.dl-post-hero {
		min-height: auto;
	}

	.dl-post-hero__content {
		padding-top: 140px;
		padding-bottom: 58px;
	}

	.dl-post-hero__title {
		font-size: clamp(42px, 13vw, 62px);
	}

	.dl-post-hero__meta {
		flex-direction: column;
		gap: 8px;
	}

	.dl-post-hero__meta span::after {
		display: none;
	}

	.dl-post-content {
		font-size: 17px;
		line-height: 1.74;
	}

	.dl-post-nav {
		grid-template-columns: 1fr;
	}

	.dl-post-nav__item--next {
		text-align: left;
	}
}

@media (max-width: 575.98px) {
	.dl-post .container {
		max-width: calc(100% - 32px);
	}

	.dl-post-hero__content {
		padding-top: 126px;
	}

	.dl-post-body {
		padding: 64px 0 76px;
	}

	.dl-post-content blockquote {
		padding-left: 20px;
	}

	.dl-post-nav__item a {
		padding: 24px;
	}
}


/* Author archive page
--------------------------------------------- */

.dl-author-page {
	background: var(--dl-page-bg);
	color: var(--dl-black);
	font-family: var(--dl-font-sans);
	overflow-x: hidden;
}

.dl-author-page .container,
.dl-error-page .container {
	max-width: var(--dl-container);
	padding-left: 0;
	padding-right: 0;
}

.dl-author-hero {
	position: relative;
	min-height: 620px;
	display: flex;
	align-items: flex-end;
	background:
		radial-gradient(circle at 76% 34%, rgba(218, 226, 196, 0.14), transparent 24%),
		linear-gradient(135deg, #303031 0%, #393f38 100%);
	color: var(--dl-white);
	overflow: hidden;
	isolation: isolate;
}

.dl-author-hero::before,
.dl-error-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			rgba(48, 48, 49, 0.52) 0%,
			rgba(48, 48, 49, 0.2) 42%,
			rgba(48, 48, 49, 0.96) 100%
		),
		linear-gradient(
			42deg,
			transparent 0 23%,
			rgba(218, 226, 196, 0.04) 23.1% 35%,
			transparent 35.1% 100%
		);
}

.dl-author-hero__container,
.dl-error-hero__container {
	position: relative;
	z-index: 2;
	width: 100%;
}

.dl-author-hero__row {
	min-height: 620px;
	padding-top: 180px;
	padding-bottom: 94px;
}

.dl-author-hero__eyebrow,
.dl-error-hero__eyebrow {
	display: inline-flex;
	margin-bottom: 22px;
	color: var(--dl-sage);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1;
	text-transform: uppercase;
}

.dl-author-hero__title,
.dl-error-hero__title {
	color: var(--dl-white);
	font-family: var(--dl-font-serif);
	font-size: clamp(56px, 6.4vw, 92px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.96;
	margin: 0 0 28px;
	max-width: 900px;
}

.dl-author-hero__bio,
.dl-error-hero__intro {
	max-width: 650px;
	color: var(--dl-muted-light);
	font-size: 18px;
	line-height: 1.55;
}

.dl-author-hero__bio p,
.dl-error-hero__intro p {
	margin: 0 0 18px;
}

.dl-author-hero__bio p:last-child,
.dl-error-hero__intro p:last-child {
	margin-bottom: 0;
}

.dl-author-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	margin-top: 28px;
	color: var(--dl-muted-light);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

.dl-author-hero__avatar-col {
	display: flex;
	justify-content: flex-end;
}

.dl-author-hero__avatar {
	width: min(100%, 310px);
	aspect-ratio: 1;
	object-fit: cover;
	object-position: center;
	border: 1px solid rgba(218, 226, 196, 0.32);
	filter: grayscale(0.12) contrast(1.04);
}

.dl-author-posts {
	padding: 112px 0 122px;
	background: var(--dl-page-bg);
}

.dl-author-post-grid {
	--bs-gutter-x: 24px;
	--bs-gutter-y: 52px;
}

.dl-author-card {
	height: 100%;
}

.dl-author-pagination {
	margin-top: 72px;
}

.dl-author-pagination .pagination,
.dl-author-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.dl-author-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid rgba(70, 72, 63, 0.22);
	color: var(--dl-primary);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.dl-author-pagination .page-numbers.current,
.dl-author-pagination .page-numbers:hover,
.dl-author-pagination .page-numbers:focus {
	background: var(--dl-primary);
	border-color: var(--dl-primary);
	color: var(--dl-white);
}

.dl-author-empty {
	padding: 46px;
	background: var(--dl-light-bg);
	color: var(--dl-body);
	font-size: 18px;
	line-height: 1.55;
}

/* 404 page
--------------------------------------------- */

.dl-error-page {
	background: var(--dl-page-bg);
	color: var(--dl-black);
	font-family: var(--dl-font-sans);
	overflow-x: hidden;
}

.dl-error-hero {
	position: relative;
	min-height: 650px;
	display: flex;
	align-items: flex-end;
	background:
		radial-gradient(circle at 72% 32%, rgba(218, 226, 196, 0.16), transparent 24%),
		linear-gradient(135deg, #303031 0%, #393f38 100%);
	color: var(--dl-white);
	overflow: hidden;
	isolation: isolate;
}

.dl-error-hero__content {
	position: relative;
	z-index: 2;
	max-width: 860px;
	padding-top: 180px;
	padding-bottom: 100px;
}

.dl-error-hero__intro {
	margin-bottom: 36px;
}

.dl-error-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.dl-error-content {
	padding: 112px 0 122px;
	background: var(--dl-page-bg);
}

.dl-error-content__row {
	--bs-gutter-x: 96px;
	--bs-gutter-y: 64px;
	align-items: flex-start;
}

.dl-error-search {
	margin-top: 34px;
	max-width: 440px;
}

.dl-error-latest {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid rgba(70, 72, 63, 0.18);
}

.dl-error-latest__item {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 24px;
	padding: 26px 0;
	border-bottom: 1px solid rgba(70, 72, 63, 0.18);
	color: var(--dl-primary);
	text-decoration: none;
}

.dl-error-latest__item span {
	color: var(--dl-body);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.11em;
	line-height: 1.4;
	text-transform: uppercase;
}

.dl-error-latest__item strong {
	color: var(--dl-primary);
	font-family: var(--dl-font-serif);
	font-size: clamp(26px, 3vw, 38px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
}

.dl-error-latest__item:hover strong,
.dl-error-latest__item:focus strong {
	color: var(--dl-body);
}

/* Responsive author and 404 */

@media (max-width: 1199.98px) {
	.dl-author-page .container,
	.dl-error-page .container {
		max-width: calc(100% - 64px);
	}
}

@media (max-width: 991.98px) {
	.dl-author-hero,
	.dl-error-hero {
		min-height: auto;
	}

	.dl-author-hero__row {
		min-height: auto;
		padding-top: 160px;
		padding-bottom: 76px;
	}

	.dl-author-hero__avatar-col {
		justify-content: flex-start;
		margin-top: 44px;
	}

	.dl-author-hero__avatar {
		width: 240px;
	}

	.dl-error-hero__content {
		padding-top: 160px;
		padding-bottom: 76px;
	}

	.dl-author-posts,
	.dl-error-content {
		padding: 82px 0 96px;
	}

	.dl-error-content__row {
		--bs-gutter-x: 48px;
	}
}

@media (max-width: 767.98px) {
	.dl-author-hero__title,
	.dl-error-hero__title {
		font-size: clamp(42px, 13vw, 64px);
	}

	.dl-author-hero__bio,
	.dl-error-hero__intro {
		font-size: 17px;
	}

	.dl-error-latest__item {
		grid-template-columns: 1fr;
		gap: 10px;
	}
}

@media (max-width: 575.98px) {
	.dl-author-page .container,
	.dl-error-page .container {
		max-width: calc(100% - 32px);
	}

	.dl-author-hero__row,
	.dl-error-hero__content {
		padding-top: 132px;
		padding-bottom: 62px;
	}

	.dl-author-posts,
	.dl-error-content {
		padding: 66px 0 78px;
	}


	.dl-author-empty {
		padding: 28px;
	}
}


/* Search and archive listing pages
--------------------------------------------- */

.dl-listing-page {
	background: var(--dl-page-bg);
	color: var(--dl-black);
	font-family: var(--dl-font-sans);
	overflow-x: hidden;
}

.dl-listing-page .container {
	max-width: var(--dl-container);
	padding-left: 0;
	padding-right: 0;
}

/* Shared listing hero */

.dl-listing-hero {
	position: relative;
	min-height: 580px;
	display: flex;
	align-items: flex-end;
	background:
		radial-gradient(circle at 74% 30%, rgba(218, 226, 196, 0.14), transparent 24%),
		linear-gradient(135deg, #303031 0%, #393f38 100%);
	color: var(--dl-white);
	overflow: hidden;
	isolation: isolate;
}

.dl-listing-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			rgba(48, 48, 49, 0.52) 0%,
			rgba(48, 48, 49, 0.18) 42%,
			rgba(48, 48, 49, 0.96) 100%
		),
		linear-gradient(
			42deg,
			transparent 0 23%,
			rgba(218, 226, 196, 0.04) 23.1% 35%,
			transparent 35.1% 100%
		);
}

.dl-listing-hero__container {
	position: relative;
	z-index: 2;
	width: 100%;
}

.dl-listing-hero__content {
	padding-top: 180px;
	padding-bottom: 88px;
}

.dl-listing-hero__eyebrow {
	display: inline-flex;
	margin-bottom: 22px;
	color: var(--dl-sage);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1;
	text-transform: uppercase;
}

.dl-listing-hero__title {
	color: var(--dl-white);
	font-family: var(--dl-font-serif);
	font-size: clamp(52px, 6vw, 86px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.96;
	margin: 0 0 28px;
}

.dl-listing-hero__intro {
	color: var(--dl-muted-light);
	font-size: 18px;
	line-height: 1.55;
}

.dl-listing-hero__intro p {
	margin: 0 0 18px;
}

.dl-listing-hero__intro p:last-child {
	margin-bottom: 0;
}

/* Search form */

.dl-listing-search {
	margin-top: 36px;
}

/* Results */

.dl-listing-results {
	padding: 112px 0 122px;
	background: var(--dl-page-bg);
}

.dl-listing-grid {
	--bs-gutter-x: 24px;
	--bs-gutter-y: 52px;
}

.dl-listing-card {
	height: 100%;
}

.dl-listing-card .dl-blog-card__title {
	max-width: none;
}

/* Empty state */

.dl-listing-empty {
	padding: 46px;
	background: var(--dl-light-bg);
	color: var(--dl-body);
	font-size: 18px;
	line-height: 1.55;
}

.dl-listing-empty p {
	margin: 0;
}

.dl-listing-search--empty {
	margin-top: 28px;
}


/* Pagination */

.dl-listing-pagination {
	margin-top: 72px;
}

.dl-listing-pagination .pagination,
.dl-listing-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.dl-listing-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid rgba(70, 72, 63, 0.22);
	color: var(--dl-primary);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.dl-listing-pagination .page-numbers.current,
.dl-listing-pagination .page-numbers:hover,
.dl-listing-pagination .page-numbers:focus {
	background: var(--dl-primary);
	border-color: var(--dl-primary);
	color: var(--dl-white);
}

/* Responsive listing pages */

@media (max-width: 1199.98px) {
	.dl-listing-page .container {
		max-width: calc(100% - 64px);
	}
}

@media (max-width: 991.98px) {
	.dl-listing-hero {
		min-height: auto;
	}

	.dl-listing-hero__content {
		padding-top: 160px;
		padding-bottom: 76px;
	}

	.dl-listing-results {
		padding: 82px 0 96px;
	}
}

@media (max-width: 767.98px) {
	.dl-listing-hero__title {
		font-size: clamp(42px, 13vw, 64px);
	}

	.dl-listing-hero__intro {
		font-size: 17px;
	}
}

@media (max-width: 575.98px) {
	.dl-listing-page .container {
		max-width: calc(100% - 32px);
	}

	.dl-listing-hero__content {
		padding-top: 132px;
		padding-bottom: 62px;
	}

	.dl-listing-results {
		padding: 66px 0 78px;
	}


	.dl-listing-empty {
		padding: 28px;
	}
}

/* Search form alignment
---------------------------------------------
   Keeps search input and button on one line.
   Supports WordPress default search form, Understrap/Bootstrap input groups,
   and block search markup.
*/
.dl-listing-search,
.dl-error-search {
    width: 100%;
}

.dl-listing-search form,
.dl-listing-search .search-form,
.dl-listing-search .wp-block-search,
.dl-error-search form,
.dl-error-search .search-form,
.dl-error-search .wp-block-search {
    align-items: stretch !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin: 0;
    width: 100%;
}

.dl-listing-search label,
.dl-error-search label {
    display: block;
    flex: 1 1 auto;
    margin: 0;
    min-width: 0;
}

.dl-listing-search .input-group,
.dl-listing-search .wp-block-search__inside-wrapper,
.dl-error-search .input-group,
.dl-error-search .wp-block-search__inside-wrapper {
    align-items: stretch !important;
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin: 0;
    min-width: 0;
    width: 100%;
}

.dl-listing-search .input-group-append,
.dl-listing-search .wp-block-search__button,
.dl-error-search .input-group-append,
.dl-error-search .wp-block-search__button {
    flex: 0 0 auto;
}

.dl-listing-search .search-field,
.dl-listing-search input[type="search"],
.dl-listing-search .form-control,
.dl-listing-search .wp-block-search__input,
.dl-error-search .search-field,
.dl-error-search input[type="search"],
.dl-error-search .form-control,
.dl-error-search .wp-block-search__input {
    appearance: none;
    border-radius: 0;
    box-sizing: border-box;
    flex: 1 1 auto;
    font-family: var(--dl-font-sans);
    font-size: 15px;
    height: 44px;
    line-height: 1;
    margin: 0;
    min-height: 44px;
    min-width: 0;
    padding: 0 16px;
    width: 100%;
}

.dl-listing-search .search-submit,
.dl-listing-search input[type="submit"],
.dl-listing-search button[type="submit"],
.dl-listing-search .wp-block-search__button,
.dl-error-search .search-submit,
.dl-error-search input[type="submit"],
.dl-error-search button[type="submit"],
.dl-error-search .wp-block-search__button {
    align-items: center;
    appearance: none;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-family: var(--dl-font-sans);
    font-size: 12px;
    font-weight: 700;
    height: 44px;
    justify-content: center;
    letter-spacing: 0.11em;
    line-height: 1;
    margin: 0;
    min-height: 44px;
    min-width: 118px;
    padding: 14px 22px;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    width: auto;
}

/* Dark hero/search page variant */
.dl-listing-search .search-field,
.dl-listing-search input[type="search"],
.dl-listing-search .form-control,
.dl-listing-search .wp-block-search__input {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(219, 218, 217, 0.38);
    color: var(--dl-white);
}

.dl-listing-search .search-field::placeholder,
.dl-listing-search input[type="search"]::placeholder,
.dl-listing-search .form-control::placeholder,
.dl-listing-search .wp-block-search__input::placeholder {
    color: rgba(219, 218, 217, 0.72);
}

.dl-listing-search .search-submit,
.dl-listing-search input[type="submit"],
.dl-listing-search button[type="submit"],
.dl-listing-search .wp-block-search__button {
    background: var(--dl-sage);
    color: var(--dl-primary);
}

.dl-listing-search .search-submit:hover,
.dl-listing-search .search-submit:focus,
.dl-listing-search input[type="submit"]:hover,
.dl-listing-search input[type="submit"]:focus,
.dl-listing-search button[type="submit"]:hover,
.dl-listing-search button[type="submit"]:focus,
.dl-listing-search .wp-block-search__button:hover,
.dl-listing-search .wp-block-search__button:focus {
    background: var(--dl-white);
    color: var(--dl-primary);
}

/* Light 404/empty-state variant */
.dl-error-search .search-field,
.dl-error-search input[type="search"],
.dl-error-search .form-control,
.dl-error-search .wp-block-search__input,
.dl-listing-empty .dl-listing-search .search-field,
.dl-listing-empty .dl-listing-search input[type="search"],
.dl-listing-empty .dl-listing-search .form-control,
.dl-listing-empty .dl-listing-search .wp-block-search__input {
    background: transparent;
    border: 1px solid rgba(70, 72, 63, 0.22);
    color: var(--dl-primary);
}

.dl-error-search .search-field::placeholder,
.dl-error-search input[type="search"]::placeholder,
.dl-error-search .form-control::placeholder,
.dl-error-search .wp-block-search__input::placeholder,
.dl-listing-empty .dl-listing-search .search-field::placeholder,
.dl-listing-empty .dl-listing-search input[type="search"]::placeholder,
.dl-listing-empty .dl-listing-search .form-control::placeholder,
.dl-listing-empty .dl-listing-search .wp-block-search__input::placeholder {
    color: rgba(70, 72, 63, 0.62);
}

.dl-error-search .search-submit,
.dl-error-search input[type="submit"],
.dl-error-search button[type="submit"],
.dl-error-search .wp-block-search__button,
.dl-listing-empty .dl-listing-search .search-submit,
.dl-listing-empty .dl-listing-search input[type="submit"],
.dl-listing-empty .dl-listing-search button[type="submit"],
.dl-listing-empty .dl-listing-search .wp-block-search__button {
    background: var(--dl-primary);
    color: var(--dl-white);
}

.dl-error-search .search-submit:hover,
.dl-error-search .search-submit:focus,
.dl-error-search input[type="submit"]:hover,
.dl-error-search input[type="submit"]:focus,
.dl-error-search button[type="submit"]:hover,
.dl-error-search button[type="submit"]:focus,
.dl-error-search .wp-block-search__button:hover,
.dl-error-search .wp-block-search__button:focus,
.dl-listing-empty .dl-listing-search .search-submit:hover,
.dl-listing-empty .dl-listing-search .search-submit:focus,
.dl-listing-empty .dl-listing-search input[type="submit"]:hover,
.dl-listing-empty .dl-listing-search input[type="submit"]:focus,
.dl-listing-empty .dl-listing-search button[type="submit"]:hover,
.dl-listing-empty .dl-listing-search button[type="submit"]:focus,
.dl-listing-empty .dl-listing-search .wp-block-search__button:hover,
.dl-listing-empty .dl-listing-search .wp-block-search__button:focus {
    background: var(--dl-dark-bg);
    color: var(--dl-white);
}

.dl-listing-search .search-field:focus,
.dl-listing-search input[type="search"]:focus,
.dl-listing-search .form-control:focus,
.dl-listing-search .wp-block-search__input:focus {
    outline: 1px solid var(--dl-sage);
    outline-offset: 2px;
}

.dl-error-search .search-field:focus,
.dl-error-search input[type="search"]:focus,
.dl-error-search .form-control:focus,
.dl-error-search .wp-block-search__input:focus,
.dl-listing-empty .dl-listing-search .search-field:focus,
.dl-listing-empty .dl-listing-search input[type="search"]:focus,
.dl-listing-empty .dl-listing-search .form-control:focus,
.dl-listing-empty .dl-listing-search .wp-block-search__input:focus {
    outline: 1px solid var(--dl-primary);
    outline-offset: 2px;
}

@media (max-width: 575.98px) {
    .dl-listing-search form,
    .dl-listing-search .search-form,
    .dl-listing-search .wp-block-search,
    .dl-error-search form,
    .dl-error-search .search-form,
    .dl-error-search .wp-block-search {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
    }

    .dl-listing-search .search-submit,
    .dl-listing-search input[type="submit"],
    .dl-listing-search button[type="submit"],
    .dl-listing-search .wp-block-search__button,
    .dl-error-search .search-submit,
    .dl-error-search input[type="submit"],
    .dl-error-search button[type="submit"],
    .dl-error-search .wp-block-search__button {
        min-width: 104px;
        padding-left: 18px;
        padding-right: 18px;
        width: auto;
    }
}


/* Book Doreen page
--------------------------------------------- */

.dl-booking-page {
	background: var(--dl-page-bg);
	color: var(--dl-black);
	font-family: var(--dl-font-sans);
	overflow-x: hidden;
}

.dl-booking-page .container {
	max-width: var(--dl-container);
	padding-left: 0;
	padding-right: 0;
}

.dl-booking-intro,
.dl-booking-topics,
.dl-booking-process,
.dl-booking-form-section {
	padding: 112px 0 122px;
}

.dl-booking-intro__row {
	--bs-gutter-x: 96px;
	--bs-gutter-y: 56px;
}

.dl-booking-intro__image-wrap {
	position: relative;
	max-width: 430px;
	margin: 0;
}

.dl-booking-intro__image-wrap::after {
	content: "";
	position: absolute;
	right: -22px;
	bottom: -22px;
	z-index: 0;
	width: 86px;
	height: 86px;
	background: var(--dl-sage);
}

.dl-booking-intro__image {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	aspect-ratio: 420 / 560;
	height: auto;
	object-fit: cover;
	object-position: center;
	border: 1px solid var(--dl-border);
}

.dl-booking-intro__content {
	max-width: 560px;
}

.dl-booking-stats {
	position: relative;
	padding: 76px 0;
	background-color: var(--dl-dark-bg);
	background-position: center;
	background-repeat: repeat;
	background-size: auto;
	overflow: hidden;
}

.dl-booking-stats::before,
.dl-booking-event-types::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: radial-gradient(circle at 50% 50%, rgba(91, 97, 75, 0.5) 0%, rgba(91, 97, 75, 0) 68%);
	opacity: 0.14;
}

.dl-booking-stats > .container,
.dl-booking-event-types > .container {
	position: relative;
	z-index: 2;
}

.dl-booking-stats__row {
	--bs-gutter-x: 32px;
	--bs-gutter-y: 28px;
}

.dl-booking-stat {
	padding: 26px 0;
	border-top: 1px solid rgba(219, 218, 217, 0.18);
}

.dl-booking-stat strong {
	display: block;
	margin-bottom: 10px;
	color: var(--dl-white);
	font-family: var(--dl-font-serif);
	font-size: clamp(42px, 5vw, 64px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.98;
}

.dl-booking-stat span {
	display: block;
	color: var(--dl-muted-light);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.dl-booking-card-grid {
	--bs-gutter-x: 24px;
	--bs-gutter-y: 24px;
}

.dl-booking-card {
	height: 100%;
	padding: 34px;
	background: var(--dl-light-bg);
	border: 1px solid rgba(70, 72, 63, 0.12);
}

.dl-booking-card h3,
.dl-booking-event-list__item h3,
.dl-booking-step h3 {
	margin: 0 0 16px;
	color: var(--dl-primary);
	font-family: var(--dl-font-serif);
	font-size: clamp(28px, 2.8vw, 38px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
}

.dl-booking-card p,
.dl-booking-event-list__item p,
.dl-booking-step p {
	margin: 0 0 16px;
	color: var(--dl-body);
	font-size: 16px;
	line-height: 1.55;
}

.dl-booking-card p:last-child,
.dl-booking-event-list__item p:last-child,
.dl-booking-step p:last-child {
	margin-bottom: 0;
}

.dl-booking-event-types {
	position: relative;
	padding: 112px 0 122px;
	background-color: var(--dl-dark-bg);
	color: var(--dl-white);
	overflow: hidden;
}

.dl-booking-event-types .dl-section-title,
.dl-booking-event-types .dl-eyebrow {
	color: var(--dl-muted-light);
}

.dl-booking-event-types__row {
	--bs-gutter-x: 96px;
	--bs-gutter-y: 56px;
}

.dl-booking-event-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid rgba(219, 218, 217, 0.18);
}

.dl-booking-event-list__item {
	padding: 28px 0;
	border-bottom: 1px solid rgba(219, 218, 217, 0.18);
}

.dl-booking-event-list__item h3 {
	color: var(--dl-white);
}

.dl-booking-event-list__item p {
	color: var(--dl-muted-light);
}

.dl-booking-process__row {
	--bs-gutter-x: 24px;
	--bs-gutter-y: 24px;
}

.dl-booking-step {
	height: 100%;
	padding-top: 26px;
	border-top: 1px solid rgba(70, 72, 63, 0.18);
}

.dl-booking-step span {
	display: block;
	margin-bottom: 18px;
	color: var(--dl-primary);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1;
}

.dl-booking-form-section {
	background: var(--dl-light-bg);
}

.dl-booking-form-section__row {
	--bs-gutter-x: 96px;
	--bs-gutter-y: 56px;
	align-items: flex-start;
}

.dl-booking-form-section__intro {
	position: sticky;
	top: 120px;
}

.dl-booking-form-card {
	padding: 46px;
	background: var(--dl-page-bg);
	border: 1px solid rgba(70, 72, 63, 0.12);
}

/* Contact Form 7 booking form */
.dl-booking-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 18px;
}

.dl-booking-form__field,
.dl-booking-form__group,
.dl-booking-form__notice,
.dl-booking-form__submit,
.dl-booking-form .wpcf7-response-output {
	grid-column: 1 / -1;
}

.dl-booking-form__field--half {
	grid-column: auto;
}

.dl-booking-form label,
.dl-booking-form__label {
	display: block;
	margin: 0 0 8px;
	color: var(--dl-primary);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

.dl-booking-form input[type="text"],
.dl-booking-form input[type="email"],
.dl-booking-form input[type="tel"],
.dl-booking-form input[type="date"],
.dl-booking-form select,
.dl-booking-form textarea {
	width: 100%;
	border: 1px solid rgba(70, 72, 63, 0.22);
	border-radius: 0;
	background: transparent;
	color: var(--dl-primary);
	font-family: var(--dl-font-sans);
	font-size: 16px;
	line-height: 1.35;
	padding: 14px 16px;
}

.dl-booking-form input[type="text"],
.dl-booking-form input[type="email"],
.dl-booking-form input[type="tel"],
.dl-booking-form input[type="date"],
.dl-booking-form select {
	height: 52px;
}

.dl-booking-form textarea {
	min-height: 150px;
	resize: vertical;
}

.dl-booking-form input:focus,
.dl-booking-form select:focus,
.dl-booking-form textarea:focus {
	outline: 1px solid var(--dl-primary);
	outline-offset: 2px;
}

.dl-booking-form .wpcf7-list-item {
	margin: 0 18px 10px 0;
}

.dl-booking-form .wpcf7-list-item label {
	display: inline-flex;
	align-items: flex-start;
	gap: 9px;
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.45;
	text-transform: none;
}

.dl-booking-form input[type="checkbox"] {
	margin-top: 3px;
}

.dl-booking-form__notice {
	color: var(--dl-body);
	font-size: 14px;
	line-height: 1.5;
}

.dl-booking-form .wpcf7-not-valid-tip {

	margin-top: 7px;
	color: #8c2f22;
	font-size: 13px;
}

.dl-booking-form .wpcf7-response-output {
	margin: 0;
	padding: 14px 16px;
	border-color: rgba(70, 72, 63, 0.22);
	font-size: 14px;
	line-height: 1.45;
}

@media (max-width: 1199.98px) {
	.dl-booking-page .container {
		max-width: calc(100% - 64px);
	}
}

@media (max-width: 991.98px) {
	.dl-booking-page .container {
		max-width: calc(100% - 48px);
	}
.dl-booking-intro,
	.dl-booking-topics,
	.dl-booking-event-types,
	.dl-booking-process,
	.dl-booking-form-section {
		padding: 82px 0 96px;
	}

	.dl-booking-form-section__intro {
		position: static;
		top: auto;
	}
}

@media (max-width: 767.98px) {
.dl-booking-form-card {
		padding: 34px;
	}

	.dl-booking-form {
		grid-template-columns: 1fr;
	}

	.dl-booking-form__field--half {
		grid-column: 1 / -1;
	}
}

@media (max-width: 575.98px) {
	.dl-booking-page .container {
		max-width: calc(100% - 32px);
	}
.dl-booking-intro,
	.dl-booking-topics,
	.dl-booking-event-types,
	.dl-booking-process,
	.dl-booking-form-section {
		padding: 66px 0 78px;
	}

	.dl-booking-form-card,
	.dl-booking-card {
		padding: 28px;
	}

	.dl-booking-form__submit .wpcf7-submit {
		width: 100%;
	}
}


/* Booking form submit button fix
--------------------------------------------- */

.dl-booking-form__submit {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-top: 8px;
}

.dl-booking-form__submit input[type="submit"],
.dl-booking-form__submit .wpcf7-submit,
.dl-booking-form input[type="submit"],
.dl-booking-form .wpcf7-submit {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 0;
	min-height: 44px;
	padding: 14px 22px;
	border: 1px solid var(--dl-primary) !important;
	border-radius: 0 !important;
	background: var(--dl-primary) !important;
	color: var(--dl-white) !important;
	box-shadow: none !important;
	font-family: var(--dl-font-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.dl-booking-form__submit input[type="submit"]:hover,
.dl-booking-form__submit input[type="submit"]:focus,
.dl-booking-form__submit .wpcf7-submit:hover,
.dl-booking-form__submit .wpcf7-submit:focus,
.dl-booking-form input[type="submit"]:hover,
.dl-booking-form input[type="submit"]:focus,
.dl-booking-form .wpcf7-submit:hover,
.dl-booking-form .wpcf7-submit:focus {
	background: var(--dl-sage) !important;
	border-color: var(--dl-sage) !important;
	color: var(--dl-primary) !important;
	transform: translateY(-1px);
	outline: none;
}

.dl-booking-form__submit .wpcf7-spinner {
	margin: 0 0 0 12px;
}


/* The Murder of Vicki Terblanche promotional book page
--------------------------------------------- */

.vicki-book-page {
	background: var(--dl-page-bg);
	color: var(--dl-black);
	font-family: var(--dl-font-sans);
	overflow-x: hidden;
}

.vicki-book-page .container {
	max-width: var(--dl-container);
	padding-left: 0;
	padding-right: 0;
}

/* About */

.vicki-book-about {
	padding: 118px 0 122px;
	background: var(--dl-page-bg);
}

.vicki-book-about__row {
	--bs-gutter-x: 86px;
	--bs-gutter-y: 52px;
}

.vicki-book-content {
	color: var(--dl-body);
	font-size: 18px;
	line-height: 1.74;
}

.vicki-book-content p {
	margin: 0 0 24px;
}

.vicki-book-content p:last-child {
	margin-bottom: 0;
}

.vicki-book-about__quote {
	margin: 44px 0 0;
	padding: 0 0 0 26px;
	border-left: 1px solid var(--dl-primary);
	color: var(--dl-primary);
	font-family: var(--dl-font-serif);
	font-size: clamp(30px, 3vw, 36px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 1.06;
}

.vicki-book-about__quote p {
	margin: 0;
}

.vicki-book-details {
	position: sticky;
	top: 120px;
	padding: 34px;
	background: var(--dl-light-bg);
	border: 1px solid rgba(70, 72, 63, 0.14);
}

.vicki-book-details h3 {
	margin: 0 0 24px;
	color: var(--dl-primary);
	font-family: var(--dl-font-serif);
	font-size: 34px;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1;
}

.vicki-book-details ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.vicki-book-details li {
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr);
	gap: 18px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(70, 72, 63, 0.12);
}

.vicki-book-details li:first-child {
	padding-top: 0;
}

.vicki-book-details span {
	color: var(--dl-body);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
}

.vicki-book-details strong {
	color: var(--dl-primary);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
}

.vicki-book-details p {
	margin: 24px 0 0;
	color: var(--dl-body);
	font-size: 15px;
	line-height: 1.55;
}

/* FAQ */

.vicki-book-faq {
	padding: 118px 0 124px;
	background: var(--dl-page-bg);
}

.vicki-book-faq__items {
	max-width: 880px;
	margin-top: 34px;
	border-top: 1px solid rgba(70, 72, 63, 0.16);
}

.vicki-book-faq__item {
	border-bottom: 1px solid rgba(70, 72, 63, 0.16);
}

.vicki-book-faq__item summary {
	cursor: pointer;
	padding: 24px 0;
	color: var(--dl-primary);
	font-family: var(--dl-font-serif);
	font-size: clamp(24px, 2.6vw, 34px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.vicki-book-faq__item div {
	max-width: 720px;
	padding-bottom: 28px;
	color: var(--dl-body);
	font-size: 17px;
	line-height: 1.65;
}

.vicki-book-faq__item div p:last-child {
	margin-bottom: 0;
}

/* Responsive */

@media (max-width: 1199.98px) {
	.vicki-book-page .container {
		max-width: calc(100% - 64px);
	}
}

@media (max-width: 991.98px) {
	.vicki-book-about,
	.vicki-book-faq {
		padding: 84px 0 96px;
	}

	.vicki-book-details {
		position: relative;
		top: auto;
	}
}

@media (max-width: 767.98px) {
	.vicki-book-details li {
		grid-template-columns: 1fr;
		gap: 6px;
	}
}

@media (max-width: 575.98px) {
	.vicki-book-page .container {
		max-width: calc(100% - 32px);
	}

	.vicki-book-about,
	.vicki-book-faq {
		padding: 66px 0 78px;
	}

	.vicki-book-about__quote {
		padding-left: 22px;
	}
}


/* Reusable page hero
--------------------------------------------- */

.dl-page-hero {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: flex-end;
    background:
        radial-gradient(circle at 74% 30%, rgba(218, 226, 196, 0.14), transparent 24%),
        linear-gradient(135deg, #303031 0%, #393f38 100%);
    color: var(--dl-white);
    overflow: hidden;
    isolation: isolate;
}

.dl-page-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1.04);
    filter: grayscale(0.12) contrast(1.04);
}

.dl-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            rgba(48, 48, 49, 0.58) 0%,
            rgba(48, 48, 49, 0.22) 42%,
            rgba(48, 48, 49, 0.96) 100%
        ),
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.42) 0%,
            rgba(0, 0, 0, 0.24) 48%,
            rgba(0, 0, 0, 0.34) 100%
        );
}

.dl-page-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(42deg, transparent 0 23%, rgba(218, 226, 196, 0.04) 23.1% 35%, transparent 35.1% 100%),
        linear-gradient(22deg, transparent 0 9%, rgba(107, 45, 32, 0.16) 9.1% 14%, transparent 14.1% 100%);
}

.dl-page-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--dl-container);
    padding-left: 0;
    padding-right: 0;
}

.dl-page-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
    gap: 72px;
    align-items: end;
    min-height: 650px;
    padding-top: 180px;
    padding-bottom: 94px;
}

.dl-page-hero--no-right-image .dl-page-hero__grid {
    grid-template-columns: minmax(0, 900px);
}

/* Compatibility for the Bootstrap-row version of the reusable hero. */
.dl-page-hero__row {
    min-height: 650px;
    padding-top: 180px;
    padding-bottom: 94px;
}

.dl-page-hero__image-col {
    display: flex;
    justify-content: flex-end;
}


.dl-page-hero__content {
    max-width: 840px;
}

.dl-page-hero__eyebrow {
    display: inline-flex;
    margin: 0 0 22px;
    color: var(--dl-sage);
    font-family: var(--dl-font-sans);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1;
    text-transform: uppercase;
}

.dl-page-hero__title {
    color: var(--dl-white);
    font-family: var(--dl-font-serif);
    font-size: clamp(52px, 6vw, 86px);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.045em;
    line-height: 0.96;
    margin: 0 0 28px;
    max-width: 940px;
}

.dl-page-hero__description {
    max-width: 680px;
    color: var(--dl-muted-light);
    font-family: var(--dl-font-sans);
    font-size: 18px;
    line-height: 1.55;
}

.dl-page-hero__description p {
    margin: 0 0 18px;
}

.dl-page-hero__description p:last-child {
    margin-bottom: 0;
}

.dl-page-hero__media {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: flex-end;
}

.dl-page-hero__image-wrap {
    position: relative;
    width: min(100%, 390px);
    margin: 0;
}


.dl-page-hero__image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    max-height: 450px;
    object-fit: contain;
    object-position: right;
}

/* Book/promo pages often use a cover image. This keeps it cover-like. */
.dl-page-hero--book .dl-page-hero__image {
    aspect-ratio: 350 / 540;
}

/* Speaker/profile pages often use a portrait. */
.dl-page-hero--portrait .dl-page-hero__image {
    aspect-ratio: 390 / 500;
}


@media (max-width: 1199.98px) {
    .dl-page-hero__container {
        max-width: calc(100% - 64px);
    }
}

@media (max-width: 991.98px) {
    .dl-page-hero {
        min-height: auto;
    }

    .dl-page-hero__container {
        max-width: calc(100% - 48px);
    }

    .dl-page-hero__grid,
    .dl-page-hero--no-right-image .dl-page-hero__grid,
    .dl-page-hero__row {
        grid-template-columns: 1fr;
        gap: 52px;
        min-height: auto;
        padding-top: 160px;
        padding-bottom: 76px;
    }

    .dl-page-hero__image-col {
        justify-content: flex-start;
    }

    .dl-page-hero__media {
        justify-content: flex-start;
    }

    .dl-page-hero__image-wrap {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .dl-page-hero__title {
        font-size: clamp(42px, 12vw, 64px);
    }

    .dl-page-hero__description {
        font-size: 17px;
    }
}

@media (max-width: 575.98px) {
    .dl-page-hero__container {
        max-width: calc(100% - 32px);
    }

    .dl-page-hero__grid,
    .dl-page-hero--no-right-image .dl-page-hero__grid,
    .dl-page-hero__row {
        padding-top: 132px;
        padding-bottom: 62px;
    }

    .dl-page-hero__image-wrap {
        width: 100%;
    }

    .dl-page-hero__image-wrap::after {
        display: none;
    }
}


/* Reusable page hero button
--------------------------------------------- */

.dl-page-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-top: 34px;
}

.dl-page-hero__button {
	min-height: 44px;
	padding: 14px 22px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.11em;
}

@media (max-width: 575.98px) {
	.dl-page-hero__actions {
		margin-top: 28px;
	}

	.dl-page-hero__button {
		width: 100%;
	}
}




/* About Doreen page
--------------------------------------------- */

.dl-about-page {
	background: var(--dl-page-bg);
	color: var(--dl-black);
	font-family: var(--dl-font-sans);
	overflow-x: hidden;
}

.dl-about-page .container {
	max-width: var(--dl-container);
	padding-left: 0;
	padding-right: 0;
}

.dl-page-hero--about .dl-page-hero__image {
	object-fit: contain;
	object-position: right bottom;
}

.dl-about-intro .row {
	--bs-gutter-x: 96px;
	--bs-gutter-y: 56px;
}

.dl-about-intro__image-wrap {
	max-width: 430px;
}

.dl-about-intro__image {
	aspect-ratio: 420 / 560;
}

.dl-about-social-section {
	background-repeat: repeat;
	background-size: auto;
}

.dl-about-social-links {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.dl-about-social-link {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 58px;
	padding: 0 0 16px;
	border-bottom: 1px solid rgba(219, 218, 217, 0.18);
	color: var(--dl-muted-light);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 180ms ease, transform 180ms ease;
}

.dl-about-social-link:hover,
.dl-about-social-link:focus {
	color: var(--dl-sage);
	transform: translateX(4px);
}

.dl-about-social-link__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
}

.dl-about-social-link__image {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

@media (max-width: 1199.98px) {
	.dl-about-page .container {
		max-width: calc(100% - 64px);
	}
}

@media (max-width: 991.98px) {
	.dl-about-page .container {
		max-width: calc(100% - 48px);
	}

	.dl-about-social-links {
		margin-top: 34px;
	}
}

@media (max-width: 575.98px) {
	.dl-about-page .container {
		max-width: calc(100% - 32px);
	}

	.dl-about-social-link {
		min-height: 52px;
	}
}

/* About page social links - dark section
--------------------------------------------- */

.dl-about-socials {
	position: relative;
	padding: 112px 0 122px;
	background:
		radial-gradient(circle at 76% 30%, rgba(218, 226, 196, 0.12), transparent 24%),
		linear-gradient(135deg, #303031 0%, #393f38 100%);
	color: var(--dl-white);
	overflow: hidden;
	isolation: isolate;
}

.dl-about-socials::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			rgba(48, 48, 49, 0.34) 0%,
			rgba(48, 48, 49, 0.12) 45%,
			rgba(48, 48, 49, 0.72) 100%
		),
		linear-gradient(
			42deg,
			transparent 0 23%,
			rgba(218, 226, 196, 0.04) 23.1% 35%,
			transparent 35.1% 100%
		);
}

.dl-about-socials > .container {
	position: relative;
	z-index: 2;
}

.dl-about-socials__row {
	--bs-gutter-x: 86px;
	--bs-gutter-y: 44px;
	align-items: flex-start;
}

.dl-about-socials .dl-eyebrow {
	color: var(--dl-sage);
}

.dl-about-socials .dl-section-title {
	color: var(--dl-white);
}

.dl-about-socials .dl-section-content {
	color: var(--dl-muted-light);
}

/* Social list */

.dl-about-socials__links {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
	max-width: 520px;
	margin-left: auto;
}

.dl-about-socials__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	min-height: 64px;
	padding: 18px 22px;
	border: 1px solid rgba(218, 226, 196, 0.22);
	background: rgba(255, 255, 255, 0.06);
	color: var(--dl-white);
	text-decoration: none;
	transition:
		background 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		transform 180ms ease;
}

.dl-about-socials__link:hover,
.dl-about-socials__link:focus {
	background: var(--dl-sage);
	border-color: var(--dl-sage);
	color: var(--dl-primary);
	transform: translateY(-1px);
}

/* Left side: icon + wording */

.dl-about-socials__link-inner {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

/* Use this even if your PHP does not have link-inner */
.dl-about-socials__link .dl-about-socials__icon {
	order: 1;
}

.dl-about-socials__link .dl-about-socials__label {
	order: 2;
}

.dl-about-socials__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
}

.dl-about-socials__icon-img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
	object-position: center;
	filter: brightness(0) invert(1);
	transition: filter 180ms ease;
}

.dl-about-socials__label {
	display: inline-flex;
	color: inherit;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.11em;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

/* Right side + mark */

.dl-about-socials__link::after {
	content: "+";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: var(--dl-sage);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	transition: color 180ms ease, transform 180ms ease;
}

.dl-about-socials__link:hover::after,
.dl-about-socials__link:focus::after {
	color: var(--dl-primary);
	transform: rotate(90deg);
}

.dl-about-socials__link:hover .dl-about-socials__icon-img,
.dl-about-socials__link:focus .dl-about-socials__icon-img {
	filter: brightness(0) saturate(100%) invert(16%) sepia(15%) saturate(861%) hue-rotate(37deg) brightness(92%) contrast(90%);
}

/* Responsive */

@media (max-width: 991.98px) {
	.dl-about-socials {
		padding: 82px 0 96px;
	}

	.dl-about-socials__links {
		max-width: none;
		margin-left: 0;
	}
}

@media (max-width: 575.98px) {
	.dl-about-socials {
		padding: 66px 0 78px;
	}

	.dl-about-socials__link {
		min-height: 58px;
		padding: 16px 18px;
	}

	.dl-about-socials__label {
		font-size: 12px;
		white-space: normal;
	}
}




/* Doreen Experience page
--------------------------------------------- */

.dl-experience-page {
	background: var(--dl-page-bg);
	color: var(--dl-black);
	font-family: var(--dl-font-sans);
	overflow-x: hidden;
}

.dl-experience-page .container {
	max-width: var(--dl-container);
	padding-left: 0;
	padding-right: 0;
}

.dl-experience-intro,
.dl-experience-expertise,
.dl-experience-career,
.dl-experience-contributions {
	padding: 112px 0 122px;
}

.dl-experience-expertise {
	background: var(--dl-light-bg);
}

.dl-experience-intro__row,
.dl-experience-career__row,
.dl-experience-contributions__row {
	--bs-gutter-x: 86px;
	--bs-gutter-y: 52px;
}

.dl-experience-intro__content {
	max-width: 620px;
}

.dl-experience-image-wrap {
	position: relative;
	max-width: 430px;
	margin: 0;
}

.dl-experience-image-wrap::after {
	content: "";
	position: absolute;
	right: -22px;
	bottom: -22px;
	z-index: 0;
	width: 86px;
	height: 86px;
	background: var(--dl-sage);
}

.dl-experience-image {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	aspect-ratio: 420 / 560;
	height: auto;
	object-fit: cover;
	object-position: center;
	border: 1px solid var(--dl-border);
}

.dl-experience-card-grid {
	--bs-gutter-x: 24px;
	--bs-gutter-y: 24px;
}

.dl-experience-card {
	height: 100%;
	padding: 34px;
	background: var(--dl-page-bg);
	border: 1px solid rgba(70, 72, 63, 0.12);
}

.dl-experience-card h3,
.dl-experience-timeline__item h3 {
	margin: 0 0 16px;
	color: var(--dl-primary);
	font-family: var(--dl-font-serif);
	font-size: clamp(28px, 2.8vw, 38px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
}

.dl-experience-card p,
.dl-experience-timeline__item p,
.dl-experience-link p {
	margin: 0 0 16px;
	color: var(--dl-body);
	font-size: 16px;
	line-height: 1.55;
}

.dl-experience-card p:last-child,
.dl-experience-timeline__item p:last-child,
.dl-experience-link p:last-child {
	margin-bottom: 0;
}

.dl-experience-career {
	position: relative;
	background-color: var(--dl-dark-bg);
	background-position: center;
	background-repeat: repeat;
	background-size: auto;
	color: var(--dl-white);
	overflow: hidden;
}

.dl-experience-career::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: radial-gradient(circle at 50% 50%, rgba(91, 97, 75, 0.5) 0%, rgba(91, 97, 75, 0) 68%);
	opacity: 0.14;
}

.dl-experience-career > .container {
	position: relative;
	z-index: 2;
}

.dl-experience-career .dl-section-title,
.dl-experience-career .dl-eyebrow {
	color: var(--dl-muted-light);
}

.dl-experience-timeline {
	border-top: 1px solid rgba(219, 218, 217, 0.18);
}

.dl-experience-timeline__item {
	padding: 28px 0;
	border-bottom: 1px solid rgba(219, 218, 217, 0.18);
}

.dl-experience-timeline__item span {
	display: block;
	margin-bottom: 12px;
	color: var(--dl-sage);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1;
	text-transform: uppercase;
}
.dl-experience-link small {
	display: block;
	margin-bottom: 12px;
	color: var(--dl-primary);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1;
	text-transform: uppercase;
}

.dl-experience-timeline__item h3 {
	color: var(--dl-white);
}

.dl-experience-timeline__item strong {
	display: block;
	margin-bottom: 12px;
	color: var(--dl-muted-light);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
}

.dl-experience-timeline__item p {
	color: var(--dl-muted-light);
}

.dl-experience-links {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.dl-experience-link {
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 24px;
	background: var(--dl-light-bg);
	border: 1px solid rgba(70, 72, 63, 0.12);
	color: var(--dl-primary);
	text-decoration: none;
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.dl-experience-link[href]:hover,
.dl-experience-link[href]:focus {
	background: var(--dl-primary);
	color: var(--dl-white);
	transform: translateY(-1px);
}

.dl-experience-link__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 86px;
	width: 86px;
	height: 86px;
	background: var(--dl-page-bg);
	border: 1px solid rgba(70, 72, 63, 0.12);
}

.dl-experience-link__logo-img {
	display: block;
	width: 62px;
	height: 62px;
	object-fit: contain;
	object-position: center;
}

.dl-experience-link__content {
	display: block;
	min-width: 0;
}

.dl-experience-link strong {
	display: block;
	margin-bottom: 10px;
	font-family: var(--dl-font-serif);
	font-size: clamp(26px, 2.8vw, 36px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
}

.dl-experience-link[href]:hover small,
.dl-experience-link[href]:focus small,
.dl-experience-link[href]:hover p,
.dl-experience-link[href]:focus p {
	color: var(--dl-muted-light);
}

@media (max-width: 1199.98px) {
	.dl-experience-page .container {
		max-width: calc(100% - 64px);
	}
}

@media (max-width: 991.98px) {
	.dl-experience-page .container {
		max-width: calc(100% - 48px);
	}

	.dl-experience-intro,
	.dl-experience-expertise,
	.dl-experience-career,
	.dl-experience-contributions {
		padding: 82px 0 96px;
	}
}

@media (max-width: 575.98px) {
	.dl-experience-page .container {
		max-width: calc(100% - 32px);
	}

	.dl-experience-intro,
	.dl-experience-expertise,
	.dl-experience-career,
	.dl-experience-contributions {
		padding: 66px 0 78px;
	}

	.dl-experience-image-wrap::after {
		display: none;
	}

	.dl-experience-card,
	.dl-experience-link {
		padding: 28px;
	}

	.dl-experience-link {
		align-items: flex-start;
		flex-direction: column;
	}
}



/* Main blog landing page
--------------------------------------------- */

.dl-blog-page {
	background: var(--dl-page-bg);
	color: var(--dl-black);
	font-family: var(--dl-font-sans);
	overflow-x: hidden;
}

.dl-blog-page .container {
	max-width: var(--dl-container);
	padding-left: 0;
	padding-right: 0;
}

/* Featured post */

.dl-blog-featured {
	padding: 112px 0 118px;
	background: var(--dl-page-bg);
}

.dl-blog-featured__row {
	--bs-gutter-x: 86px;
	--bs-gutter-y: 52px;
}

.dl-blog-featured__media {
	display: block;
	background: var(--dl-card-bg);
	overflow: hidden;
	text-decoration: none;
}

.dl-blog-featured__image,
.dl-blog-featured .dl-image-placeholder--blog {
	display: block;
	width: 100%;
	aspect-ratio: 520 / 360;
	height: auto;
	object-fit: cover;
	object-position: center;
}

.dl-blog-featured__content {
	max-width: 560px;
}

.dl-blog-featured .dl-section-title a {
	color: inherit;
	text-decoration: none;
}

.dl-blog-featured .dl-section-title a:hover,
.dl-blog-featured .dl-section-title a:focus {
	color: var(--dl-body);
}

.dl-blog-featured .dl-text-link {
	margin-top: 28px;
}

/* Blog grid */

.dl-blog-listing {
	padding: 0 0 122px;
	background: var(--dl-page-bg);
}

.dl-blog-listing__grid {
	--bs-gutter-x: 24px;
	--bs-gutter-y: 52px;
}

.dl-blog-listing__card {
	height: 100%;
}

.dl-blog-listing .dl-blog-card__title,
.dl-blog-listing .dl-blog-card__excerpt {
	max-width: none;
}

.dl-blog-listing .dl-blog-card__excerpt {
	display: block;
	margin-bottom: 24px;
	color: var(--dl-body);
	font-size: 16px;
	line-height: 1.5;
}

.dl-blog-listing .dl-blog-card__excerpt p {
	margin: 0;
}

/* Pagination */

.dl-blog-pagination {
	margin-top: 72px;
}

.dl-blog-pagination .pagination,
.dl-blog-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.dl-blog-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid rgba(70, 72, 63, 0.22);
	color: var(--dl-primary);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.dl-blog-pagination .page-numbers.current,
.dl-blog-pagination .page-numbers:hover,
.dl-blog-pagination .page-numbers:focus {
	background: var(--dl-primary);
	border-color: var(--dl-primary);
	color: var(--dl-white);
}

/* Responsive */

@media (max-width: 1199.98px) {
	.dl-blog-page .container {
		max-width: calc(100% - 64px);
	}
}

@media (max-width: 991.98px) {
	.dl-blog-page .container {
		max-width: calc(100% - 48px);
	}

	.dl-blog-featured {
		padding: 82px 0 96px;
	}

	.dl-blog-listing {
		padding-bottom: 96px;
	}
}

@media (max-width: 575.98px) {
	.dl-blog-page .container {
		max-width: calc(100% - 32px);
	}

	.dl-blog-featured {
		padding: 66px 0 78px;
	}

	.dl-blog-listing {
		padding-bottom: 78px;
	}
}


/* Basic content / legal pages
--------------------------------------------- */

.dl-basic-page {
	background: var(--dl-page-bg);
	color: var(--dl-body);
	font-family: var(--dl-font-sans);
	overflow-x: hidden;
}

.dl-basic-page .container {
	max-width: var(--dl-container);
	padding-left: 0;
	padding-right: 0;
}

.dl-basic-content {
	padding: 112px 0 122px;
	background: var(--dl-page-bg);
}

.dl-basic-content__article,
.dl-legal-page {
	color: var(--dl-body);
	font-size: 17px;
	line-height: 1.65;
}

.dl-basic-content__article > *:first-child,
.dl-legal-page > *:first-child {
	margin-top: 0;
}

.dl-basic-content__article > *:last-child,
.dl-legal-page > *:last-child {
	margin-bottom: 0;
}

.dl-basic-content__article h1,
.dl-legal-page h1 {
	margin: 0 0 32px;
	color: var(--dl-black);
	font-family: var(--dl-font-serif);
	font-size: clamp(42px, 5vw, 68px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.98;
}

.dl-basic-content__article h2,
.dl-legal-page h2 {
	margin: 54px 0 18px;
	color: var(--dl-black);
	font-family: var(--dl-font-serif);
	font-size: clamp(30px, 3vw, 44px);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.dl-basic-content__article h3,
.dl-legal-page h3 {
	margin: 38px 0 14px;
	color: var(--dl-primary);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.11em;
	line-height: 1.2;
	text-transform: uppercase;
}

.dl-basic-content__article p,
.dl-legal-page p {
	margin: 0 0 22px;
}

.dl-basic-content__article strong,
.dl-legal-page strong {
	color: var(--dl-primary);
	font-weight: 800;
}

.dl-basic-content__article ul,
.dl-basic-content__article ol,
.dl-legal-page ul,
.dl-legal-page ol {
	margin: 0 0 28px;
	padding-left: 22px;
}

.dl-basic-content__article li,
.dl-legal-page li {
	margin-bottom: 10px;
}

.dl-basic-content__article a,
.dl-legal-page a {
	color: var(--dl-primary);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.dl-basic-content__article a:hover,
.dl-basic-content__article a:focus,
.dl-legal-page a:hover,
.dl-legal-page a:focus {
	color: var(--dl-body);
}

.dl-basic-content__article blockquote,
.dl-legal-page blockquote {
	margin: 42px 0;
	padding: 30px 34px;
	border-left: 4px solid var(--dl-sage);
	background: var(--dl-light-bg);
	color: var(--dl-primary);
	font-family: var(--dl-font-serif);
	font-size: 24px;
	font-style: italic;
	line-height: 1.35;
}

.dl-basic-content__pagination {
	margin-top: 42px;
}

/* Responsive */

@media (max-width: 1199.98px) {
	.dl-basic-page .container {
		max-width: calc(100% - 64px);
	}
}

@media (max-width: 991.98px) {
	.dl-basic-page .container {
		max-width: calc(100% - 48px);
	}

	.dl-basic-content {
		padding: 82px 0 96px;
	}
}

@media (max-width: 575.98px) {
	.dl-basic-page .container {
		max-width: calc(100% - 32px);
	}

	.dl-basic-content {
		padding: 66px 0 78px;
	}

	.dl-basic-content__article,
	.dl-legal-page {
		font-size: 16px;
		line-height: 1.6;
	}

	.dl-basic-content__article h2,
	.dl-legal-page h2 {
		margin-top: 42px;
	}
}