:root {
    --shell-pad: clamp(16px, 4.2vw, 20px);
    --section-space: clamp(52px, 11vw, 108px);
    --hero-title: clamp(2.65rem, 8vw, 5.5rem);
    --section-title: clamp(2rem, 6vw, 4rem);
    --body-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
    --hero-stage-h: clamp(250px, 62vw, 520px);
    --logo-bg: #d7ffb3;
    --logo-green: #006633;
    --logo-green-deep: #0f4c2d;
    --logo-orange: #cb5521;
    --logo-cream: #fffdf5;
    --logo-mist: #efffd8;
    --text: #0c5e33;
    --text-soft: rgba(0, 102, 51, 0.74);
    --surface: #f7ffef;
    --surface-soft: #fffdf8;
    --surface-strong: #e9fbcf;
    --round-xl: 54px;
    --round-lg: 38px;
    --round-md: 28px;
    --round-sm: 20px;
    --header-height: 94px;
    --content-width: 1600px;
    --content-copy: 42rem;
    --ease: 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (min-width: 430px) {
    :root {
        --shell-pad: clamp(20px, calc(14.2282px + 1.3423vw), 40px);
        --section-space: clamp(72px, calc(60px + 3vw), 140px);
        --hero-title: clamp(3rem, calc(1.9rem + 3.2vw), 6rem);
        --section-title: clamp(2.15rem, calc(1.55rem + 1.8vw), 4.3rem);
        --hero-stage-h: clamp(300px, calc(220px + 18vw), 620px);
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    background: var(--surface);
    color: var(--text);
    font-family: "Nunito", sans-serif;
    font-size: var(--body-size);
    line-height: 1.6;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

body.admin-bar .dc-header {
    top: 32px;
}

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

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}

.dc-button,
.dc-nav-toggle,
.dc-footer__cookie-button,
.dc-cookie-banner__toggle {
    -webkit-appearance: none;
    appearance: none;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.dc-main {
    overflow: hidden;
    overflow: clip;
}

.dc-shell {
    width: min(100%, calc(var(--content-width) + (var(--shell-pad) * 2)));
    margin-inline: auto;
    padding-inline: var(--shell-pad);
}

.dc-section {
    position: relative;
    padding-block: var(--section-space);
}

.dc-kicker {
    margin: 0;
    font-family: "Fredoka", sans-serif;
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--logo-orange);
}

.dc-main .dc-kicker,
.dc-main .dc-hero__note,
.dc-services__strap,
.dc-service-item__index,
.dc-step__number,
.dc-hero__stage-note {
    display: none;
}

.dc-prose {
    color: var(--text-soft);
}

.dc-prose > :first-child {
    margin-top: 0;
}

.dc-prose > :last-child {
    margin-bottom: 0;
}

.dc-prose p,
.dc-prose li {
    font-size: 1rem;
}

.dc-prose ul,
.dc-prose ol {
    margin: 0;
    padding-left: 1.25rem;
}

.dc-prose li + li {
    margin-top: 0.45rem;
}

.dc-button {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    min-height: 3.45rem;
    padding: 0.92rem 1.45rem 0.92rem 1.2rem;
    border: 2px solid var(--logo-green);
    border-radius: 999px;
    background: var(--logo-green);
    color: var(--logo-cream);
    font-family: "Fredoka", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: transform var(--ease), background-color var(--ease), color var(--ease), border-color var(--ease);
}

.dc-button__line {
    width: 0.75rem;
    height: 0.75rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--logo-orange);
    transition: transform var(--ease), background-color var(--ease);
}

.dc-button__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.92rem;
    height: 0.92rem;
    flex: 0 0 auto;
    color: currentColor;
    transition: transform var(--ease), color var(--ease);
}

.dc-header .dc-button__icon {
    color: var(--logo-orange);
}

.dc-button__icon .dc-icon {
    display: block;
    width: 100%;
    height: 100%;
}

.dc-button:hover,
.dc-button:focus-visible {
    transform: translateY(-2px);
}

.dc-button:hover .dc-button__line,
.dc-button:focus-visible .dc-button__line,
.dc-button:hover .dc-button__icon,
.dc-button:focus-visible .dc-button__icon {
    transform: scale(1.18);
}

.dc-button:focus-visible {
    outline: 2px solid var(--logo-orange);
    outline-offset: 4px;
}

.dc-button--ghost {
    background: transparent;
    color: var(--logo-green);
}

.dc-button--small {
    min-height: 3rem;
    padding-inline: 1.1rem;
    font-size: 0.92rem;
}

.dc-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--logo-bg);
    box-shadow: 0 1px 0 rgba(0, 102, 51, 0.15);
}

.dc-header__inner {
    position: relative;
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 1rem;
    min-height: var(--header-height);
}

.dc-brand {
    display: inline-flex;
    align-items: center;
}

.dc-brand__mark img {
    width: min(230px, 46vw);
    height: auto;
}

.dc-nav-toggle {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.75rem 0;
    border: 0;
    background: transparent;
    color: var(--logo-green);
    font-family: "Fredoka", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dc-nav-toggle::before,
.dc-nav-toggle::after {
    content: "";
    display: block;
    width: 1.5rem;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform var(--ease), opacity var(--ease);
}

.dc-nav-toggle[aria-expanded="true"]::before {
    transform: translateY(5px) rotate(45deg);
}

.dc-nav-toggle[aria-expanded="true"]::after {
    transform: translateY(-5px) rotate(-45deg);
}

.dc-header__panel {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 1px);
    display: grid;
    gap: 1rem;
    padding: 1rem var(--shell-pad) 1.5rem;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    background: var(--logo-bg);
    box-shadow: 0 10px 30px rgba(0, 102, 51, 0.08);
}

.dc-header__panel[hidden] {
    display: none;
}

.dc-nav__list,
.dc-footer__menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dc-nav__list {
    display: grid;
    gap: 0.9rem;
}

.dc-nav__list a {
    display: inline-flex;
    align-items: center;
    font-family: "Fredoka", sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: var(--logo-green);
}

.dc-nav__list a:hover,
.dc-nav__list a:focus-visible {
    color: var(--logo-orange);
}

.dc-hero {
    background: linear-gradient(180deg, rgba(215, 255, 179, 0.4) 0, rgba(215, 255, 179, 0.12) 100%);
}

.dc-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(26px, 6vw, 64px);
    align-items: center;
}

.dc-hero__copy {
    max-width: var(--content-copy);
}

.dc-hero__title,
.dc-section-heading__title,
.dc-story__quote p,
.dc-step__content h3,
.dc-service-item h3,
.dc-story__aside h3,
.dc-footer h2,
.dc-simple-page h1 {
    margin: 0;
    font-family: "Fredoka", sans-serif;
    font-weight: 600;
    line-height: 0.94;
    letter-spacing: -0.03em;
}

.dc-hero__title {
    font-size: var(--hero-title);
    text-wrap: balance;
}

.dc-hero__lead {
    margin-top: 1.35rem;
    max-width: 36rem;
}

.dc-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
}

.dc-hero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 1.2rem;
    margin: 1.7rem 0 0;
    padding: 0;
    list-style: none;
}

.dc-hero__facts li {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--logo-green);
    font-size: 1rem;
    font-weight: 600;
}

.dc-hero__facts li::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--logo-orange);
}

.dc-hero__visual {
    min-width: 0;
}

.dc-hero__stage {
    position: relative;
    min-height: var(--hero-stage-h);
    overflow: hidden;
    border-radius: min(14vw, 72px);
    background: var(--logo-bg);
}

.dc-hero__stage::before,
.dc-hero__stage::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.dc-hero__stage::before {
    right: -10%;
    top: -8%;
    width: clamp(220px, 40vw, 520px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(255, 253, 245, 0.65);
}

.dc-hero__stage::after {
    left: -3%;
    bottom: -8%;
    width: clamp(180px, 28vw, 320px);
    aspect-ratio: 1;
    border-radius: 42% 58% 52% 48% / 55% 45% 55% 45%;
    background: rgba(203, 85, 33, 0.15);
}

.dc-hero__shape--lime,
.dc-hero__shape--paper {
    position: absolute;
    pointer-events: none;
}

.dc-hero__shape--lime {
    inset: auto auto 0 0;
    width: clamp(180px, 30vw, 340px);
    height: clamp(140px, 24vw, 240px);
    border-radius: 0 80px 0 0;
    background: rgba(255, 253, 245, 0.8);
}

.dc-hero__shape--paper {
    right: clamp(18px, 4vw, 34px);
    top: clamp(18px, 4vw, 30px);
    width: clamp(70px, 10vw, 120px);
    height: clamp(70px, 10vw, 120px);
    border-radius: 50%;
    background: rgba(203, 85, 33, 0.14);
}

.dc-hero__wordmark {
    position: absolute;
    left: 50%;
    top: 52%;
    z-index: 2;
    width: min(76%, 510px);
    transform: translate(-50%, -50%);
}

.dc-hero__wordmark img {
    width: 100%;
    height: auto;
}

.dc-hero__frame {
    position: absolute;
    overflow: hidden;
    border-radius: 40px;
    background: rgba(255, 255, 255, 0.55);
}

.dc-hero__frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dc-hero__frame--1 {
    top: 12%;
    right: clamp(16px, 3vw, 30px);
    width: min(40%, 300px);
    height: 46%;
}

.dc-hero__frame--2 {
    left: clamp(18px, 3vw, 32px);
    bottom: clamp(18px, 3vw, 32px);
    width: min(28%, 200px);
    height: 30%;
}

.dc-hero__frame--3 {
    right: clamp(24px, 4vw, 40px);
    bottom: clamp(20px, 4vw, 36px);
    width: min(22%, 160px);
    height: 22%;
}

.dc-hero--minimal-visual .dc-hero__frame {
    display: none;
}

.dc-hero--compact .dc-hero__title {
    font-size: clamp(2.4rem, 6vw, 4.5rem);
}

.dc-section-heading {
    display: grid;
    gap: 1rem;
    max-width: 56rem;
    margin-bottom: clamp(26px, 4vw, 50px);
}

.dc-section-heading__title {
    font-size: var(--section-title);
    text-wrap: balance;
}

.dc-section-heading__intro {
    max-width: 38rem;
}

.dc-services {
    background: var(--surface-soft);
}

.dc-story {
    background: linear-gradient(180deg, rgba(215, 255, 179, 0.14) 0, rgba(215, 255, 179, 0.28) 100%);
}

.dc-services__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.1rem;
}

.dc-service-item {
    display: grid;
    gap: 1rem;
    padding: clamp(24px, 4vw, 34px);
    border-radius: 34px;
    background: var(--surface-strong);
}

.dc-service-item:nth-child(2n) {
    background: #fff4df;
}

.dc-service-item:nth-child(3n) {
    background: #f0ffd8;
}

.dc-service-item h3 {
    font-size: clamp(1.7rem, 3.5vw, 2.45rem);
    color: var(--logo-green);
}

.dc-service-item p {
    margin: 0;
}

.dc-service-item__meta {
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.95rem;
    font-weight: 500;
}

.dc-story__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(28px, 4vw, 52px);
    align-items: start;
}

.dc-story__content {
    max-width: 44rem;
}

.dc-story__quote {
    margin: clamp(26px, 4vw, 40px) 0 0;
}

.dc-story__quote p {
    font-size: clamp(2rem, 4vw, 3.4rem);
    color: var(--logo-green);
}

.dc-story__quote cite {
    display: inline-block;
    margin-top: 1rem;
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
}

.dc-story__media {
    overflow: hidden;
    border-radius: 42px;
    background: var(--logo-bg);
}

.dc-story__media img {
    width: 100%;
    aspect-ratio: 5 / 6;
    object-fit: cover;
}

.dc-story__aside {
    padding: clamp(24px, 4vw, 36px);
    border-radius: 36px 36px 82px 36px;
    background: var(--logo-bg);
}

.dc-story__aside h3 {
    font-size: clamp(1.85rem, 4vw, 2.7rem);
    color: var(--logo-green);
}

.dc-story__aside .dc-prose {
    margin-top: 1rem;
    color: var(--text);
}

.dc-story__aside li::marker {
    color: var(--logo-orange);
}

.dc-steps {
    background: var(--logo-green-deep);
}

.dc-steps .dc-section-heading__title,
.dc-steps .dc-section-heading__intro,
.dc-steps .dc-prose,
.dc-steps .dc-steps__note {
    color: rgba(255, 253, 245, 0.88);
}

.dc-steps__list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dc-step {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.8rem;
    padding: clamp(24px, 4vw, 34px);
    border-radius: 34px;
    background: rgba(255, 253, 245, 0.08);
}

.dc-step::before {
    content: "";
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 50%;
    background: var(--logo-orange);
}

.dc-step__content {
    display: grid;
    gap: 0.75rem;
}

.dc-step__content h3 {
    font-size: clamp(1.8rem, 4vw, 2.7rem);
    color: var(--logo-bg);
}

.dc-step__content p {
    margin: 0;
    color: rgba(255, 253, 245, 0.78);
}

.dc-steps__note {
    margin: 1rem 0 0;
    max-width: 38rem;
    font-family: "Fredoka", sans-serif;
    font-size: 1rem;
}

.dc-cta {
    background: linear-gradient(180deg, var(--surface) 0, var(--logo-bg) 100%);
}

.dc-cta__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(24px, 4vw, 42px);
    padding: clamp(26px, 5vw, 44px);
    border-radius: 44px;
    background: rgba(255, 253, 245, 0.9);
}

.dc-cta__copy .dc-section-heading {
    margin-bottom: 0;
}

.dc-cta__actions {
    margin-top: clamp(22px, 4vw, 30px);
}

.dc-cta__aside {
    padding: clamp(22px, 3vw, 30px);
    border-radius: 34px;
    background: var(--logo-bg);
}

.dc-contact-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.95rem;
    margin: 0;
    padding: 0;
}

.dc-contact-list__item {
    display: grid;
    gap: 0.22rem;
    padding: 1rem 1.15rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.72);
}

.dc-contact-list dt,
.dc-footer__contact-label {
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
}

.dc-contact-list dd {
    margin: 0;
    color: var(--logo-green);
    font-size: 1.05rem;
    font-weight: 700;
}

.dc-contact-list a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

.dc-simple-page__inner {
    display: grid;
    gap: 1.3rem;
    max-width: 46rem;
}

.dc-simple-page h1 {
    font-size: clamp(2.7rem, 7vw, 5rem);
}

.dc-footer {
    padding-top: clamp(26px, 4vw, 38px);
    border-top-left-radius: 46px;
    border-top-right-radius: 46px;
    background: var(--logo-green-deep);
    color: rgba(255, 253, 245, 0.86);
}

.dc-footer__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(26px, 4vw, 52px);
    padding-block: clamp(38px, 6vw, 84px);
}

.dc-footer__brand {
    display: grid;
    gap: 1rem;
    max-width: 30rem;
}

.dc-brand__mark--footer img {
    width: min(220px, 50vw);
}

.dc-footer h2 {
    font-size: clamp(2.5rem, 6vw, 4rem);
    color: var(--logo-cream);
}

.dc-footer .dc-kicker {
    color: var(--logo-bg);
}

.dc-footer .dc-prose {
    color: rgba(255, 253, 245, 0.72);
}

.dc-footer__menu {
    display: grid;
    gap: 0.8rem;
}

.dc-footer__menu a,
.dc-footer__contact-item {
    transition: color var(--ease);
}

.dc-footer__menu a:hover,
.dc-footer__menu a:focus-visible,
.dc-footer__contact-item:hover,
.dc-footer__contact-item:focus-visible {
    color: var(--logo-bg);
}

.dc-footer__contact {
    display: grid;
    gap: 1rem;
}

.dc-footer__contact-item {
    display: grid;
    gap: 0.2rem;
}

.dc-js [data-reveal] {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 640ms cubic-bezier(0.16, 1, 0.3, 1), transform 640ms cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: var(--dc-reveal-delay, 0ms);
}

.dc-js [data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (min-width: 961px) {
    .dc-header__inner {
        grid-template-columns: auto 1fr;
        gap: 2rem;
    }

    .dc-nav-toggle {
        display: none;
    }

    .dc-header__panel {
        position: static;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 2rem;
        padding: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .dc-nav {
        margin-left: auto;
    }

    .dc-nav__list {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 1.5rem;
    }

    .dc-hero__inner {
        grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    }

    .dc-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.35rem;
    }

    .dc-service-item:nth-child(1) {
        border-radius: 42px 42px 86px 42px;
    }

    .dc-service-item:nth-child(2) {
        border-radius: 86px 42px 42px 42px;
    }

    .dc-service-item:nth-child(3) {
        border-radius: 42px 86px 42px 42px;
    }

    .dc-service-item:nth-child(4) {
        border-radius: 42px 42px 42px 86px;
    }

    .dc-story__inner {
        grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    }

    .dc-story__media,
    .dc-story__aside {
        grid-column: 2;
    }

    .dc-steps__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dc-step:nth-child(2n) {
        transform: translateY(20px);
    }

    .dc-cta__panel {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.75fr) minmax(0, 0.85fr);
        align-items: start;
    }

    .dc-footer__inner {
        grid-template-columns: minmax(0, 1fr) minmax(200px, 0.45fr) minmax(0, 0.8fr);
    }
}

@media (max-width: 960px) {
    :root {
        --header-height: 86px;
    }

    .dc-hero__frame--3 {
        display: none;
    }
}

@media (max-width: 700px) {
    .dc-brand__mark img {
        width: min(186px, 54vw);
    }

    .dc-hero__facts {
        gap: 0.7rem 1rem;
    }

    .dc-hero__actions {
        align-items: stretch;
    }

    .dc-button {
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation: none !important;
        transition-duration: 0ms !important;
        transition-delay: 0ms !important;
    }

    .dc-js [data-reveal] {
        opacity: 1;
        transform: none;
    }
}

/* Forest-led redesign v3 */
:root {
    --shell-pad: clamp(18px, 4vw, 42px);
    --section-space: clamp(64px, 11vw, 136px);
    --content-width: 1320px;
    --content-copy: 35rem;
    --hero-title: clamp(3rem, 9vw, 6.6rem);
    --section-title: clamp(2.2rem, 6vw, 4.8rem);
    --body-size: clamp(1rem, 0.94rem + 0.28vw, 1.125rem);
    --hero-stage-h: clamp(320px, 78vw, 660px);
    --logo-bg: #d7ffb3;
    --logo-green: #006633;
    --logo-green-deep: #0f4c2d;
    --logo-orange: #cb5521;
    --surface: #fbf8ef;
    --surface-cream: #fffaf1;
    --surface-moss: #eef7e1;
    --surface-paper: rgba(255, 250, 241, 0.92);
    --text: #0f5b35;
    --text-soft: rgba(15, 91, 53, 0.76);
    --line-soft: rgba(0, 102, 51, 0.12);
    --shadow-soft: 0 18px 48px rgba(15, 91, 53, 0.08);
    --motif-tree: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23006633' d='M12 2l3 5h-2l3 4h-2.5l2.8 4.5H13V22h-2v-6.5H7.7L10.5 11H8l3-4H9l3-5z'/%3E%3C/svg%3E");
    --motif-pinecone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23cb5521' d='M12 2c1.5 0 2 1.5 1.7 2.7 2.7 1 4.3 3.6 4.3 6.5 0 4.7-2.9 8.6-6 8.6s-6-3.9-6-8.6c0-2.9 1.6-5.5 4.3-6.5C10 3.5 10.5 2 12 2zm-2.5 6c-.7 0-1.3.5-1.3 1.1s.6 1.1 1.3 1.1 1.3-.5 1.3-1.1S10.2 8 9.5 8zm5 0c-.7 0-1.3.5-1.3 1.1s.6 1.1 1.3 1.1 1.3-.5 1.3-1.1S15.2 8 14.5 8zM12 11c-.9 0-1.7.6-1.7 1.3s.8 1.3 1.7 1.3 1.7-.6 1.7-1.3S12.9 11 12 11zm-2.5 3.6c-.7 0-1.3.5-1.3 1.1s.6 1.1 1.3 1.1 1.3-.5 1.3-1.1-.6-1.1-1.3-1.1zm5 0c-.7 0-1.3.5-1.3 1.1s.6 1.1 1.3 1.1 1.3-.5 1.3-1.1-.6-1.1-1.3-1.1z'/%3E%3C/svg%3E");
}

