/* Mise en page : le nuancier de la carte de visite devient la colonne vertébrale du site.
   Un accueil en deux portes (habiter / valoriser), puis les preuves, projet par projet, chacun avec sa couleur. */
:root{
  --paper:#F7F3EE;      /* fond principal, celui de la carte virtuelle */
  --sable:#EDE5DB;      /* sections alternées */
  --argile:#936152;     /* accent : boutons, liens */
  --taupe:#6F6660;      /* texte secondaire */
  --ink:#3B3430;        /* texte, titres */
  --line:rgba(59,52,48,.16);
  --ambre:#BF8B4B; --urbain:#B0443D; --saphir:#1E5B6F; --epure:#936152; --cabinet:#9FAE94;
  --display:'Fraunces', Georgia, 'Times New Roman', serif;
  --body:'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
  --step--1:clamp(.8rem,.78rem + .1vw,.86rem);
  --step-0:clamp(1.03rem,1rem + .15vw,1.12rem);
  --step-1:clamp(1.25rem,1.15rem + .4vw,1.45rem);
  --step-2:clamp(1.6rem,1.4rem + .9vw,2.1rem);
  --step-3:clamp(2.2rem,1.7rem + 2.2vw,3.6rem);
  --wrap:1180px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--argile);text-underline-offset:.2em}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--argile);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.08;margin:0;text-wrap:balance;font-variation-settings:"SOFT" 50}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:760px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}
.eyebrow{font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);font-weight:500}
.btn{display:inline-flex;align-items:center;gap:.6em;background:var(--argile);color:var(--paper);text-decoration:none;font-weight:500;font-size:var(--step--1);letter-spacing:.04em;padding:.85em 1.3em;border-radius:8px;border:1px solid var(--argile);cursor:pointer;font-family:var(--body)}
.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn.ghost{background:transparent;color:var(--argile)}
.btn.ghost:hover{background:var(--argile);color:var(--paper)}
.todo{background:#FFF4D6;color:#5A4A1E;border-radius:4px;padding:.15em .45em;font-size:.85em;font-style:normal}

/* bandeau d'aperçu */
.preview{background:var(--ink);color:var(--paper);font-size:var(--step--1);text-align:center;padding-block:.45em}

/* en-tête */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--paper)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px;position:relative}
.mark{display:flex;align-items:baseline;gap:.5em;text-decoration:none;color:var(--ink)}
.mark b{font-family:var(--display);font-weight:400;font-size:1.45rem;letter-spacing:-.01em}
.mark span{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe)}
.mark img{display:block;height:52px;width:auto}
@media (max-width:700px){.mark img{height:22px}}
nav.main{display:flex;align-items:center;gap:28px}
nav.main a{color:var(--ink);text-decoration:none;font-size:.92rem}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--argile)}
nav.main a.btn{color:var(--paper)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:.5em .9em;font:inherit;font-size:.9rem;color:var(--ink);cursor:pointer}
@media (max-width:900px){
  .menu-toggle{display:inline-block}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:8px 18px}
  nav.main.open{display:flex}
  nav.main a{padding-block:.7em;width:100%;border-bottom:1px solid var(--line)}
  nav.main a.btn{margin-top:14px;width:auto;border-bottom:0;padding:.85em 1.3em}
}

section{padding-block:88px}
@media (max-width:760px){section{padding-block:60px}}
section[id]{scroll-margin-top:80px}
.sec-head{display:flex;flex-direction:column;gap:12px;margin-bottom:40px;max-width:44rem}
.sec-head h2{font-size:var(--step-3)}
.sec-head p{color:var(--taupe)}
.tint{background:var(--sable)}

