:root{--wine:#6f2934;--wine-dark:#3e181f;--rose:#b7787d;--blush:#ead5d2;--cream:#f8f2ea;--white:#fff;--ink:#2d2525;--muted:#756a68;--line:rgba(62,24,31,.15);--radius:26px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);overflow-x:hidden}.header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,6vw,90px);position:fixed;inset:0 0 auto;z-index:100;background:rgba(248,242,234,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-icon{display:grid;place-items:center;width:46px;height:46px;background:var(--wine);color:#fff;border-radius:50%;font-size:22px}.brand strong,.brand small{display:block}.brand strong{font-family:'Playfair Display',serif;font-size:17px}.brand small{font-size:11px;color:var(--muted);margin-top:2px}.nav{display:flex;align-items:center;gap:27px}.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:14px}.nav a:hover{color:var(--wine)}.nav .nav-cta{background:var(--wine);color:#fff;padding:12px 20px;border-radius:99px}.menu-button{display:none;background:none;border:0;font-size:26px}.hero{min-height:780px;padding:145px clamp(24px,7vw,110px) 80px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;position:relative;overflow:hidden}.hero-decoration{position:absolute;border-radius:50%;filter:blur(2px)}.hero-decoration-one{width:380px;height:380px;background:var(--blush);right:-120px;top:75px;opacity:.7}.hero-decoration-two{width:170px;height:170px;border:1px solid var(--rose);left:-70px;bottom:80px}.overline{font-size:11px;font-weight:700;letter-spacing:2.3px;color:var(--wine);margin-bottom:18px}.hero h1,.section-heading h2,.booking h2{font-family:'Playfair Display',serif;font-weight:600;line-height:1.03}.hero h1{font-size:clamp(52px,6.7vw,94px);letter-spacing:-3px}.hero h1 em{color:var(--wine);font-weight:500}.hero-text{font-size:18px;line-height:1.7;color:var(--muted);max-width:620px;margin:28px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{min-height:52px;padding:0 24px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;border:1px solid var(--wine);transition:.25s;cursor:pointer;font-family:inherit;font-size:14px}.button:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(111,41,52,.18)}.button-primary{background:var(--wine);color:#fff}.button-secondary{background:transparent;color:var(--wine)}.button-light{background:#fff;color:var(--wine);border-color:#fff}.hero-points{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;color:var(--muted);font-size:13px}.hero-points span:before{content:'◆';font-size:8px;color:var(--wine);margin-right:7px}.hero-image{position:relative;min-height:510px}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:rgba(255,255,255,.8);letter-spacing:1px;border-radius:180px 180px 28px 28px;background:linear-gradient(145deg,var(--rose),var(--wine-dark))}.portrait-placeholder{height:510px;width:min(440px,100%);margin:auto;border:8px solid rgba(255,255,255,.55);box-shadow:0 25px 60px rgba(62,24,31,.25)}.image-placeholder small{font-size:11px;margin-top:8px}.floating-card{position:absolute;left:-20px;bottom:35px;background:#fff;padding:18px 22px;border-radius:16px;box-shadow:0 14px 40px rgba(62,24,31,.18)}.floating-card span,.floating-card strong{display:block}.floating-card span{font-size:11px;color:var(--muted)}.floating-card strong{color:var(--wine);margin-top:4px}.section{padding:110px clamp(24px,7vw,110px)}.section-heading h2,.booking h2{font-size:clamp(42px,5vw,68px);letter-spacing:-2px}.centered{text-align:center;max-width:830px;margin:auto}.centered>p:last-child{color:var(--muted);margin-top:18px}.intro{display:grid;grid-template-columns:.25fr 1fr 1fr;gap:45px;background:#fff}.intro-number{font-family:'Playfair Display',serif;color:var(--rose);font-size:42px}.intro-content>p{font-size:17px;line-height:1.7;color:var(--muted);margin-bottom:17px}.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:35px}.credentials div{padding:18px 12px;border-top:1px solid var(--line)}.credentials strong,.credentials span{display:block}.credentials strong{font-family:'Playfair Display',serif;color:var(--wine);font-size:19px}.credentials span{font-size:11px;color:var(--muted);margin-top:5px}.services{background:var(--cream)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.service-card{min-height:330px;background:#fff;padding:30px;border-radius:var(--radius);display:flex;flex-direction:column;position:relative;border:1px solid transparent;transition:.3s}.service-card:hover{transform:translateY(-7px);border-color:var(--rose)}.service-card.featured{background:var(--wine);color:#fff}.service-card>span{position:absolute;right:25px;top:24px;color:var(--rose);font-weight:700}.service-icon{font-size:40px;margin:20px 0 55px;color:var(--wine)}.featured .service-icon{color:var(--blush)}.service-card h3{font-family:'Playfair Display',serif;font-size:26px}.service-card p{line-height:1.6;color:var(--muted);margin:12px 0 22px}.featured p{color:#e3cbcd}.service-card a{margin-top:auto;color:var(--wine);font-weight:700;text-decoration:none}.featured a{color:#fff}.process{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--wine-dark);color:#fff}.process .overline{color:var(--blush)}.steps{display:flex;flex-direction:column}.step{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.15)}.step>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--blush);color:var(--wine);font-weight:700}.step h3{font-family:'Playfair Display',serif;font-size:23px}.step p{color:#d8c8ca;margin-top:7px}.locations{background:#fff}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:50px}.location-card{overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:var(--cream)}.location-photo{height:250px;display:grid;place-items:center;background:linear-gradient(135deg,var(--rose),var(--wine));color:#fff;font-size:12px;letter-spacing:2px}.location-photo.alternate{background:linear-gradient(135deg,#d9b9b4,#7e4750)}.location-info{padding:30px}.location-info>span{font-size:11px;letter-spacing:2px;color:var(--wine);font-weight:700}.location-info h3{font-family:'Playfair Display',serif;font-size:28px;margin:10px 0}.location-info p{color:var(--muted);margin:7px 0}.location-info a{display:inline-block;margin-top:18px;color:var(--wine);font-weight:700}.coverage{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.coverage-content>p{line-height:1.7;color:var(--muted);margin-bottom:25px}.coverage-list{display:flex;flex-wrap:wrap;gap:10px}.coverage-list span{background:#fff;padding:13px 18px;border-radius:99px;border:1px solid var(--line);font-weight:600}.gallery{background:#fff}.gallery-grid{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:210px 210px;gap:16px;margin-top:45px}.gallery-item{display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,var(--rose),var(--wine));color:#fff;font-size:12px;letter-spacing:2px}.gallery-item.large{grid-row:span 2;background:linear-gradient(145deg,var(--wine-dark),var(--rose))}.gallery-item.warm{background:linear-gradient(135deg,#e7d1cb,#9f666d)}.booking{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--wine);color:#fff}.booking .overline{color:var(--blush)}.booking-copy>p:not(.overline){line-height:1.7;color:#e6d5d6;margin:22px 0 28px}.contact-data{display:flex;flex-direction:column;gap:8px;margin-top:28px;color:#e6d5d6}.booking-form{background:#fff;color:var(--ink);padding:35px;border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form label{font-size:12px;font-weight:700;color:var(--wine)}.booking-form label:nth-child(4){grid-column:1/-1}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:0;border-bottom:1px solid #cdbabc;background:transparent;padding:12px 2px;outline:none;font:inherit;color:var(--ink);margin-top:4px}.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{border-color:var(--wine)}.booking-form button{grid-column:1/-1;border:0}.booking-form small{grid-column:1/-1;color:var(--muted);line-height:1.5}.footer{background:#241316;color:#fff;padding:55px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.footer-brand{color:#fff}.footer-brand .brand-icon{background:var(--blush);color:var(--wine)}.footer>div:nth-child(2){display:flex;gap:18px}.footer a{color:#d9c6c8;text-decoration:none;font-size:13px}.footer>p{grid-column:1/-1;color:#8f787b;font-size:12px;border-top:1px solid rgba(255,255,255,.1);padding-top:22px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:980px){.nav{display:none;position:fixed;top:84px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column}.nav.open{display:flex}.menu-button{display:block}.hero{grid-template-columns:1fr;padding-top:130px}.hero-image{margin-top:20px}.intro,.process,.coverage,.booking{grid-template-columns:1fr}.intro-number{display:none}.service-grid{grid-template-columns:1fr 1fr}.location-grid{grid-template-columns:1fr}.footer{grid-template-columns:1fr}.footer>div:nth-child(2){flex-wrap:wrap}}@media(max-width:620px){.brand small{display:none}.hero{padding-inline:20px}.hero h1{font-size:50px}.hero-points{flex-direction:column;gap:8px}.section{padding:80px 20px}.credentials,.service-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-template-rows:260px 190px 190px}.gallery-item.large{grid-row:auto}.booking-form{grid-template-columns:1fr;padding:25px}.booking-form label:nth-child(4),.booking-form button,.booking-form small{grid-column:auto}.footer>div:nth-child(2){flex-direction:column}.floating-card{left:5px}.portrait-placeholder{height:440px}}