body {
    background: var(--surface);
    color: var(--text);
    font-family: "Nunito", sans-serif;
    font-size: var(--body-size);
}

.dc-shell {
    width: min(100%, calc(var(--content-width) + (var(--shell-pad) * 2)));
}

.dc-section {
    padding-block: var(--section-space);
}

.dc-prose,
.dc-prose p,
.dc-prose li {
    color: var(--text-soft);
    font-size: clamp(1rem, 0.97rem + 0.18vw, 1.11rem);
    line-height: 1.75;
}

.dc-prose strong {
    color: var(--text);
}

.dc-hero__title,
.dc-section-heading__title,
.dc-story__quote p,
.dc-step__content h3,
.dc-service-item h3,
.dc-story__aside h3,
.dc-footer h2,
.dc-simple-page h1 {
    font-family: "Baloo 2", cursive;
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: -0.02em;
}

.dc-button,
.dc-kicker,
.dc-contact-list dt,
.dc-footer__contact-label,
.dc-nav-toggle {
    font-family: "Baloo 2", cursive;
}

.dc-item-motif {
    display: inline-flex;
    width: 1.18rem;
    height: 1.18rem;
    flex: 0 0 auto;
    color: var(--logo-green);
}

.dc-item-motif svg {
    width: 100%;
    height: 100%;
}

.dc-button {
    gap: 0.72rem;
    min-height: 3.4rem;
    padding: 0.9rem 1.4rem 0.9rem 1.2rem;
    border-color: var(--logo-green);
    background: var(--logo-green);
    color: #fffef7;
    box-shadow: 0 12px 30px rgba(15, 91, 53, 0.12);
}

.dc-button__line {
    width: 0.62rem;
    height: 0.62rem;
    background: var(--logo-orange);
}

.dc-button--ghost {
    border-color: rgba(0, 102, 51, 0.22);
    background: rgba(255, 250, 241, 0.9);
    color: var(--logo-green);
    box-shadow: none;
}

.dc-button:hover,
.dc-button:focus-visible {
    transform: translateY(-1px);
}

.dc-header {
    background: rgba(215, 255, 179, 0.94);
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(0, 102, 51, 0.12);
}

.dc-header__inner {
    min-height: 96px;
}

.dc-brand__mark img {
    width: min(228px, 46vw);
}

.dc-nav-toggle {
    font-size: 1.1rem;
    letter-spacing: 0.04em;
    text-transform: none;
}

.dc-header__panel {
    border-bottom-left-radius: 34px;
    border-bottom-right-radius: 34px;
    background: rgba(255, 250, 241, 0.98);
    box-shadow: var(--shadow-soft);
}

.dc-nav__list a {
    font-family: "Nunito", sans-serif;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.dc-nav__list a:hover,
.dc-nav__list a:focus-visible {
    color: var(--logo-orange);
}

.dc-hero {
    overflow: hidden;
    background: transparent;
}

.dc-hero::before {
    content: "";
    position: absolute;
    left: -6%;
    top: -4%;
    width: clamp(180px, 26vw, 360px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(215, 255, 179, 0.62);
    filter: blur(18px);
    pointer-events: none;
}

.dc-hero::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 16%;
    width: clamp(84px, 12vw, 170px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(203, 85, 33, 0.08);
    filter: blur(6px);
    pointer-events: none;
}

.dc-hero__inner {
    position: relative;
    z-index: 1;
    gap: clamp(28px, 6vw, 76px);
    align-items: center;
}

.dc-hero__visual {
    order: -1;
}

.dc-hero__copy {
    max-width: var(--content-copy);
}

.dc-hero__title {
    font-size: var(--hero-title);
    text-wrap: balance;
}

.dc-hero__lead {
    margin-top: 1.15rem;
    max-width: 34rem;
}

.dc-hero__actions {
    gap: 0.85rem;
    margin-top: 1.9rem;
}

.dc-hero__facts {
    gap: 0.8rem 1.2rem;
    margin-top: 1.35rem;
}

.dc-hero__facts li {
    gap: 0.55rem;
    font-size: 1rem;
    font-weight: 800;
}

.dc-hero__facts li::before {
    display: none;
}

.dc-hero__stage {
    min-height: var(--hero-stage-h);
    border-radius: 42px 110px 46px 96px;
    background: var(--surface-moss);
    box-shadow: var(--shadow-soft);
}

.dc-hero__stage::before {
    left: -6%;
    top: -8%;
    width: clamp(120px, 23vw, 260px);
    aspect-ratio: 1;
    border-radius: 47% 53% 58% 42% / 46% 56% 44% 54%;
    background: rgba(255, 255, 255, 0.75);
}

.dc-hero__stage::after {
    right: -6%;
    bottom: -12%;
    width: clamp(140px, 22vw, 280px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(203, 85, 33, 0.12);
}

.dc-hero__shape--lime {
    right: clamp(18px, 3vw, 28px);
    top: clamp(18px, 3vw, 28px);
    width: clamp(74px, 8vw, 112px);
    height: clamp(74px, 8vw, 112px);
    border-radius: 28px 48px 20px 44px;
    background: rgba(215, 255, 179, 0.9);
}

.dc-hero__shape--paper {
    left: clamp(18px, 3vw, 30px);
    bottom: clamp(20px, 3vw, 34px);
    width: clamp(38px, 6vw, 62px);
    height: clamp(38px, 6vw, 62px);
    border-radius: 50%;
    background: rgba(203, 85, 33, 0.18);
}

.dc-hero__frame {
    border-radius: 30px 80px 30px 66px;
    background: transparent;
    box-shadow: 0 20px 54px rgba(15, 91, 53, 0.12);
}

.dc-hero__frame--1 {
    inset: clamp(18px, 2.5vw, 26px) clamp(18px, 2.5vw, 26px) clamp(84px, 8vw, 106px) clamp(18px, 2.5vw, 26px);
    width: auto;
    height: auto;
    z-index: 1;
}

.dc-hero__frame--2,
.dc-hero__frame--3 {
    display: none;
}

.dc-hero__frame img {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 12;
    object-fit: cover;
    object-position: center 44%;
}

.dc-hero__wordmark {
    left: clamp(18px, 3vw, 28px);
    bottom: clamp(18px, 3vw, 26px);
    top: auto;
    width: min(56%, 270px);
    transform: none;
    padding: clamp(12px, 2vw, 16px) clamp(16px, 2.5vw, 22px);
    border-radius: 22px 30px 22px 30px;
    background: rgba(255, 250, 241, 0.96);
    box-shadow: 0 16px 34px rgba(15, 91, 53, 0.12);
}

.dc-hero__wordmark img {
    width: 100%;
}

.dc-hero--minimal-visual .dc-hero__stage {
    min-height: clamp(240px, 54vw, 340px);
}

.dc-hero--minimal-visual .dc-hero__wordmark {
    left: 50%;
    top: 50%;
    bottom: auto;
    width: min(70%, 360px);
    transform: translate(-50%, -50%);
}

.dc-hero--minimal-visual .dc-hero__shape--paper {
    left: auto;
    right: clamp(22px, 4vw, 32px);
    bottom: clamp(20px, 4vw, 30px);
}

.dc-section-heading {
    max-width: 45rem;
    gap: 0.95rem;
    margin-bottom: clamp(28px, 4vw, 48px);
}

.dc-section-heading__title {
    font-size: var(--section-title);
}

.dc-services,
.dc-story,
.dc-steps,
.dc-cta {
    background: transparent;
}

.dc-services__grid {
    gap: clamp(20px, 3.4vw, 34px);
}

.dc-service-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.35rem 1rem;
    align-items: start;
    padding: 0;
    background: transparent;
    border-radius: 0;
}

.dc-service-item:nth-child(1),
.dc-service-item:nth-child(2),
.dc-service-item:nth-child(3),
.dc-service-item:nth-child(4),
.dc-service-item:nth-child(2n),
.dc-service-item:nth-child(3n) {
    background: transparent;
    border-radius: 0;
}

.dc-service-item__motif {
    width: clamp(34px, 4vw, 44px);
    height: clamp(34px, 4vw, 44px);
    margin-top: 0.35rem;
    color: var(--logo-green);
}

.dc-service-item h3 {
    grid-column: 2;
    font-size: clamp(1.8rem, 3.6vw, 2.85rem);
    color: var(--logo-green);
}

.dc-service-item > p:not(.dc-service-item__index):not(.dc-service-item__meta) {
    grid-column: 2;
    margin: 0;
    max-width: 29rem;
    color: var(--text-soft);
}

.dc-service-item__meta {
    grid-column: 2;
    width: max-content;
    margin-top: 0.15rem;
    padding: 0.24rem 0.78rem 0.12rem;
    border-radius: 999px;
    background: rgba(215, 255, 179, 0.55);
    color: var(--logo-orange);
    font-family: "Baloo 2", cursive;
    font-size: 0.94rem;
    font-weight: 700;
}

.dc-story__inner {
    gap: clamp(26px, 4.5vw, 60px);
    align-items: center;
    padding: clamp(26px, 5vw, 56px);
    border-radius: 42px 92px 48px 80px;
    background: var(--surface-moss);
}

.dc-story__content {
    max-width: none;
}

.dc-story__quote {
    margin-top: clamp(26px, 4vw, 42px);
}

.dc-story__quote p {
    font-size: clamp(2.2rem, 4.4vw, 3.95rem);
    color: var(--logo-green);
}

.dc-story__quote cite {
    margin-top: 0.9rem;
    color: var(--logo-orange);
    font-family: "Baloo 2", cursive;
    font-size: 1rem;
    font-weight: 700;
}

.dc-story__media {
    border-radius: 28px 74px 28px 62px;
    background: rgba(255, 255, 255, 0.72);
}

.dc-story__media img {
    aspect-ratio: 5 / 4;
    object-fit: cover;
}

.dc-story__aside {
    padding: clamp(24px, 4vw, 36px);
    border-radius: 34px 70px 32px 60px;
    background: var(--surface-paper);
    box-shadow: 0 14px 36px rgba(15, 91, 53, 0.06);
}

.dc-story__aside .dc-prose {
    margin-top: 0.9rem;
    color: var(--text);
}

.dc-story__aside ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.8rem;
}

.dc-story__aside li {
    position: relative;
    padding-left: 1.9rem;
}

.dc-story__aside li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.28rem;
    width: 1rem;
    height: 1rem;
    background-image: var(--motif-tree);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.dc-story__aside li:nth-child(2n)::before {
    background-image: var(--motif-pinecone);
}

.dc-steps__inner {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    border-radius: 40px 104px 48px 88px;
    background: rgba(240, 247, 229, 0.94);
}

.dc-steps__inner::after {
    content: "";
    position: absolute;
    right: -4%;
    bottom: -10%;
    width: clamp(160px, 18vw, 260px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(215, 255, 179, 0.58);
    pointer-events: none;
}

.dc-steps .dc-section-heading__title,
.dc-steps .dc-section-heading__intro,
.dc-steps .dc-prose,
.dc-steps .dc-steps__note {
    color: inherit;
}

.dc-steps__list {
    gap: clamp(22px, 3.4vw, 34px);
}

.dc-step {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem 1rem;
    align-items: start;
    padding: 0;
    background: transparent;
    border-radius: 0;
}

.dc-step::before {
    display: none;
}

.dc-step__motif {
    width: clamp(36px, 4.5vw, 44px);
    height: clamp(36px, 4.5vw, 44px);
    margin-top: 0.15rem;
    color: var(--logo-orange);
}

.dc-step__content {
    gap: 0.5rem;
}

.dc-step__content h3 {
    font-size: clamp(1.7rem, 3.8vw, 2.55rem);
    color: var(--logo-green);
}

.dc-step__content p {
    margin: 0;
    max-width: 17rem;
    color: var(--text-soft);
}

.dc-steps__note {
    margin-top: clamp(24px, 3vw, 32px);
    max-width: 40rem;
    color: var(--text-soft);
    font-family: "Nunito", sans-serif;
    font-size: 1rem;
}

.dc-cta__panel {
    gap: clamp(22px, 4vw, 38px);
    padding: clamp(28px, 5vw, 52px);
    border-radius: 42px 88px 42px 76px;
    background: var(--surface-cream);
    box-shadow: var(--shadow-soft);
}

.dc-cta__copy .dc-section-heading {
    max-width: 34rem;
}

.dc-cta__aside {
    padding: clamp(20px, 3vw, 28px);
    border-radius: 28px 56px 28px 50px;
    background: rgba(215, 255, 179, 0.55);
}

.dc-contact-list {
    gap: 0.9rem;
}

.dc-contact-list__item {
    position: relative;
    gap: 0.2rem;
    padding: 0 0 0 2rem;
    border-radius: 0;
    background: transparent;
}

.dc-contact-list__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.18rem;
    width: 1rem;
    height: 1rem;
    background-image: var(--motif-tree);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.dc-contact-list__item:nth-child(2n)::before {
    background-image: var(--motif-pinecone);
}

.dc-contact-list dt,
.dc-footer__contact-label {
    color: var(--logo-orange);
    font-size: 0.98rem;
    font-weight: 700;
}

.dc-contact-list dd {
    color: var(--logo-green);
    font-size: 1.04rem;
    font-weight: 800;
}

.dc-simple-page__inner {
    max-width: 44rem;
}

.dc-simple-page h1 {
    font-size: clamp(2.8rem, 8vw, 5.2rem);
}

.dc-gallery__grid,
.dc-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
}

.dc-gallery-card,
.dc-testimonial-card {
    border-radius: 30px 58px 30px 42px;
    background: var(--surface-cream);
    box-shadow: 0 14px 34px rgba(15, 91, 53, 0.07);
}

.dc-gallery-card__media img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.dc-gallery-card__body,
.dc-testimonial-card {
    padding: 1.15rem;
}

.dc-footer {
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
    background: var(--logo-green-deep);
}

.dc-footer__inner {
    gap: clamp(28px, 4vw, 48px);
}

.dc-footer h2 {
    font-size: clamp(2.5rem, 6vw, 4rem);
}

.dc-footer__menu a {
    font-family: "Nunito", sans-serif;
    font-weight: 800;
}

.dc-js [data-reveal] {
    transform: translateY(14px);
    transition: opacity 500ms cubic-bezier(0.22, 1, 0.36, 1), transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (min-width: 961px) {
    .dc-header__panel {
        background: transparent;
        box-shadow: none;
    }

    .dc-nav__list {
        gap: 1.35rem;
    }

    .dc-hero__inner {
        grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
    }

    .dc-hero__visual {
        order: 0;
    }

    .dc-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: clamp(30px, 4vw, 56px);
    }

    .dc-service-item:nth-child(2n) {
        margin-top: clamp(18px, 2vw, 34px);
    }

    .dc-story__inner {
        grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr);
    }

    .dc-story__media,
    .dc-story__aside {
        grid-column: 2;
    }

    .dc-steps__list {
        position: relative;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        padding-top: 0.7rem;
    }

    .dc-steps__list::before {
        content: "";
        position: absolute;
        left: 5%;
        right: 5%;
        top: 1.55rem;
        height: 2px;
        border-radius: 999px;
        background: rgba(0, 102, 51, 0.12);
    }

    .dc-step {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.85rem;
    }

    .dc-step:nth-child(2n) {
        transform: translateY(22px);
    }

    .dc-step__content p {
        max-width: 14rem;
    }

    .dc-cta__panel {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.9fr);
        align-items: start;
    }

    .dc-cta__copy {
        grid-column: 1;
    }

    .dc-cta__aside {
        grid-column: 1;
        max-width: 32rem;
    }

    .dc-contact-list {
        grid-column: 2;
        padding-top: 0.4rem;
    }
}

@media (max-width: 960px) {
    .dc-header__inner {
        min-height: 88px;
    }

    .dc-hero__stage {
        border-radius: 34px 68px 34px 62px;
    }

    .dc-hero__wordmark {
        width: min(62%, 236px);
    }
}

@media (max-width: 700px) {
    .dc-brand__mark img {
        width: min(186px, 54vw);
    }

    .dc-button {
        width: 100%;
        justify-content: center;
    }

    .dc-hero__facts {
        gap: 0.7rem 0.95rem;
    }

    .dc-hero__frame--1 {
        inset: 16px 16px 82px;
    }

    .dc-hero__frame img {
        aspect-ratio: 5 / 6;
        object-position: center;
    }

    .dc-story__inner,
    .dc-steps__inner,
    .dc-cta__panel {
        border-radius: 32px 46px 32px 40px;
    }
}

/* Home simplification pass */

:root {
    --section-space: clamp(48px, 8vw, 88px);
    --hero-title: clamp(2.2rem, 3vw + 1.2rem, 4.6rem);
    --section-title: clamp(1.7rem, 1.4vw + 1.25rem, 2.8rem);
    --hero-stage-h: clamp(260px, 34vw, 440px);
}

.dc-button,
.dc-kicker,
.dc-hero__title,
.dc-section-heading__title,
.dc-home-head__title,
.dc-home-head__lead,
.dc-service-item h3,
.dc-step__content h3,
.dc-story__aside h3,
.dc-footer h2 {
    font-family: "Baloo 2", sans-serif;
}

.dc-hero--home {
    padding-top: clamp(24px, 5vw, 52px);
}

.dc-hero__inner {
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
}

.dc-hero__copy {
    max-width: 35rem;
}

