@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--ivory:#f6f2eb;--ink:#191916;--muted:#756f68;--line:#dcd6cc;--sand:#e4d7c4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button{font:inherit}.topline{padding:10px 4.4%;background:#1c1c1a;color:#ddd5c9;font-size:10px;letter-spacing:.18em;display:flex;justify-content:space-between}.header{height:90px;padding:0 4.4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.logo{font-size:25px;font-weight:800;letter-spacing:-.075em;line-height:1}.logo span{display:block;font-size:9px;letter-spacing:.28em;font-weight:600;margin-top:7px}.header nav{display:flex;gap:33px;font-size:12px;font-weight:700}.header nav a:hover{opacity:.5}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:19px 24px;min-height:56px;font-size:11px;font-weight:800;letter-spacing:.08em;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:#fff}.btn-light{background:var(--ivory);color:var(--ink)}.btn-outline{border:1px solid var(--ink)}.menu{display:none;background:none;border:0;font-size:28px}.hero{display:grid;grid-template-columns:48% 52%;min-height:650px}.hero-copy{padding:73px 9.2% 28px;display:flex;flex-direction:column}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em}.hero h1{font-size:clamp(64px,6.8vw,112px);letter-spacing:-.085em;line-height:.99;margin:58px 0 28px;font-weight:800}.hero h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.075em}.hero-copy>p{font-size:15px;line-height:1.8;max-width:430px;color:#56514b;margin:0 0 34px}.hero-copy>.btn{align-self:flex-start}.hero-bottom{margin-top:auto;padding-top:70px;display:flex;justify-content:space-between;gap:12px;font-size:10px;font-weight:800;line-height:1.8;letter-spacing:.1em}.hero-image{position:relative;overflow:hidden;min-height:600px}.hero-image img{height:100%;position:absolute;inset:0}.photo-label{position:absolute;bottom:20px;right:24px;color:white;font-size:10px;letter-spacing:.16em;text-shadow:0 1px 8px #000}.wrap{max-width:1440px;margin:auto;padding-left:5%;padding-right:5%}.intro{padding-top:125px;padding-bottom:135px;display:grid;grid-template-columns:24% 53% 23%;gap:0;align-items:start}.intro h2,.section-top h2,.contact h2,.booking h2{font-size:clamp(42px,5.1vw,76px);letter-spacing:-.075em;line-height:1.06;margin:0;font-weight:800}.intro p{font-size:14px;line-height:1.9;color:var(--muted);margin:10px 0 0}.services{padding-top:100px;padding-bottom:120px;border-top:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.section-top h2{margin-top:22px}.section-top>p{max-width:270px;font-size:14px;color:var(--muted);line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:#e9e3da}.service-card img{height:390px}.service-info{padding:24px}.service-info span,.contact-details span{font-size:10px;font-weight:800;letter-spacing:.15em;color:#7b7166}.service-info h3{font-size:23px;letter-spacing:-.04em;margin:12px 0}.service-info p{font-size:13px;margin:0}.price-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:27px 2px;font-size:15px}.statement{background:#1c1c1a;color:var(--ivory);text-align:center;padding:110px 24px}.statement p{font-size:clamp(35px,5.2vw,78px);letter-spacing:-.065em;line-height:1.1;max-width:1050px;margin:36px auto}.gallery{padding-top:125px;padding-bottom:125px}.gallery-grid{display:grid;grid-template-columns:40% 1fr;gap:20px}.gallery-grid img{height:470px}.booking{background:var(--sand);padding:115px 6%;display:flex;justify-content:center}.booking>div{width:min(100%,1150px)}.booking h2{margin:25px 0}.booking p{max-width:480px;line-height:1.8;color:#514a42}.booking-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.booking small{color:#70675c}.contact{padding-top:115px;padding-bottom:115px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact h2{margin-top:25px}.contact-details{display:grid;gap:25px}.contact-details>div{border-bottom:1px solid var(--line);padding-bottom:18px}.contact-details p{font-size:19px;font-weight:700;margin:10px 0 0}footer{background:#191916;color:#fff;padding:45px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:last-child{font-size:10px;letter-spacing:.07em;color:#bcb6ae}@media(max-width:900px){.header{height:76px}.header-book{display:none}.menu{display:block;margin-left:auto}.header nav{display:none;position:absolute;top:111px;left:0;right:0;z-index:5;background:var(--ivory);padding:26px 5%;box-shadow:0 12px 20px #0002;flex-direction:column;gap:22px}.header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6% 30px}.hero h1{margin:40px 0 22px;font-size:clamp(55px,11vw,92px)}.hero-bottom{padding-top:45px}.hero-image{min-height:460px}.intro{grid-template-columns:1fr;gap:25px;padding-top:85px;padding-bottom:85px}.services,.gallery{padding-top:75px;padding-bottom:80px}.service-card img{height:300px}.contact{grid-template-columns:1fr}footer{flex-wrap:wrap}.topline span{display:none}}@media(max-width:600px){.topline{font-size:8px;justify-content:center}.header{height:68px}.header nav{top:94px}.logo{font-size:21px}.hero-copy{padding:42px 6% 25px}.hero h1{font-size:clamp(48px,12vw,75px);margin:34px 0 20px}.hero-copy>p{font-size:13px}.hero-image{min-height:360px}.hero-bottom{font-size:8px}.intro h2,.section-top h2,.contact h2,.booking h2{font-size:clamp(38px,10vw,60px)}.section-top{display:block}.section-top>p{margin-top:22px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card img{height:310px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:300px}.booking{padding:80px 6%}.booking-actions{flex-direction:column;align-items:stretch}.booking-actions .btn{width:100%}.contact{padding-top:80px;padding-bottom:80px}footer{display:grid;gap:20px}.statement{padding:80px 6%}}