/* Atelier Maison — cohérence des couleurs, du mouvement et des proportions. */
:root{--or:var(--gold);--or-ink:var(--rasp)}
html{scroll-padding-top:110px;scrollbar-gutter:stable}
header .nav,header.scrolled .nav{padding-block:16px!important;transition:none;min-height:84px;box-sizing:border-box}
header{transform:none!important}
.btn,.btn.alt,.btn:not(.alt):not(.btn-ghost){border-radius:24px 7px 24px 7px!important;transition:background .3s,box-shadow .3s,transform .3s}
.btn .arr{display:inline-block;transition:transform .3s}.btn:hover .arr{transform:translateX(4px)}
.btn:focus-visible,.wb:focus-visible{outline:2px solid var(--rasp);outline-offset:5px}
.sep::before,.sep::after{color:var(--gold)!important;text-shadow:none!important}
.sep .o,.sep .ln{stroke:var(--gold)!important}.sep .f{fill:var(--gold)!important}
.fsep{display:none!important}
footer.nightsec .legal::before{background:linear-gradient(90deg,transparent,var(--gold),transparent)!important;opacity:.3}
/* La présentation HD de la version Claude : une ouverture puis deux colonnes. */
#hd-s .hd{display:block!important}
#hd-s .manifesto{max-width:24em;font-size:clamp(32px,3.5vw,46px);margin:24px 0 0;line-height:1.2}
#hd-s .hd .twocol{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:40px}
#hd-s .hd-box{border-top:1px solid var(--gold)!important;border-bottom:0;padding:22px 0 0!important}
#hd-s .hd-box .hdv{display:block;width:48px;height:48px;margin-bottom:15px}
#hd-s .hdv .o{stroke:var(--rasp)}#hd-s .hdv .f{fill:var(--rasp)}
#hd-s .hd-note{border:0;padding-top:0;text-align:center!important;max-width:none;font-size:25px}
/* Repères clairs, détails pêche et trait framboise. */
#reperes .wn .base{fill:var(--surface)!important;stroke:var(--gold)!important}
#reperes .wn.on .base{fill:var(--gold)!important;stroke:var(--gold)!important}
#reperes .wn .icn,#reperes .wn.on .icn{stroke:var(--rasp)!important}
#reperes .wn .ring{stroke:var(--gold)!important}#reperes .wn .odot{fill:var(--gold)!important}
#reperes .wv-line{stroke:var(--gold)!important;opacity:1}
#reperes .wv-prog{stroke:var(--rasp)!important;stroke-width:1.5}
#reperes .wb .no{color:var(--rasp)}
#haut #reperes .wv-txt .d{font:500 clamp(21px,2.1vw,27px)/1.5 var(--display)!important;max-width:780px;text-wrap:balance}
#reperes .wv-txt{min-height:125px;max-width:800px}
#magali .wrap{grid-template-columns:.7fr 1.3fr!important;gap:5vw!important}
#magali .lead{max-width:none!important;font-size:clamp(23px,2.35vw,31px)!important;line-height:1.4!important}
#magali .lead .sentence{display:block;white-space:nowrap}
/* Éditions : contour intérieur et petite orbite en mouvement. */
#haut #guides .gcard{position:relative;isolation:isolate;border-radius:48px 9px 48px 9px!important;padding:42px!important;overflow:hidden;border-width:1px!important}
#haut #guides .gcard::before{content:'';position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--rasp) 25%,transparent);border-radius:40px 4px 40px 4px;pointer-events:none;background:none;z-index:-1}
#haut #guides .gcard:nth-child(2)::before{border-color:color-mix(in srgb,var(--gold) 38%,transparent)}
#haut #guides .gcard::after{content:'';position:absolute;top:22px;right:28px;width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;background:radial-gradient(circle at 50% 0,var(--rasp) 0 3px,transparent 4px);pointer-events:none;opacity:.85;animation:edition-orbit 16s linear infinite}
#haut #guides .gcard:nth-child(2)::after{background:radial-gradient(circle at 50% 0,var(--gold) 0 3px,transparent 4px);animation-direction:reverse}
#haut #guides .gcard .num{padding-right:55px}
@keyframes edition-orbit{to{transform:rotate(360deg)}}
/* Portrait en médaillon asymétrique, avec un seul filet décalé. */
#apropos .ab3-orb{max-width:370px;isolation:isolate;margin-block:15px}
#apropos .ab3-ph{border-radius:48% 48% 8px 38%;box-shadow:none}
#apropos .ab3-orb::after{content:'';position:absolute;inset:-12px 12px 12px -12px;border:1px solid var(--gold);border-radius:48% 48% 8px 38%;z-index:-1}
#apropos .ab3-chips{gap:10px;border:0;padding:10px 0 0;flex-wrap:wrap}
#apropos .ab3-chips li{background:var(--vanilla);color:var(--ink);border:1px solid var(--gold);border-radius:18px 4px 18px 4px;font-size:14px;font-weight:700;margin:0;padding:12px 17px;letter-spacing:.025em}
#apropos .ab3-chips li:first-child{background:var(--night);color:var(--bg);border-color:var(--night)}
#apropos .ab3-chips li:last-child{border:1px solid var(--gold)}
#apropos .ab3-name .wrap{display:block;max-width:1320px}
#apropos .ab3-name .eyebrow{display:flex;margin-bottom:18px}
#apropos .ab3-name p{max-width:none;font-size:clamp(21px,2vw,26px);text-wrap:balance;line-height:1.5}
/* Retour du parcours alterné de Claude, recoloré. */
#apropos .ab3-path>.wrap{display:block}
#apropos .ab3-path h2{text-align:center;margin-bottom:50px;font-size:clamp(40px,5vw,62px)}
#apropos .ab3-line{max-width:1000px}
#apropos .ab3-line::before{display:block;left:50%;background:linear-gradient(transparent,var(--gold) 10%,var(--gold) 90%,transparent)}
#apropos .ab3-st{grid-template-columns:1fr 64px 1fr;border:0;padding:32px 0;gap:0;align-items:center}
#apropos .ab3-st .nd{display:block;grid-column:2;grid-row:1;width:24px;height:24px}
#apropos .ab3-st .nd .st{fill:var(--gold);filter:none}
#apropos .ab3-st .n{font-size:clamp(80px,10vw,128px);color:transparent;-webkit-text-stroke:1px var(--gold);align-self:center;line-height:1}
#apropos .ab3-st:nth-child(odd) .n{grid-column:1;justify-self:end;padding-right:26px}
#apropos .ab3-st:nth-child(odd) .t{grid-column:3;justify-self:start;text-align:left}
#apropos .ab3-st:nth-child(even) .n{grid-column:3;justify-self:start;padding-left:26px}
#apropos .ab3-st:nth-child(even) .t{grid-column:1;justify-self:end;text-align:right}
#apropos .ab3-st .t{max-width:46ch}
/* Contact et BodyGraph : même largeur, même papier, mêmes champs. */
#contactpage > #contact,#bodygraphpage > .bgp{padding-top:55px!important;padding-bottom:64px!important}
#contactpage #contact>.wrap.contact,#bodygraphpage .bgp>.wrap{width:100%;max-width:1280px!important;margin-inline:auto!important;padding-inline:6vw;box-sizing:border-box}
#contactpage #contact>.wrap.contact{display:grid;grid-template-columns:1fr;gap:26px}
#contactpage .head,#contactpage .head .lede{max-width:none!important}
#contactpage .head h2{font-size:clamp(36px,4.3vw,56px);white-space:normal!important}
#contactpage .head .lede{font-size:17px;line-height:1.7}
#contactpage #cform,#bodygraphpage .bgp-card{border:1px solid var(--gold)!important;border-radius:30px 8px 30px 8px!important;background:var(--vanilla)!important;padding:32px!important;box-shadow:none!important;max-width:none!important;width:100%;box-sizing:border-box}
#contactpage #cform{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
#contactpage #cform .fld:nth-child(3),#contactpage #cform .btn,#contactpage #cform .cres{grid-column:1/-1}
#contactpage #cform .btn{justify-self:start}
#contactpage #cform textarea#c-msg{height:180px;min-height:180px}
#bodygraphpage .bgp-top{grid-template-columns:1fr 1.15fr;gap:40px;margin-bottom:26px}
#bodygraphpage .bgp-card{grid-template-columns:.85fr 1.15fr;gap:50px}
#bodygraphpage .bgp-card .bgp-r .bgx{height:440px!important;max-width:100%}
#contactpage input,#contactpage textarea,#bodygraphpage input{background:var(--surface)!important;border-color:color-mix(in srgb,var(--ink) 20%,transparent)!important;padding:13px 15px!important;font-size:16px}
@media(max-width:900px){#hd-s .hd .twocol{grid-template-columns:1fr;gap:30px}#magali .wrap{grid-template-columns:1fr!important}#magali .lead .sentence{white-space:normal}#apropos .ab3-name p{text-wrap:pretty}#contactpage #contact>.wrap.contact,#bodygraphpage .bgp>.wrap{padding-inline:6vw}#bodygraphpage .bgp-top,#bodygraphpage .bgp-card{grid-template-columns:1fr;gap:24px}#contactpage #cform,#bodygraphpage .bgp-card{padding:24px!important}#bodygraphpage .bgp-f{order:-1}}
@media(max-width:700px){header .nav,header.scrolled .nav{padding-block:12px!important;min-height:72px}#haut #guides .gcard{padding:32px 25px!important}#haut #guides .gcard::after{width:32px;height:32px;right:25px}#apropos .ab3-st{grid-template-columns:28px 1fr;gap:20px}#apropos .ab3-line::before{left:14px}#apropos .ab3-st .n{display:none}#apropos .ab3-st .nd{grid-column:1}#apropos .ab3-st:nth-child(n) .t{grid-column:2;text-align:left;justify-self:start}#contactpage #cform{grid-template-columns:1fr}#bodygraphpage .bgp-card .bgp-r .bgx{height:340px!important}#reperes .wv-txt{min-height:180px}#apropos .ab3-chips li{font-size:12px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){#haut #guides .gcard::after{animation:none}.btn,.btn .arr{transition:none}}
/* Écarter les anciens éclats orchidée des pages claires. */
/* Retour à des silhouettes simples et une séparation étoilée pêche. */
.btn,.btn.alt,.btn:not(.alt):not(.btn-ghost){border-radius:999px!important}
#haut #guides .gcard{border-radius:12px!important;border-top:1px solid var(--gold)!important;padding:38px!important}
#haut #guides .gcard::before,#haut #guides .gcard::after{display:none!important}
#haut #guides .gcard .num{padding-right:0}
#haut #guides .gcard:hover{transform:translateY(-3px);box-shadow:0 12px 30px #3420320d!important}
body:has(#haut:not([hidden])) .fsep{display:flex!important;align-items:center;gap:22px;background:var(--night);padding:12px 6vw 20px;margin:0}
.fsep i{height:1px;background:linear-gradient(90deg,transparent,var(--gold))!important;opacity:.55}
.fsep i:last-child{background:linear-gradient(270deg,transparent,var(--gold))!important}
.fsep svg{width:16px;height:16px;fill:var(--gold)!important;filter:none!important}
.peach-stars{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.peach-stars i{position:absolute;display:block;width:12px;height:12px;background:var(--gold);clip-path:polygon(50% 0,55% 44%,100% 50%,55% 56%,50% 100%,45% 56%,0 50%,45% 44%);opacity:.6;animation:peach-glimmer 7s ease-in-out infinite}
.peach-stars i:nth-child(1){left:35%;top:7%}
.peach-stars i:nth-child(2){right:7%;top:17%;width:9px;height:9px;animation-delay:-2s}
.peach-stars i:nth-child(3){left:7%;bottom:7%;width:9px;height:9px;animation-delay:-4s}
.peach-stars i:nth-child(4){right:24%;bottom:6%;width:14px;height:14px;animation-delay:-5s}
@keyframes peach-glimmer{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:.8;transform:scale(1)}}
@media(max-width:700px){#haut #guides .gcard{padding:28px!important}.peach-stars i:nth-child(1){left:90%;top:4%}.peach-stars i:nth-child(3){display:none}}
@media(prefers-reduced-motion:reduce){.peach-stars i{animation:none}}
/* Halo plus contenu, sans modification des zones interactives. */
@keyframes repere-halo-soft{0%{transform:scale(.95);opacity:.65}100%{transform:scale(1.35);opacity:0}}
@media(prefers-reduced-motion:no-preference){#reperes .wn.on .ring{animation:repere-halo-soft 2.8s ease-out infinite}}
#apropos .ab3-way .ab3-q{font:italic 500 clamp(26px,3vw,36px)/1.35 var(--display);max-width:32em;margin:8px 0 4px;text-wrap:balance}
/* Palette de carte commune à l'écran et à l'impression PDF. */
:root{--chart-ink:#42263C;--chart-per:#AD365F;--chart-des:#42263C;--chart-fill:#E8B69D;--chart-edge:#9C6A79;--chart-open:#FFFAF5;--chart-muted:#D9C5CC}
#bodygraphpage .bgp .bx-ct{stroke:var(--chart-edge)!important}
#bodygraphpage .bgp .bx-ct.off{fill:var(--chart-open)!important}
#bodygraphpage .bgp .bx-ct.def,#bodygraphpage .bgp .bx-ct.on{fill:var(--chart-fill)!important}
#bodygraphpage .bgp .bx-c{stroke:var(--chart-muted)!important}
#bodygraphpage .bgp .bx-h{stroke:var(--chart-edge)!important;opacity:.45}
#bodygraphpage .bgp .bx-r{stroke:var(--chart-per)!important}
#bodygraphpage .bgp .bx-g.p{stroke:var(--chart-per)!important}
#bodygraphpage .bgp .bx-g.d{stroke:var(--chart-des)!important}
#bodygraphpage .bgp .bx-n{fill:var(--chart-ink)}
#bodygraphpage .bgx .lv-c{stroke:var(--chart-des)!important}
#bodygraphpage .bgx .lv-p{fill:var(--chart-per)}
#bodygraphpage .bgx .lv-d{fill:var(--chart-des)}
#bodygraphpage .bgx .lv-pd{fill:var(--chart-per);stroke:var(--chart-des)}
#cartepage .crt-d h2,#cartepage .crt-d li b{color:var(--chart-des)}
#cartepage .crt-p h2,#cartepage .crt-p li b{color:var(--chart-per)}
#cartepage .l1{background:var(--chart-per)}#cartepage .l2{background:var(--chart-des)}#cartepage .l3{background:var(--chart-fill);border-color:var(--chart-edge)}
#cartepage .crt-graph{background:var(--chart-open);color:var(--chart-ink);border-color:var(--chart-muted)}
#haut #magali .btn.alt,#haut #magali .btn.alt:visited{background:var(--night)!important;color:#FFFAF5!important;box-shadow:none!important;border:1px solid var(--night)!important}
#haut #magali .btn.alt:hover,#haut #magali .btn.alt:focus-visible{background:var(--rasp)!important;color:#FFFAF5!important;border-color:var(--rasp)!important}
#contactpage .contact-email{margin:0 0 16px;font-size:16px}
@media print{#cartepage{--chart-ink:#42263C;--chart-per:#AD365F;--chart-des:#42263C;--chart-fill:#E8B69D;--chart-edge:#9C6A79;--chart-open:#FFFAF5;--chart-muted:#D9C5CC}#cartepage svg{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* Donner sa place à la phrase animée de l'accueil. */
#haut .hero .rotline{font-size:clamp(29px,2.7vw,38px)!important;line-height:1.4!important;color:var(--gold)!important;margin:34px 0 12px!important;min-height:1.4em}
#haut .hero .rotline .rot{color:var(--gold)!important}
#haut .hero .actions{margin-top:24px!important}
@media(max-width:700px){#haut .hero .rotline{font-size:clamp(26px,6.8vw,32px)!important;margin:28px 0 10px!important;min-height:2.8em}#haut .hero .rotline .rot{display:block}#haut .hero .actions{margin-top:18px!important}}
/* Ajustements de lecture : titres à gauche, textes courts, proportions stables. */
#haut #reperes .head{max-width:none;margin:0 0 38px;text-align:left;display:block}
#haut #reperes .head h2{text-align:left;margin-top:16px}
#haut #reperes .head .lede{max-width:none;text-align:left;font-size:17px;white-space:normal}
#haut #reperes .wv-txt .d{font-size:clamp(19px,1.85vw,23px)!important;line-height:1.5!important}
#haut #reperes .wv-txt{min-height:110px}
#hd-s .manifesto,#hd-s .manifesto em,#hd-s .manifesto .lw{font-family:var(--display)!important;font-size:clamp(32px,3.5vw,46px)!important;line-height:1.2!important;font-weight:500!important}
#hd-s .manifesto em,#hd-s .manifesto em .lw,#hd-s .manifesto.armed em .lw{color:var(--rasp)!important}
#hd-s .hd-note{font-size:clamp(19px,1.8vw,23px)!important;line-height:1.4!important}
#guides .head .lede{font-size:16px;line-height:1.7;max-width:none;text-wrap:pretty}
/* Deux éditions avec un dos coloré et un numéro de collection. */
#haut #guides .gcard{border-radius:3px 18px 18px 3px!important;border-left:5px solid var(--rasp)!important;box-shadow:0 14px 32px #3420320a!important}
#haut #guides .gcard:nth-child(2){border-left-color:var(--gold)!important}
#haut #guides .gcard::after{display:block!important;content:'01';position:absolute;top:22px;right:26px;width:auto;height:auto;border:0;border-radius:0;background:none!important;color:var(--rasp);font:italic 40px/1 var(--display);opacity:.45;animation:none;transform:none;pointer-events:none}
#haut #guides .gcard:nth-child(2)::after{content:'02';color:var(--gold)}
#haut #guides .gcard .num{padding-right:55px}
/* Même portrait et même cadre sur l'accueil et la page Magali. */
#haut #magali .abp{aspect-ratio:4/5;width:100%;max-width:340px;border-radius:48% 48% 8px 38%!important;isolation:isolate;overflow:visible;--py:18%!important}
#haut #magali .abp .ph{border-radius:48% 48% 8px 38%!important;background-position:center 18%!important;box-shadow:none}
#haut #magali .abp::after{content:'';position:absolute;inset:-12px 12px 12px -12px;border:1px solid var(--gold);border-radius:48% 48% 8px 38%;z-index:-1}
#apropos .ab3-way .ab3-wy{width:100%;max-width:none}
#apropos .ab3-way .ab3-wy p{max-width:none;font-size:18px;line-height:1.7}
#bodygraphpage .bgp-f form#bgform>.btn{margin-top:24px;align-self:flex-start;background:var(--rasp)!important;color:#FFFAF5!important;border:1px solid var(--rasp)!important}
#bodygraphpage .bgp-f form#bgform>.btn:hover{background:var(--night)!important;border-color:var(--night)!important}
@media(max-width:800px){.desktop-break{display:none}#haut #reperes .wv-txt{min-height:160px}#haut #magali .abp{max-width:300px;margin:12px auto}#guides .head .lede{font-size:16px}#apropos .ab3-way .ab3-wy p{font-size:17px}}
/* Contrastes de lecture et rythme des textes. */
#haut .hero .rotline{color:#FAF0E7!important}
#haut .hero .rotline .rot{color:var(--gold)!important}
#haut .finalsec .lede{max-width:none!important;font-size:17px!important}
#apropos .ab3-way .ab3-wy{gap:18px;max-width:900px}
#apropos .ab3-way .ab3-wy p{font-size:18px;line-height:1.8;text-wrap:pretty}
#haut #guides .gcard:first-child{background:#FFFAF5!important;border-color:#BD8B80!important;border-left-color:var(--rasp)!important}
#haut #guides .gcard:first-child :is(p,h3,h4,.price){color:#42263C!important}
#haut #guides .gcard:first-child :is(.num,.clab,.tags li,.n){color:#92304F!important}
#haut #guides .gcard:first-child .tags li{background:#F2DACC;border-color:#D7B2A2!important}
#haut #guides .gcard:first-child .clist li{border-color:#D9C5BD!important}
/* Carte plus grande et chiffres des portes mieux détachés. */
#bodygraphpage .bgp-card{grid-template-columns:1fr 1.1fr;gap:32px}
#bodygraphpage .bgp-card .bgp-r .bgx{height:540px!important;width:100%!important;max-width:100%}
#bodygraphpage .bgp .bx-ct.def,#bodygraphpage .bgp .bx-ct.on{fill:#F2DACC!important}
#bodygraphpage .bgp .bx-g.p,#bodygraphpage .bgp .bx-g.d{fill:#FFFAF5!important;stroke-width:2!important}
#bodygraphpage .bgp .bx-n,#bodygraphpage .bgp .bx-g.p + .bx-n.on{fill:#42263C!important;font-size:15px!important;font-weight:600!important}
#bodygraphpage .bgp .bx-n.lv-on{fill:#FFFAF5!important}
#cartepage{--chart-fill:#F2DACC;--chart-des:#67405D}
#cartepage .crt-graph{grid-template-columns:minmax(140px,1fr) minmax(300px,480px) minmax(140px,1fr);gap:20px}
@media(max-width:800px){#bodygraphpage .bgp-card{grid-template-columns:1fr}#bodygraphpage .bgp-card .bgp-r .bgx{height:auto!important;width:100%!important}#cartepage .crt-graph{grid-template-columns:1fr 1fr}#apropos .ab3-way .ab3-wy p{font-size:17px}#haut .finalsec .lede{font-size:16px!important}}
@media print{#cartepage{--chart-fill:#F2DACC;--chart-des:#67405D}#cartepage .crt-graph{grid-template-columns:1fr 1.7fr 1fr;gap:12px}}
/* Titres : entrée douce, rejouée à leur retour dans le champ de lecture. */
@keyframes title-word-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){main .split.title-in .w>span{animation:title-word-enter .85s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(min(var(--i),8)*65ms);transition:none}}
#contactpage .head{display:flex;flex-direction:column;gap:0}
#contactpage .head .lede{margin:18px 0 8px!important;max-width:950px!important}
#contactpage .contact-email{margin:0 0 20px;line-height:1.75;color:var(--muted)}
#contactpage .soc{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0}
#contactpage .contact-social-label{font-size:14px;color:var(--muted);margin-right:8px}
#contactpage .soc a{width:35px;height:35px}
@media(max-width:650px){#contactpage .contact-social-label{flex-basis:100%;margin:0 0 2px}}
@media(prefers-reduced-motion:reduce){main .split.title-in .w>span{animation:none!important}}

/* Finitions : navigation compacte et lecture sur petits écrans. */
.menu-toggle{display:none}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--rasp);outline-offset:5px}
header :where(a,button):focus-visible{outline-color:var(--gold)}
@media(max-width:1000px){
  header .nav{position:relative;gap:12px}
  header .nav .menu-toggle{display:inline-flex;align-items:center;gap:9px;order:3;background:transparent;color:#FAF0E7;border:1px solid #E8B69D77;border-radius:5px 14px 5px 14px;padding:10px 12px;min-height:44px;font:600 13px var(--body);cursor:pointer}
  header .nav ul{display:none}
  header .nav.menu-open ul{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:12px 20px 20px;background:var(--night);border:1px solid #E8B69D44;border-top:0;border-radius:0 0 16px 16px;box-shadow:0 16px 28px #180D2026;max-height:calc(100dvh - 100px);overflow-y:auto}
  header .nav ul a{display:block;padding:13px 0;font-size:15px}
  header .navr{margin-left:auto;gap:8px}
  header .moonph{display:none}
}
@media(max-width:500px){
  header .navr{display:none}
  header .nav{justify-content:space-between}
  #haut .hero .actions{gap:12px}
  #contactpage .contact-email a{overflow-wrap:anywhere}
}
@media(max-width:800px){#cartepage .crt-fig{grid-column:1/-1;grid-row:1;max-width:420px;margin:0 auto}}
@media print{.menu-toggle{display:none!important}}

header .mobile-bodygraph{display:none}
@media(max-width:500px){header .mobile-bodygraph{display:block;border-top:1px solid #E8B69D44;margin-top:6px}header .mobile-bodygraph a{color:var(--gold)!important}}

/* Rythme éditorial et interactions communes. */
#etapes .path b{display:block;text-wrap:balance;line-height:1.3}
#etapes .path p{text-wrap:pretty;line-height:1.75;max-width:38ch}
#haut #magali .btn.alt,#haut #magali .btn.alt:hover,#haut #magali .btn.alt:focus-visible{background:var(--night)!important;border-color:var(--night)!important;color:#FFFAF5!important}
#bodygraphpage .bgp-f form#bgform>.btn,#bodygraphpage .bgp-f form#bgform>.btn:hover,#bodygraphpage .bgp-f form#bgform>.btn:focus-visible{background:var(--rasp)!important;border-color:var(--rasp)!important;color:#FFFAF5!important}
body .btn{transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease!important}
body .btn:hover,body .btn:focus-visible{transform:translateY(-3px);box-shadow:0 8px 20px #34203220!important}
body .btn:active{transform:translateY(-1px)}
#bodygraphpage .bgp .bgx .lv-g{fill:var(--chart-open)!important;stroke:var(--chart-per)!important;stroke-width:2!important}
#bodygraphpage .bgp .bgx .bx-n.lv-on{fill:var(--chart-ink)!important;font-weight:700!important;font-size:14px!important}
#bodygraphpage .bgp .bgx:not(.live) .bx-ct{fill:var(--chart-open)!important}
@keyframes title-word-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){main .split.title-in .w>span{animation-duration:.75s;animation-delay:calc(min(var(--i),8)*55ms)}}
#haut .hero .peach-stars i{left:var(--star-x,0)!important;top:var(--star-y,0)!important;right:auto!important;bottom:auto!important;display:block;width:var(--star-size,10px);height:var(--star-size,10px);opacity:0;animation:none;filter:drop-shadow(0 0 5px var(--gold))}
@keyframes peach-roaming{0%,100%{opacity:0;transform:scale(.4) rotate(0deg)}35%{opacity:.8;transform:scale(1) rotate(12deg)}65%{opacity:.3;transform:scale(.7) rotate(22deg)}}
@media(prefers-reduced-motion:no-preference){#haut .hero .peach-stars i.star-ready{animation:peach-roaming var(--star-time,6s) ease-in-out infinite;animation-delay:var(--star-delay,0s)}}
@media(prefers-reduced-motion:reduce){#haut .hero .peach-stars{display:none}body .btn:hover,body .btn:focus-visible{transform:none}body .btn{transition:none!important}}

/* Illustration épurée ; les numéros restent disponibles sur la carte calculée. */
#bodygraphpage .bgx:not(.live) .bx-gs{display:none!important}

/* La carte et sa synthèse se lisent ensemble, comme dans le PDF. */
#cartepage .crt{padding:32px 0 48px}
#cartepage .crt>.wrap{max-width:1440px}
#cartepage .crt-head{text-align:left;margin-bottom:16px}
#cartepage .crt-head h1{font-size:42px;margin:8px 0}
#cartepage .crt-act{justify-content:flex-start;margin:18px 0 26px}
#cartepage .crt-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
#cartepage .crt-graph{grid-template-columns:76px minmax(0,1fr) 76px;padding:18px 8px;border:0;box-shadow:none;background:transparent;gap:8px;width:100%;box-sizing:border-box}
#cartepage .crt-col h2{font:600 11px var(--body);text-transform:uppercase;letter-spacing:.03em;margin:0 0 15px}
#cartepage .crt-col li{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0 0 10px;padding:0;line-height:1.25;background:none;height:auto;text-align:left;font-size:11px}
#cartepage .crt-col li b{font-size:13px}
#cartepage .crt-sum{width:100%;max-width:none;gap:10px 14px;margin:0;scroll-margin-top:120px}
#cartepage .crt-sum>div{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 0}
#cartepage .crt-sum>div:nth-child(-n+4){background:#AD365F;border:0;border-radius:12px;padding:14px 16px;color:#FFFAF5}
#cartepage .crt-sum dt{font-size:10px;letter-spacing:.06em}
#cartepage .crt-sum dd{font-size:14px;line-height:1.4}
#cartepage .crt-sum>div:nth-child(-n+4) dt{color:#F8E4E8}
#cartepage .crt-sum>div:nth-child(-n+4) dd{color:#FFFAF5;font-size:17px}
#cartepage .crt-leg{text-align:left;font-size:12px;margin-top:20px}
#cartepage .crt-jump{display:none}
@media(max-width:1000px){
 #cartepage .crt-layout{grid-template-columns:1fr}
 #cartepage .crt-graph{max-width:620px;grid-template-columns:80px minmax(0,1fr) 80px}
 #cartepage .crt-fig{grid-column:2;grid-row:1;margin:0;max-width:none}
 #cartepage .crt-col{grid-row:1}
 #cartepage .crt-p{grid-column:3}
 #cartepage .crt-jump{display:inline-flex}
}
@media(max-width:500px){
 #cartepage .crt-head h1{font-size:36px}
 #cartepage .crt-graph{grid-template-columns:52px minmax(0,1fr) 62px;gap:3px;padding:8px 0}
 #cartepage .crt-col h2{font-size:8px;letter-spacing:0}
 #cartepage .crt-col li{font-size:8px;margin-bottom:5px;gap:0}
 #cartepage .crt-col li b{font-size:10px}
 #cartepage .crt-sum{grid-template-columns:1fr 1fr}
 #cartepage .crt-sum>div:nth-child(-n+4){padding:12px}
 #cartepage .crt-sum>div:nth-child(-n+4) dd{font-size:15px}
}

/* Un peu plus d'air entre la carte et les repères, sans changer leur lecture. */
@media(min-width:1001px){
 #cartepage .crt-layout{grid-template-columns:minmax(0,1fr) minmax(0,.96fr);gap:clamp(44px,4vw,52px)}
 #cartepage .crt-sum>div:nth-child(-n+4){padding:13px 15px}
}

/* Trois accents dorés visibles dès l'ouverture, à des cadences distinctes. */
#haut .hero .peach-stars i.gold-star{background:#E7C578;filter:drop-shadow(0 0 5px #E7C57880);opacity:.8}
@media(prefers-reduced-motion:reduce){#haut .hero .peach-stars{display:block}#haut .hero .peach-stars i:not(.gold-star){display:none}#haut .hero .peach-stars i.gold-star{opacity:.65;animation:none}}

/* Révélation : des différences explicites, sans répéter le tronc commun. */
#haut #guides .gcard:nth-child(2) .revelation-common{font-size:15px;line-height:1.65;color:#EADBE3!important;margin:4px 0 24px}
#haut #guides .gcard:nth-child(2) .revelation-extras{border-top:2px solid var(--gold);background:#FFFAF507;border-radius:0 0 12px 12px;padding:22px 20px 4px}
#haut #guides .gcard:nth-child(2) .revelation-extras>.clab{font:500 27px/1.2 var(--display);letter-spacing:0;text-transform:none;color:var(--gold)!important;margin:0 0 18px}
#haut #guides .gcard:nth-child(2) .revelation-extras .clist{margin:0}
#haut #guides .gcard:nth-child(2) .revelation-extras .clist li:first-child{border-top:0;padding-top:0}
#haut #guides .gcard:nth-child(2) .revelation-extras .n{font-size:23px;color:var(--gold)!important}
@media(max-width:600px){#haut #guides .gcard:nth-child(2) .revelation-extras{padding:20px 14px 2px}}

/* Laisser respirer la ponctuation italique du titre Contact. */
#contactpage .head h2 .w{padding-right:.22em;margin-right:-.22em;overflow:visible}
/* Même géométrie et mêmes couleurs pour l’exemple, la carte calculée et son PDF. */
:root #bodygraphpage,:root #cartepage{--chart-ink:var(--ink);--chart-per:var(--rasp);--chart-des:var(--night);--chart-fill:#F2DACC;--chart-open:var(--surface);--chart-edge:#9C6A79;--chart-muted:#D9C5CC}
#bodygraphpage .bgp-r .chart-example{display:block;width:100%;height:540px;max-width:100%;overflow:visible}
@media(max-width:800px){#bodygraphpage .bgp-r .chart-example{height:auto;max-height:540px}}

/* Mouvements légers : titres, étiquettes et numéros, sans déplacer les paragraphes. */
@media(prefers-reduced-motion:no-preference){
 #hd-s .hd-box h3{transform-origin:left center;transition:transform .28s ease,color .28s ease}
 #apropos .ab3-chips li{transition:translate .28s ease,scale .28s ease,border-color .28s ease,box-shadow .28s ease}
 #apropos .ab3-st .n{transform-origin:center;transition:scale .3s ease,color .3s ease}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 #hd-s .hd-box h3:hover{transform:scale(1.045);color:var(--rasp)!important}
 #apropos .ab3-chips li:hover{translate:0 -3px;scale:1.035;border-color:var(--rasp);box-shadow:0 4px 12px color-mix(in srgb,var(--ink) 9%,transparent)}
 #apropos .ab3-st:hover .n{scale:1.09}
}

/* Contour net, puis remplissage framboise au passage dans la zone de lecture. */
#apropos .ab3-st .n{color:transparent;-webkit-text-stroke:1px var(--rasp);text-shadow:none;filter:none;font-weight:500}
#apropos .ab3-st.number-active .n{color:var(--rasp)}
#haut .hero .rot{transition-duration:.26s}

/* Même contraste entre le fond de page et le formulaire que Contact. */
#bodygraphpage > .bgp{background:var(--surface)}

#hd-s .repere-hint{font-style:italic;color:var(--rasp);margin-top:18px}
#haut #reperes{padding-top:12px!important;border-top:0!important}

#hd-s .hd-box p{margin-top:16px}

#hd-s .manifesto{text-wrap:balance}
#hd-s .hd-box p{text-wrap:balance}

/* Finitions hors guides : commandes régulières et lecture plus calme. */
#haut .hero .btn,#magali .btn,#haut .finalsec .btn,#apropos .btn,#contactpage .btn,#bodygraphpage .btn{
 min-height:48px;padding:12px 24px;gap:10px;line-height:1.4;text-align:center;justify-content:center
}
#hd-s .hd-box p,#apropos .ab3-st .t p{line-height:1.75}
#hd-s .hd-box h3{margin-bottom:20px}
#magali .actions,#haut .finalsec .actions{gap:14px}
@media(prefers-reduced-motion:no-preference){
 #hd-s .rv,#reperes .rv,#magali .rv,#etapes .rv,#questions .rv,#apropos .rv,#contactpage .rv,#bodygraphpage .rv{transition-duration:.42s,.42s;transition-delay:0s}
 #hd-s .rv.pending,#reperes .rv.pending,#magali .rv.pending,#etapes .rv.pending,#questions .rv.pending,#apropos .rv.pending,#contactpage .rv.pending,#bodygraphpage .rv.pending{transform:translateY(10px)}
 #hd-s .hd-box.editorial-reveal,#magali .editorial-reveal,#etapes .path li.editorial-reveal{animation:none}
}
@media(max-width:600px){
 #reperes .wb{min-height:76px;padding:12px 3px;justify-content:flex-start}
 #reperes .wb .nm{font-size:14px;line-height:1.3}
 #hd-s .hd-box h3{margin-bottom:16px}
 #contactpage .btn,#bodygraphpage .btn{max-width:100%;white-space:normal}
 #contactpage input,#contactpage select,#contactpage textarea,#bodygraphpage input,#bodygraphpage select{min-width:0;font-size:16px}
}

/* Entrées de page : même respiration sous la navigation. */
#bodygraphpage > .bgp,#contactpage > #contact{padding-top:28px!important}
#guides .head,#contactpage .head,#bodygraphpage .bgp-t{margin-top:0}
#guides .head{row-gap:0}
#guides .head h2,#contactpage .head h2,#bodygraphpage .bgp-t h1{margin-top:24px!important}
#contactpage .head h2{font-family:var(--display);font-size:clamp(36px,4.2vw,56px);font-weight:500;line-height:1.15;white-space:normal}
#contactpage .head>.eyebrow{margin:0;align-self:flex-start}

#bodygraphpage .bgp-t>.eyebrow{display:flex;align-items:center}

/* Présentation de Magali : deux phrases sur deux lignes sur téléphone. */
@media(max-width:800px){
 #haut #magali .lead{font-size:clamp(16px,4.4vw,20px)!important;line-height:1.5!important;text-align:center}
 #haut #magali .lead .sentence{display:block;white-space:normal}
 #haut #magali .tz>.btn{align-self:center!important;margin-inline:auto}
}
@media(max-width:800px){
 #haut #guides .head .lede{font-size:15px!important;line-height:1.75!important;margin-top:20px!important}
}
@media(max-width:800px){
 #haut #etapes .path{padding-left:0}
 #haut #etapes .path li{padding:20px 0 22px 46px}
 #haut #etapes .path li::before{font-size:30px;top:18px}
 #haut #etapes .path b{font-size:22px;line-height:1.25;text-wrap:pretty}
 #haut #etapes .path p{font-size:14px;line-height:1.65;margin-top:8px;max-width:none}
}

/* Contact et BodyGraph : lecture et saisie sur téléphone. */
@media(max-width:700px){
 #contactpage #contact .lede,#bodygraphpage .bgp-i .lead{font-size:15px!important;line-height:1.65!important}
 #bodygraphpage .bgp-n{font-size:14px;line-height:1.65}
 #contactpage #cform,#bodygraphpage .bgp-card{padding:20px!important;min-width:0}
 #contactpage #cform .fld,#bodygraphpage #bgform .fld,#bodygraphpage .bgp-f{min-width:0}
 #contactpage #cform input,#contactpage #cform textarea,#bodygraphpage #bgform input{min-width:0;max-width:100%;box-sizing:border-box;font-size:16px;min-height:48px;scroll-margin-top:100px}
 #contactpage #cform .fld label,#bodygraphpage #bgform .fld label{font-size:11px;letter-spacing:.1em;line-height:1.5}
 #bodygraphpage .bgp-f h2{font-size:21px;line-height:1.25}
 #contactpage #cform>.btn,#bodygraphpage .bgp-f #bgform>.btn{width:100%;justify-content:center;justify-self:stretch;white-space:normal;min-height:48px}
 #contactpage #cform textarea#c-msg{height:150px;min-height:150px}
 #bodygraphpage #b-sug{max-height:min(260px,36svh);overscroll-behavior:contain}
 #bodygraphpage #b-sug li{min-height:44px;box-sizing:border-box;align-items:center;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
}
@media(max-width:360px){#contactpage #cform,#bodygraphpage .bgp-card{padding:16px!important}}
/* L’atelier ne masque plus les actions des formulaires sur téléphone. */
@media(max-width:700px){
 #at-toggle{position:fixed!important;top:18px!important;right:104px!important;bottom:auto!important;width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;font-size:0!important;border-radius:50%!important}
 #at-toggle::before{content:'◐';font-size:20px;line-height:1;color:#E8B69D}
}

/* Sur téléphone, conserver la vraie lune animée par la lecture. */
@media(max-width:700px){
 #atelier #at-toggle{display:none!important}
 header .navr{display:flex!important;margin-left:auto;gap:0}
 header .navr>.btn{display:none!important}
 header #moonph{display:block!important;width:28px;height:28px}
}
@media(min-width:701px) and (max-width:1000px){header #moonph{display:block!important}}