/* accueil */
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:56px;align-items:center;padding-block:48px 64px}
.hero-text{display:flex;flex-direction:column;gap:22px;min-width:0}
.hero h1{font-size:var(--step-3);letter-spacing:-.015em}
.hero h1 em{font-style:italic;color:var(--argile)}
.lead{font-size:var(--step-1);line-height:1.45;color:var(--taupe);max-width:36ch;font-family:var(--display);font-weight:300}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.door{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);background:var(--sable);border-radius:4px;padding:20px 20px 18px;border-top:4px solid var(--c);transition:transform .25s ease, background .25s ease}
.door:hover{transform:translateY(-3px);background:#E6DCCF;color:var(--ink)}
.door small{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe)}
.door strong{font-family:var(--display);font-weight:400;font-size:var(--step-2);line-height:1.05}
.door p{font-size:.95rem;color:var(--taupe);line-height:1.45}
.door span{margin-top:auto;font-size:.88rem;color:var(--argile);font-weight:500}
.hero figure{margin:0;min-width:0}
.hero figure img{width:100%;aspect-ratio:4/5;max-height:76vh;object-fit:cover;border-radius:2px}
figcaption{font-size:var(--step--1);color:var(--taupe);margin-top:10px}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:36px;padding-block:36px 48px}
  .hero figure{order:-1}
  .hero figure img{aspect-ratio:4/3}
}
@media (max-width:480px){.doors{grid-template-columns:1fr}}
.chips{display:grid;grid-template-columns:repeat(5,1fr);height:14px}
.chips i{display:block}

/* avant / après */
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.tab{display:inline-flex;align-items:center;gap:.6em;background:transparent;border:1px solid var(--line);color:var(--ink);font:inherit;font-size:.95rem;padding:.55em 1em;border-radius:999px;cursor:pointer}
.tab i{width:.75em;height:.75em;border-radius:50%;background:var(--c)}
.tab[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.rooms{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:28px}
.room{background:none;border:0;padding:.2em 0;font:inherit;font-size:.92rem;color:var(--taupe);cursor:pointer;border-bottom:1px solid transparent}
.room[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--argile)}
.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.pair figure{margin:0;min-width:0}
.pair img{aspect-ratio:var(--ar,4/5);max-height:72vh;object-fit:cover;width:100%}
.pair .before img{filter:saturate(.85)}
.tag{display:inline-block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--taupe);margin-bottom:8px}
.pair .after .tag{color:var(--argile)}
.ba-note{margin-top:22px;max-width:44rem;color:var(--taupe);font-size:.98rem}
.ba-note strong{color:var(--ink);font-weight:500}
@media (max-width:640px){.pair{grid-template-columns:1fr 1fr;gap:10px}}

/* réalisations : les bandes du nuancier */
.bands{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.band{display:grid;grid-template-columns:14px minmax(0,1.15fr) minmax(0,1.3fr) 10.5rem 15rem;gap:28px;align-items:center;padding-block:22px;border-bottom:1px solid var(--line)}
.swatch{align-self:stretch;width:14px;background:var(--c);border-radius:1px}
.band h3{font-size:var(--step-2)}
.band .where{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);margin-top:6px}
.band p{color:var(--ink);max-width:38ch}
.band .kind{justify-self:start;font-size:.78rem;color:var(--taupe);border:1px solid var(--line);border-radius:999px;padding:.3em .8em;white-space:nowrap}
@media (max-width:900px){
  .band{grid-template-columns:10px minmax(0,1fr);gap:8px 18px;align-items:start}
  .swatch{width:10px;grid-row:span 2}
  .band .kind,.band .go{grid-column:2;justify-self:start}
}

