/* =========================================================
   DÉVELOPPEMENT WEB — concept "CODE → RENDU"
   L'éditeur tape le code, le site se construit à côté.
   Double thème clair/sombre · blueprint · modules services.
   ========================================================= */

#dw {
    /* CLAIR */

    --bg:#F6F5F1;
    --bg2:#FFFFFF;
    --ink:#0B0B0A;
    --soft:rgba(11,11,10,.75);
    --dim:#6E6E73;
    --line:rgba(11,11,10,.12);
    --acc:#FF8A3D;
    --acc2:#F57323;
    --ed:#101010;
    --edink:#E8E4DC;
    --tok1:#FF8A3D;
    --tok2:#7EC8A3;
    --tok3:#8FB8E8;
    --tok4:#6E6A63;
    --serif:"Schibsted Grotesk",system-ui,-apple-system,Segoe UI,sans-serif;
    --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
    position:relative;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--serif);
    overflow-x:clip;
    -webkit-font-smoothing:antialiased;
}

#intro,#cur-dot,#cur-ring {
    display:none!important
}

body.locked {
    overflow:auto!important;
    height:auto!important
}

[data-theme="dark"] #dw {
    --bg:#0B0A09;
    --bg2:#141312;
    --ink:#F4F1EB;
    --soft:rgba(244,241,235,.82);
    --dim:#98938A;
    --line:rgba(244,241,235,.14);
    --ed:#0D0D0C;
}

#dw * {
    box-sizing:border-box;
}

#dw a {
    color:inherit;
    text-decoration:none;
}

#dw ::selection {
    background:var(--acc);
    color:#0B0B0A;
}

.dw-wrap {
    width:min(1240px,calc(100% - 40px));
    margin:0 auto;
}

.dw-mono {
    font-family:var(--mono);
}

/* Fond blueprint (grille pointée) */

#dw:before {
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.5;
    background-image:radial-gradient(var(--line) 1px, transparent 1.2px);
    background-size:26px 26px;
}

#dw > * {
    position:relative;
    z-index:1;
}

/* Progression */

#dwProg {
    position:fixed;
    top:0;
    left:0;
    height:2px;
    width:100%;
    z-index:95;
    transform:scaleX(0);
    transform-origin:0 50%;
    background:linear-gradient(90deg,var(--acc),var(--acc2));
}

/* Reveal */

#dw.is-ready [data-r] {
    opacity:0;
    transform:translateY(26px);
}

#dw.is-ready [data-r].in {
    opacity:1;
    transform:none;
    transition:opacity 1s cubic-bezier(.19,1,.22,1),transform 1s cubic-bezier(.19,1,.22,1);
    transition-delay:var(--d,0s);
}

.dw-eyebrow {
    font-family:var(--mono);
    font-size:.6rem;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:var(--dim);
}

.dw-eyebrow b {
    color:var(--acc);
}

.dw-hl {
    background:linear-gradient(rgba(255,138,61,.3),rgba(255,138,61,.3)) no-repeat;
    background-size:0% 100%;
    background-position:0 62%;
    padding:0 .05em;
}

#dw .dw-hl.lit {
    background-size:100% 100%;
    transition:background-size .9s cubic-bezier(.5,0,.1,1) var(--hd,0s);
}

.dw-btn {
    display:inline-flex;
    align-items:center;
    gap:.7rem;
    height:50px;
    padding:0 1.4rem;
    border-radius:8px;
    font-family:var(--mono);
    font-size:.68rem;
    font-weight:600;
    border:1.5px solid var(--ink);
    transition:.4s cubic-bezier(.19,1,.22,1);
    will-change:transform;
}

.dw-btn.fill {
    background:var(--acc);
    border-color:var(--acc);
    color:#0B0B0A;
}

.dw-btn:hover {
    background:var(--ink);
    color:var(--bg);
}

.dw-btn.fill:hover {
    background:var(--acc2);
    border-color:var(--acc2);
    color:#0B0B0A;
}

/* ---------------- HERO : CODE → RENDU ---------------- */

.dw-hero {
    padding:calc(var(--header-h,80px) + 1.6rem) 0 2rem;
}

.dw-hero-top {
    display:flex;
    justify-content:space-between;
    gap:1rem;
    flex-wrap:wrap;
    margin-bottom:1.2rem;
}

.dw-hero h1 {
    font-weight:900;
    letter-spacing:-.045em;
    line-height:.96;
    font-size:clamp(1.65rem,4vw,3rem);
    max-width:18ch;
}

.dw-hero h1 span {
    color:var(--acc);
}

.dw-lede {
    margin-top:.9rem;
    font-size:clamp(.85rem,1.2vw,1rem);
    line-height:1.6;
    max-width:56ch;
    color:var(--soft);
}

.dw-cta {
    display:flex;
    gap:.7rem;
    flex-wrap:wrap;
    margin-top:1.2rem;
}

.dw-demo {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:1rem;
    margin-top:2rem;
    align-items:stretch;
}

@media(max-width:880px) {
    .dw-demo {
        grid-template-columns:1fr;
    }

}

/* Éditeur */

.dw-editor {
    background:var(--ed);
    border-radius:14px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 40px 80px -55px rgba(0,0,0,.7);
    display:flex;
    flex-direction:column;
    min-height:380px;
}

.dw-ebar {
    display:flex;
    align-items:center;
    gap:.5rem;
    padding:.65rem .9rem;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.dw-ebar i {
    width:10px;
    height:10px;
    border-radius:50%;
}

.dw-ebar i:nth-child(1) {
    background:#FF5F57;
}

.dw-ebar i:nth-child(2) {
    background:#FEBC2E;
}

.dw-ebar i:nth-child(3) {
    background:#28C840;
}

.dw-ebar .fn {
    margin-left:.6rem;
    font-family:var(--mono);
    font-size:.6rem;
    color:rgba(232,228,220,.55);
    letter-spacing:.06em;
}

.dw-ebar .st {
    margin-left:auto;
    font-family:var(--mono);
    font-size:.55rem;
    color:var(--tok2);
}

.dw-code {
    flex:1;
    padding:1rem 1.1rem;
    font-family:var(--mono);
    font-size:.7rem;
    line-height:1.85;
    color:var(--edink);
    white-space:pre-wrap;
    overflow:hidden;
}

.dw-code .ln {
    display:block;
    padding-left:2.2rem;
    position:relative;
    min-height:1.85em;
}

.dw-code .ln:before {
    content:attr(data-n);
    position:absolute;
    left:0;
    width:1.5rem;
    text-align:right;
    color:rgba(232,228,220,.22);
    font-size:.6rem;
}

.dw-code .t1 {
    color:var(--tok1);
}

/* balises */

.dw-code .t2 {
    color:var(--tok2);
}

/* attributs */

.dw-code .t3 {
    color:var(--tok3);
}

/* valeurs */

.dw-code .t4 {
    color:var(--tok4);
    font-style:italic;
}

/* commentaires */

.dw-caret {
    display:inline-block;
    width:7px;
    height:1.05em;
    background:var(--acc);
    vertical-align:-.15em;
    animation:dwBlink 1s steps(1) infinite;
}

@keyframes dwBlink {
    50% {
        opacity:0;
    }

}

.dw-term {
    border-top:1px solid rgba(255,255,255,.08);
    padding:.6rem 1.1rem;
    font-family:var(--mono);
    font-size:.6rem;
    color:rgba(232,228,220,.6);
}

.dw-term b {
    color:var(--tok2);
    font-weight:600;
}

/* Préview navigateur */

.dw-browser {
    background:var(--bg2);
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    box-shadow:0 40px 80px -60px rgba(0,0,0,.4);
}

.dw-bbar {
    display:flex;
    align-items:center;
    gap:.6rem;
    padding:.6rem .9rem;
    border-bottom:1px solid var(--line);
}

.dw-bbar i {
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--line);
}

.dw-url {
    flex:1;
    font-family:var(--mono);
    font-size:.56rem;
    color:var(--dim);
    background:var(--bg);
    border:1px solid var(--line);
    border-radius:99px;
    padding:.32rem .8rem;
    display:flex;
    align-items:center;
    gap:.4rem;
}

.dw-url:before {
    content:"🔒";
    font-size:.55rem;
}

.dw-view {
    flex:1;
    padding:1.1rem;
    display:flex;
    flex-direction:column;
    gap:.75rem;
    min-height:300px;
}

.dw-view .el {
    opacity:0;
    transform:translateY(10px) scale(.97);
}

.dw-view .el.on {
    opacity:1;
    transform:none;
    transition:opacity .5s cubic-bezier(.34,1.56,.64,1),transform .5s cubic-bezier(.34,1.56,.64,1);
}

.dw-v-nav {
    display:flex;
    align-items:center;
    gap:.6rem;
}

.dw-v-nav .lg {
    width:26px;
    height:26px;
    border-radius:7px;
    background:linear-gradient(135deg,var(--acc),var(--acc2));
}

.dw-v-nav .mn {
    margin-left:auto;
    display:flex;
    gap:.4rem;
}

.dw-v-nav .mn i {
    width:34px;
    height:7px;
    border-radius:99px;
    background:var(--line);
}

.dw-v-h1 {
    font-weight:900;
    letter-spacing:-.03em;
    font-size:clamp(.95rem,2vw,1.45rem);
    line-height:1.05;
}

.dw-v-h1 em {
    font-style:normal;
    color:var(--acc);
}

.dw-v-p {
    height:7px;
    border-radius:99px;
    background:var(--line);
    width:86%;
}

.dw-v-p.s2 {
    width:64%;
}

.dw-v-btn {
    align-self:flex-start;
    font-family:var(--mono);
    font-size:.56rem;
    font-weight:700;
    color:#0B0B0A;
    background:linear-gradient(135deg,var(--acc),var(--acc2));
    border-radius:8px;
    padding:.5rem .9rem;
}

.dw-v-img {
    flex:1;
    min-height:74px;
    border-radius:10px;
    overflow:hidden;
    border:1px solid var(--line);
}

.dw-v-img img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.dw-v-cards {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:.55rem;
}

.dw-v-cards i {
    height:44px;
    border-radius:8px;
    background:var(--bg);
    border:1px solid var(--line);
    position:relative;
    overflow:hidden;
}

.dw-v-cards i:after {
    content:"";
    position:absolute;
    left:6px;
    right:22px;
    bottom:7px;
    height:5px;
    border-radius:99px;
    background:var(--line);
}

.dw-v-ok {
    margin-top:auto;
    font-family:var(--mono);
    font-size:.55rem;
    color:var(--tok2);
    display:flex;
    align-items:center;
    gap:.4rem;
}

.dw-v-ok:before {
    content:"✓";
    display:grid;
    place-items:center;
    width:15px;
    height:15px;
    border-radius:50%;
    background:var(--tok2);
    color:#0B0B0A;
    font-size:.5rem;
}

/* Marquee technologies */

.dw-marquee {
    overflow:hidden;
    padding:.6rem 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    margin-top:2rem;
}

.dw-track {
    display:flex;
    width:max-content;
    animation:dwMarq 26s linear infinite;
}

.dw-track:hover {
    animation-play-state:paused;
}

.dw-track span {
    font-family:var(--mono);
    font-weight:600;
    font-size:.68rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    padding:0 1.1rem;
    color:var(--dim);
    white-space:nowrap;
}

.dw-track .sep {
    color:var(--acc);
}

@keyframes dwMarq {
    to {
        transform:translateX(-50%);
    }

}

/* ---------------- PARTENAIRE ---------------- */

.dw-partner {
    padding:clamp(3rem,7vw,5rem) 0;
}

.dw-pgrid {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:clamp(1.5rem,4vw,3rem);
    align-items:center;
}

