@font-face{font-family:Chiffon;src:url(/assets/fonts/chiffon-extralight-webfont.woff2) format("woff2");font-weight:200;font-display:swap}
@font-face{font-family:Chiffon;src:url(/assets/fonts/chiffon-light-webfont.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Chiffon;src:url(/assets/fonts/chiffon-regular-webfont.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Chiffon;src:url(/assets/fonts/chiffon-medium-webfont.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Chiffon;src:url(/assets/fonts/chiffon-semibold-webfont.woff2) format("woff2");font-weight:600;font-display:swap}
:root{--burg:#490014;--rose:#a25864;--blue:#9eb8d1;--cream:#f4ebe6;--olive:#332900;--pearl:#d9d7d1;--w:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--olive);font:300 17px/1.7 Epilogue,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--burg)}
h1,h2,h3{font-family:Chiffon,Georgia,serif;font-weight:600;color:var(--burg);line-height:1.12;margin:0 0 .6em}
h1{font-size:clamp(2.2rem,5vw,3.8rem)}h2{font-size:clamp(1.7rem,3vw,2.4rem)}h3{font-size:1.5rem}
h2.small{font-size:1rem;text-align:center;font-family:Epilogue,sans-serif;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}
em{font-family:Chiffon,Georgia,serif;font-weight:400;font-style:normal}
.wrap{width:min(var(--w),100% - 2.5rem);margin-inline:auto}.narrow{max-width:760px}.center{text-align:center}
.skip{position:absolute;left:-999px;top:0;background:var(--burg);color:#fff;padding:.5rem 1rem;z-index:99}.skip:focus{left:0}
/* header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(244,235,230,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(79,0,9,.12)}
.bar{display:flex;align-items:center;gap:1.5rem;min-height:72px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-family:Chiffon,serif;font-weight:600;font-size:1.3rem;color:var(--burg);margin-right:auto}
.brand img{height:auto;width:46px}
.nav{display:flex;gap:1.6rem}.nav a{text-decoration:none;font-weight:400;font-size:.95rem;color:var(--burg);padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--rose)}
.lang{display:inline-flex;border:1.5px solid var(--burg);border-radius:999px;overflow:hidden;font-weight:600;font-size:.82rem;letter-spacing:.08em}
.lang span,.lang a{padding:.45rem .9rem;text-decoration:none;line-height:1}
.lang .on{background:var(--burg);color:var(--cream)}.lang a{color:var(--burg)}.lang a:hover{background:var(--blue)}
/* boutons */
.btn{display:inline-block;background:var(--burg);color:var(--cream);text-decoration:none;font-weight:600;font-size:.95rem;padding:.95rem 1.8rem;border-radius:999px;border:1.5px solid var(--burg);transition:.2s;cursor:pointer;font-family:Epilogue,sans-serif}
.btn:hover{background:var(--rose);border-color:var(--rose)}
.btn-light{background:var(--cream);color:var(--burg);border-color:var(--cream)}.btn-light:hover{background:var(--blue);border-color:var(--blue);color:var(--burg)}
.btn-ghost{background:transparent;color:var(--burg)}.btn-ghost:hover{background:var(--burg);color:var(--cream);border-color:var(--burg)}
/* hero */
.hero{padding:3rem 0 4rem}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
.label{font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin:0 0 1.2rem}
.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:var(--rose);margin-top:.15em}
.lead{font-size:1.2rem;max-width:34em;margin:0 0 2rem}
.hero-photo img{border-radius:240px 240px 24px 24px;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;width:100%;max-height:640px}
section{padding:4.5rem 0}
.bio{padding-top:1rem}.bio p{font-size:1.15rem}
.book,.sf,.final,.quote{background:var(--burg);color:var(--cream)}
.book h2,.sf h2,.final h2,.quote blockquote{color:var(--cream)}.book em,.book p em{color:var(--blue)}
.book a:not(.btn){color:var(--blue)}.book .btn,.sf .btn,.final .btn,.quote .btn{margin-top:1rem}
.proof{padding:3rem 0;background:var(--cream);border-block:1px solid rgba(79,0,9,.12)}
.marquee{overflow:hidden;display:flex;white-space:nowrap}
.track{display:flex;gap:4rem;padding:0 2rem;margin:0;list-style:none;animation:scroll 32s linear infinite;flex-shrink:0;}
@keyframes scroll{to{transform:translateX(-100%)}}
.marquee:hover .track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.track{animation:none}.marquee{overflow-x:auto}}
.work{background:var(--pearl)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2rem 0}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{background:var(--cream);border-radius:24px;padding:2rem}.card p{margin:0}
.test p{margin-bottom:1.5rem}.test h2{font-size:1.6rem}
.sf{background:var(--olive)}.newsletter{background:var(--blue)}.newsletter iframe{margin-top:1rem;background:#fff}.newsletter h2,.newsletter p{color:var(--burg)}
/* pages */
.page-hero{padding:4rem 0 2rem}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
.about-photo img{border-radius:240px 240px 24px 24px;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%}
.prose{padding:2rem 0 5rem}.prose h2{margin-top:2.5rem}
.believe p{padding-left:1.2rem;border-left:3px solid var(--rose);margin:1.4rem 0}.believe strong{color:var(--burg);font-weight:600}
.marks{padding-left:1.1rem}.marks li{margin:.6rem 0}
.quote blockquote{font-family:Chiffon,serif;font-weight:400;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.35;margin:0 0 1.5rem}
.stats{display:flex;gap:2.5rem;margin-top:2rem;flex-wrap:wrap}.stat strong{display:block;font:600 3rem/1 Chiffon,serif;color:var(--rose)}.stat span{font-size:.95rem}
.svc{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:2.5rem 0;border-top:1px solid rgba(79,0,9,.2)}
.svc .num{font:600 1.6rem Chiffon,serif;color:var(--rose)}.svc h2{margin-top:0}.svc .btn{margin-top:.5rem}
.cblock{margin-bottom:1.5rem}.cblock h2{font-size:1.5rem;margin:1.8rem 0 .4rem}
.form{margin-top:3rem;display:grid;gap:1.1rem;background:var(--pearl);padding:2rem;border-radius:24px}
.form label{display:grid;gap:.35rem;font-weight:600;font-size:.9rem;color:var(--burg)}
.form input,.form select,.form textarea{font:300 1rem Epilogue,sans-serif;padding:.8rem 1rem;border:1.5px solid transparent;border-radius:12px;background:var(--cream);color:var(--olive)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--burg)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.hp{position:absolute;left:-9999px}.form .btn{justify-self:start}
.note{margin-top:2rem;font-size:.95rem}
.legal mark{background:#f7e3a1;padding:0 .25em;border-radius:3px}
/* footer */
.site-footer{background:var(--olive);color:var(--cream);padding:3.5rem 0 1.5rem}.site-footer a{color:var(--cream)}
.f-top{display:grid;grid-template-columns:1fr 1.4fr auto;gap:2rem;align-items:start}
.f-logo{filter:brightness(0) invert(1) sepia(.2);width:56px;height:auto}.f-name{font:600 1.3rem Chiffon,serif;margin:.5rem 0 0}
.f-top p{margin:0}.f-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(244,235,230,.25);margin-top:2.5rem;padding-top:1.2rem;font-size:.85rem}
@media(max-width:860px){
 .hero-grid,.about-grid{grid-template-columns:1fr}.hero-photo{order:-1;max-width:380px}.about-photo{max-width:380px}
 .cards,.cards.two{grid-template-columns:1fr}.f-top{grid-template-columns:1fr}.row2{grid-template-columns:1fr}
 .bar{flex-wrap:wrap;gap:.6rem 1rem;padding:.7rem 0}.nav{order:3;width:100%;gap:1.1rem;overflow-x:auto}.brand span{font-size:1.1rem}
 section{padding:3rem 0}.svc{grid-template-columns:1fr}
}
.book-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center}
.book-cover img{width:100%;max-width:420px;margin:auto;filter:drop-shadow(0 18px 24px rgba(0,0,0,.35))}
.book-cover{background:#9eb8d1;border-radius:24px;padding:2rem}
.track{align-items:center;gap:4.5rem}
.track li{display:flex;align-items:center}
.track img{display:block;filter:grayscale(1) contrast(.9);opacity:.65;transition:.2s;max-height:56px;width:auto}
.track img:hover{filter:none;opacity:1}
@media(max-width:860px){.book-grid{grid-template-columns:1fr}}
/* ===== v2 ===== */
:root{--tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23f4ebe6'/%3E%3Crect width='18' height='18' fill='%23a25864'/%3E%3Crect y='18' width='18' height='6' fill='%239eb8d1'/%3E%3Crect x='18' y='18' width='6' height='6' fill='%23490014'/%3E%3C/svg%3E")}
.band{height:24px;background:var(--tile) repeat-x left top;background-size:24px 24px}
section{overflow-x:clip}
/* défilement des logos */
.marquee{overflow:hidden;display:block}
.mq-inner{display:flex;width:max-content;animation:mq 42s linear infinite}
.mq-group{display:flex;align-items:center;flex-shrink:0;margin:0;padding:0;list-style:none}
.mq-group li{padding:0 2.8rem;display:flex;align-items:center}
.mq-group img{display:block;filter:grayscale(1) contrast(.9);opacity:.65;transition:.2s;max-height:56px;width:auto}
.mq-group img:hover{filter:none;opacity:1}
@keyframes mq{to{transform:translateX(-50%)}}
.marquee:hover .mq-inner{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.mq-inner{animation:none}.marquee{overflow-x:auto}}
/* livre sur fond grenat */
.book-cover{background:none;border-radius:0;padding:0}
.book-cover img{filter:none;max-width:460px}
/* arche + motif + parallaxe */
.arch{position:relative;width:min(100%,400px);aspect-ratio:4/5;margin:0 28px 28px auto}
.arch-back{position:absolute;top:28px;left:28px;right:-28px;bottom:-28px;border-radius:999px 999px 18px 18px;background:var(--tile) repeat;background-size:36px 36px;will-change:transform}
.arch-photo{position:absolute;inset:0;overflow:hidden;border-radius:999px 999px 18px 18px;background:var(--pearl)}
.arch-photo img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:50% 25%;max-width:none;will-change:transform}
.hero-grid{grid-template-columns:1.15fr .85fr}
/* services */
.svc-hero{padding-bottom:3rem}
.panel{padding:5rem 0}.panel h2{margin-top:0}.panel p{margin:0 0 1rem}
.panel-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3.5rem;align-items:center}
.panel.flip .panel-photo{order:2}
.panel-photo{position:relative;max-width:420px;width:100%;margin-inline:auto}
.panel-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px}
.icon{position:absolute;right:-18px;bottom:-18px;width:84px;height:84px;border-radius:50%;background:var(--cream);display:grid;place-items:center;box-shadow:0 0 0 6px var(--rose)}
.icon svg{width:44px;height:44px;fill:none;stroke:var(--burg);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon.big{position:static;margin:0 auto 1.2rem;box-shadow:0 0 0 6px var(--rose)}
.kicker{font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);margin:0 0 .8rem!important}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1.4rem 0 1.8rem}
.chips li{border:1.5px solid currentColor;border-radius:999px;padding:.3rem .9rem;font-size:.85rem}
.t-burg{background:var(--burg);color:var(--cream)}.t-burg h2{color:var(--cream)}.t-burg .kicker{color:var(--blue)}
.t-blue{background:var(--blue);color:var(--olive)}.t-blue .kicker{color:var(--burg)}
.t-cream{background:var(--cream)}
.t-olive{background:var(--olive);color:var(--cream)}.t-olive h2{color:var(--cream)}.t-olive .kicker{color:var(--blue)}
.t-burg .btn-ghost,.t-olive .btn-ghost{color:var(--cream);border-color:var(--cream)}.t-burg .btn-ghost:hover{background:var(--cream);color:var(--burg)}
.t-blue .btn-ghost{border-color:var(--burg)}
.stat{background:var(--cream);border:1.5px solid var(--burg);border-radius:18px;padding:1.1rem 1.5rem}
/* ressources */
.tests{padding-top:3.5rem}.tests h2{margin-bottom:1.5rem}
.card.test{display:flex;flex-direction:column;gap:.4rem;padding:0 0 2rem;overflow:hidden}
.card.test .tile{height:24px;background:var(--tile) repeat-x;background-size:24px 24px;margin-bottom:1.5rem}
.card.test h3,.card.test p,.card.test .btn{margin-left:2rem;margin-right:2rem}
.card.test .btn{align-self:flex-start;margin-top:auto}.card.test p{margin-bottom:1.2rem}
.newsletter .nl-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.nl-logo{width:min(100%,360px);margin-bottom:1.2rem}
.newsletter .nl-grid iframe{justify-self:center}
@media(max-width:860px){
 .arch{margin-inline:auto;margin-right:auto}.panel-grid,.newsletter .nl-grid{grid-template-columns:1fr;gap:2.5rem}
 .panel.flip .panel-photo{order:0}.panel{padding:3.5rem 0}.arch-back{right:-14px}.arch{margin-right:14px}
 .mq-group li{padding:0 1.8rem}
}

/* ===== v3 ===== */
:root{--band:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='54'%3E%3Crect width='24' height='54' fill='%23f4ebe6'/%3E%3Crect width='18' height='6' fill='%239eb8d1'/%3E%3Crect x='18' width='6' height='6' fill='%23490014'/%3E%3Crect y='6' width='18' height='18' fill='%23a25864'/%3E%3Crect y='24' width='18' height='6' fill='%239eb8d1'/%3E%3Crect x='18' y='24' width='6' height='6' fill='%23490014'/%3E%3Crect y='30' width='18' height='18' fill='%23a25864'/%3E%3Crect y='48' width='18' height='6' fill='%239eb8d1'/%3E%3Crect x='18' y='48' width='6' height='6' fill='%23490014'/%3E%3C/svg%3E");--tile-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23d9d7d1'/%3E%3Crect x='18' width='6' height='18' fill='%23a25864'/%3E%3Crect y='18' width='18' height='6' fill='%23490014'/%3E%3Crect x='18' y='18' width='6' height='6' fill='%23f4ebe6'/%3E%3C/svg%3E")}
.band{height:54px;background:var(--band) repeat-x left top;background-size:24px 54px}
.bio{background:var(--blue);padding:4.5rem 0}.bio p{color:var(--burg);font-size:1.2rem}.bio p:first-child{font-family:Chiffon,Georgia,serif;font-size:1.7rem;line-height:1.35}
.f-brand{display:flex;flex-direction:column;gap:1rem}.f-brand .f-name{margin:0}
.sf-logo{width:260px;max-width:70%;height:auto;margin:0 0 1.5rem}.panel .sf-logo{margin:0 auto 1.5rem}
.nl-logo{display:block;width:min(100%,300px);height:auto;margin:0 auto 1.2rem}.nl-grid .nl-logo{margin:0 0 1.2rem}
.newsletter iframe{width:440px;max-width:100%;height:190px}
.panel-shape{width:min(100%,360px);margin-inline:auto}
.shape{aspect-ratio:4/5;border-radius:999px 999px 18px 18px;background:var(--tile) repeat;background-size:48px 48px;will-change:transform}
.shape.pat-b{background-image:var(--tile-b)}
.panel.flip .panel-shape{order:2}
@media(max-width:860px){.panel.flip .panel-shape{order:0}.panel-shape{max-width:260px}.band{height:54px}}
/* ===== v4 : mobile ===== */
@media(max-width:860px){
 body{font-size:16px}
 h1{font-size:clamp(1.5rem,6.9vw,2.6rem)}h2{font-size:clamp(1.4rem,5.8vw,2rem)}
 .hero{padding:1.8rem 0 2.5rem}.hero-grid,.about-grid,.book-grid,.panel-grid,.newsletter .nl-grid{grid-template-columns:1fr;gap:2rem}
 .label{font-size:.7rem;letter-spacing:.1em;margin-bottom:.8rem}
 .lead{font-size:1.05rem;margin-bottom:1.5rem}
 .arch{width:auto;max-width:none;margin:0 16px 20px 0}
 .arch-back{top:20px;left:20px;right:-16px;bottom:-20px}
 .bio{padding:3rem 0}.bio p:first-child{font-size:1.35rem}.bio p{font-size:1.05rem}
 .book-cover{text-align:center}.book-cover img{max-width:300px;margin:auto}
 .panel-shape{max-width:200px}
 .stats{gap:1rem}.stat strong{font-size:2.4rem}
 .mq-group li{padding:0 1.6rem}.mq-group img{max-height:44px}
 .sf-logo{width:200px}
}
/* ===== v5 ===== */
.hero.dark{background:var(--burg);color:var(--cream);padding:3.5rem 0 4.5rem}
.hero.dark h1{color:var(--cream)}.hero.dark h1 em{color:var(--blue)}.hero.dark .label{color:var(--blue)}.hero.dark .lead{color:var(--cream)}
.hero.dark .btn-light:hover{background:var(--blue)}
.newsletter .narrow .nl-logo{margin-left:0}
.panel-illu{width:min(100%,400px);margin-inline:auto;display:flex;justify-content:center}
.panel-illu img{width:100%;height:auto;max-height:440px;object-fit:contain;will-change:transform}
.svc-hero{padding-bottom:3.5rem}
@media(max-width:860px){.panel-illu{max-width:300px}.hero.dark{padding:1.8rem 0 3rem}}
/* ===== v6 ===== */
.panel-illu{position:relative;width:min(100%,420px);aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.panel-illu .disc{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:var(--rose);left:11%;top:11%}
.t-blue .panel-illu .disc{background:var(--cream)}.t-cream .panel-illu .disc{background:var(--blue)}
.panel-illu img{position:relative;width:88%;max-height:100%}
.panel.flip .panel-grid{grid-template-columns:1.2fr .8fr}.panel.flip .panel-illu{order:2}
.panel.edge .panel-illu{width:min(100%,520px);justify-self:end;margin-right:calc((100vw - min(var(--w),100vw - 2.5rem))/-2)}
.panel.edge .panel-illu .disc{left:auto;right:12%;width:62%;top:6%}
.panel.edge .panel-illu img{width:100%;margin-left:auto;display:block}
@media(max-width:860px){.panel.flip .panel-grid{grid-template-columns:1fr}.panel.flip .panel-illu,.panel .panel-illu{order:0}
 .panel-illu{max-width:300px}.panel.edge .panel-illu{max-width:360px;margin-right:calc(-1 * 1.25rem);justify-self:end}}
.hero.dark{background:none}
/* ===== v7 animations illustrations ===== */
.newsletter .narrow p{margin:0 0 1rem}
@keyframes floaty{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -14px;rotate:2deg}}
@keyframes breathe{0%,100%{scale:1}50%{scale:1.07}}
@keyframes sway{0%,100%{translate:0 0;rotate:-2deg}50%{translate:-10px 6px;rotate:1.5deg}}
@media(prefers-reduced-motion:no-preference){
 .panel-illu img{animation:floaty 7s ease-in-out infinite}
 .panel-illu .disc{animation:breathe 8s ease-in-out infinite}
 .panel.edge .panel-illu img{animation:sway 6s ease-in-out infinite;transform-origin:100% 60%}
 .t-blue .panel-illu img{animation-duration:8s;animation-delay:-2s}
 .t-blue .panel-illu .disc{animation-delay:-3s}
 .t-cream .panel-illu img{animation-duration:9s;animation-delay:-4s}
}

