/* Trait uses the shared Déclic palette and design controls. */
.wp-child-theme-declic-trait.trio-preset-bois {
    --trait-space-1: 8px;
    --trait-space-2: 16px;
    --trait-space-3: 24px;
    --trait-space-4: 32px;
    --trait-space-5: clamp(32px, 5vw, 72px);
    --trait-section: var(--trio-section);
    --trait-logo-row: 80px;
    --trait-nav-row: 62px;
    --trait-admin: 0px;
    --trait-rule: color-mix(in srgb,var(--ink) 19%,transparent);
    --trait-shadow: 0 15px 46px color-mix(in srgb,var(--ink) 9%,transparent);
}
.wp-child-theme-declic-trait.trio-preset-bois.admin-bar { --trait-admin: 32px; }
.wp-child-theme-declic-trait.trio-preset-bois .site-header .brand,
.wp-child-theme-declic-trait.trio-preset-bois .trait-footer .brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: Georgia,'Times New Roman',serif;
    letter-spacing: -.045em;
    line-height: 1;
}
.wp-child-theme-declic-trait.trio-preset-bois .site-header .brand { font-size: clamp(27px, 3vw, 39px); }
.wp-child-theme-declic-trait.trio-preset-bois .trait-footer .brand { font-size: 32px; }
.wp-child-theme-declic-trait.trio-preset-bois :is(.site-header,.trait-footer) .brand-mark {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    color: var(--accent);
    border: 0;
    border-radius: 0;
    transform: none;
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-footer .brand-mark { color: var(--footer-text); }
.wp-child-theme-declic-trait.trio-preset-bois :is(.site-header,.trait-footer) .brand-mark::before {
    content: "";
    position: absolute;
    inset: 16px 6px auto;
    height: 1.5px;
    background: currentColor;
}
.wp-child-theme-declic-trait.trio-preset-bois :is(.site-header,.trait-footer) .brand-mark i {
    position: absolute;
    display: block;
    width: 23px;
    height: 24px;
    border: 1.5px solid currentColor;
    border-radius: 0;
    background: transparent;
    transform: none;
}
.wp-child-theme-declic-trait.trio-preset-bois :is(.site-header,.trait-footer) .brand-mark i:first-child {
    top: 2px;
    left: 2px;
    border-right-color: transparent;
    border-bottom-color: transparent;
}
.wp-child-theme-declic-trait.trio-preset-bois :is(.site-header,.trait-footer) .brand-mark i:last-child {
    right: 2px;
    bottom: 2px;
    top: auto;
    left: auto;
    border-top-color: transparent;
    border-left-color: transparent;
}
.wp-child-theme-declic-trait.trio-preset-bois .eyebrow {
    margin-block: 0 var(--trait-space-2);
    letter-spacing: .14em;
}
.wp-child-theme-declic-trait.trio-preset-bois #main :is(.lead,.prose p,.service-card p,.contact-grid p) { text-wrap: pretty; }
.wp-child-theme-declic-trait.trio-preset-bois #main :is(h1,h2,h3) { text-wrap: balance; }
.wp-child-theme-declic-trait.trio-preset-bois #main .section-heading {
    gap: var(--trait-space-3);
    margin-bottom: var(--trait-space-4);
}
.wp-child-theme-declic-trait.trio-preset-bois #main .section-heading p { max-width: 64ch; }
.wp-child-theme-declic-trait.trio-preset-bois #main .section-heading h2 { margin-bottom: var(--trait-space-2); }
.wp-child-theme-declic-trait.trio-preset-bois #main .db-editorial .prose { margin-top: var(--trait-space-2); }
.wp-child-theme-declic-trait.trio-preset-bois #main .db-editorial .text-link { margin-top: var(--trait-space-3); }