/* approche */
.approche .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.approche-text{display:flex;flex-direction:column;gap:20px;min-width:0}
.approche-text h2{font-size:var(--step-3)}
.approche-text p{max-width:36rem}
.motto{font-family:var(--display);font-style:italic;font-size:var(--step-1);color:var(--argile)}
.story{background:var(--saphir);color:#F2EEE8;padding:34px 32px;border-radius:2px;display:flex;flex-direction:column;gap:18px;min-width:0}
.story .eyebrow{color:rgba(242,238,232,.75)}
.story p{font-family:var(--display);font-weight:300;font-size:var(--step-1);line-height:1.45}
.story blockquote{margin:6px 0 0;padding-top:18px;border-top:1px solid rgba(242,238,232,.3)}
.story blockquote p{font-size:var(--step-2);font-style:italic}
.story cite{display:block;margin-top:8px;font-style:normal;font-family:var(--body);font-size:var(--step--1);color:rgba(242,238,232,.8)}
@media (max-width:900px){.approche .wrap{grid-template-columns:1fr;gap:36px}}

/* étapes, version courte de l'accueil */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.step{padding:24px 22px 26px 0;display:flex;flex-direction:column;gap:10px}
.step + .step{padding-left:22px;border-left:1px solid var(--line)}
.step .n{font-family:var(--display);font-size:var(--step-2);color:var(--argile);line-height:1}
.step h3{font-family:var(--body);font-weight:500;font-size:1.02rem;line-height:1.3}
.step p{font-size:.95rem;color:var(--taupe)}
.step .price{font-size:.9rem;color:var(--ink)}
.fork{margin-top:4px;font-size:.88rem;color:var(--ink);background:var(--paper);border-radius:4px;padding:10px 12px}
.contract{font-size:.8rem;letter-spacing:.06em;color:var(--argile);font-weight:500}
@media (max-width:900px){
  .steps{grid-template-columns:1fr 1fr}
  .step:nth-child(3){padding-left:0;border-left:0}
  .step:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:520px){
  .steps{grid-template-columns:1fr}
  .step,.step + .step{padding-left:0;border-left:0}
  .step + .step{border-top:1px solid var(--line)}
}
.more{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}

/* témoignages */
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.quote{border:1px dashed var(--line);border-radius:4px;padding:26px;display:flex;flex-direction:column;gap:12px}
.quote p{font-family:var(--display);font-size:var(--step-1);font-weight:300;color:var(--taupe)}
.quote span{font-size:var(--step--1);color:var(--taupe)}
@media (max-width:760px){.quotes{grid-template-columns:1fr}}

/* contact */
.contact{background:var(--ink);color:var(--paper)}
.contact .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:end}
.contact h2{font-size:var(--step-3);color:var(--paper)}
.contact p{color:rgba(247,243,238,.78);max-width:34rem;margin-top:16px}
.contact .btn{background:var(--paper);color:var(--ink);border-color:var(--paper);margin-top:26px}
.contact .btn:hover{background:var(--argile);border-color:var(--argile);color:var(--paper)}
.coords{display:flex;flex-direction:column;gap:14px;font-size:1rem}
.coords div{display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(247,243,238,.22);padding-top:12px}
.coords small{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,243,238,.6)}
.coords span{user-select:all;font-variant-numeric:tabular-nums}
.coords a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
@media (max-width:900px){.contact .wrap{grid-template-columns:1fr}}

footer{padding-block:36px;font-size:var(--step--1);color:var(--taupe)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}

/* ===== pages parcours ===== */
.crumb{font-size:var(--step--1);color:var(--taupe);margin-bottom:-4px}
.crumb a{color:var(--taupe)}
.page-hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;padding-block:48px 64px}
.page-hero .hero-text h1{font-size:var(--step-3)}
.page-hero figure{margin:0;min-width:0}
.page-hero figure img{width:100%;aspect-ratio:4/5;max-height:76vh;object-fit:cover;border-radius:2px;border-bottom:10px solid var(--c)}
@media (max-width:900px){.page-hero .wrap{grid-template-columns:1fr;gap:30px;padding-block:32px 48px}.page-hero figure{order:-1}.page-hero figure img{aspect-ratio:4/3}}

.points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.points div{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--ink);padding-top:16px}
.points h3{font-size:var(--step-1);font-family:var(--display)}
.points p{color:var(--taupe);font-size:.98rem}
@media (max-width:760px){.points{grid-template-columns:1fr;gap:22px}}

