@font-face {
    font-family:"Manrope";
    src:url("../fonts/manrope-latin-wght-normal.woff2") format("woff2");
    font-style:normal;
    font-weight:200 800;
    font-display:swap
}

:root {
    --df-ink:var(--wp--preset--color--ink,#071827);
    --df-mint:var(--wp--preset--color--mint,#58bea3);
    --df-pale:var(--wp--preset--color--pale-mint,#e9faef);
    --df-paper:#fff;
    --df-slate:#496068;
    --df-line:#d9e5e2;
    --df-wide:min(1280px,calc(100vw - 64px));
    --df-ease:cubic-bezier(.2,.75,.2,1)
}

html {
    scroll-behavior:smooth;
    text-rendering:optimizeLegibility
}

body {
    overflow-x:hidden;
    font-kerning:normal;
    font-synthesis:none
}

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

body.admin-bar .df-site-header {
    top:0
}

.wp-site-blocks {
    padding:0
}

.wp-site-blocks>* {
    margin-block-start:0
}

.wp-site-blocks>header.wp-block-template-part,
.wp-site-blocks>.wp-block-template-part {
    margin-block-start:0!important
}

.df-wide {
    width:var(--df-wide);
    max-width:none!important;
    margin-inline:auto!important
}

.df-site-header {
    position:relative;
    z-index:20;
    background:#fff
}

.df-site-header>*+* {
    margin-block-start:0
}

.df-topbar {
    border-bottom:1px solid var(--df-line);
    height:52px;
    min-height:0;
    display:flex;
    align-items:center;
    padding-block:0!important;
    box-sizing:border-box;
    color:#4c6666;
    font-size:.82rem
}

.df-topbar-inner {
    height:100%;
    min-height:0;
    align-items:center;
    justify-content:space-between!important;
    gap:initial!important;
    padding-block:0!important
}

.df-topbar p {
    margin:0
}

.df-topbar a {
    color:inherit
}

.df-primary-nav {
    min-height:98px
}

.df-nav-inner {
    min-height:98px;
    gap:34px
}

.df-logo img {
    width:252px!important;
    height:auto!important;
    max-height:62px;
    object-fit:contain;
    object-position:left center
}

.df-navigation {
    margin-left:auto
}

.df-mobile-menu-brand,.df-mobile-menu-search {
    display:none!important
}

.df-navigation .wp-block-navigation-item__content {
    padding:13px 10px
}

.df-navigation .current-menu-item>.wp-block-navigation-item__content {
    color:var(--df-mint)
}

.df-header-search {
    width:min(280px,24vw);
    margin-left:12px
}

.df-header-search .wp-block-search__inside-wrapper {
    min-height:54px;
    padding:4px!important
}

.df-header-search .wp-block-search__input {
    min-width:0
}

.df-header-search .wp-block-search__button {
    align-self:stretch;
    width:50px;
    margin-left:4px;
    padding:0
}

.df-navigation a {
    transition:color .2s ease,transform .2s ease,background-color .2s ease
}

.df-navigation a:hover {
    color:var(--df-mint)
}

.df-home-main {
    margin:0
}

.df-home-hero {
    width:var(--df-wide);
    max-width:none!important;
    min-height:650px;
    margin:26px auto 0!important;
    border-radius:22px;
    overflow:hidden;
    position:relative;
    background:linear-gradient(90deg,rgba(7,24,39,.98) 0%,rgba(7,24,39,.84) 49%,rgba(7,24,39,.24) 100%);
    color:#fff
}

.df-home-hero>.df-hero-bg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none!important;
    margin:0!important;
    overflow:hidden;
    z-index:0
}

.df-home-hero>.df-hero-bg picture {
    display:block;
    width:100%;
    height:100%
}

.df-home-hero>.df-hero-bg img {
    display:block;
    width:100%;
    height:100%!important;
    max-width:none;
    object-fit:cover;
    object-position:center;
    border-radius:0;
    filter:saturate(.9) contrast(1.03)
}

.df-responsive-hero {
    display:block;
    width:100%;
    height:100%
}

.df-home-hero:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(7,24,39,.96) 0%,rgba(7,24,39,.85) 48%,rgba(7,24,39,.18) 100%);
    z-index:1
}

.df-hero-grid {
    position:relative;
    z-index:2;
    min-height:650px;
    display:grid!important;
    grid-template-columns:1.08fr .92fr;
    gap:40px;
    align-items:center;
    padding:74px 70px!important
}

.df-hero-copy {
    max-width:650px
}

.df-kicker {
    display:inline-flex;
    align-items:center;
    gap:9px;
    width:max-content;
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:99px;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#d6eee7
}

.df-kicker:before {
    content:"";
    width:8px;
    height:8px;
    border:2px solid var(--df-mint);
    border-radius:50%
}

.df-hero-title {
    font-size:clamp(3rem,5.2vw,5.1rem);
    line-height:.98;
    letter-spacing:-.055em;
    margin:20px 0 24px;
    max-width:720px
}

.df-hero-title strong {
    color:#6bd2b7
}

