/* Coach Impulsion: shared rhythm, sections, cards and usable actions. */
body .button,body .navcta{line-height:1.5;white-space:normal;text-align:center;max-width:100%;overflow-wrap:break-word;flex-shrink:0}
body .button:hover,body .navcta:hover{transform:none}
body .button:focus-visible,body summary:focus-visible,body .textlink:focus-visible{outline:3px solid #b88224;outline-offset:4px}
body .button.small{min-height:44px;line-height:1.5}
body .note{font-size:.9rem;line-height:1.7;color:#4a5a6d}
main{min-width:0}
main :is(.card,.tool,.situation-card,.testimonial,.guide-download-card){min-width:0}
main :is(.three,.four,.two,.offers,.tool-grid,.situation-grid){gap:26px}
main :is(.hero-actions,.tool-actions,.permission-links,.guide-lesson-links,.testimony-return){display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;margin-top:28px;margin-bottom:28px}
main .hero-actions+p,main .guide-lesson-links+p{margin-top:24px}
/* Home: retain the existing content groups and colour palette. */
main>.section{border-top:1px solid #dce3ea;padding-top:88px;padding-bottom:88px}
.section-head{margin-bottom:42px}
.section-head .eyebrow{margin-bottom:16px}
.section-head h2{margin-bottom:22px}
.section-head p{line-height:1.75}
.card{padding:30px;border-radius:16px;box-shadow:0 7px 22px #10233f06}
.card h3{line-height:1.45;margin:15px 0 18px}
.card p{line-height:1.75}
.card .bottom{display:grid;gap:14px;padding-top:22px;border-top:1px solid #dce3ea}
.card .bottom>.price{margin:0 0 8px}
.card .bottom .button,.card .bottom .textlink{margin:0;white-space:normal;line-height:1.5;text-align:center}
.card .offer-detail{padding-top:20px;margin-top:8px;margin-bottom:22px}
.card .offer-detail p{line-height:1.7;margin-bottom:15px}
.card .offer-detail strong{margin-bottom:9px}
.catalog-group{border:1px solid #d5dfe8;border-radius:18px;margin:28px auto;max-width:1200px;overflow:hidden}
.catalog-group>summary{padding:28px 30px;background:#f2f6fa;line-height:1.6}
.catalog-group>summary strong{line-height:1.45}
.catalog-group>summary span,.catalog-group>summary small{margin-top:12px;line-height:1.65}
.catalog-group[open]>summary{border-bottom:3px solid #eeba54}
.catalog-group .section{padding-top:35px;padding-bottom:45px}
.feature-content>h3{line-height:1.4}
.feature-content>.button,.feature-content>.textlink{display:flex;width:fit-content;margin-top:16px;margin-bottom:16px}
.feature-content .offer-detail{padding-top:22px;margin-top:22px}
.situation-card{padding:28px}
.situation-card .situation-options{gap:14px;margin-top:24px}
.tool-grid .tool{padding:26px;gap:14px;line-height:1.6}
.tool-grid .tool small{font-size:.95rem;line-height:1.65}
.tool-guide,.overview-panel{padding:28px;margin:30px 0}
.tool-guide h3,.overview-panel h3{line-height:1.45;margin-bottom:18px}
.guide-choice{padding:20px;gap:12px;line-height:1.6}
.example-teaser{gap:28px;padding:30px;margin-top:36px}
.example-teaser h3{line-height:1.45;margin-bottom:12px}
/* Offer detail pages: each topic has an obvious start and separate actions. */
.offer-layout,.guide-layout{gap:42px}
.offer-body>h2,.guide-body>h2{margin:48px 0 20px;padding-top:22px;border-top:1px solid #dce3ea;line-height:1.45}
.offer-body>p,.guide-body>p{line-height:1.8;margin-bottom:22px}
.offer-program,.offer-related{margin-top:38px}
.offer-program-intro,.offer-example{padding:26px;border:1px solid #d5dfe8;border-radius:14px}
.offer-program details,.guide-module details{padding:22px;margin:18px 0;line-height:1.7}
.offer-program summary,.guide-module summary{line-height:1.65}
.offer-program summary small{margin-top:9px}
.offer-summary,.guide-summary{padding:28px;border-top:4px solid #eeba54;box-shadow:0 8px 24px #10233f08}
.offer-summary .button,.guide-summary .button{display:flex;width:100%;margin:14px 0;line-height:1.5}
.offer-summary p,.guide-summary p{line-height:1.75;margin:22px 0}
.offer-summary li,.guide-summary li{line-height:1.7;margin:12px 0}
.offer-faq details{padding:22px 0}
.offer-faq summary{line-height:1.6}
.offer-faq p{margin-top:16px;line-height:1.75}
.offer-related>.button{display:flex;width:fit-content;margin:16px 0}
.offer-exercise label{padding-top:18px;margin-top:18px;border-top:1px solid #dce3ea;font-weight:650}
.offer-exercise textarea{margin:12px 0 22px;line-height:1.7;min-height:115px}
.offer-exercise .note{background:#fff7e4;padding:16px;border-radius:10px;margin-top:24px}
/* Guides: separate each lesson, reflection and first step. */
.guide-lesson,.permission-lesson{margin:42px 0;padding:32px;background:#fff;border:1px solid #d5dfe8;border-top:4px solid #eeba54;border-radius:16px;scroll-margin-top:100px}
.guide-lesson h2,.permission-lesson h2{line-height:1.45;margin-bottom:25px}
.guide-lesson h3,.permission-lesson h3{margin:30px 0 16px;padding-top:20px;border-top:1px solid #dce3ea;line-height:1.5}
.guide-lesson p,.permission-lesson p{line-height:1.8;margin-bottom:22px}
.guide-example,.permission-example{padding:24px;margin:28px 0;border-left:4px solid #eeba54}
.guide-example h3{border:0;padding:0;margin-top:0}
.guide-example p:last-child,.permission-example p:last-child{margin-bottom:0}
.guide-next{padding-top:24px;margin-top:30px;border-top:2px solid #d5dfe8}
.guide-next .button{margin-top:8px}
.guide-toc,.permission-nav{padding:28px;margin:34px 0;border:1px solid #d5dfe8;border-radius:14px;background:#edf3f6}
.guide-toc li,.permission-nav li{line-height:1.7;margin:12px 0}
.guide-toc a,.permission-nav a{display:inline-block;padding:4px 0;text-underline-offset:4px}
.guide-toc a.button{padding:10px 16px;margin-top:20px}
.guide-bridge,.guide-module{padding:28px;margin:34px 0;border:1px solid #d5dfe8;border-radius:14px;background:#f1f5f9}
.guide-bridge h2,.guide-bridge h3,.guide-module h3{line-height:1.45}
.guide-bridge>.button{display:flex;width:fit-content;margin-top:22px}
.guide-bridge form{padding-top:20px;margin-top:22px;border-top:1px solid #d5dfe8}
.guide-download-grid{gap:24px;margin-top:30px}
.guide-download-card{padding:26px;gap:12px}
.guide-download-card h3{line-height:1.5;margin-bottom:8px}
.guide-download-card .button{margin-top:12px}
.guide-body>p a,.guide-reading>p a{ text-decoration:underline;text-underline-offset:4px}
.permission-step{padding:18px 22px;background:#fff7e4;border-radius:0 10px 10px 0;margin-top:26px}
.permission-sheet{padding:32px;margin:40px 0;border-top:4px solid #eeba54}
.permission-repertoire{padding-top:24px;margin-top:28px}
/* Testimonials and examples use the same reading rhythm. */
.testimony-list{gap:30px}
.testimony-list .testimonial{padding:32px}
.testimony-list blockquote p{margin-bottom:20px;line-height:1.8}
.testimony-return{padding-top:28px;border-top:1px solid #dce3ea}
.example-case{background:white;border:1px solid #d5dfe8;border-top:4px solid #eeba54;border-radius:16px;padding:32px;margin:42px 0}
.example-case h2{line-height:1.45}
.example-reading section{border-top:1px solid #dce3ea;padding-top:24px;margin:30px 0}
.example-reading h3{line-height:1.5;margin-bottom:16px}
.example-map{gap:18px}
.example-plan{padding:28px;border:1px solid #ecd19c}
/* Tools and forms: instructions, fields and next actions remain distinct. */
.dialog,.buy-dialog{padding:36px;scroll-padding-top:20px}
.dialog h2,.buy-dialog h2{line-height:1.35;margin-bottom:24px}
.tool-intro{line-height:1.8;margin-bottom:24px}
.tool-hint{margin:12px 0 20px;line-height:1.7;font-size:.95rem}
.tool-question{line-height:1.5;margin-bottom:20px}
.option{align-items:flex-start;gap:12px;padding:16px 18px;margin:13px 0;line-height:1.65}
.option input{margin-top:6px}
.tool-textarea{line-height:1.75;margin-top:12px;padding:16px}
.modal .tool-actions{display:flex;flex-wrap:wrap;gap:16px;border-top:1px solid #d5dfe8;padding-top:24px;margin-top:28px}
.modal .tool-actions .button{line-height:1.5;max-width:100%;white-space:normal}
.modal .result-section{padding:24px;margin:26px 0;border:1px solid #d5dfe8;border-left:4px solid #eeba54}
.result-section h3{line-height:1.5;margin-bottom:16px}
.result-section p{line-height:1.8}
.result-section p.result-question{margin-top:24px;padding-top:20px}
.prism-definition,.prism-rating{padding:24px 0}
.prism-definition strong{margin-bottom:12px;line-height:1.5}
.quality-person{padding:24px;margin:22px 0}
.quality-person h3{margin-bottom:18px;line-height:1.5}
.prism-next{padding:26px;margin-top:30px;border-top:4px solid #eeba54}
.prism-next h3{line-height:1.5;margin-bottom:16px}
.prism-map{padding:24px;margin:26px 0}
.prism-map-row{padding:16px 0;line-height:1.7}
.first-step-notes{padding:24px;margin-top:24px}
.first-step-notes summary{line-height:1.6}
.form-field{margin:24px 0;line-height:1.6}
.form-field input,.form-field textarea{margin-top:12px;line-height:1.65}
.contact-box{padding:32px}
.contact-box form>.button{margin-top:16px}
.payment-choices{gap:18px;margin:30px 0}
.payment-choice{padding:20px;line-height:1.7}
.buy-dialog>.button{margin:16px 0;display:flex;width:100%}
.footer{padding:44px 0}
.footer-inner{align-items:center;gap:28px}
.footer .button.outline{color:#e0e8f2;border-color:#9eafc5}
.footer>.note{padding-top:24px;margin-top:28px;border-top:1px solid #ffffff25;color:#c4d0df;line-height:1.8}
@media(max-width:950px){.offer-layout,.guide-layout{gap:30px}.example-teaser{flex-wrap:wrap}.example-teaser .button{margin:0}.offer-summary,.guide-summary{position:static}.dialog,.buy-dialog{padding:30px}}
@media(max-width:640px){main>.section{padding:60px 0}main :is(.three,.four,.two,.offers,.tool-grid,.situation-grid){gap:24px}.card,.situation-card,.guide-download-card{padding:24px}.catalog-group{margin:24px 12px}.catalog-group>summary{padding:24px 20px}.catalog-group .wrap{padding:0 16px}.feature-content,.feature-aside{padding:28px}.hero-actions .button,.permission-links .button,.guide-lesson-links .button,.testimony-return .button{width:100%}.offer-layout,.guide-layout{gap:26px}.offer-body>h2,.guide-body>h2{margin-top:36px;padding-top:20px}.guide-lesson,.permission-lesson,.permission-sheet,.example-case{padding:24px 20px;margin:30px 0}.guide-example,.permission-example,.guide-bridge,.guide-module,.guide-toc,.permission-nav{padding:20px}.dialog,.buy-dialog{padding:28px 20px}.modal .tool-actions .button{flex:1 1 180px;min-width:0}.quality-person,.prism-next,.prism-map,.modal .result-section{padding:20px}.prism-next .button{min-width:0}.footer-inner .button{margin-top:24px}.footer>.note{margin-top:24px;padding-top:20px}.offer-summary,.guide-summary,.contact-box{padding:24px}}
@media print{.guide-lesson,.permission-lesson,.permission-sheet,.example-case{box-shadow:none}.permission-sheet{border:0;padding:0}.button{box-shadow:none}}
/* Longer authentic excerpts remain comfortable to read in three cards. */
#temoignages .testimonial blockquote{font-family:'DM Sans',system-ui,sans-serif;font-size:1.05rem;line-height:1.8;letter-spacing:normal;margin-bottom:24px}
#temoignages .testimonial blockquote p{margin:0;line-height:1.8}
#temoignages .testimonial{padding:30px;border-left:4px solid #eeba54}
#temoignages .three{align-items:start}

/* Keep the coach portrait independent from the content column's natural height. */
#nicolas .feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:auto;align-items:stretch}
#nicolas .feature-content{min-width:0;height:auto;overflow:visible;padding:40px}
#nicolas .feature-content>.textlink{max-width:100%;margin:24px 0 0;white-space:normal;line-height:1.5}
#nicolas .portrait-photo{position:relative;min-width:0;min-height:430px;overflow:hidden}
#nicolas .portrait-photo img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:55% center}
@media(max-width:900px){#nicolas .feature{grid-template-columns:minmax(0,1fr)}#nicolas .portrait-photo{min-height:0;aspect-ratio:4/3}}
@media(max-width:640px){#nicolas .feature-content{padding:28px}#nicolas .feature-content>.textlink{display:flex;width:100%}}