.dc-hero__title {
    max-width: 10.5ch;
    font-size: clamp(2.35rem, 1.7rem + 3vw, 4.55rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
}

.dc-hero__lead {
    max-width: 31rem;
    margin-top: 0.9rem;
}

.dc-hero__actions {
    margin-top: 1.25rem;
    gap: 0.8rem;
}

.dc-hero__facts {
    margin-top: 0.95rem;
    gap: 0.5rem 0.9rem;
}

.dc-hero__facts li {
    font-size: 0.92rem;
}

.dc-hero__stage {
    min-height: clamp(260px, 34vw, 440px);
    padding: clamp(14px, 2vw, 20px);
    border-radius: 34px 56px 34px 52px;
}

.dc-hero__frame--1 {
    inset: 18px 18px 28px;
}

.dc-hero__wordmark {
    width: min(46%, 180px);
}

.dc-home-head {
    max-width: 42rem;
    margin-bottom: clamp(18px, 2vw, 26px);
}

.dc-home-head__title {
    margin: 0;
    color: var(--logo-green);
    font-size: clamp(1.15rem, 0.98rem + 0.45vw, 1.45rem);
    line-height: 1.02;
}

.dc-home-head__lead {
    margin: 0.45rem 0 0;
    max-width: 18ch;
    color: var(--logo-green);
    font-size: clamp(1.92rem, 1.58rem + 1.02vw, 2.68rem);
    line-height: 1.03;
    letter-spacing: -0.03em;
}

.dc-home-head__intro {
    max-width: 34rem;
    margin-top: 0.85rem;
}

.dc-services--home,
.dc-story--home,
.dc-steps--home,
.dc-cta--home {
    padding-top: clamp(38px, 7vw, 72px);
}

.dc-services__scene,
.dc-story__scene,
.dc-steps__scene {
    display: grid;
    gap: clamp(24px, 4vw, 46px);
    align-items: start;
}

.dc-services__grid--home {
    display: grid;
    gap: clamp(16px, 2vw, 22px);
}

.dc-service-item--home {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem 0.95rem;
    align-items: start;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.dc-service-item--home .dc-service-item__motif,
.dc-step--home .dc-step__motif {
    width: 1.75rem;
    height: 1.75rem;
    margin-top: 0.2rem;
    color: var(--logo-orange);
}

.dc-service-item__body,
.dc-step__content {
    display: grid;
    gap: 0.3rem;
}

.dc-service-item--home h3,
.dc-step--home .dc-step__content h3 {
    margin: 0;
    color: var(--logo-green);
    font-size: clamp(1.2rem, 1.02rem + 0.7vw, 1.6rem);
    line-height: 1.06;
}

.dc-service-item--home p,
.dc-step--home .dc-step__content p {
    margin: 0;
}

.dc-service-item--home .dc-service-item__meta {
    color: var(--logo-orange);
    font-size: 0.92rem;
    font-weight: 800;
}

.dc-photo-stack {
    position: relative;
    display: grid;
    gap: 0.9rem;
    align-self: start;
}

.dc-photo-card,
.dc-story--home .dc-story__media,
.dc-steps__media {
    overflow: hidden;
    border-radius: 32px;
    background: rgba(215, 255, 179, 0.42);
    box-shadow: 0 18px 38px rgba(15, 91, 53, 0.08);
}

.dc-photo-card img,
.dc-story--home .dc-story__media img,
.dc-steps__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--ease);
}

.dc-photo-card img {
    aspect-ratio: 4 / 3;
}

.dc-story--home .dc-story__media img,
.dc-steps__media img {
    aspect-ratio: 4 / 5;
}

.dc-photo-stack:hover img,
.dc-story--home .dc-story__media:hover img,
.dc-steps__media:hover img {
    transform: scale(1.03);
}

.dc-story--home .dc-story__content {
    max-width: 37rem;
}

.dc-story--home .dc-story__quote {
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border-radius: 20px 26px 20px 22px;
    background: rgba(215, 255, 179, 0.5);
}

.dc-story--home .dc-story__aside {
    padding: clamp(18px, 2vw, 24px);
    border-radius: 24px;
    background: rgba(255, 253, 245, 0.96);
    box-shadow: 0 14px 30px rgba(15, 91, 53, 0.05);
}

.dc-story--home .dc-story__aside h3 {
    margin: 0 0 0.7rem;
    font-size: clamp(1.2rem, 1rem + 0.6vw, 1.5rem);
    line-height: 1.05;
}

.dc-story--home .dc-story__aside .dc-prose ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.75rem;
}

.dc-story--home .dc-story__aside .dc-prose li {
    position: relative;
    padding-left: 1.7rem;
}

.dc-story--home .dc-story__aside .dc-prose li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.25rem;
    width: 1rem;
    height: 1rem;
    background-image: var(--motif-pinecone);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.dc-steps__list--home {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: clamp(14px, 1.8vw, 18px);
}

.dc-step--home {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem 1rem;
    align-items: start;
    padding: 0 0 1rem;
    border-bottom: 1px solid rgba(0, 102, 51, 0.12);
    background: transparent;
    border-radius: 0;
}

.dc-step--home:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.dc-steps--home .dc-steps__note {
    margin-top: 1rem;
    max-width: 35rem;
    font-size: 0.97rem;
}

.dc-cta--home .dc-cta__panel {
    gap: clamp(20px, 3vw, 28px);
    padding: clamp(24px, 4vw, 40px);
    border-radius: 34px;
    background: #fffaf0;
    box-shadow: 0 18px 38px rgba(15, 91, 53, 0.07);
}

.dc-cta--home .dc-cta__copy {
    order: 1;
}

.dc-cta--home .dc-cta__aside {
    order: 3;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: rgba(215, 255, 179, 0.38);
    box-shadow: none;
}

.dc-cta--home .dc-cta__aside .dc-kicker {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.92rem;
    letter-spacing: 0.02em;
    text-transform: none;
}

.dc-cta--home .dc-contact-list {
    order: 2;
    display: grid;
    gap: 0.85rem;
}

.dc-cta--home .dc-contact-list__item {
    padding-left: 1.75rem;
}

.dc-cta--home .dc-contact-list dd {
    font-size: 1rem;
    font-weight: 800;
}

@media (min-width: 761px) {
    .dc-services__grid--home {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 961px) {
    .dc-services__scene {
        grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
    }

    .dc-photo-stack {
        padding-top: 0.8rem;
    }

    .dc-photo-card--secondary {
        width: 72%;
        margin-top: -18%;
        margin-left: auto;
    }

    .dc-story__scene {
        grid-template-columns: minmax(280px, 0.86fr) minmax(0, 1fr);
    }

    .dc-story--home .dc-story__media {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .dc-story--home .dc-story__content {
        grid-column: 2;
    }

    .dc-story--home .dc-story__aside {
        grid-column: 2;
        max-width: 29rem;
    }

    .dc-steps__scene {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 0.9fr);
    }

    .dc-cta--home .dc-cta__panel {
        grid-template-columns: minmax(0, 1.06fr) minmax(280px, 0.94fr);
        align-items: start;
    }

    .dc-cta--home .dc-contact-list {
        grid-column: 2;
    }

    .dc-cta--home .dc-cta__aside {
        max-width: 34rem;
    }
}

@media (max-width: 960px) {
    .dc-hero__inner {
        gap: 1.4rem;
    }

    .dc-home-head__lead {
        max-width: 100%;
    }
}

@media (max-width: 700px) {
    .dc-hero__title {
        max-width: 9ch;
        font-size: clamp(2.05rem, 1.55rem + 3vw, 3rem);
    }

    .dc-hero__lead {
        font-size: 0.98rem;
    }

    .dc-photo-card,
    .dc-story--home .dc-story__media,
    .dc-steps__media,
    .dc-cta--home .dc-cta__panel {
        border-radius: 26px;
    }
}

/* Homepage follow-up 2026-07-08 */

.dc-home-hero {
    padding-top: clamp(12px, 2.4vw, 24px);
    padding-bottom: clamp(16px, 3vw, 30px);
    overflow: clip;
    background: linear-gradient(180deg, rgba(255, 251, 243, 0.98) 0%, rgba(255, 249, 238, 0.9) 100%);
}

.dc-home-hero-slider {
    position: relative;
    overflow: clip;
    background:
        radial-gradient(circle at 10% 30%, rgba(215, 255, 179, 0.32) 0, rgba(215, 255, 179, 0.32) clamp(44px, 6vw, 86px), transparent calc(clamp(44px, 6vw, 86px) + 1px)),
        radial-gradient(circle at 93% 34%, rgba(203, 85, 33, 0.08) 0, rgba(203, 85, 33, 0.08) clamp(26px, 4vw, 54px), transparent calc(clamp(26px, 4vw, 54px) + 1px));
}

.dc-home-hero-slider__viewport {
    position: relative;
    min-height: clamp(430px, 38vw, 600px);
}

.dc-home-hero-slide {
    display: none;
    min-height: inherit;
}

.dc-home-hero-slide.is-active {
    display: grid;
    min-height: inherit;
}

.dc-home-hero-slide__copy-shell {
    position: relative;
    display: flex;
    align-items: center;
    min-height: inherit;
}

.dc-home-hero-slide__copy-shell::after {
    content: "";
    position: absolute;
    left: clamp(14px, 2vw, 34px);
    bottom: clamp(54px, 7vw, 92px);
    width: clamp(18px, 2vw, 28px);
    height: clamp(18px, 2vw, 28px);
    background-image: var(--motif-tree);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.1;
    pointer-events: none;
}

.dc-home-hero-slide__copy {
    width: 100%;
    max-width: none;
    min-height: clamp(310px, 31vw, 470px);
    padding-block: clamp(8px, 1.2vw, 16px);
    display: flex;
    flex-direction: column;
}

.dc-home-hero-slide__title {
    margin: 0;
    color: var(--logo-green);
    font-family: "Baloo 2", sans-serif;
    max-width: none;
    font-size: clamp(2.55rem, 1.7rem + 2.35vw, 4.05rem);
    line-height: 0.92;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

.dc-home-hero-slide__lead {
    max-width: min(100%, 37rem);
    margin-top: 1rem;
    color: var(--text-soft);
    font-size: clamp(1rem, 0.95rem + 0.18vw, 1.12rem);
}

.dc-home-hero-slide__lead p {
    margin: 0;
}

.dc-home-hero-slide__actions {
    margin-top: auto;
    padding-top: 1.45rem;
}

.dc-home-hero-slide__visual {
    position: relative;
    min-height: inherit;
    display: flex;
    align-items: center;
    padding-left: 0;
}

.dc-home-hero-slide__visual::before {
    display: none;
}

.dc-home-hero-slide__media {
    position: relative;
    z-index: 1;
    margin: 0;
    width: 100%;
    height: clamp(310px, 31vw, 470px);
    overflow: hidden;
    border-radius: 34px 0 0 34px;
    box-shadow: 0 10px 24px rgba(15, 91, 53, 0.08);
}

.dc-home-hero-slide__brand-motif {
    position: absolute;
    left: clamp(18px, 2.2vw, 30px);
    bottom: clamp(18px, 2.2vw, 30px);
    z-index: 2;
    pointer-events: none;
    filter: drop-shadow(0 4px 12px rgba(15, 91, 53, 0.12));
}

.dc-home-hero-slide__brand-motif img {
    display: block;
    width: auto;
    height: clamp(64px, 6vw, 88px);
}

.dc-home-hero-slide__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.dc-home-hero-slider__dots {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: clamp(8px, 1.6vw, 16px);
}

.dc-home-hero-slider__dot {
    width: 0.78rem;
    height: 0.78rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(0, 102, 51, 0.16);
    transition: transform var(--ease), background-color var(--ease), width var(--ease);
}

.dc-home-hero-slider__dot.is-active {
    width: 1.9rem;
    background: var(--logo-green);
}

.dc-home-hero-slider__dot:hover,
.dc-home-hero-slider__dot:focus-visible {
    transform: translateY(-1px);
}

.dc-home-hero-slider__dot:focus-visible {
    outline: 2px solid var(--logo-orange);
    outline-offset: 3px;
}

.dc-services--home .dc-home-head__lead,
.dc-story--home .dc-home-head__lead,
.dc-home-recruit .dc-home-head__lead,
.dc-cta--home .dc-home-head__lead {
    max-width: 24ch;
    font-size: clamp(1.92rem, 1.58rem + 1.02vw, 2.68rem);
    line-height: 1.03;
}

.dc-services--home {
    padding-top: clamp(18px, 3.5vw, 38px);
}

.dc-story__media-stack {
    position: relative;
    padding: 0 0 clamp(30px, 4vw, 40px) clamp(10px, 1vw, 14px);
}

.dc-story__quote-card {
    position: absolute;
    left: 0;
    bottom: 0;
    max-width: min(90%, 20rem);
    margin: 0;
    padding: clamp(16px, 2vw, 22px);
    border-radius: 24px;
    background: rgba(215, 255, 179, 0.92);
    box-shadow: 0 16px 36px rgba(15, 91, 53, 0.12);
}

.dc-story__quote-card p,
.dc-story__quote-card cite {
    margin: 0;
}

.dc-story__quote-card p {
    color: var(--logo-green);
    font-family: "Baloo 2", sans-serif;
    font-size: clamp(1.55rem, 1rem + 1.2vw, 2.15rem);
    font-weight: 800;
    line-height: 1.02;
}

.dc-story__quote-card cite {
    display: inline-block;
    margin-top: 0.7rem;
    color: var(--logo-orange);
    font-family: "Baloo 2", sans-serif;
    font-size: 0.92rem;
    font-style: normal;
    font-weight: 700;
}

.dc-story__actions {
    margin-top: 1.25rem;
}

.dc-home-recruit {
    padding-top: clamp(34px, 6vw, 68px);
}

.dc-home-recruit__panel {
    display: grid;
    gap: clamp(22px, 3vw, 34px);
    align-items: center;
    padding: clamp(22px, 4vw, 38px);
    border-radius: 34px;
    background: rgba(255, 250, 241, 0.98);
    box-shadow: 0 18px 38px rgba(15, 91, 53, 0.08);
}

.dc-home-recruit__panel + .dc-home-recruit__panel {
    margin-top: clamp(20px, 3vw, 28px);
}

.dc-home-recruit__panel--alt {
    background: rgba(240, 247, 229, 0.96);
}

.dc-home-recruit__copy {
    max-width: 38rem;
}

.dc-home-recruit__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.2rem;
}

.dc-home-recruit__media {
    overflow: hidden;
    border-radius: 30px;
    background: rgba(215, 255, 179, 0.42);
    box-shadow: 0 18px 42px rgba(15, 91, 53, 0.08);
}

.dc-home-recruit__media img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.dc-cta--home .dc-contact-list {
    grid-template-columns: minmax(0, 1fr);
}

.dc-footer__brand {
    gap: 0.8rem;
}

.dc-footer__tagline {
    margin: 0;
    max-width: 14rem;
    color: rgba(255, 253, 245, 0.74);
    font-size: 0.98rem;
    line-height: 1.5;
}

.dc-footer__contact {
    gap: 0.9rem;
}

.dc-footer__contact-item {
    line-height: 1.45;
}

.dc-footer__contact-item--address {
    gap: 0.12rem;
}

@media (min-width: 961px) {
    .dc-home-hero-slide.is-active {
        grid-template-columns: minmax(0, 1fr) minmax(48vw, 56vw);
        align-items: center;
    }

    .dc-story--home .dc-story__scene {
        grid-template-columns: minmax(320px, 0.92fr) minmax(0, 1fr);
        align-items: center;
    }

    .dc-story--home .dc-story__content {
        max-width: 42rem;
    }

    .dc-home-recruit__panel {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.95fr);
    }

    .dc-home-recruit__panel--alt {
        grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1fr);
    }

    .dc-cta--home .dc-cta__panel {
        grid-template-columns: minmax(0, 1.04fr) minmax(340px, 0.96fr);
        gap: clamp(22px, 2.4vw, 32px);
        align-items: start;
    }

    .dc-cta--home .dc-cta__copy {
        grid-column: 1;
        grid-row: 1 / span 2;
        align-self: start;
    }

    .dc-cta--home .dc-contact-list {
        grid-column: 2;
        grid-row: 1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: clamp(20px, 2vw, 28px);
        row-gap: clamp(12px, 1.4vw, 18px);
        min-height: clamp(190px, 16vw, 238px);
        align-content: start;
        align-self: start;
        padding-top: 2px;
    }

    .dc-cta--home .dc-cta__aside {
        grid-column: 2;
        grid-row: 2;
        max-width: none;
        width: 100%;
        align-self: start;
    }
}

@media (max-width: 960px) {
    .dc-home-hero-slider__viewport {
        min-height: auto;
    }

    .dc-home-hero-slide.is-active {
        grid-template-columns: minmax(0, 1fr);
    }

    .dc-home-hero-slide__visual {
        min-height: auto;
        padding-top: 0.25rem;
        padding-left: var(--shell-pad);
        padding-right: var(--shell-pad);
    }

    .dc-home-hero-slide__visual::before {
        content: "";
        position: absolute;
        display: block;
        inset: 8px var(--shell-pad) 0 var(--shell-pad);
        border-radius: 28px;
        background: rgba(215, 255, 179, 0.68);
    }

    .dc-home-hero-slide__media {
        height: clamp(240px, 62vw, 340px);
        border-radius: 28px;
    }

    .dc-home-hero-slide__brand-motif {
        left: 14px;
        bottom: 14px;
    }

    .dc-home-hero-slide__brand-motif img {
        height: 58px;
    }

    .dc-home-hero-slide__title {
        font-size: clamp(2.3rem, 1.72rem + 2.6vw, 3.3rem);
    }
}

@media (max-width: 700px) {
    .dc-home-recruit__panel {
        border-radius: 28px;
    }

    .dc-home-hero-slide__title {
        font-size: clamp(2.15rem, 1.72rem + 2.2vw, 2.9rem);
    }

    .dc-home-hero-slide__copy {
        min-height: auto;
        padding-block: 0;
    }

    .dc-home-hero-slide__copy-shell::after {
        display: none;
    }

    .dc-home-hero-slider__dots {
        margin-top: 0.35rem;
    }

    .dc-home-recruit__actions .dc-button {
        width: 100%;
    }

    .dc-story__quote-card {
        position: static;
        max-width: 100%;
        margin-top: 1rem;
    }

    .dc-story__media-stack {
        padding: 0;
    }
}

/* Homepage why-section refinement 2026-07-08 */

.dc-services--home {
    position: relative;
    overflow: clip;
}

.dc-services--home .dc-shell {
    position: relative;
    width: min(100%, calc(1780px + (var(--shell-pad) * 2)));
}

.dc-services--club .dc-shell {
    width: min(100%, calc(1780px + (var(--shell-pad) * 2)));
}

.dc-services--home .dc-shell::before,
.dc-services--home .dc-shell::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.dc-services--home .dc-shell::before {
    top: clamp(148px, 16vw, 230px);
    left: clamp(-34px, -1vw, -10px);
    width: clamp(120px, 14vw, 190px);
    height: clamp(120px, 14vw, 190px);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(215, 255, 179, 0.42) 0%, rgba(215, 255, 179, 0.16) 54%, transparent 72%);
}

.dc-services--home .dc-shell::after {
    top: clamp(34px, 4vw, 68px);
    right: clamp(12px, 4vw, 54px);
    width: clamp(54px, 6vw, 84px);
    height: clamp(54px, 6vw, 84px);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(203, 85, 33, 0.1) 0%, rgba(203, 85, 33, 0) 72%);
}

.dc-services--home .dc-services__scene {
    position: relative;
    z-index: 1;
    gap: clamp(20px, 2.4vw, 34px);
    align-items: start;
}

.dc-services--home .dc-services__copy {
    display: grid;
    gap: clamp(22px, 2.8vw, 34px);
    max-width: 46rem;
}

.dc-services--home .dc-home-head__lead {
    max-width: 28ch;
    text-wrap: pretty;
}

.dc-services--home .dc-home-head__intro {
    max-width: 54rem;
    margin-top: 0.75rem;
}

.dc-services--home .dc-services__grid--home {
    display: grid;
    gap: clamp(14px, 1.7vw, 20px);
}

.dc-services--home .dc-service-item--home {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-content: start;
    min-height: 100%;
    padding: clamp(20px, 2.1vw, 26px);
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 28px;
    background: rgba(215, 255, 179, 0.52);
    box-shadow: 0 16px 34px rgba(15, 91, 53, 0.05);
}

.dc-services--home .dc-service-item--home::after {
    display: none;
}

.dc-services--home .dc-service-item__header {
    position: relative;
    z-index: 1;
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: flex-start;
    gap: 1rem;
}

.dc-services--home .dc-service-item__motif {
    position: relative;
    z-index: 1;
    flex: none;
    width: auto;
    height: auto;
    margin: 0;
    color: var(--logo-green);
}

.dc-services--home .dc-service-item__motif svg {
    display: block;
    width: 1.35rem;
    height: 1.35rem;
}