.dw-quote {
    font-weight:800;
    letter-spacing:-.025em;
    line-height:1.14;
    font-size:clamp(1.15rem,2.35vw,1.8rem);
    max-width:26ch;
    margin-top:1rem;
}

.dw-quote .dim {
    color:var(--dim);
}

.dw-note {
    margin-top:1.6rem;
    display:flex;
    gap:1.8rem;
    flex-wrap:wrap;
    font-family:var(--mono);
    font-size:.65rem;
    color:var(--dim);
}

.dw-note b {
    color:var(--ink);
    display:block;
}

.dw-pimg {
    overflow:hidden;
    border-radius:12px;
    border:1px solid var(--line);
    height:clamp(240px,40vh,380px);
    position:relative;
}

.dw-pimg img {
    width:100%;
    height:100%;
    object-fit:cover;
    filter:grayscale(1) contrast(1.04);
    transition:filter .9s,transform 1.1s;
}

.dw-pimg:hover img {
    filter:none;
    transform:scale(1.05);
}

.dw-pimg .tag {
    position:absolute;
    left:.9rem;
    top:.9rem;
    font-family:var(--mono);
    font-size:.55rem;
    letter-spacing:.14em;
    background:var(--bg2);
    border:1px solid var(--line);
    border-radius:99px;
    padding:.4rem .75rem;
    color:var(--dim);
}

@media(max-width:880px) {
    .dw-pgrid {
        grid-template-columns:1fr;
    }

}

/* ---------------- SEO : checklist animée ---------------- */

.dw-seo {
    background:var(--ink);
    color:var(--bg);
    padding:clamp(3rem,7vw,5rem) 0;
}

[data-theme="dark"] .dw-seo {
    background:#050505;
    color:#F4F1EB;
}

.dw-seo .dw-eyebrow {
    color:var(--acc2);
}

.dw-seo h2 {
    font-weight:900;
    letter-spacing:-.035em;
    line-height:1;
    font-size:clamp(1.25rem,2.7vw,2rem);
    margin-top:.6rem;
    max-width:22ch;
}

.dw-seo .intro {
    margin-top:1rem;
    color:rgba(244,241,235,.7);
    line-height:1.6;
    max-width:60ch;
    font-size:.82rem;
}

.dw-checks {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem;
    margin-top:2rem;
}

.dw-check {
    border:1px solid rgba(244,241,235,.16);
    border-radius:14px;
    padding:1.2rem;
    position:relative;
    overflow:hidden;
    transition:.4s cubic-bezier(.19,1,.22,1);
}

.dw-check:hover {
    transform:translateY(-4px);
    border-color:rgba(255,138,61,.5);
}

.dw-check svg {
    width:30px;
    height:30px;
}

.dw-check circle {
    fill:none;
    stroke:rgba(244,241,235,.25);
    stroke-width:2;
}

.dw-check path {
    fill:none;
    stroke:var(--acc2);
    stroke-width:2.6;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-dasharray:24;
    stroke-dashoffset:24;
}

.dw-check.in path {
    stroke-dashoffset:0;
    transition:stroke-dashoffset .7s cubic-bezier(.5,0,.1,1) var(--cd,.3s);
}

.dw-check b {
    display:block;
    margin-top:.8rem;
    font-size:.9rem;
    letter-spacing:-.015em;
}

.dw-check p {
    margin-top:.45rem;
    font-size:.72rem;
    line-height:1.55;
    color:rgba(244,241,235,.65);
}

@media(max-width:820px) {
    .dw-checks {
        grid-template-columns:1fr;
    }

}

/* ---------------- MODULES : nos services ---------------- */

.dw-mods {
    padding:clamp(3rem,7vw,5rem) 0;
}

.dw-mods-head {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:1rem;
    flex-wrap:wrap;
    margin-bottom:1.6rem;
}

.dw-mods-head h2 {
    font-weight:900;
    letter-spacing:-.035em;
    line-height:1;
    font-size:clamp(1.25rem,2.7vw,2rem);
    max-width:18ch;
}

.dw-mgrid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:.9rem;
}

.dw-mod {
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--bg2);
    padding:1rem 1.1rem;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    gap:.5rem;
    min-height:150px;
    transition:.4s cubic-bezier(.19,1,.22,1);
}

.dw-mod .path {
    font-family:var(--mono);
    font-size:.55rem;
    letter-spacing:.06em;
    color:var(--dim);
    display:flex;
    align-items:center;
    gap:.45rem;
}

.dw-mod .path:before {
    content:"</>";
    font-size:.5rem;
    color:var(--acc);
    font-weight:700;
}

.dw-mod b {
    font-size:.88rem;
    letter-spacing:-.015em;
    line-height:1.15;
}

.dw-mod p {
    font-size:.7rem;
    line-height:1.5;
    color:var(--dim);
}

.dw-mod .go {
    margin-top:auto;
    align-self:flex-end;
    width:30px;
    height:30px;
    border-radius:50%;
    border:1.5px solid var(--line);
    display:grid;
    place-items:center;
    font-size:.68rem;
    transition:.4s;
    opacity:0;
    transform:translateY(6px);
}

.dw-mod:hover {
    transform:translateY(-5px);
    border-color:rgba(255,107,26,.5);
    box-shadow:0 26px 50px -38px rgba(0,0,0,.5);
}

.dw-mod:hover .go {
    opacity:1;
    transform:none;
    background:var(--acc);
    border-color:var(--acc);
    color:#0B0B0A;
}

/* trait qui se dessine en haut à l'entrée */

.dw-mod:after {
    content:"";
    position:absolute;
    left:1.1rem;
    right:auto;
    top:0;
    width:34px;
    height:2px;
    background:var(--acc);
    transform:scaleX(0);
    transform-origin:0 50%;
}

.dw-mod.in:after {
    transform:scaleX(1);
    transition:transform .8s cubic-bezier(.19,1,.22,1) calc(var(--d,0s) + .35s);
}

@media(max-width:980px) {
    .dw-mgrid {
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:600px) {
    .dw-mgrid {
        grid-template-columns:1fr;
    }

}

/* ---------------- DUO + CTA ---------------- */

.dw-duo {
    padding:0 0 clamp(3rem,7vw,5rem);
}

.dw-duo-card {
    border:1px solid var(--line);
    border-radius:16px;
    background:var(--bg2);
    padding:clamp(1.4rem,4vw,2.6rem);
    display:grid;
    grid-template-columns:1fr auto;
    gap:1.4rem;
    align-items:center;
    position:relative;
    overflow:hidden;
}

.dw-duo-card:before {
    content:"";
    position:absolute;
    right:-12%;
    top:-60%;
    width:46%;
    height:220%;
    background:radial-gradient(circle,rgba(255,107,26,.14),transparent 65%);
}

.dw-duo-card h2 {
    font-weight:900;
    letter-spacing:-.03em;
    line-height:1.05;
    font-size:clamp(1.15rem,2.5vw,1.85rem);
    max-width:24ch;
    position:relative;
}

.dw-duo-card p {
    margin-top:.8rem;
    color:var(--dim);
    line-height:1.6;
    max-width:58ch;
    font-size:.8rem;
    position:relative;
}

@media(max-width:820px) {
    .dw-duo-card {
        grid-template-columns:1fr;
    }

}

@media(prefers-reduced-motion:reduce) {
    #dw * {
        animation:none !important;
    }

    #dw.is-ready [data-r] {
        opacity:1 !important;
        transform:none !important;
    }

    .dw-hl {
        background-size:100% 100% !important;
    }

    .dw-view .el {
        opacity:1 !important;
        transform:none !important;
    }

    .dw-check path {
        stroke-dashoffset:0 !important;
    }

    .dw-mod:after {
        transform:scaleX(1) !important;
    }

}

/* === AJOUTS POUR LES SECTIONS DU SCHÉMA === */

/* SYO WEB — schéma service complet, 12 octobre 2026.
   Styles limités à cette page et à son footer. */

#dw {
    --bg:#f6f5f1;
    --paper:#fff;
    --ink:#121211;
    --muted:#63635f;
    --line:#deded7;
    --acc:#ff8a3d;
    --acc2:#f57323;
    --font:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
    --mono:"JetBrains Mono",ui-monospace,monospace;
    font-family:var(--font);
    color:var(--ink);
    background:var(--bg);
    line-height:1.6;
    isolation:isolate;
    -webkit-font-smoothing:antialiased
}

#dw * {
    box-sizing:border-box
}

#dw h1,#dw h2,#dw h3,#dw p,#dw ul,#dw ol,#dw dl,#dw figure {
    margin:0
}

#dw a {
    color:inherit;
    text-decoration:none
}

#dw a:hover {
    text-decoration:none
}

#dw button,#dw input,#dw select,#dw textarea {
    font:inherit
}

#dw button {
    cursor:pointer
}

#dw [hidden] {
    display:none!important
}

#dw :focus-visible {
    outline:3px solid var(--acc2);
    outline-offset:4px
}

#dw ::selection {
    background:var(--acc);
    color:var(--ink)
}

#dw section[id],#dw [id] {
    scroll-margin-top:calc(var(--header-h,90px) + 20px)
}

#intro,#cur-dot,#cur-ring {
    display:none!important
}

body.locked {
    overflow:auto!important;
    height:auto!important
}

.dw-wrap {
    width:min(1200px,calc(100% - 64px));
    margin-inline:auto
}

.dw-section {
    padding:clamp(48px,6vw,78px) 0;
    border-top:1px solid var(--line)
}

.dw-white {
    background:var(--paper)
}

.dw-heading {
    max-width:760px;
    margin-bottom:30px
}

#dw h2 {
    font-size:clamp(28px,3vw,42px);
    line-height:1.12;
    font-weight:800;
    letter-spacing:-.04em;
    margin-top:12px;
    max-width:25ch
}

#dw h3 {
    font-size:19px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:-.025em
}

#dw .dw-heading>p,#dw .dw-heading-row>p {
    color:var(--muted);
    margin-top:14px;
    max-width:65ch;
    font-size:16px
}

.dw-eyebrow {
    display:block;
    font-family:var(--mono);
    font-size:10px;
    font-weight:500;
    letter-spacing:.13em;
    text-transform:uppercase;
    line-height:1.6;
    color:var(--muted)
}

.dw-eyebrow i {
    display:inline-block;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--acc2);
    margin-right:7px;
    vertical-align:1px
}

#dw .dw-lede {
    font-size:17px;
    line-height:1.7;
    max-width:57ch;
    color:var(--muted);
    margin-top:20px
}

.dw-cta,.dw-section-cta {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
    margin-top:28px
}

.dw-btn {
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    padding:12px 20px;
    border:1px solid currentColor;
    border-radius:9px;
    font-size:13px;
    font-weight:600;
    line-height:1.4;
    text-align:center;
    background:transparent;
    transition:background .2s,border-color .2s,transform .2s;
    color:inherit
}

.dw-btn.fill {
    background:var(--acc);
    color:#121211!important;
    border-color:var(--acc)
}

.dw-btn:hover {
    background:var(--ink);
    color:var(--paper)!important;
    border-color:var(--ink);
    transform:translateY(-2px)
}

.dw-btn.fill:hover {
    background:var(--acc2);
    border-color:var(--acc2);
    color:#121211!important
}

.dw-btn span {
    font-size:18px
}

#dw .dw-text-link {
    display:inline-flex;
    align-items:center;
    gap:10px;
    line-height:1.5;
    font-size:14px;
    font-weight:600;
    border-bottom:1px solid var(--acc);
    padding-bottom:4px
}

.dw-grid {
    display:grid;
    gap:20px
}

