:root{--ink:#2f2729;--muted:#75696b;--rose:#a86b72;--rose-dark:#8d535d;--blush:#f8eeeb;--cream:#fffaf6;--gold:#d4ae7c;--line:#e9ddd8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);line-height:1.65}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:min(1160px,calc(100% - 48px));margin:auto}.section{padding:110px 0}.announcement{background:#a26a73;color:white;text-align:center;padding:9px 12px;font-size:11px;letter-spacing:.09em}.announcement span{padding:0 12px;color:#f3d6a8}.site-header{position:sticky;top:0;background:rgba(255,250,246,.97);z-index:50;box-shadow:0 3px 20px #30272a0b}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:87px;gap:30px}.brand{display:inline-flex;align-items:center;gap:12px;font-family:'Playfair Display',serif;font-size:23px;font-weight:600;letter-spacing:.035em;line-height:1}.brand-mark{color:var(--rose);font-size:45px;font-weight:400}.brand small{display:block;font:600 9px 'DM Sans',sans-serif;letter-spacing:.26em;margin-top:9px}.site-nav{display:flex;align-items:center;gap:27px}.site-nav>a:not(.btn){font-size:12px;font-weight:700}.site-nav>a:not(.btn):hover,.inline-link:hover{color:var(--rose)}.btn{display:inline-block;border:1px solid var(--rose);background:var(--rose);color:white;padding:14px 25px;font-size:12px;font-weight:700;letter-spacing:.035em;transition:.2s;text-align:center}.btn:hover{background:var(--rose-dark);border-color:var(--rose-dark);transform:translateY(-2px)}.btn-small{padding:12px 18px}.menu-toggle{display:none}.hero{min-height:650px;position:relative;display:flex;align-items:center;color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1900&q=90') center 54%/cover}.hero-shade{background:linear-gradient(90deg,rgba(33,25,26,.78),rgba(33,25,26,.44) 55%,rgba(33,25,26,.12))}.hero-content{position:relative;z-index:1;padding:100px 0}.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:700;color:var(--rose);margin:0 0 20px}.eyebrow.light{color:#f2d4bc}.hero h1,h2,blockquote{font-family:'Playfair Display',serif;font-weight:400;line-height:1.16}.hero h1{font-size:clamp(55px,7vw,95px);letter-spacing:-.04em;margin:0 0 25px}.hero h1 em,h2 em,blockquote em{font-weight:400;color:#d8aeb0}.hero-content>p:not(.eyebrow){max-width:460px;font-size:15px;color:#f5e9e7}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:34px}.text-link{font-size:13px;font-weight:700}.text-link span{margin-left:9px}.hero-side-note{position:absolute;right:32px;bottom:30px;letter-spacing:.2em;font-size:10px}.intro-grid,.experience-grid,.booking-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.intro-images{position:relative;padding-right:40px;padding-bottom:35px}.intro-main{height:530px}.intro-badge{position:absolute;bottom:0;right:0;width:195px;height:150px;background:var(--blush);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-family:'Playfair Display',serif;font-size:18px;line-height:1.4}.intro-badge strong{font-style:italic;color:var(--rose);font-weight:400}.intro-copy h2,h2{font-size:clamp(38px,4.4vw,61px);letter-spacing:-.025em;margin:0 0 26px}.intro-copy p:not(.eyebrow),.experience p:not(.eyebrow),.booking p:not(.eyebrow),.contact-section p:not(.eyebrow){font-size:14px;color:var(--muted)}.intro-copy p{margin-bottom:20px}.inline-link{display:inline-block;border-bottom:1px solid var(--rose);color:var(--rose);padding-bottom:7px;margin-top:18px;font-size:13px;font-weight:700}.inline-link span{margin-left:15px}.services{background:var(--blush)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:360px;color:var(--muted);font-size:14px}.filter-row{display:flex;gap:10px;margin-bottom:25px}.filter{border:1px solid #d9c5c0;background:transparent;padding:8px 17px;color:var(--muted);font-size:12px}.filter.active,.filter:hover{background:var(--rose);color:white;border-color:var(--rose)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-card{background:var(--cream);transition:transform .2s}.service-card:hover{transform:translateY(-5px)}.service-card img{height:235px}.card-copy{padding:24px 25px 27px}.card-copy span,.contact-details span{font-size:10px;color:var(--rose);font-weight:700;letter-spacing:.16em}.card-copy h3{font-family:'Playfair Display',serif;font-size:26px;font-weight:400;margin:8px 0}.card-copy p{font-size:13px;color:var(--muted);min-height:43px}.card-copy a{font-size:12px;font-weight:700;color:var(--rose)}.experience-grid{gap:110px}.experience-grid>img{height:580px}.perks{margin-top:35px}.perks>div{display:flex;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.perks>div>span{font-size:26px;color:var(--rose)}.perks h3{font-size:14px;margin:0}.perks p{margin:2px 0}.quote-section{background:#80545c;color:white;text-align:center;padding:85px 0}.quote-section blockquote{font-size:clamp(32px,4vw,55px);max-width:820px;margin:15px auto 24px}.quote-section blockquote em{color:#f5c9c2}.quote-section span{font-size:10px;letter-spacing:.2em}.booking{background:#f7eae5}.booking-grid{align-items:start}.booking-note{color:var(--rose);font-family:'Playfair Display',serif;font-size:23px;margin-top:45px}.booking-form{background:white;padding:38px;display:flex;flex-direction:column;gap:9px;box-shadow:0 18px 50px #402d3010}.booking-form label{font-size:12px;font-weight:700;margin-top:9px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid var(--line);background:#fffcfa;padding:12px;color:var(--ink);border-radius:0}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid #b8878b}.booking-form .btn{margin-top:14px}.form-feedback{margin:4px 0 0!important;color:var(--rose-dark)!important}.contact-grid{align-items:start}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-details p{margin:6px 0}.contact-details small{grid-column:1/-1;color:var(--muted)}footer{background:#30272a;color:white;padding:45px 0 20px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-footer{color:white}.footer-top>p{color:#dbcacb;font-size:13px}.footer-top>a:last-child{font-size:12px}.footer-bottom{border-top:1px solid #ffffff25;margin-top:38px;padding-top:20px;color:#d3c2c4;font-size:11px}@media(max-width:960px){.site-nav{gap:13px}.site-nav>a:not(.btn){font-size:11px}.brand{font-size:19px}.intro-grid,.experience-grid,.booking-grid,.contact-grid{gap:45px}.service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.container{width:min(100% - 36px,540px)}.section{padding:75px 0}.header-inner{min-height:75px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink)}.site-nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--cream);padding:20px 25px 28px;box-shadow:0 12px 15px #00000015;flex-direction:column;align-items:stretch;gap:16px}.site-nav.open{display:flex}.site-nav>a:not(.btn){font-size:14px}.hero{min-height:590px}.hero-content{padding:85px 0}.hero h1{font-size:clamp(49px,12vw,74px)}.hero-side-note{display:none}.hero-actions{flex-wrap:wrap;gap:20px}.intro-grid,.experience-grid,.booking-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.intro-images{max-width:500px}.intro-main{height:380px}.intro-badge{width:155px;height:110px}.section-heading{display:block}.section-heading>p{margin-top:18px}.service-grid{grid-template-columns:1fr}.service-card img{height:260px}.experience-grid>img{height:390px}.booking-form{padding:25px}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.contact-details{grid-template-columns:1fr 1fr}}@media(max-width:420px){.brand{font-size:17px}.brand-mark{font-size:36px}.brand small{font-size:8px}.contact-details{grid-template-columns:1fr}.hero-actions .btn{width:100%}}