.dc-services--home .dc-service-item__header h3,
.dc-services--home .dc-service-item--home h3 {
    grid-column: auto;
    min-width: 0;
    max-width: 16ch;
    margin: 0;
    font-size: clamp(1.12rem, 1rem + 0.55vw, 1.48rem);
    line-height: 1.08;
}

.dc-services--home .dc-service-item--home > p.dc-service-item__description {
    position: relative;
    z-index: 1;
    grid-column: 1 / -1;
    margin: 0;
    width: 100%;
    max-width: none;
    color: rgba(11, 77, 45, 0.9);
    line-height: 1.72;
}

.dc-services--home .dc-photo-stack {
    position: relative;
    display: grid;
    gap: 0;
    align-self: start;
    padding: clamp(8px, 1vw, 14px) 0 clamp(22px, 5vw, 48px);
}

.dc-services--home .dc-photo-stack::before,
.dc-services--home .dc-photo-stack::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.dc-services--home .dc-photo-stack::before {
    top: 0;
    right: 7%;
    width: clamp(130px, 18vw, 228px);
    height: clamp(130px, 18vw, 228px);
    border-radius: 42px;
    background: radial-gradient(circle, rgba(215, 255, 179, 0.34) 0%, rgba(215, 255, 179, 0.14) 56%, transparent 72%);
    filter: blur(10px);
}

.dc-services--home .dc-photo-stack::after {
    left: 10%;
    bottom: 0;
    width: clamp(84px, 10vw, 118px);
    height: clamp(84px, 10vw, 118px);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 250, 241, 0.94) 0%, rgba(255, 250, 241, 0) 72%);
}

.dc-services--home .dc-photo-stack__grid {
    --collage-gap: clamp(12px, 1.45vw, 18px);
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--collage-gap);
    width: min(100%, 52rem);
    margin-left: auto;
}

.dc-services--home .dc-photo-card {
    position: relative;
    overflow: hidden;
    padding: clamp(6px, 0.55vw, 8px);
    border-radius: 30px;
    border: 1px solid rgba(0, 102, 51, 0.07);
    background: rgba(255, 253, 247, 0.98);
    box-shadow: 0 22px 48px rgba(15, 91, 53, 0.1);
}

.dc-services--home .dc-photo-card--stack {
    width: calc((100% - var(--collage-gap)) / 2);
}

.dc-services--home .dc-photo-card img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: calc(30px - 8px);
    object-fit: cover;
    transition: transform var(--ease);
}

.dc-services--home .dc-photo-card--stack img {
    aspect-ratio: 1.26 / 1;
}

.dc-services--home .dc-photo-card--stack-1 {
    transform: rotate(-2.4deg);
}

.dc-services--home .dc-photo-card--stack-2 {
    transform: rotate(2.6deg);
}

.dc-services--home .dc-photo-card--stack-3 {
    transform: rotate(-1.8deg);
}

.dc-services--home .dc-photo-card--stack-4 {
    transform: rotate(1.8deg);
}

.dc-services--home .dc-photo-stack__grid[data-count="3"] .dc-photo-card--stack:nth-child(3) {
    margin-inline: auto;
    margin-top: calc(var(--collage-gap) * -0.65);
}

.dc-services--home .dc-photo-stack__grid[data-count="4"] .dc-photo-card--stack:nth-child(n + 3) {
    margin-top: calc(var(--collage-gap) * -0.45);
}

.dc-services--home .dc-photo-stack:hover img {
    transform: scale(1.03);
}

@media (min-width: 761px) {
    .dc-services--home .dc-services__grid--home {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 961px) {
    .dc-services--home .dc-services__scene {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .dc-services--home .dc-photo-stack {
        padding-left: clamp(8px, 1vw, 16px);
    }

    .dc-services--home .dc-photo-stack__grid {
        width: min(100%, 44rem);
        margin-inline: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .dc-services--home .dc-photo-card--stack {
        width: calc((100% - var(--collage-gap)) / 2);
        min-width: 0;
    }

    .dc-services--home .dc-photo-stack__grid[data-count="3"] .dc-photo-card--stack:nth-child(3) {
        margin-inline: auto;
        margin-top: calc(var(--collage-gap) * -1.2);
    }

    .dc-services--home .dc-photo-stack__grid[data-count="4"] .dc-photo-card--stack:nth-child(3),
    .dc-services--home .dc-photo-stack__grid[data-count="4"] .dc-photo-card--stack:nth-child(4) {
        margin-top: calc(var(--collage-gap) * -0.8);
    }
}

@media (max-width: 960px) {
    .dc-services--home .dc-home-head__lead {
        max-width: 20ch;
        font-size: clamp(1.88rem, 1.56rem + 1.22vw, 2.34rem);
    }

    .dc-services--home .dc-services__grid--home {
        grid-template-columns: minmax(0, 1fr);
    }

    .dc-services--home .dc-photo-stack {
        max-width: 42rem;
        margin-inline: auto;
    }
}

@media (max-width: 700px) {
    .dc-services--home .dc-shell::before {
        left: -42px;
        top: 210px;
        width: 108px;
        height: 108px;
    }

    .dc-services--home .dc-service-item--home {
        padding: 18px 17px;
        border-radius: 24px;
    }

    .dc-services--home .dc-home-head__lead {
        max-width: 17ch;
        font-size: clamp(1.84rem, 1.5rem + 1.35vw, 2.18rem);
    }

    .dc-services--home .dc-service-item__header h3 {
        max-width: 100%;
    }

    .dc-services--home .dc-photo-stack {
        padding: 6px 0 18px;
    }

    .dc-services--home .dc-photo-card {
        border-radius: 24px;
    }

    .dc-services--home .dc-photo-card img {
        border-radius: calc(24px - 7px);
    }

    .dc-services--home .dc-photo-stack__grid {
        width: min(100%, 24.5rem);
        --collage-gap: 10px;
    }

    .dc-services--home .dc-photo-card--stack img {
        aspect-ratio: 1.14 / 1;
    }
}

/* Legal and footer polish 2026-07-08 */

.dc-header {
    background: var(--logo-bg);
    backdrop-filter: none;
}

.dc-header__panel {
    background: transparent;
    box-shadow: none;
}

body.dc-cookie-visible {
    padding-bottom: clamp(184px, 20vw, 236px);
}

.dc-simple-page {
    padding-top: clamp(58px, 8vw, 92px);
    padding-bottom: clamp(76px, 10vw, 120px);
}

.dc-simple-page__inner {
    max-width: 58rem;
    gap: clamp(18px, 2.6vw, 24px);
    padding: clamp(22px, 3.2vw, 40px);
    border: 1px solid rgba(0, 102, 51, 0.12);
    border-radius: 34px;
    background: #fffaf1;
    box-shadow: 0 20px 52px rgba(15, 91, 53, 0.08);
}

.dc-simple-page .dc-kicker {
    display: block;
    color: var(--logo-orange);
}

.dc-simple-page h1 {
    margin: 0;
    max-width: 17ch;
    font-size: clamp(2.18rem, 1.88rem + 1.7vw, 3.56rem);
    line-height: 1.04;
    color: var(--logo-green);
}

.dc-simple-page .dc-prose {
    display: grid;
    gap: 0.95rem;
    color: rgba(15, 91, 53, 0.82);
    overflow-wrap: anywhere;
}

.dc-simple-page .dc-prose h2,
.dc-simple-page .dc-prose h3 {
    margin: 0.7rem 0 0;
    color: var(--logo-green);
    font-family: "Baloo 2", sans-serif;
    font-weight: 700;
    line-height: 1.08;
}

.dc-simple-page .dc-prose h2 {
    font-size: clamp(1.46rem, 1.24rem + 0.92vw, 2.04rem);
}

.dc-simple-page .dc-prose h3 {
    font-size: clamp(1.22rem, 1.1rem + 0.52vw, 1.52rem);
}

.dc-simple-page .dc-prose p,
.dc-simple-page .dc-prose li {
    font-size: 1.02rem;
}

.dc-simple-page .dc-prose a {
    color: var(--logo-green);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

.dc-simple-page .dc-prose strong,
.dc-simple-page .dc-prose code {
    color: var(--logo-green);
}

.dc-simple-page__table-wrap {
    overflow-x: auto;
}

.dc-simple-page table {
    width: 100%;
    min-width: 34rem;
    border-collapse: collapse;
    background: rgba(239, 247, 225, 0.58);
}

.dc-simple-page th,
.dc-simple-page td {
    padding: 0.82rem 0.9rem;
    border: 1px solid rgba(0, 102, 51, 0.12);
    text-align: left;
    vertical-align: top;
}

.dc-simple-page th {
    color: var(--logo-green);
    font-family: "Baloo 2", sans-serif;
    font-weight: 700;
}

.dc-footer {
    position: relative;
    overflow: clip;
    margin-top: clamp(34px, 5vw, 58px);
    padding-top: clamp(40px, 5vw, 56px);
    border-top-left-radius: 42px;
    border-top-right-radius: 42px;
    background: var(--logo-green);
    color: rgba(255, 253, 245, 0.82);
}

.dc-footer::before,
.dc-footer::after {
    content: "";
    position: absolute;
    pointer-events: none;
    opacity: 0.12;
}

.dc-footer::before {
    right: clamp(20px, 5vw, 74px);
    top: clamp(26px, 4vw, 48px);
    width: 126px;
    height: 126px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(215, 255, 179, 0.72) 0%, rgba(215, 255, 179, 0) 70%);
}

.dc-footer::after {
    left: clamp(20px, 4vw, 48px);
    bottom: 34px;
    width: 44px;
    height: 60px;
    background-image: var(--motif-pinecone);
    background-repeat: no-repeat;
    background-size: contain;
}

.dc-footer__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: clamp(24px, 3vw, 42px);
    padding-block: clamp(40px, 5vw, 64px) clamp(22px, 3vw, 30px);
}

.dc-footer__brand {
    display: grid;
    gap: 0.95rem;
    max-width: 24rem;
}

.dc-footer__logo {
    display: inline-flex;
    width: max-content;
}

.dc-brand__mark--footer img {
    width: min(220px, 52vw);
}

.dc-footer__tagline {
    margin: 0;
    color: var(--logo-bg);
    font-family: "Baloo 2", sans-serif;
    font-size: clamp(1.04rem, 0.96rem + 0.26vw, 1.2rem);
    font-weight: 700;
    line-height: 1.1;
    max-width: none;
    white-space: nowrap;
}

.dc-footer__note {
    margin: 0;
    max-width: 24rem;
    color: rgba(255, 253, 245, 0.78);
    line-height: 1.62;
}

.dc-footer__eyebrow {
    display: inline-block;
    margin-bottom: 0.7rem;
    color: var(--logo-bg);
    font-family: "Fredoka", sans-serif;
    font-size: 0.94rem;
    font-weight: 600;
    letter-spacing: 0.03em;
}

.dc-footer__menu {
    display: grid;
    gap: 0.72rem;
}

.dc-footer__menu a {
    color: var(--logo-cream);
    font-family: "Baloo 2", sans-serif;
    font-size: clamp(1.2rem, 1.12rem + 0.24vw, 1.34rem);
    font-weight: 700;
    line-height: 1.08;
}

.dc-footer__contact {
    display: grid;
    gap: 0.9rem;
    min-width: 0;
}

.dc-footer__contact-item {
    display: grid;
    gap: 0.16rem;
    color: inherit;
    line-height: 1.5;
    min-width: 0;
}

.dc-footer__contact-label {
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.92rem;
    font-weight: 600;
}

.dc-footer__contact-value {
    color: var(--logo-cream);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.48;
    overflow-wrap: anywhere;
}

.dc-footer__contact-note {
    color: rgba(255, 253, 245, 0.68);
    font-size: 0.94rem;
}

.dc-footer__bottom {
    display: grid;
    gap: 0.9rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 253, 245, 0.12);
    grid-column: 1 / -1;
}

.dc-footer__meta {
    margin: 0;
    color: rgba(255, 253, 245, 0.68);
    font-size: 0.94rem;
}

.dc-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 0.72rem 1.18rem;
}

.dc-footer__legal a,
.dc-footer__cookie-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--logo-cream);
    font-family: "Nunito", sans-serif;
    font-size: 0.96rem;
    font-weight: 800;
    cursor: pointer;
    transition: color var(--ease);
}

.dc-footer__menu a:hover,
.dc-footer__menu a:focus-visible,
.dc-footer__legal a:hover,
.dc-footer__legal a:focus-visible,
.dc-footer__cookie-button:hover,
.dc-footer__cookie-button:focus-visible,
.dc-footer__contact-item:hover,
.dc-footer__contact-item:focus-visible {
    color: var(--logo-bg);
}

.dc-cookie-banner {
    position: fixed;
    left: clamp(12px, 2vw, 22px);
    right: clamp(12px, 2vw, 22px);
    bottom: clamp(12px, 2vw, 22px);
    z-index: 70;
    width: min(100%, 28.5rem);
    margin-left: auto;
}

.dc-cookie-banner[hidden],
.dc-cookie-banner__settings[hidden] {
    display: none !important;
}

.dc-cookie-banner__shell {
    display: grid;
    gap: 1rem;
    padding: clamp(18px, 2.6vw, 24px);
    border: 1px solid rgba(0, 102, 51, 0.14);
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0%, rgba(215, 255, 179, 0.56), transparent 38%),
        #fffaf1;
    box-shadow: 0 22px 60px rgba(15, 91, 53, 0.16);
}

.dc-cookie-banner__eyebrow {
    margin: 0;
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.92rem;
    font-weight: 600;
}

.dc-cookie-banner__title {
    margin: 0;
    color: var(--logo-green);
    font-family: "Baloo 2", sans-serif;
    font-size: clamp(1.58rem, 1.32rem + 0.92vw, 2rem);
    font-weight: 700;
    line-height: 1.04;
}

.dc-cookie-banner__text {
    margin: 0;
    color: rgba(15, 91, 53, 0.8);
    font-size: 0.98rem;
    line-height: 1.58;
}

.dc-cookie-banner__actions,
.dc-cookie-banner__settings-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.72rem;
    align-items: center;
}

.dc-cookie-banner__toggle,
.dc-cookie-banner__link {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--logo-green);
    font-family: "Nunito", sans-serif;
    font-size: 0.96rem;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
    cursor: pointer;
}

.dc-cookie-banner__settings {
    display: grid;
    gap: 0.78rem;
}

.dc-cookie-option {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.92rem;
    align-items: center;
    padding: 0.92rem 1rem;
    border-radius: 22px;
    background: rgba(239, 247, 225, 0.82);
    border: 1px solid rgba(0, 102, 51, 0.1);
}

.dc-cookie-option.is-required {
    background: rgba(215, 255, 179, 0.44);
}

.dc-cookie-option__copy {
    display: grid;
    gap: 0.24rem;
}

.dc-cookie-option__copy h3 {
    margin: 0;
    color: var(--logo-green);
    font-family: "Baloo 2", sans-serif;
    font-size: 1.06rem;
    font-weight: 700;
    line-height: 1.05;
}

.dc-cookie-option__copy p {
    margin: 0;
    color: rgba(15, 91, 53, 0.74);
    font-size: 0.92rem;
    line-height: 1.48;
}

.dc-cookie-switch {
    position: relative;
    display: inline-flex;
    width: 3rem;
    height: 1.82rem;
}

.dc-cookie-switch input {
    position: absolute;
    inset: 0;
    opacity: 0;
    margin: 0;
}

.dc-cookie-switch__track {
    position: relative;
    flex: 1;
    border-radius: 999px;
    background: rgba(0, 102, 51, 0.18);
    transition: background-color var(--ease);
}

.dc-cookie-switch__track::after {
    content: "";
    position: absolute;
    left: 0.2rem;
    top: 0.2rem;
    width: 1.42rem;
    height: 1.42rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 10px rgba(15, 91, 53, 0.14);
    transition: transform var(--ease);
}

.dc-cookie-switch input:checked + .dc-cookie-switch__track {
    background: var(--logo-green);
}

.dc-cookie-switch input:checked + .dc-cookie-switch__track::after {
    transform: translateX(1.18rem);
}

.dc-cookie-switch input:focus-visible + .dc-cookie-switch__track {
    outline: 2px solid var(--logo-orange);
    outline-offset: 3px;
}

.dc-cookie-switch input:disabled + .dc-cookie-switch__track {
    background: rgba(0, 102, 51, 0.42);
}

@media (min-width: 961px) {
    .dc-footer__inner {
        grid-template-columns: minmax(0, 1fr) minmax(170px, 0.42fr) minmax(250px, 0.74fr);
        align-items: start;
    }

    .dc-footer__bottom {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .dc-cookie-banner {
        left: auto;
    }
}

@media (max-width: 700px) {
    body.dc-cookie-visible {
        padding-bottom: clamp(250px, 52vw, 320px);
    }

    .dc-simple-page__inner {
        padding: 20px 18px;
        border-radius: 28px;
    }

    .dc-simple-page table {
        min-width: 31rem;
    }

    .dc-footer {
        border-top-left-radius: 34px;
        border-top-right-radius: 34px;
    }

    .dc-footer::after {
        width: 34px;
        height: 46px;
    }

    .dc-footer__legal,
    .dc-cookie-banner__actions,
    .dc-cookie-banner__settings-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .dc-cookie-banner {
        width: auto;
    }

    .dc-cookie-option {
        grid-template-columns: minmax(0, 1fr);
    }

    .dc-cookie-switch {
        margin-left: auto;
    }
}

/* Subpage system 2026-07-08 */

.dc-hero:not(.dc-hero--home) {
    padding-top: clamp(28px, 4vw, 48px);
}

.dc-hero:not(.dc-hero--home) .dc-hero__inner {
    gap: clamp(28px, 4vw, 52px);
    align-items: center;
}

.dc-hero:not(.dc-hero--home) .dc-hero__visual {
    order: 0;
}

.dc-hero:not(.dc-hero--home) .dc-hero__copy {
    max-width: 43rem;
}

.dc-hero:not(.dc-hero--home) .dc-hero__title {
    max-width: 12.5ch;
    font-size: clamp(2.1rem, 1.72rem + 1.45vw, 3.45rem);
    line-height: 1.04;
    text-wrap: pretty;
}

.dc-hero:not(.dc-hero--home) .dc-hero__lead {
    max-width: 34rem;
    color: var(--text-soft);
}

.dc-hero:not(.dc-hero--home) .dc-hero__actions {
    margin-top: clamp(18px, 2vw, 26px);
}

.dc-hero:not(.dc-hero--home) .dc-hero__facts {
    gap: 0.65rem 1rem;
}

.dc-hero:not(.dc-hero--home) .dc-hero__stage {
    min-height: clamp(330px, 40vw, 520px);
    padding: clamp(18px, 2.2vw, 24px);
    border-radius: 38px;
    background: linear-gradient(180deg, rgba(239, 247, 225, 0.95) 0%, rgba(239, 247, 225, 0.78) 100%);
    box-shadow: 0 28px 56px rgba(15, 91, 53, 0.1);
}

.dc-hero:not(.dc-hero--home) .dc-hero__stage::before {
    top: clamp(16px, 2vw, 24px);
    right: clamp(16px, 2vw, 28px);
    left: auto;
    width: clamp(110px, 14vw, 180px);
    height: clamp(110px, 14vw, 180px);
    background: rgba(255, 250, 241, 0.82);
}

.dc-hero:not(.dc-hero--home) .dc-hero__stage::after {
    right: clamp(24px, 5vw, 48px);
    bottom: clamp(20px, 2vw, 28px);
    left: auto;
    top: auto;
    width: clamp(120px, 16vw, 190px);
    height: clamp(120px, 16vw, 190px);
    background: radial-gradient(circle, rgba(215, 255, 179, 0.55) 0%, rgba(215, 255, 179, 0) 70%);
}

.dc-hero:not(.dc-hero--home) .dc-hero__stage-note,
.dc-hero:not(.dc-hero--home) .dc-hero__wordmark,
.dc-hero:not(.dc-hero--home) .dc-hero__frame--2,
.dc-hero:not(.dc-hero--home) .dc-hero__frame--3,
.dc-hero:not(.dc-hero--home) .dc-hero__shape--paper {
    display: none;
}

.dc-hero:not(.dc-hero--home) .dc-hero__shape--lime {
    top: auto;
    left: clamp(18px, 2vw, 24px);
    bottom: clamp(24px, 2vw, 28px);
    width: clamp(120px, 14vw, 170px);
    height: clamp(120px, 14vw, 170px);
    border-radius: 50%;
    opacity: 0.42;
}

.dc-hero:not(.dc-hero--home) .dc-hero__frame {
    inset: clamp(14px, 1.4vw, 18px);
    padding: clamp(6px, 0.55vw, 8px);
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 30px;
    background: rgba(255, 253, 247, 0.98);
    box-shadow: 0 16px 40px rgba(15, 91, 53, 0.11);
}

.dc-hero:not(.dc-hero--home) .dc-hero__frame--1 {
    inset: clamp(14px, 1.4vw, 18px);
    width: auto;
    height: auto;
    transform: none;
}

.dc-hero:not(.dc-hero--home) .dc-hero__frame img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1.18 / 1;
    border-radius: 24px;
    object-fit: cover;
}

