/* Didot sur l'ensemble du site. Les sources locales utilisent la police
   installée sur l'appareil ; Bodoni Moda reste le secours jusqu'à réception
   du fichier Didot complet, absent du dossier actuel. */
@font-face{font-family:'Didot';src:local('Didot'),local('Didot Regular'),local('Didot-Roman'),local('DidotLTStd-Roman');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Didot';src:local('Didot Bold'),local('Didot-Bold'),local('DidotLTStd-Bold');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Didot';src:local('Didot Italic'),local('Didot-Italic'),local('DidotLTStd-Italic');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Bodoni Moda';src:url("/assets/BodoniModa.ttf") format('truetype');font-weight:400 900;font-style:normal;font-display:swap}:root{--paper:#faf7f1;--sand:#cab08f;--ink:#654b3c;--muted:#7c6b58;--line:#d9cbb8;--display:'Didot','Bodoni Moda','Times New Roman',serif;--header:112px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.8 var(--display)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #9b7750;outline-offset:6px}img{display:block;max-width:100%}::selection{background:var(--sand);color:var(--ink)}.site-header{height:var(--header);padding:0 4%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:sticky;top:0;z-index:20;background:var(--paper);transition:background .3s,color .3s,box-shadow .3s}.has-hero .site-header{position:fixed;inset:0 0 auto}.site-header.over-image{background:transparent;color:white}.site-header.scrolled{background:var(--paper);color:var(--ink);box-shadow:0 1px 0 #57402b12}.site-header nav{grid-column:3;display:flex;justify-content:flex-end;gap:27px;align-items:center;font:15px var(--display);white-space:nowrap}.site-header nav a:hover{opacity:.65}.site-header a[aria-current=page]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.logo-link{justify-self:start}.logo-crop{display:block;position:relative;width:42px;aspect-ratio:160/310;overflow:hidden;mix-blend-mode:multiply}.logo-crop img{position:absolute;width:783.75%;max-width:none;height:auto;left:-342.5%;top:-112.903%}.surname-crop{display:block;position:relative;width:180px;aspect-ratio:660/82;overflow:hidden;mix-blend-mode:multiply}.surname-crop img{position:absolute;width:190%;height:auto;max-width:none;left:-45.4545%;top:-981.7073%}.header-name{text-align:center;justify-self:center;grid-column:2;display:flex;flex-direction:column;align-items:center;gap:6px}.first-name{display:block;font:23px/1 var(--display);letter-spacing:2px}.header-name .surname-crop{width:172px}.over-image:not(.scrolled) .logo-crop,.over-image:not(.scrolled) .surname-crop{filter:grayscale(1) invert(1);mix-blend-mode:screen}.home .over-image:not(.scrolled) .header-name{visibility:hidden}.home-hero{position:relative;height:100svh;min-height:610px;background:#89735c;color:white;isolation:isolate}.home-hero>img,.project-hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(#271b1075,transparent 30%,#271b1020 60%,#271b105c)}.hero-signature{position:absolute;top:49%;left:8%;right:8%;transform:translateY(-50%);text-align:center}.hero-signature h1{display:flex;align-items:center;flex-direction:column;gap:28px}.hero-signature .first-name{font-size:clamp(47px,5.5vw,84px);letter-spacing:2px;font-weight:400}.hero-signature .surname-crop{width:min(620px,75vw);filter:grayscale(1) invert(1);mix-blend-mode:screen}.hero-signature p{font:19px var(--display);letter-spacing:1.6px;margin-top:35px;text-transform:none}.discover{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);font:17px var(--display);text-align:center;white-space:nowrap;letter-spacing:.2px}.discover span{display:block;font:24px var(--display);margin-top:14px}.feed{padding:75px 4% 95px}.feed-heading{text-align:center;padding:0 0 55px}.feed-heading h1,.feed-heading h2{font-size:43px;letter-spacing:.4px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-card{position:relative;overflow:hidden;height:calc(100svh - 180px);min-height:440px;max-height:1000px;background:#e9dfd2;display:block;isolation:isolate}.project-card>img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.3,1)}.card-shade{position:absolute;inset:0;background:#302115;opacity:0;transition:opacity .4s}.project-card h2,.project-card h3{position:absolute;left:8%;right:8%;top:50%;transform:translateY(calc(-50% + 10px));color:white;text-align:center;font-size:clamp(30px,3.3vw,53px);line-height:1.22;opacity:0;transition:opacity .4s,transform .4s}.project-card:hover .card-shade,.project-card:focus-visible .card-shade{opacity:.4}.project-card:hover h2,.project-card:hover h3,.project-card:focus-visible h2,.project-card:focus-visible h3{opacity:1;transform:translateY(-50%)}.project-card:hover>img{transform:scale(1.025)}.project-hero{height:100svh;min-height:600px;position:relative;color:white;background:#a18d75}.project-hero h1{position:absolute;left:10%;right:10%;top:52%;transform:translateY(-50%);text-align:center;font-size:clamp(42px,5vw,78px);line-height:1.18;letter-spacing:.2px;text-shadow:0 2px 18px #241a1055}.project-story{max-width:1440px;margin:auto;padding:110px 10%;display:grid;grid-template-columns:1.65fr 1fr;gap:10%;align-items:start}.story-text p{font:25px/1.75 var(--display);color:var(--ink)}.project-story dl{padding:0 0 0 35px;border-left:1px solid var(--line);margin:0}.project-story dl>div{margin-bottom:17px;font-size:12px;line-height:1.7}.project-story dt{font-weight:600;color:#7d674f}.project-story dd{margin:3px 0 0;color:var(--ink)}.project-sequence{display:flex;flex-direction:column;align-items:center;gap:55px;padding:0 4% 80px}.sequence-image{margin:0;width:100%;max-width:1700px}.project-image-frame{display:flex;justify-content:center;width:100%;border:0;background:none;padding:0;cursor:default}.project-image-frame img{width:100%;height:auto;max-height:1100px;object-fit:contain}.sequence-image.portrait{max-width:820px}.sequence-image.portrait img{width:auto;max-width:100%;max-height:950px}.project-end{display:flex;justify-content:space-between;gap:30px;padding:45px 8% 90px;font:19px var(--display)}.project-end a:last-child{text-align:right}.site-footer{background:#cab08f}.footer-main{padding:75px 8% 65px;display:grid;grid-template-columns:1.5fr .8fr 1.1fr;gap:9%;align-items:start}.footer-brand{display:flex;align-items:center;flex-direction:column;justify-self:start;gap:22px}.footer-brand .logo-crop{width:44px}.footer-name{display:flex;align-items:center;flex-direction:column;gap:7px}.footer-name .first-name{font-size:21px}.footer-name .surname-crop{width:235px}.footer-main h2{font-size:25px;margin-bottom:22px}.footer-main a:not(.footer-brand){display:block;font-size:12px;margin-bottom:10px}.footer-contact p{font:17px var(--display);margin-bottom:24px}.footer-bottom{padding:22px 8%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #79604540;font-size:9px}.agency{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding:60px 8% 100px}.agency-picture{height:690px}.agency-picture img{width:100%;height:100%;object-fit:cover;object-position:35%}.agency-copy h1{font-size:25px;color:var(--muted);margin-bottom:22px}.agency-copy h2{font-size:50px;line-height:1.2;margin-bottom:35px}.agency-copy p{font:21px/1.7 var(--display);margin:20px 0}.text-link{display:inline-block;border-bottom:1px solid #b49a7b;font:17px var(--display);padding:12px 0}.contact-page{padding:80px 10% 120px;min-height:calc(100svh - 112px)}.contact-page h1{font-size:clamp(40px,5vw,75px);line-height:1.3;margin:30px 0 80px}.contact-page>div{border-top:1px solid var(--line);padding-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:30px;font:22px/1.7 var(--display)}.contact-page a{display:block;font:14px/2.3 var(--display)}.lightbox{width:96vw;height:94svh;max-width:none;max-height:94svh;border:0;background:var(--paper);padding:65px 20px 25px}.lightbox::backdrop{background:#21160fcc;backdrop-filter:blur(6px)}.lightbox>img{width:100%;height:100%;object-fit:contain}.close-lightbox{position:absolute;top:18px;right:25px;background:none;border:0;font-size:13px}.modal-open{overflow:hidden}.skip{position:absolute;top:-100px;left:15px;background:var(--sand);padding:10px;z-index:99}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* B : rythme plus éditorial, marges et fonds ivoire. */
.variant-b{--paper:#f4ede2}.variant-b .hero-signature{top:54%}.variant-b .hero-signature .first-name{font-size:clamp(46px,5vw,76px)}.variant-b .hero-signature .surname-crop{width:min(550px,72vw)}.variant-b .feed{padding:95px 8% 120px}.variant-b .project-grid{gap:65px 55px}.variant-b .project-card{height:680px;max-height:82svh;min-height:380px}.variant-b .project-card:nth-child(even){margin-top:110px}.variant-b .project-hero{height:100svh}.variant-b .project-hero h1{top:auto;bottom:95px;transform:none;left:8%;right:30%;text-align:left;font-size:clamp(40px,4.7vw,70px)}.variant-b .project-story{padding-top:120px;padding-bottom:120px;max-width:1320px;gap:12%}.variant-b .project-sequence{padding:0 12% 90px;gap:90px}.variant-b .sequence-image.portrait{max-width:700px}.variant-b .sequence-image:nth-child(even){align-self:flex-end}.variant-b .sequence-image:nth-child(odd){align-self:flex-start}.variant-b .site-footer{background:#d8c2a5}.variant-b .footer-main{padding-top:90px;padding-bottom:85px}
@media(min-width:1900px){.feed{max-width:2100px;margin:auto}.hero-signature .surname-crop{width:680px}}@media(max-width:1150px){.site-header nav{gap:17px;font-size:14px}.header-name .surname-crop{width:145px}.header-name .first-name{font-size:21px}.project-story{padding:80px 7%;gap:7%}.footer-main{gap:5%;padding-left:6%;padding-right:6%}.footer-name .surname-crop{width:190px}.variant-b .project-grid{gap:35px}.agency{gap:6%;padding:45px 5% 75px}.agency-picture{height:600px}.agency-copy h2{font-size:42px}}
@media(max-width:780px){:root{--header:102px}.site-header{grid-template-columns:55px 1fr;grid-template-rows:60px 32px;padding:6px 5%;column-gap:15px}.logo-link{grid-row:1/3;grid-column:1}.logo-crop{width:35px}.header-name{grid-column:2;grid-row:1;justify-self:center;gap:4px}.header-name .first-name{font-size:18px}.header-name .surname-crop{width:132px}.site-header nav{grid-column:2;grid-row:2;justify-content:center;gap:20px;font-size:13px}.home .over-image:not(.scrolled) .header-name{visibility:hidden}.home .over-image:not(.scrolled) nav{grid-row:1/3;align-self:start;padding-top:21px}.home-hero{min-height:650px}.hero-signature{left:6%;right:6%;top:49%}.hero-signature h1{gap:21px}.hero-signature .first-name,.variant-b .hero-signature .first-name{font-size:49px}.hero-signature .surname-crop,.variant-b .hero-signature .surname-crop{width:min(440px,86vw)}.hero-signature p{font-size:17px;letter-spacing:1px;margin-top:28px}.discover{font-size:16px;bottom:45px}.home-hero>img{object-position:57%}.feed,.variant-b .feed{padding:50px 4% 65px}.feed-heading{padding-bottom:35px}.feed-heading h1,.feed-heading h2{font-size:35px}.project-grid,.variant-b .project-grid{gap:14px}.project-card,.variant-b .project-card{height:58svh;min-height:330px;max-height:650px}.variant-b .project-card:nth-child(even){margin-top:55px}.project-card h2,.project-card h3{font-size:26px;left:7%;right:7%}.project-hero{min-height:600px}.project-hero h1{font-size:43px;left:8%;right:8%;top:54%}.variant-b .project-hero h1{font-size:43px;right:8%;bottom:65px}.project-story,.variant-b .project-story{display:block;padding:55px 7%}.story-text p{font-size:23px;line-height:1.65}.project-story dl{margin-top:35px;border-left:0;border-top:1px solid var(--line);padding:25px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:15px 20px}.project-story dl>div{font-size:11px;margin:0}.project-sequence{padding:0 4% 45px;gap:25px}.variant-b .project-sequence{padding:0 7% 45px;gap:45px}.sequence-image.portrait,.variant-b .sequence-image.portrait{max-width:85%}.project-end{font-size:16px;padding:25px 7% 55px}.footer-main,.variant-b .footer-main{grid-template-columns:1fr 1fr;padding:50px 7%;gap:40px 25px}.footer-brand{grid-column:1/-1;justify-self:center}.footer-name .surname-crop{width:230px}.footer-main h2{font-size:24px}.footer-main a:not(.footer-brand){font-size:11px;overflow-wrap:anywhere}.footer-contact p{font-size:16px}.footer-bottom{padding:20px 7%;font-size:8px;flex-wrap:wrap}.agency{display:flex;flex-direction:column-reverse;padding:40px 6% 65px;gap:35px}.agency-copy h2{font-size:44px}.agency-picture{height:480px;width:100%}.contact-page{padding:45px 7% 80px}.contact-page h1{font-size:44px;margin:25px 0 55px}.contact-page>div{grid-template-columns:1fr;gap:25px}.contact-page a{font-size:12px}.lightbox{padding:60px 10px 20px}}
@media(hover:none){.card-shade{opacity:.18;background:linear-gradient(transparent,#302115)}.project-card h2,.project-card h3{opacity:1;top:auto;bottom:25px;transform:none;text-shadow:0 2px 15px #0009;font-size:25px}.project-card:hover h2,.project-card:hover h3{transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Le PNG reste intact : seul son monogramme est affiché, avec fond transparent à l’écran. */
.filter-defs{position:absolute;pointer-events:none}.logo-crop{mix-blend-mode:normal!important;filter:none!important}.logo-crop img{filter:url("#logo-ink")}.over-image:not(.scrolled) .logo-crop img{filter:url("#logo-white")}.surname-text{display:block;font:18px/1.1 var(--display);letter-spacing:.29em;text-transform:uppercase;padding-left:.29em}.hero-signature .surname-text{font-size:clamp(42px,5.2vw,78px);letter-spacing:.27em;padding-left:.27em}.hero-signature h1{gap:20px}.footer-brand .logo-crop{width:65px}.footer-main{align-items:start}.footer-brand{padding-top:4px}.variant-b .hero-signature .surname-text{font-size:clamp(40px,4.7vw,70px)}@media(max-width:780px){.surname-text{font-size:16px}.hero-signature .surname-text,.variant-b .hero-signature .surname-text{font-size:clamp(33px,8.4vw,54px);letter-spacing:.22em}.footer-brand .logo-crop{width:55px}}
/* Plein cadre retenu : une signature discrète sur une seule ligne. */
.variant-a .hero-signature h1{display:block;font-size:clamp(23px,2.6vw,40px);line-height:1.35;font-weight:400;letter-spacing:.4px;white-space:nowrap}
.variant-a .hero-signature .agency-name{font:inherit}
.variant-a .hero-signature p{font-size:17px;letter-spacing:.7px;margin-top:15px}
.variant-a .header-name .agency-name{font:21px/1.2 var(--display);letter-spacing:.1px;white-space:nowrap}
.variant-a .home-hero>img{object-position:50% center}
@media(max-width:780px){.variant-a .hero-signature{left:4%;right:4%}.variant-a .hero-signature h1{font-size:clamp(19px,5.5vw,32px);letter-spacing:0}.variant-a .hero-signature p{font-size:15px;margin-top:12px}.variant-a .header-name .agency-name{font-size:18px}.variant-a .home-hero>img{object-position:53% center}}
/* Réalisations : trois portraits par rangée, légendes discrètes, voile renforcé. */
.variant-a .feed{padding:64px 4% 85px}
.variant-a .feed-heading{text-align:left;padding-bottom:38px}
.variant-a .feed-heading h1,.variant-a .feed-heading h2{font-size:36px;line-height:1.25}
.variant-a .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.variant-a .project-card{height:auto;min-height:0;max-height:none;aspect-ratio:3/4}
.variant-a .project-card::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(34,24,16,.52));pointer-events:none;z-index:0}
.variant-a .project-card .card-shade{z-index:1;background:#302115;opacity:0;transition:opacity .45s ease}
.variant-a .project-card h2,.variant-a .project-card h3{left:23px;right:23px;top:auto;bottom:24px;text-align:left;transform:none;opacity:1;z-index:2;font-size:18px;line-height:1.4;letter-spacing:.15px;text-shadow:0 1px 10px #0003}
.variant-a .project-card h2::after,.variant-a .project-card h3::after{content:'';display:block;width:32px;height:1px;background:currentColor;opacity:.75;margin-top:9px;transition:width .4s}
.variant-a .project-card:hover .card-shade,.variant-a .project-card:focus-visible .card-shade{opacity:.64}
.variant-a .project-card:hover h2,.variant-a .project-card:hover h3,.variant-a .project-card:focus-visible h2,.variant-a .project-card:focus-visible h3{transform:none}
.variant-a .project-card:hover h2::after,.variant-a .project-card:hover h3::after,.variant-a .project-card:focus-visible h2::after,.variant-a .project-card:focus-visible h3::after{width:56px}
@media(max-width:1000px){.variant-a .project-grid{gap:20px}.variant-a .project-card h2,.variant-a .project-card h3{left:17px;right:17px;bottom:19px;font-size:16px}}
@media(max-width:780px){.variant-a .feed{padding:44px 5% 65px}.variant-a .feed-heading{padding-bottom:28px}.variant-a .feed-heading h1,.variant-a .feed-heading h2{font-size:32px}.variant-a .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:520px){.variant-a .project-grid{grid-template-columns:1fr;gap:22px}.variant-a .project-card h2,.variant-a .project-card h3{font-size:18px;left:22px;right:22px;bottom:24px}}
@media(prefers-reduced-motion:reduce){.variant-a .project-card h2::after,.variant-a .project-card h3::after,.variant-a .project-card .card-shade{transition:none}}
/* Réalisations : titre centré, beige limité à l’en-tête de la variante. */
.variant-a .feed-heading{text-align:center}
.variant-a.banner-beige .site-header{background:var(--paper);color:var(--ink)}
.variant-a .project-card:hover .card-shade,
.variant-a .project-card:focus-visible .card-shade{opacity:0}
/* Pieds de page compacts : logo / nom / liens / contact. */
.compact-footer .footer-main{display:grid;grid-template-columns:.7fr 1.15fr .75fr 1.3fr;gap:35px;align-items:center;padding:34px 6% 30px;min-height:218px}
.compact-footer .footer-brand{grid-column:auto;justify-self:stretch;align-self:stretch;display:flex;align-items:center;justify-content:center;padding:0}
.compact-footer .footer-brand .logo-crop{width:44px}
.compact-footer .footer-identity{text-align:center;align-self:center}
.compact-footer .footer-identity h2{font:25px/1.35 var(--display);margin:0;white-space:nowrap}
.compact-footer .footer-social{display:flex;justify-content:center;margin-top:18px}
.compact-footer .footer-main .instagram-link{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;margin:0;color:var(--ink);border:1px solid #79604555;border-radius:50%;transition:background .2s}
.compact-footer .instagram-link:hover{background:#ffffff28}
.compact-footer .instagram-link.pending{opacity:.65;cursor:default}
.compact-footer .footer-links,.compact-footer .footer-contact{align-self:center}
.compact-footer .footer-links h2,.compact-footer .footer-contact h2{font:22px/1.3 var(--display);margin:0 0 16px}
.compact-footer .footer-main a:not(.footer-brand):not(.instagram-link),.compact-footer .footer-contact p{display:block;font:12px/1.7 var(--display);letter-spacing:0;margin:0 0 6px;overflow-wrap:anywhere}
.compact-footer .footer-bottom{padding:13px 6%;font-size:9px}
.compact-footer.footer-two{background:#dfcdb5}
.compact-footer.footer-two .footer-main{padding-top:28px;padding-bottom:28px;min-height:218px;gap:0;grid-template-columns:.7fr 1.15fr .85fr 1.3fr}
.compact-footer.footer-two .footer-identity,.compact-footer.footer-two .footer-links,.compact-footer.footer-two .footer-contact{padding:12px 30px;border-left:1px solid #8b705132;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.compact-footer.footer-two .footer-identity h2{font-size:19px;letter-spacing:.8px;white-space:normal}
.compact-footer.footer-two .footer-contact .footer-social{justify-content:flex-start;margin-top:5px}
.compact-footer.footer-two .footer-main .instagram-link{border:0;border-radius:0;width:24px;height:24px}
.compact-footer.footer-two .footer-links h2,.compact-footer.footer-two .footer-contact h2{font-size:21px;margin-bottom:13px}
@media(max-width:1000px){.compact-footer .footer-main{gap:22px;padding-left:4%;padding-right:4%;grid-template-columns:.55fr 1fr .7fr 1.3fr}.compact-footer .footer-identity h2{font-size:21px}.compact-footer.footer-two .footer-identity,.compact-footer.footer-two .footer-links,.compact-footer.footer-two .footer-contact{padding-left:20px;padding-right:20px}}
@media(max-width:780px){.compact-footer .footer-main,.compact-footer.footer-two .footer-main{grid-template-columns:1fr 1.65fr;gap:28px 22px;padding:30px 6%}.compact-footer .footer-brand{grid-column:1;min-height:100px}.compact-footer .footer-identity{grid-column:2}.compact-footer .footer-links{grid-column:1}.compact-footer .footer-contact{grid-column:2}.compact-footer .footer-identity h2{white-space:normal;font-size:23px}.compact-footer.footer-two .footer-identity,.compact-footer.footer-two .footer-links,.compact-footer.footer-two .footer-contact{padding:0;border:0}.compact-footer.footer-two .footer-contact,.compact-footer.footer-two .footer-identity{border-left:1px solid #8b705132;padding-left:18px}.compact-footer .footer-main a:not(.footer-brand):not(.instagram-link),.compact-footer .footer-contact p{font-size:11px}.compact-footer .footer-links h2,.compact-footer .footer-contact h2{font-size:21px}.compact-footer .footer-bottom{padding:13px 6%}}

/* Pied retenu : disposition 2, sable de la version 1, sans filets. */
.compact-footer.footer-selected{background:#cab08f}
.compact-footer.footer-selected .footer-identity,
.compact-footer.footer-selected .footer-links,
.compact-footer.footer-selected .footer-contact,
.compact-footer.footer-selected .footer-bottom{border:0}
/* Titres et lignes alignés ; réseaux en dessous des coordonnées. */
.compact-footer.footer-selected .footer-links,
.compact-footer.footer-selected .footer-contact{justify-content:flex-start}
.compact-footer.footer-selected .footer-contact .footer-social{display:flex;gap:12px;align-items:center;justify-content:flex-start;margin-top:12px}
/* Fiches projets : titre harmonisé à l’accueil, descriptif justifié et centré. */
.variant-a{--signature-size:clamp(23px,2.6vw,40px)}
.variant-a .hero-signature h1,.variant-a .project-hero h1{font-size:var(--signature-size);line-height:1.35;letter-spacing:.4px}
.variant-a .project-story{align-items:center}
.variant-a .story-text p{text-align:justify;text-align-last:left;hyphens:auto;line-height:1.5}
@media(max-width:780px){.variant-a{--signature-size:clamp(19px,5.5vw,32px)}.variant-a .hero-signature h1,.variant-a .project-hero h1{letter-spacing:0}.variant-a .story-text p{line-height:1.45}}
/* Ajustement fin du descriptif et des libellés d’informations. */
.variant-a .story-text p{font-size:23px}
.variant-a .project-story dt{font-size:13px;color:#cab08f}
@media(max-width:780px){.variant-a .story-text p{font-size:21px}.variant-a .project-story dt{font-size:12px}}

/* Contact : deux propositions locales, coordonnées puis formulaire centré. */
.contact-intro{min-height:calc(100svh - var(--header));position:relative;display:grid;place-items:center;text-align:center;padding:75px 6% 140px}
.contact-details h1{font-size:40px;line-height:1.2;margin-bottom:32px}
.contact-details>a{display:block;width:fit-content;margin:9px auto;font:20px/1.7 var(--display)}
.contact-details .contact-email{font-size:19px;overflow-wrap:anywhere}
.contact-networks{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:22px;font:16px/1.8 var(--display)}
.contact-networks span{color:var(--sand);font-size:12px}
.contact-details a:hover,.contact-mail-fallback:hover{text-decoration:underline;text-underline-offset:5px}
.contact-scroll{position:absolute;bottom:43px;left:50%;transform:translateX(-50%);font:14px/1.5 var(--display);white-space:nowrap}
.contact-scroll span{display:block;margin-top:12px;font:20px var(--display)}
.contact-compose{padding:110px 7% 120px;scroll-margin-top:0}
.contact-form-wrap{max-width:660px;margin:auto;text-align:center}
.contact-compose h2{font-size:36px;line-height:1.3;margin-bottom:60px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.contact-field{text-align:left;margin-bottom:32px}
.contact-field label{display:block;font:16px/1.5 var(--display);margin-bottom:8px}
.contact-field input,.contact-field textarea{display:block;width:100%;border:0;border-bottom:1px solid #9b8873;border-radius:0;background:transparent;color:var(--ink);font:16px/1.6 var(--display);padding:9px 0;outline-offset:5px}
.contact-field textarea{resize:vertical;min-height:140px}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid #7c6041}
.contact-send{border:1px solid #8a7257;background:transparent;min-width:174px;padding:13px 28px;font:16px/1.5 var(--display);transition:background .2s}
.contact-send span{margin-left:24px}
.contact-send:hover{background:#30261d;color:var(--paper)}
.contact-form-note{font:11px/1.65 var(--display);color:var(--ink);max-width:340px;margin:20px auto 0}
.contact-form-status,.contact-mail-fallback{font:13px/1.7 var(--display);margin:18px auto 0;max-width:460px}
.contact-mail-fallback{text-decoration:underline;text-underline-offset:3px}
.contact-design-1 .contact-compose{border-top:1px solid var(--line);margin:0 8%;padding-left:0;padding-right:0}
.contact-design-2 .contact-details h1{margin-bottom:38px}
.contact-design-2 .contact-phone{font-size:26px}
.contact-design-2 .contact-photo{height:44vw;max-height:620px;min-height:260px;margin:0 6%}
.contact-photo img{width:100%;height:100%;object-fit:cover}
.contact-design-2 .contact-compose{background:#e9dfd2;margin-top:80px}
.contact-design-2 .contact-fields{grid-template-columns:1fr;gap:0}
.contact-design-2 .contact-field{margin-bottom:24px}
.contact-design-2 .message-field{margin-top:36px}
.contact-design-2 textarea{border:1px solid #9b8873;padding:14px}
@media(max-width:780px){.contact-intro{padding:60px 6% 125px;min-height:calc(100svh - var(--header))}.contact-details h1{font-size:32px}.contact-details .contact-email{font-size:17px}.contact-details>a{font-size:19px}.contact-compose{padding:75px 7% 85px}.contact-compose h2{font-size:30px;margin-bottom:42px}.contact-fields{grid-template-columns:1fr;gap:0}.contact-design-2 .contact-photo{margin:0 5%;height:65vw;min-height:230px}.contact-design-2 .contact-compose{margin-top:45px}.contact-form-note{max-width:270px}}

/* À propos : photographie au ratio des réalisations, biographie lisible. */
.variant-a .agency-biography{max-width:1500px;margin:auto;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7%;padding:58px 6% 95px;align-items:start}
.variant-a .agency-biography .agency-picture{width:100%;height:auto;aspect-ratio:3/4;overflow:hidden}
.variant-a .agency-biography .agency-picture img{width:100%;height:100%;object-fit:cover}
.variant-a .agency-biography .agency-copy h1{font:32px/1.35 var(--display);color:var(--ink);text-align:center;margin:0 0 30px}
.variant-a .agency-biography .agency-copy p{font:18px/1.65 var(--display);color:var(--ink);margin:0 0 20px;text-align:left}
.variant-a .agency-biography .agency-copy p:last-child{margin-bottom:0}
@media(max-width:1000px){.variant-a .agency-biography{gap:5%;padding:42px 5% 75px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.variant-a .agency-biography .agency-copy h1{font-size:28px}.variant-a .agency-biography .agency-copy p{font-size:17px}}
@media(max-width:780px){.variant-a .agency-biography{display:flex;flex-direction:column;gap:38px;padding:32px 6% 65px}.variant-a .agency-biography .agency-picture{max-width:440px;align-self:center}.variant-a .agency-biography .agency-copy h1{font-size:28px;margin-bottom:26px}.variant-a .agency-biography .agency-copy p{font-size:18px;line-height:1.65;margin-bottom:22px}}
/* Biographie compacte et justifiée, dans la hauteur du portrait. */
.variant-a .agency-biography .agency-copy p{font-size:16px;line-height:1.5;margin-bottom:16px;text-align:justify;text-align-last:left;hyphens:none;word-break:normal;overflow-wrap:normal}
@media(max-width:1100px) and (min-width:781px){.variant-a .agency-biography{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:5%;padding-left:5%;padding-right:5%}.variant-a .agency-biography .agency-copy h1{font-size:28px;margin-bottom:22px}.variant-a .agency-biography .agency-copy p{font-size:15px;line-height:1.45;margin-bottom:13px}}
@media(max-width:900px){.variant-a .agency-biography{display:flex;flex-direction:column;gap:38px;padding:32px 6% 65px}.variant-a .agency-biography .agency-picture{max-width:440px;align-self:center}.variant-a .agency-biography .agency-copy p{font-size:16px;line-height:1.5;margin-bottom:16px}}
@media(min-width:1251px) and (max-width:1400px){.variant-a .agency-biography .agency-copy p{font-size:15px;line-height:1.45;margin-bottom:14px}.variant-a .agency-biography .agency-copy h1{margin-bottom:24px}}
@media(min-width:901px) and (max-width:1250px){.variant-a .agency-biography{display:flex;flex-direction:column;gap:38px;padding:40px 8% 75px}.variant-a .agency-biography .agency-picture{max-width:440px;align-self:center}.variant-a .agency-biography .agency-copy{max-width:720px;margin:auto}.variant-a .agency-biography .agency-copy p{font-size:16px;line-height:1.5;margin-bottom:16px}}

/* Galeries des réalisations : deux photographies par rangée. */
.variant-a .project-sequence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px;padding:0 4% 80px;max-width:1800px;margin:auto}
.variant-a .project-sequence .sequence-image,.variant-a .project-sequence .sequence-image.portrait{width:100%;max-width:none;margin:0}
.variant-a .project-sequence .project-image-frame img{width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:780px){.variant-a .project-sequence{gap:18px;padding-bottom:50px}}
@media(max-width:520px){.variant-a .project-sequence{grid-template-columns:1fr;gap:22px;padding:0 5% 45px}}

/* Une paire entière dans la hauteur disponible sous la navigation. */
@media(min-width:521px){
 .variant-a .project-sequence{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,calc((100svh - var(--header) - 64px)*1.5 + 28px + 8vw));gap:28px}
 .variant-a .project-sequence .project-image-frame img{max-height:calc(100svh - var(--header) - 64px);width:auto;max-width:100%;height:auto}
}
@media(max-width:520px){
 .variant-a .project-sequence .project-image-frame img{max-height:calc(100svh - var(--header) - 48px);width:auto;max-width:100%;height:auto}
}

/* Bois sur les toits : introduction textuelle, sans couverture. */
.variant-a .project-text-heading{padding:46px 6% 0;text-align:center}
.variant-a .project-text-heading h1{font-size:var(--signature-size);line-height:1.35;font-weight:400}
.variant-a .project-text-heading+.project-story{padding-top:52px;padding-bottom:65px}
@media(max-width:780px){.variant-a .project-text-heading{padding-top:32px}.variant-a .project-text-heading+.project-story{padding-top:32px;padding-bottom:45px}}
/* Espacement des paragraphes du descriptif. */
.variant-a .story-text p+p{margin-top:18px}

/* Descriptif du Bois sur les toits : compact, centré et sans césure. */
.variant-a .project-text-heading+.project-story{align-items:center}
.variant-a .project-text-heading+.project-story .story-text p{font-size:17px;line-height:1.5;hyphens:none;word-break:normal;overflow-wrap:normal;text-align:justify;text-align-last:left}
.variant-a .project-text-heading+.project-story .story-text p+p{margin-top:14px}
@media(max-width:780px){.variant-a .project-text-heading+.project-story .story-text p{font-size:16px;line-height:1.5}}

/* Trois propositions pour les en-têtes des fiches projets. */
.variant-a.project-presentation-1 .site-header{background:var(--paper);color:#a38a6b}
.variant-a.project-presentation-1 .site-header .logo-crop img{filter:url("#logo-sand")}
.variant-a.project-presentation-2 .site-header{background:var(--sand);color:var(--ink)}
.variant-a.project-presentation-2 .site-header .logo-crop img{filter:url("#logo-ink")}
.variant-a.project-presentation-3 .project-text-heading h1,
.variant-a.project-presentation-3 .project-hero h1{color:var(--sand)}

/* Titre plus discret et blocs du pied centrés sur leur hauteur totale. */
.variant-a .project-text-heading h1{font-size:clamp(22px,2.3vw,35px)}
.compact-footer.footer-selected{background:#cab08f}
.compact-footer.footer-selected .footer-links,
.compact-footer.footer-selected .footer-contact{align-self:center;justify-content:center}
@media(max-width:780px){.variant-a .project-text-heading h1{font-size:clamp(20px,5vw,28px)}}

/* Pied de page : titres Liens / Contactez-moi et trois lignes alignés. */
.compact-footer.footer-selected .footer-links,
.compact-footer.footer-selected .footer-contact{align-self:stretch;justify-content:flex-start}

/* Les deux colonnes forment un seul ensemble, centré sur le nom. */
.compact-footer.footer-selected .footer-main{grid-template-columns:.7fr 1.15fr 2.15fr;align-items:center}
.compact-footer.footer-selected .footer-details{display:grid;grid-template-columns:.85fr 1.3fr;align-items:start;align-self:center}
.compact-footer.footer-selected .footer-details .footer-links,
.compact-footer.footer-selected .footer-details .footer-contact{align-self:start;padding-top:0;padding-bottom:0;justify-content:flex-start}
@media(max-width:780px){
 .compact-footer.footer-selected .footer-main{grid-template-columns:1fr 1.65fr}
 .compact-footer.footer-selected .footer-details{grid-column:1/-1;grid-template-columns:1fr 1.65fr;gap:22px}
 .compact-footer.footer-selected .footer-details .footer-links{grid-column:1}
 .compact-footer.footer-selected .footer-details .footer-contact{grid-column:2}
}

/* Centrage des titres + trois lignes uniquement ; réseaux hors du bloc. */
.compact-footer.footer-selected .footer-details .footer-contact{position:relative}
.compact-footer.footer-selected .footer-details .footer-contact .footer-social{position:absolute;top:100%;left:30px;margin-top:12px}
.compact-footer.footer-selected .footer-main{min-height:218px;padding-top:28px;padding-bottom:28px}
@media(max-width:1000px){.compact-footer.footer-selected .footer-details .footer-contact .footer-social{left:20px}}
@media(max-width:780px){
 .compact-footer.footer-selected .footer-details .footer-contact .footer-social{left:18px}
 .compact-footer.footer-selected .footer-main{padding-top:30px;padding-bottom:65px}
}
/* Garder la place des réponses à compléter dans les informations. */
.variant-a .project-story dd:empty{min-height:1.7em}

/* Harmonie : cadres verticaux homogènes, image entière dans l’agrandissement. */
.variant-a.project-portrait-gallery .project-sequence .project-image-frame{aspect-ratio:3/4;overflow:hidden}
.variant-a.project-portrait-gallery .project-sequence .project-image-frame img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
@media(max-width:520px){.variant-a.project-portrait-gallery .project-sequence .sequence-image{max-width:calc((100svh - var(--header) - 48px)*.75);justify-self:center}}

/* Cadrages des trois premières vues de Harmonie. */
.variant-a.project-portrait-gallery .project-sequence img[data-original-src$="01-salle-a-manger.jpg"]{object-position:65% center}
.variant-a.project-portrait-gallery .project-sequence img[data-original-src$="02-salon.jpg"]{object-position:20% center}
.variant-a.project-portrait-gallery .project-sequence img[data-original-src$="03-entree.jpg"]{object-position:20% center;transform:scale(1.8);transform-origin:50% 32%}

/* Vignette Harmonie : cadrage harmonisé avec la salle à manger. */
.variant-a .project-card[href="courbes-sur-seine.html"]>img{object-position:65% center}

/* Bandeau inférieur légèrement aminci, alignements conservés. */
.compact-footer.footer-selected .footer-main{min-height:200px;padding-top:22px;padding-bottom:22px}
.compact-footer.footer-selected .footer-bottom{padding-top:10px;padding-bottom:10px}
@media(max-width:780px){.compact-footer.footer-selected .footer-main{padding-top:22px;padding-bottom:58px;row-gap:22px}}

/* Test Écrin : la vue 3 occupe la largeur de deux portraits. */
.variant-a.project-portrait-gallery .project-sequence .full-width-landscape{grid-column:1/-1;max-width:none}
.variant-a.project-portrait-gallery .project-sequence .full-width-landscape .project-image-frame{aspect-ratio:3/2}
.variant-a.project-portrait-gallery .project-sequence .full-width-landscape .project-image-frame img{object-fit:cover;object-position:center;transform:none}

/* Galeries resserrées : filet de 10 px dans les deux directions. */
.variant-a .project-sequence{gap:10px}
@media(min-width:521px){.variant-a .project-sequence{width:min(100%,calc((100svh - var(--header) - 64px)*1.5 + 10px + 8vw))}}

/* Écrin, image 5 : même cadre 3:2 que l’image 3, recadrage centré. */
.variant-a.project-portrait-gallery .project-sequence .full-width-landscape .project-image-frame[data-original-source$="/05-coupe-rdc.jpg"]{aspect-ratio:3/2}
.variant-a.project-portrait-gallery .project-sequence .full-width-landscape .project-image-frame[data-original-source$="/05-coupe-rdc.jpg"] img{object-fit:cover;object-position:center}

/* Trois essais de lisibilité pour la signature de l’accueil. */
.variant-a.home.signature-1 .hero-signature h1{font-weight:500;font-size:calc(var(--signature-size) + 2px)}
.variant-a.home.signature-1 .hero-signature p{font-weight:500}
.variant-a.home.signature-2 .hero-signature h1{font-weight:450;text-shadow:0 1px 3px #21170fbb,0 3px 18px #21170f99}
.variant-a.home.signature-2 .hero-signature p{text-shadow:0 1px 3px #21170fcc,0 2px 12px #21170faa}
.variant-a.home.signature-3 .hero-signature{isolation:isolate}
.variant-a.home.signature-3 .hero-signature::before{content:'';position:absolute;inset:-85px 5%;z-index:-1;background:radial-gradient(ellipse,rgba(35,25,17,.44) 0%,rgba(35,25,17,.22) 36%,transparent 70%);pointer-events:none}
.variant-a.home.signature-3 .hero-signature h1{font-weight:450}
@media(max-width:780px){.variant-a.home.signature-3 .hero-signature::before{inset:-75px 0}}

/* Essais de retenue au défilement, sans interception de la molette. */
.home.scroll-demo .home-hero{overflow:hidden}
.home.scroll-demo .home-hero>img{will-change:transform}
.home.scroll-demo .scroll-stage{position:relative;height:155svh;min-height:950px}
.home.scroll-demo .scroll-stage .home-hero{position:sticky;top:0}
.home.scroll-demo.scroll-3 .scroll-stage{height:140svh;min-height:850px;background:var(--paper)}
.home.scroll-demo.scroll-3 .home-hero{transform-origin:50% 30%;will-change:transform;border-radius:0}
@media(prefers-reduced-motion:reduce){.home.scroll-demo .scroll-stage{height:auto;min-height:0}.home.scroll-demo .scroll-stage .home-hero{position:relative}.home.scroll-demo .home-hero,.home.scroll-demo .home-hero>img{transform:none!important;will-change:auto}}

/* Accueil : après défilement, même menu beige foncé que Réalisations. */
.variant-a.home .site-header.scrolled{background:var(--paper);color:#a38a6b}
.variant-a.home .site-header.scrolled .logo-crop img{filter:url("#logo-sand")}

/* Comparaison du contraste du monogramme, sans changer les textes. */
.variant-a.project-presentation-1.logo-choice-1 .site-header .logo-crop img{filter:url("#logo-sand") brightness(.76)}
.variant-a.project-presentation-1.logo-choice-2 .site-header .logo-crop img{filter:url("#logo-ink")}

/* Trois compositions sur le fond clair d’origine. */
.project-kicker{display:none}
.variant-a.project-layout-1 .project-text-heading{padding-top:25px}
.variant-a.project-layout-1 .project-text-heading h1{font-size:clamp(23px,2.1vw,31px)}
.variant-a.project-layout-1 .project-text-heading+.project-story{padding-top:30px;padding-bottom:40px}
.variant-a.project-layout-2 .project-text-heading{max-width:1440px;margin:auto;padding:28px 10% 0;text-align:left}
.variant-a.project-layout-2 .project-text-heading h1{font-size:clamp(24px,2.3vw,34px);padding-bottom:22px;border-bottom:1px solid var(--line)}
.variant-a.project-layout-2 .project-text-heading+.project-story{padding-top:30px;padding-bottom:40px;align-items:start}
.variant-a.project-layout-2 .project-story dl{padding-left:28px}
.variant-a.project-layout-3 .project-text-heading{padding-top:30px}
.variant-a.project-layout-3 .project-text-heading h1{font-size:clamp(23px,2.2vw,32px)}
.variant-a.project-layout-3 .project-text-heading+.project-story{padding-top:40px;padding-bottom:45px;grid-template-columns:1.4fr 1fr;gap:7%;align-items:center}
.variant-a.project-layout-3 .project-story dl{border-left:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 25px}
.variant-a.project-layout-3 .project-story dl>div{border-top:1px solid var(--line);padding-top:12px;margin:0}
@media(max-width:1150px){.variant-a.project-layout-2 .project-text-heading{padding-left:7%;padding-right:7%}}
@media(max-width:780px){
 .variant-a.project-layout-1 .project-text-heading,.variant-a.project-layout-3 .project-text-heading{padding-top:22px}
 .variant-a.project-layout-1 .project-text-heading+.project-story,.variant-a.project-layout-2 .project-text-heading+.project-story,.variant-a.project-layout-3 .project-text-heading+.project-story{padding-top:26px;padding-bottom:34px}
 .variant-a.project-layout-2 .project-text-heading{padding-top:22px}
 .variant-a.project-layout-2 .project-text-heading h1{padding-bottom:18px;font-size:26px}
 .variant-a.project-layout-2 .project-story dl{padding-left:0}
 .variant-a.project-layout-3 .project-story dl{border-top:0;gap:20px;margin-top:30px}
}

/* Deux placements possibles de la ville sur les vignettes. */
.card-city{display:none}
.variant-a.city-placement-1 .card-city,.variant-a.city-placement-2 .card-city{display:block;position:absolute;z-index:2;color:#fff;font:11px/1.5 var(--display);letter-spacing:1px;text-shadow:0 1px 8px #24190fcc}
.variant-a.city-placement-1 .project-card h2,.variant-a.city-placement-1 .project-card h3{bottom:48px}
.variant-a.city-placement-1 .project-card h2::after,.variant-a.city-placement-1 .project-card h3::after{display:none}
.variant-a.city-placement-1 .card-city{left:23px;right:23px;bottom:23px}
.variant-a.city-placement-2 .card-city{top:23px;right:23px;left:23px;text-align:right}
.variant-a.city-placement-2 .project-card::before{content:'';position:absolute;inset:0 0 65%;z-index:1;background:linear-gradient(#24190f38,transparent);pointer-events:none}
@media(max-width:1000px){.variant-a.city-placement-1 .card-city{left:17px;right:17px;bottom:19px}.variant-a.city-placement-1 .project-card h2,.variant-a.city-placement-1 .project-card h3{bottom:44px}.variant-a.city-placement-2 .card-city{top:19px;right:17px;left:17px}}
@media(max-width:520px){.variant-a.city-placement-1 .card-city{left:22px;right:22px;bottom:24px}.variant-a.city-placement-1 .project-card h2,.variant-a.city-placement-1 .project-card h3{bottom:49px}.variant-a.city-placement-2 .card-city{top:24px;right:22px;left:22px}}

/* Ville sous le titre : deux placements du filet fin. */
.variant-a.city-placement-1.city-line-1 .project-card h2::after,
.variant-a.city-placement-1.city-line-1 .project-card h3::after{display:block}
.variant-a.city-placement-1.city-line-2 .project-card h2,
.variant-a.city-placement-1.city-line-2 .project-card h3{bottom:60px}
.variant-a.city-line-2 .card-city::after{content:'';display:block;width:32px;height:1px;background:currentColor;opacity:.75;margin-top:9px;transition:width .4s}
.variant-a.city-line-2 .project-card:hover .card-city::after,
.variant-a.city-line-2 .project-card:focus-visible .card-city::after{width:56px}
@media(max-width:1000px){.variant-a.city-placement-1.city-line-2 .project-card h2,.variant-a.city-placement-1.city-line-2 .project-card h3{bottom:56px}}
@media(max-width:520px){.variant-a.city-placement-1.city-line-2 .project-card h2,.variant-a.city-placement-1.city-line-2 .project-card h3{bottom:61px}}
@media(prefers-reduced-motion:reduce){.variant-a.city-line-2 .card-city::after{transition:none}}

/* Bandeau beige : tous les éléments en blanc. */
.compact-footer.footer-selected,
.compact-footer.footer-selected a,
.compact-footer.footer-selected h2,
.compact-footer.footer-selected p,
.compact-footer.footer-selected .footer-main .instagram-link{color:#fff}
.compact-footer.footer-selected .footer-brand .logo-crop img{filter:url("#logo-white")}

/* À propos : cadre beige fin avec une respiration autour de la photo. */
.variant-a .agency-biography .agency-picture{aspect-ratio:auto;border:1px solid #cab08f;padding:12px;background:var(--paper)}
.variant-a .agency-biography .agency-picture img{height:auto;aspect-ratio:3/4;object-fit:cover}
@media(max-width:780px){.variant-a .agency-biography .agency-picture{padding:10px}}

/* Informations des projets : intitulé et réponse à la suite, taille du descriptif. */
.variant-a .project-story dl>div{font-size:17px;line-height:1.5;margin-bottom:14px}
.variant-a .project-story dt,.variant-a .project-story dd{display:inline;font-size:inherit;line-height:inherit}
.variant-a .project-story dt{white-space:nowrap}
.variant-a .project-story dd{margin:0}
@media(max-width:780px){.variant-a .project-story dl>div{font-size:16px;margin-bottom:0}}

/* Informations et descriptif : même police, même taille et même graisse. */
.variant-a .project-story dl>div{font-family:var(--display);font-size:17px;font-weight:400;line-height:1.5}
.variant-a .project-story dt,.variant-a .project-story dd{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}
@media(max-width:780px){.variant-a .project-story dl>div{font-size:16px}}

/* La séparation suit le bloc le plus haut ; les deux contenus sont centrés. */
@media(min-width:781px){
 .variant-a .project-story{align-items:center}
 .variant-a .project-story dl{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
 .variant-a .project-story dl>div:last-child{margin-bottom:0}
}

/* Informations : intitulé au-dessus de la réponse, corps légèrement réduit. */
.variant-a .project-story dl>div{font-size:16px;line-height:1.5}
.variant-a .project-story dt,.variant-a .project-story dd{display:block}
.variant-a .project-story dd{margin:3px 0 0}
@media(max-width:780px){.variant-a .project-story dl>div{font-size:15px}}

/* Intitulés légèrement réduits, réponses plus discrètes. */
.variant-a .project-story dt{font-size:16px;line-height:1.5}
.variant-a .project-story dd{font-size:13px;line-height:1.5;margin-top:3px}
@media(max-width:780px){.variant-a .project-story dt{font-size:15px}.variant-a .project-story dd{font-size:12px}}

/* Crédit centré sur les premières photos, puis effacé au défilement. */
.variant-a .project-sequence{position:relative}
.photo-credit-gallery{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:3;width:max-content;max-width:calc(100% - 32px);padding:10px 18px;border:1px solid #e5ded4;background:#fff;color:var(--ink);font:12px/1.5 var(--display);text-align:center;pointer-events:none;opacity:1;transition:opacity .25s ease,visibility .25s ease}
.photo-credit-gallery.is-hidden{opacity:0;visibility:hidden}
@media(max-width:780px){.photo-credit-gallery{top:12px;padding:9px 14px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.photo-credit-gallery{transition:none}}

/* Crédit au-dessus des images, dans la marge de la galerie. */
.variant-a .project-sequence{padding-top:56px}
.photo-credit-gallery{top:0;color:#a38a6b}
@media(max-width:780px){.variant-a .project-sequence{padding-top:50px}.photo-credit-gallery{top:0}}

/* Nouvelle présentation d’accueil en trois niveaux. */
.variant-a .hero-signature .hero-discipline{font-size:19px;line-height:1.5;letter-spacing:.35px;margin:14px auto 0}
.variant-a .hero-signature .hero-introduction{font-size:16px;line-height:1.55;letter-spacing:.15px;max-width:800px;margin:17px auto 0}
@media(max-width:780px){.variant-a .hero-signature .hero-discipline{font-size:16px;margin-top:12px;max-width:330px}.variant-a .hero-signature .hero-introduction{font-size:14px;line-height:1.6;max-width:310px;margin-top:16px}}

/* Comparaison : nom poétique seul avec ville, ou nom + programme + ville. */
.card-caption{display:contents}
.card-programme{display:none}
.variant-a.card-details-2 .card-caption{display:block;position:absolute;left:23px;right:23px;bottom:23px;z-index:2;color:white;text-shadow:0 1px 10px #24190f66}
.variant-a.card-details-2 .project-card h2,.variant-a.card-details-2 .project-card h3{position:static;font-size:18px;line-height:1.4;margin:0;transform:none}
.variant-a.card-details-2 .project-card h2::after,.variant-a.card-details-2 .project-card h3::after{display:block;margin:9px 0 10px}
.variant-a.card-details-2 .card-programme{display:block;font:12px/1.5 var(--display);letter-spacing:.1px;max-width:330px}
.variant-a.card-details-2 .card-city{position:static;display:block;margin-top:7px;font-size:10px;line-height:1.5;letter-spacing:1px}
@media(max-width:1000px){.variant-a.card-details-2 .card-caption{left:17px;right:17px;bottom:19px}.variant-a.card-details-2 .project-card h2,.variant-a.card-details-2 .project-card h3{font-size:16px}}
@media(max-width:520px){.variant-a.card-details-2 .card-caption{left:22px;right:22px;bottom:24px}.variant-a.card-details-2 .project-card h2,.variant-a.card-details-2 .project-card h3{font-size:18px}}

/* Signature d’accueil légèrement agrandie dans son ensemble. */
.variant-a .hero-signature h1{font-size:calc(var(--signature-size) + 3px)}
.variant-a .hero-signature .hero-discipline{font-size:21px}
.variant-a .hero-signature .hero-introduction{font-size:18px}
@media(max-width:780px){.variant-a .hero-signature h1{font-size:calc(var(--signature-size) + 2px)}.variant-a .hero-signature .hero-discipline{font-size:17px;max-width:350px}.variant-a .hero-signature .hero-introduction{font-size:15px;max-width:330px}}

/* Rôles : deux lignes éditoriales, agence sur une ligne pour Harmonie. */
@media(min-width:781px){
 .variant-a.project-role-nowrap .project-story{grid-template-columns:minmax(0,1.65fr) minmax(400px,1fr);gap:7%}
 .variant-a.project-role-nowrap .project-story dl{padding-left:24px}
 .variant-a .role-agency-nowrap{white-space:nowrap}
}
@media(min-width:781px){html[lang="en"] .variant-a.project-role-nowrap .project-story{grid-template-columns:minmax(0,1.65fr) minmax(455px,1fr)}}

/* Contact : deux propositions pour le texte d’invitation. */
.contact-invitation{min-height:calc(100svh - var(--header));display:grid;place-items:center;padding:65px 7% 85px}
.invitation-layout{width:100%;max-width:1080px;margin:auto}
.invitation-copy h1{font-size:clamp(30px,2.8vw,40px);line-height:1.3;font-weight:400;color:var(--sand)}
.invitation-copy>p{font:18px/1.65 var(--display);margin:24px 0 0;color:var(--ink)}
.invitation-details>a{display:block;width:fit-content;font:20px/1.7 var(--display);margin:8px 0}
.invitation-details .invitation-email{font-size:19px;overflow-wrap:anywhere}
.invitation-details a:hover{text-decoration:underline;text-underline-offset:5px}
.invitation-1 .invitation-layout{max-width:620px;text-align:center}
.invitation-1 .invitation-details{margin-top:34px}
.invitation-1 .invitation-details::before{content:'';display:block;width:42px;height:1px;background:var(--sand);margin:0 auto 28px}
.invitation-1 .invitation-details>a{margin-left:auto;margin-right:auto}
.invitation-2 .invitation-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:9%;align-items:center}
.invitation-2 .invitation-details{border-left:1px solid var(--line);padding:12px 0 12px 42px}
.invitation-2 .contact-networks{justify-content:flex-start}
@media(max-width:900px){.invitation-2 .invitation-layout{gap:6%;grid-template-columns:1.15fr 1fr}.invitation-2 .invitation-details{padding-left:25px}.invitation-2 .invitation-email{font-size:17px}}
@media(max-width:780px){.contact-invitation{padding:52px 7% 65px}.invitation-copy h1{font-size:30px}.invitation-copy>p{font-size:17px;margin-top:22px}.invitation-details>a{font-size:18px}.invitation-details .invitation-email{font-size:17px}.invitation-2 .invitation-layout{grid-template-columns:1fr;gap:36px;max-width:500px}.invitation-2 .invitation-details{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.invitation-1 .invitation-details{margin-top:30px}}
@media(max-width:360px){.variant-a .site-header nav{gap:9px;font-size:12px}}

/* Zone d’activité dans la page Contact. */
.invitation-copy .invitation-location{font-size:14px;line-height:1.5;letter-spacing:.3px;color:#a38a6b;margin-top:20px}
@media(max-width:780px){.invitation-copy .invitation-location{font-size:13px}}

/* À propos : une colonne de lecture plus étroite, développée en hauteur. */
@media(min-width:1251px){.variant-a .agency-biography .agency-copy{width:100%;max-width:420px;justify-self:center}}

/* Sous Contact : particuliers et agences, deux propositions. */
.contact-audiences{padding:75px 7% 90px}
.audience-grid{max-width:1160px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.audience-card{padding:40px 30px;display:flex;flex-direction:column}
.audience-heading h2{font-size:27px;line-height:1.35;font-weight:400}
.audience-icon{display:grid;place-items:center;width:50px;height:50px;flex-shrink:0;color:#927657;border:1px solid #cab08f;background:transparent}
.audience-icon svg{width:29px;height:29px;display:block}
.audience-card>p{font:17px/1.65 var(--display);color:var(--ink);margin:22px 0 28px}
.audience-actions{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:baseline;margin-top:auto;font:15px/1.6 var(--display)}
.audience-actions a{border-bottom:1px solid var(--sand);padding-bottom:5px}
.audience-actions a>span{margin-left:5px}
.audience-cv-pending{color:#8f8172;cursor:default}
.audience-cv-pending small{font:10px/1.6 var(--display)}
.audience-action-divider{color:#b59b7c}
.audiences-1 .audience-card{border:1px solid var(--sand);text-align:center;padding:38px 35px 34px}
.audiences-1 .audience-heading{display:flex;flex-direction:column;align-items:center;gap:23px}
.audiences-1 .audience-card>p{max-width:380px;margin-left:auto;margin-right:auto}
.audiences-1 .audience-actions{justify-content:center}
.audiences-2 .audience-grid{gap:0;border-top:1px solid var(--line);padding-top:34px}
.audiences-2 .audience-card{padding:10px 40px 10px 0}
.audiences-2 .audience-card+ .audience-card{padding:10px 0 10px 40px;border-left:1px solid var(--line)}
.audiences-2 .audience-heading{display:flex;align-items:center;gap:20px}
.audiences-2 .audience-card>p{max-width:410px}
@media(max-width:1000px){.audience-card{padding-left:25px;padding-right:25px}.audience-heading h2{font-size:24px}.audiences-2 .audience-card{padding-right:25px}.audiences-2 .audience-card+ .audience-card{padding-left:25px}.audiences-2 .audience-heading{gap:14px}}
@media(max-width:780px){.contact-audiences{padding:40px 7% 65px}.audience-grid{grid-template-columns:1fr;gap:24px;max-width:540px}.audience-card>p{font-size:16px}.audiences-1 .audience-card{padding:30px 24px}.audience-heading h2{font-size:25px}.audiences-2 .audience-grid{padding-top:28px;gap:30px}.audiences-2 .audience-card,.audiences-2 .audience-card+ .audience-card{padding:0;border-left:0}.audiences-2 .audience-card+ .audience-card{border-top:1px solid var(--line);padding-top:30px}.audience-actions{font-size:14px}}


/* Pictogrammes des cartes : comparaison avec ou sans cadre, fond transparent. */
.icons-unframed .audience-icon{border-color:transparent}

/* Pied de page plus fin ; À propos occupe au moins le premier écran. */
.compact-footer.footer-selected .footer-main{min-height:190px;padding-top:18px;padding-bottom:18px}
.compact-footer.footer-selected .footer-details .footer-contact .footer-social{margin-top:8px}
.compact-footer.footer-selected .footer-bottom{padding-top:6px;padding-bottom:6px}
.variant-a .agency-biography{min-height:calc(100svh - var(--header) + 1px);align-content:start}
@media(max-width:780px){.compact-footer.footer-selected .footer-main{padding-top:18px;padding-bottom:50px;row-gap:20px}}

/* Mobile : chaque colonne du pied de page partage un même axe central. */
@media(max-width:780px){
 .compact-footer.footer-selected .footer-identity,
 .compact-footer.footer-selected .footer-details .footer-links,
 .compact-footer.footer-selected .footer-details .footer-contact{padding-left:0;padding-right:0;text-align:center;align-items:center}
 .compact-footer.footer-selected .footer-details .footer-contact .footer-social{left:50%;transform:translateX(-50%)}
}

/* Essai de repères discrets dans les galeries, sans changer les images. */
.photo-phase{display:none}
.variant-a.photo-markers-2 .project-image-frame{position:relative}
.variant-a.photo-markers-2 .photo-phase{display:block;position:absolute;left:14px;bottom:14px;z-index:2;background:rgba(250,247,241,.95);border:1px solid #d9cbb8;color:#806748;padding:6px 10px;font:10px/1.3 var(--display);letter-spacing:.6px;pointer-events:none}
@media(max-width:780px){.variant-a.photo-markers-2 .photo-phase{left:10px;bottom:10px;padding:5px 9px;font-size:10px}}

/* Essai de pied de page brun noyer, contenu et dimensions inchangés. */
.variant-a.footer-tone-2 .compact-footer.footer-selected{background:#654b3c}

/* Les contrôles et les petits textes suivent aussi la typographie du site. */
button,input,textarea,select{font-family:var(--display)}

/* Bandeau supérieur brun et titres des fiches projets beige portfolio. */
.variant-a .site-header,
.variant-a.project-presentation-1 .site-header,
.variant-a.home .site-header.scrolled{color:#654b3c}
.variant-a .site-header .logo-crop img,
.variant-a.project-presentation-1.logo-choice-1 .site-header .logo-crop img,
.variant-a.home .site-header.scrolled .logo-crop img{filter:url("#logo-brown")}
.variant-a .project-text-heading h1{color:#cab08f}

/* Accueil : bandeau blanc sur la photo ; titre À propos beige portfolio. */
.variant-a.home .site-header.over-image:not(.scrolled){color:#fff}
.variant-a.home .site-header.over-image:not(.scrolled) .logo-crop img{filter:url("#logo-white")}
.variant-a .agency-biography .agency-copy h1{color:#cab08f}

/* Renforcement discret des textes beiges, même avec une Didot non variable. */
.variant-a .project-text-heading h1,
.variant-a .agency-biography .agency-copy h1,
.variant-a .invitation-copy h1,
.variant-a .project-story dt,
.variant-a .photo-credit-gallery,
.variant-a .invitation-copy .invitation-location{
 -webkit-text-stroke:.15px currentColor;
}

/* The monogram is already cropped losslessly during the build. */
.logo-crop img{position:static;width:100%;max-width:100%;height:100%;left:auto;top:auto}
