
:root{--brand-logo:url("../images/image-427eb0e08692.png");--studio-poster:url("../images/image-b580f3ad03ea.jpg")}

@font-face{font-family:"MMBE Display";src:url(../fonts/font-93096388b977.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"MMBE Serif";src:url(../fonts/font-5800918992af.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"MMBE Serif";src:url(../fonts/font-016d1464165f.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"MMBE Sans";src:url(../fonts/font-0cbbe6286a00.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --bg:#FAF8F6;--bg-alt:#F3EEEE;--surface:#FFFFFF;
  --ink:#123B40;--text:#405558;--muted:#627578;
  --line:#E8DCDA;--line-strong:#D4C2C1;
  --gold:#C98F96;--gold-ink:#92555F;--gold-soft:#F7E9E9;
  --sage:#0E616B;--sage-ink:#155D66;--sage-soft:#E2EFF0;
  --btn-bg:#0E616B;--btn-fg:#FFFFFF;--btn-hover:#164B53;
  --band-bg:#0E4C55;--band-fg:#F7F5F3;--band-muted:#D2E2E2;--band-line:rgba(247,245,243,.18);
  --footer-bg:#0B3239;--footer-fg:#F3F4F2;--footer-muted:#C4D6D6;--footer-line:rgba(243,244,242,.16);
  --header-bg:rgba(250,248,246,.9);
  --overlay-bg:rgba(250,248,246,.94);
  --shadow:0 1px 2px rgba(14,97,107,.05),0 20px 44px -22px rgba(14,97,107,.23);
  --radius:22px;--radius-sm:14px;
  --font-display:"MMBE Display","Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --font-serif:"MMBE Serif","Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --font-sans:"MMBE Sans","Jost","Avenir Next","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --container:1200px;--header-h:78px;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0F2428;--bg-alt:#162D32;--surface:#1B393E;
    --ink:#F6F3F1;--text:#D5E0E0;--muted:#ACBFC0;
    --line:#34545A;--line-strong:#527176;
    --gold:#D5A1A6;--gold-ink:#F0C4C7;--gold-soft:#432F37;
    --sage:#8CBFC3;--sage-ink:#B5DFDF;--sage-soft:#213F44;
    --btn-bg:#D7EEEE;--btn-fg:#11373D;--btn-hover:#B6DCDD;
    --band-bg:#0D3941;--band-fg:#F7F4F2;--band-muted:#C8DCDD;--band-line:rgba(247,244,242,.16);
    --footer-bg:#0A2025;--footer-fg:#F0F4F2;--footer-muted:#B8CBCB;--footer-line:rgba(240,244,242,.14);
    --header-bg:rgba(15,36,40,.9);
    --overlay-bg:rgba(27,57,62,.94);
    --shadow:0 1px 2px rgba(0,0,0,.3),0 20px 44px -22px rgba(0,0,0,.65);
  }
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.72;text-align:start;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-inline-size:100%;block-size:auto}
a{color:inherit}
h1,h2,h3,h4{color:var(--ink);font-weight:400;margin:0;text-wrap:balance}
h1,h2{font-family:var(--font-display);letter-spacing:-.012em}
h3,h4{font-family:var(--font-serif)}
p{margin:0 0 1.1em}
p:last-child{margin-block-end:0}
h1 em,h2 em{font-family:var(--font-serif);font-style:italic;color:var(--gold-ink)}
main{overflow-x:hidden;overflow-x:clip}
section{padding-block:clamp(4.5rem,9vw,7.5rem)}
[id]{scroll-margin-block-start:calc(var(--header-h) + 12px)}
.container{inline-size:min(100% - 2.5rem,var(--container));margin-inline:auto}
.section-alt{background:var(--bg-alt)}
.ico{inline-size:24px;block-size:24px;display:inline-block;vertical-align:middle;flex:none}
.nowrap{white-space:nowrap}
.sr-only{position:absolute!important;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;inset-inline-start:1rem;inset-block-start:-5rem;z-index:100;background:var(--btn-bg);color:var(--btn-fg);padding:.7rem 1.1rem;border-radius:10px;text-decoration:none}
.skip-link:focus{inset-block-start:1rem}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

.eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--gold-ink);margin:0 0 1.1rem}
.eyebrow::before{content:"";inline-size:28px;block-size:1px;background:var(--gold)}
.lead{font-size:1.18rem;line-height:1.7;max-inline-size:35rem}
.section-head{max-inline-size:46rem;margin-block-end:clamp(2.5rem,5vw,3.75rem)}
.section-head.center{margin-inline:auto;text-align:center}
.section-head h2,.welcome h2,.studio-copy h2,.therapies-aside h2,.planning-copy h2{font-size:clamp(2.1rem,3.8vw,3.2rem);line-height:1.08;margin-block-end:1.1rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-block-size:50px;padding:.85rem 1.65rem;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-bg);text-decoration:none;font-family:var(--font-sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background-color .3s ease,border-color .3s ease,color .3s ease}
.btn:hover{background:var(--btn-hover);border-color:var(--btn-hover)}
.btn .ico{inline-size:16px;block-size:16px}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-ghost:hover{background:transparent;color:var(--gold-ink);border-color:var(--gold)}
.btn-small{min-block-size:42px;padding:.55rem 1.2rem;font-size:.72rem}
.btn-light{background:var(--band-fg);color:var(--band-bg);border-color:var(--band-fg)}
.btn-light:hover{background:var(--gold);border-color:var(--gold);color:var(--band-bg)}
.link-arrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--gold-ink);text-decoration:none;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding-block:.25rem;border-block-end:1px solid transparent;transition:border-color .3s ease}
.link-arrow:hover{border-block-end-color:var(--gold)}
.link-arrow .ico{inline-size:16px;block-size:16px}

