/* Rebuilt from visual measurements, using local media and original application code. */
:root{--pale:#edfdff;--navy:#143d5f;--ink:#1d3f63}
header{position:sticky;top:0;height:162px;margin-bottom:56px;z-index:30;transition:opacity .42s ease;will-change:opacity}
header.scroll-hidden{opacity:0;pointer-events:none}header:focus-within{opacity:1;pointer-events:auto}
nav{padding-top:17px;margin-left:clamp(0px,12vw,190px)}
.hero-pass{width:124px;height:100px;left:55%;top:35px;transform:rotate(-5deg)}
.passcolo{transform:none}.passcolo>img{width:100%;height:100%;object-fit:contain}.partners .passcolo{width:76px;height:60px;display:block}
.home-hero h1{padding-left:46px}.home-hero h1 span{max-width:360px;text-align:right}
.stays{height:1258px;padding:89px 0 150px;background-position:center center}
.stays>.wrap{width:min(1130px,calc(100% - 80px));position:relative}
.stay-section-title{position:absolute;left:calc(50% - 151px);top:-89px;width:302px;font:700 22px/1.4 Barlow,Arial,sans-serif;color:var(--pale)!important;text-align:left!important;z-index:0}
.choose{position:absolute;z-index:4;top:-56px;left:calc(50% - 110px);width:220px;height:80px;margin:0;color:white;font-size:26px;line-height:1.2;font-weight:800;font-style:italic;text-align:center;display:flex;align-items:center;justify-content:center;transform:rotate(5deg);filter:drop-shadow(2px 4px 6px #0008);background:#00b5f6;border-radius:12px}
.choose:before{content:'';position:absolute;inset:0;z-index:-1;background:#00b5f6;mask:url('/assets/etiquette-sejours.svg') center/100% 100% no-repeat}
.stay-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:75px;perspective:1200px}
.stay{width:100%;position:relative;perspective:1100px;color:white}
.stay-photo{height:399px;border-radius:15px;box-shadow:0 1px 6px #0005;transform-origin:center;overflow:hidden}
.stay-photo>img{height:100%;width:100%;object-fit:cover;transition:transform .45s ease}
.stay-photo:hover>img{transform:scale(1.035)}
.price{top:371px;bottom:auto;right:29px;height:44px;width:94px;font:400 25px/44px Barlow,Arial,sans-serif;padding:0;text-align:center;background:#4bdf07;border-radius:4px;transform:rotate(3deg);box-shadow:1px 2px 4px #0007;color:white;z-index:3}
.pink .price{background:#c512af}.red .price{background:#e21c21}
.stay-copy{position:relative;margin-top:43px;min-height:575px;height:575px;padding:14px 16px 20px;border:4px solid white;border-radius:15px;background:#268aa385;box-shadow:0 2px 6px #0007;overflow:visible}
.pink .stay-copy{background:#33b8af94}.red .stay-copy{background:linear-gradient(#cb78c398,#48337b9c)}
.stay h3{font:700 18px/1.28 Montserrat,Arial,sans-serif;text-align:center;color:#1d3f63;margin:0 0 24px;white-space:nowrap}
.stay h4{font:500 22px/1.5 Oswald,'Arial Narrow',sans-serif;display:block;position:relative;text-align:center;min-height:54px;margin:0 0 16px;background:none;transform:rotate(-5deg);color:white}
.stay h4>span{display:inline;background:#4be20a;padding:2px 9px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.pink h4{transform:rotate(-7deg)}.pink h4>span{background:#c512af}.red h4{transform:rotate(-7deg)}.red h4>span{background:#e21c21}
.stay-description p{font:400 14px/1.45 Montserrat,Arial,sans-serif;margin:0 0 18px;text-align:justify;color:white}
.stay-sentence{display:block}
.stay-conclusion{font-weight:700!important;color:#ffcd53!important;position:relative;z-index:1}
.pink .stay-conclusion{color:#ff515b!important}.red .stay-conclusion{color:#b900b9!important}
.stay-decoration{position:absolute;bottom:20px;right:20px;width:70px;height:70px;background:white;opacity:.27;mask:var(--icon) center/contain no-repeat;pointer-events:none}
.pink .stay-decoration{right:calc(50% - 30px);bottom:75px;width:56px;height:56px}.red .stay-decoration{left:13px;right:auto;bottom:22px;transform:rotate(-12deg)}
.short-stay{font:700 14px/1.4 Montserrat,Arial,sans-serif!important;display:flex;align-items:center;justify-content:flex-end;gap:15px;margin:8px -3px 0!important;white-space:nowrap;color:white!important;position:relative;z-index:1}
.short-stay strong{font:500 27px/1 Barlow,Arial,sans-serif;color:#e21c21;background:white;border-radius:2px;box-shadow:0 2px 5px #0004;transform:rotate(5deg);padding:8px 14px;display:inline-block}
.location-band{padding-top:90px;padding-bottom:90px}.location-grid{grid-template-columns:279px 1fr;gap:52px}.map-illustration img{width:279px;height:418px}.location-band h2{font-size:30px}.location-band h2 span{display:inline-block;vertical-align:middle;width:30px;height:40px;font-size:0;background:url('/assets/pictogramme-localisation.svg') center/contain no-repeat}.map-small{height:210px;width:140px;display:block;margin:45px auto}.group-intro .location-grid{grid-template-columns:2.5fr 1fr}.map-illustration{position:relative}.location-band{overflow:hidden}.location-band:after{bottom:0}.location-band>.wrap:after{content:'';position:absolute;bottom:45px;right:20%;width:130px;height:132px;background:white;opacity:.1;mask:url('/assets/pictogramme-etoile-mer.svg') center/contain no-repeat;transform:rotate(15deg)}
.hero{background-attachment:scroll}.hero-inner h1,.hero-inner .hero-sub,.hero-inner .ribbon{position:relative;z-index:2}.hero-inner .ribbon{position:absolute}
.rental-hero .hero-inner{width:min(940px,calc(100% - 48px))}.rental-hero h1{text-shadow:1px 2px 3px #0005}
.rental-intro{margin-top:65px;height:600px;min-height:0;padding:95px 0 70px}.rental-intro .wrap{width:min(940px,calc(100% - 48px))}.rental-intro h2{width:410px;font-size:23px;line-height:1.4;padding:9px 10px;margin-bottom:18px}.rental-intro .glass{max-width:785px;padding:10px 12px 20px}.rental-intro .glass p:last-child{margin-bottom:0}.rental-intro .button{float:right;position:relative;right:15%;margin-top:-38px;width:230px;padding:10px 20px;background:#d0ff3e;color:#2897b7;border-radius:10px;box-shadow:2px 4px 7px #0007;transform:rotate(-4deg);font:800 italic 23px/1.35 Montserrat,Arial,sans-serif;text-align:center}
.group-intro p{text-align:justify}.class-content{padding:50px 0 65px;min-height:1100px}.class-content .prose{background:none;width:min(892px,calc(100% - 48px));padding:0}.class-content h2{font-size:23px;margin-top:0;margin-bottom:34px;font-weight:400;width:550px;max-width:100%}.class-content p{font-size:16px;line-height:1.45;margin-bottom:22px;text-align:justify}.class-content ul{margin-block:18px 32px;padding-left:28px}.class-content li{line-height:1.45}.class-content ul ul{margin:0;padding-left:28px;list-style-type:circle}.class-content li a{font-weight:700}.class-content .catering{font-weight:700;margin-top:28px}
.class-slider{width:min(980px,calc(100% - 48px))}.text-slides{height:360px;min-height:0;padding:44px 70px;overflow:hidden}.slide-copy{transition:opacity .25s ease,transform .4s ease}.slide-copy.is-changing{opacity:0;transform:translateX(25px)}
.prose{width:min(892px,calc(100% - 48px))}.prose p{font-size:16px;line-height:1.5}.prose>h2{margin-top:0;margin-bottom:30px}.bureau{width:min(892px,calc(100% - 48px));font-size:16px}.bureau p{font-weight:400}.bureau p strong{font-weight:800}
.asso-hero h1{font-size:40px}.asso-hero .hero-sub{font-size:24px}.asso-hero .ribbon{bottom:30px;right:0;padding:13px 18px;font-size:24px}.center-info{padding-top:45px}.anniversary h2:nth-child(2){font-size:110px;line-height:1.2}
.page-emploi .hero-inner{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:60px}.page-emploi .hero-inner h1{font-size:36px;color:white}.page-emploi .hero-sub{background:#203f5e;padding:12px 18px;color:white;font-size:26px}.employment{position:relative}.employment-intro{max-width:545px;margin-bottom:50px}.employment-intro h2,.job-section>h2{font-weight:400;font-size:23px;background:#203f5e;color:white;padding:9px 10px;margin:0 0 36px;max-width:545px}.employment-intro p{margin-bottom:22px;text-align:justify}.jobs-nav{position:absolute;right:0;top:70px;width:230px;padding:18px 20px;background:#203f5e;color:white}.jobs-nav h2{font-size:23px;margin:0 0 22px}.jobs-nav a{display:block;margin:7px 0;font-weight:600}.job-section{margin-bottom:42px;scroll-margin-top:185px}.job-section h3{font-size:16px;font-weight:700;margin:26px 0 20px}.job-section p{margin-bottom:22px}.job-section ul{padding-left:28px;margin-bottom:24px}.job-section ul ul{list-style-type:circle;margin:0}.job-section .mission-label{text-decoration:underline}.employment .application-heading{background:#203f5e;color:white;padding:12px;font-size:24px}
.faq-hero .hero-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:100px}.faq-hero h1{font-size:34px;color:white;max-width:660px}.faq-hero .hero-sub{font-size:26px;color:white;background:#203f5e;padding:13px 20px;white-space:nowrap}.faq h3{font-size:16px;font-weight:700;margin:28px 0 24px}.faq p{margin-bottom:24px}.faq h2{font-size:23px;max-width:545px}
.legal-surface{position:relative;background:url('/assets/fond-ocean-pages-legales.webp') center center/cover no-repeat;min-height:620px}.legal-surface .legal{padding-top:16px;padding-bottom:60px;min-height:0}.legal-surface h1{font-size:32px;font-weight:400;margin:0 10px 40px;position:relative;z-index:2}.legal-surface h2{font-size:23px;font-weight:400;width:545px;max-width:100%;padding:8px 10px;margin:22px 0 30px;background:#203f5e;color:white}.legal-surface p{font-size:16px;line-height:1.45;margin-bottom:25px;text-align:justify}.legal-surface ul{padding-left:28px;margin:20px 0 30px}.legal-surface ul li{font-size:16px;line-height:1.45}.page-mentions-légales .legal-surface{min-height:640px}.page-mentions-légales .legal-surface .legal{padding-top:10px}.page-mentions-légales header,.page-cgu header,.page-cookies header,.page-politiqueconf header{margin-bottom:50px}.page-politiqueconf .legal-surface{background-attachment:fixed}.page-politiqueconf .legal h1{margin-bottom:12px}.page-cgu .legal h3{font-size:16px}
.confirmation-surface{padding:60px 24px 80px;background:url('/assets/plage-dunes-confirmation.webp') center/cover no-repeat;position:relative}.confirmation-surface:before{content:'';position:absolute;inset:0;backdrop-filter:blur(7px)}.confirmation{position:relative;width:min(740px,100%);min-height:425px;border-radius:18px;background:#ffffff4d;text-align:center;padding:35px 35px 30px}.confirmation h1{font-size:48px;font-weight:400;margin:0 0 12px}.confirmation h2{background:none;color:white;margin:0 0 5px;max-width:none;font-size:30px;padding:0}.confirmation h2 span,.confirmation p strong{background:#ff5359;color:white;padding:0 8px}.confirmation p{font-size:18px;font-weight:800;line-height:1.7;text-align:center;margin:0}.confirmation .button{margin-top:30px;font-size:14px;font-weight:400}
.contact h2{font-size:24px;font-weight:400}.contact address{padding-top:35px}.contact address span{font-size:0;width:26px;height:32px;background:var(--navy);mask:url('/assets/icone-maison.svg') center/contain no-repeat}.contact address p:nth-child(2) span{mask-image:url('/assets/icone-adresse.svg')}.contact address p:nth-child(3) span{mask-image:url('/assets/icone-courriel.svg')}.contact address p:nth-child(4) span{mask-image:url('/assets/icone-telephone.svg')}.partners{min-height:225px}.footer-grid{width:min(892px,calc(100% - 48px));grid-template-columns:105px 1fr 1fr;gap:44px}.footer-links{padding-left:65px;padding-right:40px}.page-emploi .contact{background:var(--pale);color:var(--ink)}.page-emploi .contact:before{display:none}.page-emploi .contact input,.page-emploi .contact textarea{background:white;border:1px solid #aaa}
.motion-enabled .motion{will-change:opacity,transform;backface-visibility:hidden;transform-style:preserve-3d}
.motion-enabled .motion:not(.has-entered){opacity:0}
.motion-enabled .motion.has-entered{animation-duration:var(--duration,1000ms);animation-delay:var(--delay,0ms);animation-timing-function:cubic-bezier(.2,.7,.2,1);animation-fill-mode:both;animation-name:appear}
.motion-enabled [data-motion=flip-left].has-entered{animation-name:flip-left;transform-origin:left center}
.motion-enabled [data-motion=flip-right].has-entered{animation-name:flip-right;transform-origin:right center}
.motion-enabled [data-motion=flip-up].has-entered{animation-name:flip-up;transform-origin:center top}
.motion-enabled [data-motion=rise].has-entered{animation-name:rise}
.motion-enabled [data-motion=slide-left].has-entered{animation-name:slide-left}
.motion-enabled [data-motion=slide-right].has-entered{animation-name:slide-right}
.motion-enabled [data-motion=swing].has-entered{animation-name:swing;--duration:1200ms}
.motion-enabled [data-motion=pop].has-entered{animation-name:pop}
.motion-enabled .stay-photo{--duration:1400ms}
.motion-enabled .price{--delay:180ms;--duration:850ms}
.motion-enabled .stay-copy{--duration:1200ms}
.motion-enabled .stay h4{--delay:180ms}
.hero-inner h1.has-entered{--duration:1100ms}.register.has-entered{--delay:350ms;--duration:1300ms}.brochure.has-entered{--delay:650ms;--duration:1300ms}.seaside.has-entered{--delay:250ms;--duration:1300ms}.hero-pass.has-entered{--delay:450ms;--duration:1100ms}
@keyframes appear{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(80px)}to{opacity:1;transform:translateY(0)}}
@keyframes slide-left{from{opacity:0;transform:translateX(-100px)}to{opacity:1;transform:translateX(0)}}
@keyframes slide-right{from{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}
@keyframes flip-left{from{opacity:0;transform:perspective(1000px) rotateY(100deg)}to{opacity:1;transform:perspective(1000px) rotateY(0)}}
@keyframes flip-right{from{opacity:0;transform:perspective(1000px) rotateY(-100deg)}to{opacity:1;transform:perspective(1000px) rotateY(0)}}
@keyframes flip-up{from{opacity:0;transform:perspective(1000px) rotateX(-100deg)}to{opacity:1;transform:perspective(1000px) rotateX(0)}}
@keyframes swing{0%{opacity:0;translate:0 -55px;rotate:-30deg}60%{opacity:1;translate:0 0;rotate:8deg}80%{rotate:-4deg}100%{opacity:1;translate:0 0;rotate:0deg}}
@keyframes pop{0%{opacity:0;scale:.3}70%{opacity:1;scale:1.06}100%{opacity:1;scale:1}}
@media(max-width:1150px) and (min-width:761px){.stays>.wrap{width:calc(100% - 70px)}.stay-grid{gap:36px}.stay-copy{height:650px;min-height:650px}.stays{height:1340px}.stay h3{font-size:15px}.stay-description p{font-size:13px}.stay h4{font-size:20px}.price{right:15px}.jobs-nav{width:200px}.employment-intro{max-width:60%}.footer-links{padding-left:30px;padding-right:20px}}
@media(max-width:760px){header{height:145px;margin-bottom:13px}.brand>img{width:103px;height:70px}nav{top:145px;margin:0}.home-hero h1{padding-left:0}.home-hero h1 span{text-align:center;max-width:none}.hero-pass{top:160px;left:0;width:90px;height:75px}.stays{height:auto;min-height:0;padding:85px 0 75px}.stays>.wrap{width:calc(100% - 50px)}.stay-grid{grid-template-columns:1fr;gap:32px}.stay-section-title{top:-65px;font-size:18px;width:100%;left:0;opacity:0}.choose{top:-62px;width:205px;height:74px;left:calc(50% - 102px);font-size:24px}.stay-photo{height:399px}.stay-copy{height:auto;min-height:575px;margin-top:42px;padding:16px}.stay h3{font-size:17px}.stay h4{font-size:22px;min-height:55px;margin-bottom:18px}.stay-description p{font-size:14px;line-height:1.5}.stay-conclusion{padding-bottom:25px}.red .stay-conclusion{padding-bottom:5px}.stay-decoration{bottom:18px}.pink .stay-decoration{bottom:40px}.price{top:371px;right:20px}.location-grid{grid-template-columns:1fr;gap:30px}.map-illustration img{height:350px;width:234px;display:block;margin:auto}.location-band{padding-block:55px}.location-band>.wrap:after{right:10%;width:90px;height:90px;bottom:30px}.map-small{margin:10px auto}.rental-intro{height:auto;min-height:600px;padding-top:70px;padding-bottom:80px}.rental-intro h2{width:100%;font-size:21px}.rental-intro .glass{font-size:15px}.rental-intro .button{float:none;right:auto;margin:12px 0 0 50px;width:230px;font-size:21px}.class-content{min-height:0;padding-top:50px}.class-content .prose{width:calc(100% - 36px);background:#ffffffa3;padding:12px}.class-content p{font-size:15px;text-align:left}.class-content li{font-size:14px}.class-content h2{font-size:22px;margin-bottom:25px}.class-content ul{padding-left:20px}.class-content ul ul{padding-left:18px}.text-slides{height:auto;min-height:440px;padding:35px 40px}.asso-hero h1{font-size:32px}.asso-hero .hero-sub{font-size:21px}.asso-hero .ribbon{font-size:17px;padding:12px;bottom:35px}.bureau{font-size:14px}.anniversary h2:nth-child(2){font-size:84px}.page-emploi .hero-inner{display:block;padding-top:215px;padding-bottom:20px}.page-emploi .hero-inner h1{font-size:26px}.page-emploi .hero-sub{font-size:20px;display:inline-block;margin-top:16px}.employment-intro{max-width:none;margin-bottom:30px}.jobs-nav{position:static;width:100%;margin-bottom:35px;padding:15px}.jobs-nav h2{font-size:21px;margin-bottom:12px}.job-section>h2,.employment-intro h2{font-size:21px;margin-bottom:25px}.job-section p,.job-section li{font-size:15px}.faq-hero .hero-inner{display:block;padding-top:215px;padding-bottom:50px}.faq-hero h1{font-size:26px}.faq-hero .hero-sub{font-size:21px;display:inline-block;margin-top:15px}.faq h3{font-size:16px}.faq p{font-size:15px}.legal-surface .legal{width:calc(100% - 36px);padding-block:25px 45px}.legal-surface h1{font-size:26px;margin:0 0 30px}.legal-surface h2{font-size:21px;margin:25px 0}.legal-surface p,.legal-surface li{font-size:15px;text-align:left;overflow-wrap:anywhere}.page-mentions-légales header,.page-cgu header,.page-cookies header,.page-politiqueconf header{margin-bottom:13px}.confirmation-surface{padding:35px 18px 65px}.confirmation{padding:25px 18px;min-height:400px}.confirmation h1{font-size:42px}.confirmation p{font-size:16px}.confirmation h2{font-size:25px}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-links{padding:0}.motion-enabled .stay-photo{--duration:1100ms}.contact h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){header{transition:none}.motion-enabled .motion:not(.has-entered){opacity:1}.motion-enabled .motion.has-entered{animation:none!important;opacity:1;transform:none!important;translate:none;rotate:none;scale:none}.stay-photo:hover>img{transform:none}}
/* Application form and shared details verified against the reference pages. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-emploi .application{background:var(--teal);color:white;padding-block:50px 75px}.page-emploi .application h2{text-align:left;color:white;font-size:30px;margin-bottom:38px}.page-emploi .application .contact-grid{width:min(980px,calc(100% - 48px));grid-template-columns:1fr 1fr;gap:30px}.page-emploi .application p{font-size:16px;font-weight:600;line-height:1.7}.page-emploi .application input,.page-emploi .application select{background:var(--pale);border:0;border-radius:0;width:100%;min-height:42px;padding:10px;color:var(--ink)}.page-emploi .application input[type=radio]{width:18px;height:18px;min-height:0;padding:0}.page-emploi .application .placeholder-field{font-size:0;margin-bottom:18px}.page-emploi .application .placeholder-field input{font-size:16px}.application .form-row{gap:30px}.application .cv-drop{display:block;position:relative;background:var(--pale);color:var(--ink);font-size:16px;min-height:45px;text-align:center;padding:10px;cursor:pointer;overflow:hidden}.application .cv-drop input{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.application .cv-drop:focus-within{outline:3px solid #ffab46;outline-offset:3px}.application .cv-hint{font-size:12px!important;font-weight:400!important;color:#123b57;margin:5px 0 22px}.application .form-privacy{font-size:12px!important;font-weight:400!important;margin:16px 0}.application .send{float:none;display:block;margin:25px auto 0}.application .form-status{font-size:14px!important}.application input[type=tel]{max-width:225px}.jobs-nav{width:296px;background:linear-gradient(white 0 43px,#203f5e 43px 78px,#2ba1bd 78px 225px,white 225px);color:white;min-height:270px;box-shadow:2px 3px 18px #0004;padding:12px}.jobs-nav h2{color:#2997b8;font-size:21px;font-weight:700;margin-bottom:56px}.jobs-nav a{font-size:16px;font-weight:400;text-decoration:none}.jobs-nav a:hover{text-decoration:underline}
.page-mentions-légales header,.page-cgu header,.page-cookies header,.page-politiqueconf header{margin-bottom:0}.legal-surface{background-attachment:scroll}.legal-surface .legal{padding-top:63px}.page-mentions-légales .legal-surface .legal{padding-top:67px}.page-cookies .legal-surface .legal{padding-top:95px}.page-politiqueconf .legal-surface{background-attachment:scroll}.page-politiqueconf .legal-surface .legal{padding-top:49px}.legal-surface h1{line-height:1.46}
@keyframes rise{from{opacity:0;translate:0 80px}to{opacity:1;translate:0 0}}
@keyframes slide-left{from{opacity:0;translate:-100px 0}to{opacity:1;translate:0 0}}
@keyframes slide-right{from{opacity:0;translate:100px 0}to{opacity:1;translate:0 0}}
@media(max-width:1100px) and (min-width:761px){.jobs-nav{width:240px}.employment-intro{max-width:62%}}
@media(max-width:760px){.page-emploi .application .contact-grid{grid-template-columns:1fr;gap:22px}.page-emploi .application h2{font-size:27px;margin-bottom:25px}.page-emploi .application .contact-grid>div>p{font-size:15px}.application .form-row{gap:15px}.jobs-nav{width:100%;min-height:220px;background:linear-gradient(white 0 43px,#203f5e 43px 70px,#2ba1bd 70px 180px,white 180px)}.jobs-nav h2{margin-bottom:50px}.legal-surface .legal,.page-mentions-légales .legal-surface .legal,.page-cookies .legal-surface .legal,.page-politiqueconf .legal-surface .legal{padding-top:45px}.page-mentions-légales header,.page-cgu header,.page-cookies header,.page-politiqueconf header{margin-bottom:13px}}
body{background:linear-gradient(white,white) no-repeat top/100% 218px,var(--pale)}
header:focus-within{opacity:inherit;pointer-events:inherit}header.scroll-hidden:focus-within{opacity:0;pointer-events:none}header:has(:focus-visible){opacity:1;pointer-events:auto}
.ancv{height:71px}.home-date{left:43px}.seaside{top:-14px;right:-12px}.hero-pass{top:13px}
.stay-section-title{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:760px){body{background-size:100% 158px}.ancv{height:100px}.home-date{left:0}.seaside{top:135px;right:0}.hero-pass{top:160px}}
/* Section positions use the original page rhythm: a 162 px header and 530 px secondary hero. */
header{margin-bottom:0}.page-index header{margin-bottom:56px}
.hero:not(.home-hero){height:530px}.hero:not(.home-hero):before{height:80px}.hero:not(.home-hero) .hero-inner{padding-top:100px}.rental-hero .hero-inner{padding-top:110px!important}
.rental-overlays{top:-530px}.quote{top:302px}.plans{top:370px}.town-sign{top:390px}
.rental-intro{margin-top:0;height:650px;padding-top:160px}.rental-intro:before{height:80px}.group-intro{padding-top:30px}
.class-content{min-height:1239px;padding-top:115px}.class-content:before{height:80px}.class-content h2{font-size:22px;line-height:1.36;padding:8px 10px}
.page-asso .prose{padding-top:37px}.center-info{min-height:898px;padding-top:100px}.center-info h2{font-size:40px;line-height:1.1;margin:0 0 32px}.center-info h2 span{font-size:30px}.center-info p:first-child,.center-info p:nth-child(2){font-size:16px;margin-bottom:24px}.center-info p{font-size:16px}.center-info ul{padding-left:26px;font-size:16px;line-height:1.45;margin-bottom:24px}
.employment{width:min(912px,calc(100% - 48px));padding-top:45px}.jobs-nav{right:25px;top:45px}
.hero.faq-hero .hero-inner{padding-top:100px;padding-bottom:140px;width:min(892px,calc(100% - 48px))}.faq{padding-top:15px}.page-emploi .hero .hero-inner{padding-top:100px;padding-bottom:85px}
@media(max-width:760px){header{margin-bottom:13px}.page-index header{margin-bottom:13px}.hero:not(.home-hero){height:430px}.hero:not(.home-hero):before{height:32px}.hero:not(.home-hero) .hero-inner{padding-top:40px}.hero.rental-hero{height:540px}.hero.rental-hero .hero-inner{padding-top:40px!important}.rental-overlays{top:-540px}.quote{top:270px}.plans{top:345px}.town-sign{top:460px}.rental-intro{margin-top:60px;padding-top:70px;height:auto}.rental-intro:before{height:32px}.class-content{min-height:0;padding-top:50px}.class-content:before{height:32px}.center-info{min-height:0;padding-top:45px}.center-info h2{font-size:29px}.center-info h2 span{font-size:24px}.center-info ul,.center-info p{font-size:15px!important}.employment{width:calc(100% - 36px);padding-top:35px}.jobs-nav{position:static}.hero.faq-hero .hero-inner{padding-top:215px;padding-bottom:50px}.page-emploi .hero .hero-inner{padding-top:215px;padding-bottom:20px}.page-asso .prose{padding-top:35px}.page-mentions-légales header,.page-cgu header,.page-cookies header,.page-politiqueconf header{margin-bottom:13px}}
.class-content p{max-width:811px;line-height:1.4625}.class-content h2:first-child+p{max-width:778px}.class-content ul{line-height:1.4625}.class-content .tariffs>li+li{margin-top:24px}.class-content .tariffs{margin-bottom:40px}.class-content li{line-height:1.4625}.class-content ul ul li{font-weight:700}.class-content .tariffs ul li{font-weight:400}.class-content .catering{font-weight:700}
@media(max-width:760px){.class-content .tariffs>li+li{margin-top:20px}.class-content .tariffs{margin-bottom:30px}}
.page-search .search{padding-top:124px;min-height:700px}.search-box{position:relative;display:block;margin:0 0 22px}.search-box input{background:#92cddd;border:1px solid #c3e4eb;height:48px;padding:12px 20px 12px 40px;font-size:14px;color:#24435b}.search-box input::placeholder{color:#588390}.search-submit{position:absolute;left:8px;top:5px;font-size:27px;line-height:1;background:none;border:0;color:#588390;padding:4px}.search .result-count{font-size:14px;background:none;color:#5b9bae;font-weight:400;padding:0;max-width:none;margin:22px 0}.search-result{display:grid;grid-template-columns:175px 1fr;gap:30px;border:0;padding:0;margin-bottom:32px;min-height:123px}.result-image{display:block}.result-image img{height:123px;width:175px;object-fit:cover}.search-result h3{font-size:16px;font-weight:700;margin:12px 0 8px;line-height:1.4}.search-result h3 a{text-decoration:none}.search-result h3 a:hover{text-decoration:underline}.search-result p{font-size:14px;line-height:1.4;margin:0;text-align:left}.legal li{margin-bottom:0}.legal ul{line-height:1.45}.legal-surface .legal>p:has(+ul){margin-bottom:20px}
@media(max-width:760px){.page-search .search{padding-top:55px}.search-result{grid-template-columns:100px 1fr;gap:15px}.result-image img{width:100px;height:95px}.search-result h3{font-size:14px;margin-top:0}.search-result p{font-size:13px}.search .result-count{font-size:13px}}
/* Original decorative graphics are used as local image masks. */
.sticker{--sticker-color:#15ada9;background:transparent;isolation:isolate;box-shadow:none;filter:drop-shadow(2px 5px 5px #0007)}.sticker:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--sticker-color);mask:url('/assets/etiquette-sejours.svg') center/100% 100% no-repeat}.seaside{--sticker-color:#ff883d}.quote{--sticker-color:#ff454f}.plans{--sticker-color:#bc00ad}.seaside-inline{--sticker-color:#ff7800}.choose{background:transparent;border-radius:0}.home-date{background:transparent;isolation:isolate}.home-date:before{content:'';position:absolute;inset:0;z-index:-1;background:#203f5e;mask:url('/assets/cartouche-dates.svg') center/100% 100% no-repeat}
.sticker{position:relative}.home-overlays>.sticker,.rental-overlays>.sticker{position:absolute}