.t-cream .panel-illu img{width:100%;max-width:none}.t-cream .panel-illu .disc{width:70%;left:15%;top:12%}

.svc-list{margin:2rem 0}
.svc-row{display:grid;grid-template-columns:90px minmax(0,.8fr) minmax(0,1.2fr) 200px;gap:2rem;align-items:center;padding:2rem 0;border-top:1.5px solid var(--burg)}
.svc-row:last-child{border-bottom:1.5px solid var(--burg)}
.svc-n{font-family:Chiffon,serif;font-size:3.4rem;line-height:1;color:var(--rose)}
.svc-row h3{margin:0;font-size:2rem;color:var(--burg)}
.svc-txt p{margin:0;max-width:24rem}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1rem 0 0}
.pills li{border:1.5px solid var(--burg);color:var(--burg);border-radius:999px;padding:.25rem .8rem;font-size:.8rem;font-weight:600}
.svc-illu{position:relative;width:200px;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.svc-illu .disc{position:absolute;width:76%;aspect-ratio:1;border-radius:50%;background:var(--rose)}
.svc-illu.d-blue .disc{background:var(--blue)}
.svc-illu img{position:relative;width:88%;height:auto;max-height:100%;object-fit:contain}
@media(max-width:860px){
 .svc-row{grid-template-columns:2.6rem minmax(0,1fr) 92px;grid-template-areas:"n h i" "t t t";gap:.8rem 1rem;padding:1.5rem 0}
 .svc-n{grid-area:n;font-size:2rem}.svc-row h3{grid-area:h;font-size:clamp(.9rem,4.5vw,1.1rem)}.svc-illu{grid-area:i;width:92px}.svc-txt{grid-area:t}.svc-txt p{max-width:none}
}
.svc-illu.d-olive .disc{background:var(--olive)}

/* Ressources : cartes des tests */
.test-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin:1.5rem 0 0}
.test-card{position:relative;background:var(--pearl);border-radius:28px;padding:2rem 2.2rem 2.2rem;display:flex;flex-direction:column;min-height:520px;overflow:hidden}
.test-card .tn{font-family:Chiffon,Georgia,serif;font-size:4rem;line-height:1;color:var(--rose)}
.test-illu{position:absolute;right:1.6rem;top:1.6rem;width:min(300px,56%);aspect-ratio:1/1}
.test-illu .disc{position:absolute;left:12%;top:0;width:76%;aspect-ratio:1/1;border-radius:50%;background:var(--rose)}
.test-illu.d-blue .disc{background:var(--blue)}
.test-illu img{position:absolute;left:0;top:50%;transform:translateY(-50%);width:100%;height:auto}
.test-txt{margin-top:auto;padding-top:15rem}
.test-txt h3{font-size:1.75rem;line-height:1.15;margin:0 0 .7rem}
.test-txt p{margin:0 0 1.3rem}
@media(max-width:860px){.test-grid{grid-template-columns:1fr}.test-card{min-height:0}.test-illu{width:210px;right:1rem;top:1rem}.test-txt{padding-top:10rem}.test-card .tn{font-size:3rem}}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tests{padding-top:2.5rem}.test-grid{margin-top:0}