/* En-tête */
.site-header{position:sticky;inset-block-start:0;z-index:50;background:var(--bg);background:var(--header-bg);-webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px);border-block-end:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:1.75rem;min-block-size:var(--header-h)}
.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink);margin-inline-end:auto}
.brand-mark{inline-size:36px;block-size:36px;color:var(--gold);flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.01em}
.brand-sub{font-family:var(--font-serif);font-style:italic;font-size:1rem;color:var(--gold-ink);margin-block-start:.2rem}
.nav-desktop{display:none;gap:1.8rem}
.nav-desktop a{position:relative;text-decoration:none;font-size:.9rem;color:var(--text);padding-block:.35rem;transition:color .3s ease}
.nav-desktop a::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:1px;background:var(--gold);transform:scaleX(0);transition:transform .35s ease}
.nav-desktop a:hover,.nav-desktop a.is-active{color:var(--ink)}
.nav-desktop a:hover::after,.nav-desktop a.is-active::after{transform:scaleX(1)}
.header-cta{display:none}
.nav-mobile{position:relative}
.nav-mobile summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.6rem;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:.65rem 1rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink)}
.nav-mobile summary::-webkit-details-marker{display:none}
.burger{position:relative;inline-size:16px;block-size:10px;border-block:1px solid currentColor}
.burger::after{content:"";position:absolute;inset-inline:0;inset-block-start:50%;block-size:1px;background:currentColor;transform:translateY(-50%)}
.nav-mobile nav{position:absolute;inset-inline-end:0;inset-block-start:calc(100% + .75rem);inline-size:min(82vw,310px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:.7rem}
.nav-mobile nav a{padding:.8rem .9rem;border-radius:10px;text-decoration:none;color:var(--ink)}
.nav-mobile nav a:hover{background:var(--bg-alt)}
.nav-mobile nav .btn{margin-block-start:.5rem;color:var(--btn-fg)}
@media (min-width:1200px){.nav-desktop{display:flex}.header-cta{display:inline-flex}.nav-mobile{display:none}}

/* Accueil */
.hero{position:relative;overflow:hidden;padding-block:clamp(3rem,6vw,5.5rem) clamp(4.5rem,8vw,7rem);background:radial-gradient(900px 520px at 90% 5%,var(--gold-soft),transparent 70%),radial-gradient(560px 360px at 0% 45%,var(--sage-soft),transparent 70%)}
.hero-grid{display:grid;gap:clamp(3rem,6vw,4.5rem);align-items:center}
.hero h1{font-size:clamp(2.7rem,5.6vw,4.9rem);line-height:1.02;margin-block-end:1.5rem}
.hero .lead{margin-block-end:2.3rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-block-end:2.1rem}
.hero-address{display:flex;align-items:center;gap:.6rem;font-size:.92rem;color:var(--muted);margin:0}
.hero-address .ico{inline-size:18px;block-size:18px;color:var(--gold)}
.hero-visual{position:relative;isolation:isolate;margin:0;justify-self:center;inline-size:min(100%,470px)}
.hero-visual::before{content:"";position:absolute;inset-inline-end:-16%;inset-block-start:-7%;inline-size:78%;aspect-ratio:1;border-radius:50%;background:var(--sage-soft);z-index:-1}
.hero-visual::after{content:"";position:absolute;inset-inline-start:-8%;inset-block-end:14%;inline-size:36%;aspect-ratio:1;border-radius:50%;border:1px solid var(--gold);opacity:.6;z-index:-1}
.hero-video{max-inline-size:370px}
.hero-video video{display:block;inline-size:100%;block-size:auto;aspect-ratio:464/832;border-radius:24px;background:#163d40;box-shadow:var(--shadow)}
.hero-video-caption{text-align:center;margin-block-start:1rem;color:var(--teal);font-size:.95rem}
.arch{overflow:hidden;border-radius:999px 999px var(--radius) var(--radius);background:var(--bg-alt);box-shadow:var(--shadow)}
.arch img{inline-size:100%;block-size:100%;object-fit:cover}
.hero .arch{aspect-ratio:2/3}
.hero-badge{position:absolute;inset-inline-start:-1.5rem;inset-block-end:2.4rem;display:grid;gap:.15rem;min-inline-size:190px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1rem 1.3rem;box-shadow:var(--shadow)}
.badge-kicker{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);font-weight:500}
.badge-price{font-family:var(--font-display);font-size:2.3rem;line-height:1.1;color:var(--ink)}
.badge-note{font-size:.85rem;color:var(--muted)}
@media (min-width:900px){.hero-grid{grid-template-columns:1.08fr .92fr}}
@media (max-width:600px){.hero-badge{inset-inline-start:.75rem;inset-block-end:1.2rem}.hero-actions .btn{flex:1 1 100%}.btn{letter-spacing:.12em;padding-inline:1.3rem}.eyebrow{letter-spacing:.16em}}

.welcome-grid{display:grid;gap:1.5rem 4rem}
.welcome-text{font-size:1.08rem}
.pillars{display:grid;gap:1.25rem;margin-block-start:clamp(3rem,6vw,4.5rem)}
.pillar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2.1rem 1.9rem;transition:transform .35s ease,box-shadow .35s ease}
.pillar:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pillar h3{font-size:1.5rem;margin-block-end:.6rem}
.pillar p{font-size:.98rem}
.icon{display:grid;place-items:center;inline-size:54px;block-size:54px;border-radius:50%;background:var(--sage-soft);color:var(--sage-ink);margin-block-end:1.4rem;flex:none}
.icon-gold{background:var(--gold-soft);color:var(--gold-ink)}
@media (min-width:760px){.pillars{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){.welcome-grid{grid-template-columns:.95fr 1.05fr;align-items:end}}

.band{background:var(--band-bg);color:var(--band-muted)}
.band .eyebrow{color:var(--gold)}
.band h2{color:var(--band-fg);font-size:clamp(2rem,3.6vw,3rem);line-height:1.1}
.band h2 em{color:var(--gold)}
.band-head{display:grid;gap:1.5rem 3rem;margin-block-end:3.2rem}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:2.2rem}
.steps li{border-block-start:1px solid var(--band-line);padding-block-start:1.6rem}
.step-num{display:block;font-family:var(--font-display);font-size:2.8rem;line-height:1;color:var(--gold);margin-block-end:1.1rem}
.steps h3{color:var(--band-fg);font-size:1.45rem;margin-block-end:.55rem}
.steps p{font-size:.97rem}
@media (min-width:820px){.steps{grid-template-columns:repeat(3,1fr);gap:3rem}}
@media (min-width:900px){.band-head{grid-template-columns:1fr auto;align-items:end}}