@media (min-width: 1025px) {
    .wp-child-theme-declic-trait.trio-preset-bois.trio-header-centered .site-header {
        position: sticky;
        top: calc(var(--trait-admin) - var(--trait-logo-row));
        z-index: 60;
    }
    .wp-child-theme-declic-trait.trio-preset-bois.trio-header-centered .db-header-centered .identity-bar {
        height: var(--trait-logo-row);
        min-height: var(--trait-logo-row);
    }
    .wp-child-theme-declic-trait.trio-preset-bois.trio-header-centered .navigation-bar > .container {
        min-height: var(--trait-nav-row);
        padding-block: 0;
        gap: clamp(20px, 4vw, 56px);
    }
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .navigation-bar .button.small {
    min-height: 42px;
    padding: 7px 14px !important;
    border: 1px solid var(--accent) !important;
    background: transparent !important;
    color: var(--accent) !important;
    gap: 10px !important;
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .navigation-bar .button.small::after {
    color: currentColor !important;
    background: transparent !important;
    width: 16px !important;
    height: 16px !important;
    padding: 0 !important;
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .navigation-bar .button.small:is(:hover,:focus-visible) {
    color: var(--button-text) !important;
    background: var(--button-background) !important;
}
.wp-child-theme-declic-trait.trio-preset-bois :is(main section,main [id]) {
    scroll-margin-top: calc(var(--trait-nav-row) + var(--trait-admin) + 12px);
}

.wp-child-theme-declic-trait.trio-preset-bois .trait-hero {
    position: relative;
    display: grid;
    align-items: center;
    min-height: clamp(500px, 52vw, 680px);
    isolation: isolate;
    background: var(--ink);
    color: var(--overlay-text);
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-hero-copy {
    padding-block: var(--trait-space-5);
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-hero :is(h1,.lead,.eyebrow,.back-link) { color: var(--overlay-text); }
.wp-child-theme-declic-trait.trio-preset-bois .trait-hero h1 {
    font-size: clamp(58px, 7.2vw, 102px);
    line-height: .99;
    letter-spacing: -.055em;
    margin: 0 0 var(--trait-space-3);
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-hero .lead {
    max-width: 41ch;
    margin: 0 0 var(--trait-space-4);
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-hero-media {
    position: absolute;
    inset: 0;
    z-index: -1;
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--trait-hero-focus);
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-hero-media::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(90deg,
        color-mix(in srgb,var(--trait-hero-shade) calc(var(--trait-hero-strength) * 1.8),transparent) 0%,
        color-mix(in srgb,var(--trait-hero-shade) var(--trait-hero-strength),transparent) 47%,
        transparent 82%);
}

.wp-child-theme-declic-trait.trio-preset-bois #main .db-portfolio-caption {
    display: block;
    padding-block: 16px;
}
.wp-child-theme-declic-trait.trio-preset-bois #main .db-portfolio-caption p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: .83rem;
}
.wp-child-theme-declic-trait.trio-preset-bois #main .db-portfolio-card > p {
    margin-top: 10px;
    font-size: .95rem;
}
@media (min-width: 900px) {
    .wp-child-theme-declic-trait.trio-preset-bois:not(.home) #main .db-portfolio-grid:not(.is-filtered) {
        grid-template-columns: repeat(12,minmax(0,1fr));
    }
    .wp-child-theme-declic-trait.trio-preset-bois:not(.home) #main .db-portfolio-grid:not(.is-filtered) > .db-portfolio-card:nth-child(n) { grid-column: span 6; }
    .wp-child-theme-declic-trait.trio-preset-bois:not(.home) #main .db-portfolio-grid:not(.is-filtered) > .db-portfolio-card:first-child { grid-column: span 7; }
    .wp-child-theme-declic-trait.trio-preset-bois:not(.home) #main .db-portfolio-grid:not(.is-filtered) > .db-portfolio-card:nth-child(2) { grid-column: span 5; }
}
.wp-child-theme-declic-trait.trio-preset-bois.single-dc_project #main .db-header-photo {
    background: var(--paper);
    padding-bottom: var(--trait-space-4);
    border-bottom: 0;
}
.wp-child-theme-declic-trait.trio-preset-bois.single-dc_project #main .db-header-photo-image {
    width: min(var(--content),calc(100% - 2 * var(--trait-gutter)));
    margin: var(--trait-space-4) auto 0;
}
.wp-child-theme-declic-trait.trio-preset-bois.single-dc_project #main .db-header-photo-image .db-zoom-image {
    display: block;
    border-radius: var(--trio-radius);
    overflow: hidden;
}
.wp-child-theme-declic-trait.trio-preset-bois.single-dc_project #main .db-title-aside > .container {
    grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr);
    gap: var(--trait-space-5);
    align-items: start;
}
.wp-child-theme-declic-trait.trio-preset-bois.single-dc_project #main .db-title-aside .eyebrow { grid-column: 1/-1; margin: 0; }