/* Hero positionnement + propositions de valeur */
.hero h1.h1-pos{font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.12;margin:0 0 1.6rem}
.roles{display:grid;gap:1.1rem;margin:0 0 2rem}
.role{display:grid;grid-template-columns:8.6rem 1fr;gap:1rem;align-items:start}
.role p{margin:0;font-size:1rem;line-height:1.6}
.role-tag{display:block;text-align:center;background:var(--rose);color:var(--cream);font-weight:600;font-size:.9rem;letter-spacing:.02em;padding:.5rem 1rem;border-radius:10px}
.target{padding:4.5rem 0 4rem}
.target h2{max-width:22em;margin:0 0 2.2rem}.target h2 em{display:block;color:var(--rose);font-style:normal}
.vps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.vp{border-top:1.5px solid var(--burg);padding-top:1.2rem}
.vp h3{font-size:1.3rem;line-height:1.2;margin:0 0 .6rem}.vp p{margin:0}
@media(max-width:860px){.vps{grid-template-columns:1fr;gap:1.6rem}.role{grid-template-columns:1fr;gap:.5rem}.role-tag{justify-self:start;padding:.4rem .9rem}.target{padding:3rem 0 2.5rem}}

/* Bloc bleu : positionnement */
.bio h2{color:var(--burg);font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15;margin:0 0 1.6rem}
.bio p:first-child{font-family:inherit;font-size:1.2rem;line-height:inherit}
.bio h2+p{font-size:1.2rem}
.bio .bio-lead{margin:1.8rem 0 .6rem;font-weight:600}
.bio-qs{list-style:none;margin:0 0 1.6rem;padding:0}
.bio-qs li{font-family:Chiffon,Georgia,serif;font-weight:600;color:var(--burg);font-size:1.45rem;line-height:1.3;padding:1.1rem 0;border-top:1.5px solid var(--burg)}
.bio-qs li:last-child{border-bottom:1.5px solid var(--burg)}
.bio .creds{margin-top:2rem;font-size:.9rem!important;letter-spacing:.04em;opacity:.85}
@media(max-width:860px){.bio h2+p{font-size:1.05rem}.bio-qs li{font-size:1.2rem;padding:.9rem 0}}