/* Le Studio */
.studio-grid{display:grid;gap:3.5rem;align-items:center}
.values{list-style:none;padding:0;margin:2.2rem 0 0;display:grid;gap:1.2rem 2rem}
.values li{display:grid;gap:.15rem;border-block-start:1px solid var(--line-strong);padding-block-start:.9rem;font-size:.95rem}
.value-title{font-family:var(--font-serif);font-size:1.28rem;color:var(--ink)}
.studio-visual{position:relative;margin:0;justify-self:center;inline-size:min(100%,430px)}
.studio-visual .arch{aspect-ratio:4/5}
.visual-note{position:absolute;inset-inline-end:-1.2rem;inset-block-end:2rem;display:flex;align-items:center;gap:.8rem;max-inline-size:290px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1rem 1.2rem;box-shadow:var(--shadow);font-size:.88rem;line-height:1.45}
.visual-note .ico{color:var(--gold)}
.visual-note strong{display:block;color:var(--ink);font-weight:500}
@media (min-width:560px){.values{grid-template-columns:1fr 1fr}}
@media (min-width:900px){.studio-grid{grid-template-columns:1.1fr .9fr;gap:5rem}}
@media (max-width:600px){.visual-note{inset-inline-end:.75rem;inset-block-end:1rem}}

.founder{display:grid;gap:2rem;margin-block-start:clamp(3.5rem,7vw,5.5rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.8rem,4vw,3rem);box-shadow:var(--shadow)}
.founder-mark{display:grid;place-items:center;aspect-ratio:3/4;inline-size:min(100%,230px);border-radius:999px 999px var(--radius-sm) var(--radius-sm);background:linear-gradient(165deg,var(--sage-soft),var(--gold-soft))}
.founder-mark span{font-family:var(--font-serif);font-style:italic;font-size:4.4rem;letter-spacing:.02em;color:var(--gold-ink)}
.founder h3{font-family:var(--font-display);font-size:clamp(2.1rem,3.2vw,2.7rem);line-height:1.05}
.founder-role{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--gold-ink);margin:.5rem 0 1.2rem}
.chips{list-style:none;padding:0;margin:0 0 1.4rem;display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{font-size:.8rem;line-height:1.3;padding:.4rem .85rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg);color:var(--text)}
@media (min-width:820px){.founder{grid-template-columns:230px 1fr;gap:3.5rem;align-items:center}}

