/*
Theme Name: Florian Dougny — Editorial V3
Theme URI: https://floriandougny.fr/
Author: Florian Dougny
Description: Portfolio WordPress sur mesure, ACF (gratuit) pour les contenus structurés et Gutenberg pour les textes éditoriaux. Sans constructeur de pages.
Version: 3.0.0
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: fdv3
*/
:root{--fd-ink:#192a2a;--fd-muted:#596763;--fd-bg:#f7f6f1;--fd-paper:#fffefa;--fd-accent:#086b65;--fd-edge:#ccd3cb;--fd-space:clamp(22px,5vw,76px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--fd-bg);color:var(--fd-ink);font-family:Arial,Helvetica,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.66}
img{max-width:100%;height:auto} a{color:inherit;text-decoration:none} a:hover{text-decoration-color:var(--fd-accent)}
:where(h1,h2,h3,p,figure){margin-top:0}h1,h2,h3{line-height:1.1;font-weight:550;letter-spacing:-.045em}p{color:var(--fd-muted)}
.fd-container{width:min(1390px,calc(100% - 2 * var(--fd-space)));margin-inline:auto}
.fd-skip{position:absolute;left:-9999px;top:auto;background:#fff;color:#111;padding:12px;z-index:999}.fd-skip:focus{left:12px;top:12px}
.fd-header{background:var(--fd-paper);border-bottom:1px solid var(--fd-edge);position:relative;z-index:10}
.fd-head-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.fd-brand{display:flex;align-items:center;gap:17px;min-width:240px}.fd-brand:hover{text-decoration:none}
.fd-brandmark{font-family:Arial,sans-serif;font-size:29px;letter-spacing:-.11em;font-weight:850;line-height:1}.fd-brandmark span{color:var(--fd-accent)}
.fd-brandtext{font-size:15px;font-weight:700;line-height:1.1}.fd-brandtext small{display:block;font-size:11px;font-weight:400;letter-spacing:.025em;margin-top:7px;color:var(--fd-muted)}
.fd-nav{display:flex;gap:clamp(14px,2.1vw,30px);align-items:center;font-size:13px;font-weight:650}.fd-nav a{white-space:nowrap;padding:12px 0}.fd-nav a{position:relative}.fd-nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:currentColor}.fd-nav a[aria-current=page]{color:var(--fd-accent)}
.fd-menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}.fd-menu-toggle span{display:block;width:25px;height:2px;margin:5px 0;background:var(--fd-ink)}
.fd-eyebrow{font-size:11px;letter-spacing:.155em;text-transform:uppercase;font-weight:750;color:var(--fd-accent);margin:0 0 18px;line-height:1.5}
.fd-hero{padding-top:clamp(66px,7vw,102px);padding-bottom:clamp(75px,8vw,126px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:center}
.fd-hero h1{font-size:clamp(51px,5.35vw,88px);line-height:1.03;letter-spacing:-.063em;font-weight:520;margin:0 0 29px;max-width:720px}
.fd-hero h1 em,.fd-subpage-hero h1 em{display:block;color:var(--fd-accent);font-family:Georgia,'Times New Roman',serif;font-size:1.02em;font-weight:400;letter-spacing:-.055em}
.fd-intro{font-size:17px;line-height:1.78;max-width:530px;margin:0 0 30px}
.fd-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px}
.fd-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 21px;min-height:49px;background:var(--fd-ink);color:#fff;font-size:13px;font-weight:700;border:1px solid var(--fd-ink);transition:background .16s,color .16s}
.fd-button:hover{background:var(--fd-accent);border-color:var(--fd-accent);color:#fff;text-decoration:none}.fd-button-light{background:var(--fd-paper);color:var(--fd-ink);border-color:var(--fd-paper)}.fd-button-light:hover{background:#dce9df;color:var(--fd-ink)}
.fd-underlink{display:inline-block;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;font-weight:700;font-size:13px}.fd-underlink:hover{color:var(--fd-accent)}
.fd-hero-figure{position:relative;margin:0;min-width:0}.fd-hero-figure::before{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--fd-edge);z-index:-1}
.fd-hero-figure img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;border:1px solid #dadbd1;background:#e5e8e2}
.fd-hero-figure figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;border-top:1px solid var(--fd-edge);margin-top:20px;padding-top:14px;font-size:12px;color:var(--fd-muted)}.fd-hero-figure figcaption strong{font-weight:700;color:var(--fd-ink)}
.fd-section{border-top:1px solid var(--fd-edge);padding:85px 0 102px}.fd-section-title{display:flex;justify-content:space-between;gap:50px;align-items:start;margin-bottom:45px}
.fd-section-title h2{font-size:clamp(34px,4.35vw,61px);line-height:1.09;letter-spacing:-.056em;margin:0;max-width:735px}.fd-section-title>p,.fd-work-head>p{max-width:290px;font-size:14px;line-height:1.75;margin:8px 0 0}
.fd-service-list{border-top:1px solid var(--fd-edge)}
.fd-service{display:grid;grid-template-columns:minmax(220px,.88fr) minmax(260px,1fr) 22px;gap:clamp(15px,3vw,55px);align-items:baseline;border-bottom:1px solid var(--fd-edge);padding:33px 0;transition:padding .2s ease}
.fd-service:hover{text-decoration:none;padding-left:8px}.fd-service h3{font-size:clamp(21px,2.4vw,31px);letter-spacing:-.04em;font-weight:540;margin:0}.fd-service p{font-size:14px;max-width:480px;margin:0;line-height:1.7}.fd-service>span{color:var(--fd-accent);font-size:23px}
.fd-work{background:var(--fd-paper)}.fd-work .fd-section{border-top:0}.fd-work-head h2{max-width:720px}
.fd-work-feature{display:grid;grid-template-columns:1.4fr .8fr;gap:6%;align-items:end}
.fd-work-image{display:block;min-width:0;overflow:hidden;background:#e5e9e0}.fd-work-image img{display:block;width:100%;aspect-ratio:1.85;object-fit:cover;object-position:top;transition:transform .35s ease}.fd-work-image:hover img{transform:scale(1.018)}
.fd-work-feature-copy{padding-bottom:6px}.fd-work-feature-copy h3{font-size:clamp(30px,3.5vw,47px);margin:15px 0 16px}.fd-work-feature-copy h3 a:hover{text-decoration:underline}.fd-work-feature-copy>p:not(.fd-eyebrow){font-size:15px;line-height:1.7;max-width:350px}
.fd-work-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:65px}
.fd-work-minicard{border-top:1px solid var(--fd-edge);padding-top:25px;display:block}.fd-work-minicard:hover{text-decoration:none}.fd-work-minicard h3{font-size:clamp(22px,2.3vw,27px);font-weight:550;margin:9px 0}.fd-work-minicard h3 span{color:var(--fd-accent);font-size:.8em}.fd-work-minicard>p:not(.fd-eyebrow){font-size:14px;max-width:400px;margin:0}.fd-work-all{margin-top:35px}
.fd-placeholder{width:100%;height:100%;min-height:220px;aspect-ratio:1.85;background:#e5e8df;display:flex;align-items:flex-end;padding:35px;color:var(--fd-ink);font-size:clamp(24px,3vw,37px);font-family:Georgia,serif;letter-spacing:-.04em}
.fd-about{display:grid;grid-template-columns:.6fr 1.4fr;gap:9%;align-items:start}.fd-about-aside{font-family:Georgia,serif;font-size:clamp(40px,4.6vw,67px);line-height:1.02;letter-spacing:-.055em;color:var(--fd-ink)}.fd-about-aside span{color:var(--fd-accent)}.fd-about-aside small{display:block;font:13px Arial,sans-serif;color:var(--fd-muted);letter-spacing:0;margin-top:18px}
.fd-about h2{font-size:clamp(27px,3.1vw,43px);font-weight:510;letter-spacing:-.044em;margin:0 0 25px;max-width:740px}.fd-about p{max-width:680px;line-height:1.75}.fd-about .fd-underlink{margin-top:12px}
.fd-cta{background:var(--fd-ink);color:#fff;padding:76px 0 83px}.fd-cta-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}.fd-cta .fd-eyebrow{color:#99cfc4}.fd-cta h2{font-size:clamp(39px,5.2vw,73px);line-height:1.06;letter-spacing:-.056em;max-width:790px;margin:0 0 15px}.fd-cta p{color:#d7e4df;margin:0;font-size:15px}
.fd-footer{background:var(--fd-paper);padding:30px 0;border-top:1px solid var(--fd-edge)}.fd-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:35px;font-size:12px}.fd-footer-inner strong{font-size:14px;display:block}.fd-footer-inner span{display:block;color:var(--fd-muted);margin-top:3px}.fd-footer-links{display:flex;gap:22px;flex-wrap:wrap}.fd-footer-links a{color:var(--fd-muted)}.fd-footer-links a:hover{text-decoration:underline}
.fd-subpage-hero{padding:clamp(65px,7vw,105px) 0 clamp(62px,7vw,105px);border-bottom:1px solid var(--fd-edge)}.fd-subpage-hero h1{font-size:clamp(44px,6vw,83px);max-width:970px;font-weight:530;line-height:1.07;margin:0 0 26px;letter-spacing:-.06em}.fd-subpage-hero h1 em{display:inline}.fd-page-lead{max-width:760px;font-size:clamp(16px,1.65vw,20px);line-height:1.73;margin:0}.fd-subpage-hero .fd-button{margin-top:25px}
.fd-split-section{display:grid;grid-template-columns: .75fr 1fr;gap:9%;border-bottom:1px solid var(--fd-edge);padding:90px 0}.fd-split-section h2{font-size:clamp(33px,3.7vw,53px);line-height:1.12;margin:0}.fd-split-section>div>p:not(.fd-eyebrow){font-size:17px;max-width:650px;margin:3px 0 25px}.fd-what{padding:90px 0 105px}.fd-what-cols{display:grid;grid-template-columns:1fr 1fr;gap:9%}.fd-what-cols h3{font-size:27px}.fd-clean-list{border-top:1px solid var(--fd-edge)}.fd-clean-list>div{padding:14px 0;border-bottom:1px solid var(--fd-edge);color:var(--fd-muted);font-size:15px}
.fd-contact-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.75fr);gap:12%;padding:74px 0 115px}.fd-contact-layout h2{font-size:clamp(27px,3vw,41px);margin:0 0 25px}.fd-contact-aside{border-top:1px solid var(--fd-edge);padding-top:28px}.fd-contact-aside p{line-height:1.75}.fd-contact-aside .fd-mini{font-size:12px;margin-top:46px}.fd-contact-aside .fd-mini a{text-decoration:underline}
.fd-contact-form label{display:block;font-size:13px;color:var(--fd-ink);font-weight:700;margin:0 0 16px}
.fd-contact-form input:not([type=submit]):not([type=checkbox]),.fd-contact-form textarea,.fd-contact-form select{display:block;margin-top:6px;width:100%;max-width:100%;padding:13px 12px;min-height:47px;background:var(--fd-paper);border:1px solid #b9c7bf;border-radius:0;color:var(--fd-ink);font:15px Arial,sans-serif;box-shadow:none}
.fd-contact-form textarea{min-height:160px;resize:vertical}.fd-contact-form :is(input,textarea,select):focus{outline:2px solid var(--fd-accent);outline-offset:1px}.fd-contact-form input[type=submit]{cursor:pointer;background:var(--fd-ink);border:0;padding:15px 26px;color:#fff;font-weight:700;font-size:14px}.fd-contact-form input[type=submit]:hover{background:var(--fd-accent)}.fd-contact-form .wpcf7-acceptance label{font-weight:400;font-size:12px;color:var(--fd-muted)}.fd-contact-form .wpcf7-spinner{vertical-align:middle}.fd-contact-form .wpcf7-response-output{margin:20px 0;padding:12px;border:1px solid var(--fd-edge)}
.fd-project-list{padding:74px 0 110px}.fd-project-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:8%;align-items:center;border-bottom:1px solid var(--fd-edge);padding:32px 0}.fd-project-row:first-child{padding-top:0}.fd-project-row-img img{display:block;width:100%;aspect-ratio:1.85;object-fit:cover;object-position:top}.fd-project-row h2{font-size:clamp(27px,3.1vw,43px);margin:0 0 20px}.fd-project-row>div>p:not(.fd-eyebrow){font-size:15px}
.fd-project-detail{display:grid;grid-template-columns: minmax(0,1.3fr) minmax(0,.8fr);gap:7%;padding:70px 0 110px}.fd-project-detail-visual img{width:100%;height:auto;display:block}.fd-project-detail h2{font-size:clamp(30px,3.3vw,44px);margin:0 0 24px}.fd-project-body{margin-top:26px}.fd-project-body p{line-height:1.75}
.fd-editor-content{padding:60px 0 105px;max-width:min(calc(100% - 2 * var(--fd-space)), 900px);margin:auto}.fd-editor-content>:is(h2,h3){margin-top:1.6em}.fd-editor-content a{text-decoration:underline}.fd-editor-content .alignwide{max-width:100%}.fd-editor-content .wp-block-columns{gap:40px}.fd-editor-content :is(img,iframe){max-width:100%}
@media (min-width:1500px){.fd-hero h1{font-size:88px}}
@media (max-width:1100px){.fd-nav{gap:14px;font-size:12px}.fd-brand{min-width:220px}.fd-hero{gap:5%}.fd-hero h1{font-size:clamp(45px,5vw,66px)}}
@media (max-width:850px){.fd-menu-toggle{display:block;z-index:2}.fd-head-inner{height:76px}.fd-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:10px var(--fd-space) 24px;background:var(--fd-paper);border-bottom:1px solid var(--fd-edge);box-shadow:0 12px 20px #192a2a12;flex-direction:column;align-items:stretch;gap:0}.fd-nav.is-open{display:flex}.fd-nav a{padding:13px 0;border-bottom:1px solid var(--fd-edge);font-size:15px}.fd-nav a:last-child{border-bottom:1px solid var(--fd-edge);padding-bottom:13px}.fd-hero{gap:32px;padding-top:75px;padding-bottom:83px}.fd-hero h1{font-size:clamp(42px,6.5vw,64px)}.fd-work-feature{gap:35px}.fd-about{gap:5%}}
@media (max-width:700px){:root{--fd-space:22px}.fd-head-inner{height:72px}.fd-brand{gap:11px;min-width:0}.fd-brandmark{font-size:27px}.fd-brandtext{font-size:13px}.fd-brandtext small{font-size:10px}.fd-hero{grid-template-columns:minmax(0,1fr);padding:49px 0 73px;gap:43px}.fd-hero h1{font-size:clamp(44px,11.2vw,65px);margin-bottom:23px}.fd-intro{font-size:16px}.fd-hero-actions{gap:23px}.fd-hero-figure::before{inset:12px -12px -12px 12px}.fd-hero-figure img{aspect-ratio:1.4}.fd-hero-figure figcaption{display:block;font-size:11px}.fd-hero-figure figcaption span{display:block}.fd-section{padding:61px 0 71px}.fd-section-title{display:block;margin-bottom:31px}.fd-section-title h2{font-size:clamp(34px,9vw,40px)}.fd-section-title>p,.fd-work-head>p{margin-top:17px;max-width:100%}.fd-service{grid-template-columns:minmax(0,1fr) 25px;gap:6px;padding:25px 0}.fd-service h3{font-size:23px}.fd-service p{grid-column:1;grid-row:2;font-size:14px}.fd-service>span{grid-column:2;grid-row:1}.fd-work-feature{grid-template-columns:1fr;gap:24px}.fd-work-image img{aspect-ratio:1.55}.fd-work-feature-copy h3{font-size:34px;margin:9px 0 12px}.fd-work-more{grid-template-columns:1fr;gap:23px;margin-top:42px}.fd-work-minicard h3{font-size:24px}.fd-about{grid-template-columns:1fr;gap:24px}.fd-about-aside{font-size:47px}.fd-about h2{font-size:31px}.fd-cta{padding:62px 0 69px}.fd-cta-inner{display:block}.fd-cta h2{font-size:clamp(42px,10vw,54px)}.fd-cta .fd-button{margin-top:31px}.fd-footer-inner{display:block}.fd-footer-links{margin-top:20px;gap:15px}.fd-subpage-hero{padding:65px 0 61px}.fd-subpage-hero h1{font-size:clamp(43px,10vw,56px)}.fd-page-lead{font-size:17px}.fd-split-section{grid-template-columns:1fr;gap:22px;padding:60px 0}.fd-split-section h2{font-size:36px}.fd-split-section>div>p:not(.fd-eyebrow){font-size:16px}.fd-what{padding:65px 0}.fd-what-cols{grid-template-columns:1fr;gap:34px}.fd-what-cols h3{font-size:25px}.fd-contact-layout{grid-template-columns:1fr;gap:65px;padding:56px 0 85px}.fd-project-list{padding:55px 0 85px}.fd-project-row{grid-template-columns:1fr;gap:20px;padding:28px 0}.fd-project-row h2{font-size:31px;margin:0 0 12px}.fd-project-detail{grid-template-columns:1fr;gap:35px;padding:50px 0 80px}.fd-editor-content{padding:45px 0 70px;max-width:calc(100% - 2 * var(--fd-space))}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Fiche réalisation : ajustements de mise en page */
.fd-project-detail {
    padding-bottom: 75px;
}

.fd-project-detail .fd-editor-content {
    padding: 0;
    margin: 26px 0 22px;
    max-width: 100%;
}

.fd-project-detail .fd-project-body p {
    margin-top: 0;
}

@media (max-width: 700px) {
    .fd-project-detail {
        padding-bottom: 65px;
    }
}