.book .book-meta{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;opacity:.8;margin:-.4rem 0 1.4rem;line-height:1.6}
.book .book-meta sup{font-size:.65em;letter-spacing:0}
.book .book-meta em{text-transform:none;letter-spacing:.02em;font-style:italic}
.book .book-meta{text-transform:none;letter-spacing:.01em;font-size:.95rem;font-weight:400;opacity:.9;margin:-.3rem 0 1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(244,235,230,.28)}
.book .book-meta em{font-family:inherit;font-style:italic;color:inherit;font-weight:600}
.book .book-meta sup{font-size:.7em;line-height:0}

/* ===== À propos v2 : photo carrée, carreaux en coins ===== */
.sqph{position:relative;width:min(100%,460px);aspect-ratio:1/1;margin:36px 0 36px 36px;justify-self:end}
.sqph::before,.sqph::after{content:"";position:absolute;width:58%;height:58%;background:var(--tile) repeat;background-size:36px 36px;z-index:0}
.sqph::before{top:-36px;left:-36px}.sqph::after{bottom:-36px;right:-36px}
.sqph img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 12%;border-radius:4px;max-width:none}
.ab-hero{padding:3.5rem 0 3rem}.ab-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3.5rem;align-items:center}
.creds-line{font-size:.92rem;letter-spacing:.04em;color:var(--burg);opacity:.8;margin-top:1.4rem}