.studio-bottom{display:grid;gap:2.5rem;margin-block-start:clamp(3rem,6vw,4.5rem)}
.team>h2,.space h3{font-family:var(--font-display);font-size:2rem;margin-block-end:.7rem}
.teacher{display:flex;align-items:center;gap:1.2rem;margin-block-start:1rem;padding:1.3rem 1.4rem;border:1px dashed var(--line-strong);border-radius:var(--radius-sm)}
.teacher-avatar{display:grid;place-items:center;inline-size:62px;block-size:62px;border-radius:50%;background:var(--gold-soft);color:var(--gold-ink);flex:none}
.teacher h3{font-size:1.25rem}
.teacher-role{font-size:.92rem;margin:.1rem 0 .25rem}
.todo{font-size:.85rem;font-style:italic;color:var(--muted);margin:0}
.tbd{border-block-end:1px dashed var(--gold)}
.space{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem}
.space-list{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:1.05rem}
.space-list li{display:flex;align-items:flex-start;gap:.9rem;font-size:.95rem;line-height:1.5}
.space-list .ico{inline-size:22px;block-size:22px;color:var(--sage-ink);margin-block-start:.1rem}
.space-list strong{display:block;color:var(--ink);font-weight:500}
@media (min-width:960px){.studio-bottom{grid-template-columns:1.15fr .85fr;gap:3rem}}

/* Disciplines */
.banner{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/10}
.banner img{inline-size:100%;block-size:100%;object-fit:cover;object-position:50% 45%}
.banner figcaption{position:absolute;inset-inline-start:1.25rem;inset-block-end:1.25rem;background:var(--overlay-bg);color:var(--ink);padding:.6rem 1.1rem;border-radius:999px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.group-title{display:flex;align-items:center;gap:1.2rem;font-family:var(--font-display);font-size:clamp(1.8rem,2.6vw,2.3rem);margin-block:clamp(3rem,6vw,4rem) 1.6rem}
.group-title::after{content:"";flex:1;block-size:1px;background:var(--line-strong)}
.cards-3{display:grid;gap:1.25rem}
.card{display:flex;flex-direction:column;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.9rem;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong)}
.card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1rem}
.card-top .icon{margin:0}
.card h3,.card h4{font-family:var(--font-display);font-size:1.9rem;line-height:1.1}
.card p{font-size:.98rem;margin:0}
.card .chips{margin:auto 0 0;padding-block-start:.3rem}
.level{white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;letter-spacing:.04em;font-weight:500;color:var(--sage-ink);background:var(--sage-soft);padding:.35rem .8rem;border-radius:999px;text-align:center}
.level .ico{inline-size:14px;block-size:14px}
.wide-head{display:flex;align-items:center;gap:1.2rem}
.wide-head .icon{margin:0}
.wide-head h3{margin-block-end:.45rem}
@media (min-width:700px){.banner{aspect-ratio:21/9}}
@media (min-width:900px){.cards-3{grid-template-columns:repeat(3,1fr)}.card.wide{display:grid;grid-template-columns:.8fr 1.2fr;gap:1.2rem 3rem;align-items:center;padding:2.5rem 2.7rem}}