.dw-grid-3 {
    grid-template-columns:repeat(3,minmax(0,1fr))
}

.dw-card {
    position:relative;
    min-width:0;
    padding:26px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--paper)
}

#dw .dw-card>p {
    font-size:14px;
    line-height:1.75;
    color:var(--muted);
    margin-top:12px
}

.dw-heading-row {
    max-width:none;
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:30px
}

#dw .dw-heading-row>p {
    max-width:35ch
}

.dw-hero {
    padding:calc(var(--header-h,90px) + 32px) 0 54px;
    background:radial-gradient(ellipse at 20% 20%,#ff8a3d12,transparent 65%)
}

.dw-hero-grid {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
    gap:clamp(30px,5vw,70px);
    align-items:center
}

.dw-form-card {
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:18px;
    padding:30px;
    box-shadow:0 20px 60px -40px #33241635;
    min-width:0
}

#dw .dw-form-card h2 {
    font-size:27px;
    letter-spacing:-.04em
}

#dw .dw-form-card>p {
    color:var(--muted);
    font-size:14px;
    line-height:1.6;
    margin:12px 0 20px
}

.dw-mini-browser {
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    max-width:430px;
    margin-top:30px;
    box-shadow:10px 10px 0 #eeebe4
}

.dw-browser-bar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 14px;
    border-bottom:1px solid var(--line);
    color:#8a8982;
    font-family:var(--mono);
    font-size:8px
}

.dw-browser-bar>span {
    color:var(--acc2);
    letter-spacing:4px
}

.dw-browser-bar small {
    font:inherit
}

.dw-browser-content {
    position:relative;
    padding:20px 24px;
    background:linear-gradient(120deg,#fff 60%,#ffeadb)
}

.dw-code-label {
    display:block;
    font-family:var(--mono);
    font-size:9px;
    color:var(--muted);
    margin-bottom:8px
}

.dw-browser-content strong {
    font-size:24px;
    line-height:1.15;
    letter-spacing:-.035em;
    display:block
}

.dw-browser-content em {
    font-style:normal;
    color:#d85809
}

.dw-browser-lines {
    display:flex;
    flex-direction:column;
    gap:5px;
    margin:12px 0
}

.dw-browser-lines i {
    width:65%;
    height:4px;
    background:#deded7;
    border-radius:5px
}

.dw-browser-lines i:last-child {
    width:45%
}

.dw-mini-button {
    font-size:9px;
    background:var(--acc);
    padding:6px 10px;
    border-radius:5px;
    display:inline-block
}

.dw-mini-tags {
    position:absolute;
    right:18px;
    bottom:22px;
    display:flex;
    gap:4px;
    flex-wrap:wrap;
    max-width:110px
}

.dw-mini-tags span {
    font:8px var(--mono);
    border:1px solid #d8c9bd;
    padding:4px 6px;
    border-radius:4px
}

.dw-form {
    display:flex;
    flex-direction:column;
    gap:16px
}

.dw-form label:not(.dw-consent) {
    display:flex;
    flex-direction:column;
    gap:7px;
    font-size:12px;
    font-weight:600;
    min-width:0
}

.dw-form input:not([type="checkbox"]),.dw-form select,.dw-form textarea {
    width:100%;
    min-width:0;
    border:1px solid var(--line);
    border-radius:8px;
    background:var(--bg);
    color:var(--ink);
    padding:12px;
    font-size:14px;
    line-height:1.5;
    transition:border-color .2s
}

.dw-form input:not([type="checkbox"]),.dw-form select {
    min-height:46px
}

.dw-form input::placeholder,.dw-form textarea::placeholder {
    color:#77776f;
    opacity:1
}

.dw-form textarea {
    resize:vertical;
    min-height:140px
}

.dw-field-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px
}

.dw-consent {
    display:flex;
    align-items:start;
    gap:10px;
    font-size:12px;
    line-height:1.6;
    color:var(--muted);
    font-weight:400
}

.dw-consent input {
    appearance:auto;
    flex:none;
    width:17px;
    height:17px;
    margin:2px 0 0;
    accent-color:var(--acc2)
}

#dw .dw-consent a {
    border-bottom:1px solid var(--muted)
}

.dw-form-note {
    color:var(--muted);
    font-size:11px;
    line-height:1.6
}

.dw-honey {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%)
}

#dw .dw-alert {
    position:relative;
    z-index:2;
    border:1px solid #c64620;
    background:#fff3eb;
    padding:20px;
    border-radius:12px;
    margin-top:calc(var(--header-h,90px) + 25px)
}

#dw .dw-alert ul {
    padding-left:20px;
    margin-block:10px
}

#dw .dw-alert a {
    text-decoration:underline
}

.dw-logo-row {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px
}

.dw-logo-row>div {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    border:1px dashed #b8b8af;
    min-height:86px;
    border-radius:10px;
    font-weight:700;
    font-size:18px;
    color:#6b6b62;
    letter-spacing:-.03em
}

.dw-logo-row small {
    font:9px var(--mono);
    letter-spacing:.08em;
    margin-top:4px;
    font-weight:400;
    color:var(--muted)
}

.dw-trust-bottom {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px;
    margin-top:24px
}

.dw-draft {
    display:flex;
    align-items:center;
    gap:16px
}

#dw .dw-draft h3 {
    font-size:16px
}

#dw .dw-draft p {
    color:var(--muted);
    font-size:12px;
    margin-top:5px
}

.dw-icon {
    font-size:26px;
    line-height:1;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid var(--line);
    border-radius:50%;
    color:var(--acc2);
    flex:none
}

.dw-dark {
    background:#151512;
    color:#f6f5f1!important;
    --line:#343430;
    --muted:#b6b6aa
}

.dw-dark .dw-eyebrow {
    color:#ffad77
}

.dw-dark .dw-card {
    background:#1d1d19
}

.dw-dark .dw-btn:not(.fill) {
    color:#f6f5f1
}

.dw-dark .dw-btn:hover {
    background:#f6f5f1;
    color:#121211!important;
    border-color:#f6f5f1
}

.dw-number {
    display:block;
    font:12px var(--mono);
    color:#ffad77;
    margin-bottom:26px
}

.dw-problem {
    font:10px var(--mono);
    display:block;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:10px
}

.dw-process {
    padding:0;
    list-style:none;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden
}

.dw-process li {
    position:relative;
    padding:24px;
    min-width:0;
    border-right:1px solid var(--line)
}

.dw-process li:last-child {
    border:0
}

.dw-step-number {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#ff8a3d25;
    color:#a33e00;
    font:12px var(--mono);
    margin-bottom:22px
}

#dw .dw-process h3 {
    font-size:17px
}

#dw .dw-process p {
    font-size:13px;
    color:var(--muted);
    margin-top:12px
}

.dw-project {
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    min-width:0
}

.dw-project-preview {
    position:relative;
    height:220px;
    overflow:hidden;
    padding:42px 22px 22px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:12px
}

.dw-preview-bar {
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:24px;
    background:#ffffff35;
    border-bottom:1px solid #00000010;
    display:flex;
    gap:4px;
    align-items:center;
    padding:0 10px
}

.dw-preview-bar i {
    width:5px;
    height:5px;
    border-radius:50%;
    background:#00000035
}

.dw-project-preview small {
    font:9px var(--mono);
    letter-spacing:.08em;
    text-transform:uppercase
}

.dw-project-preview strong {
    font-size:27px;
    line-height:1.12;
    letter-spacing:-.04em;
    position:relative;
    z-index:1
}

.dw-project-preview>span {
    font-size:10px;
    border:1px solid currentColor;
    align-self:start;
    padding:6px 9px;
    border-radius:4px;
    position:relative;
    z-index:1
}

.dw-preview-a {
    background:#deded2;
    color:#303228
}

.dw-preview-a:after {
    content:"";
    position:absolute;
    right:-20px;
    bottom:-20px;
    width:130px;
    height:170px;
    border-radius:70px 70px 0 0;
    background:linear-gradient(35deg,#858967,#c6cbb1);
    transform:rotate(12deg)
}

.dw-preview-b {
    background:#f0ddce;
    color:#3e2b20
}

.dw-product-shapes {
    display:flex;
    gap:10px
}

.dw-product-shapes i {
    width:45px;
    height:45px;
    background:#95634b;
    border-radius:4px 4px 18px 18px
}

.dw-product-shapes i:nth-child(2) {
    background:#c38c6b
}

.dw-product-shapes i:nth-child(3) {
    background:#ead0b8;
    border:1px solid #c59f83
}

.dw-preview-c {
    background:linear-gradient(150deg,#21332f,#637f72);
    color:#fff
}

.dw-preview-c:after {
    content:"";
    position:absolute;
    inset:auto -25px -90px auto;
    width:230px;
    height:210px;
    background:#b1b59a;
    border-radius:40%;
    transform:rotate(35deg)
}

.dw-project-info {
    padding:22px;
    background:var(--bg)
}

#dw .dw-project-info h3 {
    font-size:17px;
    margin-top:10px
}

#dw .dw-project-info p {
    font-size:12px;
    line-height:1.6;
    color:var(--muted);
    margin-top:10px
}

.dw-result {
    display:flex;
    flex-direction:column;
    gap:5px;
    font-size:11px;
    color:var(--muted);
    border-top:1px solid var(--line);
    padding-top:14px;
    margin-top:18px
}

.dw-result b {
    color:var(--ink);
    font-size:13px
}

.dw-case-grid {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:clamp(26px,5vw,65px);
    align-items:center
}

.dw-case-visual {
    border:1px solid var(--line);
    background:var(--paper);
    border-radius:16px;
    padding:30px
}

.dw-chart {
    height:210px;
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:12px;
    border-bottom:1px solid var(--line);
    margin-top:26px;
    background:repeating-linear-gradient(to top,transparent 0,transparent 50px,#deded75c 50px,#deded75c 51px)
}

.dw-chart i {
    flex:1;
    background:#ffd6ba;
    border-radius:6px 6px 0 0;
    height:20%
}

.dw-chart i:nth-child(2) {
    height:30%
}

.dw-chart i:nth-child(3) {
    height:42%
}

.dw-chart i:nth-child(4) {
    height:58%
}

.dw-chart i:nth-child(5) {
    height:72%
}

.dw-chart i:nth-child(6) {
    height:88%;
    background:var(--acc)
}

.dw-chart-labels {
    display:flex;
    justify-content:space-between;
    font:10px var(--mono);
    color:var(--muted);
    margin-top:12px
}

#dw .dw-case-visual>p {
    font-size:11px;
    color:var(--muted);
    margin-top:15px
}

.dw-metrics {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:22px
}

.dw-metrics div {
    background:var(--bg);
    border-radius:8px;
    padding:16px;
    min-width:0
}

.dw-metrics small {
    display:block;
    font-size:11px;
    color:var(--muted)
}

.dw-metrics strong {
    display:block;
    font-size:19px;
    letter-spacing:-.04em;
    margin-top:3px
}

#dw .dw-note {
    margin-top:16px;
    font-size:13px;
    color:var(--muted)
}

.dw-case-list {
    margin-top:20px!important;
    margin-bottom:24px!important
}

.dw-case-list>div {
    padding:10px 0;
    border-bottom:1px solid var(--line)
}

.dw-case-list dt {
    font-size:13px;
    font-weight:700
}

.dw-case-list dd {
    margin:4px 0 0;
    color:var(--muted);
    font-size:12px
}

.dw-offer {
    display:flex;
    flex-direction:column
}

#dw .dw-offer h3 {
    font-size:26px;
    margin-top:14px
}

.dw-offer-label {
    font:11px var(--mono);
    color:var(--muted);
    margin-top:6px
}