.ab-text p{margin:0 0 1.3rem;font-size:1.08rem;line-height:1.75}.ab-text p:last-child{margin-bottom:0}.ab-text em{font-family:inherit;font-style:italic;color:inherit;font-weight:400}
.ab-hero{overflow-x:clip}
@media(max-width:860px){.ab-grid{grid-template-columns:1fr;gap:2rem}.sqph{justify-self:center;margin:22px 0 22px 22px}.sqph::before{top:-22px;left:-22px}.sqph::after{bottom:-22px;right:-22px}.sqph::before,.sqph::after{background-size:24px 24px}.ab-hero .sqph{order:-1}}
.ab-hero{padding-bottom:1.5rem}.ab-body{padding:1.5rem 0 5rem}.ab-text p{font-size:1.15rem;line-height:1.8;max-width:none}

.ab-body{padding-bottom:3.5rem}
.media{background:var(--blue);color:var(--burg);padding:3.5rem 0 4.5rem}
.media h2{font-family:Chiffon,Georgia,serif;font-weight:600;font-size:clamp(2rem,3.4vw,2.8rem);color:var(--burg);margin:0 0 .6rem}
.media-intro{font-size:1.15rem;margin:0 0 2.2rem;color:var(--burg)}
.bio-item{border-top:1.5px solid var(--burg)}.bio-item:last-child{border-bottom:1.5px solid var(--burg)}
.bio-item summary{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 0;cursor:pointer;list-style:none;font-family:Chiffon,Georgia,serif;font-weight:600;font-size:1.5rem;color:var(--burg)}
.bio-item summary::-webkit-details-marker{display:none}
.pm{position:relative;flex:none;width:22px;height:22px}.pm::before,.pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--burg);transform:translateY(-50%);transition:transform .2s}
.pm::after{transform:translateY(-50%) rotate(90deg)}.bio-item[open] .pm::after{transform:translateY(-50%) rotate(0)}
.bio-item summary:focus-visible{outline:2px solid var(--burg);outline-offset:4px}
.bio-panel{padding:0 0 2rem}.bio-text p{margin:0 0 1rem;max-width:62rem;line-height:1.7;color:var(--burg)}.bio-text em{font-family:inherit;font-style:italic;color:inherit;font-weight:400}
.copy-btn{margin-top:.6rem;background:var(--burg);color:var(--cream);border:0;cursor:pointer;font:inherit;font-weight:600;padding:.7rem 1.4rem;border-radius:999px}
.copy-btn:hover{opacity:.9}
/* À propos : même taille de texte pour l'introduction, le corps et les bios */
.ab-hero .lead,.ab-text p,.bio-text p,.media-intro{font-size:1.1rem;line-height:1.75}
@media(max-width:860px){.ab-hero .lead,.ab-text p,.bio-text p,.media-intro{font-size:1rem;line-height:1.7}}