/* Thérapies */
.therapies-grid{display:grid;gap:3rem}
.therapies-aside .arch{aspect-ratio:4/5;max-inline-size:400px;margin-block:2.2rem}
.aside-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}
.price-note{font-size:.9rem;color:var(--muted)}
.therapy-list{display:grid;gap:1.1rem}
.therapy{display:grid;grid-template-columns:auto 1fr;gap:1.2rem 1.4rem;align-items:start}
.therapy .icon{margin:0}
.card .format{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--gold-ink);margin:.45rem 0 .9rem}
.therapy .chips{margin-block-start:1.1rem}
.disclaimer{font-size:.86rem;font-style:italic;color:var(--muted);border-inline-start:2px solid var(--gold);padding-inline-start:1rem;margin:.6rem 0 0}
@media (max-width:520px){.therapy{grid-template-columns:1fr}}
@media (min-width:980px){.therapies-grid{grid-template-columns:.85fr 1.15fr;gap:4.5rem;align-items:start}}

/* Tarifs */
.pricing{display:grid;gap:1.25rem}
.price-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2.3rem 1.85rem 1.9rem;transition:transform .35s ease,box-shadow .35s ease}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.price-kicker{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--gold-ink);margin:0 0 .8rem}
.price-card h3{font-family:var(--font-display);font-size:1.75rem;line-height:1.1}
.price{display:flex;align-items:baseline;gap:.35rem;margin:1.1rem 0 .9rem;color:var(--ink)}
.amount{font-family:var(--font-display);font-size:3.5rem;line-height:1}
.unit{font-size:.95rem;color:var(--muted)}
.price-desc{font-size:.95rem;margin-block-end:1.2rem}
.price-feats{list-style:none;padding:0;margin:0 0 1.7rem;display:grid;gap:.55rem;font-size:.9rem;line-height:1.5}
.price-feats li,.check-list li{display:flex;align-items:flex-start;gap:.6rem}
.price-feats .ico,.check-list .ico{inline-size:16px;block-size:16px;color:var(--sage-ink);margin-block-start:.2rem}
.price-card .btn{margin-block-start:auto}
.price-card.featured{background:var(--band-bg);border-color:var(--gold);color:var(--band-muted)}
.price-card.featured h3,.price-card.featured .price{color:var(--band-fg)}
.price-card.featured .price-kicker{color:var(--gold)}
.price-card.featured .unit{color:var(--band-muted)}
.price-card.featured .ico{color:var(--gold)}
.ribbon{position:absolute;inset-block-start:0;inset-inline-end:1.4rem;transform:translateY(-50%);background:var(--gold);color:var(--band-bg);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:.42rem .85rem;border-radius:999px}
.pricing-notes{display:grid;gap:1.25rem;margin-block-start:1.25rem}
.note-card{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 2.1rem}
.note-card h3{font-family:var(--font-display);font-size:1.65rem;margin-block-end:.7rem}
.note-card p{font-size:.97rem}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:.7rem;font-size:.95rem;line-height:1.55}
@media (min-width:640px){.pricing{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.pricing-notes{grid-template-columns:1fr 1fr}}
@media (min-width:1120px){.pricing{grid-template-columns:repeat(4,1fr)}}

/* Planning */
.planning-grid{display:grid;gap:3rem}
.booking-card{display:grid;gap:1.2rem;margin-block-start:2.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;box-shadow:var(--shadow)}
.booking-card .icon{margin:0}
.booking-card h3{font-size:1.4rem}
.booking-card p{font-size:.93rem;margin:.25rem 0 0}
.booking-note{font-size:.86rem;color:var(--muted);margin-block-start:1rem}
.guide{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.8rem,3.5vw,2.6rem)}
.guide h3{font-family:var(--font-display);font-size:2rem;margin-block-end:1.3rem}
.guide-list{margin:0}
.guide-item{padding-block:1.15rem;border-block-start:1px solid var(--line)}
.guide-item:first-child{border-block-start:0;padding-block-start:0}
.guide-item:last-child{padding-block-end:0}
.guide-item dt{display:flex;align-items:center;gap:.7rem;font-family:var(--font-serif);font-size:1.25rem;color:var(--ink);margin-block-end:.35rem}
.guide-item dt .ico{inline-size:20px;block-size:20px;color:var(--gold-ink)}
.guide-item dd{margin:0;font-size:.95rem}
@media (min-width:560px){.booking-card{grid-template-columns:auto 1fr;align-items:center}.booking-card .btn{grid-column:1 / -1;justify-self:start}}
@media (min-width:960px){.planning-grid{grid-template-columns:1fr 1fr;gap:4.5rem;align-items:start}}