.df-hero-copy>p:not(.df-kicker) {
    max-width:570px;
    color:#d7e5e2;
    font-size:1.08rem;
    line-height:1.65
}

.df-hero-actions {
    margin-top:28px
}

.df-hero-actions .is-style-outline .wp-block-button__link {
    color:#fff;
    border-color:rgba(255,255,255,.55)
}

.df-hero-visual {
    min-height:430px;
    position:relative;
    display:grid;
    place-items:center
}

.df-hero-orb {
    width:min(385px,34vw);
    aspect-ratio:1;
    border-radius:50%!important;
    overflow:hidden;
    border:13px solid rgba(255,255,255,.78);
    box-shadow:0 30px 80px rgba(0,0,0,.34);
    transform:translateX(7%)
}

.df-hero-orb img {
    width:100%;
    height:100%;
    object-fit:cover
}

.df-floating-note {
    position:absolute;
    right:0;
    top:44px;
    background:#fff;
    color:var(--df-ink);
    padding:16px 20px;
    border-radius:16px;
    box-shadow:0 18px 36px rgba(0,0,0,.2);
    font-weight:800;
    max-width:190px
}

.df-floating-note small {
    display:block;
    color:var(--df-slate);
    font-weight:600;
    margin-top:3px
}

.df-reader-rail {
    position:relative;
    z-index:4;
    width:min(1160px,calc(100vw - 120px));
    margin:-44px auto 98px!important;
    padding:28px 32px;
    background:var(--df-mint);
    border-radius:16px;
    display:grid!important;
    grid-template-columns:repeat(3,1fr);
    align-items:center;
    box-shadow:0 20px 50px rgba(7,24,39,.16)
}

.df-reader-rail>.df-rail-item {
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr);
    gap:16px;
    align-items:center;
    justify-items:stretch;
    min-width:0;
    padding:0 26px;
    border-right:1px solid rgba(255,255,255,.4)
}

.df-reader-rail>.df-rail-item {
    margin-block-start:0!important
}

.df-reader-rail>.df-rail-item:last-child {
    border-right:0
}

.df-icon-disc {
    width:56px;
    height:56px;
    border-radius:50%;
    display:grid!important;
    place-items:center;
    background:#f1fff9;
    color:var(--df-ink);
    font-size:1.4rem;
    font-weight:900
}

.df-reader-rail .df-icon-disc p {
    display:none
}

.df-reader-rail .df-icon-disc {
    background-color:#f1fff9;
    background-position:center;
    background-repeat:no-repeat;
    background-size:26px
}

.df-reader-rail>.df-rail-item:nth-child(1) .df-icon-disc {
    background-image:url("../icons/reader-basics.svg")
}

.df-reader-rail>.df-rail-item:nth-child(2) .df-icon-disc {
    background-image:url("../icons/reader-compare.svg")
}

.df-reader-rail>.df-rail-item:nth-child(3) .df-icon-disc {
    background-image:url("../icons/reader-questions.svg")
}

.df-rail-copy {
    min-width:0;
    width:100%;
    max-width:none!important;
    margin:0!important
}

.df-rail-copy>* {
    max-width:none!important;
    margin-inline:0!important
}

.df-reader-rail h3 {
    font-size:1rem;
    margin:0 0 2px
}

.df-reader-rail p {
    font-size:.84rem;
    margin:0;
    color:#173e3a;
    line-height:1.4
}

.df-section {
    padding:100px 0
}

.df-story-grid {
    display:grid!important;
    grid-template-columns:.78fr .94fr 1.58fr;
    gap:28px;
    align-items:stretch
}

.df-story-stack {
    display:grid!important;
    grid-template-rows:.85fr 1.15fr;
    gap:20px
}

.df-story-tile {
    background:var(--df-pale);
    border-radius:18px;
    padding:30px;
    display:grid!important;
    place-items:center;
    text-align:center;
    min-height:190px
}

.df-story-tile strong {
    font-size:1.5rem;
    line-height:1.1
}

.df-story-grid figure {
    margin:0;
    height:100%
}

.df-story-grid img {
    width:100%;
    height:100%;
    min-height:480px;
    object-fit:cover;
    border-radius:18px
}

.df-story-copy {
    align-self:center;
    padding-left:12px
}

.df-label {
    display:inline-flex;
    width:max-content;
    align-items:center;
    gap:8px;
    border:1px solid #bfd0cc;
    border-radius:99px;
    padding:8px 12px;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#2d5652
}

.df-section-title {
    font-size:clamp(2.45rem,4.3vw,4.35rem);
    line-height:1.02;
    margin:18px 0 24px
}

.df-check-list {
    list-style:none;
    padding:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 18px
}

.df-check-list li {
    position:relative;
    padding-left:28px;
    font-weight:700
}

.df-check-list li:before {
    content:"✓";
    position:absolute;
    left:0;
    top:.05em;
    width:20px;
    height:20px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--df-pale);
    color:#25866e;
    font-size:.75rem
}

.df-mint-stage {
    background:var(--df-pale);
    padding:96px 0
}