.wp-child-theme-declic-trait.trio-preset-bois #main .contact-panel {
    background: var(--paper);
    border: 1px solid var(--trait-rule);
    border-radius: var(--trio-radius);
    box-shadow: var(--trait-shadow);
    padding: clamp(24px,5vw,56px);
}
.wp-child-theme-declic-trait.trio-preset-bois #main .contact-panel :is(input:not([type=checkbox]),select,textarea) {
    min-height: 46px;
    padding: 12px 14px;
    border: 1px solid var(--trait-rule);
    border-radius: 3px;
    background: var(--paper);
}
.wp-child-theme-declic-trait.trio-preset-bois #main .contact-panel textarea { min-height: 128px; }
.wp-child-theme-declic-trait.trio-preset-bois #main .contact-panel fieldset {
    margin-block: var(--trait-space-3);
    border-color: var(--trait-rule);
}
.wp-child-theme-declic-trait.trio-preset-bois #main .contact-grid { align-items: start; }
.wp-child-theme-declic-trait.trio-preset-bois .dc-result-dialog {
    border: 1px solid var(--trait-rule);
    border-radius: var(--trio-radius);
    background: var(--paper);
    color: var(--ink);
}
.wp-child-theme-declic-trait.trio-preset-bois #main .dv-block:has(.cta-panel):last-child {
    padding-block: calc(var(--trait-section) * .7);
    background:
        radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--ink) 7%,transparent) .65px,transparent .95px) 0 0/8px 8px,
        var(--trait-warm);
    border-top: 1px solid var(--trait-rule);
}
.wp-child-theme-declic-trait.trio-preset-bois #main .dv-block:has(.cta-panel):last-child .cta-panel {
    border: 0;
    padding-inline: 0;
    background: transparent;
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-footer-main {
    padding-bottom: var(--trait-space-5);
    gap: var(--trait-space-5);
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-footer-brand p { max-width: 37ch; margin-top: 18px; }
.wp-child-theme-declic-trait.trio-preset-bois .trait-footer-bottom {
    padding-block: var(--trait-space-3);
    color: var(--footer-muted);
}

@media (max-width: 760px) {
    .wp-child-theme-declic-trait.trio-preset-bois .site-header .brand { font-size: 26px; }
    .wp-child-theme-declic-trait.trio-preset-bois .mobile-nav { padding: 12px var(--trait-gutter) 26px; }
    .wp-child-theme-declic-trait.trio-preset-bois .mobile-nav > a:not(.button) {
        padding-block: 15px;
        border-bottom: 1px solid var(--trait-rule);
    }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-hero {
        min-height: 0;
        background: var(--paper);
        color: var(--ink);
    }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-hero-copy { padding-block: 44px 32px; }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-hero :is(h1,.lead,.eyebrow,.back-link) { color: var(--ink); }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-hero h1 {
        font-size: clamp(44px,11.8vw,70px);
        margin-bottom: var(--trait-space-2);
    }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-hero .lead { margin-bottom: var(--trait-space-3); }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-hero-media {
        position: static;
        z-index: 0;
        aspect-ratio: 4/3;
    }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-hero-media::after { display: none; }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-hero-media img { object-position: 83% center; }
    .wp-child-theme-declic-trait.trio-preset-bois.single-dc_project #main .db-title-aside > .container { grid-template-columns: 1fr; gap: var(--trait-space-2); }
    .wp-child-theme-declic-trait.trio-preset-bois #main .contact-panel { padding: 22px; }
    .wp-child-theme-declic-trait.trio-preset-bois #main .contact-panel button[type=submit] { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .wp-child-theme-declic-trait.trio-preset-bois :is(a,button,summary) { transition: none; }
}

.wp-child-theme-declic-trait.trio-preset-bois .site-header .brand > :is(.db-desktop-logo,.db-mobile-logo) {
    align-items: center;
    gap: 12px;
}
@media (min-width: 761px) {
    .wp-child-theme-declic-trait.trio-preset-bois .site-header .brand > .db-desktop-logo { display: inline-flex; }
}
@media (max-width: 760px) {
    .wp-child-theme-declic-trait.trio-preset-bois .site-header .brand > .db-mobile-logo { display: inline-flex; }
}
.wp-child-theme-declic-trait.trio-preset-bois.home #main .db-editorial:has(+ .dv-block .process) {
    padding-bottom: calc(var(--trait-section) * .58);
}
.wp-child-theme-declic-trait.trio-preset-bois.home #main .db-editorial + .dv-block:has(.process) {
    padding-top: calc(var(--trait-section) * .46);
}
.wp-child-theme-declic-trait.trio-preset-bois.home #main .dv-block:has(.faq-layout):has(+ .dv-block .cta-panel) {
    padding-bottom: calc(var(--trait-section) * .62);
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .db-portfolio-more .text-link:not([data-declic-action-style]) {
    min-height: 44px;
    padding: 9px 18px !important;
    border: 1px solid var(--accent) !important;
    color: var(--accent) !important;
    gap: 12px !important;
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .db-portfolio-more .text-link:not([data-declic-action-style]):is(:hover,:focus-visible) {
    background: var(--soft) !important;
}

@media (max-width: 760px) {
    .wp-child-theme-declic-trait.trio-preset-bois #main .contact-grid {
        grid-template-columns: minmax(0,1fr);
    }
    .wp-child-theme-declic-trait.trio-preset-bois #main .contact-grid > *,
    .wp-child-theme-declic-trait.trio-preset-bois #main .contact-panel :is(form,fieldset,label,select,input,textarea) {
        min-inline-size: 0;
        max-inline-size: 100%;
    }
}

