/* Yoga Intégral — charte « Ensō » : pierre, encre, indigo. Mobile first. */
@font-face{font-family:"Zen Old Mincho";font-weight:400;src:url(/fonts/zen-old-mincho-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Zen Old Mincho";font-weight:500;src:url(/fonts/zen-old-mincho-latin-500-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Zen Kaku Gothic New";font-weight:400;src:url(/fonts/zen-kaku-gothic-new-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Zen Kaku Gothic New";font-weight:500;src:url(/fonts/zen-kaku-gothic-new-latin-500-normal.woff2) format("woff2");font-display:swap}
:root{color-scheme:light dark;--paper:#EFF1EC;--paper2:#E3E7DF;--ink:#1E2A28;--soft:#46534F;--line:#C9D1C7;--indigo:#2F4B66;--on-indigo:#F4F6F2;
--serif:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",Georgia,serif;--sans:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",system-ui,sans-serif;
--ease:cubic-bezier(.23,1,.32,1);--hh:3.5rem;--gap:clamp(1.25rem,5vw,2rem)}
@media(prefers-color-scheme:dark){:root{--paper:#141A19;--paper2:#1B2321;--ink:#E4E9E3;--soft:#A9B5AE;--line:#2E3A37;--indigo:#9DB8D2;--on-indigo:#101615}}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + 1rem)}
body{font:400 1.0625rem/1.8 var(--sans);letter-spacing:.01em;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:var(--indigo);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
a,button{touch-action:manipulation}
:focus-visible{outline:2px solid var(--indigo);outline-offset:3px;border-radius:2px}
input,textarea,select{font:inherit;font-size:16px}
.container{width:100%;max-width:68rem;margin:0 auto;padding-inline:var(--gap)}
.skip-link{position:absolute;left:var(--gap);top:-4rem;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:50}.skip-link:focus{top:.5rem}
/* En-tête + menu (feuille plein écran sur mobile) */
header{position:sticky;top:0;z-index:40;background:var(--paper);padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:var(--hh)}
.brand{white-space:nowrap;display:inline-flex;align-items:center;gap:.6rem;font:500 1.2rem/1 var(--serif);letter-spacing:.04em;color:var(--ink);text-decoration:none}
.brand svg{width:1.5rem;height:1.5rem}
.menu-toggle{min-width:48px;min-height:48px;margin-right:-.6rem;background:none;border:0;color:var(--ink);display:grid;place-content:center;gap:6px;cursor:pointer;user-select:none;-webkit-user-select:none}
.menu-toggle i{display:block;width:22px;height:1.5px;background:currentColor;transition:transform .2s var(--ease)}
.menu-toggle[aria-expanded=true] i:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.nav-menu{list-style:none;position:fixed;inset:calc(var(--hh) + env(safe-area-inset-top,0px)) 0 0 0;background:var(--paper);overflow-y:auto;overscroll-behavior:contain;padding:1rem var(--gap) calc(2rem + env(safe-area-inset-bottom,0px));visibility:hidden;opacity:0;transform:translateY(-.5rem);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s .2s}
.nav-menu.open{visibility:visible;opacity:1;transform:none;transition-delay:0s}
.nav-menu a{display:block;color:var(--ink);text-decoration:none;padding:.7rem 0;min-height:44px;user-select:none;-webkit-user-select:none}
.nav-menu>li>a{font:500 1.25rem/1.3 var(--serif);border-top:1px solid var(--line);padding-top:1rem}
.sub-menu{list-style:none;padding:0 0 .8rem 1rem}.sub-menu a{font-size:.98rem;color:var(--soft);padding:.45rem 0}
.nav-menu a.active{color:var(--indigo)}
/* Accueil : un seul grand geste, l'ensō */
.hero{min-height:calc(100svh - var(--hh));display:grid;align-content:center;gap:1.5rem;padding:2rem var(--gap) 3rem;max-width:68rem;margin:0 auto}
.enso{width:min(72vw,20rem);color:var(--ink);justify-self:center}
.enso .brush{fill:currentColor}.enso .m{fill:none;stroke:#fff;stroke-width:44;stroke-linecap:round}
.enso .m{stroke-dasharray:1;stroke-dashoffset:0;animation:draw 2.4s var(--ease) .15s both}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.hero h1{font:500 clamp(2rem,1.3rem + 3.6vw,3.7rem)/1.22 var(--serif);letter-spacing:.005em;max-width:20ch;text-wrap:balance}
.hero p{color:var(--soft);max-width:44ch;margin-top:1rem}
.hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-top:1.75rem}
.cta-button,.cta-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.6rem;background:var(--indigo);color:var(--on-indigo);border:0;border-radius:2px;text-decoration:none;font:500 1rem var(--sans);cursor:pointer;transition:transform .12s var(--ease),opacity .12s;user-select:none;-webkit-user-select:none}
.cta-button:active,.cta-primary:active{transform:scale(.97);opacity:.9}
.link2{color:var(--ink)}
/* Pages intérieures */
.crumbs{max-width:68rem;margin:0 auto;padding:1.25rem var(--gap) 0;font-size:.88rem;color:var(--soft)}.crumbs a{color:var(--soft)}
.prose{max-width:42rem;margin-inline:0;padding:2.5rem var(--gap) 3rem}.prose.container{margin-inline:auto}
.prose h1,.energy h1{font:500 clamp(1.9rem,1.3rem + 3vw,3rem)/1.25 var(--serif);text-wrap:balance;margin-bottom:1.25rem}
.lead{font:400 1.2rem/1.7 var(--serif);color:var(--soft);margin-bottom:1.75rem}
.prose p,.prose li{margin-bottom:1.1rem;max-width:62ch}
h2{font:500 clamp(1.4rem,1.1rem + 1.4vw,1.9rem)/1.3 var(--serif);margin:3rem 0 1rem;text-wrap:balance}h3{font:500 1.15rem/1.4 var(--serif)}
.note{margin-top:3rem;padding:1.5rem;background:var(--paper2);border-radius:2px}.note h2{font-size:1.15rem;margin:0 0 .6rem}.note p{margin-bottom:.8rem}
/* Listes à filets (remplacent les cartes) */
.grid{display:grid;border-bottom:1px solid var(--line)}
.card{display:block;padding:1.25rem 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .12s}
.card:active{background:var(--paper2)}
.card h3{color:var(--ink);margin-bottom:.25rem}.card p{color:var(--soft);font-size:.98rem;line-height:1.65;margin:0}
.practices,.related,.feature{max-width:68rem;margin:0 auto;padding:3rem var(--gap)}
.practices h2,.related h2{margin-top:0}
.feature{background:var(--paper2);max-width:none}.feature .container{max-width:42rem;margin-inline:0}.feature h2{margin-top:0}.feature p{margin-bottom:1.5rem}
.pn{display:flex;justify-content:space-between;gap:1rem;margin-top:1.75rem;font-size:.95rem}
/* Page énergie sexuelle (contenu importé) */
.energy section{padding:2.25rem 0;border-top:1px solid var(--line)}.energy section:first-child{border:0;padding-top:0}.energy h2{margin-top:0}
.eyebrow{color:var(--soft);font-size:.92rem;margin-bottom:.5rem}.cta2{margin-left:1rem}
.benefits{list-style:none}.benefits li{padding:.8rem 0 .8rem 1.5rem;border-top:1px solid var(--line);position:relative}
.benefits li::before{content:"";position:absolute;left:0;top:1.45rem;width:.6rem;height:.6rem;border:1.5px solid var(--indigo);border-radius:50%}
.practice-grid{display:grid}.practice-card{padding:1.25rem 0;border-top:1px solid var(--line)}
.audience-box{padding:1.5rem;background:var(--paper2);border-radius:2px}.audience-box .actions{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.faq-item{border-top:1px solid var(--line)}
.faq-question{width:100%;min-height:52px;text-align:left;background:none;border:0;padding:.9rem 0;font:500 1.02rem/1.5 var(--sans);color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;user-select:none;-webkit-user-select:none}
.faq-chevron{width:16px;flex:none;transition:transform .2s var(--ease)}.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-answer{display:none;padding:0 0 1.1rem;color:var(--soft)}.faq-item.open .faq-answer{display:block}
.sources{font-size:.88rem;color:var(--soft)}
.form{display:grid;gap:1.1rem;max-width:30rem}.form label{display:grid;gap:.35rem;font-weight:500}
.form input,.form textarea{padding:.75rem .85rem;min-height:48px;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink)}
.sitemap{list-style:none}.sitemap ul{margin:.3rem 0 1rem 1.25rem}.sitemap a{display:inline-block;padding:.25rem 0}
footer{background:var(--paper2);margin-top:2rem;padding:2.5rem 0 calc(2.5rem + env(safe-area-inset-bottom,0px));font-size:.95rem}
.footer-menu{list-style:none;display:grid;gap:.1rem;margin-bottom:1.25rem}.footer-menu a{display:inline-block;padding:.5rem 0;color:var(--ink)}
.social{display:flex;gap:.5rem;margin-bottom:1rem}.social a{display:grid;place-content:center;width:44px;height:44px;color:var(--ink)}footer p{color:var(--soft)}
@media(hover:hover) and (pointer:fine){a:hover{text-decoration-thickness:2px}.card:hover h3{color:var(--indigo)}.card:hover{background:var(--paper2)}.cta-button:hover,.cta-primary:hover{opacity:.9}.nav-menu a:hover{color:var(--indigo)}}
@media(min-width:48rem){.grid{grid-template-columns:repeat(2,1fr);column-gap:3rem}.practice-grid{grid-template-columns:repeat(3,1fr);column-gap:2.5rem}.footer-menu{display:flex;gap:1.75rem}
.hero{grid-template-columns:1.1fr .9fr;align-items:center;column-gap:4rem}.enso{grid-column:2;grid-row:1;width:min(38vw,26rem)}.hero div{grid-column:1;grid-row:1}}
@media(min-width:80rem){:root{--hh:4.25rem}.bar,.hero,.practices,.related,.crumbs,.footer-wide{max-width:80rem}.menu-toggle{display:none}
.nav-menu{position:static;visibility:visible;opacity:1;transform:none;overflow:visible;padding:0;display:flex;gap:.2rem 1.4rem;flex-wrap:wrap;justify-content:flex-end;background:none}
.nav-menu>li{position:relative}.nav-menu>li>a{font:500 .92rem var(--sans);border:0;padding:.5rem 0;min-height:0}
.sub-menu{position:absolute;top:100%;left:-1rem;min-width:15rem;background:var(--paper);border:1px solid var(--line);padding:.5rem 1rem;display:none}.sub-menu a{padding:.5rem 0}
.nav-menu>li:focus-within .sub-menu{display:block}}
@media(min-width:80rem) and (hover:hover){.nav-menu>li:hover .sub-menu{display:block}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation:none!important}}
.pn{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;font-family:Raleway,sans-serif}