.df-section-heading-row {
    display:grid!important;
    grid-template-columns:1.15fr .85fr;
    gap:64px;
    align-items:end;
    margin-bottom:42px
}

.df-section-heading-row h2 {
    font-size:clamp(2.5rem,4.2vw,4.15rem);
    margin:12px 0 0;
    line-height:1.02
}

.df-section-heading-row p {
    max-width:560px
}

.df-feature-grid,.df-post-grid {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px
}

.df-feature-grid {
    width:100%;
    max-width:none!important;
    align-items:stretch
}

.df-feature-grid>* {
    margin-block-start:0!important
}

.df-feature-card,.df-post-grid>li {
    background:#fff;
    border:1px solid var(--df-line);
    border-radius:18px;
    overflow:hidden;
    min-width:0;
    transition:transform .28s var(--df-ease),box-shadow .28s var(--df-ease)
}

.df-feature-card {
    display:flex;
    flex-direction:column;
    height:100%
}

.df-feature-card:hover,.df-post-grid>li:hover {
    transform:translateY(-7px);
    box-shadow:0 24px 50px rgba(7,24,39,.12)
}

.df-feature-card figure,.df-post-grid figure {
    margin:0;
    overflow:hidden;
    border-radius:0
}

.df-feature-card>figure {
    width:100%!important;
    max-width:none!important;
    align-self:stretch
}

.df-feature-card>figure picture {
    display:block;
    width:100%
}

.df-feature-card img,.df-post-grid img {
    width:100%;
    height:280px;
    object-fit:cover;
    border-radius:0;
    transition:transform .6s var(--df-ease)
}

.df-feature-card>figure img {
    display:block;
    max-width:none!important
}

.df-feature-card:hover img,.df-post-grid>li:hover img {
    transform:scale(1.04)
}

.df-card-body {
    padding:26px!important
}

.df-feature-card .df-card-body {
    display:flex;
    flex:1;
    flex-direction:column
}

.df-card-body h3,.df-post-grid h2 {
    font-size:1.4rem;
    line-height:1.15;
    margin:8px 0 12px
}

.df-card-meta,.df-card-body time {
    color:#318774;
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.07em
}

.df-dark-stage {
    background:var(--df-ink);
    color:#fff;
    padding:96px 0
}

.df-dark-stage h2 {
    font-size:clamp(2.7rem,5vw,5rem);
    line-height:1;
    margin:0
}

.df-dark-stage p {
    color:#c8d8d5
}

.df-question-grid {
    display:grid!important;
    grid-template-columns:1.08fr .92fr;
    gap:70px;
    align-items:center
}

.df-question-grid figure {
    margin:0
}

.df-question-grid img {
    width:100%;
    height:520px;
    object-fit:cover;
    border-radius:20px
}

.df-question-list {
    display:grid;
    gap:0;
    width:100%;
    max-width:none!important;
    margin-top:28px;
    text-align:left
}

.df-question-list .wp-block-details {
    margin:0;
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    border-top:1px solid rgba(255,255,255,.16)
}

.df-question-list .wp-block-details:last-child {
    border-bottom:1px solid rgba(255,255,255,.16)
}

.df-question-list summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 0;
    cursor:pointer;
    font-weight:700;
    color:#fff;
    list-style:none;
    text-align:left!important
}

.df-question-list summary::-webkit-details-marker {
    display:none
}

.df-question-list summary:after {
    content:"";
    flex:0 0 20px;
    width:20px;
    height:20px;
    background:url("../icons/accordion-plus.svg") center/contain no-repeat;
    filter:brightness(0) invert(1);
    transition:transform .2s var(--df-ease)
}

.df-question-list details[open] summary:after {
    transform:rotate(45deg)
}

.df-question-list .wp-block-details p {
    margin:0;
    padding:0 0 20px;
    color:rgba(255,255,255,.78);
    font-weight:400;
    line-height:1.55
}

.df-latest-stage {
    padding:100px 0
}

.df-latest-stage .df-post-grid>li {
    border-radius:18px
}

.df-faq-grid {
    display:grid!important;
    grid-template-columns:.8fr 1.2fr;
    gap:70px;
    align-items:start
}

.df-faq-grid h2 {
    font-size:clamp(2.5rem,4.2vw,4rem);
    margin:16px 0
}

.df-faq-grid details {
    width:100%;
    max-width:none!important;
    margin:0;
    border-top:1px solid var(--df-line);
    padding:0
}

.df-faq-grid details:last-child {
    border-bottom:1px solid var(--df-line)
}

.df-faq-grid summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 0;
    font-weight:800;
    cursor:pointer;
    list-style:none;
    text-align:left
}

.df-faq-grid summary::-webkit-details-marker {
    display:none
}

.df-faq-grid summary:after {
    content:"";
    flex:0 0 18px;
    width:18px;
    height:18px;
    background:url("../icons/accordion-plus.svg") center/contain no-repeat;
    transition:transform .2s var(--df-ease)
}

.df-faq-grid details[open] summary:after {
    transform:rotate(45deg)
}

.df-faq-grid details p {
    color:var(--df-slate);
    margin:0;
    padding:0 0 18px
}