/* Contact */
.contact-grid{display:grid;gap:3rem}
.contact-info{display:grid;gap:1.7rem;align-content:start}
.info-item{display:flex;align-items:flex-start;gap:1rem}
.info-item .icon{inline-size:46px;block-size:46px;margin:0}
.info-item .icon .ico{inline-size:20px;block-size:20px}
.info-item h3{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--gold-ink);margin:.25rem 0 .35rem}
.info-item p{margin:0 0 .45rem;color:var(--ink);line-height:1.55}
.info-item a{color:var(--ink)}
.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,3.5vw,2.6rem);box-shadow:var(--shadow)}
.contact-form h3{font-family:var(--font-display);font-size:2rem;margin-block-end:1.4rem}
.field-row{display:grid;gap:0 1rem}
.field{display:flex;flex-direction:column;gap:.45rem;margin-block-end:1.1rem}
.field label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.optional{text-transform:none;letter-spacing:0;font-weight:400}
.field input,.field select,.field textarea,.newsletter-form input{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);border-radius:12px;padding:.8rem 1rem;min-block-size:50px;transition:border-color .25s ease,box-shadow .25s ease}
.field textarea{resize:vertical;min-block-size:140px}
.field input:focus,.field select:focus,.field textarea:focus,.newsletter-form input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.consent{display:flex;align-items:flex-start;gap:.7rem;font-size:.87rem;line-height:1.55;color:var(--muted);margin:.3rem 0 1.5rem}
.consent input{inline-size:18px;block-size:18px;margin:.15rem 0 0;accent-color:var(--gold-ink);flex:none}
.form-status{margin:1rem 0 0;font-size:.92rem;color:var(--sage-ink)}
.faq{max-inline-size:860px;margin:clamp(4rem,8vw,6rem) auto 0}
.faq details{border-block-end:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1.3rem;font-family:var(--font-serif);font-size:1.3rem;line-height:1.35;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-family:var(--font-sans);font-weight:300;font-size:1.7rem;line-height:1;color:var(--gold-ink);transition:transform .3s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq-body{padding-block-end:1.4rem;max-inline-size:46rem}
@media (min-width:640px){.field-row{grid-template-columns:1fr 1fr}}
@media (min-width:600px) and (max-width:959px){.contact-info{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.contact-grid{grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}}

/* Lettre d'information */
.newsletter{background:var(--sage-soft);padding-block:clamp(3.5rem,7vw,5.5rem)}
.newsletter-inner{display:grid;gap:2rem;align-items:center}
.newsletter h2{font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.1;margin-block-end:.8rem}
.newsletter-form{display:flex;flex-wrap:wrap;gap:.75rem}
.newsletter-form input{flex:1 1 250px;border-radius:999px;padding-inline:1.3rem}
.nl-note{flex-basis:100%;font-size:.85rem;color:var(--muted);margin:0}
@media (min-width:900px){.newsletter-inner{grid-template-columns:1fr 1fr;gap:4rem}}

/* Pied de page */
.site-footer{background:var(--footer-bg);color:var(--footer-muted);padding-block:4.5rem 2rem;font-size:.95rem}
.site-footer .brand{color:var(--footer-fg);margin-block-end:1.2rem}
.site-footer .brand-sub{color:var(--gold)}
.site-footer h3{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--gold);margin-block-end:1.1rem}
.site-footer a{color:var(--footer-fg);text-decoration:none;transition:color .3s ease}
.site-footer a:hover{color:var(--gold)}
.site-footer p{margin:0 0 .8rem}
.footer-grid{display:grid;gap:2.5rem}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-block-start:3.5rem;padding-block-start:1.6rem;border-block-start:1px solid var(--footer-line);font-size:.84rem}
.footer-bottom p{margin:0}
@media (min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}}

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