.dc-section-heading {
    max-width: none;
    width: 100%;
    margin-bottom: clamp(22px, 3vw, 38px);
}

.dc-section-heading__title {
    max-width: none;
    width: 100%;
    font-size: clamp(1.62rem, 1.32rem + 0.82vw, 2.24rem);
    line-height: 1.08;
    text-wrap: pretty;
}

.dc-section-heading__intro {
    max-width: none;
    color: var(--text-soft);
}

.dc-story:not(.dc-story--home) {
    padding-top: clamp(16px, 2vw, 24px);
}

.dc-story:not(.dc-story--home) .dc-story__inner {
    padding: 0;
    gap: clamp(24px, 4vw, 48px);
    border-radius: 0;
    background: transparent;
    align-items: start;
}

.dc-story:not(.dc-story--home) .dc-story__content {
    display: grid;
    gap: clamp(12px, 1.8vw, 18px);
    max-width: none;
}

.dc-story:not(.dc-story--home) .dc-story__quote {
    max-width: 28rem;
    margin-top: 0.25rem;
    padding: 1.2rem 1.35rem;
    border-radius: 24px;
    background: rgba(215, 255, 179, 0.55);
}

.dc-story:not(.dc-story--home) .dc-story__quote p {
    font-size: clamp(1.5rem, 1.14rem + 1.05vw, 2rem);
    line-height: 1.08;
}

.dc-story:not(.dc-story--home) .dc-story__quote cite {
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
}

.dc-story:not(.dc-story--home) .dc-story__media {
    overflow: hidden;
    padding: 6px;
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 34px;
    background: rgba(255, 253, 247, 0.98);
    box-shadow: 0 22px 44px rgba(15, 91, 53, 0.09);
}

.dc-story:not(.dc-story--home) .dc-story__media img {
    aspect-ratio: 1.08 / 1;
    border-radius: 28px;
    object-fit: cover;
}

.dc-story:not(.dc-story--home) .dc-story__aside {
    grid-column: auto;
    width: 100%;
    max-width: none;
    padding: clamp(22px, 3vw, 30px);
    border-radius: 30px;
    background: rgba(239, 247, 225, 0.96);
    box-shadow: none;
}

.dc-story:not(.dc-story--home) .dc-story__aside h3 {
    font-size: clamp(1.45rem, 1.18rem + 0.8vw, 1.92rem);
    line-height: 1.08;
}

.dc-services:not(.dc-services--home) {
    padding-top: clamp(18px, 2.4vw, 28px);
}

.dc-services:not(.dc-services--home) .dc-services__scene--subpage {
    display: grid;
    gap: clamp(24px, 3vw, 40px);
    align-items: start;
}

.dc-services:not(.dc-services--home) .dc-services__copy {
    display: grid;
    gap: clamp(18px, 2.4vw, 30px);
}

.dc-services--club .dc-services__copy {
    max-width: 46rem;
}

.dc-services:not(.dc-services--home) .dc-services__strap {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.dc-services:not(.dc-services--home) .dc-services__strap span {
    padding: 0.32rem 0.78rem 0.22rem;
    border-radius: 999px;
    background: rgba(215, 255, 179, 0.58);
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
}

.dc-services:not(.dc-services--home) .dc-services__grid {
    display: grid;
    gap: clamp(14px, 1.8vw, 20px);
}

.dc-services:not(.dc-services--home) .dc-service-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    min-height: 100%;
    padding: clamp(20px, 2.2vw, 26px);
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 28px;
    background: rgba(215, 255, 179, 0.62);
    box-shadow: 0 16px 34px rgba(15, 91, 53, 0.05);
}

.dc-services:not(.dc-services--home) .dc-service-item:nth-child(1),
.dc-services:not(.dc-services--home) .dc-service-item:nth-child(2),
.dc-services:not(.dc-services--home) .dc-service-item:nth-child(3),
.dc-services:not(.dc-services--home) .dc-service-item:nth-child(4),
.dc-services:not(.dc-services--home) .dc-service-item:nth-child(2n),
.dc-services:not(.dc-services--home) .dc-service-item:nth-child(3n) {
    margin-top: 0;
    border-radius: 28px;
    background: rgba(215, 255, 179, 0.62);
}

.dc-services:not(.dc-services--home) .dc-service-item__header {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
    margin-bottom: 0.1rem;
}

.dc-services:not(.dc-services--home) .dc-service-item h3 {
    margin: 0;
    width: 100%;
    max-width: none;
    font-size: clamp(1.08rem, 0.96rem + 0.5vw, 1.42rem);
    line-height: 1.24;
}

.dc-services:not(.dc-services--home) .dc-service-item__motif {
    width: auto;
    height: auto;
    margin: 0;
    color: var(--logo-green);
}

.dc-services:not(.dc-services--home) .dc-service-item__motif svg {
    display: block;
    width: 1.35rem;
    height: 1.35rem;
}

.dc-services:not(.dc-services--home) .dc-service-item__description {
    margin: 0;
    width: 100%;
    max-width: none;
    color: rgba(11, 77, 45, 0.9);
    font-size: 0.98rem;
    line-height: 1.7;
}

.dc-services:not(.dc-services--home) .dc-service-item__meta {
    width: max-content;
    margin-top: 0.35rem;
    padding: 0.28rem 0.78rem 0.18rem;
    border-radius: 999px;
    background: rgba(255, 250, 241, 0.82);
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.86rem;
    font-weight: 600;
}

.dc-curated-section {
    padding-top: clamp(16px, 2.8vw, 30px);
}

.dc-curated-section .dc-section-heading {
    max-width: min(100%, 58rem);
}

.dc-curated-grid,
.dc-curated-dual,
.dc-curated-split {
    display: grid;
    gap: clamp(16px, 2vw, 24px);
    align-items: start;
}

.dc-curated-card,
.dc-curated-step-card,
.dc-curated-fact-card,
.dc-curated-post-card,
.dc-curated-profile-card,
.dc-curated-note {
    padding: clamp(20px, 2.2vw, 28px);
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 28px;
    background: rgba(239, 247, 225, 0.9);
    box-shadow: 0 16px 36px rgba(15, 91, 53, 0.05);
}

.dc-curated-card,
.dc-curated-step-card,
.dc-curated-post-card,
.dc-curated-profile-card {
    display: grid;
    gap: 0.95rem;
}

.dc-curated-split__copy {
    max-width: 44rem;
}

.dc-curated-card__top,
.dc-curated-profile-card__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
}

.dc-curated-card h3,
.dc-curated-step-card h3,
.dc-curated-fact-card h3,
.dc-curated-post-card h3,
.dc-curated-profile-card h3,
.dc-curated-note h3 {
    margin: 0;
    color: var(--logo-green);
    font-family: "Baloo 2", sans-serif;
    font-size: clamp(1.22rem, 1.04rem + 0.5vw, 1.58rem);
    line-height: 1.15;
}

.dc-curated-card p,
.dc-curated-step-card p,
.dc-curated-fact-card p,
.dc-curated-post-card p,
.dc-curated-profile-card p,
.dc-curated-note p {
    margin: 0;
    color: rgba(11, 77, 45, 0.88);
    line-height: 1.66;
}

.dc-curated-list {
    display: grid;
    gap: 0.72rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dc-curated-list li {
    position: relative;
    padding-left: 1.5rem;
    color: rgba(11, 77, 45, 0.88);
    line-height: 1.62;
}

.dc-curated-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.38rem;
    width: 0.78rem;
    height: 0.78rem;
    background-image: var(--motif-tree);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.dc-curated-step-card {
    min-height: 100%;
}

.dc-curated-step-card__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
}