.df-inner-hero {
    position:relative;
    width:var(--df-wide);
    max-width:none!important;
    min-height:316px;
    margin:0 auto!important;
    border-radius:20px;
    overflow:hidden;
    background:#071827;
    color:#fff;
    display:flex;
    align-items:center
}

.df-inner-hero>.df-inner-hero-media {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none!important;
    margin:0!important;
    z-index:0
}

.df-inner-hero>.df-inner-hero-media picture {
    display:block;
    width:100%;
    height:100%
}

.df-inner-hero>.df-inner-hero-media img {
    display:block;
    width:100%;
    height:100%;
    max-width:none!important;
    object-fit:cover;
    object-position:center;
    border-radius:0
}

.df-inner-hero:not(.df-single-banner):after {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(90deg,rgba(7,24,39,.94),rgba(7,24,39,.46));
    pointer-events:none
}

.df-inner-hero-copy {
    position:relative;
    z-index:2;
    width:100%;
    max-width:none!important;
    margin:0!important;
    padding-left:64px;
    box-sizing:border-box
}

.df-inner-hero-copy>* {
    margin-left:0!important;
    margin-right:0!important
}

.df-inner-hero h1 {
    font-size:clamp(2.7rem,4.4vw,4.3rem);
    line-height:1.04;
    max-width:980px;
    margin:0 0 18px;
    color:#fff
}

.df-breadcrumb {
    display:inline-flex;
    gap:11px;
    align-items:center;
    border:1px solid rgba(255,255,255,.45);
    border-radius:99px;
    padding:8px 13px;
    margin:0;
    color:#d8e7e3
}

.df-breadcrumb a {
    color:#fff
}

.df-about-story {
    padding:100px 0
}

.df-about-grid {
    display:grid!important;
    grid-template-columns:.73fr .93fr 1.62fr;
    gap:26px;
    align-items:stretch
}

.df-about-grid .df-about-stat {
    background:var(--df-pale);
    border-radius:18px;
    padding:30px;
    min-height:210px;
    display:grid!important;
    place-items:center;
    text-align:center
}

.df-about-grid figure {
    margin:0;
    height:100%
}

.df-about-grid img {
    height:510px;
    width:100%;
    object-fit:cover
}

.df-values-stage {
    padding:92px 0;
    background:var(--df-pale)
}

.df-value-grid {
    display:grid!important;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    width:100%;
    max-width:none!important;
    align-items:stretch
}

.df-value-grid>* {
    margin-block-start:0!important
}

.df-value-card {
    background:#fff;
    border-radius:16px;
    box-sizing:border-box;
    min-height:286px;
    padding:32px;
    width:100%;
    max-width:none!important
}

.df-value-card>* {
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important
}

.df-value-card .df-icon-disc {
    background:var(--df-mint);
    margin-bottom:22px
}

.df-value-card .df-icon-disc p {
    display:none
}

.df-value-card .df-icon-disc {
    background-position:center;
    background-repeat:no-repeat;
    background-size:26px
}

.df-value-grid>.df-value-card:nth-child(1) .df-icon-disc {
    background-image:url("../icons/value-explain.svg")
}

.df-value-grid>.df-value-card:nth-child(2) .df-icon-disc {
    background-image:url("../icons/value-compare.svg")
}

.df-value-grid>.df-value-card:nth-child(3) .df-icon-disc {
    background-image:url("../icons/value-prepare.svg")
}

.df-blog-main,.df-single-main {
    margin:0
}

.df-archive-intro {
    display:grid!important;
    grid-template-columns:1.08fr .92fr;
    gap:70px;
    padding:84px 0 42px
}

.df-archive-intro h2 {
    font-size:clamp(2.3rem,4vw,3.9rem);
    line-height:1.02;
    margin:0
}

.df-archive-query {
    width:var(--df-wide);
    max-width:none!important;
    margin:0 auto 100px!important
}

.df-archive-query .wp-block-post-template {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px
}

.df-archive-query .wp-block-post {
    border:1px solid var(--df-line);
    border-radius:18px;
    overflow:hidden;
    background:#fff
}

.df-archive-query figure {
    margin:0
}

.df-archive-query .wp-block-post-featured-image img {
    width:100%;
    height:270px;
    object-fit:cover;
    border-radius:0
}

.df-archive-query .df-card-body,.df-archive-query>.wp-block-post-template>.wp-block-post>*:not(figure) {
    margin-left:24px;
    margin-right:24px
}

.df-archive-query .wp-block-post-title {
    font-size:1.45rem;
    line-height:1.2
}

.df-archive-query .wp-block-post-date {
    color:#318774;
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em
}

.df-archive-query .wp-block-post-excerpt__more-link {
    font-weight:800;
    color:#287c68
}

.df-single-banner {
    display:block!important;
    min-height:370px
}

.df-single-banner .df-banner-image {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none!important;
    margin:0!important;
    z-index:0
}

.df-single-banner .df-banner-image picture {
    display:block;
    width:100%;
    height:100%
}