@font-face {
    font-family: "DM Sans";
    src: url("fonts/dm-sans-regular.woff") format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: "DM Sans";
    src: url("fonts/dm-sans-medium.woff") format("woff");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: "DM Sans";
    src: url("fonts/dm-sans-semibold.woff") format("woff");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: "Barlow Condensed";
    src: url("fonts/barlow-condensed-medium.woff") format("woff");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

.wp-child-theme-declic-trait.trio-preset-bois #main :is(.prose p,.section-heading p,.db-composition-copy p,.contact-grid > div:first-child > p):not(.eyebrow) {
    font-size: clamp(16px,1.24vw,17px);
    line-height: 1.7;
}
.wp-child-theme-declic-trait.trio-preset-bois #main :is(.trait-hero,.page-intro) .lead {
    font-size: clamp(16px,1.4vw,19px);
    line-height: 1.58;
}
.wp-child-theme-declic-trait.trio-preset-bois #main .eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .15em;
}
.wp-child-theme-declic-trait.trio-preset-bois :is(.site-header,.trait-footer) nav a:not(.button),
.wp-child-theme-declic-trait.trio-preset-bois .menu-toggle {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .03em;
}
.wp-child-theme-declic-trait.trio-preset-bois .navigation-bar nav a::after {
    bottom: 6px;
    height: 1px;
}
.wp-child-theme-declic-trait.trio-preset-bois :is(.button,.text-link,.trait-footer-cta) {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .012em;
}
.wp-child-theme-declic-trait.trio-preset-bois .navigation-bar .button.small {
    font-size: 13px;
    letter-spacing: .02em;
}
.wp-child-theme-declic-trait.trio-preset-bois #main .back-link {
    font-size: 14px;
    font-weight: 500;
}
@media (max-width: 760px) {
    .wp-child-theme-declic-trait.trio-preset-bois #mobile-nav > a:not(.button) { font-size: 21px; }
    .wp-child-theme-declic-trait.trio-preset-bois .menu-toggle { font-size: 16px; }
}

