:root,
[data-palette="sauge"]{
--bg:#FAF6F0;
--bg-alt:#EFE6D8;
--ink-rgb:44 42 36;
--ink-soft:#5C584E;
--accent-rgb:110 122 92;
--accent-deep:#545E45;
--accent-2:#C98F6E;
}
[data-palette="argile"]{
--bg:#FAF5F1;
--bg-alt:#F0E2D8;
--ink-rgb:46 38 34;
--ink-soft:#645449;
--accent-rgb:169 97 74;
--accent-deep:#88452F;
--accent-2:#7C876A;
}
[data-palette="brume"]{
--bg:#F7F8F9;
--bg-alt:#E6ECEF;
--ink-rgb:32 39 44;
--ink-soft:#55616B;
--accent-rgb:88 111 125;
--accent-deep:#3F5462;
--accent-2:#A98F79;
}
:root,
[data-typo="editorial"]{
--display:"Fraunces",Georgia,"Times New Roman",serif;
--text:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
--eyebrow-style:italic;
--eyebrow-family:var(--display);
--display-weight:500;
}
[data-typo="chaleureuse"]{
--display:"DM Serif Display",Georgia,"Times New Roman",serif;
--text:"Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
--eyebrow-style:italic;
--eyebrow-family:var(--display);
--display-weight:400;
}
[data-typo="elegante"]{
--display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
--text:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
--eyebrow-style:italic;
--eyebrow-family:var(--display);
--display-weight:500;
}
:root{
--ink:rgb(var(--ink-rgb));
--accent:rgb(var(--accent-rgb));
--ink-70:rgb(var(--ink-rgb) / .78);
--ink-55:rgb(var(--ink-rgb) / .70);
--line:rgb(var(--ink-rgb) / .12);
--line-soft:rgb(var(--ink-rgb) / .07);
--accent-wash:rgb(var(--accent-rgb) / .06);
--accent-line:rgb(var(--accent-rgb) / .30);
--on-accent:#fff;
--on-accent-70:rgb(255 255 255 / .82);
--shadow-lift:0 18px 40px -20px rgb(var(--ink-rgb) / .35);
--shadow-rest:0 14px 34px -22px rgb(var(--ink-rgb) / .30);
--gut:clamp(2rem,4vw,3.5rem);
--pad:6vw;
--space-xs:0.5rem;
--space-sm:0.75rem;
--space-md:1rem;
--space-lg:1.5rem;
--space-xl:2rem;
--space-2xl:2.5rem;
--space-3xl:3rem;
--space-section:clamp(3rem,6vw,5rem);
--max:1400px;
--radius:3px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
margin:0;
background:var(--bg);
color:var(--ink);
font-family:var(--text);
font-weight:400;
font-size:1rem;
line-height:1.68;
-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
main > * + *{margin-top:var(--space-section)}
.section > .wrap:not(.split):not(.duo-split) > * + *{margin-top:var(--space-xl)}
.section > .wrap:not(.split):not(.duo-split) > .cards + *{margin-top:var(--space-2xl)}
.section{padding-block:0}
.section--first,.section--flush{padding-block:0}
.skip-link{
position:absolute;left:-9999px;top:0;z-index:60;
background:var(--accent-deep);color:var(--on-accent);
padding:.75rem 1.25rem;
}
.skip-link:focus{left:1rem;top:1rem}
:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px}
.hero :focus-visible,.band :focus-visible,.quote-block :focus-visible,
.callout :focus-visible,:is(.cards:not(:has(> .card:nth-child(4):last-child)) > .card:nth-child(even), .cards:has(> .card:nth-child(4):last-child) > .card:is(:nth-child(2),:nth-child(3))) :focus-visible{outline-color:#fff}
h1,h2,h3,h4,.t-display,.t-h1,.t-h2,.t-h3{
font-family:var(--display);
font-weight:var(--display-weight);
letter-spacing:-.014em;
line-height:1.14;
margin:0;
color:var(--ink);
}
[data-typo="editorial"] h1,
[data-typo="editorial"] h2,
[data-typo="editorial"] .t-display,
[data-typo="editorial"] .t-h1,
[data-typo="editorial"] .t-h2{font-variation-settings:"opsz" 96}
.t-display{font-size:clamp(2.3rem,5vw,3.9rem);line-height:1.08;letter-spacing:-.022em;text-wrap:balance}
.t-h1{font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
.t-h2{font-size:clamp(1.6rem,2.7vw,2.2rem);text-wrap:balance}
[data-typo="elegante"] .t-display{font-size:clamp(2.6rem,5.6vw,4.4rem);letter-spacing:-.01em}
[data-typo="elegante"] .t-h1{font-size:clamp(2.3rem,3.8vw,3.3rem);letter-spacing:-.01em}
[data-typo="elegante"] .t-h2{font-size:clamp(1.85rem,3vw,2.55rem)}
[data-typo="elegante"] .t-h3{font-size:clamp(1.3rem,1.9vw,1.55rem)}
[data-typo="elegante"] .brand-name{font-size:1.35rem}
[data-typo="elegante"] :is(.eyebrow,.label){font-size:1.1rem}
[data-typo="elegante"] :is(.btn,.footer-h,strong,b){font-weight:500}
.t-h3{font-size:clamp(1.15rem,1.7vw,1.35rem);line-height:1.28;text-wrap:balance}
p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}
h1+.t-lead,h2+.t-lead,.t-display+.t-lead,.t-h1+.t-lead,.t-h2+.t-lead{margin-top:var(--space-sm)}
h1+p,h2+p,h3+p,.t-display+p,.t-h1+p,.t-h2+p,.t-h3+p{margin-top:var(--space-md)}
h1+.t-body,h2+.t-body,h3+.t-body,.t-h1+.t-body,.t-h2+.t-body{margin-top:var(--space-md)}
.eyebrow+*,.label+*{margin-top:0}
.actions{margin-top:var(--space-lg)}
.actions>.btn+.btn,.actions>.btn+.link{margin-left:var(--space-md)}
.t-lead+.hero-actions,p+.hero-actions,*+.hero-actions{margin-top:var(--space-xl)}
.t-lead{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--ink-70);line-height:1.62}
.t-body{color:var(--ink-70)}
.t-small{font-size:.9375rem;line-height:1.6;color:var(--ink-55)}
em{font-style:italic}
.ital{font-family:var(--display);font-style:italic}
.measure{max-width:34em}
.label,.eyebrow{
font-family:var(--eyebrow-family);
font-style:var(--eyebrow-style);
font-size:1rem;
font-weight:500;
letter-spacing:0;
color:var(--accent-deep);
margin:0 0 1.25rem;
}
a{color:inherit}
.link{
display:inline-block;
font-size:.9375rem;
color:var(--accent-deep);
text-decoration:none;
border-bottom:1px solid currentColor;
padding-bottom:3px;
transition:border-color .2s,color .2s;
}
.link:hover{color:var(--ink);border-bottom-color:var(--ink)}
.btn{
display:inline-block;
font-family:var(--text);
font-size:.9375rem;
font-weight:600;
line-height:1;
min-height:2.75rem;
padding:1.15rem 2.1rem;
border:1px solid var(--accent-deep);
border-radius:2px;
background:var(--accent-deep);
color:var(--on-accent);
text-decoration:none;
transition:background .2s,border-color .2s,color .2s;
}
.btn:hover{background:var(--ink);border-color:var(--ink)}
.btn-sm{padding:.85rem 1.5rem;font-size:.875rem;min-height:2.5rem}
.btn-ghost{
background:transparent;color:var(--accent-deep);border-color:var(--accent-deep);
}
.btn-ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.btn-on-dark{background:transparent;border-color:rgb(255 255 255 / .78);color:#fff}
.btn-on-dark:hover{background:#fff;border-color:#fff;color:var(--ink)}
.site-header{position:relative;z-index:20;background:var(--bg)}
.header-inner{
display:flex;align-items:center;justify-content:space-between;gap:var(--gut);
padding-block:1.75rem;
}
.brand{text-decoration:none;line-height:1.2}
.brand-name{
display:block;font-family:var(--display);font-style:italic;
font-size:1.15rem;font-weight:var(--display-weight);letter-spacing:-.012em;
}
.brand-role{display:block;font-size:.8125rem;color:var(--ink-55);margin-top:.15rem}
.brand-logo{max-height:4.5rem;width:auto}
@media (max-width:640px){.brand-logo{max-height:3.5rem}}
.site-nav{display:flex;align-items:center;gap:2.25rem}
.site-nav ul{display:flex;gap:2.25rem;list-style:none;margin:0;padding:0}
.site-nav ul a{font-size:.9375rem;color:var(--ink-70);text-decoration:none;transition:color .2s}
.site-nav ul a:hover,.site-nav ul a[aria-current="page"]{color:var(--accent-deep)}
.nav-toggle{display:none}
.hero{
position:relative;
min-height:min(82vh,760px);
display:flex;align-items:flex-end;
overflow:hidden;
background:var(--bg-alt);
}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-overlay{
position:absolute;inset:0;
background:linear-gradient(0deg,
rgb(28 26 21 / .80) 0%,
rgb(28 26 21 / .72) 45%,
rgb(28 26 21 / .60) 74%,
rgb(28 26 21 / .08) 100%);
}
.hero-inner{
position:relative;
width:100%;max-width:var(--max);
margin-inline:auto;padding-inline:var(--pad);
padding-block:clamp(2.5rem,6vw,4.5rem);
}
.hero-text{max-width:40rem;color:#fff}
.hero-text .eyebrow,.hero-text .label{color:#EFE6D8;margin-bottom:.9rem}
.hero-text .t-display{color:#fff}
.h1-role{display:block;margin-bottom:.9rem;font-family:var(--eyebrow-family);
font-style:var(--eyebrow-style);font-size:1rem;line-height:1.4;letter-spacing:normal;
font-weight:400;color:#EFE6D8}
.hero-text p{color:rgb(255 255 255 / .88);max-width:32rem;margin-top:1.1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:1.1rem;align-items:center;margin-top:2.25rem}
.hero-meta{margin-top:1.6rem;font-size:.9375rem;color:rgb(255 255 255 / .74)}
.page-head{padding-block:var(--space-section) 0}
.page-head .t-h1{max-width:20ch}
.page-head p{max-width:38em;margin-top:1.1rem;color:var(--ink-70)}
.page-head-grid{
display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);
gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
.page-head-about{max-width:38em}
.page-head .page-head-about p{margin-top:0}
.page-head .page-head-about p:first-child{margin-top:var(--space-md)}
.page-head .page-head-about p + p{margin-top:var(--space-md)}
.page-head-photo{margin:0;aspect-ratio:4 / 5;border-radius:var(--radius);overflow:hidden}
.page-head-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.duo-split{
display:grid;grid-template-columns:1.06fr 1fr;gap:clamp(2.5rem,5vw,4.5rem);
align-items:start;
}
.duo{position:relative;min-height:clamp(24rem,38vw,33rem)}
.duo-a,.duo-b{margin:0;border-radius:var(--radius);overflow:hidden}
.duo-a{
position:absolute;top:0;left:0;width:64%;height:78%;
box-shadow:var(--shadow-lift);
}
.duo-b{
position:absolute;right:0;bottom:0;width:52%;height:60%;
box-shadow:var(--shadow-rest);
border:6px solid var(--bg);
}
.duo-a img,.duo-b img{width:100%;height:100%;object-fit:cover}
.duo-b img{object-position:center top}
.duo-caption{margin-top:1.1rem;font-size:.875rem;color:var(--ink-55)}
.cards{
display:grid;
grid-template-columns:minmax(0,34rem);
gap:var(--space-sm);
align-items:stretch;
}
.cards--des-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards--des-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards--des-3:has(> .card:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.services-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,34rem);
gap:var(--space-xl);align-items:start}
.services-cols:not(.services-cols--des-2) > .cards{grid-template-columns:minmax(0,1fr)}
.services-cols > p{grid-column:1 / -1}
.services-cols--des-2{display:block}
.card{
display:flex;flex-direction:column;
background:var(--bg-alt);
padding:clamp(1.75rem,2.6vw,2.25rem);
}
.card-num{
font-family:var(--display);font-style:italic;font-weight:400;
font-size:clamp(1.6rem,2.2vw,2rem);line-height:1;
color:var(--accent-deep);
margin:0 0 var(--space-xl);
}
.card-media{aspect-ratio:16 / 9;overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-body{display:flex;flex-direction:column;flex:1;padding-top:var(--space-2xl)}
.card h3{font-size:clamp(1.35rem,2vw,1.65rem);text-wrap:balance}
.card-body > p{color:var(--ink-70);font-size:.9375rem;line-height:1.75}
.card-body > .card-meta{
margin-top:auto;padding-top:var(--space-xl);
font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;
color:var(--ink-70);margin-bottom:var(--space-md);
}
.card-meta::before{
content:"";display:block;width:6rem;height:1px;
background:var(--accent-line);margin-bottom:var(--space-xl);
}
.card .link{align-self:flex-start}
:is(.cards:not(:has(> .card:nth-child(4):last-child)) > .card:nth-child(even), .cards:has(> .card:nth-child(4):last-child) > .card:is(:nth-child(2),:nth-child(3))){background:var(--accent-deep)}
:is(.cards:not(:has(> .card:nth-child(4):last-child)) > .card:nth-child(even), .cards:has(> .card:nth-child(4):last-child) > .card:is(:nth-child(2),:nth-child(3))) .card-num,
:is(.cards:not(:has(> .card:nth-child(4):last-child)) > .card:nth-child(even), .cards:has(> .card:nth-child(4):last-child) > .card:is(:nth-child(2),:nth-child(3))) h3{color:var(--on-accent)}
:is(.cards:not(:has(> .card:nth-child(4):last-child)) > .card:nth-child(even), .cards:has(> .card:nth-child(4):last-child) > .card:is(:nth-child(2),:nth-child(3))) .card-body > p,
:is(.cards:not(:has(> .card:nth-child(4):last-child)) > .card:nth-child(even), .cards:has(> .card:nth-child(4):last-child) > .card:is(:nth-child(2),:nth-child(3))) .card-meta{color:var(--on-accent-70)}
:is(.cards:not(:has(> .card:nth-child(4):last-child)) > .card:nth-child(even), .cards:has(> .card:nth-child(4):last-child) > .card:is(:nth-child(2),:nth-child(3))) .card-meta::before{background:rgb(255 255 255 / .3)}
:is(.cards:not(:has(> .card:nth-child(4):last-child)) > .card:nth-child(even), .cards:has(> .card:nth-child(4):last-child) > .card:is(:nth-child(2),:nth-child(3))) .link{color:var(--on-accent)}
:is(.cards:not(:has(> .card:nth-child(4):last-child)) > .card:nth-child(even), .cards:has(> .card:nth-child(4):last-child) > .card:is(:nth-child(2),:nth-child(3))) .link:hover{color:var(--on-accent-70);border-bottom-color:var(--on-accent-70)}
.split{
display:grid;grid-template-columns:minmax(0,18rem) minmax(0,1fr);
gap:clamp(2rem,5vw,4.5rem);align-items:start;
}
.split-aside{position:sticky;top:2rem}
.statement{
max-width:26ch;
font-family:var(--display);
font-size:clamp(1.5rem,2.6vw,2.05rem);
line-height:1.26;
}
.quote-block{
--quote-bg:color-mix(in srgb,var(--accent-deep) 62%,rgb(var(--ink-rgb)));
position:relative;isolation:isolate;overflow:hidden;
background:var(--quote-bg);color:var(--on-accent);
border-radius:var(--radius);
padding:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,5vw,4.5rem) clamp(2rem,4vw,3.5rem);
}
.quote-fond{
position:absolute;inset:0;z-index:-1;
width:100%;height:100%;object-fit:cover;
opacity:.09;filter:grayscale(1);
}
.quote-block .eyebrow{color:var(--on-accent-70)}
.quote-block h2{color:var(--on-accent);font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.08}
.quote-block h2 em{font-style:italic}
.temoins-zone{
position:relative;min-width:0;
margin-top:clamp(2.5rem,6vw,5rem);
padding-inline:clamp(2.75rem,6vw,5rem);
}
.quote{text-align:center}
.quote-block blockquote{
margin:0 auto;max-width:62ch;
font-family:var(--display);font-style:italic;
font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.6;
color:var(--on-accent);text-wrap:pretty;
}
[data-typo="elegante"] .quote-block blockquote{font-size:clamp(1.25rem,1.9vw,1.5rem)}
.quote-who{margin-top:1.5rem;font-family:var(--text);font-style:normal;
font-size:.9375rem;color:var(--on-accent-70)}
.temoins{
display:grid;grid-auto-flow:column;grid-auto-columns:100%;
gap:clamp(1.5rem,3vw,2.5rem);
overflow-x:auto;overscroll-behavior-x:contain;
scroll-snap-type:x mandatory;
scrollbar-width:none;-ms-overflow-style:none;
}
.temoins::-webkit-scrollbar{display:none}
.temoins > .quote{scroll-snap-align:start;min-width:0}
.temoins-fleche{
display:inline-flex;align-items:center;justify-content:center;
width:2.75rem;height:2.75rem;padding:0;
border:0;background:transparent;cursor:pointer;
color:var(--on-accent);
transition:opacity .2s;
}
.temoins-fleche--avant,.temoins-fleche--apres{
position:absolute;top:var(--fleche-y,50%);transform:translateY(-50%);
}
.temoins-fleche--avant{left:0}
.temoins-fleche--apres{right:0}
.temoins-fleche:hover:not(:disabled){opacity:.7}
.temoins-fleche:disabled{opacity:.25;cursor:default}
.temoins-fleche svg{display:block}
.temoins-fleche:focus-visible,.temoins-point:focus-visible{outline-color:var(--on-accent)}
.temoins-points{display:flex;justify-content:center;gap:.25rem;margin:clamp(1.75rem,3vw,2.5rem) 0 0}
.temoins-point{
width:1.75rem;height:1.75rem;padding:0;border:0;background:transparent;cursor:pointer;
display:inline-flex;align-items:center;justify-content:center;
}
.temoins-point::before{
content:"";width:7px;height:7px;border-radius:50%;
background:rgb(255 255 255 / .5);transition:background .2s,transform .2s;
}
.temoins-point[aria-current="true"]::before{background:var(--on-accent);transform:scale(1.2)}
@media (prefers-reduced-motion:no-preference){.temoins{scroll-behavior:smooth}}
.quote--long:not(.est-ouvert) blockquote{
display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;
}
.quote-suite{
display:inline-block;margin:.5rem 0 0;padding:.25rem .5rem;
background:none;border:0;cursor:pointer;
font:inherit;font-family:var(--text);font-size:.9375rem;font-style:normal;
color:var(--on-accent);text-decoration:underline;text-underline-offset:.2em;
}
.quote-suite:hover{opacity:.75}
.quote-suite:focus-visible{outline-color:var(--on-accent)}
.quote-actions{display:flex;justify-content:flex-end;margin:var(--space-xl) 0 0}
.btn-clair{background:#fff;border-color:#fff;color:var(--ink)}
.btn-clair:hover{
background:color-mix(in srgb,var(--accent-2) 70%,#fff);
border-color:color-mix(in srgb,var(--accent-2) 70%,#fff);color:var(--ink);
}
.offer-dur{display:block;font-size:.875rem;color:var(--ink-55);margin-top:.25rem}
.band{
background:var(--accent-deep);color:var(--on-accent);
border-radius:var(--radius);
padding:clamp(2.5rem,5vw,4rem);
text-align:center;
}
.band h2,.band .t-h2{color:#fff;max-width:44ch;margin-inline:auto;text-wrap:balance}
.band p{color:var(--on-accent-70);max-width:68ch;margin:1rem auto 1.75rem;
text-wrap:pretty}
.field{display:grid;gap:.4rem;margin-bottom:1.1rem}
.field label{font-size:.9375rem;color:var(--ink-70)}
.field input,.field textarea,.field select{
font:inherit;color:inherit;background:#fff;
border:1px solid rgb(var(--ink-rgb) / .45);border-radius:2px;padding:.8rem .9rem;
}
.field textarea{min-height:9rem;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none}
.site-footer{border-top:1px solid var(--line-soft);margin-top:var(--space-section);
padding-top:var(--space-3xl)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--gut)}
.f-name{font-family:var(--display);font-size:1.1rem;margin-bottom:.4rem}
.footer-brand p,.footer-col p{color:var(--ink-70);font-size:.9375rem;margin-bottom:.6rem}
.footer-h{font-family:var(--text);font-size:.9375rem;font-weight:600;margin-bottom:.7rem}
.footer-col a{text-decoration:none;border-bottom:1px solid var(--line)}
.footer-col a:hover{border-bottom-color:var(--ink)}
.footer-bottom{
display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
border-top:1px solid var(--line-soft);
margin-top:clamp(2rem,4vw,3rem);padding-block:1.5rem 2rem;
font-size:.875rem;color:var(--ink-55);
}
.footer-bottom p{margin:0}
.to-top-wrap{margin-left:auto}
.to-top{
display:inline-flex;align-items:center;justify-content:center;
width:2.75rem;height:2.75rem;
color:var(--accent-deep);
text-decoration:none;
opacity:0;visibility:hidden;transform:translateY(.35rem);
transition:opacity .25s,transform .25s,color .2s;
}
.to-top svg{flex:none;display:block}
.to-top:hover{color:var(--ink)}
.a-defile .to-top{opacity:1;visibility:visible;transform:none}
.a-defile .to-top:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){
.to-top{transition:none}
.a-defile .to-top:hover{transform:none}
}
.footer-bottom a{text-decoration:none;border-bottom:1px solid var(--line)}
.footer-bottom a.to-top{border-bottom:0}
@keyframes lily-rise{from{opacity:.35;transform:translateY(14px)}to{opacity:1;transform:none}}
.is-intro .hero-text > *{animation:lily-rise .95s cubic-bezier(.22,.68,.24,1) both}
.is-intro .hero-text > :nth-child(1){animation-delay:.05s}
.is-intro .hero-text > :nth-child(2){animation-delay:.16s}
.is-intro .hero-text > :nth-child(3){animation-delay:.27s}
.is-intro .hero-text > :nth-child(4){animation-delay:.38s}
.is-intro .hero-text > :nth-child(5){animation-delay:.49s}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation:none !important;transition:none !important}
.is-intro .hero-text > *{opacity:1}
}
@media (max-width:1080px){
.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
:root{--pad:7vw}
.services-cols{display:block}
.page-head-grid{grid-template-columns:1fr}
.page-head-photo{max-width:22rem;aspect-ratio:4 / 4.4}
.services-cols > .cards{margin-top:var(--space-xl)}
.cards--des-3{grid-template-columns:minmax(0,34rem)}
.duo-split,.split{grid-template-columns:1fr}
.split-aside{position:static}
.duo{min-height:22rem}
.hero{min-height:70vh}
.nav-toggle{
display:inline-flex;align-items:center;gap:.55rem;
font:inherit;font-size:.9375rem;color:var(--ink);
background:none;border:0;padding:.5rem 0;cursor:pointer;
}
.bars{width:1.25rem;height:1px;background:var(--ink);position:relative;display:block}
.bars::before,.bars::after{
content:"";position:absolute;left:0;width:1.25rem;height:1px;background:var(--ink);
}
.bars::before{top:-.32rem}
.bars::after{top:.32rem}
.site-nav{
display:none;position:absolute;left:0;right:0;top:100%;
flex-direction:column;align-items:flex-start;gap:1.25rem;
background:var(--bg);border-top:1px solid var(--line-soft);
padding:1.5rem var(--pad) 2rem;
}
.site-nav.is-open{display:flex}
html:not(.js) .nav-toggle{display:none}
html:not(.js) .site-nav{display:flex;position:static;padding-inline:0}
.site-nav ul{flex-direction:column;gap:1.1rem}
}
@media (max-width:620px){
.cards,.cards--des-2,.cards--des-3{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.offer{grid-template-columns:1fr;gap:.3rem}
}
.mt-m{margin-top:var(--space-lg)}
.mt-l{margin-top:var(--space-2xl)}
.split-main--narrow{max-width:38em}
.steps{
list-style:none;margin:var(--space-2xl) 0 0;padding:0;
display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
gap:clamp(1.75rem,3.5vw,3rem);
counter-reset:etape;
}
.steps li{counter-increment:etape;padding-top:1.25rem;border-top:1px solid var(--line)}
.steps li::before{
content:counter(etape,decimal-leading-zero);
display:block;margin-bottom:.6rem;
font-family:var(--display);font-size:1.05rem;color:var(--accent-deep);
}
.steps h3{margin-bottom:.5rem}
.steps .t-body{color:var(--ink-70);font-size:.9375rem}
.shot{margin:0}
.shot img{
display:block;width:100%;
height:clamp(16rem,30vw,27rem);object-fit:cover;
border-radius:var(--radius);
box-shadow:var(--shadow-lift);
}
.shot figcaption{
padding:1rem .25rem 0;font-size:.875rem;color:var(--ink-55);
}
.shot-note{max-width:none;margin-bottom:1.5rem}
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline::before{
content:"";position:absolute;left:0;top:.4rem;bottom:.4rem;width:1px;background:var(--line);
}
.timeline li{position:relative;padding:0 0 2.25rem 2rem}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{
content:"";position:absolute;left:-3px;top:.55rem;width:7px;height:7px;
border-radius:50%;background:var(--accent);
}
.tl-date{
display:block;font-family:var(--display);font-style:var(--eyebrow-style);
color:var(--accent-deep);margin-bottom:.3rem;
}
.tl-body{color:var(--ink-70);font-size:.9375rem}
.tl-body p{margin-bottom:.5em}
.offer-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.offer{
display:grid;
grid-template-columns:minmax(0,19rem) minmax(0,1fr) minmax(5.5rem,auto);
gap:clamp(1.5rem,3.5vw,3.25rem);
align-items:start;
padding-block:clamp(2rem,4vw,3rem);
border-bottom:1px solid var(--line-soft);
}
.offer:first-child{padding-top:0}
.offer:last-child{border-bottom:0}
.offer-head .t-h3{margin-bottom:0}
.offer-body{color:var(--ink-70);font-size:.9375rem}
.offer-body p+p{margin-top:.9em}
.offer-price{text-align:right}
.price{display:block;font-family:var(--display);font-size:1.15rem;
color:var(--accent-deep);white-space:nowrap}
.price-note{display:block;font-size:.875rem;color:var(--ink-55);margin-top:.35rem}
.offer-shot{
margin:1.1rem 0 0;border-radius:var(--radius);overflow:hidden;
box-shadow:var(--shadow-rest);aspect-ratio:4/3;
}
.offer-shot img{width:100%;height:100%;object-fit:cover}
@media (min-width:861px){
.offer{row-gap:0;grid-template-rows:auto auto 1fr}
.offer-head{display:contents}
.offer-head .offer-shot{grid-column:1;grid-row:1 / span 3;margin-top:0}
.offer-head .t-h3{grid-column:2;grid-row:1}
.offer-head .offer-dur{grid-column:2;grid-row:2}
.offer-body{grid-column:2;grid-row:3;margin-top:1.1rem}
.offer-price{grid-column:3;grid-row:1 / span 3}
}
.faq{display:grid;gap:0;margin:0;padding:0;list-style:none}
.faq-item{border-bottom:1px solid var(--line-soft)}
.faq-item:first-child{border-top:1px solid var(--line-soft)}
.faq summary{
display:flex;align-items:baseline;gap:.9rem;
padding-block:1.1rem;cursor:pointer;list-style:none;
font-family:var(--display);font-size:1.0625rem;color:var(--ink);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{
content:"+";flex:none;width:1rem;color:var(--ink-55);
font-family:var(--text);font-size:1.1rem;line-height:1.3;
transition:transform .2s;
}
.faq details[open] summary::before{content:"\2013"}
.faq summary:hover{color:var(--accent-deep)}
.faq summary:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px}
.faq-rep{padding:0 0 1.2rem 1.9rem;color:var(--ink-70)}
.faq-rep p{margin:0}
@media (prefers-reduced-motion:reduce){.faq summary::before{transition:none}}
.info-list{display:grid;gap:.85rem;margin:0;padding:0;list-style:none}
.info-list li{display:grid;gap:.15rem}
.info-k{color:var(--ink-55);font-size:.9375rem}
.info-list a{text-decoration:none;border-bottom:1px solid var(--line)}
.info-list a:hover{border-bottom-color:var(--ink)}
.form{max-width:34rem}
.form-note{font-size:.875rem;color:var(--ink-55);margin-top:1rem}
.callout{position:relative;border-radius:var(--radius);overflow:hidden;isolation:isolate}
.callout-photo{
position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
}
.callout::after{
content:"";position:absolute;inset:0;z-index:-1;
background:linear-gradient(0deg,rgb(28 26 21 / .78) 0%,rgb(28 26 21 / .48) 100%);
}
.callout-inner{
padding:clamp(2.5rem,5vw,4.5rem);color:#fff;max-width:46rem;
}
.callout-inner h2,.callout-inner .t-h2{color:#fff}
.callout-inner p{color:rgb(255 255 255 / .86)}
.callout-inner .btn{background:#fff;border-color:#fff;color:var(--ink)}
.callout-inner .btn:hover{background:var(--bg);border-color:var(--bg);color:var(--ink)}
.prose{max-width:44em}
.prose h2{margin:2.5rem 0 .75rem;font-size:clamp(1.25rem,1.9vw,1.5rem)}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--ink-70)}
.quote{margin:0}
.nav-cta{white-space:nowrap}
@media (max-width:860px){
.steps{grid-template-columns:1fr}
.offer{grid-template-columns:1fr;gap:1.25rem}
.offer-price{text-align:left}
}
[data-fond="contraste"][data-palette="argile"]{
--cf-fonce:#5E2A1E;--cf-fonce-alt:#6A3223;--cf-pied:#4A2016;
--cf-texte-rgb:250 241 228;--cf-texte-70:.82;--cf-texte-55:.72;--cf-texte-soft:#EAD9C6;
--cf-accent-rgb:243 201 162;
--cf-btn:#F6DEC4;--cf-btn-texte:#4A2014;--cf-btn-survol:#E0925C;--cf-btn-survol-texte:#2E120B;
--cf-clair:#FBF4EA;--cf-clair-alt:#F3E6D6;
--cf-entete:linear-gradient(180deg,#EED3C1 0%,#F5E4D7 70%,#F8EBE1 100%);
--cf-filet-rgb:136 69 47;--cf-survol:#A9614A;--cf-ombre-rgb:60 20 10;
}
[data-fond="contraste"][data-palette="sauge"]{
--cf-fonce:#394434;--cf-fonce-alt:#44503E;--cf-pied:#2E372A;
--cf-texte-rgb:244 241 230;--cf-texte-70:.82;--cf-texte-55:.72;--cf-texte-soft:#DCDCCB;
--cf-accent-rgb:229 211 161;
--cf-btn:#EEE3C4;--cf-btn-texte:#2E3526;--cf-btn-survol:#D4B86E;--cf-btn-survol-texte:#262B1E;
--cf-clair:#F6F5EE;--cf-clair-alt:#E9ECE0;
--cf-entete:linear-gradient(180deg,#E3DFD2 0%,#EEEBE2 70%,#F5F3ED 100%);
--cf-filet-rgb:84 94 69;--cf-survol:#6E7A5C;--cf-ombre-rgb:30 40 25;
}
[data-fond="contraste"][data-palette="brume"]{
--cf-fonce:#2D3C48;--cf-fonce-alt:#384A57;--cf-pied:#23303A;
--cf-texte-rgb:255 255 255;--cf-texte-70:.93;--cf-texte-55:.86;--cf-texte-soft:#EEF2F4;
--cf-accent-rgb:221 230 236;
--cf-btn:#FFFFFF;--cf-btn-texte:#22303A;--cf-btn-survol:#C9D8E2;--cf-btn-survol-texte:#1F2A33;
--cf-clair:#F4F6F7;--cf-clair-alt:#E3E9EC;
--cf-entete:linear-gradient(180deg,#DFE2E4 0%,#ECEEEF 70%,#F4F5F6 100%);
--cf-filet-rgb:63 84 98;--cf-survol:#586F7D;--cf-ombre-rgb:20 30 40;
}
[data-fond="contraste"]{--bg:var(--cf-clair);--bg-alt:var(--cf-clair-alt)}
[data-fond="contraste"] :is(.zone-fonce,.page-head,.site-footer,.site-header:not(.site-header--clair)){
--bg:var(--cf-fonce);--bg-alt:var(--cf-fonce-alt);
--ink-rgb:var(--cf-texte-rgb);--ink:rgb(var(--cf-texte-rgb));
--ink-70:rgb(var(--cf-texte-rgb) / var(--cf-texte-70));
--ink-55:rgb(var(--cf-texte-rgb) / var(--cf-texte-55));
--ink-soft:var(--cf-texte-soft);
--line:rgb(var(--cf-texte-rgb) / .18);--line-soft:rgb(var(--cf-texte-rgb) / .1);
--accent-rgb:var(--cf-accent-rgb);--accent:rgb(var(--cf-accent-rgb));
--accent-deep:rgb(var(--cf-accent-rgb));--accent-line:rgb(var(--cf-accent-rgb) / .35);
--on-accent:var(--cf-btn-texte);
background:var(--bg);color:var(--ink);
}
[data-fond="contraste"] .site-footer:not(.site-header--clair){--bg:var(--cf-pied)}
[data-fond="contraste"] .site-header:not(.site-header--clair){border-bottom:1px solid rgb(var(--cf-texte-rgb) / .08)}
[data-fond="contraste"] :is(.page-head,.site-header,.site-footer) .brand{color:var(--ink)}
[data-fond="contraste"] .btn{transition:background .2s,border-color .2s,color .2s}
[data-fond="contraste"] .btn:hover{background:var(--cf-survol);border-color:var(--cf-survol);color:#fff}
[data-fond="contraste"] :is(.zone-fonce,.page-head,.site-header:not(.site-header--clair)) :is(.btn,.btn-ghost){
background:var(--cf-btn);border-color:var(--cf-btn);color:var(--cf-btn-texte)}
[data-fond="contraste"] :is(.zone-fonce,.page-head,.site-header:not(.site-header--clair)) :is(.btn,.btn-ghost):hover{
background:var(--cf-btn-survol);border-color:var(--cf-btn-survol);color:var(--cf-btn-survol-texte)}
[data-fond="contraste"] .site-header--clair{
background:var(--cf-entete);border-bottom:1px solid rgb(var(--cf-filet-rgb) / .16)}
[data-fond="contraste"] .zone-fonce{
padding-block:clamp(4rem,8vw,7rem);margin-block:clamp(3.5rem,7vw,6rem)}
[data-fond="contraste"] .page-head{padding-bottom:clamp(3.5rem,7vw,6rem)}
[data-fond="contraste"] :is(.duo-a,.duo-b,.page-head-photo){border:7px solid #FFFDF9;box-sizing:border-box}
[data-fond="contraste"] .section--temoins > .wrap{max-width:none;padding-inline:0}
[data-fond="contraste"] .section--temoins .quote-block{
border-radius:0;padding-block:clamp(4.5rem,9vw,7.5rem);
padding-inline:max(var(--pad), calc((100% - var(--max)) / 2 + var(--pad)))}
[data-fond="contraste"] .callout{
margin:clamp(3rem,6vw,5rem) auto;
width:calc(100% - 2 * var(--pad));max-width:calc(var(--max) - 2 * var(--pad));
box-shadow:0 24px 50px -28px rgb(var(--cf-ombre-rgb) / .55)}
[data-fond="contraste"] main:has(> .callout:last-child) + .site-footer{margin-top:0}