.offers{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.offer{background:var(--paper);border-radius:4px;padding:30px 28px;display:flex;flex-direction:column;gap:16px}
.offer .eyebrow{color:var(--argile)}
.offer h3{font-size:var(--step-2)}
.offer > p{color:var(--taupe)}
.offer ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.offer li{padding-left:1.1em;position:relative;font-size:.97rem}
.offer li::before{content:"";position:absolute;left:0;top:.62em;width:.45em;height:.45em;border-radius:50%;background:var(--argile)}
.prices{margin-top:auto;border-top:1px solid var(--line);padding-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.prices div{display:flex;flex-direction:column;gap:2px}
.prices small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}
.prices b{font-family:var(--display);font-weight:400;font-size:var(--step-1);font-variant-numeric:tabular-nums}
.prices span{font-size:.86rem;color:var(--taupe)}
.prices.quote-only{grid-template-columns:1fr}
.offer .foot{font-size:.86rem;color:var(--taupe)}
@media (max-width:820px){.offers{grid-template-columns:1fr}}

.process{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.p-step{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,.8fr);gap:28px;padding-block:28px;border-bottom:1px solid var(--line)}
.p-step .n{font-family:var(--display);font-size:var(--step-3);line-height:.9;color:var(--argile)}
.p-step h3{font-size:var(--step-2);margin-bottom:4px}
.p-step .sub{font-weight:500;font-size:.95rem;margin-bottom:10px}
.p-step .txt p + p{margin-top:10px}
.p-step .txt p{color:var(--ink);max-width:40rem}
.p-step .out{margin-top:12px;font-weight:500}
.anec{align-self:start;font-family:var(--display);font-style:italic;font-weight:300;font-size:1.08rem;line-height:1.45;color:var(--taupe);padding-top:6px}
.anec small{display:block;font-family:var(--body);font-style:normal;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;color:var(--c,var(--argile))}
.p-mark{display:flex;align-items:center;gap:14px;padding-block:16px;border-bottom:1px solid var(--line);font-size:.92rem}
.p-mark b{font-weight:500;color:var(--argile)}
.p-mark i{flex:0 0 auto;font-style:normal;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--argile);color:var(--argile);border-radius:999px;padding:.25em .8em}
.p-mark.stop{background:var(--paper);padding-left:14px;padding-right:14px;border-radius:4px;border-bottom:0;margin-block:10px}
@media (max-width:900px){
  .p-step{grid-template-columns:44px minmax(0,1fr);gap:8px 18px}
  .p-step .anec{grid-column:2}
}

.transp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.transp div{display:flex;flex-direction:column;gap:8px}
.transp h3{font-size:var(--step-1)}
.transp p{color:var(--taupe);font-size:.98rem}
@media (max-width:760px){.transp{grid-template-columns:1fr;gap:22px}}

.faq{border-top:1px solid var(--line);max-width:52rem}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;padding-block:20px;font-family:var(--display);font-size:var(--step-1);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--body);color:var(--argile);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:22px;color:var(--ink);max-width:44rem}

