:root{--sage:#a8bba0;--sage-deep:#8ea98b;--sage-dark:#718a70;--sage-pale:#f0f4f0;--bark:#5c3c2d;--blush:#e8c4b8;--blush-dark:#b77d70;--cream:#fcfbf9;--violet:#7c3aed;--violet-dark:#4c1d95;--violet-pale:#f5f3ff;--stone:#625b57;--border:#dde7da;--shadow:0 16px 50px rgba(92,60,45,.09);--radius:1.75rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--stone);font-family:"Segoe UI",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}button{color:inherit}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.container-narrow{width:min(820px,calc(100% - 40px))}.section{padding:76px 0}.section-title,h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--bark);font-weight:400}.section-title{font-size:clamp(2.15rem,4vw,3.15rem);line-height:1.12;margin:.2rem 0 1rem}.eyebrow{display:block;margin-bottom:.7rem;color:var(--sage-deep);font-size:.76rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.section-lead,.page-title-center>p,.title-action p{max-width:720px;color:#6d6662}.center{text-align:center;margin-top:32px}.button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid transparent;border-radius:999px;padding:12px 24px;text-decoration:none;font-weight:650;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:0 9px 24px rgba(92,60,45,.13);outline:none}.btn-primary{background:var(--sage-deep);color:#fff}.btn-primary:hover{background:var(--sage-dark)}.btn-secondary{border-color:var(--sage);background:rgba(255,255,255,.72);color:var(--bark)}.btn-secondary:hover{background:var(--sage-pale)}.skip-link{position:fixed;z-index:1000;left:10px;top:-80px;background:#fff;padding:10px 14px;border-radius:8px}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;z-index:80;top:0;border-bottom:1px solid rgba(168,187,160,.22);background:rgba(252,251,249,.91);backdrop-filter:blur(14px)}.header-inner{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{width:44px;height:38px;object-fit:contain}.brand strong{display:block;font-family:Georgia,serif;font-size:1.55rem;font-weight:400;line-height:1;color:var(--bark)}.brand small{display:block;margin-top:5px;color:var(--sage-deep);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:25px}.main-nav>a:not(.btn){position:relative;text-decoration:none;color:#5f5a57;font-size:.9rem}.main-nav>a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--sage-deep);transform:scaleX(0);transform-origin:left;transition:transform .2s}.main-nav>a:hover::after,.main-nav>a.active::after{transform:scaleX(1)}.main-nav>a.active{color:var(--sage-dark);font-weight:700}.main-nav .nav-guidance:hover,.main-nav .nav-guidance.active{color:var(--violet)}.main-nav .nav-guidance::after{background:var(--violet)}.nav-book{min-height:42px;padding:9px 19px;font-size:.85rem}.mobile-menu-button{display:none;border:0;background:transparent;padding:9px}.mobile-menu-button span:not(.sr-only){display:block;width:24px;height:2px;margin:5px;background:var(--bark)}
/* Hero */.home-hero{position:relative;overflow:hidden;background:var(--sage-pale);padding:30px 0 90px}.hero-decor{position:absolute;inset:0;pointer-events:none}.hero-decor span{position:absolute;border-radius:50%;filter:blur(2px);opacity:.38}.hero-decor span:nth-child(1){width:390px;height:390px;left:-150px;top:-180px;background:radial-gradient(circle,var(--blush),transparent 68%)}.hero-decor span:nth-child(2){width:360px;height:360px;right:-150px;top:-100px;background:radial-gradient(circle,#fff3e6,transparent 70%)}.hero-decor span:nth-child(3){width:240px;height:240px;left:46%;top:180px;background:radial-gradient(circle,#fff,rgba(168,187,160,.18) 48%,transparent 70%)}.calm-wrap{position:relative;z-index:2}.calm-field{position:relative;min-height:260px;overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:40px;background:radial-gradient(circle at var(--x,50%) var(--y,50%),rgba(255,255,255,.95),rgba(232,196,184,.22) 20%,rgba(168,187,160,.09) 48%,transparent 70%),rgba(255,255,255,.18);box-shadow:inset 0 1px 0 #fff,0 18px 60px rgba(92,60,45,.06);cursor:pointer;touch-action:pan-y}.calm-field::before{content:"";position:absolute;inset:15px;border:1px solid rgba(168,187,160,.15);border-radius:30px}.calm-orbit{position:absolute;left:10%;right:10%;top:23%;height:48%;border:1px solid rgba(168,187,160,.24);border-radius:50%;transform:rotate(-7deg) translate(var(--dx,0),var(--dy,0));transition:transform .18s ease}.calm-orbit.orbit-b{left:18%;right:18%;top:31%;height:33%;border-color:rgba(232,196,184,.34);transform:rotate(7deg) translate(var(--idx,0),var(--idy,0))}.calm-particle{position:absolute;width:10px;height:17px;border-radius:95% 10% 95% 10%;background:linear-gradient(145deg,var(--sage-deep),var(--blush));opacity:.72;box-shadow:0 4px 14px rgba(92,60,45,.1);animation:particleFloat 5s ease-in-out infinite}.calm-particle-1{left:12%;top:26%}.calm-particle-2{left:28%;top:65%;animation-delay:-1s}.calm-particle-3{right:16%;top:20%;animation-delay:-2s}.calm-particle-4{right:9%;top:59%;animation-delay:-3s}.calm-particle-5{left:44%;top:13%;animation-delay:-4s}.calm-particle-6{left:62%;bottom:14%;animation-delay:-2.5s}.click-wave{position:absolute;z-index:5;width:14px;height:14px;margin:-7px;border:2px solid rgba(142,169,139,.78);border-radius:50%;box-shadow:0 0 0 12px rgba(168,187,160,.14),0 0 0 25px rgba(232,196,184,.1);pointer-events:none;animation:wave 1.05s cubic-bezier(.16,.84,.44,1) forwards}@keyframes wave{0%{transform:scale(.25);opacity:.95}100%{transform:scale(15);opacity:0}}@keyframes particleFloat{50%{transform:translateY(-12px) rotate(10deg)}}.quote-carousel{position:relative;z-index:3;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;margin-top:28px;padding:28px 30px;border:1px solid rgba(255,255,255,.75);border-radius:32px;background:rgba(255,255,255,.6);box-shadow:var(--shadow);backdrop-filter:blur(12px)}.quote-carousel button{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--border);border-radius:50%;background:#fff;cursor:pointer}.quote-carousel figure{text-align:center;margin:0;min-height:76px}.quote-carousel blockquote{margin:0;font-family:Georgia,serif;color:var(--sage-dark);font-size:clamp(1.2rem,2.5vw,1.65rem)}.quote-carousel figcaption{margin-top:10px;color:#77706b;font-style:italic}.quote-dots{position:absolute;bottom:17px;left:50%;display:flex;gap:7px;transform:translateX(-50%)}.quote-dots button{width:8px;height:8px;border:0;padding:0;background:rgba(168,187,160,.45)}.quote-dots button.active{width:24px;border-radius:999px;background:var(--sage-deep)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:68px;padding-top:55px}.hero-grid h1{font-size:clamp(3rem,5.2vw,4.8rem);line-height:1.02;margin:0 0 22px}.hero-grid p{font-size:1.08rem;line-height:1.8}.hero-image{position:relative;padding:16px;border:1px solid rgba(255,255,255,.78);border-radius:34px;background:rgba(255,255,255,.78);box-shadow:0 22px 75px rgba(92,60,45,.12)}.hero-image img{width:100%;max-height:430px;object-fit:cover;border-radius:25px}
/* Common sections */.about-grid{display:grid;grid-template-columns:.8fr 1.4fr;align-items:center;gap:70px}.about-visual{position:relative;width:max-content;margin:auto}.breathing-ring{display:grid;width:270px;height:270px;place-items:center;border-radius:50%;background:linear-gradient(145deg,rgba(168,187,160,.38),rgba(232,196,184,.38));animation:breathe 5s ease-in-out infinite}.breathing-ring img{width:80%;max-height:80%;object-fit:contain}.about-badge{position:absolute;right:-12px;bottom:-10px;width:96px;height:96px;border-radius:50%;background:#fff;box-shadow:0 10px 25px rgba(92,60,45,.15)}@keyframes breathe{50%{transform:scale(1.035)}}.about-grid p,.intro-copy p{line-height:1.8}.notice{margin-top:22px;padding:18px 20px;border-radius:18px;background:rgba(232,196,184,.23);font-size:.92rem}.benefits-section{background:#fff}.benefits-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;margin-top:34px}.benefit-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.benefit-card,.soft-card{border:1px solid var(--border);border-radius:22px;background:#fff;padding:24px;box-shadow:0 4px 18px rgba(92,60,45,.04);transition:transform .28s,box-shadow .28s,border-color .28s}.benefit-card:hover,.soft-card:hover{transform:translateY(-5px);border-color:var(--sage);box-shadow:var(--shadow)}.benefit-card h3,.soft-card h3{margin:0;font-size:1.25rem}.benefit-card p,.soft-card p{margin:.5rem 0 0;font-size:.92rem}.water-image img{border:1px solid var(--border);border-radius:30px;padding:8px;background:#fff;box-shadow:var(--shadow)}.audience-section,.contact-band{background:rgba(232,196,184,.18)}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}.step-number{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--sage-pale);font-family:Georgia,serif;color:var(--sage-dark)}.faq-section{background:rgba(240,244,240,.62)}.faq-list{display:grid;gap:12px;margin-top:28px}.faq-item{border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden}.faq-item summary{display:flex;justify-content:space-between;gap:20px;padding:19px 22px;cursor:pointer;color:var(--bark);font-family:Georgia,serif;font-size:1.18rem;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item summary span{font-family:Arial;font-size:1.5rem;transition:transform .2s}.faq-item>div{padding:0 22px 18px}.contact-band-grid,.contact-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.contact-band-grid ul{padding:0;list-style:none}.contact-mini-form,.contact-full-form{display:grid;gap:15px;border:1px solid var(--border);border-radius:26px;background:#fff;padding:28px;box-shadow:var(--shadow)}label{display:grid;gap:6px;color:var(--bark);font-size:.88rem;font-weight:650}input,textarea,select{width:100%;border:1px solid rgba(168,187,160,.58);border-radius:13px;background:#fff;padding:12px 14px;color:#514a46;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--sage-dark);box-shadow:0 0 0 3px rgba(168,187,160,.18)}textarea{resize:vertical;min-height:110px}.checkbox{display:flex;grid-template-columns:auto 1fr;align-items:start;gap:9px;font-weight:400;color:#5f5854}.checkbox input{width:17px;height:17px;margin-top:3px}.honeypot{position:absolute!important;left:-9999px!important}.form-status,.form-error{min-height:22px;margin:0;color:#a13838}.form-status.success{color:#426b40}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-details{margin:25px 0;padding:20px;border-radius:18px;background:var(--sage-pale)}
/* Pages service */.page-intro{padding-bottom:30px}.intro-copy{max-width:900px}.comparison-head{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:36px}.comparison-head>div{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:15px;padding:0 22px}.comparison-head span{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--sage-pale);font-family:Georgia,serif;color:var(--sage-deep)}.comparison-head>div:last-child span{background:rgba(232,196,184,.38);color:var(--blush-dark)}.comparison-head p{margin:0;color:var(--sage-deep);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.comparison-head small{display:block;margin-top:5px;color:var(--bark);font-family:Georgia,serif;font-size:1.55rem;font-weight:400;letter-spacing:0;text-transform:none}.comparison-list{display:grid;gap:15px;margin-top:20px}.comparison-row{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}.situation-card{height:100%;border:1px solid;border-radius:20px;padding:22px 28px;transition:transform .28s,box-shadow .28s,background .28s}.situation-card:hover{transform:translateY(-5px)}.adult-card{border-color:rgba(168,187,160,.35);background:rgba(240,244,240,.62)}.adult-card:hover{box-shadow:0 15px 35px rgba(140,160,135,.18);background:var(--sage-pale)}.child-card{border-color:rgba(232,196,184,.7);background:rgba(232,196,184,.13)}.child-card:hover{box-shadow:0 15px 35px rgba(197,143,130,.14);background:rgba(232,196,184,.25)}.situation-card b{font-family:Georgia,serif;font-weight:400;color:var(--bark);font-size:1.08rem}.situation-card p{margin:8px 0 0;font-size:.9rem}.family-heading{text-align:center;margin-bottom:30px}.family-heading h2{margin:14px 0 3px;font-size:2rem}.family-heading p{margin:0}.symbol-pair,.symbol-trio{display:inline-flex;align-items:center;justify-content:center;gap:11px}.symbol-pair i,.symbol-trio i{display:block;width:16px;height:16px;border:2px solid var(--sage-deep);border-radius:50%;background:var(--sage-pale);box-shadow:0 0 0 6px rgba(168,187,160,.1)}.symbol-pair b{display:block;width:1px;height:30px;background:linear-gradient(transparent,rgba(92,60,45,.5),transparent)}.symbol-pair.small i{width:11px;height:11px;box-shadow:none}.symbol-pair.small b{height:22px}.symbol-trio i{width:11px;height:11px;border-width:1px;box-shadow:0 0 0 4px rgba(168,187,160,.09)}.service-pair-layout{display:grid;grid-template-columns:1fr 28px 1fr;gap:22px;align-items:stretch}.vertical-line{position:relative}.vertical-line::before{content:"";position:absolute;left:50%;top:10px;bottom:10px;width:1px;background:linear-gradient(transparent,var(--sage),var(--blush),transparent)}.audience-badge{display:block;width:max-content;margin:0 auto 10px;border-radius:999px;background:var(--sage-pale);padding:6px 13px;color:var(--sage-dark);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.audience-badge.child{background:rgba(232,196,184,.3);color:var(--blush-dark)}.service-card{display:flex;height:100%;flex-direction:column;border:1px solid var(--border);border-radius:26px;background:#fff;padding:27px;box-shadow:0 7px 26px rgba(92,60,45,.05);transition:transform .28s,box-shadow .28s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card h3{margin:10px 0 7px;font-size:1.35rem}.service-card p{flex:1}.service-type{display:inline-flex;width:max-content;border:1px solid var(--border);border-radius:999px;background:var(--sage-pale);padding:4px 10px;color:var(--sage-dark);font-size:.72rem}.service-meta{display:flex;align-items:center;justify-content:space-between;margin:18px 0;padding-top:16px;border-top:1px solid var(--border)}.service-meta strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:400;color:var(--bark)}
/* Guidance */.guidance-body{background:#211528}.guidance-body .site-footer{margin-top:0}.guidance-page{position:relative;overflow:hidden;padding:70px 0 90px;color:rgba(243,232,255,.82);background:radial-gradient(circle at 12% 15%,rgba(124,58,237,.18),transparent 32%),radial-gradient(circle at 92% 80%,rgba(217,70,239,.12),transparent 34%),#211528}.guidance-page h1,.guidance-page h2,.guidance-page h3{color:#fff}.guidance-page h1{max-width:800px;margin:5px 0 15px;font-size:clamp(2.7rem,5vw,4.5rem);line-height:1.05}.guidance-eyebrow{color:#c4b5fd;text-transform:uppercase;letter-spacing:.2em;font-size:.75rem}.guidance-lead{max-width:780px;font-size:1.05rem}.guidance-panel{margin-top:30px;border:1px solid rgba(221,214,254,.16);border-radius:30px;background:rgba(255,255,255,.06);padding:30px;box-shadow:0 18px 55px rgba(0,0,0,.2)}.guidance-panel h2{font-size:1.9rem}.guidance-panel blockquote{margin:25px 0 0;border:1px solid rgba(196,181,253,.2);border-radius:18px;background:linear-gradient(90deg,rgba(124,58,237,.2),rgba(217,70,239,.08));padding:20px;color:#f5f3ff}.guidance-steps{display:grid;grid-template-columns:1fr 1fr;gap:16px}.guidance-steps>div{border:1px solid rgba(221,214,254,.14);border-radius:21px;background:rgba(255,255,255,.06);padding:22px}.guidance-steps span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:rgba(139,92,246,.25)}.guidance-notice{margin-top:22px;border:1px solid rgba(221,214,254,.13);border-radius:18px;background:rgba(124,58,237,.12);padding:18px}.guidance-services{margin-top:60px}.guidance-family .symbol-trio i{border-color:#c4b5fd;background:rgba(139,92,246,.4)}.guidance-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card-guidance{border-color:#ddd6fe;background:#f7f3ff;color:#57515b}.service-card-guidance .service-type{border-color:#ddd6fe;background:#fff;color:#6d28d9}.service-card-guidance h3,.service-card-guidance .service-meta strong{color:#5b21b6}.service-card.dark{border-color:rgba(221,214,254,.16);background:rgba(255,255,255,.06);color:rgba(243,232,255,.8)}.service-card.dark h3,.service-card.dark .service-meta strong{color:#fff}.service-card.dark .service-type{border-color:rgba(221,214,254,.2);background:rgba(124,58,237,.14);color:#ddd6fe}.service-card.dark .service-meta{border-color:rgba(221,214,254,.13)}.service-card.dark .btn{border-color:#8b5cf6;background:#7c3aed;color:#fff}.guidance-btn{background:#7c3aed;color:#fff}.guidance-btn:hover{background:#6d28d9}
/* Tarifs */.title-action{display:flex;align-items:end;justify-content:space-between;gap:35px}.linked-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:35px 0 55px}.linked-info-grid>a{display:block;border:1px solid var(--border);border-radius:19px;background:#fff;padding:21px;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}.linked-info-grid>a:first-child{background:rgba(240,244,240,.7)}.linked-info-grid>a.violet{border-color:#ddd6fe;background:var(--violet-pale)}.linked-info-grid>a:hover{transform:translateY(-5px);border-color:var(--sage);box-shadow:var(--shadow)}.linked-info-grid>a.violet:hover{border-color:#a78bfa}.linked-info-grid span{display:flex;justify-content:space-between;gap:10px}.linked-info-grid b{color:var(--bark)}.linked-info-grid .violet b{color:var(--violet-dark)}.linked-info-grid i{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#fff;font-style:normal}.linked-info-grid p{font-size:.9rem}.linked-info-grid small{color:var(--sage-dark);font-weight:700;text-transform:uppercase;letter-spacing:.12em}.linked-info-grid .violet small{color:var(--violet)}.tariff-group{margin-top:55px}.tariff-heading{display:flex;align-items:center;gap:18px;margin-bottom:22px}.tariff-heading h2{margin:0;font-size:2rem}.tariff-heading p{margin:5px 0 0}.tariff-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:35px}.tariff-grid:not(.three)::after{content:"";position:absolute;top:8%;bottom:8%;left:50%;width:1px;background:linear-gradient(transparent,var(--sage),transparent)}.tariff-grid.three{grid-template-columns:repeat(3,1fr);gap:20px}.tariff-card{display:grid;grid-template-columns:1fr auto;gap:15px;border:1px solid var(--border);border-radius:25px;background:#fff;padding:25px;box-shadow:0 7px 25px rgba(92,60,45,.05);transition:transform .25s,box-shadow .25s}.tariff-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.tariff-card.violet{border-color:#ddd6fe;background:var(--violet-pale)}.tariff-card h3{margin:0;font-size:1.35rem}.tariff-price{text-align:right;border-radius:16px;background:var(--sage-pale);padding:10px 14px}.violet .tariff-price{background:#fff}.tariff-price small{display:block}.tariff-price strong{display:block;font-family:Georgia,serif;font-size:1.8rem;color:var(--bark);font-weight:400}.violet .tariff-price strong,.tariff-card.violet h3{color:var(--violet-dark)}.tariff-card>p{grid-column:1/-1}.tariff-card>a{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:15px;text-decoration:none;color:var(--sage-dark);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.violet>a{color:var(--violet)}.legal-note{margin-top:45px;font-size:.88rem}
/* Reservation */.page-title-center{text-align:center;margin-bottom:30px}.mutuelle-banner{margin-bottom:28px;border:1px solid var(--border);border-radius:18px;background:rgba(240,244,240,.72);padding:17px 20px}.booking-steps{display:flex;align-items:center;gap:9px;margin:0 0 30px;padding:0;list-style:none;overflow:auto}.booking-steps li:not(.step-line){display:flex;align-items:center;gap:8px;white-space:nowrap;color:#aaa}.booking-steps span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--sage-pale);font-size:.78rem}.booking-steps li.current{color:var(--bark)}.booking-steps li.current span{background:var(--sage-deep);color:#fff;box-shadow:0 0 0 7px rgba(168,187,160,.16)}.booking-steps li.done span{background:var(--sage);color:#fff}.step-line{width:16px;height:1px;background:#ddd}.booking-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;border-radius:18px;background:var(--sage-pale);padding:15px 20px}.booking-summary div{display:grid}.booking-summary button{border:0;background:transparent;color:var(--sage-dark);text-decoration:underline;cursor:pointer}.booking-refresh-status{text-align:center;font-size:.75rem}.booking-stage{display:none}.booking-stage.active{display:block;animation:stageIn .35s ease}@keyframes stageIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.booking-service-layout{display:grid;grid-template-columns:minmax(0,1.8fr) 28px minmax(280px,.95fr);gap:25px}.booking-family-heading{display:flex;align-items:center;gap:15px;margin-bottom:14px}.booking-family-heading small{color:var(--sage-dark);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.booking-family-heading h2{margin:2px 0 0;font-size:1.8rem}.booking-pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-choice{display:flex;min-height:228px;width:100%;flex-direction:column;border:1px solid var(--border);border-radius:24px;padding:23px;background:#fff;text-align:left;cursor:pointer;transition:transform .27s,box-shadow .27s,border-color .27s}.booking-choice:hover,.booking-choice:focus-visible{transform:translateY(-5px);box-shadow:var(--shadow);outline:none}.booking-choice.sage{background:rgba(240,244,240,.5)}.booking-choice.blush{border-color:rgba(232,196,184,.65);background:rgba(232,196,184,.11)}.booking-choice.violet{border-color:#ddd6fe;background:var(--violet-pale);min-height:205px}.booking-choice strong{font-family:Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--bark)}.booking-choice.violet strong{color:var(--violet-dark)}.booking-choice>small{color:#777}.booking-choice>p{font-size:.88rem;line-height:1.65}.booking-audience{width:max-content;margin-bottom:10px;border:1px solid var(--border);border-radius:999px;background:#fff;padding:4px 9px;color:var(--sage-dark);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.booking-choice.violet .booking-audience{border-color:#ddd6fe;color:var(--violet)}.choose-label{display:flex;justify-content:space-between;margin-top:auto;border-top:1px solid var(--border);padding-top:13px;color:var(--sage-dark);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.booking-choice.violet .choose-label{color:var(--violet)}.choose-label i{font-style:normal;transition:transform .2s}.booking-choice:hover .choose-label i{transform:translateX(5px)}.booking-horizontal-line{position:relative;height:42px}.booking-horizontal-line::before{content:"";position:absolute;left:2%;right:2%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--sage),var(--blush),transparent)}.booking-horizontal-line::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border:1px solid var(--sage);border-radius:50%;background:var(--cream);transform:translate(-50%,-50%)}.booking-vertical-line{position:relative}.booking-vertical-line::before{content:"";position:absolute;top:15px;bottom:15px;left:50%;width:1px;background:linear-gradient(transparent,var(--sage),#a78bfa,transparent)}.booking-vertical-line span{position:absolute;left:50%;top:50%;width:9px;height:9px;border:1px solid var(--violet);border-radius:50%;background:var(--cream);transform:translate(-50%,-50%);box-shadow:0 0 0 6px rgba(124,58,237,.08)}.booking-guidance-list{display:grid;gap:14px}.booking-panel{border:1px solid var(--border);border-radius:28px;background:#fff;padding:28px;box-shadow:0 8px 30px rgba(92,60,45,.06)}.booking-panel h2{margin-top:0;font-size:2rem}.calendar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:25px 0}.calendar-month{border:1px solid var(--border);border-radius:20px;padding:15px}.calendar-month h3{text-align:center;margin:0 0 12px;font-size:1.2rem}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays span{text-align:center;color:#999;font-size:.68rem}.calendar-day{display:grid;aspect-ratio:1;place-items:center;border:0;border-radius:10px;background:transparent;cursor:pointer;font-size:.8rem}.calendar-day.available{background:var(--sage-pale);color:var(--sage-dark);font-weight:700}.calendar-day.available:hover{background:var(--sage);color:#fff}.calendar-day.disabled{color:#ccc;cursor:not-allowed}.calendar-day.empty{visibility:hidden}.calendar-loading{text-align:center;padding:30px}.time-grid{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.time-grid button{border:1px solid var(--sage);border-radius:999px;background:#fff;padding:10px 18px;cursor:pointer}.time-grid button:hover{background:var(--sage-deep);color:#fff}.booking-form{display:grid;gap:18px}.consent-box{display:grid;gap:10px;border-radius:16px;background:var(--sage-pale);padding:17px}.form-actions{display:flex;justify-content:space-between;gap:15px}.booking-done{text-align:center}.checkmark{display:grid;width:78px;height:78px;margin:0 auto 20px;place-items:center;border-radius:50%;background:var(--sage-pale);color:var(--sage-dark);font-size:2rem;box-shadow:0 0 0 10px rgba(168,187,160,.1)}.done-summary{width:max-content;max-width:100%;margin:20px auto;border-radius:17px;background:var(--sage-pale);padding:15px 25px;text-align:left}
/* Legal / lists */.legal-page{padding:65px 0}.legal-content{margin-top:30px}.legal-content h2{margin-top:38px;font-size:1.7rem}.legal-content p,.legal-content li{line-height:1.8}.legal-content a{color:var(--sage-dark)}.mutuelle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0}.mutuelle-card{border:1px solid var(--border);border-radius:20px;background:#fff;padding:20px}.mutuelle-card h2{margin:0;font-size:1.2rem}.mutuelle-card p{margin:6px 0 0}.sitemap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:35px}.sitemap-grid h2{font-size:1.5rem}.sitemap-grid ul{padding-left:18px}.sitemap-grid a{text-decoration:none}.sitemap-grid a:hover{color:var(--sage-dark)}
/* Util */.util-body{background:#f3f5f2}.util-body .site-header,.util-body .site-footer,.util-login-body .site-header{display:none}.util-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.util-sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;border-right:1px solid var(--border);background:#fff;padding:26px 20px}.util-sidebar h1{font-size:1.35rem;margin:0}.util-sidebar nav{display:grid;gap:5px;margin-top:25px}.util-sidebar nav a,.util-sidebar-bottom a{border-radius:11px;padding:9px 11px;text-decoration:none;font-size:.88rem}.util-sidebar nav a:hover,.util-sidebar nav a.active{background:var(--sage-pale);color:var(--sage-dark);font-weight:700}.util-sidebar-bottom{display:grid;margin-top:auto;border-top:1px solid var(--border);padding-top:14px}.util-content{min-width:0;padding:35px}.util-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.util-title h2{font-size:2.3rem;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:25px}.stats-grid a{display:grid;border:1px solid var(--border);border-radius:20px;background:#fff;padding:21px;text-decoration:none;box-shadow:0 5px 20px rgba(92,60,45,.04)}.stats-grid strong{font-family:Georgia,serif;font-size:2.4rem;color:var(--bark)}.admin-card{border:1px solid var(--border);border-radius:20px;background:#fff;padding:22px;box-shadow:0 5px 20px rgba(92,60,45,.04)}.admin-card h3{margin-top:0}.admin-alert{margin-bottom:15px;border-radius:13px;padding:13px}.admin-alert.success{background:#eaf6e7;color:#356032}.admin-alert.error{background:#fff0f0;color:#9b3030}.compact-list{display:grid}.compact-list>div{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:15px;border-top:1px solid var(--border);padding:12px}.filter-bar,.inline-admin-form{display:flex;align-items:end;gap:12px;margin-bottom:20px}.filter-bar input,.filter-bar select{max-width:260px}.reservation-list{display:grid;gap:14px}.reservation-admin-card{border:1px solid var(--border);border-radius:20px;background:#fff;padding:22px}.reservation-admin-head{display:flex;justify-content:space-between;gap:20px}.reservation-admin-head h3{margin:8px 0 0}.reservation-admin-head p{margin:3px 0}.reservation-date{text-align:right;display:grid}.reservation-admin-body blockquote,.admin-card blockquote{margin:15px 0;border-left:3px solid var(--sage);background:var(--sage-pale);padding:12px}.reservation-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.reservation-actions form{margin:0}.small-btn{border:0;border-radius:999px;padding:7px 11px;cursor:pointer;font-size:.72rem;font-weight:700}.small-btn.valide{background:#dff0db;color:#356032}.small-btn.refuse,.small-btn.danger{background:#ffe5e5;color:#9b3030}.small-btn.archive{background:#eee;color:#555}.small-btn.en_attente{background:#fff2d6;color:#87611c}.status-pill{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:.69rem;font-weight:700}.status-pill.en_attente{background:#fff2d6;color:#87611c}.status-pill.valide{background:#dff0db;color:#356032}.status-pill.refuse{background:#ffe5e5;color:#9b3030}.status-pill.archive{background:#eee;color:#555}.admin-form{display:grid;gap:14px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-form-grid .full{grid-column:1/-1}.client-grid,.service-editor-grid,.email-template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.client-grid textarea,.service-editor-grid textarea{min-height:90px}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);padding:12px;text-align:left}.pages-editor{display:grid;gap:12px}.pages-editor details summary{cursor:pointer;font-family:Georgia,serif;font-size:1.2rem}.pages-editor form{margin-top:20px}.pages-editor textarea{font-family:monospace;font-size:.85rem}.email-template-grid pre{white-space:pre-wrap;background:#f6f6f4;border-radius:12px;padding:14px}.util-login{display:grid;min-height:100vh;place-items:center;padding:20px;background:var(--sage-pale)}.util-login-card{width:min(470px,100%);border:1px solid var(--border);border-radius:30px;background:#fff;padding:35px;box-shadow:var(--shadow);text-align:center}.util-login-card img{width:85px;margin:auto}.util-login-card form{display:grid;gap:16px;text-align:left;margin:25px 0}.util-login-card h1{font-size:2rem}
/* Reveal */.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.main-nav{gap:15px}.hero-grid{gap:35px}.booking-service-layout{grid-template-columns:1fr}.booking-vertical-line{height:34px}.booking-vertical-line::before{left:2%;right:2%;top:50%;bottom:auto;width:auto;height:1px}.booking-vertical-line span{top:50%}.calendar-grid{grid-template-columns:1fr 1fr}.guidance-card-grid,.tariff-grid.three{grid-template-columns:1fr 1fr}.util-shell{grid-template-columns:210px 1fr}.stats-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.mobile-menu-button{display:block}.main-nav{position:absolute;left:20px;right:20px;top:68px;display:none;align-items:stretch;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:20px;background:#fff;padding:15px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav>a:not(.btn){padding:9px}.hero-grid,.about-grid,.benefits-grid,.contact-band-grid,.contact-page-grid{grid-template-columns:1fr}.hero-image{order:-1}.benefit-list,.three-grid{grid-template-columns:1fr 1fr}.comparison-head{display:none}.comparison-row{grid-template-columns:1fr;gap:10px}.situation-card::before{display:block;margin-bottom:7px;color:#888;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.adult-card::before{content:"Adulte"}.child-card::before{content:"Enfant"}.service-pair-layout{grid-template-columns:1fr}.vertical-line{height:28px}.vertical-line::before{left:5%;right:5%;top:50%;bottom:auto;width:auto;height:1px}.linked-info-grid,.mutuelle-grid,.sitemap-grid{grid-template-columns:1fr 1fr}.tariff-grid,.tariff-grid.three{grid-template-columns:1fr}.tariff-grid:not(.three)::after{display:none}.guidance-card-grid{grid-template-columns:1fr}.util-shell{display:block}.util-sidebar{position:relative;height:auto}.util-sidebar nav{grid-template-columns:repeat(3,1fr)}.util-content{padding:22px}.client-grid,.service-editor-grid,.email-template-grid{grid-template-columns:1fr}}
@media(max-width:600px){.container,.container-narrow{width:min(100% - 28px,1160px)}.section{padding:55px 0}.header-inner{min-height:65px}.brand strong{font-size:1.22rem}.brand small{font-size:.52rem}.brand-mark{width:35px}.home-hero{padding-top:18px}.calm-field{min-height:220px;border-radius:28px}.quote-carousel{grid-template-columns:38px 1fr 38px;padding:22px 12px 32px}.quote-carousel button{width:36px;height:36px}.hero-grid{padding-top:40px}.hero-grid h1{font-size:2.8rem}.hero-image{display:none}.breathing-ring{width:220px;height:220px}.benefit-list,.three-grid,.linked-info-grid,.mutuelle-grid,.sitemap-grid,.form-grid,.admin-form-grid,.stats-grid{grid-template-columns:1fr}.guidance-steps{grid-template-columns:1fr}.title-action{align-items:start;flex-direction:column}.booking-pair-grid{grid-template-columns:1fr}.booking-choice{min-height:auto}.calendar-grid{grid-template-columns:1fr}.booking-steps b{display:none}.form-actions{flex-direction:column-reverse}.util-sidebar nav{grid-template-columns:1fr 1fr}.util-content{padding:15px}.util-title{align-items:start;flex-direction:column}.filter-bar,.inline-admin-form{align-items:stretch;flex-direction:column}.filter-bar input,.filter-bar select{max-width:none}.reservation-admin-head{flex-direction:column}.reservation-date{text-align:left}.compact-list>div{grid-template-columns:1fr}.site-footer{margin-top:40px}}
.site-footer{border-top:1px solid var(--border);background:var(--sage-pale);padding-top:50px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:45px;padding-bottom:42px}.site-footer h2{font-size:1.55rem;margin:0}.site-footer h3{font-family:Arial,sans-serif;font-size:.95rem;font-weight:700}.site-footer p,.site-footer li{font-size:.85rem}.site-footer ul{padding:0;list-style:none}.site-footer li{margin:7px 0}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--sage-dark)}.footer-kicker{color:var(--sage-deep);font-size:.66rem!important;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.syndicate-logo{width:75px;height:75px;margin-top:15px;border-radius:50%;background:#fff}.footer-bottom{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 30px;border-top:1px solid var(--border);padding:18px;color:#777;font-size:.72rem}@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
