/* Page Passage : périmètre local, menu et campagne gérés par les fichiers partagés. */
.sp-page section{padding:58px 0;scroll-margin-top:100px}
.sp-page .hero{min-height:0;padding:0;background:var(--ivory)}
.sp-page .hero-grid{padding:54px 0;grid-template-columns:minmax(0,1.25fr) minmax(260px,.7fr);gap:48px}
.sp-page h1{font-size:clamp(2.7rem,5.6vw,4.8rem);line-height:1.02;margin-bottom:22px}
.sp-page h2{font-size:clamp(2rem,4vw,3.15rem);line-height:1.08;margin-bottom:24px;max-width:850px}
.sp-page h3{font-size:1.65rem}
.sp-page .hero-title-accent{color:#62546f}
.sp-page .eyebrow{color:#655746;letter-spacing:.1em;margin-bottom:14px}
.sp-page .lead{font-size:1.08rem;max-width:720px}
.sp-page .button-row{margin-top:24px}
.sp-page .btn{background:#241044;color:#fff;box-shadow:none;min-height:52px}
.sp-page a:focus-visible{outline:3px solid #8c66aa;outline-offset:5px}
.sp-page .sp-note{font-size:.88rem;color:#625969;margin:14px 0 0;line-height:1.6}
.sp-format{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:24px 0}
.sp-format li{padding:8px 12px;background:#eee7f3;border-radius:12px;color:#39234d;font-size:.9rem;font-weight:600}
.sp-portrait{margin:0;min-width:0}
.sp-portrait img{width:100%;height:auto;aspect-ratio:6/7;object-fit:cover;object-position:top;border-radius:160px 160px 24px 24px}
.sp-portrait figcaption{font-size:.84rem;color:#625969;margin-top:12px;line-height:1.5}
.sp-page .proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.sp-page .proof h2{color:white}.sp-page .proof .eyebrow{color:#cde0d2}
.sp-page .proof-card{margin:0;min-height:0;padding:24px;gap:18px;justify-content:start}
.sp-page .proof-card p{font-size:1.65rem;margin-bottom:0}
.sp-page .proof-card footer,.sp-proof-note{font-size:.82rem;color:#e2dce9}
.sp-proof-note{margin:16px 0 0}
.sp-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sp-benefits article{padding:24px;border:1px solid #ddd4e4;border-radius:20px;background:#fff}
.sp-benefits article>span{color:#655475;font-size:.8rem;letter-spacing:.12em;display:block;margin-bottom:16px}
.sp-benefits p{margin-bottom:0;color:#544b5c}
.sp-about{margin:28px 0 0;max-width:780px;color:#544b5c}
.sp-hours{padding:24px;background:#fff;border:1px solid #ddd4e4;border-radius:20px;margin:26px 0}
.sp-hours h3{font-size:1.5rem}.sp-hours h4{font:600 .98rem Inter,sans-serif;color:#39234d;margin:0 0 14px}
.sp-hours-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sp-hours-grid p{font-size:.94rem;margin:0 0 14px}.sp-hours-grid p:last-child{margin-bottom:0}
.sp-booking-steps{font-size:.9rem;line-height:1.8;margin:20px 0}
.sp-page .calendar-card{min-height:0;padding:16px;border-radius:22px;box-shadow:0 8px 24px #190b400c}
.sp-page .calendar-card .tidycal-embed{min-height:620px;width:100%}
.sp-calendar-fallback{font-size:.9rem;text-align:center;margin:16px 0 4px}
.sp-calendar-fallback a,.sp-reading a{text-decoration:underline;text-underline-offset:4px}
.sp-page summary{font-size:1.35rem;padding:20px 0;line-height:1.25}
.sp-page details p{margin-bottom:0;padding-bottom:20px}.sp-page details p{color:#544b5c}
.sp-page .sp-reading{padding-top:0;padding-bottom:10px}.sp-page .sp-reading h2{font-size:1.6rem;margin-bottom:14px}
.sp-page .reveal{opacity:1;transform:none}
@media(max-width:800px){.sp-page .hero-grid{grid-template-columns:1fr;gap:26px;padding:34px 0}.sp-portrait{max-width:280px;margin:0 auto}.sp-portrait img{max-height:285px;aspect-ratio:1/1}.sp-benefits{grid-template-columns:1fr}.sp-page .proof-grid{grid-template-columns:1fr}.sp-page section{padding:40px 0}.sp-hours-grid{grid-template-columns:1fr;gap:20px}.sp-hours-grid article+article{padding-top:20px;border-top:1px solid #ddd4e4}.sp-page .btn{width:100%;padding:14px 16px}.sp-page h1{font-size:clamp(2.5rem,10vw,3.5rem)}.sp-hours{padding:20px}.sp-page .calendar-card{padding:6px}.sp-page .container{width:calc(100% - 32px)}.sp-booking-steps>strong{display:block}.sp-booking-steps>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sp-page .btn{transition:none;transform:none}}