@font-face {
    font-family: "Barlow Condensed";
    src: url("fonts/barlow-condensed-regular.woff") format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

.wp-child-theme-declic-trait.trio-preset-bois {
    --trait-logo-row: 74px;
    --trait-nav-row: 49px;
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .identity-bar {
    justify-content: space-between;
    gap: 20px;
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .brand {
    font-weight: 400;
    letter-spacing: -.04em;
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header :is(.menu-toggle,nav a:not(.button)) {
    font-weight: 400;
    letter-spacing: .045em;
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header :is(.navigation-bar,.mobile-nav) {
    --trait-menu-brown: var(--footer);
    --trait-menu-cream: var(--footer-text);
    --trait-menu-copper: color-mix(in srgb,var(--accent) 39%,var(--paper));
    background-color: var(--trait-menu-brown) !important;
    color: var(--trait-menu-cream);
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .navigation-bar {
    border: 0;
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .navigation-bar nav {
    display: flex;
    justify-content: space-between;
    width: min(100%, 720px);
    gap: clamp(16px,4vw,54px);
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header :is(.navigation-bar nav,.mobile-nav) a:not(.button) {
    color: var(--trait-menu-cream) !important;
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header :is(.navigation-bar nav,.mobile-nav) a:is([aria-current],:hover,:focus-visible):not(.button) {
    color: var(--trait-menu-copper) !important;
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .navigation-bar nav a::after {
    background: var(--trait-menu-copper);
    bottom: 4px;
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header :is(.navigation-bar nav,.mobile-nav) a:focus-visible {
    outline-color: var(--trait-menu-copper) !important;
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-header-quote {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 7px 15px;
    color: var(--accent);
    border: 1px solid currentColor;
    font-family: var(--font-button);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .012em;
}
.wp-child-theme-declic-trait.trio-preset-bois .trait-header-quote:is(:hover,:focus-visible) {
    color: var(--button-text);
    background: var(--button-background);
    border-color: var(--button-background);
}
.wp-child-theme-declic-trait.trio-preset-bois #main .trait-hero h1 {
    font-weight: 400;
}
.wp-child-theme-declic-trait.trio-preset-bois #main .trait-hero .lead {
    max-width: 43ch;
}
.wp-child-theme-declic-trait.trio-preset-bois #main .trait-hero .button {
    font-weight: 500;
}
@media (max-width: 760px) {
    .wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .identity-bar {
        min-height: 65px;
        padding-block: 8px;
    }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-header-quote {
        display: none;
    }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .mobile-nav {
        padding-block: 12px 24px;
    }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .mobile-nav > a:not(.button) {
        border-color: color-mix(in srgb,var(--trait-menu-cream) 22%,transparent);
    }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .mobile-nav > a[aria-current]:not(.button) {
        box-shadow: inset 2px 0 var(--trait-menu-copper);
        padding-inline-start: 12px;
    }
    body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .trait-mobile-quote {
        min-height: 44px;
        padding: 9px 14px !important;
        color: var(--trait-menu-cream) !important;
        background: transparent !important;
        border: 1px solid var(--trait-menu-cream) !important;
        font-weight: 500;
    }
    body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .trait-mobile-quote::after {
        color: currentColor !important;
        background: transparent !important;
    }
}

@media (min-width: 761px) {
    .wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .identity-bar {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
        align-items: center;
    }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .brand {
        grid-column: 2;
        justify-self: center;
    }
    .wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .trait-header-quote {
        grid-column: 3;
        justify-self: end;
    }
}


body.declic-site.wp-child-theme-declic-trait.trio-preset-bois {
    --trait-action-duration: 240ms;
    --trait-action-ease: cubic-bezier(.22,.61,.36,1);
}
/* Keep the hit area and icon fixed while the colors interpolate. */
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois :is(button,[role=button],.button,.text-link,.trait-header-quote,.trait-footer-cta,.db-footer-action,.db-service-arrow,[data-declic-action-style]) {
    transform: none !important;
    transition-property: background-color,color,border-color,text-decoration-color,box-shadow;
    transition-duration: var(--trait-action-duration);
    transition-timing-function: var(--trait-action-ease);
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois :is(.button,.text-link,.trait-header-quote,.trait-footer-cta,.db-footer-action,.db-service-arrow,[data-declic-action-style]) > span[aria-hidden=true],
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .mobile-nav > a {
    transform: none !important;
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois :is(.button,.text-link,.db-footer-action,.db-service-arrow,[data-declic-action-style])::after {
    transform: none !important;
    transition: background-color var(--trait-action-duration) var(--trait-action-ease),
                color var(--trait-action-duration) var(--trait-action-ease),
                border-color var(--trait-action-duration) var(--trait-action-ease);
}
/* A regular text link keeps its colored icon surface only in the active state. */
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois :is(.text-link,.db-footer-action,.db-service-arrow):not(:hover,:focus-visible)::after {
    background-color: transparent !important;
}
/* Filled actions have one painted surface, including their arrow. */
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois :is(.button,[data-declic-action-style=filled],[data-declic-action-style=rounded])::after,
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois :is(.button,[data-declic-action-style=filled],[data-declic-action-style=rounded]):is(:hover,:focus-visible)::after {
    background-color: transparent !important;
    border-color: transparent !important;
    color: currentColor !important;
}
/* Outlined actions turn into a continuous brown surface on hover or keyboard focus. */
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois :is(.db-portfolio-more .text-link:not([data-declic-action-style]),.trait-header-quote,.trait-brown-header .trait-mobile-quote,[data-declic-action-style=outline]):is(:hover,:focus-visible) {
    background-color: var(--footer) !important;
    border-color: var(--footer) !important;
    color: #fff !important;
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois .trait-brown-header .trait-mobile-quote:is(:hover,:focus-visible) {
    border-color: var(--trait-menu-cream) !important;
}
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois :is(.db-portfolio-more .text-link:not([data-declic-action-style]),[data-declic-action-style=outline])::after,
body.declic-site.wp-child-theme-declic-trait.trio-preset-bois :is(.db-portfolio-more .text-link:not([data-declic-action-style]),[data-declic-action-style=outline]):is(:hover,:focus-visible)::after {
    background-color: transparent !important;
    border-color: transparent !important;
    color: currentColor !important;
}
@media (prefers-reduced-motion: reduce) {
    body.declic-site.wp-child-theme-declic-trait.trio-preset-bois { --trait-action-duration: 0ms; }
}

.wp-child-theme-declic-trait.trio-preset-bois .trait-footer nav a:not(.button) {
    font-weight: 400;
}

.wp-child-theme-declic-trait.trio-preset-bois.single-dc_service #main .trait-service-hero {
    background: var(--trait-warm);
    padding-block: clamp(46px,6.5vw,100px);
}
.trait-service-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: var(--trait-space-5);
    align-items: center;
}
.wp-child-theme-declic-trait.trio-preset-bois #main .trait-service-hero .back-link {
    display: inline-block;
    margin-bottom: var(--trait-space-3);
}
.wp-child-theme-declic-trait.trio-preset-bois #main .trait-service-hero h1 {
    font-size: clamp(44px,5.25vw,76px);
    font-weight: 400;
}
.wp-child-theme-declic-trait.trio-preset-bois #main .trait-service-hero .lead {
    max-width: 38ch;
    margin-bottom: var(--trait-space-3);
}
.trait-service-hero-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4/3;
    height: auto;
    object-fit: cover;
    object-position: var(--trait-service-focus,50% 50%);
    border-radius: var(--trio-radius);
}
.wp-child-theme-declic-trait.trio-preset-bois.single-dc_service #main .db-title-aside > .container {
    grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
    gap: var(--trait-space-5);
}
.wp-child-theme-declic-trait.trio-preset-bois.single-dc_service #main #projet .about-grid {
    align-items: center;
}
.wp-child-theme-declic-trait.trio-preset-bois.single-dc_service #main #projet .about-image img {
    aspect-ratio: 4/3;
    object-fit: cover;
}
@media (max-width: 760px) {
    .trait-service-hero-grid { grid-template-columns: minmax(0,1fr); gap: var(--trait-space-4); }
    .wp-child-theme-declic-trait.trio-preset-bois #main .trait-service-hero h1 { font-size: clamp(40px,10vw,58px); }
}

.wp-child-theme-declic-trait.trio-preset-bois #main .page-intro.trait-project-cover {
    background: var(--ink);
    color: var(--paper);
    padding-block: clamp(26px,4vw,58px) clamp(42px,6vw,86px);
    border: 0;
}
.trait-project-cover-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px 24px;
    padding-bottom: var(--trait-space-3);
}
.wp-child-theme-declic-trait.trio-preset-bois #main .trait-project-cover :is(h1,.lead,.eyebrow,.back-link,.trait-project-cover-meta) {
    color: var(--paper);
}
.wp-child-theme-declic-trait.trio-preset-bois #main .trait-project-cover .back-link:is(:hover,:focus-visible) {
    color: color-mix(in srgb,var(--accent) 38%,var(--paper));
}
.trait-project-cover-meta {
    margin: 0;
    font-size: .84rem;
    letter-spacing: .04em;
}
.trait-project-cover-photo .db-zoom-image {
    display: block;
    overflow: hidden;
    border-radius: var(--trio-radius);
}
.trait-project-cover-photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2.15/1;
    object-fit: cover;
    object-position: var(--trait-project-focus,50% 50%);
}
.trait-project-cover-caption {
    display: grid;
    grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr);
    gap: var(--trait-space-5);
    align-items: end;
    padding-top: clamp(26px,4vw,52px);
}
.wp-child-theme-declic-trait.trio-preset-bois #main .trait-project-cover-caption h1 {
    max-width: 22ch;
    margin: 0;
    font-size: clamp(39px,5.3vw,74px);
    font-weight: 400;
}
.wp-child-theme-declic-trait.trio-preset-bois #main .trait-project-cover-caption .lead {
    margin: 0;
    max-width: 39ch;
}
.wp-child-theme-declic-trait.trio-preset-bois.single-dc_project #main #le-projet .prose {
    max-width: none;
    columns: auto;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: var(--trait-space-5);
}
.trait-project-story-part {
    border-top: 1px solid var(--trait-rule);
    padding-top: var(--trait-space-3);
}
.trait-project-story-part h3 { margin-top: 0; }
@media (max-width: 760px) {
    .trait-project-cover-caption,
    .wp-child-theme-declic-trait.trio-preset-bois.single-dc_project #main #le-projet .prose {
        grid-template-columns: minmax(0,1fr);
        gap: var(--trait-space-3);
    }
    .trait-project-cover-photo img { aspect-ratio: 4/3; }
}

