/* Identité éditoriale Sculp’t Cycle : les teintes de l’application et des programmes. */
/* Les pages privées ont leur propre cadre : le padding de la vitrine dépend du viewport. */
.account.section{width:100%;max-width:1100px;margin-inline:auto;padding-inline:clamp(1.25rem,5vw,4rem)}
.account.section>h1{font-size:clamp(2rem,4vw,3.2rem);max-width:24ch;overflow-wrap:normal}
.account.section>p,.account.section>section{max-width:100%}
.account.section #auth-panel,.account.section #order-review{max-width:680px}
.account.section form{width:100%;min-width:0}
.account.section .account-heading{flex-wrap:wrap}
.download-item+.download-item{margin-top:1rem}
.download-item .button{width:100%;justify-content:flex-start;text-align:left;white-space:normal;min-height:56px}
.account .download-status[role=status]{margin:.6rem 0 0;padding:0;background:transparent;line-height:1.5;overflow-wrap:anywhere}
.download-status:empty{display:none}
:root{--paper:#fffaf8;--pink:#fff3f6;--pink-deep:#f5d1dc;--rose:#98506b;--ink:#392d31;--muted:#71616a;--lilac:#eee9fb;--blue:#e6f2fb;--line:#e8d9e0;font-family:'Segoe UI',system-ui,sans-serif}
html{scroll-padding-top:130px}body{background:var(--paper)}::selection{background:#ddd2f3;color:var(--ink)}
.site-header{position:sticky;top:0;z-index:40;padding:1.1rem 4vw;background:#fffaf8f2;backdrop-filter:blur(18px);gap:1.1rem}.site-header .brand{font-weight:600;letter-spacing:-.04em}.brand-dot{display:inline-block;transition:transform .5s ease}.brand:hover .brand-dot{transform:rotate(90deg)}.brand small{letter-spacing:.015em;color:var(--muted)}.site-header nav{font-size:.88rem}.site-header nav>a:not(.button){position:relative}.site-header nav>a:not(.button)::after{content:'';position:absolute;left:0;bottom:-.35rem;width:100%;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav>a:hover::after{transform:scaleX(1)}
.button{border-radius:100px;padding:1rem 1.5rem;transition:transform .25s,background-color .25s,box-shadow .25s;box-shadow:0 5px 14px #98506b0a;font-size:.92rem}.button:hover{transform:translateY(-3px);box-shadow:0 10px 24px #98506b23}.button span[aria-hidden]{transition:transform .25s}.button:hover span[aria-hidden]{transform:translate(2px,-2px)}.button:active{transform:translateY(0)}.space-entry{border-radius:100px;border-color:#dbc4cf;color:var(--rose);transition:background .2s}.space-entry:hover{background:var(--pink)}.eyebrow{font-size:.82rem;letter-spacing:.15em}
.hero{position:relative;max-width:none;padding:4rem max(5vw,calc((100vw - 1440px)/2)) 2rem;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:3rem 5%;background:radial-gradient(ellipse at 95% 18%,#f5d1dc88,transparent 38%),radial-gradient(ellipse at 63% 100%,#cfe5f577,transparent 40%),var(--paper)}.hero>div:first-child{padding-block:2rem}.hero h1{font-size:clamp(3.15rem,4.75vw,5.4rem);line-height:1.05;letter-spacing:-.055em;max-width:13ch;text-wrap:balance}.hero h1 em{font-style:italic;font-weight:400;color:var(--rose)}.hero>div>p:not(.eyebrow){max-width:520px;font-size:1.05rem;color:var(--muted)}.hero .actions{gap:.7rem}.hero-signature{grid-column:1/-1;display:flex;align-items:center;gap:2rem;justify-content:space-between;padding:1.6rem 0 .2rem;border-top:1px solid #d8c8d080;color:var(--muted);font-size:.83rem}.hero-signature p{margin:0}.hero-signature>span{font:italic 1.25rem Georgia,serif;color:var(--rose)}
.programme-showcase{min-width:0;padding:1.4rem 1.7rem 1.2rem;border:1px solid #e3ccd8;background:linear-gradient(155deg,#f8e2e8,#f4eafa 58%,#e3edf7);border-radius:180px 180px 24px 24px;box-shadow:0 25px 70px #73596b12;transition:background .5s;align-self:center}.programme-showcase[data-active="1"]{background:linear-gradient(155deg,#eee6fa,#e0d6ef 58%,#f9e9ef)}.programme-showcase[data-active="2"]{background:linear-gradient(155deg,#e7f3fb,#d9eaf5 55%,#efe9f9)}.programme-showcase:focus-visible{outline:3px solid #426f9b;outline-offset:5px}.showcase-top{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:1.5rem 0 .5rem;font-size:.65rem;letter-spacing:.13em;color:#705466}.showcase-top>span:last-child{font-size:1.4rem}.story-slide{margin:0;animation:slide-arrival .48s cubic-bezier(.2,.7,.3,1)}.slide-art{height:330px;display:flex;align-items:center;justify-content:center;padding:1.5rem}.slide-art img{height:100%;width:auto;max-width:88%;object-fit:contain;box-shadow:0 20px 30px #442b4529;transform:rotate(-5deg);border-radius:2px}.story-slide:nth-child(2) .slide-art img{transform:rotate(4deg)}.slide-art.app-art{padding:2.5rem .5rem}.slide-art.app-art img{width:100%;max-width:100%;height:auto;max-height:100%;transform:rotate(-2deg);border-radius:10px}.story-slide figcaption{padding:.75rem .5rem 1rem}.story-slide .eyebrow{display:block;margin-bottom:.5rem;font-size:.78rem}.story-slide h2{font-size:clamp(1.7rem,2.2vw,2.4rem);max-width:18ch;margin:0 0 .7rem}.story-slide p{font-size:.9rem;line-height:1.6;margin:0;color:#635262;min-height:3.2em}.showcase-controls{border-top:1px solid #85678230;padding:.9rem .5rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.showcase-controls>span{font-size:.78rem;letter-spacing:.03em;color:#645461}.showcase-controls>div{display:flex;gap:.5rem}.showcase-controls button{width:44px;height:44px;border:1px solid #a1849b70;border-radius:50%;background:#fffaf899;color:#654359;font-size:1.2rem;transition:transform .2s,background .2s}.showcase-controls button:hover{background:white;transform:translateY(-2px)}
.section{padding-block:6.5rem}.section h2{text-wrap:balance;letter-spacing:-.045em}.why{background:#4b3446;color:#fff4f7;border-radius:36px 36px 0 0;margin-top:2rem;position:relative}.why .eyebrow{color:#e9aebf}.why h2{max-width:850px}.why .intro-copy{color:#e7d8e1}.why .axes{border-color:#a482993f}.why .axes article{padding-right:1rem}.why .axes h3{color:#f4d7e5}.why .axes p{color:#e4d2df}.method{background:radial-gradient(ellipse at 95% 90%,#e6f2fb,transparent 48%),var(--paper)}.method .pillars article{border-color:#d9c9d5}.method .number{font-style:italic;color:#b57a95}.method blockquote{border-left:2px solid #cfa4b8;padding-left:2rem}.offers{gap:1.5rem}.offer{border-radius:24px;border:1px solid #dac4cf;padding:2.5rem;background:linear-gradient(130deg,#fff4f7,#f9e4eb);transition:transform .3s,box-shadow .3s}.offer.premium{background:linear-gradient(130deg,#f0ebfb,#e4daf4);border-color:#d1c0e4}.offer:hover{transform:translateY(-5px);box-shadow:0 20px 40px #61465b10}.offer h3{font-size:2.25rem}.product.essential{background:#fbecf0;border-radius:36px 36px 0 0}.product.premium{background:linear-gradient(180deg,#f0eafa,#fffaf8 40%);border-radius:36px 36px 0 0}.page-spread,.page-spread.two{border-radius:24px;background:#fffaf888;border:1px solid #dacbd677;scrollbar-color:#b58ea4 transparent}.preview-link{border-radius:8px;overflow:hidden;transition:transform .3s,box-shadow .3s}.preview-link:hover{transform:translateY(-5px);box-shadow:0 18px 30px #392d3114}.preview img{transition:transform .45s}.preview-link:hover img{transform:scale(1.015)}.editorial>div:has(>.preview){border-radius:160px 160px 18px 18px;background:#f1d6e1;padding:3rem}.purchase{border-color:#b587a0}.purchase .price{font-style:italic}.app-feature{border-radius:26px;background:linear-gradient(120deg,#eee9fb,#e6f2fb);border:1px solid #d6d0e5}.portrait-placeholder{border-radius:180px 180px 22px 22px;background:linear-gradient(160deg,#e5daf1,#f6dae5)}.about{background:#f8eff4}.faq details{transition:background .3s}.faq details[open]{background:#fff3f6}.faq summary{padding-inline:1rem}.faq details>div{padding-inline:1rem}.faq summary>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #dcc5d1;border-radius:50%}details[open] summary>span::after{content:'−'}footer{background:#4b3446;color:#fff3f6;border-color:#4b3446}footer .brand{font-size:2.5rem;font-weight:500}footer .small{color:#dbc2d1}footer nav a{color:#f1dfe9}dialog{border-radius:24px;box-shadow:0 35px 100px #21172140}dialog[open]{animation:dialog-arrival .3s ease}.dialog-header{border-color:var(--line)}
body:has(.programme-space){background:radial-gradient(ellipse at 95% 25%,#eee9fb,transparent 40%),radial-gradient(ellipse at 0% 60%,#fce8ee,transparent 40%),var(--paper)}.programme-space{max-width:1400px;padding-inline:6vw;min-height:75vh}.programme-space[data-programme-page="entry"]{display:grid;grid-template-columns:1fr 1fr;gap:0 7%;align-content:center}.programme-space[data-programme-page="entry"]>.back-link{grid-column:1/-1;width:fit-content}.programme-space[data-programme-page="entry"]>.eyebrow{grid-column:1;align-self:end}.programme-space[data-programme-page="entry"]>h1{grid-column:1;font-size:clamp(3rem,4.8vw,5rem);max-width:10ch;font-style:italic;color:#785268}.programme-space[data-programme-page="entry"]>#space-status{grid-column:1;max-width:28rem;line-height:1.8}.programme-space[data-programme-page="entry"]>#access-panel{grid-column:2;grid-row:2/6;margin:0;background:#fffaf8e8;border-radius:28px;border:1px solid #dfcdd7;padding:2.5rem;box-shadow:0 25px 70px #5f405c0c;align-self:center}.programme-space[data-programme-page="entry"]>.space-help{grid-column:1;margin-top:1rem;font-size:.9rem}.programme-space input:not([type=checkbox]){border-radius:12px;border-color:#cfb5c2;min-height:54px;background:#fff}.programme-space input:focus{border-color:var(--rose)}.programme-space #programme-panel{padding:2.5rem;border:1px solid #dfcdd7;border-radius:28px;background:#fffaf8d9;box-shadow:0 20px 60px #5f405c0b}.programme-resources{border-radius:18px;background:linear-gradient(125deg,#fce8ee88,#eee9fb88)}.programme-space #programme-title{font-size:clamp(2rem,3.5vw,3rem)}.access-badge{background:#edf4ee;color:#3e664c;border-color:#c6d7cb}.programme-space #access-title{font-size:1.9rem}.programme-space .back-link{color:var(--rose)}
@keyframes slide-arrival{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}@keyframes dialog-arrival{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes reveal-arrival{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.reveal-arrival{animation:reveal-arrival .7s cubic-bezier(.2,.7,.3,1) both}.hero>div:first-child{animation:reveal-arrival .8s ease both}
main{animation:page-in .35s ease both}@keyframes page-out{to{opacity:0;transform:translateY(-5px)}}@keyframes page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1151px){.site-header .space-entry{order:2}.site-header nav{margin-left:auto}.site-header .space-entry{margin-left:0}}
@media(max-width:1150px){.hero{gap:3rem 4%;padding-inline:5vw}.hero h1{font-size:clamp(3rem,5vw,4.4rem)}.slide-art{height:300px}.programme-showcase{padding-inline:1.2rem}.site-header{padding-block:.9rem}.site-header nav{gap:.8rem}.programme-space[data-programme-page="entry"]{gap:0 4%}.programme-space[data-programme-page="entry"]>#access-panel{padding:1.8rem}}
@media(max-width:760px){html{scroll-padding-top:95px}.site-header{padding:.9rem 5vw;gap:.6rem;flex-wrap:wrap}.site-header>.brand{width:auto;flex:1;font-size:1.25rem;white-space:nowrap}.site-header .brand small{display:none}.site-header .brand-dot{margin-left:.25rem}.site-header>.space-entry{margin:0;padding:.55rem .65rem;font-size:.78rem;order:1}.site-header>.menu-toggle{padding:.5rem;font-size:.75rem;border-radius:50px;order:2}.site-header nav{order:3;margin:0}.site-header nav>a:not(.button)::after{display:none}.hero{grid-template-columns:1fr;padding:3rem 6vw 1.6rem;gap:2rem}.hero>div:first-child{padding:0}.hero h1{font-size:clamp(3.1rem,10vw,4.5rem);max-width:15ch}.hero .actions .button{flex:1 1 auto;min-height:50px}.hero .actions .button.secondary{background:transparent}.hero .eyebrow{font-size:.74rem}.programme-showcase{width:100%;max-width:520px;justify-self:center;border-radius:140px 140px 22px 22px;padding:1rem 1.2rem}.slide-art{height:280px}.showcase-top{padding-top:1.5rem;font-size:.6rem}.story-slide h2{font-size:1.85rem;max-width:17ch}.hero-signature{align-items:flex-start;gap:.7rem;flex-direction:column;padding-top:1.3rem}.hero-signature>span{font-size:1.15rem}.section{padding-block:4rem}.why{margin-top:1rem;border-radius:24px 24px 0 0}.offers{gap:1.2rem}.offer{padding:1.8rem}.offer h3{font-size:1.9rem}.method blockquote{padding-left:1.2rem}.editorial>div:has(>.preview){padding:2rem}.programme-space[data-programme-page="entry"]{display:block}.programme-space[data-programme-page="entry"]>h1{max-width:12ch;font-size:3.2rem}.programme-space[data-programme-page="entry"]>#access-panel{margin-top:2rem;padding:1.6rem}.programme-space #programme-panel{padding:1.5rem}.programme-space .space-help{margin-top:2rem!important}.programme-space .back-link{margin-bottom:2rem}.programme-space #programme-title{font-size:2.2rem}footer .brand{font-size:2rem}}
/* Deux chapitres de la même méthode : des repères éditoriaux, sans cartes d’achat supplémentaires. */
.offer-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,5vw,4rem);max-width:52rem;margin-top:2.8rem}
.offer-navigation a{position:relative;display:flex;align-items:center;gap:1rem;min-height:64px;padding:.65rem 0 1rem;border-bottom:1px solid var(--line);text-decoration:none;font:1.65rem Georgia,serif;color:var(--ink)}
.offer-navigation a::after{position:absolute;content:'';height:2px;background:var(--rose);bottom:-1px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.offer-navigation a:hover::after,.offer-navigation a.is-active::after,.offer-navigation a:focus-visible::after{transform:scaleX(1)}
.offer-navigation a.is-active{color:var(--rose)}
.offer-navigation-index{font:500 .7rem 'Segoe UI',system-ui,sans-serif;letter-spacing:.1em;color:var(--muted)}
.offer-navigation-arrow{margin-left:auto;font-size:1.3rem;color:var(--rose);transition:transform .2s ease}
.offer-navigation a:hover .offer-navigation-arrow{transform:translate(2px,2px)}
#programmes .offers{gap:clamp(2.5rem,7vw,6rem);margin-top:2.8rem}
#programmes .offer{padding:0;min-width:0;border:0;border-radius:0;background:none;box-shadow:none;transform:none}
#programmes .offer h3{font-size:clamp(1.8rem,2.5vw,2.25rem);max-width:24ch}
#programmes .offer .eyebrow{font-size:.74rem;margin-bottom:1rem}
#programmes .offer .button{margin-top:.6rem}
.product>.eyebrow{display:flex;align-items:center;gap:1.1rem;margin-bottom:1.8rem}
.chapter-index{font:italic 2.6rem/1 Georgia,serif;letter-spacing:-.06em;padding-right:1.1rem;border-right:1px solid currentColor}
.product.essential{border-radius:24px 24px 0 0}
.product.premium{margin-top:clamp(3.5rem,7vw,7rem);padding-top:clamp(4rem,7.5vw,7.5rem);border-top:1px solid #d1c0e4;border-radius:24px 24px 0 0}
.product>.intro-copy{max-width:48rem}
/* Un même cadre pour les pages, à leur ratio portrait. La web-app garde son format écran. */
.page-spread,.page-spread.two{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);padding:clamp(1rem,2.5vw,2rem);align-items:start;border-radius:16px;background:#fffaf888}
.page-spread.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px;margin-inline:auto;padding-inline:clamp(1rem,3vw,3rem)}
.page-spread>.preview:nth-child(2),.page-spread.two>.preview:nth-child(2){margin-top:0}
.preview-link{position:relative;isolation:isolate;border:1px solid #dacbd6;border-radius:6px;box-shadow:0 6px 18px #392d3109;transition:box-shadow .2s,border-color .2s;transform:none}
.preview-link:hover{transform:none;box-shadow:0 10px 24px #392d3112;border-color:#b587a0}
.preview-frame{display:block;aspect-ratio:1 / 1.4142;overflow:hidden;background:#f5f3f4}
.preview-frame img{width:100%;height:100%;object-fit:contain;box-shadow:none;transform:none!important;transition:none}
.premium-web-app .preview-frame{aspect-ratio:943 / 752;background:var(--paper)}
.preview-zoom{position:absolute;right:.65rem;bottom:.65rem;display:grid;place-items:center;width:34px;height:34px;border:1px solid #dacbd6;border-radius:50%;color:var(--rose);background:#fffaf8f2;opacity:0;pointer-events:none;transition:opacity .2s ease}
.preview-zoom svg{width:19px;height:19px}
.preview-link:focus-visible .preview-zoom{opacity:1}
@media(hover:hover) and (pointer:fine){.preview-link:hover .preview-zoom{opacity:1}}
.preview-viewport{width:fit-content;max-width:100%;margin:1.5rem auto;overflow:hidden;border-radius:3px}
.preview-body .preview-viewport img{display:block;margin:0;max-width:100%;width:auto;height:auto}
@media(max-width:900px){
 .page-spread,.page-spread.two{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:1.25rem;padding:1.25rem;scroll-padding-inline:1.25rem}
 .page-spread>.preview,.page-spread.two>.preview{flex:0 0 calc((100% - 1.25rem)/2);scroll-snap-align:start;margin-top:0}
}
@media(min-width:761px) and (max-width:1150px){html{scroll-padding-top:180px}}
@media(max-width:640px){
 .offer-navigation{gap:1.25rem;margin-top:2rem}.offer-navigation a{gap:.65rem;font-size:1.4rem}.offer-navigation-arrow{font-size:1.1rem}
 #programmes .offers{gap:2.4rem;margin-top:2.4rem}#programmes .offer+.offer{border-top:1px solid var(--line);padding-top:2.4rem}
 .product>.eyebrow{gap:.8rem;font-size:.7rem}.chapter-index{font-size:2.2rem;padding-right:.8rem}
 .page-spread>.preview,.page-spread.two>.preview{flex-basis:92%}.page-spread,.page-spread.two{margin-block:2.5rem;padding:1rem;scroll-padding-inline:1rem}
}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}.button:hover,.offer:hover,.preview-link:hover{transform:none}}
.header-access{display:flex;align-items:center;gap:.6rem;margin-left:auto;order:2;flex-shrink:0}.header-access .space-entry{margin:0}.header-access .header-app{min-height:44px;padding:.7rem 1rem;white-space:nowrap}.header-access .header-app:hover{transform:none}#header-app-status{padding:1rem;margin:0;background:var(--pink);color:var(--rose)}
@media(max-width:1150px){.header-access{order:0}}
@media(max-width:760px){.header-access{order:1;margin:0}.header-access .space-entry,.header-access .header-app{padding:.55rem .65rem;font-size:.78rem}.site-header:has(.header-app:not([hidden]))>.brand{flex-basis:100%}.site-header:has(.header-app:not([hidden]))>.menu-toggle{margin-left:auto}}
.site-header .header-access .space-entry{order:0;margin:0}.site-header .header-access .header-app{order:1}
/* Contact : un cadre lisible, indépendant des marges de la vitrine. */
.contact-page.section{width:100%;max-width:1100px;min-height:65vh;margin-inline:auto;padding:clamp(3rem,7vw,6.5rem) clamp(1.25rem,5vw,4rem)}
.contact-page .contact-mark{display:block;margin-bottom:1.5rem;font-size:2rem;line-height:1;color:var(--rose)}
.contact-page h1{margin-bottom:2rem;font-size:clamp(3rem,5vw,4.7rem);line-height:1.08;letter-spacing:-.045em}
.contact-page .contact-intro{max-width:38rem;margin-bottom:1.5rem;color:var(--muted);line-height:1.8}
.contact-page .contact-address{margin-bottom:1.25rem;font-size:clamp(1rem,2.2vw,1.3rem);font-weight:600}
.contact-page .contact-address a{white-space:nowrap;text-decoration-thickness:1px;text-underline-offset:.3em}
.contact-page .contact-response{margin-bottom:2rem;font-weight:600}
.contact-page .button{min-height:54px;max-width:100%}
.contact-page a:focus-visible{outline:2px solid var(--rose);outline-offset:5px}
@media(max-width:760px){.contact-page.section{min-height:65vh;padding-block:3.5rem}.contact-page h1{margin-bottom:1.5rem}.contact-page .contact-mark{margin-bottom:1.25rem}}