.proof{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center}
.proof img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.proof .txt{display:flex;flex-direction:column;gap:14px;min-width:0}
.proof h3{font-size:var(--step-2)}
.proof p{color:var(--taupe)}
@media (max-width:820px){.proof{grid-template-columns:1fr;gap:20px}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== page projet ===== */
.band .go{justify-self:start;font-size:.88rem;font-weight:500}
.proj-hero{background:var(--c);color:#F2EEE8}
.proj-hero .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center;padding-block:48px 56px}
.proj-hero .crumb,.proj-hero .crumb a{color:rgba(242,238,232,.75)}
.proj-hero .eyebrow{color:rgba(242,238,232,.75)}
.proj-hero h1{font-size:clamp(2.8rem,2rem + 4vw,5.4rem);letter-spacing:-.02em;color:#F7F3EE}
.proj-hero .lead{color:rgba(242,238,232,.88)}
.proj-hero figure{margin:0;min-width:0}
.proj-hero figure img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px}
.proj-hero figcaption{color:rgba(242,238,232,.7)}
.proj-hero .hero-text{display:flex;flex-direction:column;gap:18px;min-width:0}
@media (max-width:900px){.proj-hero .wrap{grid-template-columns:1fr;gap:28px;padding-block:32px 44px}}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding:18px 18px 18px 0;display:flex;flex-direction:column;gap:4px}
.facts small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}
.facts b{font-family:var(--display);font-weight:400;font-size:var(--step-1);font-variant-numeric:tabular-nums;line-height:1.2}
.intro2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:48px}
.intro2 h2{font-size:var(--step-2);margin-bottom:12px}
.intro2 p + p{margin-top:12px}
@media (max-width:820px){.intro2{grid-template-columns:1fr;gap:28px}}
.chapter{padding-block:64px;border-top:1px solid var(--line)}
.chapter:first-of-type{border-top:0}
.ch-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:end;margin-bottom:28px}
.ch-head .t{display:flex;flex-direction:column;gap:10px}
.chip{display:inline-flex;align-items:center;gap:.6em;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}
.chip i{width:34px;height:14px;border-radius:2px;background:var(--c)}
.ch-head h2{font-size:var(--step-3)}
.ch-head p{color:var(--ink);max-width:40rem}
.ch-head p + p{margin-top:10px}
@media (max-width:820px){.ch-head{grid-template-columns:1fr;gap:14px}}
.gal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.gal figure{margin:0;min-width:0}
.gal img{width:100%;object-fit:cover;border-radius:2px;display:block}
.s2{grid-column:span 2}.s3{grid-column:span 3}.s4{grid-column:span 4}.s6{grid-column:span 6}
.s2 img{aspect-ratio:2/3}.s4 img{aspect-ratio:4/3}.s3 img{aspect-ratio:4/5}.s6 img{aspect-ratio:16/9}
.gal .note{grid-column:span 2;align-self:center;padding:8px 6px;font-family:var(--display);font-style:italic;font-weight:300;font-size:var(--step-1);line-height:1.4;color:var(--taupe)}
.gal .note small{display:block;font-family:var(--body);font-style:normal;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-top:10px}
@media (max-width:700px){
  .gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .s2,.s3{grid-column:span 1}.s4,.s6,.gal .note{grid-column:span 2}
  .s4 img,.s6 img{aspect-ratio:3/2}
}
.credit{font-size:var(--step--1);color:var(--taupe);margin-top:10px}
.next{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}

.me{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;margin-top:6px}
.me img{width:120px;aspect-ratio:2/3;object-fit:cover;border-radius:2px}
.me a{font-weight:500}
.about-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:56px;align-items:center;padding-block:48px 64px}
.about-hero h1{font-size:var(--step-3)}
.about-hero figure{margin:0;min-width:0}
.about-hero figure img{width:100%;aspect-ratio:3/4;max-height:78vh;object-fit:cover;border-radius:2px}
@media (max-width:900px){.about-hero .wrap{grid-template-columns:1fr;gap:28px;padding-block:32px 44px}.about-hero figure{order:-1}}
.prose{max-width:40rem;display:flex;flex-direction:column;gap:14px}
.prose h2{font-size:var(--step-2);margin-bottom:4px}
.split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:center}
.split figure{margin:0;min-width:0}
.split figure img{width:100%;aspect-ratio:2/3;max-height:80vh;object-fit:cover;border-radius:2px}
@media (max-width:820px){.split{grid-template-columns:1fr;gap:28px}}
.pull{font-family:var(--display);font-style:italic;font-weight:300;font-size:var(--step-2);line-height:1.3;color:var(--argile)}

.quote{margin:0;border:0;border-top:1px solid var(--ink);border-radius:0;padding:22px 0 0}
.quote blockquote{margin:0}
.quote blockquote p{font-family:var(--display);font-size:var(--step-2);font-weight:300;line-height:1.3;color:var(--ink)}
.quote figcaption{font-size:var(--step--1);color:var(--taupe);letter-spacing:.06em;margin-top:12px}

.band-q{font-family:var(--display);font-style:italic;font-weight:300;color:var(--ink);margin-top:10px}
.band-q span{display:block;font-family:var(--body);font-style:normal;font-size:var(--step--1);color:var(--taupe);margin-top:4px}