.f-legal{display:flex;gap:1.6rem}
.faq{padding:1rem 0 5rem}.faq-g{font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin:2.8rem 0 .8rem;font-family:inherit}
.faq .bio-item{border-top:1.5px solid var(--burg)}.faq .bio-item:last-child{border-bottom:1.5px solid var(--burg)}
.faq .bio-item summary{font-size:1.3rem;padding:1.25rem 0}
.faq-a p{margin:0 0 1rem;max-width:62rem;font-size:1.1rem;line-height:1.75}.faq-a a{color:var(--burg);text-decoration:underline;text-underline-offset:3px}
@media(max-width:860px){.faq-a p{font-size:1rem}.faq .bio-item summary{font-size:1.15rem}.f-legal{gap:1rem}}
.faq-hint{margin:1rem 0 0;font-size:1.05rem}.faq-hint a{color:var(--burg);text-decoration:underline;text-underline-offset:3px}

.press .mq-group img{max-height:none;opacity:.7}.press .mq-group img:hover{opacity:1}
.press{margin-top:0}

.showreel{padding:4.5rem 0;background:var(--cream)}
.showreel h2{margin:.2rem 0 1.8rem}
.sr-frame{max-width:860px;margin:0 auto;border-radius:6px;overflow:hidden;background:#000;box-shadow:0 18px 40px -22px rgba(44,43,16,.5)}
.sr-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9}
.sr-note{margin:1rem 0 0;font-size:.95rem;opacity:.75}
@media(max-width:700px){.showreel{padding:3rem 0}}