.dw-featured {
    border-color:var(--acc2);
    background:#fff8f2
}

.dw-list {
    padding:0;
    list-style:none;
    margin:20px 0 26px!important
}

.dw-list li {
    position:relative;
    font-size:13px;
    margin-top:9px;
    padding-left:20px
}

.dw-list li:before {
    content:"✓";
    position:absolute;
    left:0;
    color:#af4a06
}

.dw-offer .dw-text-link {
    margin-top:auto;
    align-self:start
}

.dw-options {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
    margin-top:22px;
    font-size:12px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:10px
}

.dw-options strong {
    margin-right:10px;
    font-size:13px
}

.dw-options span,.dw-options a {
    padding:6px 10px;
    border:1px solid var(--line);
    border-radius:6px;
    background:var(--bg)
}

.dw-options a:hover {
    border-color:var(--acc2)
}

.dw-quote-mark {
    font-size:56px;
    color:var(--acc2);
    line-height:1;
    display:block;
    height:42px
}

#dw .dw-testimonial-quote {
    font-size:16px!important;
    color:var(--ink)!important;
    margin-top:12px
}

.dw-review-rating {
    font-size:10px;
    font-family:var(--mono);
    color:var(--muted);
    margin:20px 0;
    border-block:1px solid var(--line);
    padding:10px 0
}

.dw-person {
    display:flex;
    gap:12px;
    align-items:center
}

.dw-avatar {
    width:42px;
    height:42px;
    border:1px dashed #b8b8af;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:9px;
    color:var(--muted);
    flex:none
}

#dw .dw-person h3 {
    font-size:13px
}

#dw .dw-person p {
    color:var(--muted);
    font-size:11px;
    margin-top:3px
}

.dw-team-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px
}

.dw-team-card {
    min-width:0
}

.dw-team-photo {
    height:174px;
    background:linear-gradient(150deg,#efece3,#e2dfd4);
    border:1px solid var(--line);
    border-radius:12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px
}

.dw-team-photo span {
    font-size:45px;
    font-weight:600;
    letter-spacing:-.06em;
    color:#929086
}

.dw-team-photo small {
    font:9px var(--mono);
    color:#64625a
}

#dw .dw-team-card h3 {
    font-size:15px;
    margin-top:15px
}

#dw .dw-team-card p {
    font-size:12px;
    color:var(--muted);
    margin-top:5px
}

.dw-guarantees {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 30px
}

.dw-guarantees article {
    border-top:1px solid var(--line);
    padding:22px 0;
    display:flex;
    gap:20px;
    align-items:start
}

.dw-guarantees article>span {
    font:12px var(--mono);
    color:#ffad77;
    flex:none;
    line-height:26px
}

#dw .dw-guarantees h3 {
    font-size:17px
}

#dw .dw-guarantees p {
    font-size:12px;
    color:var(--muted);
    margin-top:8px;
    max-width:50ch
}

.dw-faq-grid {
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:60px;
    align-items:start
}

.dw-faq-grid .dw-text-link {
    margin-top:25px
}

.dw-faq-list details {
    border-bottom:1px solid var(--line)
}

.dw-faq-list details:first-child {
    border-top:1px solid var(--line)
}

.dw-faq-list summary {
    position:relative;
    list-style:none;
    font-size:15px;
    font-weight:600;
    padding:20px 34px 20px 0;
    cursor:pointer;
    line-height:1.5
}

.dw-faq-list summary::-webkit-details-marker {
    display:none
}

.dw-faq-list summary:after {
    content:"+";
    position:absolute;
    right:4px;
    top:17px;
    color:#b94d06;
    font-size:23px;
    font-weight:400
}

.dw-faq-list details[open] summary:after {
    content:"−"
}

#dw .dw-faq-list p {
    padding:0 28px 20px 0;
    font-size:14px;
    color:var(--muted);
    line-height:1.75
}

.dw-article {
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    min-width:0
}

.dw-article>div:last-child {
    padding:22px
}

#dw .dw-article h3 {
    margin-top:10px;
    font-size:19px
}

#dw .dw-article p {
    font-size:12px;
    color:var(--muted);
    margin-top:14px
}

.dw-publication {
    display:inline-block;
    margin-top:12px;
    font:10px var(--mono);
    color:var(--muted);
    border-top:1px solid var(--line);
    padding-top:10px
}

.dw-article-image {
    position:relative;
    height:180px;
    padding:24px;
    overflow:hidden
}

.dw-article-image>span {
    position:relative;
    z-index:1;
    display:inline-block;
    font:10px var(--mono);
    letter-spacing:.04em
}

.dw-article-design {
    background:#efd8c6;
    color:#5a3420
}

.dw-article-design i {
    position:absolute;
    width:170px;
    height:105px;
    background:#fff9f0;
    border-radius:8px;
    top:62px;
    left:32px;
    border:1px solid #d0ac93
}

.dw-article-design i:nth-of-type(2) {
    width:145px;
    left:70px;
    top:75px;
    background:#f7ab77
}

.dw-article-design i:nth-of-type(3) {
    width:115px;
    left:110px;
    top:90px;
    background:#815942
}

.dw-article-seo {
    background:#dadfd1;
    color:#343e2b
}

.dw-article-seo span {
    background:#f8f9f4;
    border:1px solid #b7bfac;
    display:block;
    border-radius:30px;
    padding:10px 16px;
    width:90%
}

.dw-article-seo i {
    display:block;
    height:7px;
    background:#8b987a;
    width:75%;
    margin-top:16px;
    border-radius:3px
}

.dw-article-seo i:nth-of-type(2) {
    width:60%;
    background:#b3bda4
}

.dw-article-seo i:nth-of-type(3) {
    width:67%;
    background:#b3bda4
}

.dw-article-mobile {
    background:#dddde9;
    color:#414158
}

.dw-article-mobile i {
    position:absolute;
    width:90px;
    height:152px;
    border:5px solid #414158;
    background:linear-gradient(#f7f6ff 35%,#b0adc8 35%,#b0adc8 65%,#f7f6ff 65%);
    border-radius:18px;
    right:48px;
    top:45px;
    transform:rotate(-12deg)
}

.dw-contact {
    background:linear-gradient(120deg,#ffeadb,#f6f5f1 65%)
}

.dw-contact-grid {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:60px;
    align-items:start
}

.dw-contact-note {
    display:flex;
    align-items:center;
    gap:15px;
    margin-top:32px
}

.dw-contact-note>span {
    font-size:25px;
    width:48px;
    height:48px;
    border:1px solid #c1a086;
    display:grid;
    place-items:center;
    border-radius:50%;
    flex:none
}

#dw .dw-contact-note p {
    font-size:13px;
    color:var(--muted)
}

#dw .dw-contact-note a {
    color:var(--ink);
    border-bottom:1px solid var(--acc2);
    font-weight:600
}

.dw-conditions {
    margin-top:30px;
    font-size:12px;
    color:var(--muted);
    border-top:1px solid #d8c6b8;
    padding-top:16px
}

.dw-conditions summary {
    cursor:pointer;
    font-weight:600
}

#dw .dw-conditions p {
    margin-top:12px;
    line-height:1.8
}

.dw-form-progress {
    display:flex;
    gap:0;
    padding:0;
    list-style:none;
    margin-bottom:2px!important
}

.dw-form-progress li {
    display:flex;
    align-items:center;
    gap:7px;
    flex:1;
    padding-bottom:14px;
    border-bottom:2px solid var(--line);
    font-size:11px;
    color:var(--muted)
}

.dw-form-progress b {
    display:grid;
    place-items:center;
    min-width:23px;
    height:23px;
    border-radius:50%;
    background:var(--bg);
    font:10px var(--mono)
}

.dw-form-progress li.active {
    color:var(--ink);
    border-bottom-color:var(--acc2)
}

.dw-form-progress li.active b {
    background:var(--acc);
    color:#121211
}

.dw-project-form fieldset {
    border:0;
    padding:0;
    margin:0;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:16px
}

.dw-project-form legend {
    font-size:15px;
    line-height:1.5;
    font-weight:700;
    display:block;
    float:left;
    width:100%;
    margin-bottom:16px
}

.dw-form-actions {
    display:flex;
    gap:10px;
    justify-content:flex-end;
    margin-top:4px
}

.dw-step-announcement {
    font-size:11px;
    color:var(--muted);
    min-height:0
}

.dw-step-announcement:empty {
    display:none
}

/* Les éléments restent visibles sans JavaScript ou sans IntersectionObserver. */

#dw.dw-motion [data-r] {
    transition:opacity .6s ease,transform .6s ease
}

#dw.dw-motion [data-r].dw-pending {
    opacity:0;
    transform:translateY(14px)
}

@media(min-width:1500px) {
    .dw-wrap {
        width:min(1280px,calc(100% - 96px))
    }

}

@media(max-width:1050px) {
    .dw-wrap {
        width:calc(100% - 48px)
    }

    .dw-hero-grid {
        gap:30px
    }

    .dw-form-card {
        padding:24px
    }

    .dw-field-grid {
        gap:12px
    }

    .dw-process li {
        padding:20px 16px
    }

    .dw-card {
        padding:22px
    }

    .dw-team-grid {
        gap:12px
    }

    .dw-team-photo {
        height:140px
    }

    .dw-case-grid,.dw-contact-grid,.dw-faq-grid {
        gap:30px
    }

    .dw-footer-grid {
        gap:22px
    }

    .dw-mini-tags {
        display:none
    }

}

@media(max-width:800px) {
    .dw-hero-grid,.dw-case-grid,.dw-faq-grid,.dw-contact-grid {
        grid-template-columns:1fr
    }

    .dw-hero {
        padding-top:calc(var(--header-h,90px) + 24px)
    }

    #dw h1 {
        font-size:clamp(36px,6vw,50px);
        max-width:22ch
    }

    .dw-hero-grid {
        gap:34px
    }

    .dw-mini-browser {
        max-width:440px
    }

    .dw-hero .dw-form-card {
        max-width:600px;
        width:100%
    }

    .dw-grid-3 {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .dw-grid-3>:last-child:nth-child(odd) {
        grid-column:1/-1
    }

    .dw-process {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .dw-process li:nth-child(2) {
        border-right:0
    }

    .dw-process li:nth-child(-n+2) {
        border-bottom:1px solid var(--line)
    }

    .dw-team-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }

    .dw-team-photo {
        height:170px
    }

    .dw-heading-row {
        display:block
    }

    #dw .dw-heading-row>p {
        max-width:65ch
    }

    .dw-logo-row {
        gap:10px
    }

    .dw-logo-row>div {
        font-size:15px
    }

    .dw-footer-top {
        flex-wrap:wrap;
        gap:24px
    }

    .dw-footer-top .dw-btn {
        margin-left:auto
    }

    .dw-footer-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .dw-footer-bottom {
        flex-direction:column
    }

    .dw-case-visual {
        max-width:650px
    }

    .dw-case-grid {
        gap:32px
    }

    .dw-faq-grid {
        gap:24px
    }

}

