:root{--ink:#183d38;--mint:#e8f1ea;--coral:#f26c59;--cream:#fffdf9;--sand:#f7f1e9;--line:#dce6df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream)}button,a,input{font:inherit}button{cursor:pointer;border:0}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;max-width:1280px;padding:0 36px;margin:auto}.logo{font-family:'Playfair Display',serif;text-decoration:none;color:var(--ink);font-size:29px;font-weight:700;letter-spacing:-1.8px}.logo span{font-style:italic}.logo i{color:var(--coral);font-style:normal}nav{display:flex;gap:34px;margin-left:130px}nav a,footer a{color:var(--ink);text-decoration:none;font-size:14px}.button{border-radius:100px;padding:15px 23px;font-weight:700;font-size:14px;transition:.2s transform,.2s background}.button:hover{transform:translateY(-2px)}.button b{font-size:18px;margin-left:12px}.button-dark{background:var(--ink);color:white}.button-coral{background:var(--coral);color:white}.hero{max-width:1280px;margin:auto;min-height:607px;padding:62px 36px;display:grid;grid-template-columns:1.02fr .98fr;gap:60px;background:linear-gradient(90deg,var(--cream) 60%,#f0eee6 60%)}.hero-content{padding-top:48px}.eyebrow{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;margin:0 0 18px}.eyebrow span{display:inline-block;background:var(--coral);height:8px;width:8px;border-radius:50%;margin:0 8px 1px 0}h1,h2,h3{margin:0;font-family:'Playfair Display',serif;letter-spacing:-1.8px}h1{font-size:59px;line-height:1.04}h1 em{color:var(--coral);font-style:italic}.hero-copy{font-size:17px;line-height:1.55;width:440px;max-width:100%;margin:25px 0}.hero-actions{display:flex;align-items:center;gap:27px}.text-link{color:var(--ink);text-decoration:none;font-size:14px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}.text-link span{margin-left:8px}.hero-image{position:relative;height:500px}.hero-image>img{width:100%;height:100%;object-fit:cover;border-radius:2px 80px 2px 2px}.floating-card{position:absolute;bottom:25px;left:-38px;background:#fff;padding:17px 22px;display:flex;gap:13px;align-items:center;box-shadow:0 15px 35px #183d3830}.floating-card .sparkle{background:var(--mint);border-radius:50%;height:38px;width:38px;text-align:center;padding:10px;color:var(--coral)}.floating-card strong,.floating-card small{display:block;font-size:13px}.floating-card small{margin-top:3px;color:#57716c;font-size:11px}.social-proof{display:flex;align-items:center;gap:11px;margin-top:49px}.avatars{display:flex}.avatars img{height:31px;width:31px;border:2px solid #fff;border-radius:50%;margin-right:-8px}.social-proof strong,.social-proof span{display:block;font-size:12px}.social-proof span{font-size:11px;color:#607773}.trust-strip{background:var(--ink);color:white;padding:22px;display:flex;justify-content:center;gap:35px;align-items:center;font-size:13px;font-weight:600}.trust-strip p{margin:0}.trust-strip span{color:#8fb5a3}.section{max-width:1190px;margin:auto;padding:115px 20px}.section-heading{position:relative}.section-heading h2,.how h2,.cta h2{font-size:45px;line-height:1.1}.section-heading>.text-link{position:absolute;right:0;bottom:6px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:45px}.service-card{background:var(--sand)}.service-card.featured{background:var(--mint)}.service-card img{height:200px;width:100%;object-fit:cover}.service-card>div{padding:25px 25px 23px}.card-number{font-size:11px;color:var(--coral);font-weight:700;margin:0 0 10px}.service-card h3{font-size:26px}.service-card div>p:not(.card-number){font-size:13px;line-height:1.5;color:#54706b;height:40px}.card-link{color:var(--ink);background:none;padding:0;font-weight:700;font-size:13px}.card-link span{font-size:18px;margin-left:8px}.how{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center;padding-top:30px}.how-image{height:590px}.how-image img{height:100%;width:100%;object-fit:cover;border-radius:80px 2px 2px}.how-copy ol{padding:0;margin:37px 0 30px;list-style:none}.how-copy li{display:flex;gap:20px;border-bottom:1px solid var(--line);padding:17px 0}.how-copy li b{color:var(--coral);font-size:12px;padding-top:3px}.how-copy li h3{font-size:19px;letter-spacing:-.7px}.how-copy li p{font-size:13px;color:#607773;margin:6px 0 0}.testimonial{background:#f6ebe1;text-align:center;padding:95px 20px}.quote-mark{font:65px Georgia;color:var(--coral);height:47px}.testimonial blockquote{font-family:'Playfair Display',serif;font-size:31px;line-height:1.35;letter-spacing:-.7px;max-width:730px;margin:20px auto 28px}.customer{display:flex;justify-content:center;align-items:center;gap:10px}.customer img{height:38px;width:38px;border-radius:50%}.customer div:nth-child(2){text-align:left}.customer strong,.customer span{display:block;font-size:12px}.customer span{font-size:10px;color:#607773;margin-top:2px}.stars{color:var(--coral);font-size:12px;margin-left:15px}.cta{background:var(--coral);color:white;max-width:1190px;margin:105px auto;padding:66px 74px;display:flex;align-items:center;justify-content:space-between}.cta .eyebrow span{background:white}.cta h2{font-size:47px}.cta>div>p:last-child{font-size:14px;margin-bottom:0}.button-light{background:white;color:var(--ink)}footer{max-width:1190px;margin:auto;padding:0 20px 32px;display:flex;justify-content:space-between;align-items:center}footer p,footer div{font-size:11px;color:#607773}footer div{display:flex;gap:17px}footer a{font-size:11px}footer .logo{font-size:23px}
dialog{border:0;padding:0;width:min(570px,calc(100% - 28px));color:var(--ink);box-shadow:0 20px 70px #0005}dialog::backdrop{background:#183d3890}#booking-form{padding:46px}.close{position:absolute;right:18px;top:13px;font-size:28px;background:none;color:var(--ink)}.booking-progress{height:5px;display:flex;gap:5px;background:#e8ede9}.booking-progress span{flex:1}.booking-progress .active{background:var(--coral)}.booking-step{display:none}.booking-step.active{display:block}.booking-step h2{font-size:34px;line-height:1.1;margin-bottom:27px}.choices{display:grid;gap:11px;margin-bottom:27px}.choices label{border:1px solid var(--line);padding:15px;display:grid;grid-template-columns:35px 1fr;align-items:center;cursor:pointer}.choices input{position:absolute;opacity:0}.choices label:has(input:checked){border:2px solid var(--ink);background:var(--mint)}.choices label span{grid-row:span 2;font-size:22px}.choices b,.choices small{font-size:14px}.choices small{color:#607773;font-size:12px;margin-top:4px}.field{display:grid;gap:7px;margin:15px 0}.field label{font-size:13px;font-weight:700}.field input{border:1px solid var(--line);padding:13px;width:100%;border-radius:0;outline-color:var(--coral)}.slot-list{display:flex;gap:10px}.slot-list label{border:1px solid var(--line);padding:12px;flex:1;font-size:13px}.slot-list small{display:block;margin:4px 0 0 23px;color:#607773}.form-buttons{display:flex;justify-content:space-between;align-items:center;margin-top:28px}.back{background:none;color:var(--ink);font-weight:700}.confirmation{text-align:center;padding:22px 0}.confirmation .check{background:var(--mint);color:var(--ink);width:55px;height:55px;border-radius:50%;padding-top:14px;font-size:23px;margin:0 auto 17px}.confirmation p:not(.eyebrow){line-height:1.5;color:#607773;margin-bottom:25px}
@media(max-width:760px){.topbar{height:70px;padding:0 19px}.topbar nav{display:none}.topbar .button{padding:10px 16px}.hero{display:block;padding:35px 20px 0;background:var(--cream);min-height:auto}.hero-content{padding:0}h1{font-size:42px}.hero-image{height:360px;margin-top:38px}.floating-card{left:10px}.trust-strip{padding:14px;gap:10px;flex-wrap:wrap;font-size:11px}.trust-strip span{display:none}.section{padding:70px 20px}.section-heading h2,.how h2,.cta h2{font-size:36px}.section-heading>.text-link{position:static;display:inline-block;margin-top:23px}.service-grid{grid-template-columns:1fr;margin-top:28px}.how{display:flex;flex-direction:column-reverse;gap:38px;padding-top:0}.how-image{height:380px;width:100%}.testimonial{padding:65px 23px}.testimonial blockquote{font-size:25px}.cta{margin:55px 20px;padding:40px 25px;display:block}.cta .button{margin-top:23px}footer{display:block;text-align:center}footer p{margin:17px 0}footer div{justify-content:center}dialog{max-height:94vh;overflow:auto}#booking-form{padding:35px 25px}.booking-step h2{font-size:30px}}
 .site-credit{display:inline-block;margin-top:5px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
