/* Erylo : styles des sites thérapeutes (partagés avec la démo) */
*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--fb);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit}p{margin:0}
h1,h2,h3{font-family:var(--fd);font-weight:var(--dw);line-height:1.12;margin:0;text-wrap:balance}
.w{max-width:1120px;margin:0 auto;padding:0 32px}
.mut{opacity:.65}.pre{white-space:pre-line}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:var(--rb);background:var(--accent);color:var(--on-accent);text-decoration:none;font:600 15.5px/1.2 var(--fb);border:0;cursor:pointer;letter-spacing:.01em}
.btn.alt{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 35%,transparent)}
.cta2{display:flex;gap:12px;flex-wrap:wrap}
.nav{display:flex;align-items:center;gap:28px;padding:22px 32px;max-width:1184px;margin:0 auto}
.brand{font-family:var(--fd);font-weight:var(--dw);font-size:calc(1.3rem*var(--ds));text-decoration:none;margin-right:auto;line-height:1.1}
.brand small{display:block;font-family:var(--fb);font-weight:500;font-size:12.5px;opacity:.65;margin-top:3px}
.nav a.l{text-decoration:none;font-size:15px;opacity:.78}
.nav .btn{padding:11px 18px;font-size:14.5px}
.s{padding:96px 0}
.s h2{font-size:calc(2.5rem*var(--ds));margin-bottom:36px}
.lead{font-size:1.16rem;line-height:1.75;max-width:62ch}
.ab{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:56px;align-items:start}
.cred{border-left:2px solid var(--accent);padding-left:20px;font-size:15px}
.cred h3,.info h3,.pay-l,.bk-l{font-family:var(--fb);font-size:13.5px;font-weight:700;opacity:.65;margin:0 0 6px;line-height:1.3}
.svc{list-style:none;padding:0;margin:0;display:grid}
.svc li{padding:24px 0;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.svc li:last-child{border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.svc .ico{display:none}
.svc .h{display:flex;align-items:baseline;gap:8px 20px;flex-wrap:wrap}
.svc h3{font-size:calc(1.4rem*var(--ds));flex:1;min-width:200px}
.svc .m{font-size:15px;opacity:.7;white-space:nowrap}
.svc .p{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.svc li>p{margin-top:8px;max-width:60ch;opacity:.82}
.rt{display:grid;grid-template-columns:auto minmax(0,1fr);gap:48px;align-items:center}
.stamps{display:flex;gap:14px;flex-wrap:wrap}
.stamp{width:132px;height:132px;border-radius:50%;border:2px solid var(--accent);display:grid;place-content:center;text-align:center;padding:12px}
.stamp b{font-family:var(--fd);font-weight:var(--dw);font-size:1.7rem;line-height:1;color:var(--accent)}
.stamp span{font-size:11.5px;line-height:1.3;margin-top:6px;opacity:.75}
.pay-l{margin-top:22px}.pay{display:flex;flex-wrap:wrap;gap:8px}
.pay span{padding:6px 12px;border-radius:var(--rb);background:color-mix(in srgb,var(--accent) 12%,var(--bg));font-size:14px;font-weight:600}
.tm{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.tm figure{margin:0;padding:30px;border-radius:var(--r);background:color-mix(in srgb,var(--accent) 9%,var(--bg))}
.tm blockquote{margin:0 0 16px;font-family:var(--fd);font-weight:var(--dw);font-size:calc(1.22rem*var(--ds));line-height:1.45}
.tm figcaption{font-size:14.5px;opacity:.7}
.fq{max-width:820px}
.fq details,.fq .dt{border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.fq>:last-child{border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.fq summary,.fq .sm{cursor:pointer;list-style:none;padding:20px 36px 20px 0;font-family:var(--fd);font-weight:var(--dw);font-size:calc(1.22rem*var(--ds));position:relative;line-height:1.3}
.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--fb);font-size:1.5rem;color:var(--accent)}
.fq details[open] summary::after{content:"–"}
.fq details p,.fq .dt p{padding:0 0 22px;opacity:.82;max-width:64ch}
.bk{border-radius:var(--r);background:color-mix(in srgb,var(--accent) 8%,var(--bg));padding:32px;display:grid;gap:24px}
.bk label,.cf label{display:grid;gap:6px;font-size:14px;font-weight:600}
.bk select,.bk input,.cf input,.cf textarea{width:100%;font:inherit;font-size:15.5px;font-weight:400;padding:12px 14px;border-radius:var(--ri);border:1.5px solid color-mix(in srgb,var(--ink) 20%,transparent);background:var(--bg);color:var(--ink)}
.bk select:focus,.bk input:focus,.cf input:focus,.cf textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px}
.day{flex:none;width:72px;padding:10px 4px;border-radius:var(--ri);border:1.5px solid color-mix(in srgb,var(--ink) 18%,transparent);background:var(--bg);text-align:center;cursor:pointer;font:inherit;color:var(--ink);line-height:1.2}
.day b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:1.4rem;margin:3px 0}
.day small{display:block;font-size:12px;opacity:.7}
.day[aria-pressed="true"],.slot[aria-pressed="true"]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.slots{display:flex;flex-wrap:wrap;gap:8px}
.slot{padding:10px 16px;border-radius:var(--ri);border:1.5px solid color-mix(in srgb,var(--ink) 18%,transparent);background:var(--bg);color:var(--ink);font:inherit;font-weight:600;font-size:15px;cursor:pointer;font-variant-numeric:tabular-nums}
.slot:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.bk-f{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:end}
.bk-sum,.bk-go,.bk-f .err{grid-column:1/-1}
.bk-go{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ok-msg{padding:24px;border-radius:var(--ri);background:var(--bg);border:1.5px solid var(--accent);display:grid;gap:6px}
.ok-msg strong{font-family:var(--fd);font-weight:var(--dw);font-size:1.35rem}
.err{color:#b3261e;font-size:14px;font-weight:600}
.ct{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px}
.info{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-content:start}
.info a{text-decoration:none}
.map{grid-column:1/-1;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9}.map svg{display:block;width:100%;height:100%}
.cf{display:grid;gap:14px;align-content:start}
.cf .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cf textarea{min-height:140px;resize:vertical}
.cf .btn{justify-self:start}
.consent{font-size:13px;opacity:.68}
.ft{padding:44px 0;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);font-size:14.5px}
.ft .w{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between;align-items:flex-start}
.ft nav{display:flex;gap:18px}.ft nav a{text-decoration:none;opacity:.75}
.made{width:100%;font-size:13px;opacity:.55}
.ph{position:relative;overflow:hidden;background:color-mix(in srgb,var(--accent) 22%,var(--bg))}
.ph img{width:100%;height:100%;object-fit:cover}
.ph-e>svg{position:absolute;inset:0;width:100%;height:100%}
.ini{position:absolute;inset:0;display:grid;place-items:center}
.ini i{font-style:normal;width:38%;max-width:120px;aspect-ratio:1;border-radius:50%;background:var(--bg);color:var(--ink);display:grid;place-items:center;font-family:var(--fd);font-weight:var(--dw);font-size:calc(1.9rem*var(--ds));letter-spacing:.02em}
.editing [data-k]{cursor:text;border-radius:3px;outline:none;transition:box-shadow .12s,background .12s}
.editing [data-k]:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}
.editing [data-k]:focus{box-shadow:0 0 0 2px var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.editing [data-k]:empty::before{content:"Cliquez pour écrire";opacity:.4}
/* Sérénité */
.t-serenite .nav{flex-wrap:wrap;justify-content:center;gap:10px 26px}
.t-serenite .brand{margin:0;width:100%;text-align:center}
.t-serenite .hero{text-align:center;padding:36px 0 104px}
.t-serenite .hero .ph{width:min(290px,64vw);aspect-ratio:3/4;border-radius:999px 999px var(--r) var(--r);margin:0 auto 38px}
.t-serenite .hero .who{font-size:15px;letter-spacing:.04em;opacity:.72;margin-bottom:14px}
.t-serenite .hero h1{font-size:calc(3.3rem*var(--ds));max-width:16ch;margin:0 auto 22px}
.t-serenite .hero .sub{max-width:54ch;margin:0 auto 32px;opacity:.82;font-size:1.1rem}
.t-serenite .cta2{justify-content:center}
.t-serenite .s h2{text-align:center}
.t-serenite .ab{grid-template-columns:1fr;max-width:700px;margin:0 auto;text-align:center;gap:32px}
.t-serenite .lead{margin:0 auto}
.t-serenite .cred{border:0;padding:0}
.t-serenite .svc,.t-serenite .fq,.t-serenite .bk{max-width:820px;margin:0 auto}
.t-serenite .rt{grid-template-columns:1fr;justify-items:center;text-align:center;max-width:720px;margin:0 auto;gap:32px}
.t-serenite .pay{justify-content:center}
.t-serenite main .s:nth-of-type(even){background:color-mix(in srgb,var(--accent) 7%,var(--bg))}
.t-serenite main .s:nth-of-type(even) .tm figure{background:var(--bg)}
/* Forêt */
.t-foret .hero{padding:28px 0 100px}
.t-foret .hero .w{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.t-foret .hero .who{font-weight:700;color:var(--accent);margin-bottom:18px;font-size:15.5px}
.t-foret .hero h1{font-size:calc(4rem*var(--ds));line-height:1.02;margin-bottom:24px}
.t-foret .hero .sub{font-size:1.15rem;max-width:44ch;opacity:.84;margin-bottom:32px}
.t-foret .hero .ph{aspect-ratio:4/5;border-radius:58% 42% 50% 50%/46% 50% 50% 54%}
.t-foret main .s:nth-of-type(odd){background:color-mix(in srgb,var(--accent) 9%,var(--bg))}
.t-foret .svc{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.t-foret .svc li,.t-foret .svc li:last-child{border:0;padding:28px;border-radius:var(--r);background:var(--bg)}
.t-foret main .s:nth-of-type(even) .svc li{background:color-mix(in srgb,var(--accent) 9%,var(--bg))}
.t-foret .svc .ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--alt);color:var(--accent);margin-bottom:16px}
.t-foret .svc .h{flex-direction:column;align-items:flex-start;gap:6px}
.t-foret .svc h3{min-width:0}
.t-foret .svc .p{font-family:var(--fd);font-weight:var(--dw);font-size:1.45rem;color:var(--accent)}
.t-foret main .s:nth-of-type(odd) .tm figure{background:var(--bg)}
/* Léman */
.t-leman .hd{border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.t-leman .hero{padding:72px 0 0;overflow:hidden}
.t-leman .hero .w{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:end}
.t-leman .hero h1{font-size:calc(5rem*var(--ds));letter-spacing:-.035em;line-height:.95;margin-bottom:24px}
.t-leman .hero .who{font-size:1.05rem;font-weight:700;color:var(--accent);margin-bottom:22px}
.t-leman .hero .tg{font-size:1.4rem;line-height:1.35;max-width:30ch;margin-bottom:14px}
.t-leman .hero .sub{max-width:46ch;opacity:.75;margin-bottom:32px}
.t-leman .hero .ph{aspect-ratio:4/5;border-radius:var(--r)}
.t-leman .lake{display:block;width:100%;height:150px;margin-top:64px}
.t-leman h2{letter-spacing:-.02em}
.t-leman main .s{border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);padding:80px 0}
.t-leman .s .w{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px}
.t-leman .s h2{font-size:calc(1.9rem*var(--ds));margin:0;position:sticky;top:24px;align-self:start}
.t-leman .ab{grid-template-columns:1fr;gap:32px}
.t-leman .svc .h{display:grid;grid-template-columns:1fr auto auto;gap:24px;align-items:baseline}
.t-leman .rt{grid-template-columns:1fr;gap:28px}
.t-leman .stamp{border-radius:var(--r);width:auto;height:auto;padding:14px 20px;place-content:start;text-align:left}
.t-leman .ct{grid-template-columns:1fr;gap:40px}
.t-leman .tm{grid-template-columns:1fr}
/* Atelier */
.t-atelier .hero{padding:40px 0 110px;overflow:hidden}
.t-atelier .hero .w{position:relative}
.t-atelier .hero .blk{position:absolute;right:40px;top:0;width:min(400px,40%);aspect-ratio:1}
.t-atelier .hero .blk .ph{position:absolute;inset:0;border-radius:50%;z-index:2}
.t-atelier .hero .blk::before,.t-atelier .hero .blk::after{content:"";position:absolute;inset:0;border-radius:50%;mix-blend-mode:multiply}
.t-atelier .hero .blk::before{background:var(--alt);transform:translate(-26px,20px);z-index:1}
.t-atelier .hero .blk::after{background:var(--accent);transform:translate(18px,-16px);opacity:.85;z-index:0}
.t-atelier .hero .who{display:inline-block;background:var(--ink);color:var(--bg);padding:6px 14px;font-weight:600;margin:24px 0 22px;border-radius:var(--rb);font-size:15px}
.t-atelier .hero h1{font-size:calc(6rem*var(--ds));line-height:.92;letter-spacing:-.02em;max-width:8.5ch;position:relative;z-index:3;margin-bottom:28px}
.t-atelier .hero .sub{font-size:1.25rem;max-width:36ch;margin-bottom:30px;position:relative;z-index:3}
.t-atelier .s h2{display:inline-block;background:linear-gradient(transparent 58%,var(--alt) 58%);padding:0 6px;margin-left:-6px}
.t-atelier .svc{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:26px}
.t-atelier .svc li,.t-atelier .svc li:last-child{border:2px solid var(--ink);border-radius:var(--r);padding:26px;background:var(--bg);box-shadow:7px 7px 0 var(--ink)}
.t-atelier .svc .h{flex-direction:column;align-items:flex-start;gap:8px}
.t-atelier .svc h3{min-width:0}
.t-atelier .svc .p{background:var(--alt);padding:2px 10px;border-radius:var(--rb)}
.t-atelier .tm figure{background:var(--accent);color:var(--on-accent)}
.t-atelier .stamp{border-width:3px;transform:rotate(-7deg);background:var(--bg)}
.t-atelier .stamp+.stamp{transform:rotate(6deg)}
.t-atelier main .s:nth-of-type(3n+2){background:color-mix(in srgb,var(--alt) 32%,var(--bg))}
/* Cocon */
.t-cocon .hero{padding:12px 0 96px}
.t-cocon .hero .card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:52px;align-items:center;background:color-mix(in srgb,var(--accent) 14%,var(--bg));border-radius:calc(var(--r) * 1.4);padding:48px;position:relative;overflow:hidden}
.t-cocon .hero .ph{aspect-ratio:1;border-radius:calc(var(--r) * 1.4)}
.t-cocon .hero .who{font-weight:600;opacity:.75;margin-bottom:14px}
.t-cocon .hero h1{font-size:calc(3.2rem*var(--ds));margin-bottom:20px}
.t-cocon .hero .sub{max-width:46ch;opacity:.84;margin-bottom:30px;font-size:1.08rem}
.t-cocon .arcs{position:absolute;right:0;bottom:0;width:220px;pointer-events:none}
.t-cocon .s h2{text-align:center}
.t-cocon .svc{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.t-cocon .svc li,.t-cocon .svc li:last-child{border:0;border-radius:var(--r);padding:30px 24px;background:color-mix(in srgb,var(--accent) 10%,var(--bg));text-align:center}
.t-cocon .svc .ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--on-accent);margin:0 auto 16px}
.t-cocon .svc .h{flex-direction:column;align-items:center;gap:6px}
.t-cocon .svc h3{min-width:0}
.t-cocon .svc li>p{margin-left:auto;margin-right:auto}
.t-cocon .ab{grid-template-columns:1fr;max-width:760px;margin:0 auto;text-align:center;gap:28px}
.t-cocon .lead{margin:0 auto}.t-cocon .cred{border:0;padding:0}
.t-cocon .rt{grid-template-columns:1fr;justify-items:center;text-align:center;gap:30px}
.t-cocon .pay{justify-content:center}
.t-cocon .tm figure{border-radius:calc(var(--r) * 1.2);text-align:center}
.t-cocon .fq,.t-cocon .bk{max-width:820px;margin:0 auto}
@media (max-width:820px){
 body{font-size:16px}.w{padding:0 22px}.nav{padding:16px 22px;gap:14px}.nav a.l{display:none}
 .s,.t-leman main .s{padding:64px 0}.s h2{font-size:calc(1.9rem*var(--ds));margin-bottom:24px}
 .ab,.ct,.rt,.info,.cf .two,.bk-f{grid-template-columns:1fr;gap:28px}.bk-f{gap:12px}.bk{padding:22px}
 .stamp{width:112px;height:112px}
 .t-serenite .hero h1,.t-cocon .hero h1{font-size:calc(2.3rem*var(--ds))}
 .t-foret .hero .w,.t-leman .hero .w,.t-leman .s .w{grid-template-columns:1fr;gap:30px}
 .t-foret .hero h1{font-size:calc(2.6rem*var(--ds))}.t-foret .hero .ph{max-width:300px}
 .t-leman .hero{padding-top:40px}.t-leman .hero h1{font-size:calc(3rem*var(--ds))}.t-leman .s h2{position:static}.t-leman .hero .ph{max-width:300px}.t-leman .lake{height:90px;margin-top:40px}
 .t-atelier .hero .blk{position:relative;right:auto;width:220px;margin:10px 0 14px 26px}.t-atelier .hero h1{font-size:calc(3.3rem*var(--ds))}
 .t-cocon .hero .card{grid-template-columns:1fr;padding:26px;gap:28px}.t-cocon .hero .ph{max-width:260px}
}
body{overflow-x:clip}.day:disabled{opacity:.42;cursor:not-allowed}.day:disabled small:last-child{font-weight:700}.bk{grid-template-columns:minmax(0,1fr)}.bk>*{min-width:0}.t-enso .ini{display:none}
/* Modules */
.msteps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:30px}
.msteps .no{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-family:var(--fd);font-weight:var(--dw);font-size:1.25rem;margin-bottom:16px}
.msteps h3{font-size:calc(1.3rem*var(--ds));margin-bottom:8px}.msteps p{opacity:.82}
.tags{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.tags li{padding:8px 16px;border-radius:var(--rb);border:1.5px solid color-mix(in srgb,var(--accent) 50%,transparent);font-weight:600;font-size:15px}
.cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.card{padding:28px;border-radius:var(--r);background:color-mix(in srgb,var(--accent) 9%,var(--bg))}
.pk h3{font-size:calc(1.35rem*var(--ds))}.pk-d{opacity:.75;margin-top:4px}
.pk-p{font-family:var(--fd);font-weight:var(--dw);font-size:calc(2rem*var(--ds));margin:18px 0 6px;color:var(--accent);line-height:1.1}
.pk-n{font-size:14px;opacity:.7}
.gal{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.gal figure{margin:0}.gal img,.gal svg{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.gal figcaption{font-size:14.5px;opacity:.75;margin-top:10px}
.ws{list-style:none;padding:0;margin:0;display:grid}
.ws li{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;padding:20px 0;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.ws li:last-child{border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.ws-d{width:74px;text-align:center;border-radius:var(--ri);background:var(--accent);color:var(--on-accent);padding:10px 4px;line-height:1.15}
.ws-d b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:1.7rem}.ws-d small{font-size:12.5px;display:block}
.ws h3{font-size:calc(1.25rem*var(--ds))}.ws-m{opacity:.75;font-size:15px;margin-top:4px}
.ws-s{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;padding:3px 10px;border-radius:var(--rb);background:color-mix(in srgb,var(--accent) 15%,var(--bg))}
.team .av{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-family:var(--fd);font-weight:var(--dw);font-size:1.35rem;margin-bottom:16px}
.team h3{font-size:calc(1.3rem*var(--ds))}.team .rl{opacity:.7;font-size:15px;margin:2px 0 10px}
.gift{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:center}
.amts{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 28px}
.amts span{padding:8px 16px;border-radius:var(--rb);background:color-mix(in srgb,var(--accent) 13%,var(--bg));font-weight:700;font-variant-numeric:tabular-nums}
.gcard{aspect-ratio:1.6;border-radius:calc(var(--r) + 4px);background:var(--accent);color:var(--on-accent);padding:28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transform:rotate(-3deg);box-shadow:0 30px 50px -30px color-mix(in srgb,var(--ink) 65%,transparent)}
.gcard::after{content:"";position:absolute;right:-46px;top:-46px;width:170px;height:170px;border-radius:50%;border:18px solid color-mix(in srgb,var(--on-accent) 22%,transparent)}
.gcard span{font-size:13px;font-weight:700;letter-spacing:.08em;opacity:.85}
.gcard b{display:block;font-family:var(--fd);font-weight:var(--dw);font-size:calc(1.6rem*var(--ds));line-height:1.1}.gcard small{opacity:.8}
.vid{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 72%,var(--ink)),color-mix(in srgb,var(--alt) 55%,var(--accent)));display:grid;place-items:center;cursor:pointer}
.vid .play{width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.93);display:grid;place-items:center;color:var(--accent);padding-left:5px;box-shadow:0 12px 30px -10px rgba(0,0,0,.4)}
.vid .vu{position:absolute;left:20px;bottom:16px;font-size:13.5px;color:#fff;opacity:.9}
.vid-c{margin-top:12px;opacity:.78}
.mq{margin:0 auto;max-width:880px;text-align:center}
.mq blockquote{margin:0;font-family:var(--fd);font-weight:var(--dw);font-size:calc(2.3rem*var(--ds));line-height:1.25;text-wrap:balance}
.mq figcaption{margin-top:20px;opacity:.7}
.mcta{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:46px 50px;border-radius:calc(var(--r) * 1.2);background:var(--accent);color:var(--on-accent)}
.s .mcta h2{margin:0 0 8px;font-size:calc(2rem*var(--ds));color:inherit;background:none;display:block;text-align:left;position:static}
.mcta h2::before,.mcta h2::after{display:none!important}
.mcta .btn{background:var(--bg);color:var(--ink)}
.s.full .w{display:block!important}
/* Modules selon les modèles */
.t-serenite .msteps,.t-serenite .cards{text-align:center}.t-serenite .msteps .no,.t-serenite .team .av{margin-left:auto;margin-right:auto}.t-serenite .m-audience .lead,.t-serenite .m-text .lead{margin:0 auto;text-align:center}.t-serenite .tags{justify-content:center}.t-serenite main .s:nth-of-type(even) .card{background:var(--bg)}
.t-foret main .s:nth-of-type(odd) .card{background:var(--bg)}.t-foret .msteps .no{border-radius:58% 42% 50% 50%/46% 50% 50% 54%}
.t-leman .card{background:none;border-top:2px solid var(--accent);border-radius:0;padding:20px 0 0}.t-leman .msteps .no,.t-leman .ws-d{border-radius:var(--r)}.t-leman .mq{text-align:left;margin:0}
.t-atelier .card,.t-atelier .gcard,.t-atelier .mcta{border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink)}.t-atelier .card{background:var(--bg)}.t-atelier .tags li{border:2px solid var(--ink);background:var(--alt)}.t-atelier .msteps .no{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.t-atelier .gcard{transform:rotate(-4deg)}
.t-cocon .card{text-align:center}.t-cocon .team .av{margin-left:auto;margin-right:auto}.t-cocon .tags{justify-content:center}.t-cocon .m-audience .lead{margin:0 auto;text-align:center}.t-cocon .mcta{border-radius:calc(var(--r) * 1.6)}
/* Herbier */
.t-herbier .hd{border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}
.t-herbier .hero{padding:44px 0 104px}
.t-herbier .sheet{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center;padding:60px 56px;border:1px solid color-mix(in srgb,var(--ink) 32%,transparent);outline:1px solid color-mix(in srgb,var(--ink) 22%,transparent);outline-offset:-10px;background:color-mix(in srgb,var(--alt) 28%,var(--bg))}
.t-herbier .spec{position:relative;transform:rotate(-2.5deg)}
.t-herbier .spec .ph{aspect-ratio:4/5;border:10px solid #fffdf8;box-shadow:0 22px 30px -22px color-mix(in srgb,var(--ink) 75%,transparent)}
.t-herbier .tape{position:absolute;width:98px;height:28px;background:color-mix(in srgb,var(--alt) 80%,#fff);opacity:.9;z-index:2}
.t-herbier .t1{top:-12px;left:-20px;transform:rotate(-28deg)}.t-herbier .t2{bottom:-10px;right:-22px;transform:rotate(-24deg)}
.t-herbier .who,.t-herbier .cred h3,.t-herbier .pay-l,.t-herbier .info h3,.t-herbier .bk-l{font-family:'Caveat',cursive;font-weight:600;font-size:1.45rem;color:var(--accent);opacity:1}
.t-herbier .who{display:inline-block;transform:rotate(-2deg);margin-bottom:12px;font-size:1.7rem}
.t-herbier .hero h1{font-size:calc(3.3rem*var(--ds));line-height:1.06;margin-bottom:22px}
.t-herbier .hero .sub{font-size:1.1rem;max-width:46ch;opacity:.85;margin-bottom:30px}
.t-herbier .sprig{position:absolute;right:26px;bottom:-34px;width:140px;color:var(--accent)}
.t-herbier .s h2{display:flex;align-items:center;gap:20px}
.t-herbier .s h2::after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--ink) 25%,transparent)}
.t-herbier main .s:nth-of-type(even){background:color-mix(in srgb,var(--alt) 24%,var(--bg))}
.t-herbier .svc{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.t-herbier .svc li,.t-herbier .svc li:last-child,.t-herbier .card{border:1px solid color-mix(in srgb,var(--ink) 55%,transparent);outline:1px solid color-mix(in srgb,var(--ink) 22%,transparent);outline-offset:-7px;border-radius:2px;padding:28px;background:var(--bg)}
.t-herbier .svc .h{display:grid;grid-template-columns:1fr auto;gap:6px 16px}
.t-herbier .svc h3{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent);margin-bottom:6px}
.t-herbier .svc li>p,.t-herbier .pk-n,.t-herbier .rl{font-style:italic}
.t-herbier .stamp{border-radius:2px;border:1px solid var(--accent);outline:1px solid var(--accent);outline-offset:-6px}
.t-herbier .tm figure{background:var(--bg);border:1px dashed color-mix(in srgb,var(--ink) 35%,transparent);border-radius:2px}
.t-herbier .tm blockquote,.t-herbier .mq blockquote{font-family:'Caveat',cursive;font-weight:500;font-size:1.9rem;line-height:1.25}
.t-herbier .mq blockquote{font-size:2.8rem}
.t-herbier .msteps .no{border-radius:2px;background:none;color:var(--accent);border:1px solid var(--accent);font-family:'Caveat',cursive;font-size:1.6rem}
.t-herbier .gal img,.t-herbier .gal svg{border:8px solid #fffdf8;box-shadow:0 14px 24px -18px color-mix(in srgb,var(--ink) 70%,transparent)}
.t-herbier .gal li:nth-child(odd) figure{transform:rotate(-1.5deg)}.t-herbier .gal li:nth-child(even) figure{transform:rotate(1.2deg)}
.t-herbier .gal figcaption{font-family:'Caveat',cursive;font-size:1.35rem;opacity:.9}
/* Ensō */
.t-enso .nav{padding-top:30px}.t-enso .brand{letter-spacing:.04em}
.t-enso .hero{padding:44px 0 120px}
.t-enso .hero .w{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}
.t-enso .vt{writing-mode:vertical-rl;font-size:14px;letter-spacing:.22em;opacity:.7;align-self:start;margin-top:24px}
.t-enso .circ{position:relative;aspect-ratio:1;max-width:440px;width:100%}
.t-enso .enso{position:absolute;inset:-7%;width:114%;height:114%;color:var(--ink)}
.t-enso .circ .ph{position:absolute;inset:15%;border-radius:50%}
.t-enso .seal{position:absolute;right:5%;bottom:9%;width:66px;height:66px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-family:var(--fd);font-weight:var(--dw);font-size:1.4rem;border-radius:5px;transform:rotate(4deg);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--on-accent) 35%,transparent)}
.t-enso .hero h1{font-size:calc(2.9rem*var(--ds));line-height:1.3;margin-bottom:24px}
.t-enso .hero .sub{opacity:.78;max-width:40ch;margin-bottom:34px}
.t-enso .s{padding:112px 0}
.t-enso main .s+.s{border-top:1px solid color-mix(in srgb,var(--ink) 9%,transparent)}
.t-enso .s .w{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:60px}
.t-enso .s h2{font-size:calc(1.45rem*var(--ds));letter-spacing:.06em;margin:0;display:flex;align-items:center;gap:14px;align-self:start}
.t-enso .s h2::before{content:"";width:28px;height:2px;background:var(--accent);flex:none}
.t-enso .ab,.t-enso .rt,.t-enso .ct{grid-template-columns:1fr;gap:34px}
.t-enso .svc li{padding:28px 0}
.t-enso .card,.t-enso .tm figure{background:none;border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:0;padding:22px 0 0}
.t-enso .tm{grid-template-columns:1fr}
.t-enso .stamp{border-radius:5px;background:var(--accent);border:0;width:100px;height:100px}
.t-enso .stamp b,.t-enso .stamp span{color:var(--on-accent);opacity:1}
.t-enso .msteps .no{border-radius:5px}.t-enso .tags li{border-radius:0;border-width:0 0 0 2px;border-color:var(--accent)}
.t-enso .mq blockquote{font-size:calc(2rem*var(--ds));line-height:1.6}
/* Nocturne */
.t-nocturne .hero{position:relative;overflow:hidden;padding:60px 0 130px}
.t-nocturne .stars{position:absolute;inset:0;width:100%;height:100%;color:var(--ink);opacity:.6;pointer-events:none}
.t-nocturne .hero .w{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:center}
.t-nocturne .hero .who{letter-spacing:.18em;font-size:13.5px;color:var(--accent);margin-bottom:22px;text-transform:uppercase}
.t-nocturne .hero h1{font-size:calc(4.1rem*var(--ds));line-height:1.05;margin-bottom:26px}
.t-nocturne .hero .sub{opacity:.78;max-width:44ch;margin-bottom:34px;font-size:1.08rem}
.t-nocturne .moon{position:relative;aspect-ratio:1;max-width:370px;width:100%;justify-self:center}
.t-nocturne .moon .ph{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent),0 0 60px 8px color-mix(in srgb,var(--accent) 24%,transparent),0 0 170px 40px color-mix(in srgb,var(--accent) 10%,transparent)}
.t-nocturne .moon::before{content:"";position:absolute;inset:-30px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--accent) 35%,transparent)}
.t-nocturne .btn.alt{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 40%,transparent)}
.t-nocturne .s h2{text-align:center}
.t-nocturne .s h2::before{content:"✦";display:block;font-size:1rem;color:var(--accent);margin-bottom:16px;font-family:var(--fb)}
.t-nocturne main .s:nth-of-type(even){background:var(--alt)}
.t-nocturne .svc{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.t-nocturne .svc li,.t-nocturne .svc li:last-child,.t-nocturne .card,.t-nocturne .tm figure{border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--r);padding:28px;background:color-mix(in srgb,var(--ink) 3%,transparent)}
.t-nocturne .svc .h{flex-direction:column;align-items:flex-start;gap:6px}.t-nocturne .svc h3{min-width:0}.t-nocturne .svc .p{color:var(--accent);font-size:1.15rem}
.t-nocturne .ab{grid-template-columns:1fr;max-width:740px;margin:0 auto;text-align:center}.t-nocturne .lead{margin-left:auto;margin-right:auto}.t-nocturne .cred{border:0;padding:0}
.t-nocturne .rt{grid-template-columns:1fr;justify-items:center;text-align:center}.t-nocturne .pay,.t-nocturne .tags{justify-content:center}
.t-nocturne .fq,.t-nocturne .bk{max-width:820px;margin:0 auto}
.t-nocturne .msteps,.t-nocturne .m-audience .lead,.t-nocturne .m-text .lead{text-align:center}.t-nocturne .msteps .no{margin:0 auto 16px;background:none;border:1px solid var(--accent);color:var(--accent)}
.t-nocturne .err{color:#ffb4a8}
@media (max-width:820px){
 .ab,.ct,.rt,.info,.cf .two,.bk-f,.gift,.t-foret .hero .w,.t-leman .hero .w,.t-leman .s .w,.t-enso .s .w,.t-enso .hero .w,.t-herbier .sheet,.t-nocturne .hero .w,.t-cocon .hero .card{grid-template-columns:minmax(0,1fr)!important}
 .svc h3{min-width:0;flex-basis:100%}.t-leman .svc .h{display:flex;flex-wrap:wrap;gap:4px 16px}
 .gift{grid-template-columns:1fr;gap:34px}.mq blockquote{font-size:calc(1.6rem*var(--ds))}.mcta{padding:30px 26px}
 .t-herbier .sheet{grid-template-columns:1fr;padding:30px 24px;gap:36px}.t-herbier .spec{max-width:250px}.t-herbier .hero h1{font-size:calc(2.3rem*var(--ds))}.t-herbier .sprig{display:none}.t-herbier .mq blockquote{font-size:2rem}
 .t-enso .hero .w{grid-template-columns:1fr;gap:30px}.t-enso .vt{writing-mode:horizontal-tb;letter-spacing:.12em;margin:0}.t-enso .circ{max-width:280px}.t-enso .s .w{grid-template-columns:1fr;gap:26px}.t-enso .hero h1{font-size:calc(2.1rem*var(--ds))}.t-enso .s{padding:72px 0}
 .t-nocturne .hero .w{grid-template-columns:1fr;gap:40px}.t-nocturne .hero h1{font-size:calc(2.6rem*var(--ds))}.t-nocturne .moon{max-width:220px;order:-1;justify-self:start;margin:30px 0 0 30px}
}
.ph-e svg{display:block;width:100%;height:100%}
/* ---------- Aquarelle ---------- */
.t-aquarelle .hero{position:relative;overflow:hidden;padding:36px 0 110px;isolation:isolate}
.t-aquarelle .wash{position:absolute;left:-8%;top:-14%;width:116%;height:128%;z-index:-1;pointer-events:none}
.t-aquarelle .hero .w{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:64px;align-items:center}
.t-aquarelle .hero .ph{aspect-ratio:4/5;border-radius:46% 54% 52% 48%/55% 45% 55% 45%;box-shadow:0 0 0 14px color-mix(in srgb,var(--alt) 24%,transparent),0 0 0 32px color-mix(in srgb,var(--accent) 10%,transparent)}
.t-aquarelle .hero .who{font-family:var(--fd);font-style:italic;font-size:1.25rem;color:var(--accent);margin-bottom:14px}
.t-aquarelle .hero h1{font-size:calc(3.7rem*var(--ds));line-height:1.04;margin-bottom:22px}
.t-aquarelle .hero .sub{font-size:1.12rem;max-width:44ch;opacity:.85;margin-bottom:30px}
.t-aquarelle .s h2{display:inline-block;position:relative;z-index:0;padding:0 10px}
.t-aquarelle .s h2::after{content:"";position:absolute;left:-8px;right:-10px;bottom:4px;height:.5em;z-index:-1;border-radius:40% 60% 55% 45%/60% 40% 60% 40%;background:color-mix(in srgb,var(--alt) 42%,transparent);transform:rotate(-1.4deg)}
.t-aquarelle main .s{position:relative;isolation:isolate}
.t-aquarelle main .s:nth-of-type(odd)::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(38% 50% at 6% 18%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 70%),radial-gradient(34% 46% at 96% 84%,color-mix(in srgb,var(--alt) 17%,transparent),transparent 70%)}
.t-aquarelle .svc{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.t-aquarelle .svc li,.t-aquarelle .svc li:last-child,.t-aquarelle .card,.t-aquarelle .tm figure{border:0;padding:28px;border-radius:32px 44px 36px 48px/40px 34px 46px 38px;background:radial-gradient(120% 100% at 12% 0%,color-mix(in srgb,var(--accent) 13%,var(--bg)),var(--bg) 72%);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--alt) 40%,transparent),0 22px 40px -32px color-mix(in srgb,var(--ink) 55%,transparent)}
.t-aquarelle .svc .h{flex-direction:column;align-items:flex-start;gap:6px}.t-aquarelle .svc h3{min-width:0}
.t-aquarelle .svc .p{font-family:var(--fd);font-size:1.45rem;color:var(--accent);font-weight:400}
.t-aquarelle .stamp{border-style:dashed}
/* ---------- Bauhaus ---------- */
.t-bauhaus .hd{border-bottom:6px solid var(--ink)}
.t-bauhaus .brand{text-transform:uppercase;letter-spacing:.01em}
.t-bauhaus .hero{padding:56px 0 100px}
.t-bauhaus .hero .w{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}
.t-bauhaus .geo{position:relative;aspect-ratio:1}
.t-bauhaus .geo-s{position:absolute;inset:0;width:100%;height:100%}
.t-bauhaus .geo .pic{position:absolute;left:20%;top:16%;width:54%;aspect-ratio:1}
.t-bauhaus .geo .ph{width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 10px var(--bg),0 0 0 22px var(--accent)}
.t-bauhaus .hero .who{display:inline-block;background:var(--c3);color:#fff;padding:7px 12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-bottom:22px}
.t-bauhaus .hero .who [data-k]{color:#fff}
.t-bauhaus .hero h1{font-size:calc(5.3rem*var(--ds));line-height:.88;text-transform:uppercase;margin-bottom:24px;overflow-wrap:anywhere}
.t-bauhaus .hero .tg{font-size:1.45rem;line-height:1.3;max-width:24ch;margin-bottom:12px;font-weight:600}
.t-bauhaus .hero .sub{opacity:.8;max-width:42ch;margin-bottom:30px}
.t-bauhaus .btn{border-radius:0;background:var(--ink);color:var(--bg);text-transform:uppercase;letter-spacing:.06em}
.t-bauhaus .btn.alt{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 3px var(--ink)}
.t-bauhaus main .s{border-top:6px solid var(--ink)}
.t-bauhaus .s h2{text-transform:uppercase;display:flex;align-items:center;gap:16px}
.t-bauhaus .s h2::before{content:"";width:.66em;height:.66em;background:var(--accent);flex:none}
.t-bauhaus main .s:nth-of-type(3n+2) h2::before{background:var(--alt);border-radius:50%}
.t-bauhaus main .s:nth-of-type(3n) h2::before{background:var(--c3);clip-path:polygon(50% 0,100% 100%,0 100%)}
.t-bauhaus .svc{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border:3px solid var(--ink)}
.t-bauhaus .svc li,.t-bauhaus .svc li:last-child{border:0;box-shadow:inset -3px 0 0 var(--ink),inset 0 -3px 0 var(--ink);padding:34px 26px 26px;position:relative}
.t-bauhaus .svc li::before{content:"";position:absolute;left:0;right:3px;top:0;height:12px;background:var(--accent)}
.t-bauhaus .svc li:nth-child(3n+2)::before{background:var(--alt)}.t-bauhaus .svc li:nth-child(3n)::before{background:var(--c3)}
.t-bauhaus .svc .h{flex-direction:column;align-items:flex-start;gap:6px}.t-bauhaus .svc h3{min-width:0;text-transform:uppercase}
.t-bauhaus .svc .p{font-family:var(--fd);font-size:1.6rem;font-weight:400}
.t-bauhaus .stamp{border-radius:0;border:4px solid var(--ink);background:var(--alt);color:#141414}.t-bauhaus .stamp b{color:#141414}
.t-bauhaus .card,.t-bauhaus .tm figure{border:3px solid var(--ink);border-radius:0;background:var(--bg)}
.t-bauhaus .tm figure:nth-child(odd){background:var(--alt);color:#141414}
.t-bauhaus .msteps .no{border-radius:0;background:var(--ink);color:var(--bg)}
/* ---------- Vitrail ---------- */
/* ---------- Altitude ---------- */
.t-altitude .hero{position:relative;overflow:hidden;padding:44px 0 34px;isolation:isolate}
.t-altitude .topo{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.t-altitude .hero .w{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.t-altitude .hero .who{font-family:var(--fd);text-transform:uppercase;letter-spacing:.14em;font-weight:600;color:var(--accent);margin-bottom:14px}
.t-altitude .hero h1{font-size:calc(5.4rem*var(--ds));text-transform:uppercase;line-height:.9;margin-bottom:18px}
.t-altitude .hero .tg{font-size:1.35rem;max-width:30ch;margin-bottom:10px}
.t-altitude .hero .sub{opacity:.82;max-width:44ch;margin-bottom:30px}
.t-altitude .hero .pic{position:relative}
.t-altitude .hero .ph{aspect-ratio:1;border-radius:50%;border:7px solid var(--bg);box-shadow:0 0 0 2px var(--ink),0 24px 50px -30px #000}
.t-altitude .peak{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);background:var(--ink);color:var(--bg);font-family:var(--fd);font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;font-size:14px;white-space:nowrap}
.t-altitude .scale{max-width:1120px;margin:64px auto 0;padding:0 32px;display:flex;align-items:center;gap:10px;font-family:var(--fd);font-size:12.5px;letter-spacing:.06em;opacity:.75}
.t-altitude .scale i{display:block;width:180px;height:7px;background:linear-gradient(90deg,var(--ink) 0 25%,transparent 25% 50%,var(--ink) 50% 75%,transparent 75%);box-shadow:0 0 0 1.5px var(--ink)}
.t-altitude .btn{text-transform:uppercase;letter-spacing:.08em;font-family:var(--fd);font-size:16.5px}
.t-altitude .s h2{text-transform:uppercase;display:flex;align-items:baseline;gap:14px}
.t-altitude .s h2::before{content:"▲";color:var(--accent);font-size:.5em}
.t-altitude main .s:nth-of-type(odd){background:color-mix(in srgb,var(--alt) 13%,var(--bg))}
.t-altitude .svc{grid-template-columns:minmax(0,1fr);gap:14px;max-width:780px}
.t-altitude .svc li,.t-altitude .svc li:last-child{border:0;padding:16px 72px 16px 22px;background:#F2C200;color:#141414;clip-path:polygon(0 0,calc(100% - 46px) 0,100% 50%,calc(100% - 46px) 100%,0 100%)}
.t-altitude .svc li:nth-child(even){margin-left:8%;padding:16px 22px 16px 72px;clip-path:polygon(46px 0,100% 0,100% 100%,46px 100%,0 50%)}
.t-altitude .svc .ico{display:none}
.t-altitude .svc .h{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:baseline}
.t-altitude .svc h3{min-width:0;font-family:var(--fd);text-transform:uppercase;letter-spacing:.03em;font-weight:700;color:#141414}
.t-altitude .svc .m{opacity:1;font-weight:600}.t-altitude .svc .p{color:#141414}
.t-altitude .svc li>p{opacity:.8;margin-top:4px;font-size:15px;color:#141414}
.t-altitude .stamp{border-radius:4px;border:3px solid var(--accent);transform:rotate(-4deg)}
.t-altitude .card,.t-altitude .tm figure{background:var(--bg);border:1.5px solid color-mix(in srgb,var(--ink) 25%,transparent)}
.t-altitude .msteps li{border-left:3px dashed var(--accent);padding-left:20px}.t-altitude .msteps .no{border-radius:4px;background:var(--accent)}
/* ---------- Déco ---------- */
.t-deco{background-image:repeating-linear-gradient(90deg,transparent 0 119px,color-mix(in srgb,var(--accent) 6%,transparent) 119px 120px)}
.t-deco .hd{border-bottom:1px solid color-mix(in srgb,var(--accent) 55%,transparent)}
.t-deco .brand{text-transform:uppercase;letter-spacing:.16em;white-space:nowrap}.t-deco .nav a.l{text-transform:uppercase;letter-spacing:.1em;font-size:13px;white-space:nowrap}.t-deco .nav .btn{white-space:nowrap;padding:13px 18px;letter-spacing:.14em}
.t-deco .hero{position:relative;overflow:hidden;padding:40px 0 110px;text-align:center;isolation:isolate}
.t-deco .burst{position:absolute;left:50%;bottom:0;width:1500px;max-width:none;height:100%;transform:translateX(-50%);z-index:-1;pointer-events:none}
.t-deco .hero .pic{width:min(270px,64vw);margin:0 auto 34px;padding:3px;background:var(--accent);clip-path:polygon(16% 0,84% 0,100% 12%,100% 88%,84% 100%,16% 100%,0 88%,0 12%)}
.t-deco .hero .ph{aspect-ratio:3/4;border-radius:0;clip-path:polygon(16% 0,84% 0,100% 12%,100% 88%,84% 100%,16% 100%,0 88%,0 12%)}
.t-deco .hero .who{text-transform:uppercase;letter-spacing:.3em;font-size:12.5px;color:var(--accent);margin-bottom:16px}
.t-deco .hero h1{font-size:calc(4.5rem*var(--ds));text-transform:uppercase;letter-spacing:.12em;line-height:1.02;margin-bottom:18px}
.t-deco .hero .tg{font-size:1.25rem;letter-spacing:.03em;max-width:36ch;margin:0 auto 10px;color:var(--accent)}
.t-deco .hero .sub{max-width:52ch;margin:0 auto 30px;opacity:.8}
.t-deco .cta2{justify-content:center}
.t-deco .btn{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent),inset 0 0 0 4px var(--bg),inset 0 0 0 5px var(--accent);border-radius:0;text-transform:uppercase;letter-spacing:.2em;font-size:13px;padding:16px 26px}
.t-deco .btn.alt{box-shadow:none;color:var(--ink);text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--accent)}
.t-deco .s h2{text-transform:uppercase;letter-spacing:.16em;display:flex;align-items:center;justify-content:center;gap:18px;text-align:center}
.t-deco .s h2::before,.t-deco .s h2::after{content:"";flex:none;width:64px;height:9px;background:linear-gradient(var(--accent),var(--accent)) center/100% 1px no-repeat,linear-gradient(var(--accent),var(--accent)) center top/56% 1px no-repeat,linear-gradient(var(--accent),var(--accent)) center bottom/56% 1px no-repeat}
.t-deco .ab{grid-template-columns:minmax(0,1fr);max-width:740px;margin:0 auto;text-align:center}.t-deco .lead{margin:0 auto}.t-deco .cred{border:0;padding:0}
.t-deco .svc{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.t-deco .svc li,.t-deco .svc li:last-child,.t-deco .card,.t-deco .tm figure{border:1px solid color-mix(in srgb,var(--accent) 75%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:-9px;border-radius:0;padding:34px 28px;text-align:center;background:color-mix(in srgb,var(--alt) 45%,var(--bg))}
.t-deco .svc .h{flex-direction:column;align-items:center;gap:6px}.t-deco .svc h3{min-width:0;text-transform:uppercase;letter-spacing:.08em}
.t-deco .svc .p{color:var(--accent);font-family:var(--fd);font-size:1.4rem;font-weight:400}
.t-deco .rt,.t-deco .tm{justify-items:center;text-align:center}
.t-deco .stamp{border-radius:0;border:1.5px solid var(--accent);outline:1px solid var(--accent);outline-offset:4px}
.t-deco .fq,.t-deco .bk{max-width:820px;margin-left:auto;margin-right:auto}
/* ---------- Chronique ---------- */
.t-chronique .hd{border-bottom:1px solid var(--ink)}
.t-chronique .brand{font-family:var(--fb);font-weight:600;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}
.t-chronique .hero{padding:26px 0 70px}
.t-chronique .mast{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:4px double var(--ink);border-bottom:1px solid var(--ink);padding:8px 0;font-size:12.5px;text-transform:uppercase;letter-spacing:.14em}
.t-chronique .hero h1{font-size:calc(7.2rem*var(--ds));text-align:center;line-height:.95;padding:20px 0 14px;border-bottom:4px double var(--ink);margin-bottom:30px;overflow-wrap:anywhere}
.t-chronique .une{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:42px;align-items:start}
.t-chronique .une .pic{margin:0}.t-chronique .une .ph{aspect-ratio:4/3;border-radius:0}.t-chronique .ph img{filter:grayscale(1) contrast(1.1)}
.t-chronique .une figcaption{font-style:italic;font-size:14px;opacity:.75;margin-top:8px;border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent);padding-top:6px}
.t-chronique .hero .tg{font-family:var(--fd);font-size:calc(2.6rem*var(--ds));line-height:1.08;margin-bottom:18px}
.t-chronique .hero .sub{font-size:1.08rem;margin-bottom:24px}
.t-chronique .hero .sub::first-letter,.t-chronique .lead::first-letter{font-family:var(--fd);float:left;font-size:3.5em;line-height:.85;padding:4px 8px 0 0;color:var(--accent)}
.t-chronique .btn{border-radius:0}
.t-chronique main .s{border-top:1px solid var(--ink);padding:64px 0}
.t-chronique .s h2{font-family:var(--fb);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.22em;border-bottom:3px solid var(--ink);padding-bottom:8px;margin-bottom:28px}
.t-chronique .s .w{grid-template-columns:minmax(0,1fr)}
.t-chronique .ab{grid-template-columns:minmax(0,1fr)}
.t-chronique .lead{column-count:2;column-gap:36px;max-width:none;text-align:justify;hyphens:auto}
.t-chronique .cred{border-left:0;border-top:1px solid var(--ink);padding:12px 0 0;font-style:italic}
.t-chronique .svc{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;border-left:1px solid var(--ink);border-top:1px solid var(--ink)}
.t-chronique .svc li,.t-chronique .svc li:last-child{border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:22px}
.t-chronique .svc .ico{display:none}
.t-chronique .svc .h{flex-direction:column;align-items:flex-start;gap:4px}.t-chronique .svc h3{min-width:0;font-size:calc(1.6rem*var(--ds))}
.t-chronique .svc .p{color:var(--accent)}
.t-chronique .tm{grid-template-columns:minmax(0,1fr)}
.t-chronique .tm figure{background:none;border-radius:0;padding:6px 0 6px 28px;border-left:6px solid var(--accent)}
.t-chronique .tm blockquote{font-size:calc(1.8rem*var(--ds));line-height:1.25}
.t-chronique .stamp{border-radius:0;border:2px solid var(--ink)}
.t-chronique .card{border-radius:0;background:none;border:1px solid var(--ink)}
/* ---------- Terrazzo ---------- */
.t-terrazzo main .s:nth-of-type(odd){background:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--accent) 55%,transparent) 0 3px,transparent 4px),radial-gradient(circle at 62% 8%,color-mix(in srgb,var(--alt) 60%,transparent) 0 2px,transparent 3px),radial-gradient(circle at 38% 52%,color-mix(in srgb,var(--c3) 70%,transparent) 0 4px,transparent 5px),radial-gradient(circle at 84% 64%,color-mix(in srgb,var(--accent) 50%,transparent) 0 2.5px,transparent 3.5px),radial-gradient(circle at 22% 84%,color-mix(in srgb,var(--alt) 60%,transparent) 0 3.5px,transparent 4.5px),radial-gradient(circle at 70% 90%,color-mix(in srgb,var(--ink) 25%,transparent) 0 1.5px,transparent 2.5px),color-mix(in srgb,var(--alt) 9%,var(--bg));background-size:170px 170px,170px 170px,170px 170px,170px 170px,170px 170px,170px 170px,auto}
.t-terrazzo .hero{position:relative;overflow:hidden;padding:34px 0 110px;isolation:isolate}
.t-terrazzo .chips{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.t-terrazzo .hero .w{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.t-terrazzo .hero .who{display:inline-block;background:var(--bg);border:2.5px solid var(--ink);border-radius:999px;padding:6px 14px;font-weight:700;font-size:14px;margin-bottom:18px}
.t-terrazzo .hero h1{font-size:calc(3.9rem*var(--ds));line-height:1.02;margin-bottom:22px}
.t-terrazzo .hero .sub{font-size:1.12rem;max-width:44ch;margin-bottom:30px}
.t-terrazzo .hero .pic{position:relative;aspect-ratio:4/5}
.t-terrazzo .hero .ph{position:absolute;inset:6% 10% 0;border-radius:999px 999px 40px 40px;border:3px solid var(--ink);z-index:2}
.t-terrazzo .bl{position:absolute;border:3px solid var(--ink);z-index:1}
.t-terrazzo .b1{width:34%;aspect-ratio:1;border-radius:50%;background:var(--alt);right:-3%;top:0}
.t-terrazzo .b2{width:30%;aspect-ratio:1;border-radius:24px;background:var(--c3);left:-5%;bottom:6%;transform:rotate(-12deg)}
.t-terrazzo .b3{width:24%;aspect-ratio:2/1;border-radius:999px 999px 0 0;background:var(--accent);right:2%;bottom:-1%;z-index:3}
.t-terrazzo .btn{box-shadow:inset 0 0 0 2.5px var(--ink),4px 4px 0 var(--ink)}
.t-terrazzo .btn.alt{background:var(--bg);box-shadow:inset 0 0 0 2.5px var(--ink),4px 4px 0 var(--ink)}
.t-terrazzo .s h2{display:inline-block;background:var(--bg);border:3px solid var(--ink);border-radius:999px;padding:8px 22px;box-shadow:5px 5px 0 var(--alt)}
.t-terrazzo .svc{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.t-terrazzo .svc li,.t-terrazzo .svc li:last-child,.t-terrazzo .card,.t-terrazzo .tm figure{border:3px solid var(--ink);border-radius:28px;padding:26px;background:var(--bg);box-shadow:6px 6px 0 var(--ink)}
.t-terrazzo .svc li:nth-child(3n+1){transform:rotate(-1deg)}.t-terrazzo .svc li:nth-child(3n+2){transform:rotate(1.1deg)}
.t-terrazzo .svc .h{flex-direction:column;align-items:flex-start;gap:8px}.t-terrazzo .svc h3{min-width:0}
.t-terrazzo .svc .p{background:var(--c3);border:2px solid var(--ink);border-radius:999px;padding:2px 12px;color:var(--ink)}
.t-terrazzo .stamp{border:3px solid var(--ink);background:var(--c3)}.t-terrazzo .stamp b{color:var(--ink)}
.t-terrazzo .msteps .no{border:3px solid var(--ink);background:var(--alt);color:var(--ink)}
/* ---------- Cyanotype ---------- */
.t-cyanotype .hero{position:relative;overflow:hidden;padding:44px 0 110px;isolation:isolate}
.t-cyanotype .ferns{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.t-cyanotype .hero .w{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center}
.t-cyanotype .hero .pic{margin:0;padding:16px 16px 14px;background:color-mix(in srgb,var(--ink) 94%,var(--bg));transform:rotate(-2deg);box-shadow:0 30px 50px -28px rgba(0,0,0,.6)}
.t-cyanotype .hero .ph{aspect-ratio:4/5;border-radius:0}.t-cyanotype .ph img{filter:grayscale(1) sepia(1) hue-rotate(170deg) saturate(2.4) brightness(.92)}
.t-cyanotype .hero figcaption{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px;color:var(--bg);margin-top:12px;letter-spacing:.04em}
.t-cyanotype .hero .who{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-bottom:16px}
.t-cyanotype .hero h1{font-size:calc(3.9rem*var(--ds));line-height:1.08;font-style:italic;margin-bottom:22px}
.t-cyanotype .hero .sub{max-width:46ch;opacity:.86;margin-bottom:30px;font-size:1.08rem}
.t-cyanotype .btn{border-radius:0}
.t-cyanotype .btn.alt{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 60%,transparent)}
.t-cyanotype main .s:nth-of-type(even){background:var(--alt)}
.t-cyanotype .s h2{font-style:italic}
.t-cyanotype .svc{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;counter-reset:pl}
.t-cyanotype .svc li,.t-cyanotype .svc li:last-child,.t-cyanotype .card,.t-cyanotype .tm figure{border:1px solid color-mix(in srgb,var(--ink) 40%,transparent);border-radius:0;background:transparent;padding:26px}
.t-cyanotype .svc li{counter-increment:pl}.t-cyanotype .svc .ico{display:none}
.t-cyanotype .svc li::before{content:"Pl. " counter(pl);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;opacity:.7;display:block;margin-bottom:10px;letter-spacing:.08em}
.t-cyanotype .svc .h{flex-direction:column;align-items:flex-start;gap:6px}.t-cyanotype .svc h3{min-width:0;font-style:italic}
.t-cyanotype .stamp{border-color:var(--ink)}.t-cyanotype .stamp b{color:var(--ink)}
.t-cyanotype .info h3,.t-cyanotype .cred h3,.t-cyanotype .pay-l,.t-cyanotype .bk-l{font-family:'IBM Plex Mono',ui-monospace,monospace;font-weight:400;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:820px){
 .t-aquarelle .hero .w,.t-bauhaus .hero .w,.t-altitude .hero .w,.t-terrazzo .hero .w,.t-cyanotype .hero .w,.t-chronique .une{grid-template-columns:minmax(0,1fr);gap:34px}
 .t-aquarelle .hero .pic,.t-cyanotype .hero .pic{max-width:270px}
 .t-aquarelle .hero h1,.t-terrazzo .hero h1,.t-cyanotype .hero h1{font-size:calc(2.6rem*var(--ds))}
 .t-bauhaus .geo{max-width:340px}.t-bauhaus .hero h1{font-size:calc(3.3rem*var(--ds))}
 .t-altitude .hero h1{font-size:calc(3.4rem*var(--ds))}.t-altitude .hero .pic{max-width:260px}.t-altitude .scale{display:none}
 .t-altitude .svc li:nth-child(even){margin-left:0}.t-altitude .svc .h{grid-template-columns:minmax(0,1fr) auto}.t-altitude .svc .p{grid-column:1/-1}
 .t-deco .brand{white-space:normal;letter-spacing:.08em}.t-deco .nav .btn{white-space:normal;letter-spacing:.06em;padding:11px 12px}
 .t-deco .hero h1{font-size:calc(2.6rem*var(--ds));letter-spacing:.06em}.t-deco .s h2::before,.t-deco .s h2::after{width:28px}
 .t-chronique .hero h1{font-size:calc(3.4rem*var(--ds))}.t-chronique .lead{column-count:1}.t-chronique .mast span:nth-child(3){display:none}
 .t-terrazzo .hero .pic{max-width:300px}
}

/* Déco : en-tête et titres sans débordement */
.t-deco .nav{gap:18px}.t-deco .nav a.l{letter-spacing:.06em;font-size:12.5px}.t-deco .nav .btn{letter-spacing:.1em;padding:12px 16px}
@media (max-width:1200px){.t-deco .nav a.l{display:none}}
.t-deco .s h2{overflow-wrap:anywhere;hyphens:auto}
@media (max-width:820px){.t-deco .s h2{font-size:calc(1.45rem*var(--ds));letter-spacing:.07em;gap:12px}.t-deco .hero h1{overflow-wrap:anywhere}}

/* Modules : valeurs, parcours, chiffres, articles, situations, accès */
.mval{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:34px}
.mval li{border-top:2px solid var(--accent);padding-top:18px}
.mv-n{display:block;font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--accent);margin-bottom:12px;font-variant-numeric:tabular-nums}
.mval h3{font-size:calc(1.8rem*var(--ds));margin-bottom:10px}.mval p{opacity:.82}
.mtl{list-style:none;padding:0;margin:0;position:relative;display:grid;gap:30px}
.mtl::before{content:"";position:absolute;left:5.6rem;top:8px;bottom:8px;width:2px;background:color-mix(in srgb,var(--accent) 35%,transparent)}
.mtl li{display:grid;grid-template-columns:4.4rem minmax(0,1fr);gap:2.4rem;position:relative}
.mtl li::after{content:"";position:absolute;left:calc(5.6rem - 5px);top:10px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg)}
.tl-y{font-family:var(--fd);font-weight:var(--dw);font-size:calc(1.45rem*var(--ds));color:var(--accent);line-height:1.2;text-align:right;font-variant-numeric:tabular-nums}
.mtl h3{font-size:calc(1.25rem*var(--ds));margin-bottom:6px}.mtl p{opacity:.8}
.mnum{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:28px}
.mnum li{border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}
.nv{font-family:var(--fd);font-weight:var(--dw);font-size:calc(3.4rem*var(--ds));line-height:1;color:var(--accent);margin:18px 0 10px!important;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.nv small{font-size:.36em;font-family:var(--fb);font-weight:600;color:var(--ink);opacity:.7}
.nl{opacity:.8;max-width:26ch}
.mnum:has(li:nth-child(4)){grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.mart{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}
.mart li{padding:26px;border-radius:var(--r);background:color-mix(in srgb,var(--accent) 7%,var(--bg));display:flex;flex-direction:column;gap:10px}
.ar-t{align-self:flex-start;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.mart h3{font-size:calc(1.35rem*var(--ds))}.mart p{opacity:.82}
.ar-m{margin-top:auto!important;padding-top:6px;font-size:14px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;opacity:1!important}.ar-m span{opacity:.65}.ar-m a{font-weight:700;color:var(--accent);text-underline-offset:4px}
.msign{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}.msign ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:4px 28px}
.s-m .w>div,.s-m .w>*{min-width:0}
.msign li{display:flex;gap:14px;align-items:flex-start;font-size:1.05rem;padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.ck{flex:none;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center}
.macc{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:24px}
.macc li{display:flex;gap:16px;align-items:flex-start}
.ai{flex:none;width:52px;height:52px;border-radius:var(--ri);background:color-mix(in srgb,var(--accent) 14%,var(--bg));color:var(--accent);display:grid;place-items:center}
.macc h3{font-size:calc(1.15rem*var(--ds));margin:4px 0}.macc p{opacity:.8;font-size:15.5px}
/* Variantes par modèle */
.t-bauhaus .mnum{gap:0}.t-bauhaus .mnum li{border:0;padding:4px 24px 24px}.t-bauhaus .mnum li:nth-child(3n+1){background:var(--accent);color:var(--on-accent)}.t-bauhaus .mnum li:nth-child(3n+2){background:var(--alt);color:var(--ink)}.t-bauhaus .mnum li:nth-child(3n){background:var(--ink);color:var(--bg)}.t-bauhaus .nv,.t-bauhaus .nv small{color:inherit}
.t-bauhaus .mval li{border-top:10px solid var(--accent)}.t-bauhaus .mval li:nth-child(2){border-color:var(--alt)}.t-bauhaus .mval li:nth-child(3){border-color:var(--c3)}
.t-altitude .mtl::before{background:none;border-left:2px dashed var(--accent)}.t-altitude .mtl li::after{border-radius:2px;transform:rotate(45deg)}.t-altitude .nv{font-weight:700;letter-spacing:-.01em}
.t-deco .mval li,.t-deco .mart li{border:1px solid color-mix(in srgb,var(--accent) 70%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:4px;background:none;border-radius:0;text-align:center;padding:28px 22px}.t-deco .ar-t{align-self:center}.t-deco .ar-m{justify-content:center}.t-deco .mnum li{text-align:center;border-top-color:var(--accent)}.t-deco .nv{justify-content:center}.t-deco .msign li{border-bottom-color:color-mix(in srgb,var(--accent) 40%,transparent)}.t-deco .ck{background:none;border:1px solid var(--accent);color:var(--accent);border-radius:0;transform:rotate(45deg)}.t-deco .ck svg{transform:rotate(-45deg)}
.t-chronique .mart{gap:0 28px}.t-chronique .mart li{background:none;border-radius:0;border-top:3px double var(--ink);padding:18px 0 22px}.t-chronique .mart h3{font-size:calc(1.55rem*var(--ds))}.t-chronique .mart li:first-child h3{font-size:calc(2rem*var(--ds))}.t-chronique .tl-y{font-style:italic}
.t-terrazzo .mart li,.t-terrazzo .mval li{border:2px solid var(--ink);border-radius:var(--r);box-shadow:5px 5px 0 var(--ink);background:var(--bg);padding:24px}.t-terrazzo .ck,.t-terrazzo .ai{border:2px solid var(--ink)}
.t-herbier .mart li{background:var(--bg);border-radius:2px;border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);box-shadow:3px 4px 0 color-mix(in srgb,var(--ink) 10%,transparent);transform:rotate(-.5deg)}.t-herbier .mart li:nth-child(even){transform:rotate(.6deg)}.t-herbier .tl-y{font-family:'Caveat',cursive;font-size:1.9rem;font-weight:600}
.t-aquarelle .mval li{border:0;padding:28px;border-radius:42px 64px 48px 70px;background:color-mix(in srgb,var(--alt) 50%,var(--bg))}.t-aquarelle .mval li:nth-child(2){border-radius:66px 40px 70px 46px;background:color-mix(in srgb,var(--c3) 22%,var(--bg))}
.t-foret .mval li{border:0;background:color-mix(in srgb,var(--alt) 55%,var(--bg));border-radius:var(--r);padding:26px}.t-foret .ai{border-radius:50%}
.t-cocon .msign li{border:0;background:color-mix(in srgb,var(--accent) 9%,var(--bg));border-radius:999px;padding:12px 20px 12px 12px;align-items:center}
.t-leman .mnum li{border-top:3px solid var(--accent)}.t-leman .nv{font-weight:800;letter-spacing:-.02em}.t-leman .macc .ai{border-radius:2px;background:var(--accent);color:var(--on-accent)}
.t-atelier .mart li{background:var(--bg);box-shadow:7px 7px 0 var(--alt);border:2px solid var(--ink)}
.t-nocturne .mart li,.t-nocturne .mval li{background:color-mix(in srgb,var(--ink) 4%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--r);padding:26px}.t-nocturne .msign ul{width:100%;max-width:820px;margin:0 auto}
.t-enso .mval li{border-top:1px solid var(--ink)}.t-enso .mv-n{color:var(--accent);font-family:var(--fd)}
.t-cyanotype .mart li,.t-cyanotype .mval li{background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:2px;padding:24px}
.t-serenite .mval,.t-serenite .msign{max-width:860px}
@media (max-width:820px){.mtl::before{left:3.4rem}.mtl li{grid-template-columns:2.6rem minmax(0,1fr);gap:1.8rem}.mtl li::after{left:calc(3.4rem - 5px)}.tl-y{font-size:1.05rem}.t-herbier .tl-y{font-size:1.35rem}.nv{font-size:calc(2.6rem*var(--ds))}.t-bauhaus .mnum li{padding:2px 18px 18px}}

/* Aura */
.t-aura .hero{position:relative;overflow:hidden;padding:56px 0 110px;isolation:isolate}
.t-aura .orb{position:absolute;border-radius:50%;filter:blur(60px);z-index:-2;pointer-events:none}
.t-aura .o1{width:52vmax;height:52vmax;left:-18vmax;top:-26vmax;background:color-mix(in srgb,var(--c3) 55%,transparent);animation:auraDrift 19s ease-in-out infinite alternate}
.t-aura .o2{width:44vmax;height:44vmax;right:-16vmax;bottom:-24vmax;background:color-mix(in srgb,var(--accent) 38%,transparent);animation:auraDrift 23s ease-in-out infinite alternate-reverse}
.t-aura .grain{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.07;pointer-events:none}
.t-aura .hero .w{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:64px;align-items:center}
.t-aura .halo{position:relative;aspect-ratio:1;width:100%;max-width:450px;justify-self:center;display:grid;place-items:center}
.t-aura .ring{position:absolute;inset:4%;border-radius:50%;background:conic-gradient(from 0deg,var(--accent),var(--c3),var(--alt),var(--accent));filter:blur(34px) saturate(1.25);opacity:.9;animation:auraSpin 26s linear infinite}
.t-aura .orbit{position:absolute;inset:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}
.t-aura .orbit::before{content:"";position:absolute;top:12%;right:12%;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px 4px color-mix(in srgb,var(--accent) 60%,transparent)}
.t-aura .halo .pic{position:relative;width:62%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 7px color-mix(in srgb,var(--bg) 65%,transparent),0 34px 80px -30px color-mix(in srgb,var(--accent) 70%,transparent)}
.t-aura .halo .ph{width:100%;height:100%}
.t-aura .hero .who{display:inline-block;padding:8px 16px;border-radius:999px;background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);font-size:14px;margin-bottom:24px}
.t-aura .hero .who::before{content:"";display:inline-block;vertical-align:middle;margin:-2px 10px 0 0;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}
.t-aura .hero h1{font-size:calc(4.3rem*var(--ds));line-height:1;margin-bottom:24px;letter-spacing:-.01em}
.t-aura .hero .sub{max-width:46ch;opacity:.8;font-size:1.1rem;margin-bottom:32px}
.t-aura .btn{box-shadow:0 12px 30px -12px color-mix(in srgb,var(--accent) 80%,transparent)}
.t-aura .btn.alt{background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 25%,transparent)}
.t-aura .s h2{font-size:calc(2.9rem*var(--ds))}
.t-aura .s h2::after{content:"";display:block;width:64px;height:6px;border-radius:6px;margin-top:16px;background:linear-gradient(90deg,var(--accent),var(--c3))}
.t-aura .mcta h2::after{display:none}
.t-aura main .s:nth-of-type(3n+2){background:radial-gradient(55% 70% at 92% 8%,color-mix(in srgb,var(--c3) 20%,transparent),transparent 70%),radial-gradient(50% 60% at 0% 100%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%)}
.t-aura .svc{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.t-aura .svc li,.t-aura .svc li:last-child,.t-aura .card,.t-aura .tm figure,.t-aura .mart li,.t-aura .mval li,.t-aura .bk{border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--r);padding:28px;background:linear-gradient(140deg,color-mix(in srgb,var(--bg) 72%,transparent),color-mix(in srgb,var(--alt) 60%,transparent));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 22px 50px -32px color-mix(in srgb,var(--accent) 55%,transparent)}
.t-aura .svc .h{flex-direction:column;align-items:flex-start;gap:6px}.t-aura .svc h3{min-width:0}
.t-aura .svc .p,.t-aura .nv,.t-aura .tl-y,.t-aura .pk-p{background:linear-gradient(90deg,var(--accent),var(--c3));-webkit-background-clip:text;background-clip:text;color:transparent}
.t-aura .nv small{-webkit-text-fill-color:currentColor;color:var(--ink)}
.t-aura .stamp{border:0;background:conic-gradient(from 120deg,var(--accent),var(--c3),var(--accent));color:var(--on-accent)}.t-aura .stamp b{color:inherit}
.t-aura .msteps .no,.t-aura .ck,.t-aura .ws-d{background:linear-gradient(135deg,var(--accent),var(--c3));color:#fff}
.t-aura .mval li{border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.t-aura .mq blockquote{font-style:italic}
.t-aura .mcta{background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 45%,var(--c3)))}
.t-aura .ft{border-top-color:color-mix(in srgb,var(--accent) 25%,transparent)}
@keyframes auraSpin{to{transform:rotate(1turn)}}
@keyframes auraDrift{to{transform:translate(7vmax,5vmax) scale(1.12)}}
@media (prefers-reduced-motion:reduce){.t-aura .ring,.t-aura .o1,.t-aura .o2{animation:none}}
@media (max-width:820px){.t-aura .hero{padding:30px 0 80px}.t-aura .hero .w{grid-template-columns:minmax(0,1fr);gap:30px}.t-aura .halo{max-width:290px}.t-aura .hero h1{font-size:calc(2.7rem*var(--ds))}.t-aura .s h2{font-size:calc(2rem*var(--ds))}}

/* Modules : respiration guidée, lexique, réseau de confiance */
.mbr{display:flex;flex-wrap:wrap;gap:44px;align-items:center}.mbr>div:last-child{flex:1 1 260px;min-width:0}
.br-o{position:relative;flex:none;width:min(300px,70vw);aspect-ratio:1;display:grid;place-items:center}
.br-o::before,.br-o::after{content:"";position:absolute;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,transparent)}
.br-o::before{inset:0}.br-o::after{inset:25%}
.br-c{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--accent) 35%,var(--bg)),var(--accent));transform:scale(.5);animation:brBreathe var(--d,10s) ease-in-out infinite;box-shadow:0 20px 60px -20px color-mix(in srgb,var(--accent) 70%,transparent)}
.br-in,.br-out,.br-rm{position:relative;grid-area:1/1;font-family:var(--fd);font-weight:var(--dw);font-size:calc(1.45rem*var(--ds));color:var(--on-accent);text-align:center}
.br-in{animation:brIn var(--d,10s) ease-in-out infinite}.br-out{opacity:0;animation:brOut var(--d,10s) ease-in-out infinite}.br-rm{display:none}
.br-n{margin-top:14px!important;font-size:14.5px;opacity:.7}
@keyframes brBreathe{0%,100%{transform:scale(.5)}50%{transform:scale(1)}}
@keyframes brIn{0%,42%{opacity:1}50%,92%{opacity:0}100%{opacity:1}}
@keyframes brOut{0%,42%{opacity:0}50%,92%{opacity:1}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.br-c{animation:none;transform:scale(.82)}.br-in,.br-out{display:none}.br-rm{display:block;max-width:62%;font-size:1.05rem}}
.mglo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0 40px;margin:0}
.gl-i{padding:18px 0;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.mglo dt{font-family:var(--fd);font-weight:var(--dw);font-size:calc(1.35rem*var(--ds));margin-bottom:6px;line-height:1.25}
.mglo dt::first-letter{color:var(--accent);font-size:1.3em}
.mglo dd{margin:0;opacity:.82}
.mnet{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}
.mnet li{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:var(--r);border:1.5px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.nt-m{flex:none;width:46px;height:46px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,var(--bg));color:var(--accent);display:grid;place-items:center;font-family:var(--fd);font-weight:var(--dw);font-size:1.1rem}
.mnet b{display:block;font-weight:700;line-height:1.3}.mnet small{display:block;opacity:.72;font-size:14px;line-height:1.4}.mnet .nt-p{opacity:.55}
.mnet a{text-decoration:none}.mnet a:hover b{text-decoration:underline;text-underline-offset:3px}
.t-deco .mnet li{border-radius:0;border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.t-deco .nt-m,.t-deco .br-c{border-radius:0}.t-deco .br-o::before,.t-deco .br-o::after{border-radius:0;border-style:solid;transform:rotate(45deg)}
.t-terrazzo .mnet li{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.t-bauhaus .br-c{background:var(--accent)}.t-bauhaus .br-o::after{border:0;background:var(--alt);inset:38%;z-index:0}
.t-chronique .mglo dt::first-letter{font-size:1.8em}.t-cyanotype .mglo dt::first-letter{color:var(--ink)}
.t-nocturne .br-c{background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--accent) 55%,#fff),var(--accent));box-shadow:0 0 80px 10px color-mix(in srgb,var(--accent) 30%,transparent)}
.t-aura .br-c{background:conic-gradient(from 0deg,var(--accent),var(--c3),var(--accent));filter:saturate(1.2)}

/* Marée */
.t-maree .hero{position:relative;overflow:hidden;padding:64px 0 210px;background:linear-gradient(180deg,var(--alt) 0%,color-mix(in srgb,var(--alt) 45%,var(--bg)) 60%,var(--bg) 100%)}
.t-maree .hero .w{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.t-maree .hero .who{font-family:var(--fd);font-style:italic;font-size:1.3rem;color:var(--accent);margin-bottom:14px}
.t-maree .hero h1{font-size:calc(4.1rem*var(--ds));line-height:1.04;margin-bottom:22px}
.t-maree .hero .sub{max-width:46ch;opacity:.82;font-size:1.1rem;margin-bottom:30px}
.t-maree .sun{position:relative;justify-self:center;width:100%;max-width:380px;aspect-ratio:1;display:grid;place-items:center;margin-bottom:-90px}
.t-maree .sun::before{content:"";position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(circle,var(--c3) 0 50%,color-mix(in srgb,var(--c3) 40%,transparent) 51%,transparent 71%);animation:mareeSun 9s ease-in-out infinite alternate}
.t-maree .sun .pic{position:relative;width:76%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px color-mix(in srgb,var(--bg) 80%,transparent)}
.t-maree .sun .ph{width:100%;height:100%}
.t-maree .waves{position:absolute;left:0;right:0;bottom:-1px;height:160px;overflow:hidden;pointer-events:none;z-index:2}
.t-maree .wv{position:absolute;left:0;bottom:0;width:200%;height:100%;animation:mareeFlow 22s linear infinite}
.t-maree .w1{animation-duration:34s}.t-maree .w2{animation-duration:26s;animation-direction:reverse}.t-maree .w3{animation-duration:19s}.t-maree .w4{animation-duration:15s;animation-direction:reverse}
.t-maree main .s:nth-of-type(even){position:relative;background:color-mix(in srgb,var(--alt) 55%,var(--bg))}
.t-maree main .s:nth-of-type(even)::before{content:"";position:absolute;left:0;right:0;top:-39px;height:40px;background:inherit;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='40' viewBox='0 0 1200 40'%3E%3Cpath d='M0 22 Q150 2 300 22 T600 22 T900 22 T1200 22 V40 H0Z'/%3E%3C/svg%3E") bottom left/1200px 40px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='40' viewBox='0 0 1200 40'%3E%3Cpath d='M0 22 Q150 2 300 22 T600 22 T900 22 T1200 22 V40 H0Z'/%3E%3C/svg%3E") bottom left/1200px 40px repeat-x}
.t-maree .s h2::after{content:"";display:block;width:84px;height:10px;margin-top:14px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='10' viewBox='0 0 42 10'%3E%3Cpath d='M0 5 Q10.5 0 21 5 T42 5' fill='none' stroke='black' stroke-width='2.4'/%3E%3C/svg%3E") 0 0/42px 10px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='10' viewBox='0 0 42 10'%3E%3Cpath d='M0 5 Q10.5 0 21 5 T42 5' fill='none' stroke='black' stroke-width='2.4'/%3E%3C/svg%3E") 0 0/42px 10px repeat-x}
.t-maree .mcta h2::after,.t-maree .mq h2::after{display:none}
.t-maree .svc{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}
.t-maree .svc li,.t-maree .svc li:last-child,.t-maree .card,.t-maree .tm figure{border:0;border-radius:var(--r);padding:26px;background:var(--bg);box-shadow:0 18px 40px -28px color-mix(in srgb,var(--accent) 65%,transparent)}
.t-maree .svc .h{flex-direction:column;align-items:flex-start;gap:6px}.t-maree .svc h3{min-width:0}.t-maree .svc .p{color:var(--accent);font-size:1.15rem}
.t-maree .stamp{border-color:var(--c3);border-width:3px}
.t-maree .tm blockquote{font-style:italic}
.t-maree .br-c{background:radial-gradient(circle at 35% 30%,var(--c3),color-mix(in srgb,var(--c3) 30%,var(--accent)) 60%,var(--accent))}
.t-maree .mcta{background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 60%,var(--c3)))}
@keyframes mareeFlow{to{transform:translateX(-50%)}}
@keyframes mareeSun{to{transform:translateY(-10px) scale(1.03)}}
@media (prefers-reduced-motion:reduce){.t-maree .wv,.t-maree .sun::before{animation:none}}
@media (max-width:820px){.t-maree .hero{padding:34px 0 150px}.t-maree .hero .w{grid-template-columns:minmax(0,1fr);gap:28px}.t-maree .sun{max-width:230px;margin-bottom:-40px}.t-maree .hero h1{font-size:calc(2.6rem*var(--ds))}.t-maree .waves{height:110px}.t-maree main .s:nth-of-type(even)::before{top:-27px;height:28px;-webkit-mask-size:800px 28px;mask-size:800px 28px}}

/* Image de fond du héros : un voile aux couleurs du site garde le texte lisible */
.hero.has-bg{position:relative;isolation:isolate;background-image:var(--hero-img);background-size:cover;background-position:center}
.hero.has-bg::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 94%,transparent) 0%,color-mix(in srgb,var(--bg) 84%,transparent) 42%,color-mix(in srgb,var(--bg) 30%,transparent) 100%)}
.t-serenite .hero.has-bg::after{background:radial-gradient(ellipse at 50% 55%,color-mix(in srgb,var(--bg) 93%,transparent) 0%,color-mix(in srgb,var(--bg) 82%,transparent) 50%,color-mix(in srgb,var(--bg) 50%,transparent) 100%)}
.t-nocturne .hero.has-bg,.t-deco .hero.has-bg,.t-cyanotype .hero.has-bg{background-color:var(--bg);background-blend-mode:luminosity}
.t-nocturne .hero.has-bg::after{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 92%,transparent) 0%,color-mix(in srgb,var(--bg) 72%,transparent) 55%,color-mix(in srgb,var(--bg) 40%,transparent) 100%)}
.t-deco .hero.has-bg::after{background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--bg) 90%,transparent) 0%,color-mix(in srgb,var(--bg) 74%,transparent) 60%,color-mix(in srgb,var(--bg) 55%,transparent) 100%)}
.t-cyanotype .hero.has-bg::after{background:linear-gradient(270deg,color-mix(in srgb,var(--bg) 90%,transparent) 0%,color-mix(in srgb,var(--bg) 72%,transparent) 50%,color-mix(in srgb,var(--bg) 35%,transparent) 100%)}
.t-maree .hero.has-bg::after{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 92%,transparent) 0%,color-mix(in srgb,var(--bg) 70%,transparent) 50%,color-mix(in srgb,var(--bg) 15%,transparent) 100%)}
.t-altitude .hero.has-bg .topo{z-index:0;opacity:.75}.t-altitude .hero.has-bg .w{position:relative;z-index:1}
@media (max-width:820px){[class*="t-"] .hero.has-bg::after{background:color-mix(in srgb,var(--bg) 86%,transparent)}}