@media(max-width:540px) {
    .dw-wrap {
        width:calc(100% - 32px)
    }

    .dw-section {
        padding:42px 0
    }

    .dw-hero {
        padding-bottom:40px
    }

    #dw h1 {
        font-size:35px;
        line-height:1.1
    }

    #dw h2 {
        font-size:29px;
        line-height:1.15
    }

    #dw .dw-lede {
        font-size:15px
    }

    .dw-eyebrow {
        font-size:9px;
        letter-spacing:.09em
    }

    .dw-btn {
        min-height:47px;
        font-size:12px;
        padding:11px 15px;
        gap:12px
    }

    .dw-hero .dw-cta {
        gap:9px
    }

    .dw-hero .dw-cta .dw-btn {
        flex:1 1 100%
    }

    .dw-form-card {
        padding:22px 18px;
        border-radius:14px
    }

    .dw-field-grid {
        grid-template-columns:1fr
    }

    .dw-mini-browser {
        box-shadow:6px 6px 0 #eeebe4
    }

    .dw-browser-content strong {
        font-size:24px
    }

    .dw-grid-3,.dw-trust-bottom,.dw-guarantees {
        grid-template-columns:1fr
    }

    .dw-grid-3>:last-child:nth-child(odd) {
        grid-column:auto
    }

    .dw-card {
        padding:22px
    }

    .dw-logo-row {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .dw-trust-bottom {
        gap:18px
    }

    .dw-heading {
        margin-bottom:24px
    }

    .dw-process {
        grid-template-columns:1fr
    }

    .dw-process li {
        padding:22px;
        border-right:0;
        border-bottom:1px solid var(--line)
    }

    .dw-process li:nth-child(3) {
        border-bottom:1px solid var(--line)
    }

    .dw-step-number {
        margin-bottom:14px
    }

    .dw-team-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .dw-team-grid>:last-child {
        grid-column:1/-1;
        max-width:220px;
        width:100%;
        justify-self:center
    }

    .dw-team-photo {
        height:155px
    }

    .dw-project-preview {
        height:220px
    }

    .dw-case-visual {
        padding:22px
    }

    .dw-metrics strong {
        font-size:17px
    }

    .dw-chart {
        height:170px
    }

    .dw-form-actions .dw-btn {
        flex:1
    }

    .dw-article-image {
        height:180px
    }

    .dw-contact-note {
        margin-top:24px
    }

    .dw-footer-top {
        flex-direction:column;
        align-items:start;
        gap:18px
    }

    .dw-footer-top .dw-btn {
        margin-left:0
    }

    .dw-footer-grid {
        gap:28px 20px
    }

    .dw-footer-bottom nav {
        gap:10px 15px
    }

    .dw-footer-cities {
        gap:8px 15px
    }

    #dw-footer {
        padding-top:34px
    }

    .dw-guarantees article {
        padding:19px 0
    }

    .dw-section-cta {
        margin-top:24px
    }

    .dw-section-cta .dw-btn {
        width:100%
    }

}

@media(prefers-reduced-motion:reduce) {
    #dw * {
        animation:none!important;
        transition:none!important;
        scroll-behavior:auto!important
    }

    #dw.dw-motion [data-r].dw-pending {
        opacity:1;
        transform:none
    }

}

/* Compatibilité avec le thème et les animations déjà présents. */

[data-theme="dark"] #dw {
    --paper:#141312;
    --muted:#aaa59a;
}

#dw .dw-hero-grid {
    align-items:start;
}

#dw .dw-demo {
    margin-top:2rem;
}

#dw .dw-hero-grid h1 {
    margin-top:18px;
}

#dw .dw-view .dw-v-img img {
    max-height:180px;
}

/* =========================================================
   CONTENU SEO — styles déplacés depuis le fichier PHP
   ========================================================= */

/* ===== Blocs éditoriaux SEO (préfixe dw-seo-, aucun conflit avec style.css / app.js) ===== */

#dw .dw-seo-prose {
    max-width:76ch
}

#dw .dw-seo-prose p {
    margin:0 0 1.1em;
    line-height:1.75
}

#dw .dw-seo-prose h3 {
    font-size:clamp(1.25rem,2.2vw,1.65rem);
    font-weight:700;
    line-height:1.25;
    margin:2.2em 0 .7em
}

#dw .dw-seo-prose h3:first-child {
    margin-top:0
}

#dw .dw-seo-prose a:not(.dw-btn) {
    color:inherit;
    text-decoration:underline;
    text-decoration-color:#FF8A3D;
    text-decoration-thickness:2px;
    text-underline-offset:3px
}

#dw .dw-seo-list {
    margin:0 0 1.3em;
    padding-left:1.25em;
    list-style:disc
}

#dw ol.dw-seo-list {
    list-style:decimal
}

#dw .dw-seo-list li {
    margin:.5em 0;
    line-height:1.65;
    padding-left:.2em
}

#dw .dw-seo-list li::marker {
    color:#FF8A3D;
    font-weight:700
}

#dw .dw-seo-split {
    display:grid;
    gap:clamp(28px,4vw,64px);
    grid-template-columns:minmax(0,1fr)
}

@media (min-width:960px) {
    #dw .dw-seo-split {
        grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
        align-items:start
    }

    #dw .dw-seo-sticky {
        position:sticky;
        top:calc(var(--header-h,80px) + 24px)
    }

}

#dw .dw-seo-stats {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:0 0 .8em
}

#dw .dw-seo-stat {
    border:1px solid color-mix(in srgb,currentColor 14%,transparent);
    border-radius:16px;
    padding:18px
}

#dw .dw-seo-stat strong {
    display:block;
    font-size:clamp(1.5rem,3vw,2.1rem);
    font-weight:800;
    color:#FF8A3D;
    line-height:1.05
}

#dw .dw-seo-stat span {
    display:block;
    font-size:.88rem;
    opacity:.8;
    margin-top:8px;
    line-height:1.4
}

#dw .dw-seo-source {
    display:block;
    font-size:.78rem;
    opacity:.65;
    margin:0 0 1.6em
}

#dw .dw-seo-media {
    margin:0 0 1.6em;
    border-radius:18px;
    overflow:hidden;
    aspect-ratio:16/10;
    display:grid;
    place-items:center;
    text-align:center;
    padding:20px;
    border:1px dashed color-mix(in srgb,currentColor 25%,transparent);
    background:color-mix(in srgb,#FF8A3D 7%,transparent);
    font-family:'JetBrains Mono',monospace;
    font-size:.76rem;
    line-height:1.5;
    opacity:.9
}

#dw .dw-seo-media img {
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
     object-position: center;
}

#dw .dw-seo-media:has(img) {
    padding:0;
    border-style:solid
}

#dw .dw-seo-types {
    display:grid;
    gap:20px
}

#dw .dw-seo-type {
    display:grid;
    gap:clamp(20px,3vw,48px);
    grid-template-columns:minmax(0,1fr);
    padding:clamp(22px,3.4vw,44px);
    border:1px solid color-mix(in srgb,currentColor 14%,transparent);
    border-radius:24px
}

@media (min-width:960px) {
    #dw .dw-seo-type {
        grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)
    }

}

#dw .dw-seo-aside {
    border-radius:18px;
    padding:22px;
    background:color-mix(in srgb,currentColor 4%,transparent)
}

#dw .dw-seo-aside h4 {
    font-family:'JetBrains Mono',monospace;
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin:0 0 12px;
    opacity:.8
}

#dw .dw-seo-table {
    width:100%;
    overflow-x:auto;
    margin:clamp(24px,3vw,40px) 0;
    border:1px solid color-mix(in srgb,currentColor 14%,transparent);
    border-radius:18px;
    -webkit-overflow-scrolling:touch
}

#dw .dw-seo-table table {
    width:100%;
    min-width:600px;
    border-collapse:collapse;
    font-size:.95rem
}

#dw .dw-seo-table caption {
    text-align:left;
    padding:16px 18px 0;
    font-weight:700
}

#dw .dw-seo-table th,#dw .dw-seo-table td {
    padding:14px 18px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent);
    line-height:1.5
}

#dw .dw-seo-table thead th {
    font-family:'JetBrains Mono',monospace;
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.07em;
    opacity:.75
}

#dw .dw-seo-table tbody th {
    font-weight:700
}

#dw .dw-seo-table tbody tr:last-child>* {
    border-bottom:0
}

#dw .dw-seo-steps {
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:18px
}

#dw .dw-seo-step {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px 40px;
    border:1px solid color-mix(in srgb,currentColor 14%,transparent);
    border-radius:24px;
    padding:clamp(22px,3.4vw,44px)
}

@media (min-width:900px) {
    #dw .dw-seo-step {
        grid-template-columns:110px minmax(0,1fr)
    }

}

#dw .dw-seo-step-n {
    font-family:'JetBrains Mono',monospace;
    font-size:clamp(2rem,4vw,3.2rem);
    font-weight:700;
    color:#FF8A3D;
    line-height:1
}

#dw .dw-seo-cols {
    display:grid;
    gap:8px clamp(24px,3vw,48px);
    grid-template-columns:minmax(0,1fr)
}

@media (min-width:900px) {
    #dw .dw-seo-cols {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}

#dw .dw-seo-callout {
    border-left:3px solid #FF8A3D;
    padding:8px 0 8px 18px;
    margin:1.6em 0;
    font-weight:500;
    line-height:1.65
}

#dw .dw-seo-cta {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:1.6em
}

#dw .dw-seo-conclusion {
    margin:1.4em 0 1.8em;
    max-width:62ch
}

#dw .dw-seo-conclusion p {
    line-height:1.7;
    margin:0 0 1em
}

/* =========================================================
   POLISH UI — espacements, hiérarchie et responsive
   Aucun contenu éditorial n'est modifié.
   ========================================================= */

#dw {
    --section-space: clamp(46px, 5.2vw, 70px);
    --card-radius: 18px;
    --shadow-soft: 0 18px 50px -38px rgba(18, 18, 17, .28);
}

#dw .dw-section {
    padding: var(--section-space) 0;
}

#dw .dw-heading {
    margin-bottom: clamp(24px, 3vw, 34px);
}

#dw .dw-heading > p, #dw .dw-heading-row > p {
    margin-top: 12px;
    line-height: 1.7;
}

#dw .dw-card, #dw .dw-project, #dw .dw-article, #dw .dw-form-card, #dw .dw-case-visual, #dw .dw-seo-type, #dw .dw-seo-step, #dw .dw-seo-table {
    border-radius: var(--card-radius);
}

#dw .dw-card, #dw .dw-project, #dw .dw-article, #dw .dw-form-card, #dw .dw-case-visual, #dw .dw-seo-type, #dw .dw-seo-step {
    box-shadow: var(--shadow-soft);
}

#dw .dw-hero {
    padding-top: calc(var(--header-h, 90px) + clamp(24px, 3vw, 42px));
    padding-bottom: clamp(42px, 5vw, 64px);
}

#dw .dw-hero-grid {
    gap: clamp(28px, 4.5vw, 62px);
}

#dw .dw-hero h1 {
    max-width: 20ch;
    text-wrap: balance;
}

#dw .dw-hero .dw-lede {
    max-width: 62ch;
}

#dw .dw-form-card {
    border-color: color-mix(in srgb, var(--acc) 22%, var(--line));
}

#dw .dw-form input:not([type="checkbox"]), #dw .dw-form select, #dw .dw-form textarea {
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

#dw .dw-form input:not([type="checkbox"]):focus, #dw .dw-form select:focus, #dw .dw-form textarea:focus {
    border-color: var(--acc2);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--acc) 15%, transparent);
    outline: none;
}

#dw .dw-seo-prose {
    max-width: 72ch;
}

#dw .dw-seo-prose p {
    margin-bottom: 1rem;
    line-height: 1.72;
}

#dw .dw-seo-prose h3 {
    margin-top: 1.9em;
    margin-bottom: .65em;
}

#dw .dw-seo-split {
    gap: clamp(26px, 4vw, 52px);
}

@media (min-width: 960px) {
    #dw .dw-seo-split {
        grid-template-columns: minmax(0, 1.3fr) minmax(300px, .85fr);
    }

    #dw .dw-seo-sticky {
        top: calc(var(--header-h, 80px) + 20px);
    }

}

#dw .dw-seo-stats {
    gap: 10px;
}