.df-single-banner .df-banner-image:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(7,24,39,.95),rgba(7,24,39,.5))
}

.df-single-banner .df-banner-image img {
    display:block;
    width:100%;
    height:100%;
    max-width:none!important;
    object-fit:cover;
    border-radius:0
}

.df-single-banner .df-inner-hero-copy {
    min-height:370px;
    display:flex;
    flex-direction:column;
    justify-content:center
}

.df-single-banner .df-breadcrumb {
    align-self:flex-start;
    width:fit-content
}

.df-single-banner .wp-block-post-title {
    font-size:clamp(2.7rem,4.2vw,4.5rem);
    max-width:1050px;
    color:#fff;
    margin:0 0 20px
}

.df-article-shell {
    width:min(820px,calc(100vw - 48px));
    max-width:none!important;
    margin:0 auto!important;
    padding:90px 0
}

.df-article-shell>* {
    width:100%;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important
}

.df-article-meta {
    gap:24px;
    color:#318774;
    font-size:.82rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.07em
}

.df-article-meta p,.df-article-meta time {
    margin:0
}

.df-article-lead {
    width:100%;
    max-width:none!important;
    margin:30px 0 55px!important;
    transform:none
}

.df-article-lead img {
    width:100%;
    max-height:580px;
    object-fit:cover
}

.df-article-shell .wp-block-post-content {
    font-size:1.08rem
}

.df-article-shell .wp-block-post-content h2 {
    font-size:2.1rem;
    margin-top:2.25em
}

.df-article-shell .wp-block-post-content h3 {
    font-size:1.45rem;
    margin-top:1.8em
}

.df-article-shell .wp-block-post-content ul {
    padding-left:1.25em
}

.df-article-shell .wp-block-post-content blockquote {
    border-left:5px solid var(--df-mint);
    background:var(--df-pale);
    padding:24px 28px;
    margin:34px 0
}

.df-disclaimer-note {
    background:#f4f8f7;
    border:1px solid var(--df-line);
    border-radius:16px;
    padding:28px;
    margin-top:50px
}

.df-disclaimer-note h3 {
    margin-top:0
}

.df-related-stage {
    background:var(--df-pale);
    padding:84px 24px
}

.df-related-stage h2 {
    font-size:clamp(2.3rem,4vw,3.6rem);
    width:100%;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important
}

.df-related-stage>.df-wide {
    width:min(var(--df-wide),100%);
    max-width:none!important;
    margin:0 auto!important;
    box-sizing:border-box
}

.df-related-query,
.df-related-query .wp-block-post-template {
    width:100%;
    max-width:none!important;
    box-sizing:border-box
}

.df-related-query .wp-block-post-template {
    display:grid!important;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
    margin:0!important;
    padding:0!important;
    list-style:none
}

.df-related-query .wp-block-post {
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    min-width:0;
    width:100%!important;
    max-width:none!important;
    margin:0!important
}

.df-related-query figure {
    margin:0
}

.df-related-query img {
    display:block;
    width:100%;
    height:240px;
    object-fit:cover;
    border-radius:0
}

.df-related-query h3 {
    font-size:1.25rem;
    padding:0 22px 24px
}

.df-contact-stage {
    padding:94px 0
}

.df-contact-grid {
    display:grid!important;
    grid-template-columns:.82fr 1.18fr;
    gap:70px;
    align-items:start
}

.df-contact-copy h2 {
    font-size:clamp(2.5rem,4vw,4rem);
    margin:14px 0 20px
}

.df-contact-channel {
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr);
    gap:18px;
    align-items:center;
    width:100%;
    max-width:none!important;
    padding:17px 0;
    border-top:1px solid var(--df-line)
}

.df-contact-channel>* {
    max-width:none!important;
    margin:0!important
}

.df-contact-channel h3,.df-contact-channel p {
    margin:0
}

.df-contact-channel .df-icon-disc {
    background-color:#f1fff9;
    background-position:center;
    background-repeat:no-repeat;
    background-size:24px
}

.df-contact-channel .df-icon-disc p {
    display:none
}

.df-contact-copy>.df-contact-channel:nth-of-type(1) .df-icon-disc {
    background-image:url("../icons/contact-email.svg")
}

.df-contact-copy>.df-contact-channel:nth-of-type(2) .df-icon-disc {
    background-image:url("../icons/contact-scope.svg")
}

.df-contact-copy>.df-contact-channel:nth-of-type(3) .df-icon-disc {
    background-image:url("../icons/contact-advice.svg")
}

.df-channel-copy {
    width:100%;
    min-width:0
}

.df-contact-panel {
    background:var(--df-pale);
    border-radius:20px;
    padding:42px
}

.df-contact-form {
    display:grid;
    gap:18px
}

.df-contact-form p {
    margin:0
}

.df-form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}

.df-form-grid>* {
    min-width:0
}

.df-contact-form label {
    display:block;
    font-weight:800;
    font-size:.86rem;
    margin-bottom:7px
}

.df-contact-form input,.df-contact-form select,.df-contact-form textarea {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    border:1px solid #c9d9d5;
    background:#fff;
    border-radius:10px;
    padding:14px 15px;
    color:var(--df-ink);
    font:inherit
}

