
    :root{--blue:#368cbf;--blue-dark:#195c86;--green:#7ebc59;--green-dark:#1f5835;--cream:#faf8ef;--ink:#29363a;--muted:#536067;--line:#d7dedb;--white:#fff;--max:1200px}
    *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.55 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ffd33d;outline-offset:3px}.shell{width:min(calc(100% - 72px),var(--max));margin:auto}
    .reviewbar{background:#eff5ed;color:#264336;font-size:.73rem;padding:9px 22px;text-align:center}.reviewbar b{text-transform:uppercase;letter-spacing:.11em}.reviewbar a{text-decoration:underline;text-underline-offset:2px}
    .hero{background:var(--blue);color:#fff;overflow:hidden}.topnav{height:86px;display:flex;align-items:center;gap:28px;border-bottom:1px solid #ffffff67}.wordmark{margin-right:auto;display:flex;align-items:center;gap:11px;line-height:1.05;flex-shrink:0}.mark{width:46px;height:46px;background:var(--cream);color:var(--green-dark);display:grid;place-items:center;font-weight:900;font-size:1.5rem;border-radius:50%;letter-spacing:-.13em;padding-right:4px}.wordmark b{font-size:1.08rem;letter-spacing:-.025em}.wordmark small{display:block;font-size:.55rem;letter-spacing:.21em;text-transform:uppercase;margin-top:7px}.topnav nav{display:flex;align-items:center;gap:23px}.topnav nav a{font-size:.76rem;font-weight:700}.topnav nav a:hover{text-decoration:underline;text-underline-offset:5px}.topnav .tel{font-size:.74rem;font-weight:800;white-space:nowrap;border-left:1px solid #ffffff88;padding-left:23px}.menu-button{display:none;background:transparent;color:#fff;border:1px solid #fff9;font-size:1.2rem;width:42px;height:42px}
    .hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center;padding-top:56px;padding-bottom:74px}.kicker{display:block;font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.hero h1{font-size:clamp(3.3rem,6.9vw,7.4rem);line-height:.93;letter-spacing:-.075em;font-weight:900;margin:24px 0 23px;max-width:700px;text-transform:uppercase}.hero h1 span{color:#d6f6bd}.hero p{max-width:530px;font-size:1rem;line-height:1.8;margin:0 0 29px}.hero-ctas,.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:2px solid transparent;background:var(--green-dark);color:#fff;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;padding:14px 19px;display:inline-flex;gap:15px;justify-content:center;align-items:center;min-height:49px;transition:transform .17s,filter .17s}.btn:hover{filter:brightness(.92);transform:translateY(-2px)}.btn-white{background:var(--cream);color:var(--green-dark)}.btn-outline{background:transparent;color:inherit;border-color:currentColor}.btn-blue{background:var(--blue-dark)}.hero .meta{font-size:.73rem;margin-top:28px;color:#ecfbfa}.hero-visual{position:relative;min-height:405px;background:#8cb0a0;overflow:hidden;box-shadow:18px 18px 0 #195c866d}.hero-visual img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 51%}.photo-tag{position:absolute;bottom:12px;left:12px;padding:7px 10px;background:#fff;max-width:calc(100% - 24px);color:#26383b;font-size:.62rem;line-height:1.35;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
    .sector{padding-top:74px;padding-bottom:86px}.titleline{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:27px}.titleline p{max-width:350px;font-size:.87rem;color:var(--muted);margin:0 0 5px}.section-label{display:block;color:var(--blue-dark);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800}h2{font-size:clamp(2.6rem,4.9vw,5rem);line-height:1;letter-spacing:-.07em;font-weight:900;text-transform:uppercase;margin:12px 0 0}.sector h2{max-width:750px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.audience-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}.audience-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #1c566015}.audience-card .image{height:240px;position:relative;background:#d6e3d6;overflow:hidden}.audience-card .image img{width:100%;height:100%;object-fit:cover;display:block}.audience-card:nth-child(1) .image img{object-position:center 44%}.audience-card:nth-child(2) .image img{object-position:center 34%}.audience-card:nth-child(3) .image img{object-position:center 34%}.audience-card .image .photo-tag{font-size:.55rem}.audience-card .body{padding:23px 23px 20px;flex:1;display:flex;flex-direction:column}.audience-card .index{font-size:.67rem;color:var(--blue-dark);font-weight:900;letter-spacing:.14em}.audience-card h3{font-size:1.38rem;line-height:1.12;text-transform:uppercase;letter-spacing:-.035em;margin:13px 0 9px}.audience-card p{color:var(--muted);font-size:.82rem;margin:0 0 19px}.audience-card .more{color:var(--blue-dark);font-size:.74rem;font-weight:900;text-transform:uppercase;margin-top:auto}
    .offering{background:#fff;padding-top:83px;padding-bottom:88px;border-block:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.intro{color:var(--muted);font-size:.95rem;max-width:540px;line-height:1.8}.activities{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:27px}.activity{background:#eef4eb;padding:15px;border-left:4px solid var(--green);font-weight:800;font-size:.85rem}.offering .photo-frame{min-height:400px;position:relative;background:#b2c8bc}.photo-frame img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 46%}.section-note{font-size:.72rem;color:var(--muted);margin-top:17px}.tabs{display:flex;gap:8px;overflow-x:auto;margin-top:53px;border-bottom:1px solid var(--line)}.tab{border:0;border-bottom:4px solid transparent;background:transparent;padding:12px 17px;text-transform:uppercase;font-weight:900;font-size:.74rem;color:#617279;white-space:nowrap}.tab[aria-selected=true]{color:var(--blue-dark);border-bottom-color:var(--blue)}.panel{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:35px}.panel[hidden]{display:none}.panel h3{font-size:1.8rem;line-height:1.05;text-transform:uppercase;letter-spacing:-.04em;margin:0 0 15px}.panel p{color:var(--muted);font-size:.86rem}.panel ul{list-style:none;padding:0;margin:19px 0}.panel li{border-top:1px solid var(--line);padding:10px 0;font-size:.85rem}.panel li:before{content:'•';color:var(--blue);font-weight:bold;margin-right:12px}.panel .aside{background:var(--cream);padding:28px;border-left:5px solid var(--blue)}.panel .aside b{display:block;font-size:.88rem}.panel .aside p{margin:8px 0 0}.panel .aside .btn{margin-top:20px}
    .schedule{background:#e7f0f1;padding-block:86px}.schedule-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:72px;align-items:start}.schedule h2{margin-bottom:20px}.schedule-copy p{font-size:.89rem;color:#4c646b;max-width:400px}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:33px;text-align:center;font-size:.67rem;font-weight:900;color:#5e7480}.weekdays>*{padding:12px 0;border-top:2px solid #bdcdd1}.weekdays strong{border-top:3px solid var(--blue);color:var(--blue-dark)}.course{background:#fff;padding:30px;border-top:6px solid var(--blue);box-shadow:11px 11px 0 #d1e2e2}.course h3{font-size:2.1rem;line-height:1.05;letter-spacing:-.05em;text-transform:uppercase;margin:12px 0 10px}.course .hour{color:var(--blue-dark);font-size:1.2rem;font-weight:900;margin-bottom:21px}.detail{padding:10px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:.8rem}.detail b{text-align:right}.detail span{color:var(--muted)}.course .btn{margin-top:21px}.future{margin-top:15px;border:1px dashed #8ba7ae;padding:15px;background:#f4f8f7;font-size:.8rem;color:#526c72}.future b{display:block;color:var(--ink)}
    .pricing{padding-block:88px}.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}.price{border:1px solid var(--line);background:#fff;padding:25px;min-height:226px;display:flex;flex-direction:column}.price.primary{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}.price .unit{font-size:.69rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.price .amount{font-size:3.2rem;font-weight:900;letter-spacing:-.065em;line-height:1;margin:17px 0 8px}.price .amount.small{font-size:2.5rem}.price p{font-size:.8rem;margin:0;line-height:1.5}.price .micro{font-size:.69rem;margin-top:auto;padding-top:16px;color:inherit;opacity:.84}.pricing .btn{margin-top:25px}
    .about{background:#fff;padding-block:90px}.about-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.portrait{height:460px;background:#d1ded6;position:relative;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.about p{max-width:620px;color:var(--muted);line-height:1.85}.facts{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:29px 0}.facts div{border-top:1px solid var(--line);padding:12px 0;font-size:.82rem}.facts b{display:block;color:var(--ink)}.facts span{font-size:.72rem;color:var(--muted)}
    .faq{padding-block:80px}.faq-layout{display:grid;grid-template-columns:.68fr 1.32fr;gap:65px}details{border-bottom:1px solid var(--line);padding:17px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:.85rem;font-weight:800;display:flex;justify-content:space-between;gap:12px;list-style:none}summary:after{content:'+';font-size:1.25rem;color:var(--blue-dark)}details[open] summary:after{content:'−'}summary::-webkit-details-marker{display:none}details p{font-size:.81rem;color:var(--muted);line-height:1.75;margin:11px 25px 0 0}
    .cta-strip{background:var(--blue);color:#fff;padding-block:68px;text-align:center}.cta-strip h2{margin:13px auto 14px;max-width:750px}.cta-strip p{max-width:620px;margin:0 auto 22px;font-size:.87rem}.cta-strip .actions{justify-content:center}
    .review{padding-block:58px}.review h2{font-size:2rem}.review p,.review li{font-size:.83rem;color:var(--muted)}.review ul{padding-left:18px}.footer{background:#263d46;color:#fff;padding:43px 0 26px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer a{color:#d8eaf0}.footer .links{display:flex;gap:36px;flex-wrap:wrap;font-size:.78rem}.footer .links>div{display:flex;flex-direction:column;gap:9px}.footer small{display:block;border-top:1px solid #617178;margin-top:33px;padding-top:18px;color:#bcd0d5;font-size:.69rem}
    dialog{border:0;max-width:540px;width:calc(100% - 28px);padding:0;max-height:90vh;background:var(--cream);box-shadow:0 30px 70px #132e3a80}dialog::backdrop{background:#142934c7}.dialog-inner{padding:30px}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.dialog-head h2{font-size:2.5rem;margin:9px 0}.close{border:0;background:transparent;font-size:1.7rem}.dialog-inner>p{font-size:.81rem;color:var(--muted)}.field{display:grid;gap:5px;margin-top:13px;font-size:.77rem;font-weight:800}.field input,.field textarea{padding:11px;border:1px solid #a9c4ca;width:100%;border-radius:0;background:#fff}.field textarea{min-height:80px;resize:vertical}.dialog-inner .btn{width:100%;margin-top:18px}.result{display:none;background:#e2f2e3;color:#224d30;padding:12px;margin-top:13px;font-size:.79rem}.result.show{display:block}
    @media(max-width:1050px){.topnav nav{gap:12px}.topnav nav a{font-size:.69rem}.hero-grid{gap:25px}.prices{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:820px){.shell{width:min(calc(100% - 38px),var(--max))}.topnav{height:72px}.menu-button{display:block}.topnav .tel{display:none}.topnav nav{display:none;position:absolute;top:110px;left:0;right:0;background:var(--blue-dark);z-index:20;padding:24px;flex-direction:column;align-items:flex-start;gap:19px}.topnav nav.open{display:flex}.hero-grid{grid-template-columns:1fr;padding-top:49px}.hero-visual{min-height:370px}.cards{grid-template-columns:repeat(2,1fr)}.cards article:last-child{grid-column:span 2}.cards article:last-child .image{height:230px}.split,.panel,.schedule-layout,.about-layout,.faq-layout{grid-template-columns:1fr;gap:35px}.offering .photo-frame{min-height:330px}.portrait{height:420px}.titleline{display:block}.titleline p{margin-top:18px}.footer-grid{flex-direction:column}}
    @media(max-width:570px){.hero h1{font-size:clamp(3.1rem,13vw,4.7rem)}.hero-grid{padding-bottom:56px}.hero-visual{min-height:300px}.hero p{font-size:.91rem}.cards,.prices{grid-template-columns:1fr}.cards article:last-child{grid-column:auto}.cards article:last-child .image{height:240px}.sector,.offering,.schedule,.pricing,.about,.faq{padding-block:65px}.titleline h2{font-size:2.7rem}.activities,.facts{grid-template-columns:1fr}.topnav .wordmark b{font-size:.93rem}.mark{width:38px;height:38px;font-size:1.2rem}.price{min-height:190px}.weekdays{font-size:.55rem}.footer .links{gap:30px}.detail{font-size:.75rem}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

    /* Ray Ön-inspired clarity; Gym Éveil & Santé's own palette and typography. */
    .hero-grid{padding-top:66px;padding-bottom:82px}
    .sector,.pricing,.about,.faq,.offering,.schedule{scroll-margin-top:25px}
    .section-intro{max-width:750px;margin-bottom:34px}
    .section-intro p{font-size:.91rem;color:var(--muted);max-width:650px;margin-top:18px;line-height:1.8}
    .course-types{background:#fff;padding-block:85px;border-top:1px solid var(--line)}
    .course-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
    .type-card{border:1px solid #bdcfcd;padding:24px 20px 28px;min-height:230px;display:flex;flex-direction:column;background:#fff}
    .type-card .number{font-size:.7rem;font-weight:900;color:var(--blue-dark);letter-spacing:.16em}
    .type-card h3{font-size:1.16rem;line-height:1.18;text-transform:uppercase;letter-spacing:-.035em;margin:31px 0 9px}
    .type-card p{color:var(--muted);font-size:.81rem;line-height:1.65;margin:0}
    .type-card .foot{font-size:.68rem;font-weight:800;color:var(--blue-dark);text-transform:uppercase;margin-top:auto;padding-top:22px}
    .download-band{background:var(--cream);border:1px solid var(--line);padding:26px 30px;display:flex;align-items:center;gap:28px;justify-content:space-between;margin-top:30px}
    .download-band b{font-size:.96rem}.download-band p{font-size:.76rem;color:var(--muted);margin:5px 0 0;max-width:560px}
    .download-links{display:flex;gap:8px;flex-wrap:wrap}.download-links .btn{font-size:.69rem;white-space:nowrap;padding:12px 13px}
    .schedule-shell{padding-block:0}.calendar-layout{display:grid;grid-template-columns:1.32fr .68fr;gap:25px;align-items:start}
    .calendar-panel{background:#fff;border:1px solid var(--line);padding:23px}
    .calendar-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}
    .calendar-toolbar strong{text-transform:capitalize;font-size:.95rem}.calendar-arrows{display:flex;gap:5px}
    .calendar-arrows button{border:1px solid #a4bcc3;background:#fff;color:var(--blue-dark);width:35px;height:35px;font-size:1.25rem;line-height:1}
    .calendar-arrows button:disabled{cursor:default;opacity:.35}
    .calendar-scroller{overflow-x:auto;scrollbar-color:#9bbbc5 transparent}
    .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(83px,1fr));gap:5px;min-width:625px}
    .calendar-day{border:1px solid var(--line);background:#fbfcfa;min-height:140px;padding:10px 7px;display:flex;flex-direction:column;align-items:flex-start;text-align:left}
    .calendar-day .weekday{font-size:.62rem;font-weight:900;color:#546a70;letter-spacing:.07em}
    .calendar-day .daynum{font-size:1.17rem;font-weight:900;color:#36464c;margin-top:6px}
    .calendar-day .slot{white-space:pre-line;overflow-wrap:anywhere;font-size:.64rem;line-height:1.35;margin-top:auto;font-weight:800;color:var(--blue-dark)}
    .calendar-day.friday{border:2px solid var(--blue);background:#d9eef6;color:var(--blue-dark)}
    .calendar-day.friday:hover,.calendar-day.friday.selected{background:var(--blue);color:#fff}
    .calendar-day.friday:hover .slot,.calendar-day.friday.selected .slot,.calendar-day.friday:hover .weekday,.calendar-day.friday.selected .weekday,.calendar-day.friday:hover .daynum,.calendar-day.friday.selected .daynum{color:#fff}
    .calendar-day.consideration{background:#eef3e8}.calendar-day.consideration .slot{color:#6b855b}
    .calendar-key{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:.68rem}.calendar-key span:before{content:'';display:inline-block;width:9px;height:9px;background:#d9eef6;border:1px solid var(--blue);margin-right:6px}.calendar-key span:last-child:before{background:#eef3e8;border-color:#aebd9c}
    .booking-path{background:#fff;border-top:5px solid var(--green);padding:24px;border-inline:1px solid var(--line);border-bottom:1px solid var(--line)}
    .booking-path h3{font-size:1.65rem;line-height:1.1;text-transform:uppercase;letter-spacing:-.04em;margin:12px 0 13px}
    .booking-path p{font-size:.79rem;color:var(--muted);margin:0 0 14px;line-height:1.7}
    .mode-tabs{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}
    .mode-tabs button{background:#f3f7f4;border:1px solid #d0dfd7;padding:9px 10px;text-align:left;font-size:.72rem;font-weight:800}
    .mode-tabs button[aria-pressed=true]{background:var(--green-dark);border-color:var(--green-dark);color:white}
    .mode-content[hidden]{display:none}.mode-content .btn{width:100%}
    .selection-date{border-block:1px solid var(--line);padding:11px 0;font-size:.78rem;font-weight:800;color:var(--blue-dark);margin-bottom:14px}
    .mode-content .demo-notice{font-size:.7rem;background:#f4f6ea;border-left:3px solid #9fb97c;padding:10px;margin-top:12px}
    .next-class{margin-top:20px;display:flex;gap:12px;justify-content:space-between;align-items:center;background:#fff;border-left:4px solid var(--blue);padding:16px 20px;font-size:.81rem}
    .next-class span{color:var(--muted)}.next-class b{font-size:.85rem}
    .testimonials{background:#fff;padding-block:80px;border-top:1px solid var(--line)}
    .testimonial-head{display:flex;gap:25px;justify-content:space-between;align-items:end}
    .testimonial-head p{max-width:420px;color:var(--muted);font-size:.82rem;margin:0}
    .testimonial-preview{margin-top:26px;border:1px solid var(--line);padding:24px 28px;background:#fafcfb}
    .testimonial-preview summary{font-weight:900;font-size:.82rem;text-transform:uppercase;color:var(--blue-dark);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px}
    .testimonial-preview summary::-webkit-details-marker{display:none}.testimonial-preview summary:after{content:'+';font-size:1.2rem}.testimonial-preview[open] summary:after{content:'−'}
    .review-slots{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
    .quote-slot,.google-slot{background:#fff;border:1px solid var(--line);padding:22px;min-height:144px}
    .quote-slot .ghost{height:7px;background:#dce4e3;border-radius:4px;margin:11px 0}.quote-slot .ghost.short{width:54%}.quote-slot b{font-size:.78rem}.quote-slot p,.google-slot p{font-size:.76rem;color:var(--muted);margin:8px 0}
    .google-word{font-weight:700;font-size:1.33rem;letter-spacing:-.07em}.google-word span:nth-child(1),.google-word span:nth-child(4){color:#4285f4}.google-word span:nth-child(2),.google-word span:nth-child(6){color:#ea4335}.google-word span:nth-child(3){color:#fbbc05}.google-word span:nth-child(5){color:#34a853}
    .socials{display:flex;gap:8px;align-items:center}.social-link{border:1px solid currentColor;background:transparent;color:inherit;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:.77rem;font-weight:900}.social-link:hover{background:#ffffff22}.social-caption{font-size:.69rem;opacity:.75;margin-left:5px}
    .contact-extras{display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap;margin-top:28px}.contact-extras .google-word{background:#fff;padding:3px 10px}.contact-extras .social-caption{color:#fff}
    .footer-social{margin-top:14px}
    @media(max-width:1050px){.course-type-grid{grid-template-columns:repeat(2,1fr)}.calendar-layout{grid-template-columns:1fr}.mode-tabs{flex-direction:row}}
    @media(max-width:820px){.download-band{align-items:flex-start;flex-direction:column}.testimonial-head{display:block}.testimonial-head p{margin-top:16px}.topnav nav{top:105px}}
    @media(max-width:570px){.course-types,.testimonials{padding-block:65px}.course-type-grid,.review-slots{grid-template-columns:1fr}.type-card{min-height:170px}.type-card h3{margin-top:19px}.download-links,.download-links .btn{width:100%}.mode-tabs{flex-direction:column}.calendar-panel,.booking-path{padding:16px}.next-class{align-items:flex-start;flex-direction:column}.contact-extras{gap:14px}}

    .btn,.menu-button,.tab,.social-link,.mode-tabs button,.calendar-arrows button,.footer-legal{border-radius:7px}
    .audience-card,.type-card,.price,.course,.calendar-panel,.booking-path,.download-band,.testimonial-preview,.quote-slot,.google-review-row,.google-slot,.booking-path .selection-date,.about .portrait,.offering .photo-frame,.hero-visual{border-radius:11px}
    .audience-card,.portrait,.photo-frame,.hero-visual{overflow:hidden}
    .type-card,.price,.calendar-day,.quote-slot{border-radius:8px}
    .calendar-day.friday{border-radius:8px}
    .activity,.future,.next-class,.panel .aside{border-radius:8px}
    .reviewbar{font-size:.72rem}.review-link{background:none;border:0;color:var(--green-dark);font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:inherit}
    .review-kicker{font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--blue-dark);font-size:.65rem}
    .quote-slot .example-quote{font-size:1rem;color:var(--ink);line-height:1.8;margin:16px 0 25px}
    .quote-slot{min-height:230px}.quote-slot b{color:var(--muted);font-weight:700}
    .google-review-row{background:#eef4f5;border:1px solid #d7e4e6;margin-top:15px;display:flex;align-items:center;justify-content:space-between;padding:21px 23px;gap:20px}
    .google-review-row .google-word{margin-right:14px}.google-review-row strong{font-size:.9rem}.google-review-row p{font-size:.77rem;color:var(--muted);margin:5px 0 0}
    .source-note{font-size:.7rem;color:var(--muted);margin:12px 0 0}
    .footer-legal{color:#d8eaf0;border:0;background:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:.7rem;margin-left:17px}
    .legal-copy{font-size:.82rem;max-height:65vh;overflow:auto;color:var(--muted)}.legal-copy h3{font-size:.84rem;text-transform:uppercase;color:var(--blue-dark);margin:18px 0 5px}.legal-copy p{margin:4px 0 13px}.legal-copy ul{padding-left:19px}
    @media(max-width:570px){.google-review-row{align-items:flex-start;flex-direction:column}.google-review-row button{width:100%}.footer-legal{display:inline-block;margin:10px 14px 0 0}}
  
/* Direction Gym Éveil & Santé : énergie maîtrisée, lecture immédiate. */
:root{--blue:#328cb9;--blue-dark:#21698d;--green:#87c961;--green-dark:#28613e;--cream:#fcf9f0;--ink:#283539;--muted:#53636a;--line:#dbe4df}
body{background:var(--cream);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}
.hero,.cta-strip{background:var(--blue);color:#fff}
.hero{overflow:visible}
.topnav{position:relative}
.topnav nav a{font-size:.83rem}
.topnav nav a:hover{opacity:.85}
.nav-book{display:none}
.hero-grid{padding-block:64px 82px}
.hero h1{font-size:clamp(3.25rem,6.1vw,6.8rem);line-height:.98;letter-spacing:-.073em}
.hero h1 span{color:#dcf7bd}
.hero p{font-size:1.02rem;line-height:1.7}
.hero-visual{box-shadow:13px 13px 0 #195c8647}
.btn{border-radius:7px;font-size:.84rem;letter-spacing:.01em}
.btn-white{color:var(--green-dark)}
.audience-card,.type-card,.price,.course,.calendar-panel,.booking-path,.download-band,.testimonial-preview,.quote-slot,.google-review-row,.about .portrait,.offering .photo-frame,.hero-visual{border-radius:10px}
.audience-card,.type-card,.price,.calendar-panel,.booking-path,.testimonial-preview,.quote-slot,.download-band,.google-review-row{border:1px solid var(--line)}
.audience-card .body{padding:24px}
.audience-card h3{font-size:1.42rem}
.audience-card p,.type-card p,.panel p,.panel li,.faq p,.section-intro p,.titleline p,.testimonial-head p{font-size:.91rem;line-height:1.7}
.sector,.offering,.pricing,.about,.faq,.course-types,.testimonials,.schedule{padding-block:82px}
.titleline{margin-bottom:32px}
.activity{border-left:0;border-radius:7px;background:#eaf3e6;padding:15px 16px}
.panel .aside{border-left:0;border-radius:8px;background:#edf6f8}
.course-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.type-card{border-color:var(--line);padding:24px;min-height:238px}
.type-card:nth-child(3n+1){background:#f1f8ec}
.type-card:nth-child(3n+2){background:#edf6fa}
.type-card:nth-child(3n){background:#fffdf7}
.type-card h3{font-size:1.21rem;margin-top:25px}
.type-card .number,.type-card .foot{font-size:.73rem;letter-spacing:.07em}
.formats-intro{margin:44px 0 18px;max-width:680px}
.formats-intro h3{font-size:1.6rem;line-height:1.15;margin:0 0 8px;text-transform:uppercase;letter-spacing:-.045em}
.formats-intro p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.7}
.formats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.format-card{border:1px solid var(--line);border-radius:10px;padding:25px 27px;background:#edf6fa}
.format-card:nth-child(2){background:#f1f8ec}
.format-card .format-kicker{font-size:.73rem;font-weight:800;letter-spacing:.09em;color:var(--blue-dark);text-transform:uppercase}
.format-card h4{font-size:1.17rem;line-height:1.25;margin:10px 0 9px}
.format-card p{color:var(--muted);font-size:.91rem;line-height:1.7;margin:0 0 16px}
.format-card a{color:var(--blue-dark);font-size:.82rem;font-weight:800;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}
.price{min-height:215px}
.price.primary{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}
.price .amount{font-size:3rem}
.schedule{background:#e8f2f2}
.calendar-scroller{overflow:visible}
.calendar-grid{min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-day{min-width:0;min-height:138px;border-radius:7px}
.calendar-day .weekday{font-size:.7rem}
.calendar-day .slot{font-size:.72rem}
.calendar-day.friday{background:#dbedf7;border-color:var(--blue-dark)}
.booking-path{border-top:1px solid var(--line)}
.mode-tabs button{font-size:.8rem}
.mode-content .demo-notice{border-left:0;background:#eef5e9}
.next-class{border:1px solid var(--line);border-radius:7px}
.reviewbar{font-size:.76rem}
.review-kicker{font-size:.73rem}
.testimonial-preview{background:#fff}
.google-review-row{background:#edf6f8}
.cta-strip .btn-outline{color:#fff}
.footer{background:#254049}
@media(max-width:1050px){.hero-grid{gap:30px}.topnav nav{gap:13px}.course-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
  .shell{width:calc(100% - 40px)}
  .topnav{height:72px;gap:12px}
  .nav-book{display:inline-flex;align-items:center;margin-left:auto;height:42px;padding:0 14px;color:var(--blue-dark);background:#fff;border-radius:7px;font-size:.83rem;font-weight:800;white-space:nowrap}
  .menu-button{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:7px}
  .topnav nav{top:calc(100% + 1px);left:-20px;right:-20px;gap:0;padding:13px 20px;background:var(--blue-dark);box-shadow:0 18px 25px #12436432}
  .topnav nav a{display:block;width:100%;padding:12px 0;border-bottom:1px solid #ffffff4a;font-size:1rem}
  .topnav nav a:last-child{border:0}
  .hero-grid{grid-template-columns:1fr;gap:35px;padding-block:48px 70px}
  .hero-visual{min-height:370px}
  .calendar-layout{grid-template-columns:1fr}
  .mode-tabs{flex-direction:row}
}
@media(max-width:670px){
  .shell{width:calc(100% - 32px)}
  .reviewbar{font-size:.7rem;padding:7px 13px;line-height:1.4}
  .topnav{height:66px;gap:8px}
  .topnav nav{left:-16px;right:-16px}
  .wordmark{gap:7px;min-width:0}
  .wordmark b{font-size:.97rem;white-space:nowrap}
  .wordmark small{display:none}
  .mark{width:33px;height:33px;flex:0 0 auto;font-size:1.15rem}
  .nav-book{height:39px;padding:0 10px;font-size:.76rem}
  .menu-button{width:39px;height:39px}
  .hero-grid{gap:28px;padding-block:32px 50px}
  .hero h1{font-size:clamp(2.65rem,10.1vw,3.75rem);line-height:1.02;margin:12px 0 17px}
  .hero p{font-size:1rem;line-height:1.62;margin-bottom:19px}
  .hero-ctas{flex-direction:column;align-items:stretch}
  .hero-ctas .btn{width:100%}
  .hero .meta{margin-top:16px;font-size:.77rem}
  .hero-visual{min-height:0;height:270px;box-shadow:8px 8px 0 #195c8647}
  .sector,.offering,.pricing,.about,.faq,.course-types,.testimonials,.schedule{padding-block:55px}
  h2,.titleline h2,.section-intro h2,.faq h2{font-size:clamp(2.2rem,8vw,3rem);line-height:1.03}
  .titleline{margin-bottom:23px}
  .titleline p,.section-intro p,.intro{font-size:1rem;margin-top:12px}
  .section-intro{margin-bottom:26px}
  .cards,.course-type-grid,.prices{grid-template-columns:1fr;gap:13px}
  .cards article:last-child{grid-column:auto}
  .audience-card .image,.cards article:last-child .image{height:180px}
  .audience-card .body{padding:19px}
  .audience-card h3{font-size:1.43rem;margin:8px 0}
  .audience-card p{margin-bottom:12px}
  .offering .photo-frame{min-height:265px}
  .activities,.facts{grid-template-columns:1fr 1fr;gap:8px}
  .activity{padding:11px;font-size:.81rem}
  .tabs{gap:16px;margin-top:29px}
  .tab{font-size:.78rem;padding:11px 3px}
  .panel{padding-top:25px}
  .panel h3{font-size:1.8rem}
  .panel .aside{padding:20px}
  .type-card{min-height:0;padding:22px}
  .type-card h3{font-size:1.35rem;margin:13px 0 9px}
  .type-card .foot{padding-top:14px}
  .formats-intro{margin:35px 0 17px}
  .formats-intro h3{font-size:1.35rem}
  .formats-grid{grid-template-columns:1fr;gap:12px}
  .format-card{padding:21px}
  .download-band{padding:22px;gap:17px;margin-top:19px}
  .download-links{width:100%}
  .download-links .btn{width:100%;justify-content:center;font-size:.84rem}
  .price{min-height:0;padding:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:start}
  .price .unit{grid-column:1;grid-row:1}
  .price .amount,.price .amount.small{grid-column:2;grid-row:1 / 3;font-size:2rem;margin:0}
  .price .amount.small{font-size:1.5rem}
  .price p{grid-column:1;grid-row:2}
  .price .micro{grid-column:1 / -1;padding-top:5px;margin:0}
  .pricing>.btn{width:100%;margin-top:18px}
  .portrait{height:310px}
  .calendar-layout{grid-template-columns:1fr;gap:15px}
  .calendar-panel,.booking-path{padding:18px}
  .calendar-toolbar{margin-bottom:14px}
  .calendar-toolbar strong{font-size:.91rem}
  .calendar-arrows button{width:42px;height:42px}
  .calendar-grid{min-width:0;grid-template-columns:1fr;gap:8px}
  .calendar-day{display:none;min-height:0;flex-direction:row;align-items:center;gap:10px;padding:14px}
  .calendar-day.friday{display:flex;order:1;min-height:76px}
  .calendar-day.consideration{display:flex;order:2;min-height:62px}
  .calendar-day .weekday{width:73px;font-size:.85rem}
  .calendar-day .daynum{font-size:1.7rem;margin:0}
  .calendar-day .slot{font-size:.83rem;max-width:138px;margin:0 0 0 auto;text-align:right;white-space:normal}
  .calendar-key{font-size:.76rem;gap:5px 12px}
  .booking-path h3{font-size:1.65rem;margin:9px 0}
  .booking-path p,.booking-path .selection-date{font-size:.89rem}
  .mode-tabs{flex-direction:column}
  .mode-tabs button{font-size:.8rem}
  .next-class{margin-top:14px;padding:15px;align-items:flex-start;flex-direction:column}
  .review-slots{grid-template-columns:1fr}
  .quote-slot{min-height:0;padding:20px}
  .testimonial-preview{padding:20px}
  .google-review-row{padding:18px;flex-direction:column;align-items:flex-start}
  .google-review-row .btn{width:100%}
  .cta-strip .actions{display:grid;grid-template-columns:1fr}
  .footer-grid{gap:22px}
  .dialog-inner{padding:20px}
  .dialog-head h2{font-size:2rem}
}
@media(max-width:350px){.nav-book{display:none}.wordmark b{font-size:.86rem}}

  
/* Ajouts hors maquette (absents de la maquette validée) */
.calendar-day.annule{background:#f7eeeb;border-color:#e3cbc4}.calendar-day.annule .slot{color:#8f4535}