@media print{
  :root{--bg:#fff;--bg-alt:#fff;--surface:#fff;--ink:#000;--text:#222;--muted:#555;--line:#bbb;--line-strong:#999;--band-bg:#fff;--band-fg:#000;--band-muted:#333;--footer-bg:#fff;--footer-fg:#000;--footer-muted:#444;--shadow:none}
  @page{margin:1.5cm}
  .site-header,.skip-link,.hero-actions,.contact-form,.newsletter,.booking-card .btn{display:none!important}
  .hero,.section-alt,.band{background:none}
  .hero-visual::before,.hero-visual::after{display:none}
  section{padding-block:1.5rem}
  .card,.price-card,.pillar,.founder,.note-card,.guide,.space,.teacher,details{break-inside:avoid}
  a{text-decoration:none}
}

/* Identité et affiche du studio */
.poster-logo{display:block;inline-size:48px;block-size:48px;flex:none;border-radius:50%;background-image:var(--brand-logo);background-size:cover;background-position:center;background-repeat:no-repeat}
.practice-layout{display:grid;gap:2rem;align-items:start}
.practice-grid{display:grid;gap:1.25rem}
.practice-card{gap:.65rem;padding:1.5rem}
.practice-card h4{font-size:1.55rem}
.studio-poster{margin:0;inline-size:min(100%,380px);aspect-ratio:950/1536;justify-self:center;border-radius:var(--radius);background-image:var(--studio-poster);background-size:100% 100%;background-repeat:no-repeat;box-shadow:var(--shadow)}
@media (min-width:620px){.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.practice-layout{grid-template-columns:minmax(0,1fr) 340px;gap:2.5rem}.studio-poster{position:sticky;top:calc(var(--header-h) + 1rem)}}
.calendar-embed{grid-column:1 / -1;margin-block-start:2.5rem}
.calendar-embed iframe{display:block;inline-size:100%;block-size:min(75vh,720px);min-block-size:520px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.calendar-embed p{font-size:.88rem;margin-block-start:.8rem}
.planning-poster{grid-column:1 / -1;max-inline-size:980px;margin:2rem auto 0;text-align:center}
.planning-poster img{inline-size:100%;block-size:auto;border-radius:var(--radius-sm);box-shadow:var(--shadow)}
.planning-poster figcaption{font-size:.86rem;color:var(--muted);margin-block-start:.7rem}
.instagram-invite{background:var(--sage-soft)}
.instagram-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}
.instagram-inner h2{font-size:clamp(2rem,3vw,2.8rem);margin-block-end:.7rem}
.instagram-inner .eyebrow{margin-block-end:.6rem}
.teacher-feature{display:grid;gap:1.4rem;margin-block-start:1.5rem;padding:1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.teacher-feature img{display:block;inline-size:100%;block-size:280px;object-fit:cover;object-position:center 24%;border-radius:calc(var(--radius) - 8px)}
.teacher-feature h3{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.15rem);line-height:1.15;color:var(--ink)}
.teacher-feature .teacher-role{color:var(--sage-ink);font-weight:600;margin:.35rem 0 .85rem}
.teacher-feature p{font-size:.95rem;line-height:1.65;margin-block:.65rem}
@media (min-width:720px){.teacher-feature{grid-template-columns:minmax(190px,260px) 1fr;gap:2rem;align-items:center;padding:1.3rem}.teacher-feature img{block-size:100%;min-block-size:320px;max-block-size:420px}}
.teacher-feature--energeia img{object-fit:contain;object-position:center;background:#fff;padding:1rem}
.teacher-photo-grid{display:grid;gap:.85rem;margin-block-start:.85rem}
.teacher-photo-card{display:grid;grid-template-columns:minmax(120px,42%) 1fr;gap:1rem;align-items:center;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem}
.teacher-photo-card img{display:block;inline-size:100%;block-size:clamp(190px,25vw,270px);object-fit:cover;border-radius:calc(var(--radius-sm) - 6px)}
.teacher-photo-card h3{font-family:var(--font-display);font-size:clamp(1.4rem,2.4vw,1.8rem);line-height:1.15;color:var(--ink)}
.teacher-photo-card .teacher-role{line-height:1.5;margin-block-start:.5rem}
@media (min-width:760px){.teacher-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.teacher-grid{display:grid;gap:.85rem;margin-block-start:1.4rem}
.teacher-grid .teacher{margin:0;padding:1rem 1.1rem;border-style:solid;background:var(--surface);align-items:center;min-block-size:94px}
.teacher-grid .teacher-avatar{font-family:var(--font-display);font-size:1.8rem;inline-size:48px;block-size:48px}
.teacher-grid .teacher h3{font-family:var(--font-display);font-size:1.35rem;line-height:1.1}
.teacher-grid .teacher-role{line-height:1.4;margin-block-start:.3rem}
@media (min-width:650px){.teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.studio-bottom{grid-template-columns:1fr}}
@media (min-width:1080px){.teacher-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:500px){.site-header .header-inner{gap:.5rem}.site-header .brand{gap:.45rem}.site-header .poster-logo{inline-size:36px;block-size:36px}.site-header .brand-name{font-size:1.1rem}.site-header .brand-sub{font-size:.75rem}.site-header .nav-mobile summary{padding:.55rem .7rem}}

/* Lecture rapide et parcours de réservation */
.team-details{margin-block-start:1.3rem}
.team-details>summary,.planning-reference>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.7rem;color:var(--sage-ink);font-weight:600;border:1px solid var(--line-strong);border-radius:999px;padding:.75rem 1.2rem;background:var(--surface)}
.team-details>summary::-webkit-details-marker,.planning-reference>summary::-webkit-details-marker,.practice-item>summary::-webkit-details-marker{display:none}
.team-details>summary::after,.planning-reference>summary::after{content:"+";font-size:1.4rem;line-height:1}
.team-details[open]>summary::after,.planning-reference[open]>summary::after{content:"−"}
.practice-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.15rem 1.4rem;align-self:start}
.practice-item>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;font-family:var(--font-display);font-size:1.45rem;line-height:1.25;color:var(--ink)}
.practice-item>summary::after{content:"+";font-family:var(--font-sans);font-size:1.3rem;color:var(--gold-ink)}
.practice-item[open]>summary::after{content:"−"}
.practice-item p{margin:1rem 0 0;font-size:.96rem}
.planning-reference{grid-column:1 / -1;margin-block-start:1.5rem}
.planning-reference .planning-poster{margin-block-start:1.2rem}
.contact-direct{align-self:start}
.contact-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-block-start:1.5rem}