.df-contact-form textarea {
    resize:vertical
}

.df-contact-form small {
    display:block;
    color:#5f7478;
    margin-top:7px
}

.df-contact-form button {
    justify-self:start;
    border:0;
    border-radius:9px;
    background:var(--df-mint);
    padding:15px 22px;
    font:inherit;
    font-weight:800;
    color:var(--df-ink);
    cursor:pointer
}

.df-contact-form input:focus,.df-contact-form select:focus,.df-contact-form textarea:focus,.df-contact-form button:focus-visible {
    outline:3px solid rgba(42,145,119,.35);
    outline-offset:2px
}

.df-honeypot {
    position:absolute!important;
    left:-10000px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important
}

.df-form-status {
    padding:15px 18px;
    border-radius:10px;
    margin-bottom:18px
}

.df-form-status.is-success {
    background:#d8f6e8;
    color:#124b3d
}

.df-form-status.is-error {
    background:#fff1e8;
    color:#7a2f16
}

.df-legal-main {
    padding:86px 24px
}

.df-legal-main h1 {
    font-size:clamp(2.7rem,5vw,4.8rem)
}

.df-legal-note {
    background:var(--df-pale);
    border-left:5px solid var(--df-mint);
    padding:22px 26px
}

.df-search-main,.df-system-shell {
    padding:74px 24px 100px
}

.df-search-main {
    display:flex!important;
    flex-direction:column;
    align-items:center
}

.df-system-opening {
    background:var(--df-pale);
    border-radius:20px;
    padding:52px;
    margin-bottom:54px
}

.df-search-main>.df-system-opening {
    width:var(--df-wide)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:52px 64px;
    box-sizing:border-box
}

.df-search-main>.df-system-opening>* {
    width:100%;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important
}

.df-search-main>.df-archive-query {
    width:var(--df-wide)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box
}

.df-system-opening h1 {
    font-size:clamp(2.5rem,5vw,4.5rem);
    margin-top:0
}

.wp-block-search__inside-wrapper {
    border:1px solid #bcd0cb!important;
    border-radius:12px!important;
    padding:7px!important;
    background:#fff
}

.wp-block-search__input {
    border:0!important;
    padding:12px!important
}

.wp-block-search__button {
    border:0;
    border-radius:8px;
    background:var(--df-mint);
    color:var(--df-ink);
    font-weight:800
}

.df-empty-state {
    max-width:660px;
    text-align:center;
    background:#f4f8f7;
    border-radius:18px;
    padding:48px;
    margin:20px auto 0
}

.df-404 {
    max-width:760px!important;
    min-height:620px;
    padding:86px 24px 100px;
    text-align:center;
    display:flex;
    flex-direction:column;
    justify-content:center
}

.df-error-code {
    font-size:clamp(5rem,13vw,9rem);
    font-weight:900;
    line-height:.75;
    letter-spacing:-.08em;
    color:var(--df-mint);
    margin:0
}

.df-404 h1 {
    font-size:clamp(2.5rem,5vw,4.5rem);
    margin:30px 0 16px
}

.df-404 .wp-block-search {
    margin:28px auto;
    width:min(560px,100%)
}

.df-404 .wp-block-buttons {
    justify-content:center
}

.df-footer {
    background:var(--df-ink);
    color:#fff
}

.df-footer a {
    color:#d7e7e3
}

.df-footer-main {
    padding:82px 0 64px;
    gap:42px
}

.df-footer-main h3 {
    font-size:1.05rem;
    margin:0 0 18px
}

.df-footer-main p {
    color:#bcd0cd
}

.df-footer-brand {
    max-width:330px
}

.df-footer-logo-panel {
    background:#fff;
    border-radius:12px;
    padding:13px 18px;
    width:max-content;
    margin:0 0 22px!important
}

.df-footer-logo-panel img {
    display:block
}

.df-footer-links {
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:9px
}

.df-footer-links li {
    margin:0
}

.df-footer-bottom {
    border-top:1px solid rgba(255,255,255,.15);
    padding:20px 0;
    font-size:.78rem;
    color:#aac0bc
}

.df-footer-bottom p {
    margin:0
}

.df-motion-ready [data-df-reveal] {
    opacity:0;
    transform:translateY(24px)
}

.df-motion-ready [data-df-reveal].is-visible {
    opacity:1;
    transform:none;
    transition:opacity .7s var(--df-ease),transform .7s var(--df-ease)
}

