:root{color-scheme:dark;--black:#111;--white:#f6f6f2;--muted:#a5a5a0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #95d6ff;outline-offset:6px}.skip{position:absolute;left:20px;top:-100px;background:white;color:black;padding:12px;z-index:20}.skip:focus{top:12px}header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 5%;background:#111f;border-bottom:1px solid #343434}.brand{font-size:27px;font-weight:900;letter-spacing:-1.5px;line-height:1}.brand span{display:block;font-size:10px;letter-spacing:4px;margin-top:7px;font-weight:500}nav{display:flex;gap:30px;font-size:14px}nav a:hover,.text-link:hover{color:#aaa}.button{display:inline-flex;align-items:center;justify-content:center;gap:40px;background:var(--white);color:var(--black);padding:18px 25px;font-weight:700;font-size:16px;border:1px solid var(--white);transition:background .2s,color .2s}.button:hover{background:transparent;color:var(--white)}.small{font-size:14px;padding:12px 20px}.hero{padding:54px 7% 0;overflow:hidden}.eyebrow{font-size:13px;letter-spacing:2px;font-weight:700;margin:0 0 26px}h1{font-size:clamp(76px,12.3vw,182px);letter-spacing:-.065em;line-height:.94;margin:35px 0 40px;font-weight:900}h1 span{color:#111;-webkit-text-stroke:1.5px var(--white)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;max-width:1000px;margin-bottom:65px}.hero-bottom p{font-size:20px;color:#c2c2bd}.hero-foot{border-top:1px solid #434343;padding:20px 0;display:flex;justify-content:space-between;gap:15px;font-size:12px;letter-spacing:1px}.section{padding:95px 7%}h2{font-size:clamp(42px,6vw,78px);letter-spacing:-.05em;line-height:1.04;margin:0;font-weight:800}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:55px}.section-heading>p{color:#666;max-width:300px}.prices{background:var(--white);color:var(--black)}.price-list{border-top:1px solid #bbb}.price-list>a{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ccc;padding:23px 0;transition:padding .15s}.price-list>a:hover{padding-left:12px;padding-right:12px;background:#eaeae4}h3{font-size:21px;font-weight:600;margin:0 0 4px;letter-spacing:-.5px}.price-list span{font-size:14px;color:#666}.price-list strong{font-size:23px;white-space:nowrap}.gallery{background:#d9d9d2;color:#111}.gallery-note{border-top:1px solid #aaa;padding-top:38px;overflow:hidden}.large-word{display:block;font-weight:900;font-size:clamp(60px,13vw,190px);line-height:1;letter-spacing:-.06em;color:#b6b6ae;margin-bottom:32px}.text-link{display:inline-block;font-size:15px;border-bottom:1px solid currentColor;padding-bottom:5px}.booking{padding-top:100px;padding-bottom:100px;background:#191919}.booking h2{font-size:clamp(55px,8vw,112px);margin-bottom:38px}.booking-note{font-size:14px;max-width:470px;color:#b0b0aa;margin-top:25px}.booking-note a{text-decoration:underline}.contact{border-top:1px solid #333}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:45px;margin-top:55px}.contact h3{font-size:15px;color:#999;font-weight:400;margin-bottom:20px}.contact p{font-size:18px;line-height:1.8}.email{font-size:16px;overflow-wrap:anywhere}dl{font-size:16px;max-width:250px}dl div{display:flex;justify-content:space-between;gap:20px;margin-bottom:8px}dd{margin:0}footer{border-top:1px solid #333;padding:35px 7%;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:13px;color:#aaa}@media(min-width:1500px){main{max-width:1700px;margin:auto}}@media(max-width:700px){header{flex-wrap:wrap;gap:18px;padding:18px 6%}.brand{font-size:24px}nav{order:3;width:100%;justify-content:space-between;gap:15px;font-size:14px}.hero{padding-top:34px}.hero-bottom,.section-heading{align-items:flex-start;flex-direction:column}.hero-bottom{margin-bottom:35px}.hero-bottom p{font-size:18px}.hero-foot{font-size:10px}.section{padding:65px 7%}.section-heading{gap:18px;margin-bottom:30px}.section-heading p{margin-bottom:0}.price-list h3{font-size:17px}.price-list strong{font-size:18px}.price-list>a{padding:20px 0}.contact-grid{grid-template-columns:1fr;gap:30px}.contact h3{margin-bottom:12px}.contact p{margin-top:0}footer{align-items:flex-start;flex-wrap:wrap}footer>span{font-size:12px}.hero .eyebrow{font-size:11px}h1{font-size:clamp(64px,14.2vw,100px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}} :root{--aqua:#69ddd2} header{padding:14px 5%} .header-logo{display:block;width:190px;height:62px;flex:0 0 auto} .header-logo img{display:block;width:100%;height:100%;object-fit:contain} .logo-brand{display:block;width:168px;height:58px;overflow:hidden} .logo-brand img{width:100%;height:100%;object-fit:contain} .button{border-radius:7px} .logo-text-brand{height:auto;overflow:visible;color:var(--aqua);text-align:center;width:auto;min-width:168px} .logo-text-brand strong{display:block;font-family:"Brush Script MT","Segoe Script",cursive;font-size:38px;font-style:italic;letter-spacing:-2px;line-height:.82;text-shadow:0 2px 0 #087d77} .logo-text-brand span{font-size:9px;letter-spacing:4px;margin-top:7px;color:#baf9f3} nav a:hover,.text-link:hover{color:var(--aqua)} .button{background:var(--aqua);border-color:var(--aqua)} .button:hover{background:transparent;color:var(--aqua)} .eyebrow{color:var(--aqua)} .hero{position:relative;background:#111} .hero-content,.hero-foot{position:relative;z-index:1} .hero-mark{position:absolute;z-index:0;right:2%;top:5%;width:min(48vw,650px);aspect-ratio:1;object-fit:cover;opacity:.28;mix-blend-mode:screen;mask-image:linear-gradient(to left,black 58%,transparent 100%);filter:drop-shadow(0 22px 30px rgba(105,221,210,.25))} h1 span{-webkit-text-stroke-color:var(--aqua)} .hero-slogan{font-size:clamp(64px,10vw,150px)} @media(max-width:700px){.hero-slogan{font-size:clamp(46px,12vw,82px)}} .footer-logo{width:150px;height:53px} @media(max-width:700px){header{gap:14px;padding:12px 6%}.header-logo{width:145px;height:48px}.logo-brand{width:140px;height:49px}.hero-mark{right:-20%;top:0;width:80vw;opacity:.30}} .scroll-progress{position:fixed;z-index:20;top:0;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:var(--aqua);box-shadow:0 0 14px rgba(105,221,210,.75);pointer-events:none} .motion-ready [data-reveal]{opacity:0;transform:translateY(38px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)} .motion-ready [data-reveal="left"]{transform:translateX(-38px)} .motion-ready [data-reveal].is-visible{opacity:1;transform:translate(0)} .price-list>a{transition:padding .15s,transform .25s ease,background .2s ease} .price-list>a:hover{transform:translateX(8px)} .button,.small,.text-link,nav a{transition:transform .2s ease,background .2s,color .2s,box-shadow .2s} .button:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(105,221,210,.22)} .button:active,.small:active,.text-link:active,nav a:active,.is-tapped{transform:scale(.96)!important} .contact-grid>div{transition:transform .25s ease} .contact-grid>div:hover{transform:translateY(-6px)} @media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.motion-ready [data-reveal]{opacity:1;transform:none;transition:none}.button,.small,.text-link,nav a,.price-list>a,.contact-grid>div{transition:none!important;transform:none!important}} .instagram-link{display:inline-flex;align-items:center;gap:8px}.instagram-link svg{flex:none} .reviews { background: var(--white); color: var(--black); } .reviews-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 55px; } .reviews-score { display: grid; justify-items: end; } .stars { display: flex; gap: 4px; font-size: 22px; line-height: 1.2; } .motion-ready .stars > span { opacity: .25; transform: translateY(8px) scale(.7); } .motion-ready .stars.is-visible > span { animation: star-light-up .48s cubic-bezier(.2, 1.5, .4, 1) both; animation-delay: calc(var(--star-index) * 130ms); } .stars > span:nth-child(1) { --star-index: 0; } .stars > span:nth-child(2) { --star-index: 1; } .stars > span:nth-child(3) { --star-index: 2; } .stars > span:nth-child(4) { --star-index: 3; } .stars > span:nth-child(5) { --star-index: 4; } @keyframes star-light-up { 0% { opacity: .25; transform: translateY(8px) scale(.7); color: #888; } 70% { opacity: 1; transform: translateY(-3px) scale(1.22); color: #52cfc7; } 100% { opacity: 1; transform: translateY(0) scale(1); color: inherit; } } @media (prefers-reduced-motion: reduce) { .motion-ready .stars > span { opacity: 1; transform: none; animation: none; } } .reviews-score strong { font-size: 58px; line-height: 1; } .reviews-score > span:last-child { color: #666; font-size: 14px; } .review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 38px; } .review-grid blockquote { margin: 0; border: 1px solid #c9c9c3; border-radius: 16px; padding: 28px; min-height: 190px; display: flex; flex-direction: column; justify-content: space-between; } .review-grid blockquote p { font-size: 22px; line-height: 1.35; margin: 0; } .review-grid blockquote footer { border: 0; padding: 25px 0 0; display: block; color: #666; font-size: 14px; } .review-button { background: var(--black); color: var(--white); border-color: var(--black); } .review-button:hover { background: transparent; color: var(--black); } @media (max-width: 700px) { .reviews-head { align-items: flex-start; flex-direction: column; } .reviews-score { justify-items: start; } .review-grid { grid-template-columns: 1fr; gap: 16px; } .review-grid blockquote { min-height: 150px; } .review-grid blockquote p { font-size: 20px; } }
@supports (content-visibility: auto) { .section { content-visibility: auto; contain-intrinsic-size: auto 800px; } }