/* Contact */
.ct-hero{padding-block:56px 72px}
.ct-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:start}
.ct-intro{display:flex;flex-direction:column;gap:16px}
.ct-quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.ct-note{color:var(--taupe);font-size:var(--step--1)}
.ct-photo{margin:12px 0 0}
.ct-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.ct-photo figcaption{font-size:var(--step--1);color:var(--taupe);margin-top:8px}
.ct-form{background:var(--paper);border:1px solid var(--line);padding:24px;min-height:640px}
.ct-form iframe{width:100%;height:1100px;border:0;display:block}
.ct-follow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:start}
.social{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.social a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.social a b{font-weight:500}
.social a span{color:var(--taupe);font-size:var(--step--1);text-align:right}
.social a:hover b{color:var(--argile)}
.ct-coords div{border-top-color:var(--line)}
.ct-coords small{color:var(--taupe)}
.todo-link{opacity:.55}
@media (max-width:900px){.ct-hero .wrap,.ct-follow{grid-template-columns:1fr;gap:32px}.ct-photo{display:none}.ct-form{padding:12px}}

.foot-social a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
.foot-social a:hover{opacity:.7}

/* Phrase d'appui sous une galerie */
.chapter > .note{margin:20px 0 0;max-width:52ch;font-family:var(--display);font-style:italic;font-weight:300;font-size:var(--step-1);line-height:1.4;color:var(--taupe)}
.chapter > .note small{display:block;font-family:var(--body);font-style:normal;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-top:10px}
.ct-fallback{font-size:var(--step--1);color:var(--taupe);margin:0 0 12px}

/* Les attributs width/height des images ne doivent pas imposer leur hauteur : c'est le ratio qui décide */
img{height:auto}

.ct-form.ct-blocked{min-height:0;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:28px}
.ct-blocked-note{color:var(--ink);max-width:40ch}

/* Une seule photo dans une galerie : sur ordinateur, la phrase occupe l'autre moitié ; sur téléphone, la photo est centrée */
.gal figure.s3:only-of-type + .note{grid-column:span 3;padding-left:28px}
@media (max-width:700px){
  .gal figure.s3:only-of-type,.gal figure.s2:only-of-type{grid-column:1 / -1;justify-self:center;width:80%}
  .gal figure.s3:only-of-type + .note{grid-column:span 2;padding-left:6px}
}

/* Galerie sur téléphone : une dernière photo portrait seule sur sa ligne est centrée */
@media (max-width:700px){
  .gal figure.s2:last-of-type:nth-of-type(odd){grid-column:1 / -1;justify-self:center;width:80%}
}
/* Galerie de quatre portraits : une ligne de quatre sur ordinateur, deux par deux sur téléphone */
.gal.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gal.g4 figure{grid-column:span 1}
@media (max-width:700px){.gal.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Deux portraits et un paysage sur une même ligne, à hauteur égale (photo paysage au format 3:2, sans recadrage) */
.gal.ppl{grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,9fr)}
.gal.ppl figure{grid-column:auto}
.gal.ppl figure.s4 img{aspect-ratio:3/2}
/* Variante : le paysage au centre, entre les deux portraits */
.gal.ppl.mid{grid-template-columns:minmax(0,4fr) minmax(0,9fr) minmax(0,4fr)}
@media (max-width:700px){.gal.ppl.mid{grid-template-columns:repeat(2,minmax(0,1fr))}.gal.ppl.mid figure.s4{order:3}}
@media (max-width:700px){
  .gal.ppl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gal.ppl figure.s4{grid-column:span 2}
}
/* Pages légales */
.legal{max-width:46rem;padding-block:48px 80px;display:flex;flex-direction:column;gap:14px}
.legal h1{font-size:var(--step-3)}
.legal h2{font-size:var(--step-1);margin-top:22px}
.legal ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:8px}
.legal-list{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:10px 24px;margin:0}
.legal-list dt{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe);padding-top:.2em}
.legal-list dd{margin:0}
.legal-date{color:var(--taupe);font-size:var(--step--1);margin-top:18px}
@media (max-width:640px){.legal-list{grid-template-columns:1fr;gap:2px}.legal-list dd{margin-bottom:12px}}
.foot-legal a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
.foot-legal a:hover{opacity:.7}