.trait-project-cover-photo .db-zoom-hint {
    position: absolute;
    font-size: 0;
}
.trait-project-cover-photo .db-zoom-hint::before,
.trait-project-cover-photo .db-zoom-hint::after {
    content: "";
    position: absolute;
}
.trait-project-cover-photo .db-zoom-hint::before {
    width: 11px;
    height: 11px;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    top: calc(50% - 7px);
    left: calc(50% - 7px);
}
.trait-project-cover-photo .db-zoom-hint::after {
    width: 6px;
    height: 1.5px;
    background: currentColor;
    top: calc(50% + 4px);
    left: calc(50% + 2px);
    transform: rotate(45deg);
}

@media (max-width: 760px) {
    .wp-child-theme-declic-trait.trio-preset-bois.single-dc_project .db-project-navigation {
        grid-template-columns: minmax(0,1fr);
        gap: var(--trait-space-3);
    }
    .wp-child-theme-declic-trait.trio-preset-bois.single-dc_project .db-project-navigation > span:empty {
        display: none;
    }
    .wp-child-theme-declic-trait.trio-preset-bois.single-dc_project .db-project-navigation .db-project-neighbour {
        min-width: 0;
        align-items: flex-start;
        text-align: left;
        overflow-wrap: anywhere;
    }
}
