@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');:root{--pink:#cf6f91;--deep:#6f394d;--cream:#fffaf7;--blush:#f9e9ec;--gold:#ad8752;--ink:#392d32}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.topline{background:var(--deep);color:#fff;text-align:center;font-size:10px;letter-spacing:3px;padding:7px}.header{height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 6%;background:#fffdfb;position:sticky;top:0;z-index:20;box-shadow:0 1px 8px #6f394d12}.brand{font-family:'Playfair Display',serif;font-size:27px;line-height:1.1;color:var(--deep)}.brand span{font-style:italic;color:var(--pink)}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:2.8px;margin-top:9px;color:var(--gold)}nav{display:flex;gap:28px;font-size:13px}nav a:hover,.textlink:hover{color:var(--pink)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;border:0;background:var(--deep);color:white;padding:15px 25px;border-radius:2px;font:600 12px 'DM Sans',sans-serif;letter-spacing:.8px;cursor:pointer}.btn:hover{background:#a95375}.btn-small{padding:12px 17px}.hero{min-height:650px;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(130deg,#fff6f4,#f7e5e8)}.hero-copy{padding:110px 9% 70px 12%;align-self:center}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:700;color:var(--gold)}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500;line-height:1.18}h1{font-size:clamp(44px,5.2vw,82px);margin:20px 0}h2{font-size:clamp(35px,4vw,56px);margin:12px 0 20px}h1 em,h2 em{color:var(--pink);font-weight:400}.hero-copy>p:not(.eyebrow){max-width:470px;color:#6b5c60}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:35px}.textlink{font-size:13px;font-weight:600}.hero-note{font-size:11px!important;letter-spacing:1.5px;margin-top:35px}.hero-image{position:relative;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.floating{position:absolute;bottom:35px;left:0;background:#fff9f4e8;padding:19px 27px;color:var(--gold);font-size:24px}.floating span{font-family:'Playfair Display',serif;font-style:italic;color:var(--deep);font-size:19px}.section{padding:95px 7%;scroll-margin-top:90px}.centered{text-align:center}.services{text-align:center}.sub{color:#746a6e;margin-bottom:40px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left;max-width:1120px;margin:0 auto}.service-grid article{background:white;border:1px solid #f0dfe1;padding:32px;min-height:200px}.service-grid article span{color:var(--gold);font-size:12px}.service-grid h3{font-size:26px;margin:18px 0 8px}.service-grid p{font-size:13px;color:#796e70}.service-cta{background:var(--deep)!important;color:white}.service-cta p{color:#f5dce4!important}.service-cta a{color:#ffdfb6;font-size:13px}.fine{font-size:11px;color:#8a7c7e;margin-top:26px}.about{background:#f9ecec;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about-image img{width:100%;height:450px;object-fit:cover}.about p:not(.eyebrow){color:#685c5f}.about .btn{margin-top:20px}.reviews{text-align:center}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.quotes blockquote{margin:0;background:#fff;border:1px solid #f1e0e4;padding:40px 27px;font-family:'Playfair Display',serif;font-style:italic;font-size:20px;line-height:1.6}.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;background:#f8e8ec}.booking-intro p:not(.eyebrow){color:#6e6267}.booking-steps{display:grid;gap:15px;margin-top:35px;color:var(--deep);font-size:14px}.booking-form{background:white;padding:36px;box-shadow:0 12px 40px #6f394d0b}.booking-form label{display:block;font-size:12px;font-weight:700;color:#624e56;margin-bottom:17px}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{display:block;width:100%;border:1px solid #e8d6db;background:#fffdfc;padding:13px;font:14px 'DM Sans',sans-serif;margin-top:7px;border-radius:2px;color:var(--ink)}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid #d49aaa}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-form .consent{display:flex;gap:10px;align-items:flex-start;font-weight:400}.consent input{margin-top:5px}.submit{width:100%}.status{font-size:13px;color:var(--deep)}.contact{text-align:center}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:800px;margin:40px auto 0}.contact-grid>div{background:#fff;border:1px solid #f0dfe1;padding:30px}.contact-grid h3{font-size:25px}.contact-grid a{color:var(--deep);text-decoration:underline;text-underline-offset:4px}footer{background:var(--deep);color:#fff;padding:55px 7%;text-align:center}footer .brand,footer .brand span{color:#fff}footer .brand small{color:#f2c6d3}footer p{font-family:'Playfair Display',serif;font-style:italic}footer>small{font-size:11px;color:#e8ccd5}@media(max-width:900px){nav{display:none}.header{padding:0 4%;height:75px}.brand{font-size:21px}.btn-small{font-size:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 7%}.hero-image{height:360px}.service-grid,.quotes{grid-template-columns:1fr 1fr}.about,.booking{grid-template-columns:1fr}.section{padding:65px 6%}}@media(max-width:550px){.service-grid,.quotes,.contact-grid,.two{grid-template-columns:1fr}.hero-image{height:270px}.booking-form{padding:22px}.header .btn-small{padding:10px}.brand{font-size:19px}.brand small{font-size:7px;letter-spacing:1.8px}.floating{bottom:12px;padding:10px 15px}.floating span{font-size:15px}}