#dw .dw-seo-stat {
    padding: 16px;
    border-radius: 14px;
    background: color-mix(in srgb, var(--paper, #fff) 92%, var(--acc) 8%);
}

#dw .dw-seo-media {
    margin-bottom: 1.35em;
    border-radius: 16px;
    aspect-ratio: 16 / 9;
}

#dw .dw-seo-types {
    gap: 16px;
}

#dw .dw-seo-type {
    padding: clamp(22px, 2.8vw, 34px);
    gap: clamp(20px, 3vw, 38px);
    background: var(--paper);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

#dw .dw-seo-aside {
    padding: 20px;
    border: 1px solid var(--line);
    background: var(--bg);
}

#dw .dw-seo-table {
    margin: clamp(22px, 3vw, 34px) 0;
    background: var(--paper);
    box-shadow: var(--shadow-soft);
}

#dw .dw-seo-table th, #dw .dw-seo-table td {
    padding: 13px 16px;
}

#dw .dw-seo-table tbody tr:nth-child(even) {
    background: color-mix(in srgb, var(--bg) 70%, transparent);
}

#dw .dw-seo-steps {
    gap: 14px;
}

#dw .dw-seo-step {
    padding: clamp(22px, 2.8vw, 34px);
    background: var(--paper);
}

#dw .dw-seo-callout {
    margin: 1.4em 0;
    padding: 12px 16px;
    border-left-width: 4px;
    background: color-mix(in srgb, var(--acc) 8%, transparent);
    border-radius: 0 10px 10px 0;
}

#dw .dw-options {
    margin-top: 18px;
}

#dw .dw-contact {
    background: radial-gradient(circle at 88% 12%, rgba(255, 138, 61, .16), transparent 32%), linear-gradient(120deg, #ffeadb, #f6f5f1 64%);
}

#dw .dw-contact-grid {
    gap: clamp(30px, 5vw, 58px);
}

@media (hover: hover) and (pointer: fine) {
    #dw .dw-card:hover, #dw .dw-project:hover, #dw .dw-article:hover, #dw .dw-seo-type:hover, #dw .dw-seo-step:hover {
        transform: translateY(-3px);
        border-color: color-mix(in srgb, var(--acc) 42%, var(--line));
        box-shadow: 0 24px 58px -38px rgba(18, 18, 17, .38);
    }

}

[data-theme="dark"] #dw .dw-seo-stat, [data-theme="dark"] #dw .dw-seo-type, [data-theme="dark"] #dw .dw-seo-step, [data-theme="dark"] #dw .dw-seo-table {
    background: var(--paper);
}

[data-theme="dark"] #dw .dw-seo-aside {
    background: var(--bg);
}

[data-theme="dark"] #dw .dw-contact {
    background: radial-gradient(circle at 88% 12%, rgba(255, 138, 61, .12), transparent 34%), linear-gradient(120deg, #1a120d, #0b0a09 64%);
}

@media (max-width: 800px) {
    #dw .dw-section {
        padding: 46px 0;
    }

    #dw .dw-seo-split, #dw .dw-contact-grid {
        gap: 28px;
    }

    #dw .dw-seo-type {
        padding: 24px;
    }

}

@media (max-width: 540px) {
    #dw .dw-section {
        padding: 38px 0;
    }

    #dw .dw-heading {
        margin-bottom: 20px;
    }

    #dw .dw-seo-prose p {
        line-height: 1.68;
    }

    #dw .dw-seo-stats {
        grid-template-columns: 1fr 1fr;
    }

    #dw .dw-seo-stat {
        padding: 14px;
    }

    #dw .dw-seo-step, #dw .dw-seo-type {
        padding: 20px;
    }

    #dw .dw-seo-table {
        border-radius: 14px;
    }

}

@media (max-width: 390px) {
    #dw .dw-seo-stats {
        grid-template-columns: 1fr;
    }

}

/* =========================================================
   SECTION TARIFS — version 2
   Amélioration visuelle uniquement : aucun contenu éditorial modifié.
   ========================================================= */
#dw #dw-tarifs {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--acc) 13%, transparent) 0, transparent 28%),
        var(--paper);
}

#dw #dw-tarifs::before {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    left: -210px;
    bottom: -220px;
    border-radius: 50%;
    border: 1px solid color-mix(in srgb, var(--acc) 18%, transparent);
    pointer-events: none;
}

#dw #dw-tarifs .dw-wrap {
    position: relative;
    z-index: 1;
}

#dw #dw-tarifs .dw-heading {
    max-width: 900px;
    margin-bottom: clamp(30px, 4vw, 48px);
}

#dw #dw-tarifs .dw-heading .dw-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    padding: 7px 11px;
    border: 1px solid color-mix(in srgb, var(--acc) 34%, var(--line));
    border-radius: 999px;
    background: color-mix(in srgb, var(--acc) 8%, var(--paper));
    color: var(--ink);
}

#dw #dw-tarifs .dw-heading .dw-eyebrow::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--acc);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--acc) 13%, transparent);
}

#dw #dw-tarifs .dw-heading h2 {
    max-width: 20ch;
    font-size: clamp(32px, 4.2vw, 54px);
    line-height: 1.04;
    margin-top: 18px;
}

#dw #dw-tarifs .dw-heading > p {
    max-width: 72ch;
    font-size: clamp(15px, 1.25vw, 17px);
}

#dw #dw-tarifs .dw-seo-split {
    align-items: start;
    gap: clamp(24px, 3.5vw, 46px);
}

@media (min-width: 960px) {
    #dw #dw-tarifs .dw-seo-split {
        grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr);
    }
}

#dw #dw-tarifs .dw-seo-split > .dw-seo-prose:first-child {
    max-width: none;
}

#dw #dw-tarifs .dw-seo-split > .dw-seo-prose:first-child > h3 {
    margin: 0 0 8px;
    font-size: clamp(22px, 2.4vw, 30px);
}

#dw #dw-tarifs .dw-seo-split > .dw-seo-prose:first-child > h3 + p {
    margin-bottom: 22px;
    color: var(--muted);
}

#dw #dw-tarifs ol.dw-seo-list {
    counter-reset: dw-price-factor;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0;
    margin: 0;
    list-style: none;
}

#dw #dw-tarifs ol.dw-seo-list > li {
    counter-increment: dw-price-factor;
    position: relative;
    min-width: 0;
    margin: 0;
    padding: 20px 18px 20px 56px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: color-mix(in srgb, var(--paper) 94%, var(--acc) 6%);
    line-height: 1.62;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

#dw #dw-tarifs ol.dw-seo-list > li::before {
    content: counter(dw-price-factor, decimal-leading-zero);
    position: absolute;
    top: 18px;
    left: 16px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--ink);
    color: var(--paper);
    font: 600 10px/1 var(--mono);
    letter-spacing: .02em;
}

#dw #dw-tarifs ol.dw-seo-list > li strong {
    color: var(--ink);
}

@media (hover: hover) and (pointer: fine) {
    #dw #dw-tarifs ol.dw-seo-list > li:hover {
        transform: translateY(-2px);
        border-color: color-mix(in srgb, var(--acc) 42%, var(--line));
        box-shadow: 0 18px 42px -34px rgba(18, 18, 17, .45);
    }
}

#dw #dw-tarifs .dw-seo-callout {
    position: relative;
    margin: 18px 0 0;
    padding: 20px 22px 20px 58px;
    border: 1px solid color-mix(in srgb, var(--acc) 32%, var(--line));
    border-left: 1px solid color-mix(in srgb, var(--acc) 32%, var(--line));
    border-radius: 16px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--acc) 12%, var(--paper)), var(--paper));
    font-weight: 500;
}

#dw #dw-tarifs .dw-seo-callout::before {
    content: "!";
    position: absolute;
    left: 18px;
    top: 20px;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--acc);
    color: #121211;
    font: 700 13px/1 var(--mono);
}

#dw #dw-tarifs aside.dw-seo-sticky {
    max-width: none;
    padding: clamp(24px, 3vw, 32px);
    border: 1px solid color-mix(in srgb, var(--acc) 28%, var(--line));
    border-radius: 22px;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--acc) 9%, var(--paper)), var(--paper) 36%);
    box-shadow: 0 28px 70px -48px rgba(18, 18, 17, .48);
}

#dw #dw-tarifs aside.dw-seo-sticky::before {
    content: "DEVIS GRATUIT · SOUS 24 H";
    display: inline-flex;
    margin-bottom: 18px;
    padding: 6px 9px;
    border-radius: 7px;
    background: var(--ink);
    color: var(--paper);
    font: 600 9px/1.2 var(--mono);
    letter-spacing: .08em;
}

#dw #dw-tarifs aside.dw-seo-sticky h3 {
    margin: 0 0 14px;
    font-size: clamp(22px, 2.3vw, 30px);
    line-height: 1.15;
}

#dw #dw-tarifs aside.dw-seo-sticky > p {
    color: var(--muted);
    margin-bottom: 18px;
}

#dw #dw-tarifs aside.dw-seo-sticky ul.dw-seo-list {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
}

#dw #dw-tarifs aside.dw-seo-sticky ul.dw-seo-list li {
    position: relative;
    margin: 0;
    padding: 10px 0 10px 28px;
    border-bottom: 1px solid var(--line);
    line-height: 1.5;
}

#dw #dw-tarifs aside.dw-seo-sticky ul.dw-seo-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 10px;
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--acc) 18%, transparent);
    color: var(--acc2);
    font-size: 11px;
    font-weight: 800;
}

#dw #dw-tarifs aside.dw-seo-sticky .dw-seo-media {
    aspect-ratio: 16 / 8.5;
    margin: 20px 0 0;
    border-radius: 14px;
    border-style: solid;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--acc) 16%, var(--bg)), var(--bg));
}

#dw #dw-tarifs aside.dw-seo-sticky .dw-seo-cta {
    margin-top: 16px;
}

#dw #dw-tarifs aside.dw-seo-sticky .dw-seo-cta .dw-btn {
    width: 100%;
    min-height: 54px;
}

[data-theme="dark"] #dw #dw-tarifs {
    background:
        radial-gradient(circle at 92% 8%, rgba(255, 138, 61, .09) 0, transparent 28%),
        var(--paper);
}

[data-theme="dark"] #dw #dw-tarifs ol.dw-seo-list > li,
[data-theme="dark"] #dw #dw-tarifs aside.dw-seo-sticky {
    background: color-mix(in srgb, var(--paper) 94%, var(--acc) 6%);
}

@media (max-width: 760px) {
    #dw #dw-tarifs ol.dw-seo-list {
        grid-template-columns: 1fr;
    }

    #dw #dw-tarifs .dw-heading h2 {
        font-size: clamp(30px, 8vw, 42px);
    }
}

@media (max-width: 540px) {
    #dw #dw-tarifs .dw-heading .dw-eyebrow {
        padding: 6px 9px;
    }

    #dw #dw-tarifs ol.dw-seo-list > li {
        padding: 18px 16px 18px 52px;
        border-radius: 14px;
    }

    #dw #dw-tarifs .dw-seo-callout {
        padding: 18px 16px 18px 52px;
    }

    #dw #dw-tarifs aside.dw-seo-sticky {
        padding: 22px 18px;
        border-radius: 18px;
    }
}


/* =========================================================
   TYPOGRAPHIE COMPACTE — version 3
   Réduction des tailles sans modifier le contenu.
   ========================================================= */
#dw {
    font-size: 15px;
}

#dw .dw-hero h1,
#dw .dw-hero-grid h1 {
    font-size: clamp(30px, 3.2vw, 44px);
    line-height: 1.04;
    max-width: 22ch;
}

#dw h2 {
    font-size: clamp(24px, 2.35vw, 34px);
    line-height: 1.14;
}