.nobr{white-space:nowrap}
.wa-float{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(59,52,48,.28);transition:transform .2s ease}
.wa-float:hover{transform:scale(1.06);color:var(--paper)}
.foot-social{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap}
.foot-social a.ico{border-bottom:0;display:inline-flex;padding:4px}
.social b svg{margin-right:8px;flex:none}
.tem{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.tem figure{margin:0;display:flex;flex-direction:column;gap:16px}
.tem-img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.tem blockquote{margin:0}
.tem blockquote p{font-family:var(--display);font-style:italic;font-weight:300;font-size:var(--step-1);line-height:1.4;color:var(--ink)}
.tem figcaption{display:flex;flex-direction:column;gap:2px;font-size:var(--step--1);border-top:1px solid var(--line);padding-top:12px}
.tem figcaption b{font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}
.tem figcaption a{color:var(--argile);text-decoration:none}
@media (max-width:820px){.tem{grid-template-columns:1fr;gap:40px}}
.social b{white-space:nowrap;display:inline-flex;align-items:center}

@media (min-width:901px){.band .where .sep{display:none}.band .where .col{display:block;margin-top:4px}}

.intents{display:flex;flex-direction:column;gap:16px;margin:0;max-width:36rem}
.intents div{border-left:2px solid var(--argile);padding-left:16px}
.intents dt{font-family:var(--display);font-size:var(--step-1);color:var(--argile);line-height:1.2}
.intents dd{margin:4px 0 0}
.intro2 .intents{margin-top:16px}

.ct-info-sec{padding-block:56px}
.ct-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.ct-info h2{font-size:var(--step-1);margin-bottom:12px}
.ct-info p + p{margin-top:10px}
.ct-info .ct-plus{border-left:2px solid var(--argile);padding-left:14px;color:var(--argile)}
@media (max-width:900px){.ct-info{grid-template-columns:1fr;gap:32px}}
.ct-steps{margin:6px 0 0;padding-left:1.1em;display:flex;flex-direction:column;gap:6px}
.ct-steps li::marker{color:var(--argile)}
.ct-steps + p{margin-top:14px}
.faq-group{font-size:var(--step-1);color:var(--argile);margin:48px 0 8px}
.faq-end{margin-top:40px}
.wa-float{transition:transform .25s ease,opacity .25s ease}
.wa-float.wa-hide{opacity:0;transform:translateY(16px);pointer-events:none}
@media (max-width:700px){.wa-float{width:46px;height:46px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.wa-float svg{width:24px;height:24px}}

@media (max-width:820px){.tem{gap:28px}.tem figure{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:16px;row-gap:10px;align-items:start}.tem-img{grid-row:1 / span 2}.tem-img img{aspect-ratio:4/5;width:104px}.tem figcaption{grid-column:2}.tem blockquote p{font-size:1.06rem;line-height:1.45}}

.p-fork{margin:18px 0;padding:20px 22px;background:var(--paper);border-radius:4px;border-left:3px solid var(--argile)}
.p-fork-h{font-family:var(--display);font-size:var(--step-1);line-height:1.2;margin:0 0 14px}
.p-fork-opts{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.p-fork-opts b{display:block;font-weight:500;color:var(--argile);margin-bottom:4px}
.p-fork-opts p{margin:0;font-size:.95rem}
@media (max-width:700px){.p-fork-opts{grid-template-columns:1fr;gap:16px}}

.gift{max-width:44rem}
.gift h2{font-size:var(--step-1);margin:40px 0 12px}
.gift ul,.gift ol{padding-left:1.2em;display:flex;flex-direction:column;gap:8px;margin:0}
.gift li::marker{color:var(--argile)}
.gift-price{margin:28px 0 8px;padding:22px 24px;background:var(--sand,#ece3da);border-left:3px solid var(--argile);border-radius:4px}
.gift-price p{margin:0 0 14px}
.gift-amount{font-family:var(--display);font-size:var(--step-2);color:var(--argile);margin-bottom:6px!important}
.gift-end{margin-top:36px}
.gift .crumb{margin-bottom:18px}
.gift h1{margin:6px 0 16px}
@media (min-width:901px){
  .hero .wrap{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-areas:"eye eye" "title title" "lead fig" "doors fig";row-gap:22px;column-gap:56px;align-items:start}
  .hero .hero-text{display:contents}
  .hero .hero-text .eyebrow{grid-area:eye}
  .hero h1{grid-area:title;text-wrap:wrap;max-width:none}
  .hero .lead{grid-area:lead}
  .hero .doors{grid-area:doors}
  .hero figure{grid-area:fig;align-self:end}
}

@media (min-width:901px){.approche .story{align-self:end}}
.me-band .wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:56px;align-items:center}
.me-band figure{margin:0}
.me-band img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.me-band h2{font-size:var(--step-2);margin-bottom:16px}
.me-band p{max-width:34rem;margin:0 0 12px}
.me-band a{font-weight:500}
@media (max-width:900px){.me-band .wrap{grid-template-columns:1fr;gap:24px}.me-band img{aspect-ratio:3/2}}
@media (max-width:700px){.more-center{justify-content:center}}
.more-center{justify-content:center}
.step ul.price{margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:4px}
.step ul.price li::marker{color:var(--argile)}
@media (min-width:901px){#chg-title{white-space:nowrap}}
.prices .from{display:block;margin-top:2px}
.br-mob{display:none}
@media (max-width:700px){.br-mob{display:inline}}
.qs{margin:8px 0 0;padding-left:1.1em;display:flex;flex-direction:column;gap:4px}
.qs li::marker{color:var(--argile)}
.facts-wide{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.facts-wide small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}
.facts-wide b{font-weight:400;font-size:1rem;line-height:1.6}
.gal video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:2px;display:block;background:#e9e2dc}
@media (min-width:701px){.gal figure.s3:has(video){grid-column:span 2;width:auto;justify-self:stretch}.gal figure.s3:has(video) + .note{grid-column:span 4}}
.fm-photo{margin:0 0 18px}.fm-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px;display:block}
.fm-photo figcaption{font-size:.78rem;color:var(--taupe);margin-top:8px;line-height:1.5}
@media (max-width:700px){.fm-photo{max-width:420px}}
.qi-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;margin-bottom:48px}
.qi-photo{margin:0}.qi-photo img{width:100%;aspect-ratio:4/5;max-height:620px;object-fit:cover;border-radius:2px;display:block}
.qi-photo figcaption{font-size:.78rem;color:var(--taupe);margin-top:8px}
@media (max-width:900px){.qi-intro{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.qi-photo{max-width:420px}}
.ch-head{align-items:start}
.gal .note{align-self:end}
.gal .note.note-wide{grid-column:1 / -1}
.gal-side .side{grid-column:span 3;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding-left:28px}
.gal-side .side .side-txt p{color:var(--ink);max-width:40rem}
.gal-side .side .side-txt p + p{margin-top:10px}
.gal-side .side .note{padding:0;align-self:stretch}
.gal-side figure.s3:has(video) + .side{grid-column:span 4}
@media (max-width:700px){.gal-side{grid-template-columns:1fr}.gal-side .side{display:contents}.gal-side .side-txt{order:1;margin-bottom:6px}.gal-side figure{order:2}.gal-side .side .note{order:3}}
@media (max-width:700px){.gal.ppl.mid figure.s2{grid-column:span 1 !important;width:auto !important;justify-self:stretch !important}.gal.ppl.mid figure.s2 img{aspect-ratio:2/3;object-fit:cover}}
.pt-photo{margin:0 0 18px}.pt-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;display:block}
.pt-photo figcaption{font-size:.78rem;color:var(--taupe);margin-top:8px;line-height:1.5}
.proof-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}
.proof-more article{display:flex;flex-direction:column;gap:12px}
.proof-more img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px;display:block;margin-bottom:6px}
.proof-more h3{font-size:var(--step-1)}
.proof-more p{color:var(--taupe)}
.proof-more .who{margin-top:-6px;font-size:.85rem}
.proof-more .go{margin-top:auto}
@media (max-width:700px){.proof-more{grid-template-columns:1fr;gap:40px}}

.ct-prices{padding-left:2.4em;margin:10px 0 4px}