.faq-after{margin-top:2.2rem}

.svc-faq{padding:2.4rem 0;background:var(--cream);text-align:center}.svc-faq p{margin:0;font-size:1.05rem}.svc-faq a{color:var(--burg);text-decoration:underline;text-underline-offset:3px}

/* home hero D olive + motif gris charte V3 */
:root{--gris:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='60' shape-rendering='crispEdges'%3E%3Crect width='64' height='60' fill='%23d9d7d1'/%3E%3Crect x='17' width='15' height='60' fill='%23332900'/%3E%3Crect y='23' width='64' height='15' fill='%23490014'/%3E%3Crect x='17' y='23' width='15' height='15' fill='%23a25864'/%3E%3C/svg%3E")}
.brand img{width:240px;max-width:60vw;height:auto}
.f-logo{width:260px;max-width:80%;height:auto}
.band.band-gris{height:60px;background:var(--gris) repeat-x left top;background-size:64px 60px}
.hero-d{padding:0;background:var(--olive);color:var(--cream);display:grid;grid-template-columns:1fr 64px minmax(300px,38%);min-height:min(680px,calc(100vh - 72px));min-height:clamp(560px,78vh,700px)}
.hd-text{align-self:center;padding:4rem 3rem 4rem max(1.25rem,calc((100vw - var(--w))/2));max-width:calc(var(--w)*.62 + 6rem)}
.hd-text .label{color:var(--blue);margin:0 0 1.3rem}
.hd-text h1{color:var(--cream);font-size:clamp(2.1rem,3.8vw,3.4rem);line-height:1.1;margin:0 0 1.5rem}
.hd-text h1 span,.hd-text h1 em{display:block}.hd-text h1 em{color:var(--blue);margin-top:.15em}
.hd-text .lead{color:var(--cream);font-size:1.15rem;max-width:30rem;margin:0 0 2rem}
.hd-strip{background:var(--gris) repeat-y left top;background-size:64px 60px}
.hd-photo{position:relative;overflow:hidden;background:#e7eff5}
.hd-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;max-width:none}
@media(max-width:860px){
.hero-d{grid-template-columns:1fr;min-height:0}
.hd-text{padding:3rem 1.25rem 3rem;max-width:none}
.hd-strip{height:60px;background-repeat:repeat-x}
.hd-photo{height:min(120vw,560px)}
.band.hd-band{display:none}
}
/* titres de services plus lisibles mobile / iPad */
@media(max-width:1024px){
.panel-text h2{font-size:clamp(2.3rem,8vw,3.2rem);line-height:1.08}
.svc-row h3{font-size:clamp(1.5rem,5.6vw,2.2rem);line-height:1.12;hyphens:manual}
}
@media(max-width:860px){
.svc-row{grid-template-columns:2.2rem minmax(0,1fr) 78px}
.svc-n{font-size:1.7rem}.svc-illu{width:78px}
.svc-row h3{font-size:clamp(1.15rem,5.2vw,1.9rem)}
}
/* bandeau gris complet : lignes bordeaux en haut, au milieu et en bas */
:root{--gris-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='95' shape-rendering='crispEdges'%3E%3Crect width='64' height='95' fill='%23d9d7d1'/%3E%3Crect x='17' width='15' height='95' fill='%23332900'/%3E%3Crect width='64' height='15' fill='%23490014'/%3E%3Crect y='40' width='64' height='15' fill='%23490014'/%3E%3Crect y='80' width='64' height='15' fill='%23490014'/%3E%3Crect x='17' width='15' height='15' fill='%23a25864'/%3E%3Crect x='17' y='40' width='15' height='15' fill='%23a25864'/%3E%3Crect x='17' y='80' width='15' height='15' fill='%23a25864'/%3E%3C/svg%3E")}
.band.band-gris{height:95px;background:var(--gris-b) repeat-x left top;background-size:64px 95px}