/* Apparition des sections au défilement (navigateurs compatibles, sans script) */
@supports (animation-timeline:view()){
 .t-kintsugi main .s .w,.t-envol main .s .w,.t-resonance main .s .w{animation:revealUp linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
}
@keyframes revealUp{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}

/* Kintsugi */
.t-kintsugi .hero{position:relative;overflow:hidden;padding:70px 0 110px;isolation:isolate;background:radial-gradient(60% 70% at 78% 40%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%)}
.t-kintsugi .dust{position:absolute;inset:0;z-index:-1;pointer-events:none}
.t-kintsugi .dust i{position:absolute;width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle,#F6DE9A,var(--accent) 60%,transparent 70%);opacity:0;animation:kinTwinkle var(--d) ease-in-out infinite;animation-delay:var(--l)}
.t-kintsugi .hero .w{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:60px;align-items:center}
.t-kintsugi .hero .who{text-transform:uppercase;letter-spacing:.22em;font-size:12.5px;color:var(--accent);margin-bottom:22px}
.t-kintsugi .hero h1{font-size:calc(4.4rem*var(--ds));line-height:1.02;letter-spacing:-.02em;margin-bottom:24px}
.t-kintsugi .hero .sub{max-width:44ch;opacity:.8;font-size:1.1rem;margin-bottom:34px}
.t-kintsugi .btn{border-radius:999px}
.t-kintsugi .btn:not(.alt){background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#fff7dc));color:#1b1a1f}
.t-kintsugi .bowl{position:relative;width:100%;max-width:440px;aspect-ratio:1;justify-self:center}
.t-kintsugi .bowl .pic{position:absolute;inset:8%;border-radius:50%;overflow:hidden;box-shadow:0 0 0 10px color-mix(in srgb,var(--ink) 9%,var(--alt)),0 40px 90px -30px rgba(0,0,0,.55)}
.t-kintsugi .bowl .ph{width:100%;height:100%}
.t-kintsugi .seams{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.t-kintsugi .seams .sm{fill:none;stroke:url(#kg);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:kinDraw 2.4s cubic-bezier(.6,.1,.3,1) forwards;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 70%,transparent))}
.t-kintsugi .seams .s1{animation-delay:.7s}.t-kintsugi .seams .s2{animation-delay:1.2s}.t-kintsugi .seams .s3{animation-delay:1.7s}
.t-kintsugi .seams .gl{fill:none;stroke:#FFF6D8;stroke-width:2;stroke-linecap:round;stroke-dasharray:.06 .94;stroke-dashoffset:1;opacity:0;animation:kinGlint 5s ease-in-out infinite;animation-delay:3s}
.t-kintsugi .seams .g1{animation-delay:4.2s}.t-kintsugi .seams .g2{animation-delay:5.4s}.t-kintsugi .seams .g3{animation-delay:6.6s}
.t-kintsugi .s h2{font-style:italic}
.t-kintsugi .s h2::after{content:"";display:block;width:110px;height:3px;margin-top:18px;border-radius:3px;background:linear-gradient(90deg,var(--accent),#F6DE9A,var(--accent));clip-path:polygon(0 40%,22% 0,40% 70%,58% 10%,78% 80%,100% 30%,100% 100%,0 100%)}
.t-kintsugi .ab .cred,.t-kintsugi .rt{border-color:var(--accent)}
.t-kintsugi main .s:nth-of-type(even){background:var(--alt)}
.t-kintsugi .svc{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}
.t-kintsugi .svc li,.t-kintsugi .svc li:last-child,.t-kintsugi .card,.t-kintsugi .tm figure,.t-kintsugi .mart li{border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:var(--r);padding:26px;background:linear-gradient(135deg,transparent 46%,color-mix(in srgb,var(--accent) 80%,transparent) 47% 48%,transparent 49%) top right/54px 54px no-repeat,color-mix(in srgb,var(--ink) 3%,var(--bg))}
.t-kintsugi .svc .h{flex-direction:column;align-items:flex-start;gap:6px}.t-kintsugi .svc h3{min-width:0}.t-kintsugi .svc .p,.t-kintsugi .tl-y,.t-kintsugi .nv{color:var(--accent)}
.t-kintsugi .mq blockquote{font-style:italic;font-weight:300}
.t-kintsugi .mq figcaption::before{content:"";display:block;width:40px;height:1px;background:var(--accent);margin:0 auto 14px}
.t-kintsugi .stamp{border-color:var(--accent)}.t-kintsugi .stamp b{color:var(--accent)}
.t-kintsugi .msign .ck,.t-kintsugi .msteps .no{background:var(--accent);color:#1b1a1f}
@keyframes kinDraw{to{stroke-dashoffset:0}}
@keyframes kinGlint{0%{stroke-dashoffset:1;opacity:0}10%{opacity:1}60%{stroke-dashoffset:0;opacity:1}70%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes kinTwinkle{0%,100%{opacity:0;transform:translateY(0) scale(.6)}50%{opacity:.9;transform:translateY(-14px) scale(1)}}

/* Envol */
.t-envol .hero{position:relative;overflow:hidden;padding:64px 0 140px;isolation:isolate}
.t-envol .sky{position:absolute;inset:0;z-index:-3;background:linear-gradient(180deg,var(--alt),color-mix(in srgb,var(--alt) 35%,var(--bg)) 70%,var(--bg))}
.t-envol .sky::before,.t-envol .sky::after{content:"";position:absolute;border-radius:50%;background:color-mix(in srgb,var(--bg) 70%,transparent);filter:blur(30px)}
.t-envol .sky::before{width:46vw;height:16vw;left:-8vw;top:10%;animation:envCloud 40s ease-in-out infinite alternate}
.t-envol .sky::after{width:34vw;height:12vw;right:-6vw;top:42%;animation:envCloud 52s ease-in-out infinite alternate-reverse}
.t-envol .hero .w{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:54px;align-items:center}
.t-envol .hero .who{display:inline-block;padding:8px 16px;border-radius:999px;background:color-mix(in srgb,var(--bg) 70%,transparent);color:var(--accent);font-weight:700;font-size:14px;margin-bottom:22px}
.t-envol .hero h1{font-size:calc(3.9rem*var(--ds));line-height:1.06;letter-spacing:-.01em;margin-bottom:22px}
.t-envol .hero .sub{max-width:46ch;opacity:.82;font-size:1.12rem;margin-bottom:32px}
.t-envol .bubble{position:relative;justify-self:center;width:100%;max-width:360px;aspect-ratio:1;animation:envFloat 7s ease-in-out infinite}
.t-envol .bubble .pic{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 30px 60px -28px color-mix(in srgb,var(--accent) 60%,transparent),inset 0 0 0 8px color-mix(in srgb,var(--bg) 60%,transparent)}
.t-envol .bubble .ph{width:100%;height:100%}
.t-envol .dandelion{position:absolute;right:6%;bottom:-12px;height:84%;width:auto;z-index:-1;color:var(--accent);opacity:.9}
.t-envol .dandelion .stem{stroke:color-mix(in srgb,var(--accent) 60%,var(--ink));stroke-width:3}
.t-envol .dandelion .globe{stroke:color-mix(in srgb,var(--ink) 30%,var(--bg));stroke-width:1;fill:var(--bg);transform-origin:0 0;animation:envBreeze 6s ease-in-out infinite}
.t-envol .dandelion .core{fill:var(--c3)}
.t-envol .seeds{position:absolute;inset:0;z-index:-1;pointer-events:none}
.t-envol .sd{position:absolute;left:var(--x);top:var(--y);width:calc(34px*var(--z));color:color-mix(in srgb,var(--ink) 45%,var(--bg));stroke:currentColor;fill:none;opacity:0;animation:envDrift var(--t) linear infinite;animation-delay:var(--l)}
.t-envol .sd svg{display:block;width:100%;height:auto;overflow:visible}
.t-envol .s h2::before{content:"";display:block;width:26px;height:38px;margin-bottom:12px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-20 -24 40 60'%3E%3Cg stroke='black' fill='none' stroke-width='2'%3E%3Cpath d='M0 0V32'/%3E%3Cpath d='M0 0L-17 -6M0 0L-12 -14M0 0L-4 -18M0 0L4 -18M0 0L12 -14M0 0L17 -6'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-20 -24 40 60'%3E%3Cg stroke='black' fill='none' stroke-width='2'%3E%3Cpath d='M0 0V32'/%3E%3Cpath d='M0 0L-17 -6M0 0L-12 -14M0 0L-4 -18M0 0L4 -18M0 0L12 -14M0 0L17 -6'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;animation:envSway 5s ease-in-out infinite;transform-origin:50% 100%}
.t-envol .mcta h2::before{display:none}
.t-envol main .s:nth-of-type(even){background:linear-gradient(180deg,color-mix(in srgb,var(--alt) 60%,var(--bg)),var(--bg))}
.t-envol .svc{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}
.t-envol .svc li,.t-envol .svc li:last-child,.t-envol .card,.t-envol .tm figure,.t-envol .mval li{border:0;border-radius:28px;padding:26px;background:var(--bg);box-shadow:0 18px 40px -26px color-mix(in srgb,var(--accent) 55%,transparent);transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.t-envol .svc li:hover,.t-envol .card:hover{transform:translateY(-6px)}
.t-envol .svc .h{flex-direction:column;align-items:flex-start;gap:6px}.t-envol .svc h3{min-width:0}.t-envol .svc .p{color:var(--accent)}
.t-envol .btn{transition:transform .3s}.t-envol .btn:hover{transform:translateY(-2px)}
@keyframes envDrift{0%{opacity:0;transform:translate(0,0) rotate(0) scale(var(--z))}8%{opacity:.85}50%{transform:translate(calc(var(--dx)*.5),calc(var(--dy)*.45)) rotate(calc(var(--r)*.5)) scale(var(--z))}85%{opacity:.7}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r)) scale(var(--z))}}
@keyframes envFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes envBreeze{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}
@keyframes envSway{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@keyframes envCloud{to{transform:translateX(12vw)}}

/* Résonance */
.t-resonance .hero{position:relative;overflow:hidden;padding:60px 0 150px;text-align:center;isolation:isolate}
.t-resonance .hero .w{position:relative;z-index:1}
.t-resonance .core{position:relative;width:min(300px,64vw);aspect-ratio:1;margin:0 auto 40px}
.t-resonance .core .pic{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 50%,transparent),0 30px 70px -30px color-mix(in srgb,var(--accent) 80%,transparent)}
.t-resonance .core .ph{width:100%;height:100%}
.t-resonance .rip{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--accent);opacity:0;animation:resRipple 7.5s cubic-bezier(.15,.6,.35,1) infinite}
.t-resonance .rip:nth-child(2){animation-delay:1.5s}.t-resonance .rip:nth-child(3){animation-delay:3s}.t-resonance .rip:nth-child(4){animation-delay:4.5s}.t-resonance .rip:nth-child(5){animation-delay:6s;border-color:var(--c3)}
.t-resonance .hero .who{text-transform:uppercase;letter-spacing:.24em;font-size:12.5px;color:var(--accent);margin-bottom:16px}
.t-resonance .hero h1{font-size:calc(4rem*var(--ds));line-height:1.05;max-width:20ch;margin:0 auto 20px}
.t-resonance .hero .sub{max-width:52ch;margin:0 auto 32px;opacity:.8;font-size:1.1rem}
.t-resonance .cta2{justify-content:center}
.t-resonance .wave{position:absolute;left:0;bottom:24px;width:200%;height:110px;z-index:0;pointer-events:none}
.t-resonance .wave path{fill:none;stroke-linecap:round}
.t-resonance .wv1{stroke:var(--accent);stroke-width:2;opacity:.55;animation:resFlow 14s linear infinite}
.t-resonance .wv2{stroke:var(--c3);stroke-width:1.5;opacity:.45;animation:resFlow 9s linear infinite reverse}
.t-resonance .wv3{stroke:var(--accent);stroke-width:1;opacity:.3;animation:resFlow 22s linear infinite}
.t-resonance .s h2{text-align:center}
.t-resonance .s h2::before{content:"";display:block;width:12px;height:12px;border-radius:50%;margin:0 auto 22px;background:var(--accent);animation:resPing 3s ease-out infinite}
.t-resonance .mcta h2::before{display:none}
.t-resonance .ab{grid-template-columns:minmax(0,1fr);max-width:760px;margin:0 auto;text-align:center}.t-resonance .lead{margin-left:auto;margin-right:auto}.t-resonance .cred{border:0;padding:0}
.t-resonance .svc{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}
.t-resonance .svc li,.t-resonance .svc li:last-child,.t-resonance .card,.t-resonance .tm figure{border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--r);padding:28px;text-align:center;background:radial-gradient(circle at 50% -20%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),var(--bg)}
.t-resonance .svc .h{flex-direction:column;align-items:center;gap:6px}.t-resonance .svc h3{min-width:0}.t-resonance .svc .p{color:var(--accent);font-size:1.15rem}
.t-resonance .rt{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.t-resonance .pay{justify-content:center}
.t-resonance .msteps{counter-reset:none}.t-resonance .msteps li{text-align:center}.t-resonance .msteps .no{margin:0 auto 14px;background:none;border:1.5px solid var(--accent);color:var(--accent);animation:resPing 3s ease-out infinite}
.t-resonance .msteps li:nth-child(2) .no{animation-delay:1s}.t-resonance .msteps li:nth-child(3) .no{animation-delay:2s}
.t-resonance main .s:nth-of-type(odd){background:color-mix(in srgb,var(--alt) 55%,var(--bg))}
@keyframes resRipple{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.6);opacity:0}}
@keyframes resFlow{to{transform:translateX(-50%)}}
@keyframes resPing{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent)}100%{box-shadow:0 0 0 18px transparent}}

@media (prefers-reduced-motion:reduce){
 .t-kintsugi *,.t-envol *,.t-resonance *{animation:none!important;transition:none!important}
 .t-kintsugi .seams .sm{stroke-dashoffset:0}.t-kintsugi .seams .gl,.t-kintsugi .dust{display:none}
 .t-envol .sd{opacity:.5;transform:scale(var(--z))}
 .t-resonance .rip:nth-child(-n+3){opacity:.25}.t-resonance .rip:nth-child(1){transform:scale(1.25)}.t-resonance .rip:nth-child(2){transform:scale(1.55)}.t-resonance .rip:nth-child(3){transform:scale(1.9)}
}
@media (max-width:820px){
 .t-kintsugi .hero{padding:36px 0 80px}.t-kintsugi .hero .w,.t-envol .hero .w{grid-template-columns:minmax(0,1fr);gap:34px}
 .t-kintsugi .bowl{max-width:280px;order:-1}.t-kintsugi .hero h1{font-size:calc(2.6rem*var(--ds))}
 .t-envol .hero{padding:34px 0 110px}.t-envol .bubble{max-width:230px;order:-1}.t-envol .hero h1{font-size:calc(2.5rem*var(--ds))}.t-envol .dandelion{height:56%;right:-4%;opacity:.45}
 .t-resonance .hero{padding:40px 0 120px}.t-resonance .core{width:min(220px,58vw);margin-bottom:56px}.t-resonance .hero h1{font-size:calc(2.5rem*var(--ds))}
}

/* Modules métier */
.bk-note{display:block;font-size:12.5px;opacity:.7;margin-top:4px}
.mmenu{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:30px 48px}
.mm-cat h3{font-size:calc(1.35rem*var(--ds));margin-bottom:12px;color:var(--accent)}
.mm-cat ul{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.mm-l{display:flex;align-items:baseline;gap:8px}.mm-n{font-weight:700}
.mm-dots{flex:1;min-width:20px;border-bottom:2px dotted color-mix(in srgb,var(--ink) 30%,transparent);transform:translateY(-4px)}
.mm-p{white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}
.mm-d{opacity:.75;font-size:15px;margin-top:2px!important}
.mm-t{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px!important}.mm-t span{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--bg));color:var(--accent)}
.mm-note{grid-column:1/-1;font-size:14px;opacity:.7}
.mhours{max-width:560px}.mhours ul{list-style:none;padding:0;margin:0;display:grid}
.mhours li{display:flex;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.hd-d{width:110px;font-weight:700}.hd-h{flex:1;font-variant-numeric:tabular-nums}
.mhours li.today{background:color-mix(in srgb,var(--accent) 9%,transparent);border-radius:var(--ri);padding-left:12px;padding-right:12px}
.hd-now{font-size:12px;font-weight:700;color:var(--on-accent);background:var(--accent);padding:3px 10px;border-radius:999px}
.hd-note{font-size:14px;opacity:.7;margin-top:12px!important}
.mworks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}
.mworks figure{margin:0;border-radius:var(--r);overflow:hidden;background:color-mix(in srgb,var(--accent) 6%,var(--bg));height:100%}
.mworks img,.mworks svg{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.mworks figcaption{padding:16px 18px 20px;display:grid;gap:4px}.mworks b{font-family:var(--fd);font-weight:var(--dw);font-size:calc(1.2rem*var(--ds))}.mworks small{color:var(--accent);font-weight:700;font-size:13px}.mworks figcaption>span{opacity:.78;font-size:15px}
@media (max-width:820px){.hd-d{width:90px}}

/* Enseigne (barbier, coiffure) */
.t-enseigne .hero{padding:56px 0 90px;background:repeating-linear-gradient(90deg,transparent 0 120px,color-mix(in srgb,var(--ink) 3%,transparent) 120px 121px)}
.t-enseigne .hero .w{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.t-enseigne .poster{border:3px solid var(--ink);padding:40px 38px;position:relative;background:var(--bg);box-shadow:10px 10px 0 var(--accent)}
.t-enseigne .poster::before{content:"";position:absolute;inset:8px;border:1px solid var(--ink);pointer-events:none}
.t-enseigne .est{text-transform:uppercase;letter-spacing:.3em;font-size:12px;font-weight:600;color:var(--accent);margin-bottom:10px}
.t-enseigne .hero h1{font-size:calc(5.4rem*var(--ds));line-height:.92;letter-spacing:.01em;margin-bottom:12px}
.t-enseigne .hero .who{text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:600;margin-bottom:18px;padding-bottom:16px;border-bottom:2px solid var(--ink)}
.t-enseigne .hero .tg{font-size:1.25rem;font-weight:600;margin-bottom:10px}.t-enseigne .hero .sub{opacity:.8;margin-bottom:26px}
.t-enseigne .btn{border-radius:0;text-transform:uppercase;letter-spacing:.08em}
.t-enseigne .frame{position:relative;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center}
.t-enseigne .frame .pic{aspect-ratio:3/4;border:3px solid var(--ink);box-shadow:-10px 10px 0 var(--c3)}.t-enseigne .frame .ph{height:100%}
.t-enseigne .pole{display:grid;justify-items:center;gap:0;width:56px}
.t-enseigne .pole .cap{display:block;width:56px;height:22px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,#e9e5dc,#a9a39a)}.t-enseigne .pole .cap.b{border-radius:4px 4px 12px 12px}
.t-enseigne .pole .glass{display:block;width:40px;height:260px;border-radius:20px;overflow:hidden;position:relative;box-shadow:inset 0 0 0 3px rgba(255,255,255,.6),0 10px 30px -10px rgba(0,0,0,.4)}
.t-enseigne .pole .stripes{position:absolute;left:0;right:0;top:-120px;bottom:0;background:repeating-linear-gradient(135deg,var(--accent) 0 18px,#fff 18px 36px,var(--c3) 36px 54px,#fff 54px 72px);animation:polePan 2.4s linear infinite}
.t-enseigne .pole .glass::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.55),transparent 40%,transparent 70%,rgba(0,0,0,.18))}
.t-enseigne .s h2{text-transform:uppercase;letter-spacing:.04em;font-size:calc(3rem*var(--ds));overflow-wrap:anywhere}.t-enseigne .hero h1,.t-plan .hero h1{overflow-wrap:anywhere}
.t-enseigne .s h2::after{content:"";display:block;width:80px;height:6px;margin-top:10px;background:repeating-linear-gradient(135deg,var(--accent) 0 8px,transparent 8px 12px,var(--c3) 12px 20px,transparent 20px 24px)}
.t-enseigne .svc li{border-top:2px solid var(--ink)}.t-enseigne .svc .p{font-family:var(--fd);font-size:1.6rem;font-weight:400;color:var(--accent)}
.t-enseigne .card,.t-enseigne .tm figure,.t-enseigne .mworks figure{border:2px solid var(--ink);border-radius:0;box-shadow:6px 6px 0 var(--accent);background:var(--bg)}
.t-enseigne main .s:nth-of-type(even){background:var(--alt)}
@keyframes polePan{to{transform:translateY(72px)}}

/* Ardoise (restaurants, cafés) */
.t-ardoise .hero{padding:26px 0 70px}
.t-ardoise .board{position:relative;margin:0 auto;max-width:1180px;border-radius:14px;background:var(--alt);color:#F4EFE6;padding:64px 0;border:14px solid #7a5a3c;box-shadow:inset 0 0 80px rgba(0,0,0,.45),0 30px 60px -30px rgba(0,0,0,.5);overflow:hidden;isolation:isolate}
.t-ardoise .chalk{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.t-ardoise .board .w{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center}
.t-ardoise .hero .who{font-family:var(--fb);text-transform:uppercase;letter-spacing:.2em;font-size:12.5px;color:var(--c3);margin-bottom:10px}
.t-ardoise .hero h1{font-size:calc(4rem*var(--ds));line-height:1;color:#FBF8F1;text-shadow:0 0 1px rgba(255,255,255,.4)}
.t-ardoise .squig{display:block;width:260px;max-width:70%;height:20px;margin:6px 0 18px;overflow:visible}
.t-ardoise .squig path{fill:none;stroke:var(--c3);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:chalkDraw 1.6s .4s ease-out forwards}
.t-ardoise .hero .sub{color:#E9E3D7;opacity:.9;margin-bottom:28px;max-width:46ch}
.t-ardoise .board .btn{background:#FBF8F1;color:#1f1f1f}.t-ardoise .board .btn.alt{background:transparent;color:#FBF8F1;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.t-ardoise .board .pic{aspect-ratio:1;border-radius:50%;overflow:hidden;border:6px solid rgba(255,255,255,.85);transform:rotate(-3deg)}.t-ardoise .board .ph{height:100%}
.t-ardoise .cup{position:absolute;right:4%;bottom:6%;width:120px;color:#F4EFE6;opacity:.8;z-index:-1}
.t-ardoise .steam path{animation:steam 3.2s ease-in-out infinite}.t-ardoise .steam path:nth-child(2){animation-delay:.6s}.t-ardoise .steam path:nth-child(3){animation-delay:1.2s}
.t-ardoise .s h2{font-size:calc(3.2rem*var(--ds));color:var(--accent);overflow-wrap:anywhere}.t-ardoise .hero h1,.t-vitrine .hero h1{overflow-wrap:anywhere}
.t-ardoise .mmenu{background:var(--alt);color:#F4EFE6;border-radius:14px;padding:36px;border:10px solid #7a5a3c}
.t-ardoise .mmenu .mm-cat h3{font-family:var(--fd);font-size:2rem;color:var(--c3)}.t-ardoise .mm-dots{border-color:rgba(255,255,255,.35)}.t-ardoise .mm-t span{background:rgba(255,255,255,.12);color:#F4EFE6}
.t-ardoise .card,.t-ardoise .tm figure{border-radius:var(--r);background:color-mix(in srgb,var(--c3) 10%,var(--bg))}
@keyframes chalkDraw{to{stroke-dashoffset:0}}
@keyframes steam{0%{transform:translateY(8px);opacity:0}30%{opacity:.9}100%{transform:translateY(-22px);opacity:0}}

/* Plan (artisans) */
.t-plan .hero{position:relative;overflow:hidden;padding:64px 0 90px;background:var(--alt);color:#EAF2FA;isolation:isolate}
.t-plan .grid-bg{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px}
.t-plan .bp{position:absolute;right:-2%;top:6%;width:min(560px,56%);height:auto;z-index:-1;opacity:.9}
.t-plan .bp .ln{stroke:rgba(255,255,255,.75);stroke-width:2.2;stroke-dasharray:1;stroke-dashoffset:1;animation:bpDraw 1.4s ease-out forwards;animation-delay:calc(var(--i)*.35s)}
.t-plan .bp text{fill:rgba(255,255,255,.7);font:500 13px 'IBM Plex Mono',monospace;letter-spacing:.06em}
.t-plan .bp .tag rect{fill:none;stroke:rgba(255,255,255,.6);stroke-width:1.5}
.t-plan .hero .w{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:center}
.t-plan .hero .who{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.08em;color:var(--c3);margin-bottom:14px;text-transform:uppercase}
.t-plan .hero h1{font-size:calc(4.6rem*var(--ds));line-height:.98;text-transform:uppercase;color:#fff;margin-bottom:14px}
.t-plan .hero .tg{font-size:1.3rem;font-weight:500;margin-bottom:10px;color:#fff}.t-plan .hero .sub{opacity:.85;margin-bottom:28px;max-width:48ch}
.t-plan .hero .btn{background:var(--c3);color:#1d1d1d}.t-plan .hero .btn.alt{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.t-plan .hero .pic{position:relative;aspect-ratio:4/5;border:2px solid rgba(255,255,255,.7);padding:10px;background:rgba(255,255,255,.06)}.t-plan .hero .ph{height:100%}
.t-plan .stamp-q{position:absolute;right:-18px;bottom:28px;transform:rotate(-8deg);border:3px solid var(--c3);color:var(--c3);font:600 15px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;padding:8px 14px;background:var(--alt);animation:stampIn .5s 2.6s cubic-bezier(.3,1.6,.5,1) both}
.t-plan .s h2{text-transform:uppercase}
.t-plan .s h2::before{content:"";display:block;width:56px;height:10px;margin-bottom:14px;background:linear-gradient(var(--accent),var(--accent)) left center/100% 2px no-repeat,linear-gradient(var(--accent),var(--accent)) left/2px 100% no-repeat,linear-gradient(var(--accent),var(--accent)) right/2px 100% no-repeat}
.t-plan .svc li,.t-plan .card,.t-plan .tm figure,.t-plan .mworks figure{border:1.5px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:2px;background:linear-gradient(color-mix(in srgb,var(--accent) 6%,transparent) 1px,transparent 1px) 0 0/16px 16px,linear-gradient(90deg,color-mix(in srgb,var(--accent) 6%,transparent) 1px,transparent 1px) 0 0/16px 16px,var(--bg)}
.t-plan .svc{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}.t-plan .svc li{padding:22px}.t-plan .svc .h{flex-direction:column;align-items:flex-start;gap:6px}.t-plan .svc h3{min-width:0}
.t-plan .nv,.t-plan .svc .p{font-family:'IBM Plex Mono',monospace;color:var(--accent)}
@keyframes bpDraw{to{stroke-dashoffset:0}}
@keyframes stampIn{from{opacity:0;transform:rotate(-8deg) scale(2)}to{opacity:1;transform:rotate(-8deg) scale(1)}}

/* Vitrine (commerces) */
.t-vitrine .hero{padding:0 0 70px}
.t-vitrine .shop{position:relative;padding-top:120px;background:linear-gradient(180deg,var(--alt),var(--bg) 85%)}
.t-vitrine .awning{position:absolute;left:0;right:0;top:0;height:96px;transform-origin:top center;animation:awningSway 6s ease-in-out infinite}
.t-vitrine .awning .stripes{position:absolute;inset:0 0 18px;background:repeating-linear-gradient(90deg,var(--accent) 0 60px,var(--bg) 60px 120px);box-shadow:0 10px 24px -14px rgba(0,0,0,.45)}
.t-vitrine .scallop{position:absolute;left:0;bottom:0;width:100%;height:24px}.t-vitrine .scallop path{fill:var(--accent)}
.t-vitrine .garland{position:absolute;left:4%;right:4%;top:108px;height:30px;display:flex;justify-content:space-between;border-top:2px solid color-mix(in srgb,var(--ink) 30%,transparent);border-radius:0 0 50% 50%/0 0 100% 100%}
.t-vitrine .garland i{width:10px;height:10px;border-radius:50%;background:var(--c3);margin-top:6px;box-shadow:0 0 12px 3px color-mix(in srgb,var(--c3) 70%,transparent);animation:twinkle 2.4s ease-in-out infinite;animation-delay:var(--d)}
.t-vitrine .sign{position:absolute;right:8%;top:150px;transform-origin:50% 0;animation:signSwing 4s ease-in-out infinite;z-index:2}
.t-vitrine .sign .string{display:block;width:60px;height:26px;margin:0 auto;border:2px solid color-mix(in srgb,var(--ink) 60%,transparent);border-bottom:0;border-radius:30px 30px 0 0}
.t-vitrine .sign span{display:block;padding:8px 18px;border-radius:8px;background:var(--bg);border:2px solid var(--ink);font:italic 600 1.2rem var(--fd);box-shadow:0 8px 18px -10px rgba(0,0,0,.4)}
.t-vitrine .shop .w{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:52px;align-items:center;padding-top:40px}
.t-vitrine .window{position:relative;padding:14px;border-radius:calc(var(--r) + 10px);background:color-mix(in srgb,var(--ink) 80%,var(--accent));box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.t-vitrine .window .pic{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;position:relative}.t-vitrine .window .ph{height:100%}
.t-vitrine .window .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.35) 0 18%,transparent 19% 32%,rgba(255,255,255,.18) 33% 38%,transparent 39%);pointer-events:none}
.t-vitrine .hero .who{text-transform:uppercase;letter-spacing:.2em;font-size:12.5px;color:var(--accent);font-weight:700;margin-bottom:12px}
.t-vitrine .hero h1{font-size:calc(4.6rem*var(--ds));line-height:1;margin-bottom:12px}.t-vitrine .hero .tg{font-style:italic;font-family:var(--fd);font-size:1.4rem;margin-bottom:10px}.t-vitrine .hero .sub{opacity:.8;margin-bottom:28px;max-width:46ch}
.t-vitrine .s h2{font-style:italic}
.t-vitrine .s h2::after{content:"";display:block;width:100px;height:10px;margin-top:12px;background:radial-gradient(circle at 5px 5px,var(--accent) 4px,transparent 4.5px) 0 0/20px 10px repeat-x}
.t-vitrine .mworks figure,.t-vitrine .card,.t-vitrine .tm figure{border-radius:var(--r);background:var(--bg);box-shadow:0 18px 40px -26px rgba(0,0,0,.35);border-top:8px solid var(--accent)}
.t-vitrine main .s:nth-of-type(even){background:var(--alt)}
@keyframes awningSway{0%,100%{transform:skewX(0)}50%{transform:skewX(-1.2deg)}}
@keyframes signSwing{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes twinkle{0%,100%{opacity:.35}50%{opacity:1}}

@media (prefers-reduced-motion:reduce){.t-enseigne *,.t-ardoise *,.t-plan *,.t-vitrine *{animation:none!important}.t-ardoise .squig path,.t-plan .bp .ln{stroke-dashoffset:0}}
@media (max-width:820px){
 .t-enseigne .hero .w,.t-ardoise .board .w,.t-plan .hero .w,.t-vitrine .shop .w{grid-template-columns:minmax(0,1fr);gap:30px}
 .t-enseigne .hero h1{font-size:calc(3.4rem*var(--ds))}.t-enseigne .s h2{font-size:calc(2.2rem*var(--ds))}.t-enseigne .poster{padding:28px 24px}.t-enseigne .frame{grid-template-columns:auto minmax(0,220px)}.t-enseigne .pole .glass{height:180px}
 .t-ardoise .board{border-width:10px;padding:36px 0;margin:0 12px}.t-ardoise .hero h1{font-size:calc(2.4rem*var(--ds))}.t-ardoise .s h2{font-size:calc(2.3rem*var(--ds))}.t-ardoise .board .pic{max-width:220px}.t-ardoise .mmenu{padding:22px}
 .t-plan .hero h1{font-size:calc(3rem*var(--ds))}.t-plan .bp{width:90%;opacity:.35;top:auto;bottom:0}.t-plan .hero .pic{max-width:260px}.t-plan .stamp-q{right:-6px}
 .t-vitrine .shop{padding-top:110px}.t-vitrine .hero h1{font-size:calc(3rem*var(--ds))}.t-vitrine .window{max-width:280px}.t-vitrine .sign{right:4%;top:140px}
}
