:root{--pink:#d38e94;--rose:#b96e75;--blush:#f8e9e9;--cream:#fffaf8;--ink:#30272b;--muted:#766b6d;--line:#ead8d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.announcement{background:#bd7b81;color:#fff;text-align:center;padding:10px 12px;font-size:11px;letter-spacing:.17em;text-transform:uppercase}.announcement span{margin:0 15px}.header{height:88px;display:flex;align-items:center;justify-content:space-between;max-width:1250px;padding:0 34px;margin:auto}.brand{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.19em}.brand img{width:56px;height:56px;border-radius:50%;object-fit:cover}.brand strong{font-size:13px;display:block;letter-spacing:.12em;margin-top:3px}.header nav{display:flex;align-items:center;gap:34px;font-size:13px}.header nav a:not(.nav-book):hover,.text-link:hover{color:var(--rose)}.nav-book{background:var(--ink);color:#fff;padding:15px 19px}.menu-toggle{display:none;border:0;background:none;font-size:27px}.hero{max-width:1440px;margin:auto;min-height:660px;display:grid;grid-template-columns:1.05fr 1fr;background:linear-gradient(110deg,#fdf5f2,#f6dedf);overflow:hidden}.hero-copy{padding:110px 6vw 75px max(6vw,calc((100vw - 1180px)/2));display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.24em;color:var(--rose)}h1,h2,h3,.quote p{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(54px,6.3vw,100px);line-height:1.11;letter-spacing:-.045em;margin:27px 0}h1 em,h2 em,.quote em,.art-note em{color:var(--rose);font-weight:400}.hero-copy>p{max-width:440px;font-size:16px;line-height:1.9;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:17px 25px;border:1px solid var(--ink);font-size:13px;font-weight:600;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:#fff}.btn-outline{background:transparent;color:var(--ink)}.text-link{font-size:13px;border-bottom:1px solid var(--rose);padding-bottom:7px}.hero-foot{font-size:10px;letter-spacing:.13em;color:#987c80;margin-top:auto;padding-top:65px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:600px;background:radial-gradient(circle at 45% 50%,#fceef0 0,#f3d1d4 54%,#e7b9bd 100%)}.art-oval{width:min(76%,520px);aspect-ratio:1;border:1px solid rgba(255,255,255,.7);border-radius:50%;padding:18px;box-shadow:0 0 0 22px rgba(255,255,255,.12),0 0 0 45px rgba(255,255,255,.08)}.art-oval img{border-radius:50%;width:100%;height:100%;object-fit:cover;box-shadow:0 22px 80px #a66a6a30}.art-note{position:absolute;right:8%;bottom:12%;font-family:'Playfair Display',serif;font-size:25px;transform:rotate(-9deg);text-align:center}.art-sparkle{position:absolute;left:10%;top:15%;font-size:65px;color:#fff8}.section{padding:110px max(30px,calc((100vw - 1180px)/2))}.intro{text-align:center}.intro-ornament{font-size:33px;color:var(--pink);margin-bottom:20px}.intro h2{font-size:clamp(38px,4.2vw,60px);margin:18px auto;max-width:760px}.intro>p{color:var(--muted);max-width:630px;margin:0 auto;line-height:1.9}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:75px}.features>div{padding:25px;border-top:1px solid var(--line)}.features span{display:block;color:var(--rose);font-size:12px;margin-bottom:18px}.features strong{font-family:'Playfair Display',serif;font-size:23px;font-weight:400}.features p{font-size:13px;color:var(--muted)}.services{background:#f7e8e7}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-head h2,.booking h2,.contact h2{font-size:clamp(42px,4.8vw,66px);margin:15px 0 0;line-height:1.2}.section-head>p{max-width:360px;color:var(--muted);line-height:1.8;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{background:#fffdfb;padding:32px 29px 36px;min-height:350px}.service-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;color:var(--rose);font-weight:700}.service-card h3{font-size:32px;margin:27px 0 25px}.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 0;font-size:13px}.price-row strong{color:var(--rose);font-size:17px;white-space:nowrap}.addons{background:#faeeee;padding:12px;font-size:11px;line-height:1.7;margin-top:9px;color:#71575b}.addons b{color:var(--rose)}.addons span{padding:0 5px}.service-note{font-size:12px;color:var(--muted);margin:25px 0}.quote{padding:70px 20px;text-align:center;background:#d4a1a4;color:#fff;display:flex;align-items:center;justify-content:center;gap:65px}.quote p{font-size:clamp(35px,4.5vw,62px);line-height:1.25;margin:0}.quote em{color:#fff6f3}.quote>span{font-size:28px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-tile{aspect-ratio:4/5;position:relative;display:flex;align-items:end;padding:28px;overflow:hidden}.gallery-tile:before{content:'✧';font-family:Georgia,serif;position:absolute;top:18%;left:50%;transform:translateX(-50%);font-size:110px;color:#ffffff7d}.gallery-tile span{position:relative;font-family:'Playfair Display',serif;font-size:25px;color:#6c4b50}.tile-one{background:linear-gradient(145deg,#f2d3d1,#fff6ef)}.tile-two{background:linear-gradient(135deg,#e9b6bd,#f8e7e8)}.tile-three{background:linear-gradient(145deg,#f9e9e1,#d9a0a8)}.gallery-note{font-size:12px;color:var(--muted);text-align:center;margin-top:20px}.booking{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:#fbefee}.booking-copy>p{max-width:380px;color:var(--muted);line-height:1.9}.mini-heart{font-size:100px;color:#e0b2b6;margin-top:55px}.booking-form-wrap{background:#fff;padding:40px;box-shadow:0 18px 55px #bd8e8e12}.booking-form-wrap h3{font-size:30px;margin:0 0 25px}.booking-form-wrap label{display:block;font-size:12px;font-weight:600;margin:18px 0 8px}.booking-form-wrap small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #e6d6d5;background:#fffbfa;padding:14px 12px;border-radius:0;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #d7a0a3;outline-offset:1px}.wide{width:100%;margin-top:24px}.form-note,.booking-result{font-size:12px;color:var(--muted);line-height:1.6}.booking-result{margin-top:18px;padding:16px;background:#f8e9e9}.booking-result p{white-space:pre-line;color:var(--ink)}.booking-result .btn{margin:8px 8px 0 0;padding:10px 14px}.contact{text-align:center}.contact>p{max-width:550px;margin:22px auto;color:var(--muted);line-height:1.8}.contact-links{display:flex;gap:35px;justify-content:center;flex-wrap:wrap;margin:32px 0}.contact-links a{border-bottom:1px solid var(--rose);padding-bottom:7px;font-size:13px}.location-note{font-size:12px}footer{background:#342a2d;color:#f9eded;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px max(30px,calc((100vw - 1180px)/2));font-size:12px}footer .footer-brand{display:flex;align-items:center;gap:12px;font-family:'Playfair Display',serif;font-size:17px}footer img{width:43px;height:43px;border-radius:50%}footer p{color:#d6c5c6}@media(max-width:900px){.header{padding:0 22px}.header nav{gap:17px}.hero-copy{padding:80px 35px}.section{padding:80px 30px}.service-grid{grid-template-columns:1fr 1fr}.booking{gap:35px}}@media(max-width:650px){.header{height:74px}.brand img{width:48px;height:48px}.menu-toggle{display:block}.header nav{display:none;position:absolute;z-index:10;top:108px;left:0;right:0;background:#fffaf8;box-shadow:0 20px 30px #0001;padding:22px;flex-direction:column;align-items:stretch}.header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 28px 55px}.hero-copy h1{font-size:57px}.hero-foot{padding-top:45px}.hero-art{min-height:410px}.art-oval{width:65%}.art-note{font-size:19px}.section{padding:75px 24px}.features,.service-grid,.gallery-grid,.booking{grid-template-columns:1fr}.features{gap:0;margin-top:40px}.section-head{display:block}.service-card{min-height:auto}.quote{gap:18px}.quote>span{font-size:16px}.gallery-tile{aspect-ratio:5/4}.booking{gap:30px}.mini-heart{display:none}.booking-form-wrap{padding:25px}.contact-links{gap:20px}footer{padding:30px 22px;flex-direction:column;text-align:center}}