#dw h3 {
    font-size: 17px;
    line-height: 1.35;
}

#dw .dw-heading > p,
#dw .dw-heading-row > p {
    font-size: 14px;
    line-height: 1.65;
}

#dw .dw-lede,
#dw .dw-hero .dw-lede {
    font-size: 15px;
    line-height: 1.65;
}

#dw .dw-form-card h2 {
    font-size: 23px;
}

#dw .dw-form-card > p,
#dw .dw-form input:not([type="checkbox"]),
#dw .dw-form select,
#dw .dw-form textarea {
    font-size: 13px;
}

#dw .dw-seo-prose p,
#dw .dw-seo-list li {
    font-size: 14px;
}

#dw .dw-seo-prose h3 {
    font-size: clamp(19px, 1.7vw, 24px);
    line-height: 1.28;
}

#dw .dw-seo-stat strong {
    font-size: clamp(20px, 2.2vw, 27px);
}

#dw .dw-seo-stat span {
    font-size: 12px;
}

#dw .dw-seo-step-n {
    font-size: clamp(25px, 3vw, 38px);
}

#dw .dw-project-preview strong {
    font-size: 23px;
}

#dw .dw-browser-content strong {
    font-size: 21px;
}

#dw .dw-card > p,
#dw .dw-faq-list p {
    font-size: 13px;
}

#dw .dw-faq-list summary {
    font-size: 14px;
}

#dw .dw-article h3 {
    font-size: 17px;
}

#dw #dw-tarifs .dw-heading h2 {
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.1;
    max-width: 23ch;
}

#dw #dw-tarifs .dw-heading > p {
    font-size: 14px;
}

#dw #dw-tarifs .dw-seo-split > .dw-seo-prose:first-child > h3,
#dw #dw-tarifs aside.dw-seo-sticky h3 {
    font-size: clamp(19px, 1.8vw, 24px);
}

#dw #dw-tarifs ol.dw-seo-list > li,
#dw #dw-tarifs .dw-seo-callout,
#dw #dw-tarifs aside.dw-seo-sticky > p,
#dw #dw-tarifs aside.dw-seo-sticky ul.dw-seo-list li {
    font-size: 13px;
}

@media (max-width: 800px) {
    #dw .dw-hero h1,
    #dw .dw-hero-grid h1 {
        font-size: clamp(29px, 5.5vw, 38px);
    }

    #dw h2 {
        font-size: clamp(23px, 4vw, 30px);
    }

    #dw #dw-tarifs .dw-heading h2 {
        font-size: clamp(25px, 5vw, 32px);
    }
}

@media (max-width: 540px) {
    #dw {
        font-size: 14px;
    }

    #dw .dw-hero h1,
    #dw .dw-hero-grid h1 {
        font-size: 29px;
        line-height: 1.08;
    }

    #dw h2 {
        font-size: 24px;
        line-height: 1.16;
    }

    #dw h3 {
        font-size: 16px;
    }

    #dw .dw-lede,
    #dw .dw-hero .dw-lede {
        font-size: 14px;
    }

    #dw .dw-heading > p,
    #dw .dw-heading-row > p,
    #dw .dw-seo-prose p,
    #dw .dw-seo-list li {
        font-size: 13px;
    }

    #dw .dw-form-card h2 {
        font-size: 21px;
    }

    #dw #dw-tarifs .dw-heading h2 {
        font-size: 25px;
    }

    #dw #dw-tarifs .dw-seo-split > .dw-seo-prose:first-child > h3,
    #dw #dw-tarifs aside.dw-seo-sticky h3 {
        font-size: 19px;
    }
}

/* =========================================================
   MODE COMPACT — version 4
   Typographie et espacements réduits pour afficher davantage
   de contenu à l'écran sans modifier les textes.
   ========================================================= */
#dw {
    font-size: 14px;
}

#dw .dw-section {
    padding: clamp(34px, 4vw, 52px) 0;
}

#dw .dw-hero {
    padding-top: calc(var(--header-h, 90px) + clamp(18px, 2vw, 28px));
    padding-bottom: 34px;
}

#dw .dw-hero-grid {
    gap: clamp(22px, 3.2vw, 42px);
}

#dw .dw-hero h1,
#dw .dw-hero-grid h1 {
    font-size: clamp(27px, 2.7vw, 38px);
    line-height: 1.05;
    max-width: 24ch;
    margin-top: 10px;
}

#dw h2 {
    font-size: clamp(21px, 2vw, 29px);
    line-height: 1.15;
    margin-top: 8px;
}

#dw h3 {
    font-size: 15px;
    line-height: 1.35;
}

#dw .dw-eyebrow {
    font-size: 8.5px;
    letter-spacing: .1em;
}

#dw .dw-lede,
#dw .dw-hero .dw-lede {
    margin-top: 10px;
    font-size: 13.5px;
    line-height: 1.55;
    max-width: 66ch;
}

#dw .dw-heading {
    margin-bottom: 20px;
}

#dw .dw-heading > p,
#dw .dw-heading-row > p {
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.55;
}

#dw .dw-cta,
#dw .dw-section-cta {
    margin-top: 18px;
    gap: 9px;
}

#dw .dw-btn {
    min-height: 42px;
    height: auto;
    padding: 9px 16px;
    font-size: 11.5px;
    gap: 12px;
}

#dw .dw-card {
    padding: 18px;
}

#dw .dw-card > p {
    margin-top: 8px;
    font-size: 12.5px;
    line-height: 1.6;
}

#dw .dw-form-card {
    padding: 22px;
    border-radius: 15px;
}

#dw .dw-form-card h2 {
    font-size: 20px;
}

#dw .dw-form-card > p {
    margin: 8px 0 14px;
    font-size: 12.5px;
    line-height: 1.5;
}

#dw .dw-form {
    gap: 12px;
}

#dw .dw-field-grid {
    gap: 12px;
}

#dw .dw-form label:not(.dw-consent) {
    gap: 5px;
    font-size: 11px;
}

#dw .dw-form input:not([type="checkbox"]),
#dw .dw-form select,
#dw .dw-form textarea {
    padding: 9px 10px;
    font-size: 12.5px;
}

#dw .dw-form input:not([type="checkbox"]),
#dw .dw-form select {
    min-height: 40px;
}

#dw .dw-form textarea {
    min-height: 110px;
}

#dw .dw-seo-prose p,
#dw .dw-seo-list li {
    font-size: 12.75px;
    line-height: 1.58;
}

#dw .dw-seo-prose p {
    margin-bottom: .75rem;
}

#dw .dw-seo-prose h3 {
    margin-top: 1.4em;
    margin-bottom: .45em;
    font-size: clamp(17px, 1.45vw, 21px);
    line-height: 1.25;
}

#dw .dw-seo-list li {
    margin: .35em 0;
}

#dw .dw-seo-split {
    gap: clamp(20px, 3vw, 36px);
}

#dw .dw-seo-stat {
    padding: 12px;
}

#dw .dw-seo-stat strong {
    font-size: clamp(18px, 1.8vw, 23px);
}

#dw .dw-seo-stat span {
    margin-top: 5px;
    font-size: 10.5px;
}

#dw .dw-seo-source {
    margin-bottom: 1rem;
    font-size: 10px;
}

#dw .dw-seo-media {
    margin-bottom: 1rem;
}

#dw .dw-seo-types {
    gap: 12px;
}

#dw .dw-seo-type {
    padding: clamp(18px, 2vw, 25px);
    gap: clamp(16px, 2.2vw, 28px);
    border-radius: 16px;
}

#dw .dw-seo-aside {
    padding: 16px;
}

#dw .dw-seo-table {
    margin: 18px 0;
}

#dw .dw-seo-table th,
#dw .dw-seo-table td {
    padding: 10px 12px;
    font-size: 12px;
}

#dw .dw-seo-steps {
    gap: 10px;
}

#dw .dw-seo-step {
    padding: clamp(18px, 2vw, 24px);
}

#dw .dw-seo-step-n {
    font-size: clamp(22px, 2.4vw, 31px);
}

#dw .dw-seo-callout {
    margin: 1em 0;
    padding: 10px 14px;
    font-size: 12.5px;
    line-height: 1.55;
}

#dw .dw-options {
    margin-top: 14px;
    padding: 14px;
}

#dw .dw-project-preview {
    height: 185px;
    padding: 34px 18px 18px;
}

#dw .dw-project-preview strong {
    font-size: 20px;
}

#dw .dw-project-info {
    padding: 17px;
}

#dw .dw-case-visual {
    padding: 22px;
}

#dw .dw-chart {
    height: 170px;
    margin-top: 18px;
}

#dw .dw-team-photo {
    height: 140px;
}

#dw .dw-article-image {
    height: 150px;
}

#dw .dw-article > div:last-child {
    padding: 17px;
}

#dw .dw-article h3 {
    font-size: 15px;
}

#dw .dw-faq-list summary {
    padding: 15px 30px 15px 0;
    font-size: 13px;
}

#dw .dw-faq-list summary::after {
    top: 12px;
}

#dw .dw-faq-list p {
    padding: 0 24px 15px 0;
    font-size: 12.5px;
    line-height: 1.6;
}

#dw .dw-contact-grid {
    gap: clamp(24px, 3.5vw, 40px);
}

/* Tarifs encore plus compact, tout en gardant la hiérarchie. */
#dw #dw-tarifs .dw-heading {
    margin-bottom: 22px;
}

#dw #dw-tarifs .dw-heading h2 {
    margin-top: 10px;
    font-size: clamp(23px, 2.5vw, 32px);
    line-height: 1.1;
}

#dw #dw-tarifs .dw-heading > p {
    font-size: 12.75px;
    line-height: 1.55;
}

#dw #dw-tarifs .dw-seo-split > .dw-seo-prose:first-child > h3,
#dw #dw-tarifs aside.dw-seo-sticky h3 {
    font-size: clamp(17px, 1.55vw, 21px);
}

#dw #dw-tarifs ol.dw-seo-list {
    gap: 9px;
}

#dw #dw-tarifs ol.dw-seo-list > li {
    padding: 14px 14px 14px 48px;
    border-radius: 12px;
    font-size: 12px;
    line-height: 1.5;
}

#dw #dw-tarifs ol.dw-seo-list > li::before {
    top: 13px;
    left: 13px;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    font-size: 9px;
}

#dw #dw-tarifs .dw-seo-callout {
    margin-top: 12px;
    padding: 14px 14px 14px 48px;
    font-size: 12px;
}

#dw #dw-tarifs .dw-seo-callout::before {
    left: 14px;
    top: 14px;
    width: 22px;
    height: 22px;
    font-size: 11px;
}

#dw #dw-tarifs aside.dw-seo-sticky {
    padding: 19px;
    border-radius: 16px;
}

#dw #dw-tarifs aside.dw-seo-sticky::before {
    margin-bottom: 12px;
    padding: 5px 7px;
    font-size: 8px;
}

#dw #dw-tarifs aside.dw-seo-sticky > p,
#dw #dw-tarifs aside.dw-seo-sticky ul.dw-seo-list li {
    font-size: 12px;
}

#dw #dw-tarifs aside.dw-seo-sticky ul.dw-seo-list li {
    padding: 7px 0 7px 25px;
}

#dw #dw-tarifs aside.dw-seo-sticky ul.dw-seo-list li::before {
    top: 7px;
}

#dw #dw-tarifs aside.dw-seo-sticky .dw-seo-media {
    margin-top: 14px;
    aspect-ratio: 16 / 7;
}

#dw #dw-tarifs aside.dw-seo-sticky .dw-seo-cta {
    margin-top: 12px;
}