.dc-curated-step-card__number,
.dc-curated-note__eyebrow,
.dc-curated-profile-card__role {
    margin: 0;
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dc-curated-fact-card {
    display: grid;
    gap: 0.7rem;
    min-height: 100%;
}

.dc-curated-post-card .dc-button {
    margin-top: 0.15rem;
    justify-self: start;
}

.dc-curated-post-card .dc-button--small {
    min-height: auto;
    padding: 0.88rem 1.15rem;
    border-radius: 999px;
}

.dc-curated-note {
    display: grid;
    gap: 0.85rem;
    background: rgba(255, 250, 241, 0.98);
}

.dc-curated-note a {
    color: var(--logo-green);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.15em;
}

.dc-curated-photo {
    overflow: hidden;
    padding: 8px;
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 34px;
    background: rgba(255, 253, 247, 0.98);
    box-shadow: 0 22px 44px rgba(15, 91, 53, 0.09);
}

.dc-curated-photo img {
    width: 100%;
    aspect-ratio: 1.15 / 1;
    border-radius: 28px;
    object-fit: cover;
}

.dc-curated-profile-card {
    background: rgba(255, 250, 241, 0.98);
}

.dc-team-list {
    display: grid;
    gap: clamp(18px, 2.6vw, 30px);
}

.dc-about-team {
    padding-top: clamp(10px, 1.6vw, 18px);
}

.dc-team-list--about {
    gap: 0;
    margin-top: clamp(28px, 4vw, 54px);
}

.dc-team-list--about .dc-team-person {
    gap: clamp(26px, 4.8vw, 72px);
    padding: clamp(28px, 4.2vw, 58px) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.dc-team-list--about .dc-team-person:first-child {
    padding-top: 0;
}

.dc-team-list--about .dc-team-person:last-child {
    padding-bottom: 0;
}

.dc-team-list--about .dc-team-person + .dc-team-person {
    border-top: 1px solid rgba(0, 102, 51, 0.12);
}

.dc-team-list--about .dc-team-person__copy {
    gap: clamp(12px, 1.5vw, 20px);
    align-content: center;
}

.dc-team-list--about .dc-team-person h3 {
    font-size: clamp(2rem, 1.55rem + 1.25vw, 3rem);
}

.dc-team-list--about .dc-team-person__copy .dc-prose {
    max-width: 44rem;
    font-size: clamp(1rem, 0.94rem + 0.2vw, 1.1rem);
}

.dc-team-list--about .dc-team-person__media {
    justify-self: center;
    width: min(100%, 31rem);
}

.dc-team-list--about .dc-team-person__media img {
    aspect-ratio: 4 / 5;
    object-position: center 18%;
}

.dc-team-list--about .dc-team-person--reverse .dc-team-person__media {
    order: -1;
}

.dc-about-team .dc-section-heading {
    max-width: min(100%, 62rem);
}

.dc-about-team__carousel {
    display: grid;
    gap: clamp(16px, 2vw, 24px);
}

.dc-about-team__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.dc-about-team__control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.9rem;
    height: 2.9rem;
    padding: 0;
    border: 1px solid rgba(0, 102, 51, 0.12);
    border-radius: 999px;
    background: rgba(255, 250, 241, 0.96);
    color: var(--logo-green);
    box-shadow: 0 10px 24px rgba(15, 91, 53, 0.08);
    transition: transform var(--ease), background-color var(--ease), color var(--ease), opacity var(--ease);
}

.dc-about-team__control:hover,
.dc-about-team__control:focus-visible {
    transform: translateY(-1px);
    background: rgba(215, 255, 179, 0.78);
    color: var(--logo-orange);
}

.dc-about-team__control:focus-visible {
    outline: 2px solid var(--logo-orange);
    outline-offset: 3px;
}

.dc-about-team__control[disabled] {
    opacity: 0.42;
    cursor: default;
    transform: none;
}

.dc-about-team__dots {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.55rem;
    flex: 1 1 auto;
}

.dc-about-team__dot {
    width: 0.78rem;
    height: 0.78rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(0, 102, 51, 0.16);
    transition: transform var(--ease), background-color var(--ease), width var(--ease);
}

.dc-about-team__dot.is-active {
    width: 1.9rem;
    background: var(--logo-green);
}

.dc-about-team__dot:hover,
.dc-about-team__dot:focus-visible {
    transform: translateY(-1px);
}

.dc-about-team__dot:focus-visible {
    outline: 2px solid var(--logo-orange);
    outline-offset: 3px;
}

.dc-about-team__viewport {
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.dc-about-team__viewport::-webkit-scrollbar {
    display: none;
}

.dc-about-team__track {
    --dc-about-team-gap: clamp(16px, 1.9vw, 24px);
    display: flex;
    gap: var(--dc-about-team-gap);
    align-items: stretch;
}

.dc-about-team-card {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    min-height: 100%;
    padding: clamp(20px, 2.2vw, 28px);
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 32px;
    background: rgba(255, 250, 241, 0.98);
    box-shadow: 0 16px 36px rgba(15, 91, 53, 0.05);
    flex: 0 0 calc((100% - (var(--dc-about-team-gap) * 2)) / 3);
    scroll-snap-align: start;
}

.dc-about-team-card__avatar {
    display: grid;
    place-items: center;
    width: clamp(86px, 6vw, 104px);
    aspect-ratio: 1;
    margin-inline: auto;
    border: 1px solid rgba(0, 102, 51, 0.1);
    border-radius: 999px;
    background:
        radial-gradient(circle at 30% 28%, rgba(255, 255, 255, 0.92) 0 12%, transparent 13%),
        linear-gradient(180deg, rgba(215, 255, 179, 0.9) 0%, rgba(255, 250, 241, 0.98) 100%);
    box-shadow: 0 16px 28px rgba(15, 91, 53, 0.08);
}

.dc-about-team-card__avatar span {
    color: var(--logo-green);
    font-family: "Fredoka", sans-serif;
    font-size: clamp(1.42rem, 1.22rem + 0.46vw, 1.74rem);
    font-weight: 600;
    letter-spacing: 0.08em;
}

.dc-about-team-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    align-items: flex-start;
}

.dc-about-team-card__role {
    margin: 0;
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    line-height: 1.45;
}

.dc-about-team-card h3 {
    margin: 0;
    color: var(--logo-green);
    font-family: "Baloo 2", sans-serif;
    font-size: clamp(1.26rem, 1.08rem + 0.44vw, 1.56rem);
    line-height: 1.08;
}

.dc-about-team-card__bio {
    margin: 0;
    color: rgba(11, 77, 45, 0.88);
    font-size: 0.96rem;
    line-height: 1.68;
}

@media (max-width: 1180px) {
    .dc-about-team-card {
        flex-basis: calc((100% - var(--dc-about-team-gap)) / 2);
    }
}

.dc-team-person {
    display: grid;
    gap: clamp(18px, 2.6vw, 30px);
    padding: clamp(22px, 2.8vw, 34px);
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 34px;
    background: rgba(255, 250, 241, 0.98);
    box-shadow: 0 16px 36px rgba(15, 91, 53, 0.05);
}

.dc-team-person__copy {
    display: grid;
    gap: 0.8rem;
    align-content: start;
}

.dc-team-person__role {
    margin: 0;
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dc-team-person h3 {
    margin: 0;
    color: var(--logo-green);
    font-family: "Baloo 2", sans-serif;
    font-size: clamp(1.5rem, 1.26rem + 0.56vw, 1.96rem);
    line-height: 1.08;
}

.dc-team-person__media {
    overflow: hidden;
    padding: 6px;
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 34px;
    background: rgba(255, 253, 247, 0.98);
    box-shadow: 0 22px 44px rgba(15, 91, 53, 0.09);
}

.dc-team-person__media img {
    display: block;
    width: 100%;
    aspect-ratio: 1.02 / 1;
    border-radius: 28px;
    object-fit: cover;
}

.dc-contact-layout {
    display: grid;
    gap: clamp(22px, 3vw, 36px);
    align-items: start;
}

.dc-contact-layout__copy,
.dc-contact-layout__side {
    display: grid;
    gap: clamp(18px, 2.4vw, 28px);
    align-content: start;
}

.dc-contact-layout__note {
    width: 100%;
}

.dc-contact-layout__side > .dc-contact-map,
.dc-contact-layout__side > .dc-contact-layout__actions {
    display: none;
}

.dc-contact-list--page {
    display: grid;
    gap: 1rem;
    padding: clamp(22px, 2.6vw, 30px);
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 30px;
    background: rgba(255, 250, 241, 0.98);
    box-shadow: 0 16px 36px rgba(15, 91, 53, 0.05);
}

.dc-contact-layout__map {
    display: grid;
    gap: clamp(18px, 2.6vw, 28px);
    padding: clamp(22px, 2.8vw, 34px);
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 34px;
    background:
        radial-gradient(circle at top right, rgba(215, 255, 179, 0.32), transparent 34%),
        rgba(255, 252, 246, 0.98);
    box-shadow: 0 22px 44px rgba(15, 91, 53, 0.08);
}

.dc-contact-map__copy {
    display: grid;
    gap: 0.72rem;
    max-width: 34rem;
}

.dc-contact-map__copy h3,
.dc-contact-map__copy p {
    margin: 0;
}

.dc-contact-map__copy h3 {
    font-family: "Fredoka", sans-serif;
    font-size: clamp(1.42rem, 1.18rem + 0.46vw, 1.78rem);
    line-height: 1.12;
    color: var(--logo-green);
}

.dc-contact-map__copy p {
    color: rgba(11, 77, 45, 0.82);
    line-height: 1.72;
}

.dc-contact-map {
    overflow: hidden;
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 34px;
    background: rgba(255, 253, 247, 0.98);
    box-shadow: 0 22px 44px rgba(15, 91, 53, 0.08);
}

.dc-contact-map iframe {
    display: block;
    width: 100%;
    min-height: clamp(260px, 52vw, 420px);
    border: 0;
    background: #eef4e8;
}

.dc-contact-layout__actions {
    justify-self: start;
}

.dc-hero__copy,
.dc-hero__visual,
.dc-story__content,
.dc-story__media,
.dc-contact-layout__copy,
.dc-contact-layout__side,
.dc-contact-layout__map,
.dc-team-person__copy,
.dc-team-person__media,
.dc-cta__copy,
.dc-cta__aside,
.dc-contact-list dd,
.dc-footer__contact-value {
    min-width: 0;
}

.dc-contact-list dd,
.dc-footer__contact-value,
.dc-footer__contact-note {
    overflow-wrap: anywhere;
}

.dc-curated-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.dc-curated-badges span {
    padding: 0.32rem 0.74rem 0.2rem;
    border-radius: 999px;
    background: rgba(215, 255, 179, 0.72);
    color: var(--logo-green);
    font-family: "Fredoka", sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
}

@media (min-width: 761px) {
    .dc-curated-grid--two,
    .dc-curated-dual {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dc-curated-grid--three,
    .dc-curated-grid--four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 961px) {
    .dc-curated-split {
        grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
        gap: clamp(24px, 3vw, 40px);
    }

    .dc-curated-grid--three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1160px) {
    .dc-curated-grid--four {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.dc-services:not(.dc-services--home) .dc-photo-stack {
    position: relative;
    display: grid;
    align-self: start;
    padding: clamp(8px, 1vw, 14px) 0 clamp(28px, 4vw, 46px);
}

.dc-services:not(.dc-services--home) .dc-photo-stack::before,
.dc-services:not(.dc-services--home) .dc-photo-stack::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.dc-services:not(.dc-services--home) .dc-photo-stack::before {
    top: 2%;
    right: 4%;
    width: clamp(150px, 18vw, 240px);
    height: clamp(150px, 18vw, 240px);
    border-radius: 46px;
    background: radial-gradient(circle, rgba(215, 255, 179, 0.36) 0%, rgba(215, 255, 179, 0.14) 56%, transparent 72%);
    filter: blur(10px);
}

.dc-services:not(.dc-services--home) .dc-photo-stack::after {
    left: 10%;
    bottom: 0;
    width: clamp(84px, 10vw, 120px);
    height: clamp(84px, 10vw, 120px);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 250, 241, 0.94) 0%, rgba(255, 250, 241, 0) 72%);
}

.dc-services:not(.dc-services--home) .dc-photo-stack__grid {
    --collage-gap: clamp(12px, 1.45vw, 18px);
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--collage-gap);
    width: min(100%, 38rem);
    margin-left: auto;
}

.dc-services:not(.dc-services--home) .dc-photo-card {
    position: relative;
    overflow: hidden;
    padding: clamp(6px, 0.55vw, 8px);
    border: 1px solid rgba(0, 102, 51, 0.07);
    border-radius: 30px;
    background: rgba(255, 253, 247, 0.98);
    box-shadow: 0 22px 48px rgba(15, 91, 53, 0.1);
}

.dc-services:not(.dc-services--home) .dc-photo-card--stack {
    width: calc((100% - var(--collage-gap)) / 2);
}

.dc-services:not(.dc-services--home) .dc-photo-card img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: calc(30px - 8px);
    object-fit: cover;
    transition: transform var(--ease);
}

.dc-services:not(.dc-services--home) .dc-photo-card--stack img {
    aspect-ratio: 1.2 / 1;
}

.dc-services:not(.dc-services--home) .dc-photo-card--stack-1 {
    transform: rotate(-2.2deg);
}

.dc-services:not(.dc-services--home) .dc-photo-card--stack-2 {
    transform: rotate(2.4deg);
}

.dc-services:not(.dc-services--home) .dc-photo-card--stack-3 {
    transform: rotate(-1.6deg);
}

.dc-services:not(.dc-services--home) .dc-photo-card--stack-4 {
    transform: rotate(1.6deg);
}

.dc-services:not(.dc-services--home) .dc-photo-stack__grid[data-count="3"] .dc-photo-card--stack:nth-child(3) {
    margin-inline: auto;
    margin-top: calc(var(--collage-gap) * -0.65);
}

.dc-services:not(.dc-services--home) .dc-photo-stack__grid[data-count="4"] .dc-photo-card--stack:nth-child(n + 3) {
    margin-top: calc(var(--collage-gap) * -0.45);
}

.dc-services:not(.dc-services--home) .dc-photo-stack:hover img {
    transform: scale(1.03);
}

.dc-steps:not(.dc-steps--home) {
    padding-top: clamp(18px, 2.4vw, 30px);
    background: transparent;
}

.dc-steps:not(.dc-steps--home) .dc-steps__inner {
    overflow: visible;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.dc-steps:not(.dc-steps--home) .dc-steps__inner::after,
.dc-steps:not(.dc-steps--home) .dc-steps__list::before {
    display: none;
}

.dc-steps:not(.dc-steps--home) .dc-steps__list {
    display: grid;
    gap: clamp(14px, 1.8vw, 20px);
    padding-top: 0;
}

.dc-steps:not(.dc-steps--home) .dc-step,
.dc-steps:not(.dc-steps--home) .dc-step:nth-child(2n) {
    transform: none;
}

.dc-steps:not(.dc-steps--home) .dc-step {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 1.1rem;
    align-items: start;
    padding: clamp(20px, 2.2vw, 26px);
    border: 1px solid rgba(0, 102, 51, 0.08);
    border-radius: 28px;
    background: rgba(239, 247, 225, 0.96);
    box-shadow: 0 16px 34px rgba(15, 91, 53, 0.05);
}

.dc-steps:not(.dc-steps--home) .dc-step__number {
    margin: 0;
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.dc-steps:not(.dc-steps--home) .dc-step__motif {
    grid-column: 2;
    grid-row: 1;
    width: auto;
    height: auto;
    margin: 0;
    color: var(--logo-green);
}

.dc-steps:not(.dc-steps--home) .dc-step__motif svg {
    display: block;
    width: 1.35rem;
    height: 1.35rem;
}

.dc-steps:not(.dc-steps--home) .dc-step__content {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.55rem;
}

.dc-steps:not(.dc-steps--home) .dc-step__content h3 {
    margin: 0;
    font-size: clamp(1.26rem, 1.06rem + 0.62vw, 1.7rem);
    line-height: 1.08;
}

.dc-steps:not(.dc-steps--home) .dc-step__content p {
    max-width: none;
    color: rgba(11, 77, 45, 0.88);
    line-height: 1.68;
}

.dc-steps:not(.dc-steps--home) .dc-steps__note {
    margin-top: clamp(18px, 2vw, 24px);
    max-width: 42rem;
    padding: 1rem 1.2rem;
    border-radius: 22px;
    background: rgba(255, 250, 241, 0.82);
    color: var(--text-soft);
}

.dc-cta:not(.dc-cta--home) {
    padding-top: clamp(18px, 2.6vw, 30px);
}

.dc-cta:not(.dc-cta--home) .dc-cta__panel {
    display: grid;
    gap: clamp(22px, 3vw, 34px);
    padding: clamp(24px, 4vw, 40px);
    border-radius: 34px;
    background: rgba(255, 250, 241, 0.98);
    box-shadow: 0 20px 40px rgba(15, 91, 53, 0.08);
}

.dc-cta:not(.dc-cta--home) .dc-contact-list {
    display: grid;
    gap: 1rem clamp(18px, 2.6vw, 28px);
}

.dc-cta:not(.dc-cta--home) .dc-contact-list__item {
    padding-left: 1.7rem;
}

.dc-cta:not(.dc-cta--home) .dc-contact-list__item::before {
    top: 0.15rem;
}

.dc-cta:not(.dc-cta--home) .dc-contact-list dd {
    line-height: 1.5;
}

.dc-cta:not(.dc-cta--home) .dc-cta__aside {
    padding: clamp(18px, 2.4vw, 24px);
    border-radius: 26px;
    background: rgba(215, 255, 179, 0.52);
}

@media (min-width: 761px) {
    .dc-services:not(.dc-services--home) .dc-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 961px) {
    .dc-hero:not(.dc-hero--home) .dc-hero__inner {
        grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.02fr);
    }

    .dc-story:not(.dc-story--home) .dc-story__inner {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr);
    }

    .dc-services:not(.dc-services--home) .dc-services__scene--subpage {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .dc-team-person {
        grid-template-columns: minmax(0, 1fr) minmax(340px, 0.92fr);
        align-items: center;
    }

    .dc-team-person--reverse .dc-team-person__media {
        order: -1;
    }

    .dc-contact-layout {
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    }

    .dc-contact-layout__map {
        grid-column: 1 / -1;
        grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
        align-items: end;
    }

    .dc-contact-map__copy {
        align-self: start;
    }

    .dc-contact-map {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .dc-contact-layout__actions {
        grid-column: 1;
        grid-row: 2;
    }

    .dc-steps:not(.dc-steps--home) .dc-steps__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dc-cta:not(.dc-cta--home) .dc-cta__panel {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
        align-items: start;
    }

    .dc-cta:not(.dc-cta--home) .dc-cta__copy {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .dc-cta:not(.dc-cta--home) .dc-contact-list {
        grid-column: 2;
        grid-row: 1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dc-cta:not(.dc-cta--home) .dc-cta__aside {
        grid-column: 2;
        grid-row: 2;
    }
}

@media (max-width: 760px) {
    .dc-hero:not(.dc-hero--home) .dc-hero__title {
        max-width: 14ch;
    }

    .dc-services:not(.dc-services--home) .dc-photo-stack__grid {
        width: 100%;
    }

    .dc-services:not(.dc-services--home) .dc-photo-card--stack img {
        aspect-ratio: 1.05 / 1;
    }
}

@media (max-width: 520px) {
    .dc-header__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.45rem;
        min-height: 78px;
        padding-inline: clamp(12px, 3.6vw, 16px);
    }

    .dc-brand {
        min-width: 0;
    }

    .dc-brand__mark img {
        width: min(138px, 33vw);
    }

    .dc-nav-toggle {
        gap: 0.5rem;
        padding: 0.45rem 0;
        font-size: 0.88rem;
        letter-spacing: 0.02em;
        white-space: nowrap;
    }

    .dc-nav-toggle::before,
    .dc-nav-toggle::after {
        width: 1.05rem;
    }

    .dc-contact-layout__map {
        padding: 18px 16px;
    }
}

@media (max-width: 399px) {
    .dc-nav-toggle span {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .dc-nav-toggle {
        gap: 0.3rem;
    }
}

@media (min-width: 821px) {
    .dc-header__inner {
        grid-template-columns: auto 1fr;
        gap: 1.35rem;
    }

    .dc-nav-toggle {
        display: none;
    }

    .dc-header__panel,
    .dc-header__panel[hidden] {
        position: static;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 1.2rem;
        padding: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .dc-nav {
        margin-left: auto;
    }

    .dc-nav__list {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: clamp(0.72rem, 1vw, 1.18rem);
    }

    .dc-header__panel > .dc-button {
        width: auto;
    }

    .dc-hero:not(.dc-hero--home) .dc-hero__inner {
        grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.02fr);
    }

    .dc-story:not(.dc-story--home) .dc-story__inner {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.98fr);
    }

    .dc-contact-layout {
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    }

    .dc-contact-layout__map {
        grid-column: 1 / -1;
        grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
        align-items: end;
    }

    .dc-contact-map__copy {
        align-self: start;
    }

    .dc-contact-map {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .dc-contact-layout__actions {
        grid-column: 1;
        grid-row: 2;
    }

    .dc-steps:not(.dc-steps--home) .dc-steps__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dc-cta:not(.dc-cta--home) .dc-cta__panel {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
        align-items: start;
    }

    .dc-cta:not(.dc-cta--home) .dc-cta__copy {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .dc-cta:not(.dc-cta--home) .dc-contact-list {
        grid-column: 2;
        grid-row: 1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dc-cta:not(.dc-cta--home) .dc-cta__aside {
        grid-column: 2;
        grid-row: 2;
    }
}

/* News system 2026-07-16 */

.dc-news-list-section--simple,
.dc-post-simple,
.dc-post-more {
    padding-top: clamp(12px, 2vw, 24px);
}

.dc-news-grid {
    display: grid;
    gap: clamp(16px, 2vw, 24px);
}

.dc-news-card,
.dc-post-simple__article {
    border: 1px solid rgba(0, 102, 51, 0.08);
    background: rgba(255, 250, 241, 0.98);
    box-shadow: 0 18px 40px rgba(15, 91, 53, 0.06);
}

.dc-news-card {
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
    min-height: 100%;
    border-radius: 30px;
}

.dc-news-card__media {
    display: block;
    overflow: hidden;
    background: rgba(239, 247, 225, 0.88);
}

.dc-news-card__media img,
.dc-post-simple__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--ease);
}

.dc-news-card__media img {
    aspect-ratio: 1.18 / 1;
}

.dc-news-card:hover .dc-news-card__media img,
.dc-news-card:focus-within .dc-news-card__media img {
    transform: scale(1.03);
}

.dc-news-card__copy {
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 1rem;
    padding: clamp(20px, 2.4vw, 26px);
}

.dc-news-card__text,
.dc-post-simple__article,
.dc-post-simple__header {
    display: grid;
    gap: 0.9rem;
}

.dc-news-meta,
.dc-news-pagination,
.dc-post-simple__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 0.9rem;
    align-items: center;
}

.dc-news-meta {
    color: rgba(11, 77, 45, 0.72);
    font-family: "Fredoka", sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
}

.dc-news-pill {
    padding: 0.28rem 0.78rem 0.18rem;
    border-radius: 999px;
    background: rgba(215, 255, 179, 0.56);
    color: var(--logo-orange);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.dc-news-card h2,
.dc-post-simple__header h1 {
    margin: 0;
    color: var(--logo-green);
    font-family: "Baloo 2", sans-serif;
    line-height: 1.04;
    text-wrap: balance;
}

.dc-news-card h2 {
    font-size: clamp(1.32rem, 1.12rem + 0.5vw, 1.66rem);
}

.dc-post-simple__header h1 {
    font-size: clamp(2rem, 1.62rem + 1.22vw, 3.12rem);
    max-width: none;
}

.dc-news-card h2 a {
    color: inherit;
    text-decoration: none;
}

.dc-news-card p,
.dc-post-simple__lead {
    margin: 0;
    color: rgba(11, 77, 45, 0.86);
    line-height: 1.74;
}

.dc-post-simple__lead {
    max-width: 42rem;
    font-size: clamp(1.04rem, 0.98rem + 0.2vw, 1.16rem);
}

.dc-news-card__link,
.dc-post-simple__back {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    color: var(--logo-orange);
    font-family: "Fredoka", sans-serif;
    font-size: 0.98rem;
    font-weight: 600;
    text-decoration: none;
    transition: color var(--ease), transform var(--ease);
}

.dc-news-card__link:hover,
.dc-news-card__link:focus-visible,
.dc-post-simple__back:hover,
.dc-post-simple__back:focus-visible {
    color: var(--logo-green);
    transform: translateY(-1px);
}

.dc-news-empty {
    max-width: 42rem;
}

.dc-news-pagination {
    justify-content: center;
    margin-top: clamp(12px, 1.6vw, 18px);
}

.dc-news-pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.92rem 1.18rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 102, 51, 0.16);
    color: var(--logo-green);
    font-family: "Nunito", sans-serif;
    font-weight: 800;
    text-decoration: none;
    transition:
        border-color var(--ease),
        background-color var(--ease),
        transform var(--ease);
}

.dc-news-pagination a:hover,
.dc-news-pagination a:focus-visible {
    border-color: rgba(0, 102, 51, 0.28);
    background: rgba(239, 247, 225, 0.88);
    transform: translateY(-1px);
}

.dc-post-simple__article {
    max-width: min(100%, 72rem);
    margin: 0 auto;
    padding: clamp(18px, 2vw, 28px);
    gap: clamp(18px, 2.4vw, 28px);
    border-radius: 34px;
}

.dc-post-simple__header {
    max-width: none;
}

.dc-post-simple__media {
    margin: 0;
    overflow: hidden;
    border-radius: 30px;
    background: rgba(239, 247, 225, 0.88);
}

.dc-post-simple__media img {
    aspect-ratio: 1.42 / 1;
}

.dc-post-simple__article > .dc-prose {
    display: grid;
    gap: 0;
}

.dc-post-simple__article .dc-prose h2,
.dc-post-simple__article .dc-prose h3 {
    color: var(--logo-green);
}

.dc-post-simple__article .dc-prose h2 {
    font-size: clamp(1.5rem, 1.26rem + 0.7vw, 2rem);
    line-height: 1.08;
}

.dc-post-simple__article .dc-prose h3 {
    font-size: clamp(1.28rem, 1.08rem + 0.55vw, 1.72rem);
    line-height: 1.12;
}

.dc-post-simple__article .dc-prose p,
.dc-post-simple__article .dc-prose li {
    color: rgba(11, 77, 45, 0.92);
    line-height: 1.82;
}

.dc-post-simple__article .dc-prose ul {
    padding-left: 0;
    list-style: none;
}

.dc-post-simple__article .dc-prose ul li {
    position: relative;
    padding-left: 1.8rem;
}

.dc-post-simple__article .dc-prose ul li::before {
    content: "";
    position: absolute;
    top: 0.28rem;
    left: 0;
    width: 1rem;
    height: 1rem;
    background-image: var(--motif-tree);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.dc-post-simple__article .dc-prose ul li:nth-child(2n)::before {
    background-image: var(--motif-pinecone);
}

@media (min-width: 761px) {
    .dc-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1181px) {
    .dc-news-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .dc-news-card__media img,
    .dc-post-simple__media img {
        aspect-ratio: 1.08 / 1;
    }

    .dc-news-pagination {
        justify-content: flex-start;
    }

    .dc-post-simple__article {
        border-radius: 28px;
    }

    .dc-post-simple__header h1 {
        max-width: none;
    }
}

/* Visual revisions 2026-07-16 */

:root {
    --motif-tree: url("../img/motifs/tree.webp");
    --motif-pinecone: url("../img/motifs/pinecone.webp");
}

.dc-item-motif {
    display: inline-block;
    width: clamp(1.28rem, 1.06rem + 0.5vw, 1.72rem);
    height: clamp(1.28rem, 1.06rem + 0.5vw, 1.72rem);
    vertical-align: middle;
    background-image: var(--motif-tree);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    color: transparent;
    mix-blend-mode: normal;
    opacity: 1;
    filter: drop-shadow(0 3px 10px rgba(203, 85, 33, 0.14));
}

.dc-item-motif svg {
    display: none;
}

.dc-item-motif--tree {
    background-image: var(--motif-tree);
}

.dc-item-motif--pinecone {
    background-image: var(--motif-pinecone);
}

.dc-button__line,
.dc-story__aside li::before,
.dc-story--home .dc-story__aside .dc-prose li::before,
.dc-contact-list__item::before,
.dc-curated-list li::before,
.dc-home-hero-slide__copy-shell::after,
.dc-footer::after {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    mix-blend-mode: normal;
}

.dc-button__line {
    width: clamp(1.14rem, 0.98rem + 0.42vw, 1.46rem);
    height: clamp(1.14rem, 0.98rem + 0.42vw, 1.46rem);
    flex: 0 0 auto;
    border-radius: 0;
    background-color: transparent;
    background-image: var(--motif-pinecone);
    filter: drop-shadow(0 2px 8px rgba(203, 85, 33, 0.16));
}

.dc-button__icon {
    width: clamp(1.02rem, 0.9rem + 0.34vw, 1.28rem);
    height: clamp(1.02rem, 0.9rem + 0.34vw, 1.28rem);
}

.dc-button--ghost .dc-button__line {
    background-image: var(--motif-tree);
}

.dc-home-hero-slide__copy-shell::after {
    width: clamp(28px, 2.6vw, 38px);
    height: clamp(28px, 2.6vw, 38px);
    background-image: var(--motif-pinecone);
    opacity: 0.16;
}

.dc-home-hero-slide__brand-motif {
    left: clamp(22px, 2.4vw, 38px);
    bottom: clamp(20px, 2.4vw, 34px);
}

.dc-home-hero-slide__brand-motif img {
    height: clamp(88px, 7vw, 118px);
}

.dc-curated-list li,
.dc-story__aside li,
.dc-story--home .dc-story__aside .dc-prose li {
    padding-left: 1.85rem;
}

.dc-story__aside li::before,
.dc-story--home .dc-story__aside .dc-prose li::before,
.dc-contact-list__item::before,
.dc-curated-list li::before {
    background-image: var(--motif-tree);
    opacity: 0.96;
}

.dc-story__aside li:nth-child(2n)::before,
.dc-story--home .dc-story__aside .dc-prose li:nth-child(2n)::before,
.dc-contact-list__item:nth-child(2n)::before,
.dc-curated-list li:nth-child(2n)::before {
    background-image: var(--motif-pinecone);
}

.dc-story__continuation {
    margin-top: clamp(8px, 1.4vw, 16px);
    padding-top: clamp(14px, 2vw, 20px);
    border-top: 1px solid rgba(0, 102, 51, 0.14);
}

.dc-cta--merged-aside .dc-cta__copy .dc-section-heading,
.dc-cta--merged-aside .dc-home-head {
    max-width: 42rem;
}

.dc-services--home .dc-services__scene {
    align-items: center;
}

.dc-services--home .dc-services__copy {
    max-width: 46rem;
}

.dc-services--home .dc-service-item--home {
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.dc-services--home .dc-service-item__meta {
    align-self: end;
    margin-top: auto;
}

.dc-services--home .dc-photo-stack__grid {
    width: min(100%, 50rem);
}

.dc-services--home .dc-photo-card--stack img {
    aspect-ratio: 1.08 / 1;
}

.dc-services--club .dc-services__strap span {
    color: var(--logo-green-deep);
}

.dc-services--club .dc-services__strap span {
    background: rgba(215, 255, 179, 0.48);
}

.dc-services--club .dc-service-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(18px, 1.7vw, 24px);
    padding: clamp(20px, 2vw, 26px);
    background: rgba(239, 247, 225, 0.94);
    height: auto;
    min-height: 0;
}

.dc-services--club .dc-service-item__header {
    margin-bottom: 0;
}

.dc-services--club .dc-service-item__description {
    margin-bottom: 0;
    line-height: 1.58;
}

.dc-services--club .dc-photo-stack__grid {
    width: 100%;
    max-width: none;
}

.dc-services--club .dc-photo-card--stack img {
    aspect-ratio: 1.34 / 1;
}

.dc-services--club .dc-services__grid {
    gap: clamp(16px, 1.8vw, 22px);
    align-items: start;
}

.dc-curated-page--recruitment .dc-curated-section .dc-section-heading {
    max-width: none;
}

@media (min-width: 961px) {
    .dc-story--reverse .dc-story__inner {
        grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
        align-items: start;
    }

    .dc-story--reverse .dc-story__content {
        order: 1;
        align-self: start;
    }

    .dc-story--reverse .dc-story__media {
        order: 2;
        align-self: start;
    }

    .dc-story--reverse .dc-story__media img {
        aspect-ratio: 1.02 / 1;
    }

    .dc-services--home .dc-services__scene {
        grid-template-columns: minmax(0, 0.88fr) minmax(560px, 1.12fr);
        gap: clamp(16px, 1.8vw, 26px);
    }

    .dc-services--home .dc-photo-stack {
        align-self: center;
        width: 100%;
        padding-left: 0;
    }

    .dc-services--home .dc-photo-stack__grid {
        width: 100%;
        max-width: none;
        transform: translateX(clamp(18px, 1.8vw, 32px));
    }

    .dc-services--club .dc-services__scene--subpage {
        grid-template-columns: minmax(0, 0.88fr) minmax(560px, 1.12fr);
        gap: clamp(16px, 1.8vw, 26px);
        align-items: center;
    }

    .dc-services--club .dc-photo-stack {
        align-self: center;
        width: 100%;
        padding-left: 0;
    }

    .dc-services--club .dc-photo-stack__grid {
        justify-content: flex-end;
        transform: translateX(clamp(18px, 1.8vw, 32px));
    }

    .dc-curated-page--recruitment .dc-curated-section .dc-section-heading {
        margin-bottom: clamp(26px, 3.2vw, 44px);
    }
}

@media (max-width: 960px) {
    .dc-services--home .dc-photo-stack,
    .dc-services--club .dc-photo-stack {
        max-width: 46rem;
        margin-inline: auto;
    }
}

@media (max-width: 700px) {
    .dc-curated-list li,
    .dc-story__aside li,
    .dc-story--home .dc-story__aside .dc-prose li {
        padding-left: 1.7rem;
    }

    .dc-services--home .dc-photo-stack__grid {
        width: min(100%, 26rem);
    }

    .dc-about-team__controls {
        gap: 0.75rem;
    }

    .dc-about-team__control {
        width: 2.6rem;
        height: 2.6rem;
    }

    .dc-about-team-card {
        flex-basis: 100%;
    }

    .dc-about-team-card__avatar {
        width: 4.75rem;
    }
}

/* Heading width pass 2026-07-16 */

.dc-home-head {
    max-width: 52rem;
}

.dc-home-head__lead {
    max-width: 24ch;
}

.dc-home-head__intro {
    max-width: 42rem;
}

.dc-curated-section .dc-section-heading {
    max-width: min(100%, 66rem);
}

.dc-hero:not(.dc-hero--home) .dc-hero__copy {
    max-width: 48rem;
}

.dc-hero:not(.dc-hero--home) .dc-hero__title {
    max-width: 15.25ch;
}

.dc-hero:not(.dc-hero--home) .dc-hero__lead {
    max-width: 38rem;
}

@media (min-width: 961px) {
    .dc-hero:not(.dc-hero--home) .dc-hero__inner {
        grid-template-columns: minmax(0, 1.08fr) minmax(400px, 0.92fr);
        gap: clamp(20px, 2.2vw, 32px);
    }

    .dc-services--home .dc-home-head__lead,
    .dc-story--home .dc-home-head__lead,
    .dc-home-recruit .dc-home-head__lead,
    .dc-cta--home .dc-home-head__lead {
        max-width: 30ch;
    }

    .dc-services--home .dc-home-head__lead {
        max-width: 34ch;
    }

    .dc-services--home .dc-home-head__intro,
    .dc-story--home .dc-home-head__intro,
    .dc-home-recruit .dc-home-head__intro,
    .dc-cta--home .dc-home-head__intro {
        max-width: 46rem;
    }
}

/* Mobile polish pass 2026-07-17 */

@media (max-width: 760px) {
    .dc-header__inner {
        min-height: 76px;
        padding-inline: clamp(14px, 4vw, 18px);
    }

    .dc-header__panel {
        gap: 0.85rem;
        padding: 0.8rem var(--shell-pad) 1.05rem;
        border-bottom-left-radius: 24px;
        border-bottom-right-radius: 24px;
        background: rgba(247, 255, 239, 0.98);
        box-shadow: 0 16px 32px rgba(15, 91, 53, 0.08);
    }

    .dc-nav__list {
        gap: 0.65rem;
    }

    .dc-nav__list a {
        font-size: 0.98rem;
    }

    .dc-header__panel > .dc-button {
        width: 100%;
    }

    .dc-hero--home {
        padding-top: 0.9rem;
    }

    .dc-hero__copy,
    .dc-hero:not(.dc-hero--home) .dc-hero__copy {
        max-width: none;
    }

    .dc-hero__title {
        max-width: none;
        font-size: clamp(1.95rem, 1.55rem + 3vw, 2.85rem);
        line-height: 0.98;
        letter-spacing: -0.03em;
    }

    .dc-hero__lead {
        max-width: none;
        font-size: 1rem;
        line-height: 1.68;
    }

    .dc-hero__actions,
    .dc-hero:not(.dc-hero--home) .dc-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .dc-hero__facts,
    .dc-hero:not(.dc-hero--home) .dc-hero__facts {
        margin-top: 0.8rem;
        gap: 0.55rem 0.85rem;
    }

    .dc-hero__stage {
        min-height: clamp(220px, 66vw, 320px);
        padding: 12px;
        border-radius: 26px 30px 24px 30px;
    }

    .dc-hero__frame--1 {
        inset: 12px 12px 58px;
    }

    .dc-hero__frame img {
        aspect-ratio: 1 / 1.08;
    }

    .dc-hero__wordmark {
        width: min(34%, 124px);
    }

    .dc-hero:not(.dc-hero--home) {
        padding-top: 1rem;
    }

    .dc-hero:not(.dc-hero--home) .dc-hero__inner {
        gap: 1.15rem;
    }

    .dc-hero:not(.dc-hero--home) .dc-hero__title {
        max-width: none;
        font-size: clamp(1.88rem, 1.52rem + 2.4vw, 2.55rem);
        line-height: 1;
    }

    .dc-hero:not(.dc-hero--home) .dc-hero__lead {
        max-width: none;
        font-size: 1rem;
    }

    .dc-hero:not(.dc-hero--home) .dc-hero__stage {
        min-height: clamp(240px, 72vw, 340px);
        padding: 12px;
        border-radius: 28px;
    }

    .dc-hero:not(.dc-hero--home) .dc-hero__frame {
        inset: 10px;
        padding: 5px;
        border-radius: 22px;
    }

    .dc-hero:not(.dc-hero--home) .dc-hero__frame img {
        aspect-ratio: 1 / 1.02;
        border-radius: 16px;
    }

    .dc-hero:not(.dc-hero--home) .dc-hero__shape--lime {
        left: 12px;
        bottom: 12px;
        width: 88px;
        height: 88px;
    }

    .dc-home-head,
    .dc-section-heading {
        margin-bottom: 1rem;
    }

    .dc-home-head__lead {
        max-width: none;
        font-size: clamp(1.72rem, 1.4rem + 2vw, 2.22rem);
        line-height: 1.02;
    }

    .dc-home-head__intro,
    .dc-section-heading__intro {
        margin-top: 0.65rem;
    }

    .dc-story:not(.dc-story--home) .dc-story__inner,
    .dc-services:not(.dc-services--home) .dc-services__scene--subpage,
    .dc-contact-layout,
    .dc-cta:not(.dc-cta--home) .dc-cta__panel {
        gap: 1.1rem;
    }

    .dc-story:not(.dc-story--home) .dc-story__quote {
        max-width: none;
        padding: 0.95rem 1rem;
        border-radius: 20px;
    }

    .dc-story:not(.dc-story--home) .dc-story__quote p {
        font-size: clamp(1.26rem, 1.1rem + 1vw, 1.62rem);
    }

    .dc-story:not(.dc-story--home) .dc-story__media,
    .dc-story:not(.dc-story--home) .dc-story__aside,
    .dc-services:not(.dc-services--home) .dc-service-item,
    .dc-team-person,
    .dc-contact-list--page,
    .dc-contact-layout__map,
    .dc-contact-map,
    .dc-cta:not(.dc-cta--home) .dc-cta__panel,
    .dc-post-simple__article,
    .dc-news-card {
        border-radius: 24px;
    }

    .dc-story:not(.dc-story--home) .dc-story__aside,
    .dc-services:not(.dc-services--home) .dc-service-item,
    .dc-team-person,
    .dc-contact-list--page,
    .dc-contact-layout__map,
    .dc-cta:not(.dc-cta--home) .dc-cta__panel,
    .dc-post-simple__article {
        padding: 18px;
    }

    .dc-services:not(.dc-services--home) .dc-service-item {
        gap: 0.95rem;
    }

    .dc-services:not(.dc-services--home) .dc-service-item h3 {
        font-size: clamp(1.16rem, 1.04rem + 0.65vw, 1.42rem);
    }

    .dc-services:not(.dc-services--home) .dc-services__strap {
        gap: 0.45rem;
    }

    .dc-services:not(.dc-services--home) .dc-services__strap span {
        padding: 0.26rem 0.68rem 0.16rem;
        font-size: 0.82rem;
    }

    .dc-services:not(.dc-services--home) .dc-photo-stack {
        padding: 6px 0 12px;
    }

    .dc-services:not(.dc-services--home) .dc-photo-stack__grid {
        --collage-gap: 14px;
        width: 100%;
        max-width: none;
        justify-content: center;
        margin-inline: auto;
    }

    .dc-services:not(.dc-services--home) .dc-photo-card {
        padding: 5px;
        border-radius: 22px;
    }

    .dc-services:not(.dc-services--home) .dc-photo-card--stack {
        width: 100%;
    }

    .dc-services:not(.dc-services--home) .dc-photo-card--stack,
    .dc-services:not(.dc-services--home) .dc-photo-card--stack:nth-child(3),
    .dc-services:not(.dc-services--home) .dc-photo-card--stack:nth-child(4) {
        max-width: 25rem;
        margin-top: 0;
        margin-inline: auto;
        transform: none;
    }

    .dc-services:not(.dc-services--home) .dc-photo-card img {
        border-radius: 16px;
    }

    .dc-steps:not(.dc-steps--home) .dc-step {
        padding: 18px;
        border-radius: 24px;
    }

    .dc-steps:not(.dc-steps--home) .dc-steps__note,
    .dc-cta--home .dc-cta__aside,
    .dc-cta:not(.dc-cta--home) .dc-cta__aside {
        border-radius: 20px;
    }

    .dc-about-team__carousel {
        gap: 1rem;
    }

    .dc-about-team__controls {
        justify-content: space-between;
        gap: 0.85rem;
    }

    .dc-about-team-card {
        padding: 18px;
        border-radius: 24px;
    }

    .dc-about-team-card__avatar {
        width: 4.35rem;
    }

    .dc-team-person {
        gap: 1rem;
    }

    .dc-team-person__media {
        padding: 5px;
        border-radius: 24px;
    }

    .dc-team-person__media img {
        border-radius: 18px;
        aspect-ratio: 1 / 1.04;
    }

    .dc-contact-layout__actions {
        justify-self: stretch;
    }

    .dc-contact-layout__actions .dc-button {
        width: 100%;
    }

    .dc-contact-map iframe {
        min-height: 220px;
    }

    .dc-footer__inner {
        gap: 1.2rem;
        padding-block: 30px 22px;
    }

    .dc-brand__mark--footer img {
        width: min(176px, 48vw);
    }

    .dc-footer__menu a {
        font-size: 1.08rem;
    }

    .dc-footer__bottom {
        gap: 0.75rem;
        padding-top: 0.85rem;
    }

    .dc-news-card__copy {
        padding: 18px;
        gap: 0.85rem;
    }

    .dc-news-card h2 {
        font-size: 1.2rem;
    }

    .dc-post-simple__header h1 {
        font-size: clamp(1.78rem, 1.48rem + 2vw, 2.3rem);
        line-height: 1.02;
    }

    .dc-post-simple__lead {
        font-size: 1rem;
    }
}

@media (max-width: 520px) {
    .dc-brand__mark img {
        width: min(132px, 34vw);
    }

    .dc-nav-toggle {
        font-size: 0.82rem;
    }

    .dc-hero__title {
        font-size: clamp(1.82rem, 1.5rem + 2.4vw, 2.5rem);
    }

    .dc-hero:not(.dc-hero--home) .dc-hero__title {
        font-size: clamp(1.74rem, 1.46rem + 2vw, 2.24rem);
    }

    .dc-hero__stage,
    .dc-hero:not(.dc-hero--home) .dc-hero__stage {
        border-radius: 22px;
    }

    .dc-story:not(.dc-story--home) .dc-story__aside,
    .dc-services:not(.dc-services--home) .dc-service-item,
    .dc-team-person,
    .dc-contact-list--page,
    .dc-contact-layout__map,
    .dc-cta:not(.dc-cta--home) .dc-cta__panel,
    .dc-post-simple__article {
        padding: 16px;
    }

    .dc-footer__inner {
        padding-block: 26px 20px;
    }
}

/* Homepage nature story: copy first, image second on desktop. */
@media (min-width: 961px) {
    .dc-story--home .dc-story__scene {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.92fr);
    }

    .dc-story--home .dc-story__content {
        grid-column: 1;
        grid-row: 1;
    }

    .dc-story--home .dc-story__media-stack {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}

/* Homepage: one calm, full-screen chapter per section on desktop. */
@media (min-width: 961px) {
    body.home .dc-main {
        --home-screen-height: max(680px, calc(100svh - 96px));
        --home-inline-gutter: clamp(48px, 5vw, 96px);
    }

    body.admin-bar.home .dc-main {
        --home-screen-height: max(680px, calc(100svh - 128px));
    }

    body.home .dc-main > .dc-section {
        min-height: var(--home-screen-height);
        display: grid;
        align-items: center;
        padding-block: clamp(32px, 5vh, 58px);
        scroll-margin-top: 96px;
    }

    body.home .dc-main > .dc-section > .dc-shell,
    body.home .dc-home-hero-slide__copy-shell > .dc-shell {
        width: 100%;
        max-width: none;
        padding-inline: var(--home-inline-gutter);
    }

    body.home .dc-main > .dc-home-hero {
        display: block;
        padding-block: 0;
    }

    body.home .dc-home-hero-slider,
    body.home .dc-home-hero-slider__viewport,
    body.home .dc-home-hero-slide,
    body.home .dc-home-hero-slide.is-active,
    body.home .dc-home-hero-slide__copy-shell,
    body.home .dc-home-hero-slide__visual {
        min-height: var(--home-screen-height);
    }

    body.home .dc-home-hero-slide__copy {
        min-height: 0;
        padding-block: clamp(32px, 5vh, 58px);
    }

    body.home .dc-home-hero-slide__visual {
        padding-block: clamp(24px, 4vh, 42px);
    }

    body.home .dc-home-hero-slide__media {
        height: calc(var(--home-screen-height) - clamp(48px, 8vh, 84px));
        min-height: 560px;
    }

    body.home .dc-home-hero-slider__dots {
        position: absolute;
        left: calc(44vw + clamp(14px, 1.4vw, 26px));
        top: 50%;
        z-index: 5;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 0.58rem;
        margin: 0;
        padding: 0.72rem 0.55rem;
        border: 1px solid rgba(0, 102, 51, 0.08);
        border-radius: 999px;
        background: rgba(255, 253, 248, 0.88);
        box-shadow: 0 12px 32px rgba(15, 91, 53, 0.12);
        backdrop-filter: blur(10px);
        transform: translateY(-50%);
    }

    body.home .dc-home-hero-slider__dot {
        transition: transform var(--ease), background-color var(--ease), height var(--ease);
    }

    body.home .dc-home-hero-slider__dot.is-active {
        width: 0.78rem;
        height: 1.9rem;
    }

    body.home .dc-home-hero-slider__dot:hover,
    body.home .dc-home-hero-slider__dot:focus-visible {
        transform: translateX(-1px);
    }

    body.home .dc-services--home .dc-photo-stack__grid {
        transform: none;
    }
}

/* Contact hero: give the question a wider, calmer reading measure. */
@media (min-width: 961px) {
    .dc-hero.dc-hero--contact .dc-hero__copy {
        max-width: 56rem;
    }

    .dc-hero.dc-hero--contact .dc-hero__title {
        max-width: 30ch;
        text-wrap: wrap;
    }

    .dc-hero.dc-hero--contact .dc-hero__lead {
        max-width: 44rem;
    }
}

/* Homepage slider: the visual starts directly below the menu bar. */
@media (min-width: 961px) {
    body.home .dc-home-hero-slide__visual {
        align-items: flex-start;
        padding-top: 0;
    }

    body.home .dc-home-hero-slide__media {
        border-radius: 0 0 0 34px;
    }
}

/* Homepage media-and-copy rhythm, matched to the recruitment panels. */
@media (min-width: 961px) {
    body.home .dc-main {
        --home-media-copy-gap: clamp(22px, 3vw, 34px);
    }

    body.home .dc-services--home .dc-services__scene,
    body.home .dc-home-recruit__panel,
    body.home .dc-story--home .dc-story__scene {
        column-gap: var(--home-media-copy-gap);
    }
}

/* Homepage: match the nature story to the offer panels and close left-copy gaps. */
@media (min-width: 961px) {
    body.home .dc-home-recruit__panel:not(.dc-home-recruit__panel--alt) .dc-home-recruit__copy,
    body.home .dc-story--home .dc-story__content {
        width: 100%;
        justify-self: end;
    }

    body.home .dc-story--home .dc-story__scene {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.95fr);
        align-items: center;
        padding: clamp(22px, 4vw, 38px);
        border-radius: 34px;
        background: rgba(255, 250, 241, 0.98);
        box-shadow: 0 18px 38px rgba(15, 91, 53, 0.08);
    }

    body.home .dc-story--home .dc-story__content {
        max-width: 38rem;
    }

    body.home .dc-story--home .dc-story__media-stack {
        width: 100%;
        align-self: center;
        padding: 0;
    }

    body.home .dc-story--home .dc-story__media {
        border-radius: 30px;
    }

    body.home .dc-story--home .dc-story__media img {
        aspect-ratio: 4 / 3;
    }
}

/* Homepage panels: align text and image centers on desktop. */
@media (min-width: 961px) {
    body.home .dc-home-recruit__panel .dc-home-recruit__copy,
    body.home .dc-home-recruit__panel .dc-home-recruit__media,
    body.home .dc-story--home .dc-story__content,
    body.home .dc-story--home .dc-story__media-stack {
        align-self: center;
    }

    body.home .dc-story--home .dc-story__content,
    body.home .dc-story--home .dc-story__media-stack {
        grid-row: 1;
    }
}

/* Shared page rhythm: one gutter and one vertical space for every main section. */
:root {
    --shell-pad: clamp(20px, 4vw, 64px);
    --section-gap: clamp(24px, 2vw, 28px);
    --section-space: calc(var(--section-gap) / 2);
}

.dc-main > .dc-section {
    padding-block: var(--section-space);
}

.dc-main > .dc-section > .dc-shell {
    width: min(100%, calc(var(--content-width) + (var(--shell-pad) * 2)));
    margin-inline: auto;
    padding-inline: var(--shell-pad);
}

@media (min-width: 961px) {
    body.home .dc-main {
        --home-inline-gutter: var(--shell-pad);
    }

    body.home .dc-main > .dc-section {
        min-height: 0;
        display: block;
        padding-block: var(--section-space);
    }

    body.home .dc-main > .dc-home-hero {
        min-height: var(--home-screen-height);
        padding-block: 0;
    }

    body.home .dc-home-hero-slide__copy {
        padding-block: var(--section-space);
    }

    body.home .dc-home-hero-slide__visual {
        padding-bottom: var(--section-space);
    }
}

body.home .dc-home-recruit__panel + .dc-home-recruit__panel {
    margin-top: var(--section-gap);
}

/* Homepage "Dlaczego": equal outer gutters, a tight center gap and content-fit cards. */
body.home .dc-services--home .dc-services__scene {
    align-items: start;
}

body.home .dc-services--home .dc-services__copy,
body.home .dc-services--home .dc-photo-stack,
body.home .dc-services--home .dc-photo-stack__grid {
    width: 100%;
    max-width: none;
}

body.home .dc-services--home .dc-services__grid--home {
    align-items: start;
}

body.home .dc-services--home .dc-service-item--home {
    min-height: 0;
    height: auto;
    grid-template-rows: auto;
    align-self: start;
}

@media (min-width: 961px) {
    body.home .dc-services--home .dc-services__scene {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: var(--section-gap);
    }

    body.home .dc-services--home .dc-photo-stack {
        padding-inline: 0;
    }

    body.home .dc-services--home .dc-photo-stack__grid {
        margin-inline: 0;
        transform: none;
    }
}

/* O klubie: balanced two-profile layout after retiring the carousel. */
:root {
    --dc-about-team-gap: clamp(20px, 6.25vw, 20px);
    --dc-about-team-portrait: clamp(288px, 90vw, 288px);
    --dc-about-team-row-space: clamp(24px, 7.5vw, 24px);
}

@media (min-width: 320px) {
    :root {
        --dc-about-team-gap: clamp(20px, calc(11.2px + 2.75vw), 64px);
        --dc-about-team-portrait: clamp(288px, calc(268.8px + 6vw), 384px);
        --dc-about-team-row-space: clamp(24px, calc(19.2px + 1.5vw), 48px);
    }
}

@media (min-width: 1920px) {
    :root {
        --dc-about-team-gap: clamp(64px, 3.3333vw, 64px);
        --dc-about-team-portrait: clamp(384px, 20vw, 384px);
        --dc-about-team-row-space: clamp(48px, 2.5vw, 48px);
    }
}

.dc-team-list--about {
    width: min(100%, 76rem);
    margin-inline: auto;
}

.dc-team-list--about .dc-team-person {
    gap: var(--dc-about-team-gap);
    align-items: center;
    padding-block: var(--dc-about-team-row-space);
}

.dc-team-list--about .dc-team-person__copy {
    width: min(100%, 36rem);
}

.dc-team-list--about .dc-team-person__media {
    width: min(100%, var(--dc-about-team-portrait));
}

@media (min-width: 961px) {
    .dc-team-list--about .dc-team-person {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dc-team-list--about .dc-team-person--reverse .dc-team-person__media,
    .dc-team-list--about .dc-team-person:not(.dc-team-person--reverse) .dc-team-person__copy {
        justify-self: end;
    }

    .dc-team-list--about .dc-team-person--reverse .dc-team-person__copy,
    .dc-team-list--about .dc-team-person:not(.dc-team-person--reverse) .dc-team-person__media {
        justify-self: start;
    }
}

@media (max-width: 960px) {
    .dc-team-list--about {
        width: min(100%, 44rem);
    }

    .dc-team-list--about .dc-team-person {
        grid-template-columns: minmax(0, 1fr);
    }

    .dc-team-list--about .dc-team-person__media {
        order: -1;
        justify-self: center;
    }

    .dc-team-list--about .dc-team-person__copy {
        justify-self: center;
    }
}

/* Stability pass: content must never disappear when reveal observers miss an item. */
.dc-js [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    transition-delay: 0ms !important;
}

/* Contact: keep the branded card, but load Google Maps only after a deliberate click. */
.dc-contact-layout__map--link-only {
    width: min(100%, 52rem);
    margin-inline: auto;
}

@media (min-width: 961px) {
    .dc-contact-layout__map--link-only {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .dc-contact-layout__map--link-only .dc-contact-layout__actions {
        grid-column: auto;
        grid-row: auto;
    }
}

@media (max-width: 430px) {
    .dc-simple-page__content,
    .dc-simple-page__content a,
    .dc-simple-page__content code {
        overflow-wrap: anywhere;
        word-break: normal;
    }
}

/* Content and layout refinements 2026-09-10. */
:root {
    --dc-funds-panel-width: clamp(293.2093px, calc(91.6279vw), 394px);
    --dc-process-gap: clamp(26px, 2.2vw, 34px);
}

@media (min-width: 430px) {
    :root {
        --dc-funds-panel-width: clamp(394px, calc(-0.2376px + 91.6832vw), 1320px);
    }
}

@media (min-width: 1440px) {
    :root {
        --dc-funds-panel-width: clamp(1320px, calc(91.6667vw), 1760px);
    }
}

body.page-id-89 .dc-main > .dc-simple-page > .dc-simple-page__inner {
    width: min(100%, var(--dc-funds-panel-width));
    max-width: none;
}

body.page-id-89 .dc-simple-page__content {
    min-width: 0;
}

.dc-curated-grid--process {
    gap: var(--dc-process-gap);
    overflow: visible;
}

.dc-curated-grid--process .dc-curated-step-card {
    position: relative;
}

.dc-curated-grid--process .dc-curated-step-card__head {
    grid-template-columns: minmax(0, 1fr);
}

.dc-curated-grid--process .dc-curated-step-card__number {
    display: none;
}

.dc-curated-grid--process .dc-curated-step-card:not(:last-child)::after {
    position: absolute;
    z-index: 2;
    color: var(--logo-orange);
    font-family: "Nunito", sans-serif;
    font-size: clamp(1.5rem, 1.32rem + 0.52vw, 1.9rem);
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
}

@media (max-width: 1159px) {
    .dc-curated-grid--process {
        grid-template-columns: minmax(0, 1fr);
        width: min(100%, 52rem);
        margin-inline: auto;
    }

    .dc-curated-grid--process .dc-curated-step-card:not(:last-child)::after {
        content: "↓";
        left: 50%;
        bottom: calc(var(--dc-process-gap) * -0.5);
        transform: translate(-50%, 50%);
    }
}

@media (min-width: 1160px) {
    .dc-curated-grid--process .dc-curated-step-card:not(:last-child)::after {
        content: "→";
        top: 50%;
        right: calc(var(--dc-process-gap) * -0.5);
        transform: translate(50%, -50%);
    }
}

.dc-contact-layout__map--split {
    width: 100%;
    max-width: none;
}

.dc-contact-map--deferred {
    display: grid;
    place-items: center;
    min-height: clamp(240px, 34vw, 420px);
    padding: clamp(20px, 3vw, 34px);
    background:
        radial-gradient(circle at 20% 18%, rgba(215, 255, 179, 0.78), transparent 34%),
        rgba(238, 244, 232, 0.98);
}

.dc-contact-map__placeholder {
    display: grid;
    justify-items: center;
    gap: clamp(16px, 2vw, 22px);
    max-width: 24rem;
    text-align: center;
}

.dc-contact-map__placeholder p {
    margin: 0;
    color: rgba(11, 77, 45, 0.82);
    line-height: 1.6;
}

.dc-contact-map__placeholder .dc-button {
    justify-content: center;
}

.dc-contact-map--loaded {
    min-height: clamp(240px, 34vw, 420px);
}

.dc-contact-map--loaded iframe {
    min-height: inherit;
}

/* Mobile homepage slider and button consistency 2026-09-15. */
:root {
    --dc-mobile-slider-gutter: clamp(12px, calc(3.75vw), 12px);
    --dc-mobile-slider-radius: clamp(22px, calc(6.875vw), 22px);
    --dc-mobile-slider-pad: clamp(18px, calc(5.625vw), 18px);
    --dc-mobile-button-height: clamp(56px, calc(17.5vw), 56px);
}

@media (min-width: 320px) {
    :root {
        --dc-mobile-slider-gutter: clamp(12px, calc(6.1818px + 1.8182vw), 20px);
        --dc-mobile-slider-radius: clamp(22px, calc(16.1818px + 1.8182vw), 30px);
        --dc-mobile-slider-pad: clamp(18px, calc(13.6364px + 1.3636vw), 24px);
        --dc-mobile-button-height: clamp(56px, calc(53.0909px + 0.9091vw), 60px);
    }
}

@media (min-width: 760px) {
    :root {
        --dc-mobile-slider-gutter: clamp(20px, calc(2.6316vw), 50.5263px);
        --dc-mobile-slider-radius: clamp(30px, calc(3.9474vw), 75.7895px);
        --dc-mobile-slider-pad: clamp(24px, calc(3.1579vw), 60.6316px);
        --dc-mobile-button-height: clamp(60px, calc(7.8947vw), 151.5789px);
    }
}

@media (max-width: 760px) {
    body.home .dc-home-hero {
        padding: 0 0 calc(var(--dc-mobile-slider-pad) * 2.25);
        background: #eef5df;
    }

    body.home .dc-home-hero-slider {
        display: flex;
        width: 100%;
        flex-direction: column;
        margin: 0;
        overflow: hidden;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    body.home .dc-home-hero-slider__viewport {
        order: 1;
    }

    body.home .dc-home-hero-slide.is-active {
        display: flex;
        flex-direction: column;
    }

    body.home .dc-home-hero-slide__copy-shell {
        order: 2;
        min-height: auto;
        padding-block: var(--dc-mobile-slider-pad);
    }

    body.home .dc-home-hero-slide__copy-shell > .dc-shell {
        padding-inline: var(--dc-mobile-slider-pad);
    }

    body.home .dc-home-hero-slide__copy-shell::before {
        content: "Poznaj Las Talentów";
        position: absolute;
        top: var(--dc-mobile-slider-pad);
        left: var(--dc-mobile-slider-pad);
        color: var(--logo-orange);
        font-family: "Fredoka", sans-serif;
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.09em;
        text-transform: uppercase;
    }

    body.home .dc-home-hero-slide__copy {
        min-height: auto;
        padding-top: 1.75rem;
    }

    body.home .dc-home-hero-slide__visual {
        order: 1;
        padding: 0;
    }

    body.home .dc-home-hero-slide__visual::before {
        display: none;
    }

    body.home .dc-home-hero-slide__media {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        border-radius: 0;
        box-shadow: none;
    }

    body.home .dc-home-hero-slider__dots {
        position: absolute;
        top: var(--dc-mobile-slider-pad);
        right: var(--dc-mobile-slider-pad);
        left: auto;
        z-index: 5;
        align-items: center;
        justify-content: center;
        flex-wrap: nowrap;
        gap: 0.125rem;
        min-height: 0;
        margin: 0;
        padding: 0.25rem;
        border-radius: 0.875rem;
        background: rgba(0, 77, 45, 0.9);
    }

    body.home .dc-home-hero-slider__dots::before {
        content: none;
    }

    body.home .dc-home-hero-slider__dot,
    body.home .dc-home-hero-slider__dot.is-active {
        position: relative;
        display: grid;
        width: 2.75rem;
        height: 2.75rem;
        flex: 0 0 2.75rem;
        place-items: center;
        background: transparent;
        color: rgba(255, 250, 241, 0.72);
        border-radius: 0.625rem;
        font-family: "Fredoka", sans-serif;
        font-size: 0.8125rem;
        font-weight: 700;
        letter-spacing: 0.035em;
    }

    body.home .dc-home-hero-slider__dot::after {
        content: "";
        position: static;
        width: auto;
        height: auto;
        background: transparent;
        transform: none;
        transition: color var(--ease);
    }

    body.home .dc-home-hero-slider__dot:nth-child(1)::after {
        content: "01";
    }

    body.home .dc-home-hero-slider__dot:nth-child(2)::after {
        content: "02";
    }

    body.home .dc-home-hero-slider__dot:nth-child(3)::after {
        content: "03";
    }

    body.home .dc-home-hero-slider__dot.is-active {
        background: var(--logo-cream);
        color: var(--logo-green);
    }

    body.home .dc-home-hero-slider__dot.is-active::after {
        width: auto;
        background: transparent;
    }

    body.home .dc-home-hero-slider__dot:hover,
    body.home .dc-home-hero-slider__dot:focus-visible {
        transform: none;
    }

    body .dc-header .dc-button,
    body .dc-main .dc-button,
    body .dc-footer .dc-button {
        justify-content: center;
        align-items: center;
        gap: 0.72rem;
        width: 100%;
        min-height: var(--dc-mobile-button-height);
        padding: 0.9rem 1.3rem;
        border-radius: 999px;
        font-size: 1rem;
        line-height: 1.25;
        text-align: center;
        border-color: var(--logo-green);
        background: var(--logo-green);
        color: var(--logo-cream);
        box-shadow: 0 0.625rem 1.5rem rgba(15, 91, 53, 0.1);
    }

    body .dc-button--ghost .dc-button__line {
        background-image: var(--motif-pinecone);
    }

    body .dc-button__icon {
        color: var(--logo-orange);
    }
}

/* Mobile footer alignment 2026-09-15. */
@media (max-width: 760px) {
    .dc-footer__inner {
        justify-items: center;
        text-align: center;
    }

    .dc-footer__brand,
    .dc-footer__nav,
    .dc-footer__contact,
    .dc-footer__bottom {
        width: 100%;
        justify-items: center;
    }

    .dc-footer__logo {
        margin-inline: auto;
    }

    .dc-footer__menu,
    .dc-footer__contact-item {
        justify-items: center;
    }

    .dc-footer__legal {
        align-items: center;
        justify-content: center;
    }
}

/* Performance and accessibility refinement 2026-09-15. */
body.home .dc-home-hero-slide__lead p,
body.home .dc-home-recruit__copy .dc-prose p,
body.home .dc-story__content .dc-prose p,
body.home .dc-cta__copy .dc-prose p {
    color: #3f7456;
}

@media (min-width: 761px) {
    body.home .dc-home-hero-slider__dot,
    body.home .dc-home-hero-slider__dot.is-active {
        display: grid;
        width: 1.75rem;
        height: 1.75rem;
        place-items: center;
        border-radius: 999px;
        background: transparent;
    }

    body.home .dc-home-hero-slider__dot::before {
        content: "";
        display: block;
        width: 0.78rem;
        height: 0.78rem;
        border-radius: 999px;
        background: rgba(0, 102, 51, 0.16);
        transition: transform var(--ease), background-color var(--ease), height var(--ease);
    }

    body.home .dc-home-hero-slider__dot.is-active::before {
        height: 1.9rem;
        background: var(--logo-green);
    }
}

@media (max-width: 760px) {
    body.home .dc-home-hero-slider__dot::before {
        content: none;
    }
}

/* Homepage: center the nature copy and CTA in the single-column layout. */
@media (max-width: 960px) {
    body.home .dc-story--home .dc-story__content {
        width: 100%;
        margin-inline: auto;
    }

    body.home .dc-story--home .dc-story__actions {
        display: flex;
        justify-content: center;
    }
}

/* Shared CTA alignment, including the navigation and interior pages. */
.dc-button {
    justify-content: center;
    text-align: center;
    padding-inline: 1.3rem;
}

/* Sister childcare place - homepage only, 2026-09-17. */
.dc-sister-place { padding-block: clamp(48px, 6vw, 88px); background: #eef3e5; color: #006638; }
.dc-sister-place__inner { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: center; gap: clamp(32px, 5vw, 80px); }
.dc-sister-place__copy { max-width: 620px; }
.dc-sister-place__copy .dc-kicker { margin: 0 0 10px; }
.dc-sister-place h2 { margin: 0; font-size: clamp(32px, 3.3vw, 48px); line-height: 1.12; text-wrap: balance; }
.dc-sister-place__description { margin: 20px 0 26px; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.75; }
.dc-sister-place__logo { display: block; width: min(100%, 280px); justify-self: center; border-radius: 50%; transition: transform .2s ease; }
.dc-sister-place__logo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: inherit; }
.dc-sister-place__logo:hover { transform: translateY(-4px); }
.dc-sister-place__logo:focus-visible { outline: 3px solid currentColor; outline-offset: 8px; }
@media (max-width: 700px) {
 .dc-sister-place__inner { grid-template-columns: minmax(0, 1fr); gap: 32px; }
 .dc-sister-place__copy { max-width: none; }
 .dc-sister-place__copy .dc-button { display: flex; width: 100%; justify-content: center; text-align: center; box-sizing: border-box; }
 .dc-sister-place__logo { width: min(65%, 220px); }
}
@media (prefers-reduced-motion: reduce) { .dc-sister-place__logo { transition: none; } .dc-sister-place__logo:hover { transform: none; } }

/* Homepage sister section meets footer - 2026-09-17. */
body.home .dc-main:has(> .dc-sister-place:last-child) + .dc-footer {
    margin-top: 0;
}

/* More vertical breathing room for the homepage contact section on desktop. */
@media (min-width: 961px) {
    body.home .dc-main > .dc-section.dc-cta--home {
        padding-block: clamp(56px, 5vw, 88px);
    }
}
