:root{--navy:#143d5f;--blue:#2997b8;--teal:#368fa4;--pale:#edfcfd;--aqua:#27b4b0;--ink:#21425d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--pale);font:16px/1.5 Montserrat,Arial,sans-serif;color:var(--ink)}img{max-width:100%;vertical-align:middle}a{color:inherit;text-underline-offset:3px}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button,summary{cursor:pointer}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ffab46;outline-offset:4px}h1,h2,h3,h4{font-weight:400;line-height:1.3}h1{font-size:36px}h2{font-size:24px}p{margin:0 0 24px}.wrap{width:min(920px,calc(100% - 48px));margin-inline:auto}.skip{position:fixed;top:-100px;left:16px;z-index:99;background:white;padding:12px}.skip:focus{top:8px}header{height:218px;background:white;display:flex;align-items:flex-start;position:relative;padding:38px 20px 0;gap:50px;z-index:5}.brand{display:flex;align-items:flex-start;text-decoration:none;width:280px;flex-shrink:0;position:relative}.brand>img{width:124px;height:83px;object-fit:contain}.brand>span{position:absolute;top:66px;left:55px;white-space:nowrap;font-size:18px;line-height:1.25}.brand strong{font-weight:800;font-style:italic}.brand i{font-size:16px}nav{margin-left:clamp(0px,13vw,200px);padding-top:17px}nav ul{list-style:none;display:flex;padding:0;margin:0;gap:0}nav>ul>li{position:relative}nav a{display:block;padding:13px 8px 12px;border-top:4px solid transparent;text-decoration:none;font-size:14px;white-space:nowrap}nav a[aria-current],nav a:hover{border-top-color:var(--blue);color:#578d97}.submenu-toggle{position:absolute;right:0;top:20px;opacity:0;border:0;background:none;font-size:11px;padding:4px}nav>ul>li:has(.submenu){padding-right:7px}.submenu-toggle:focus-visible{opacity:1}.submenu{display:none;position:absolute;top:100%;left:0;min-width:220px;flex-direction:column;background:white;box-shadow:0 5px 12px #1234;padding:8px;z-index:10}.submenu a{border:0;padding:9px;font-size:13px}nav li:hover>.submenu,nav li:focus-within>.submenu,nav li.open>.submenu{display:flex}.menu-toggle{display:none}.hero{background:var(--photo) center/cover no-repeat;position:relative;height:460px;margin:0}.hero-inner{padding:40px 0;position:relative;height:100%}.hero h1{margin:0;max-width:570px;font-size:34px;font-weight:400}.hero-sub{font-size:24px;line-height:1.4;margin:0}.ribbon{display:inline-block;position:absolute;right:0;top:92px;transform:rotate(-5deg);padding:13px 18px;background:#203f5e;color:white;font-size:23px}.brush:before,.brush:after{content:'';height:32px;left:0;right:0;position:absolute;z-index:1;pointer-events:none;background:var(--edge-color,var(--pale));mask:none}.brush:before{top:-1px;transform:rotate(180deg)}.brush:after{bottom:-1px}.hero:before{--edge-color:white}.home-hero{height:720px;background-position:center center}.home-hero h1{padding-left:30px;padding-top:12px;font-size:36px}.home-hero h1 span{display:block;text-align:center;max-width:390px;color:white;text-shadow:1px 2px 5px #666;font-size:38px}.home-overlays{height:0;position:relative;top:-720px;pointer-events:none}.home-overlays>*{pointer-events:auto;position:absolute}.sticker{display:inline-block;border-radius:10px;padding:15px 22px;box-shadow:2px 5px 9px #0007;font-weight:800;font-style:italic;text-align:center;text-decoration:none;line-height:1.2}.seaside{background:#ff883d;color:#355d91;top:0;right:20px;transform:rotate(7deg);font-size:28px}.passcolo{font-weight:800;color:#f2c632;text-decoration:none;line-height:.9;font-size:20px;display:inline-block;transform:rotate(-5deg)}.passcolo b{color:#3cb5ae;font-size:34px}.passcolo span{display:block;color:#3cb5ae;text-align:right;font-size:45px;line-height:.4}.hero-pass{top:65px;left:54%}.home-date{top:258px;left:26px;background:#203f5e;color:white;font-weight:800;font-size:23px;padding:15px}.register{top:305px;left:190px;background:#15ada9;color:white;font-size:32px;transform:rotate(-5deg);transition:transform .2s}.register:hover{transform:rotate(0deg) scale(1.04)}.brochure{top:420px;left:70px;width:240px;display:flex;align-items:center;flex-direction:column;font:600 14px/1.4 Arial,sans-serif;transform:rotate(-5deg);text-align:center;text-decoration:none}.brochure img{width:198px;height:198px;object-fit:contain}.ancv{height:116px;padding:10px 28px 40px;font-size:19px;font-weight:800;display:flex;gap:10px;align-items:flex-start}.ancv img{width:65px;height:46px;object-fit:contain;background:white;box-shadow:0 2px 3px #9998}.stays{background:var(--photo) center/cover;position:relative;padding:70px 0 90px}.stays>.wrap{width:min(980px,calc(100% - 48px))}.stays h2{text-align:center;color:var(--navy);font-size:27px;margin:0 0 12px}.choose{font-size:22px;text-align:center;margin-bottom:35px}.stay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stay{position:relative;color:#173c5a}.stay-photo{position:relative}.stay-photo>img{width:100%;height:399px;object-fit:cover}.price{position:absolute;right:6px;bottom:-14px;background:#60d900;color:white;font-size:28px;font-weight:800;padding:4px 20px;transform:rotate(4deg);border-radius:5px;box-shadow:2px 3px 5px #0005;z-index:2}.pink .price{background:#c400b2}.red .price{background:#ec101b}.stay-copy{padding:28px 18px 24px;background:#fffdf5e8;min-height:630px}.stay h3{font-weight:700;font-size:21px;text-align:center;margin:10px 0 24px}.stay h4{font-size:20px;font-weight:800;margin:0 0 24px;min-height:55px;color:#fff;background:#59c400;display:inline;padding:4px;box-decoration-break:clone}.stay p{font-size:15px;line-height:1.6;text-align:left;margin-top:25px}.pink h4{background:#bd00a7}.red h4{background:#dc1726}.short-stay strong{display:block;font-size:26px}.location-band{position:relative;background:var(--navy);color:white;padding:80px 0 90px}.location-grid{display:grid;grid-template-columns:300px 1fr;gap:50px}.location-band h2{color:#40b8b3;font-size:30px;margin-top:0}.location-band h2 span{color:#ff4d61}.location-band p{font-size:16px}.map-illustration img{width:100%;height:390px;object-fit:contain}.gallery{position:relative;background:linear-gradient(#eeeece,#b5966f);padding:0 0 100px;overflow:hidden}.gallery-track{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,190px);grid-auto-columns:25%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;gap:0}.gallery-item{padding:0;border:0;background:none;overflow:hidden;scroll-snap-align:start}.gallery-item:nth-child(3n+1){grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-item:hover img{transform:scale(1.04)}.gallery-next,.gallery-prev{position:absolute;top:37%;right:22px;border:0;border-radius:50%;width:42px;height:42px;font-size:34px;line-height:1;background:#fffe;color:var(--blue)}.gallery-prev{left:22px;right:auto}.contact{background:var(--teal);padding:75px 0 90px;color:white;position:relative}.contact:before{content:'';position:absolute;top:-30px;height:32px;left:0;right:0;background:var(--teal);clip-path:polygon(0 0,30% 40%,65% 85%,100% 100%,100% 100%,0 100%)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{text-align:center;color:#173f5e;font-size:24px;min-height:62px;margin:0 0 32px}.reply{text-align:center;margin-top:-25px;font-size:14px}.contact address{font-style:normal;padding-top:40px;font-size:15px}.contact address p{position:relative;margin:0 0 42px;padding-left:45px;overflow-wrap:anywhere}.contact address span{position:absolute;left:0;top:0;font-size:28px;color:var(--navy)}.contact address a{text-decoration:none}.request-form{display:flow-root}.field{display:block;margin-bottom:12px;font-size:16px}.field input,.field textarea{display:block;width:100%;border:1px solid transparent;border-radius:0;background:var(--pale);padding:9px 10px;min-height:38px;color:var(--navy);margin-top:4px}.field input[type=file]{font-size:13px}.field textarea{resize:vertical;min-height:130px}.form-row{display:flex;gap:20px}.form-row>*{width:50%;min-width:0}fieldset{border:0;padding:0;margin:0 0 16px}legend{padding:0;margin-bottom:4px}.choice{display:block;font-size:14px;padding:3px 0}.choice input{width:18px;height:18px;vertical-align:middle;margin:0 6px 0 0;accent-color:var(--navy)}.send{float:right;background:var(--pale);border:2px solid var(--navy);font-weight:800;padding:7px 22px;color:var(--navy)}.send:hover{background:white}.send:disabled{opacity:.6}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-privacy{font-size:12px;margin-top:10px}.form-status{font-weight:600;font-size:14px}.partners{min-height:210px;display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;gap:24px;padding-block:45px;background:white;width:100%;padding-inline:max(24px,calc((100% - 920px)/2))}.partners img{max-width:125px;max-height:95px;object-fit:contain}footer{background:var(--navy);color:#ddd;padding:55px 0 42px;position:relative;font-size:14px}footer:before{content:'';position:absolute;top:-28px;left:0;right:0;height:30px;background:var(--navy);clip-path:polygon(0 100%,25% 80%,65% 15%,100% 0,100% 100%)}.footer-grid{display:grid;grid-template-columns:150px 1fr 1fr;align-items:center;gap:55px}.social{display:flex;gap:20px}.social img{width:38px;height:38px;object-fit:contain}.footer-links{display:flex;flex-direction:column;border-inline:1px solid #fffa;padding:0 30px;gap:4px}.footer-links a{color:#51b8bb;text-decoration:none}footer p{margin:0;text-align:center}footer p a{color:#45b9b7;font-weight:700;text-decoration:none}.rental-hero h1{max-width:450px}.rental-overlays{position:relative;height:0;top:-460px}.quote{position:absolute;top:245px;left:0;color:white;background:#ff454f;transform:rotate(6deg);font-size:23px}.plans{position:absolute;top:290px;left:160px;background:#bc00ad;color:white;transform:rotate(-4deg);text-align:left;font-style:normal;font-size:21px}.town-sign{position:absolute;right:0;top:315px;width:240px;transform:rotate(7deg);filter:drop-shadow(3px 4px 4px #0006)}.rental-intro{position:relative;padding:100px 0;min-height:600px;background:var(--photo) center/cover;margin-top:65px;color:white}.rental-intro h2{max-width:450px;background:#203f5e;padding:12px;margin:0 0 20px}.glass{background:#113d5c88;padding:20px;max-width:800px}.button{background:#203f5e;color:white;display:inline-block;border:0;padding:12px 20px;text-decoration:none;font-weight:600;font-size:15px}.button:hover{background:#2e7490}.rental-intro .button{margin-top:24px}.group-intro{position:relative;background:var(--blue);color:white;padding:50px 0 75px}.group-intro .location-grid{grid-template-columns:2.5fr 1fr;gap:25px}.group-intro h2{font-size:24px;font-weight:700;margin-top:0}.map-small{height:240px;width:100%}.seaside-inline{background:#ff7800;color:white;transform:rotate(4deg);font-size:21px}.download{font-weight:600;display:block;margin:24px 0}.download span{font-size:12px}.availability{text-align:center;padding-block:50px 90px;min-height:400px}.tab-buttons{display:flex;gap:4px;justify-content:center}.tab-buttons button{padding:18px;background:transparent;border:0}.tab-buttons button[aria-selected=true]{background:#203f5e;color:white}.availability [role=tabpanel]{padding:30px 16px;min-height:240px}.prose{padding-block:55px}.prose>h2,.class-content h2{padding:10px;background:#203f5e;color:white;max-width:550px;font-size:23px;margin:30px 0}.prose p{text-align:justify}.class-content{position:relative;background:var(--photo) center/cover;padding:25px 0 50px}.class-content .prose{background:#ffffff35;padding-inline:20px}.class-content p{margin-bottom:18px}.class-photo{width:100%;height:400px;object-fit:cover;border-radius:16px;box-shadow:0 2px 8px #0008;margin:65px 0}.text-slides{position:relative;min-height:380px;border-radius:16px;background:#193f5d;color:white;margin-bottom:80px;padding:40px 75px;display:flex;align-items:center}.text-slides h2{font-size:25px;margin-top:0}.slide-copy p{font-size:16px}.slide-prev,.slide-next{position:absolute;top:42%;border:0;background:none;color:white;font-size:44px;left:20px}.slide-next{right:20px;left:auto}.slide-dots{position:absolute;bottom:15px;display:flex;gap:12px;left:50%;transform:translateX(-50%)}.slide-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#66a7b6}.slide-dots button[aria-current=true]{background:#24c6dc}.asso-hero{color:white}.asso-hero .ribbon{top:auto;bottom:30px}.full-title{background:var(--navy);padding:30px;text-align:center;color:white;font-size:38px;margin:0}.bureau{padding-block:30px 65px;color:black}.bureau p{margin:0}.anniversary{text-align:center;padding:25px 0 80px}.anniversary h2{font-size:29px}.anniversary h2:nth-child(2){font-size:110px;font-weight:800;margin:0;background:linear-gradient(#3785c0,#12394f);background-clip:text;color:transparent}.center-info{position:relative;background:var(--photo) center/cover;padding:40px 0 60px}.center-info .wrap>div{width:55%}.center-info p:first-child{font-size:36px;margin:0}.center-info p:nth-child(2){font-size:28px}.center-info p{font-size:15px;margin-bottom:15px}.employment details,.faq details{border-bottom:1px solid #aac8d1;padding:16px 0}.employment summary,.faq summary{font-size:20px;font-weight:600;padding:12px 0}.employment details p,.faq details p{margin-top:15px}.legal-hero{height:260px}.legal-hero h1{font-size:30px}.legal{min-height:450px}.legal p{overflow-wrap:anywhere}.legal h2{font-size:21px}.search,.confirmation{min-height:550px}.search-box{display:flex;gap:12px;margin:15px 0}.search-box input{width:100%;min-width:0;padding:12px;border:1px solid #88a7b9;background:white}.search-result{padding:15px 0;border-bottom:1px solid #aac8d1}.search-result h3{font-weight:600}.search-result p{text-align:left}.lightbox{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border:0;padding:40px 75px;background:#102c41f5;color:white}.lightbox::backdrop{background:#102c41}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{margin:0;max-width:100%;text-align:center}.lightbox figure img{max-height:83vh;object-fit:contain}.lightbox figcaption{margin-top:12px}.lightbox button{position:absolute;border:0;background:transparent;color:white;font-size:50px}.lightbox-close{right:20px;top:5px}.lightbox-prev{left:15px;top:45%}.lightbox-next{right:15px;top:45%}.reveal{transition:opacity .7s,transform .7s}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(35px)}[hidden]{display:none!important}
@media(min-width:1700px){header{padding-left:calc((100vw - 1440px)/2 + 20px)}}
@media(max-width:1050px){header{gap:15px}nav{margin-left:auto}nav a{font-size:12px}.contact-grid{gap:40px}.stay-copy{padding:25px 12px}.stay h3{font-size:19px}.stay p{font-size:14px}.location-grid{gap:30px;grid-template-columns:240px 1fr}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}header{height:158px;padding:20px 18px}.brand{width:250px}.brand>img{width:103px;height:70px}.brand>span{top:59px;left:43px;font-size:16px}.brand i{font-size:14px}.menu-toggle{display:block;margin-left:auto;margin-top:25px;background:none;border:0;font-size:28px}nav{display:none;position:absolute;top:145px;left:0;right:0;margin:0;padding:10px 18px;background:white;box-shadow:0 8px 10px #1233}nav.menu-open{display:block}nav ul{display:block}nav a{font-size:14px;padding:12px 8px}nav>ul>li:has(.submenu){padding-right:34px}.submenu-toggle{opacity:1;right:0;top:11px;font-size:22px}.submenu{position:static;box-shadow:none;margin-left:15px;padding:0}.submenu a{font-size:13px}nav li:hover>.submenu,nav li:focus-within>.submenu{display:none}nav li.open>.submenu{display:block}.hero{height:430px}.hero-inner{padding-top:40px}.hero h1{font-size:28px;max-width:95%}.hero-sub{font-size:20px}.ribbon{font-size:17px;top:auto;bottom:30px;right:0;max-width:90%}.home-hero{height:720px;background-position:59% center}.home-hero h1{font-size:27px;padding:5px 0 0;text-align:center;text-shadow:0 0 10px white}.home-hero h1 span{font-size:30px;max-width:none}.home-overlays{top:-720px}.seaside{top:135px;right:0;font-size:18px;padding:10px 14px}.hero-pass{top:160px;left:0;font-size:15px}.hero-pass b{font-size:26px}.home-date{top:280px;left:0;font-size:17px;padding:13px}.register{top:325px;left:90px;font-size:26px}.brochure{top:470px;left:5px;width:195px;font-size:12px}.brochure img{width:160px;height:160px}.ancv{height:100px;font-size:16px;padding-inline:0}.ancv img{width:55px}.stays{padding:45px 0}.stays>.wrap{width:calc(100% - 36px)}.stays h2{font-size:24px}.choose{font-size:19px}.stay-grid{grid-template-columns:1fr;gap:30px}.stay-photo>img{height:350px}.stay-copy{min-height:0;padding:26px 24px}.stay h3{font-size:23px}.stay h4{font-size:21px}.stay p{font-size:15px}.location-band{padding:45px 0}.location-grid,.group-intro .location-grid{grid-template-columns:1fr;gap:15px}.map-illustration{order:2}.map-illustration img{height:260px}.location-band h2{font-size:27px}.gallery-track{grid-auto-columns:66%;grid-template-rows:repeat(2,140px)}.gallery{padding-bottom:60px}.contact{padding:50px 0 70px}.contact-grid{grid-template-columns:1fr;gap:10px}.contact h2{font-size:23px;min-height:0}.contact address{padding-top:5px}.contact address p{margin-bottom:28px;padding-left:35px}.form-row{gap:12px}.field{font-size:15px}.footer-grid{grid-template-columns:1fr;gap:25px}.social{justify-content:center}.footer-links{border:0;text-align:center}.partners{min-height:150px;padding:30px 18px}.partners img{max-width:75px;max-height:65px}.rental-hero{height:540px;background-position:56% center}.rental-hero h1{font-size:26px;max-width:300px}.rental-overlays{top:-540px}.quote{top:270px;left:0;font-size:19px}.plans{top:345px;left:80px;font-size:17px;padding:12px 16px}.town-sign{top:460px;right:0;width:155px}.rental-intro{margin-top:60px;padding:70px 0 55px;background-position:65% center}.rental-intro h2{font-size:22px}.glass{font-size:15px}.group-intro{padding:45px 0}.map-small{height:200px}.seaside-inline{display:block;margin:10px auto;width:max-content}.prose{padding-block:35px}.prose p{text-align:left}.prose>h2{font-size:22px}.class-content .prose{padding-inline:12px;background:#ffffffa0}.class-photo{height:220px;margin:35px 0}.text-slides{padding:32px 40px;min-height:470px;margin-bottom:60px}.text-slides h2{font-size:21px}.slide-copy p{font-size:14px}.slide-prev{left:5px}.slide-next{right:5px}.asso-hero .ribbon{font-size:17px;bottom:40px}.asso-hero{background-position:48% center}.full-title{font-size:30px}.bureau{font-size:14px}.anniversary h2{font-size:23px}.anniversary h2:nth-child(2){font-size:84px}.center-info{background-position:64% center}.center-info .wrap>div{width:100%;background:#ffffffc9;padding:15px}.center-info p:first-child{font-size:29px}.center-info p:nth-child(2){font-size:24px}.legal-hero{height:230px}.legal-hero h1{font-size:26px;overflow-wrap:anywhere}.search-box{flex-direction:column}.lightbox{padding:45px 38px}.lightbox figure img{max-height:75vh}.lightbox figcaption{font-size:12px}.lightbox button{font-size:38px}.lightbox-prev{left:2px}.lightbox-next{right:2px}.availability{padding-block:30px 70px}.tab-buttons button{padding:12px 10px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html,.gallery-track{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.visible){opacity:1;transform:none}}

.home-overlays,.rental-overlays{z-index:2}.seaside{top:14px}.stay-copy{min-height:640px}@media(max-width:760px){.seaside{top:135px}.stay-copy{min-height:0}}
@media(max-width:360px){header{gap:0}.brand{width:225px}.brand>span{font-size:14px}.brand i{font-size:13px}.menu-toggle{font-size:25px;padding:2px}.tab-buttons button{font-size:12px}.home-date{font-size:15px}.register{left:65px}.seaside{font-size:16px}}