#dw #dw-tarifs aside.dw-seo-sticky .dw-seo-cta .dw-btn {
    min-height: 44px;
}

@media (max-width: 800px) {
    #dw .dw-section {
        padding: 34px 0;
    }

    #dw .dw-hero h1,
    #dw .dw-hero-grid h1 {
        font-size: clamp(26px, 4.8vw, 34px);
    }

    #dw h2 {
        font-size: clamp(20px, 3.4vw, 26px);
    }

    #dw .dw-seo-type,
    #dw .dw-seo-step {
        padding: 18px;
    }
}

@media (max-width: 540px) {
    #dw {
        font-size: 13px;
    }

    #dw .dw-section {
        padding: 30px 0;
    }

    #dw .dw-hero {
        padding-top: calc(var(--header-h, 90px) + 16px);
        padding-bottom: 28px;
    }

    #dw .dw-hero h1,
    #dw .dw-hero-grid h1 {
        font-size: 25px;
        line-height: 1.08;
    }

    #dw h2 {
        font-size: 21px;
    }

    #dw h3 {
        font-size: 14.5px;
    }

    #dw .dw-heading {
        margin-bottom: 16px;
    }

    #dw .dw-heading > p,
    #dw .dw-heading-row > p,
    #dw .dw-lede,
    #dw .dw-hero .dw-lede,
    #dw .dw-seo-prose p,
    #dw .dw-seo-list li {
        font-size: 12.25px;
    }

    #dw .dw-card,
    #dw .dw-form-card,
    #dw .dw-case-visual,
    #dw .dw-seo-type,
    #dw .dw-seo-step {
        padding: 16px;
    }

    #dw .dw-project-preview {
        height: 165px;
    }

    #dw .dw-team-photo {
        height: 125px;
    }

    #dw #dw-tarifs .dw-heading h2 {
        font-size: 22px;
    }

    #dw #dw-tarifs ol.dw-seo-list > li {
        padding: 13px 12px 13px 45px;
        font-size: 11.75px;
    }

    #dw #dw-tarifs aside.dw-seo-sticky {
        padding: 16px;
    }
}

/* Finition compacte — octobre 2026. Structure et contenu conservés. */
#dw { --bg:#f8f7f4; --paper:#fff; --line:rgba(35,29,24,.10); --muted:#66625d; }
#dw .dw-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
#dw .dw-section { padding:clamp(26px,3vw,40px) 0; }
#dw .dw-white { background:var(--paper); }
#dw .dw-hero { padding-top:calc(var(--header-h,90px) + 18px); padding-bottom:26px; background:radial-gradient(ellipse at 8% 20%,#ff8a3d18,transparent 60%),var(--bg); }
#dw .dw-hero-grid { gap:clamp(20px,3vw,36px); grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
#dw .dw-hero h1 { font-size:clamp(26px,2.5vw,35px); line-height:1.12; letter-spacing:-.045em; max-width:26ch; }
#dw h2 { font-size:clamp(21px,1.9vw,27px); letter-spacing:-.035em; line-height:1.18; }
#dw .dw-heading { margin-bottom:16px; }
#dw .dw-heading > p { max-width:75ch; }
#dw .dw-eyebrow { font-size:10px; letter-spacing:.09em; }
#dw .dw-grid,#dw .dw-team-grid { gap:14px; }
#dw .dw-card,#dw .dw-form-card,#dw .dw-seo-type,#dw .dw-seo-step,#dw .dw-case-visual { border:1px solid var(--line); border-radius:14px; box-shadow:0 5px 20px -14px #37230c24; }
#dw .dw-card { padding:16px; }
#dw .dw-form-card { padding:18px; background:var(--paper); border-top:3px solid var(--acc); }
#dw .dw-form-card h2 { font-size:20px; }
#dw .dw-form-card > p { margin:7px 0 12px; }
#dw .dw-form,#dw .dw-field-grid { gap:10px; }
#dw .dw-form input:not([type="checkbox"]),#dw .dw-form select,#dw .dw-form textarea { border-radius:8px; background:var(--bg); border:1px solid var(--line); transition:border-color .18s,box-shadow .18s; }
#dw .dw-form input:focus,#dw .dw-form select:focus,#dw .dw-form textarea:focus { outline:2px solid var(--acc); outline-offset:2px; border-color:var(--acc); }
#dw .dw-form textarea { min-height:90px; }
#dw .dw-btn { min-height:42px; padding:8px 14px; border-radius:8px; }
#dw .dw-btn.fill { background:linear-gradient(120deg,#ff994f,#ff8a3d); border-color:#ff8a3d; box-shadow:0 4px 12px -7px #f5732399; }
#dw .dw-cta,#dw .dw-section-cta { margin-top:14px; }
#dw .dw-number { margin-bottom:14px; }
#dw .dw-seo-split { gap:24px; }
#dw .dw-seo-type { padding:18px; gap:20px; background:var(--paper); }
#dw .dw-seo-aside { padding:14px; border-radius:10px; background:color-mix(in srgb,var(--acc) 6%,var(--paper)); }
#dw .dw-seo-prose p { margin-bottom:.65rem; }
#dw .dw-seo-prose h3 { margin-top:1.1em; }
#dw .dw-seo-list { margin-bottom:.9em; }
#dw .dw-seo-list li { margin:.28em 0; }
#dw .dw-seo-media { aspect-ratio:16/8; border-radius:12px; margin-bottom:12px; }
#dw .dw-seo-step { padding:16px; gap:10px 20px; background:var(--paper); }
#dw .dw-seo-step-n { font-size:25px; }
#dw .dw-seo-table { border-radius:12px; margin:14px 0; }
#dw .dw-seo-table thead { background:color-mix(in srgb,var(--acc) 8%,var(--paper)); }
#dw .dw-seo-table tbody tr:nth-child(even) { background:color-mix(in srgb,var(--ink) 2%,var(--paper)); }
#dw .dw-seo-table th,#dw .dw-seo-table td { padding:9px 12px; }
#dw .dw-project,#dw .dw-article { border-radius:12px; border:1px solid var(--line); overflow:hidden; }
#dw .dw-project-preview { height:160px; padding:30px 16px 16px; }
#dw .dw-project-info,#dw .dw-article > div:last-child { padding:14px; }
#dw .dw-result { margin-top:12px; padding-top:10px; }
#dw .dw-team-photo { height:120px; border-radius:12px; }
#dw .dw-article-image { height:130px; }
#dw .dw-chart { height:145px; }
#dw .dw-faq-list details { border:1px solid var(--line); border-radius:10px; margin-bottom:8px; padding:0 14px; background:var(--paper); }
#dw .dw-faq-list summary { padding:13px 28px 13px 0; min-height:44px; }
#dw .dw-faq-list details[open] { border-color:color-mix(in srgb,var(--acc) 55%,var(--line)); }
#dw .dw-faq-list p { padding-bottom:12px; }
#dw #dw-tarifs .dw-heading h2 { font-size:clamp(22px,2.1vw,28px); }
#dw .dw-dark { --paper:#24221f; --bg:#191816; --ink:#f8f7f4; --muted:#c6c1b9; --line:rgba(255,255,255,.13); background:#191816; }
#dw .dw-dark .dw-card { background:var(--paper); }
[data-theme="dark"] #dw { --bg:#151412; --paper:#201e1b; --ink:#f8f7f4; --muted:#c6c1b9; --line:rgba(255,255,255,.13); }
#dw :is(a,button,summary):focus-visible { outline:2px solid var(--acc); outline-offset:4px; }
#dw .dw-wrap > *,#dw .dw-seo-split > *,#dw .dw-hero-grid > * { min-width:0; }
#dw :is(h1,h2,h3,p,li,a) { overflow-wrap:break-word; }
@media(min-width:900px) { #dw .dw-seo-step { grid-template-columns:64px minmax(0,1fr); } }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 #dw .dw-project,#dw .dw-article { transition:transform .2s,box-shadow .2s; }
 #dw .dw-project:hover,#dw .dw-article:hover { transform:translateY(-3px); box-shadow:0 10px 24px -16px #36241355; }
}
@media(max-width:800px) {
 #dw .dw-wrap { width:calc(100% - 36px); }
 #dw .dw-hero-grid { grid-template-columns:1fr; gap:20px; }
 #dw .dw-hero .dw-form-card { max-width:none; }
 #dw .dw-section { padding:28px 0; }
 #dw .dw-hero h1 { font-size:28px; max-width:28ch; }
 #dw .dw-seo-sticky { position:static; }
}
@media(max-width:540px) {
 #dw .dw-wrap { width:calc(100% - 28px); }
 #dw .dw-section { padding:24px 0; }
 #dw .dw-hero { padding-bottom:22px; }
 #dw .dw-hero h1 { font-size:25px; }
 #dw h2 { font-size:21px; }
 #dw .dw-card,#dw .dw-form-card,#dw .dw-seo-type,#dw .dw-seo-step { padding:14px; }
 #dw .dw-heading { margin-bottom:14px; }
 #dw .dw-form input:not([type="checkbox"]),#dw .dw-form select,#dw .dw-form textarea { font-size:16px; min-height:44px; }
 #dw .dw-btn { min-height:44px; }
 #dw .dw-project-preview { height:150px; }
 #dw .dw-article-image { height:125px; }
 #dw .dw-seo-split { gap:16px; }
}
@media(prefers-reduced-motion:reduce) {
 #dw *,#dw *::before,#dw *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 #dw.dw-motion [data-r].dw-pending { opacity:1; transform:none; }
}

/* Première section : réserve seulement la partie du header qui recouvre la page. */
#dw {
    padding-top: var(--dw-header-clearance, 150px);
}
#dw #dw-hero.dw-hero {
    padding-top: clamp(20px, 2vw, 30px);
}
@media (max-width: 540px) {
    #dw #dw-hero.dw-hero { padding-top: 18px; }
}

#dw .dw-logo-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

#dw .dw-logo-row .dw-client-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 140px;
  padding: 18px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(35, 29, 24, .1);
  border-radius: 14px;
}

#dw .dw-client-logo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 220px;
  object-fit: contain;
}

@media (max-width: 800px) {
  #dw .dw-logo-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  #dw .dw-logo-row .dw-client-logo {
    height: 120px;
    padding: 14px;
  }
}

.dw-image-cadre {
  width: 100%;
  aspect-ratio: 2 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 14px;
  background: #f8f7f4;
}

.dw-image-cadre img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* =========================================================
   CORRECTION 02 / LE CONTEXTE — photos sans recadrage
   Respecte les proportions réelles des fichiers JPG.
   Les réglages ci-dessous neutralisent les anciens ratios et
   les règles globales de .dw-seo-media.
   ========================================================= */
#dw #dw-pourquoi figure.dw-seo-media.dw-context-media {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    margin: 0 0 18px;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: transparent;
    opacity: 1;
}

#dw #dw-pourquoi figure.dw-seo-media.dw-context-media > img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 1;
    transform: none;
}

/* Les animations de révélation ne doivent pas masquer les photos. */
#dw.is-ready #dw-pourquoi figure.dw-context-media[data-r],
#dw.dw-motion #dw-pourquoi figure.dw-context-media[data-r].dw-pending {
    opacity: 1;
    transform: none;
}

@media (max-width: 540px) {
    #dw #dw-pourquoi figure.dw-seo-media.dw-context-media {
        border-radius: 10px;
        margin-bottom: 14px;
    }
}


/* PHOTOS ÉQUIPE */

.dw-team-photo {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 14px;
  background: #f3f1ed;
}

.dw-team-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.6s ease;
}

.dw-team-card:hover .dw-team-photo img {
  transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
  .dw-team-photo img {
    transition: none;
  }
}