#actualites{background:var(--sage-soft)}
.news-panel{max-inline-size:760px;margin-inline:auto;padding:clamp(1.5rem,4vw,2.5rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:center}
.news-panel h3{font-family:var(--font-display);font-size:1.8rem;margin-block-end:.7rem}
.news-panel p{font-size:1rem;line-height:1.65;margin-block-end:1.4rem}

.teacher-bio{margin-block-start:1rem}
.teacher-bio summary{cursor:pointer;color:var(--sage-ink);font-weight:600;font-size:1rem}

.planning-text{grid-column:1/-1;margin-block-start:1.5rem}.planning-text summary{cursor:pointer;color:var(--sage-ink);font-weight:600;padding:.8rem 0}.schedule-scroll{overflow-x:auto}.schedule-table{width:100%;border-collapse:collapse;font-size:.95rem}.schedule-table caption{text-align:left;font-weight:600;padding:1rem 0}.schedule-table th,.schedule-table td{text-align:left;padding:.7rem;border-bottom:1px solid var(--line);vertical-align:top}.schedule-table th{background:var(--sage-soft)}.team>h2{margin-block-end:1rem}

/* Pages de présentation */
.content-page{max-width:980px;padding-block:2.5rem 5rem}.content-page h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.12;margin:1rem 0 1.5rem}.content-page>p{font-size:1.1rem;max-width:75ch}.page-block{padding-block:2rem;border-bottom:1px solid var(--line)}.page-block h2{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.2;margin-bottom:1rem}.page-block ul{padding-left:1.4rem;list-style:disc}.page-block li{margin-block:.7rem}.page-related{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-block:1.5rem}.page-related a{text-underline-offset:.2em}.breadcrumb{font-size:.9rem;margin-bottom:1.5rem}.page-question{padding:1rem 0}.page-question summary{cursor:pointer;font-weight:600}.page-question p{margin-top:.75rem}
