: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;
}

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;
}

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;
}

.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: 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:hover,
.dc-button:focus-visible {
    transform: translateY(-2px);
}

.dc-button:hover .dc-button__line,
.dc-button:focus-visible .dc-button__line {
    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.8rem, 1.2rem + 1.9vw, 3rem);
    line-height: 0.98;
    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__aside {
    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 {
    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;
    }
}