@media(max-width:1020px) {
    :root {
        --df-wide:min(100% - 40px,1280px)
    }

    .df-topbar {
        display:none
    }

    .df-primary-nav,.df-nav-inner {
        min-height:88px
    }

    .df-header-search {
        display:none
    }

    .df-hero-grid {
        padding:60px 44px!important
    }

    .df-hero-orb {
        width:310px
    }

    .df-reader-rail {
        width:calc(100% - 72px)
    }

    .df-story-grid,.df-about-grid {
        grid-template-columns:.9fr 1.1fr
    }

    .df-story-grid>.df-story-copy,.df-about-grid>.df-story-copy {
        grid-column:1/-1;
        padding:20px 0 0
    }

    .df-story-stack {
        grid-template-rows:1fr
    }

    .df-feature-grid,.df-post-grid,.df-archive-query .wp-block-post-template {
        grid-template-columns:repeat(2,1fr)
    }

    .df-question-grid,.df-faq-grid,.df-contact-grid {
        grid-template-columns:1fr
    }

    .df-question-grid figure {
        order:-1
    }

    .df-section-heading-row,.df-archive-intro {
        grid-template-columns:1fr;
        gap:22px
    }

    .df-related-query .wp-block-post-template {
        grid-template-columns:repeat(2,1fr)
    }

}

@media(max-width:782px) {
    body.admin-bar .df-site-header {
        top:0
    }

    .df-logo img {
        width:205px!important;
        max-height:52px
    }

    .df-navigation {
        margin-left:auto
    }

    .wp-block-navigation__responsive-container.is-menu-open {
        background:#fff;
        color:var(--df-ink);
        padding:36px 32px 52px
    }

    .wp-block-navigation__responsive-container.is-menu-open a {
        color:var(--df-ink);
        font-size:1.6rem
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        align-items:center;
        width:100%;
        padding-top:24px
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
        align-items:center;
        width:min(100%,440px);
        gap:20px
    }

    .wp-block-navigation__responsive-container.is-menu-open .df-mobile-menu-brand {
        display:block!important;
        margin:0 auto 2px!important
    }

    .wp-block-navigation__responsive-container.is-menu-open .df-mobile-menu-brand img {
        width:210px!important;
        height:auto!important;
        max-height:62px;
        object-fit:contain
    }

    .wp-block-navigation__responsive-container.is-menu-open .df-mobile-menu-search {
        display:block!important;
        width:50%;
        margin:0 auto 22px
    }

    .wp-block-navigation__responsive-container.is-menu-open .df-mobile-menu-search .wp-block-search__inside-wrapper {
        min-height:56px;
        padding:4px!important
    }

    .wp-block-navigation__responsive-container.is-menu-open .df-mobile-menu-search .wp-block-search__input {
        min-width:0;
        font-size:1rem
    }

    .wp-block-navigation__responsive-container.is-menu-open .df-mobile-menu-search .wp-block-search__button {
        align-self:stretch;
        width:52px;
        margin-left:4px;
        padding:0
    }

    .df-home-hero {
        border-radius:16px;
        min-height:680px
    }

    .df-hero-grid {
        display:block!important;
        min-height:680px;
        text-align:center;
        padding:54px 24px 95px!important
    }

    .df-hero-copy {
        margin:auto
    }

    .df-kicker {
        margin:auto
    }

    .df-hero-title {
        font-size:clamp(2.6rem,12vw,4rem);
        margin-top:18px
    }

    .df-hero-copy>p:not(.df-kicker) {
        font-size:.98rem
    }

    .df-hero-actions {
        justify-content:center
    }

    .df-hero-visual {
        min-height:210px;
        margin-top:28px
    }

    .df-hero-orb {
        width:205px;
        transform:none;
        border-width:8px
    }

    .df-floating-note {
        right:5%;
        top:16px;
        font-size:.8rem;
        padding:11px 14px
    }

    .df-reader-rail {
        width:calc(100% - 42px);
        margin:-42px auto 66px!important;
        grid-template-columns:1fr;
        padding:10px 22px
    }

    .df-reader-rail>.df-rail-item {
        padding:14px 0;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.45)
    }

    .df-reader-rail>.df-rail-item:last-child {
        border-bottom:0
    }

    .df-icon-disc {
        width:48px;
        height:48px
    }

    .df-section,.df-mint-stage,.df-dark-stage,.df-latest-stage,.df-about-story,.df-values-stage,.df-contact-stage {
        padding:68px 0
    }

    .df-story-grid,.df-about-grid {
        grid-template-columns:1fr;
        gap:20px
    }

    .df-story-stack {
        order:2
    }

    .df-story-stack>.df-story-tile {
        width:100%;
        max-width:none!important;
        box-sizing:border-box
    }

    .df-about-grid>.df-about-stat {
        width:100%;
        max-width:none!important;
        box-sizing:border-box
    }

    .df-story-grid>figure,.df-about-grid>figure {
        order:1
    }

    .df-story-grid>.df-story-copy,.df-about-grid>.df-story-copy {
        order:0;
        grid-column:auto;
        padding:0 10px 20px
    }

    .df-story-grid img,.df-about-grid img {
        height:380px;
        min-height:0
    }

    .df-story-tile {
        min-height:160px
    }

    .df-check-list {
        grid-template-columns:1fr
    }

    .df-feature-grid,.df-post-grid,.df-value-grid,.df-archive-query .wp-block-post-template,.df-related-query .wp-block-post-template {
        grid-template-columns:1fr
    }

    .df-section-heading-row {
        width:100%;
        max-width:none!important;
        margin-inline:0!important;
        margin-bottom:28px
    }

    .df-section-heading-row>.wp-block-column {
        width:100%!important;
        max-width:none!important;
        margin-inline:0!important
    }

    .df-feature-card img,.df-post-grid img,.df-archive-query .wp-block-post-featured-image img {
        height:245px
    }

    .df-question-grid {
        gap:35px
    }

    .df-faq-grid {
        gap:28px
    }

    .df-question-grid figure {
        order:-1
    }

    .df-question-grid img {
        height:340px
    }

    .df-inner-hero {
        width:calc(100% - 32px);
        min-height:300px;
        border-radius:16px;
        text-align:center;
        background-position:center
    }

    .df-search-main>.df-system-opening,
    .df-search-main>.df-archive-query {
        width:100%!important
    }

    .df-search-main>.df-system-opening {
        padding:34px 20px
    }

    .df-inner-hero-copy {
        padding:34px 20px
    }

    .df-inner-hero h1 {
        font-size:clamp(2.2rem,10vw,3.3rem)
    }

    .df-breadcrumb {
        font-size:.82rem
    }

    .df-archive-intro {
        padding:62px 22px 34px
    }

    .df-archive-query {
        width:calc(100% - 36px);
        margin-bottom:70px!important
    }

    .df-single-banner {
        min-height:370px
    }

    .df-single-banner .df-inner-hero-copy {
        min-height:370px
    }

    .df-single-banner .wp-block-post-title {
        text-align:center;
        font-size:clamp(2.2rem,10vw,3.4rem)
    }

    .df-single-banner .df-breadcrumb {
        margin:auto
    }

    .df-article-shell {
        width:calc(100% - 36px);
        padding:60px 0
    }

    .df-article-lead {
        width:100%!important;
        max-width:none!important;
        align-self:stretch;
        margin-bottom:38px
    }

    .df-article-shell .wp-block-post-content {
        font-size:1rem
    }

    .df-article-shell .wp-block-post-content h2 {
        font-size:1.75rem
    }

    .df-related-stage {
        padding:62px 18px
    }

    .df-form-grid {
        grid-template-columns:1fr
    }

    .df-contact-panel {
        padding:25px
    }

    .df-system-opening {
        padding:32px 22px
    }

    .df-footer-main {
        padding:62px 0 46px
    }

    .df-footer-brand {
        max-width:none
    }

    .df-footer-bottom .df-wide {
        display:block!important
    }

    .df-footer-bottom p+p {
        margin-top:5px
    }

}

@media(max-width:390px) {
    :root {
        --df-wide:calc(100% - 28px)
    }

    .df-primary-nav,.df-nav-inner {
        min-height:82px
    }

    .df-logo img {
        width:185px!important
    }

    .df-hero-grid {
        padding-inline:18px!important
    }

    .df-hero-title {
        font-size:2.62rem
    }

    .df-hero-actions {
        display:grid!important
    }

    .df-home-hero {
        width:calc(100% - 20px)
    }

    .df-reader-rail {
        width:calc(100% - 26px)
    }

    .df-section-title {
        font-size:2.3rem
    }

    .df-section-heading-row h2,.df-dark-stage h2,.df-faq-grid h2,.df-archive-intro h2 {
        font-size:2.25rem
    }

    .df-story-grid img,.df-about-grid img {
        height:320px
    }

    .df-feature-card img,.df-post-grid img,.df-archive-query .wp-block-post-featured-image img {
        height:218px
    }

    .df-question-grid img {
        height:300px
    }

    .df-footer-logo-panel {
        width:100%
    }

    .df-footer-logo-panel img {
        max-width:210px!important
    }

}

@media(max-width:390px) {
    .df-story-grid>.df-story-copy,.df-about-grid>.df-story-copy {
        padding-inline:0;
        box-sizing:border-box
    }

    .df-kicker,.df-label {
        width:auto;
        max-width:100%;
        box-sizing:border-box;
        white-space:normal
    }

}

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

    .df-motion-ready [data-df-reveal] {
        opacity:1!important;
        transform:none!important;
        transition:none!important
    }

    .df-feature-card,.df-post-grid>li,.df-feature-card img,.df-post-grid img,.df-navigation a {
        transition:none!important
    }

}

.df-hero-grid {
    width:100%;
    max-width:none!important;
    margin:0!important;
    grid-template-columns:1.04fr .96fr
}

.df-hero-copy {
    width:100%;
    max-width:none
}

.df-hero-title {
    font-size:clamp(3rem,4.7vw,4.55rem);
    line-height:.99;
    letter-spacing:-.05em;
    max-width:680px
}

@media(max-width:782px) {
    .df-hero-title {
        font-size:clamp(2.55rem,11vw,3.75rem)
    }

}

@media(max-width:390px) {
    .df-hero-title {
        font-size:2.48rem
    }

}

.df-archive-query .wp-block-post-template>.wp-block-post {
    width:auto!important;
    margin:0!important
}

.df-archive-intro {
    padding-top:58px
}

.df-archive-intro h2 {
    font-size:clamp(2.25rem,3.35vw,3.25rem)
}
