@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
:root{--dark:#3f2e31;--pink:#f9e9e7;--blush:#efd3d0;--gold:#ad863e;--rose:#c58a8d;--line:#e9d6d1;--cream:#fffaf7;--muted:#796968;--shadow:0 10px 35px #3f2e3112}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffdfb;color:var(--dark);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.7}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{width:min(1170px,calc(100% - 42px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;z-index:999;background:#fff;padding:8px}.topbar{background:#3f2e31;color:#faebdc;font-size:12px;letter-spacing:.02em}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 0}.topbar a{color:#fbe5d3}.masthead{background:#fff;position:sticky;top:0;z-index:15;box-shadow:0 2px 14px #201a1810}.masthead .inner{display:flex;align-items:center;justify-content:space-between;gap:19px;min-height:100px}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}.brand img{height:81px;max-width:232px;object-fit:contain}.brand-name{font-family:'Playfair Display',serif;color:#6c4f48;line-height:1.05;font-size:17px;letter-spacing:.01em}.brand-name small{display:block;color:var(--gold);font:600 10px 'DM Sans';letter-spacing:.2em;margin-top:9px}.nav{display:flex;align-items:center;gap:19px}.nav a{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:#584345;white-space:nowrap}.nav a:hover,.nav a.selected{color:#ac7a47}.nav .active{border-bottom:2px solid var(--gold);padding-bottom:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border-radius:3px;border:1px solid var(--gold);background:var(--gold);color:white;font-weight:700;font-size:12px;letter-spacing:.075em;text-transform:uppercase;box-shadow:none}.btn:hover{filter:brightness(.95)}.btn.ghost{background:transparent;color:var(--dark);border-color:var(--dark)}.btn.light{background:#fff;color:var(--dark);border-color:#fff}.header-book{white-space:nowrap}.hamburger{display:none;border:0;background:none;font-size:29px;color:var(--dark)}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.23em;font-size:12px;font-weight:700;margin:0 0 14px}h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.18;margin:0}h1{font-size:clamp(39px,5.3vw,70px)}h2{font-size:clamp(30px,4vw,47px)}h3{font-size:23px}p{margin:0 0 16px}.hero{background:linear-gradient(110deg,#fdf6f2,#f5e4df);overflow:hidden}.hero .cols{display:grid;grid-template-columns:52% 48%;min-height:620px}.hero-copy{padding:76px 32px 70px 0;display:flex;flex-direction:column;justify-content:center}.hero h1{color:#453135}.hero h1 em{color:#b48277;font-style:normal}.hero-copy>p:not(.eyebrow){font-size:17px;color:#6f5a58;max-width:535px;margin:19px 0 27px}.actions{display:flex;gap:14px;flex-wrap:wrap}.hero-visual{position:relative}.hero-visual img{width:100%;height:100%;min-height:590px;object-fit:cover;object-position:center}.hero-tag{position:absolute;left:-45px;bottom:36px;background:#fff;box-shadow:var(--shadow);padding:19px 22px;max-width:280px;border-left:4px solid var(--gold)}.hero-tag strong{display:block;font-size:17px;font-family:'Playfair Display',serif}.hero-tag span{font-size:12px;color:var(--muted)}.ribbon{background:#fff;box-shadow:var(--shadow)}.ribbon .row{display:grid;grid-template-columns:repeat(4,1fr)}.ribbon-item{padding:27px 20px;border-right:1px solid #eaded8;text-align:center;font-size:13px;color:#7b6662}.ribbon-item strong{display:block;font:500 21px 'Playfair Display';color:#4f3439}.section{padding:85px 0}.section.pale{background:#fcf4f2}.section-head{text-align:center;margin-bottom:37px}.section-head p{max-width:680px;margin:14px auto 0;color:var(--muted)}.grid{display:grid;gap:24px}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid #f0e4e0;overflow:hidden;box-shadow:0 5px 26px #342a2b09}.card-media{height:230px;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.card:hover .card-media img{transform:scale(1.045)}.card-body{padding:25px}.card h3{font-size:24px;margin:0 0 12px}.card p{font-size:14px;color:#786b69;line-height:1.8}.readmore{color:#af8049;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.pill{display:inline-block;border:1px solid #d6b5ae;background:#f9edeb;padding:4px 10px;color:#8b6260;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px}.split img{width:100%;height:480px;object-fit:cover}.split p{color:#776764}.intro-list{display:grid;gap:10px;margin:20px 0}.intro-list div{padding:8px 0;border-bottom:1px solid #e9d8d3;font-size:14px}.intro-list span{color:var(--gold);margin-right:12px}.banner{background:#4b353a;color:white;padding:57px 0}.banner-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.banner p{color:#f4dcda;margin-top:10px}.page-head{background:linear-gradient(110deg,#f7e9e6,#fff8f5);padding:63px 0 60px;border-bottom:1px solid #ead5cd}.page-head h1{font-size:clamp(34px,5vw,52px)}.breadcrumbs{font-size:12px;color:#947d78;margin-bottom:14px}.breadcrumbs a{color:#956e64}.page-head .summary{max-width:730px;color:#6e5c59;margin-top:17px}.content{padding:62px 0 96px}.two-col{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:50px}.story p{color:#6f5b59;max-width:765px}.story h2{font-size:32px;margin:26px 0 17px}.feature-image{width:100%;max-height:485px;object-fit:cover;margin:22px 0 30px}.service-highlight{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 24px}.sidebox{background:#fff8f6;padding:26px;border:1px solid #ebd7d3;position:sticky;top:123px}.sidebox h3{font-size:21px;margin-bottom:12px}.sidebox a{display:block;color:#765b57;padding:9px 0;border-bottom:1px solid #eee1dc;font-size:13px}.price{color:#ac7b44;font-size:15px;font-weight:700}.notice{background:#fff9ed;border-left:3px solid #c6a260;padding:17px 20px;color:#776344;font-size:13px;margin:21px 0}.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;margin:30px 0}.mini-card{background:#fff;border:1px solid #edddd9;padding:24px}.mini-card h3{font-size:21px;margin-bottom:10px}.mini-card p{font-size:13px;color:#826d68}.services-index{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:26px 0}.services-index a{border:1px solid #e7d6d1;background:white;padding:12px 17px;color:#805c5b;font-size:13px;font-weight:700}.services-index a:hover{background:#fff5f3}.faq details{padding:17px 0;border-bottom:1px solid #eadbd6}.faq summary{font-weight:700;cursor:pointer}.faq details p{font-size:14px;color:#776764;padding-top:9px}.booking-form{background:#fffaf8;padding:29px;border:1px solid #ecdcd5;margin:26px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{display:block;font-weight:700;font-size:12px;letter-spacing:.03em;margin-bottom:6px}.field input,.field select,.field textarea{border:1px solid #deccc8;width:100%;padding:12px 13px;background:#fff;color:#4b3734;border-radius:1px}.field textarea{min-height:110px;resize:vertical}.full{grid-column:1/-1}.field{margin-bottom:4px}.form-info{font-size:12px;color:#917a71}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.photos img{width:100%;height:290px;object-fit:cover}.photos figure{margin:0}.photos figcaption{font-size:12px;color:#887672;margin-top:7px}.footer{background:#382b2e;color:#f4e6e0;padding:66px 0 25px}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:35px}.footer h3{font-size:20px;margin-bottom:17px}.footer a{display:block;font-size:13px;color:#f1ddd7;padding:5px 0}.footer p{font-size:13px;color:#d1bdb9}.foot-bottom{border-top:1px solid #6c5354;margin-top:44px;padding-top:19px;color:#cbb7b2;font-size:11px;display:flex;justify-content:space-between;gap:25px}.tagline{background:#fff8f5;border-left:3px solid var(--gold);padding:24px;font-family:'Playfair Display',serif;font-size:21px;margin:25px 0}.tag{font-size:11px;color:#8c7c75;text-transform:uppercase;letter-spacing:.1em} .visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1030px){.nav{gap:12px}.nav a{font-size:10px}.header-book{display:none}.brand img{max-width:190px}.hero .cols{min-height:530px}.hero-visual img{min-height:530px}.split{gap:35px}}
@media(max-width:780px){.wrap{width:min(100% - 32px,640px)}.topbar .wrap{display:block;text-align:center}.topbar span:last-child{display:none}.masthead .inner{min-height:79px}.brand img{height:66px;max-width:170px}.brand-name{font-size:14px}.brand-name small{font-size:8px}.hamburger{display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:19px 24px 25px;box-shadow:var(--shadow);flex-direction:column;gap:0;align-items:stretch}.nav.open{display:flex}.nav a{font-size:14px;padding:10px 5px;border-bottom:1px solid #f0e5e0}.hero .cols{display:flex;flex-direction:column}.hero-copy{padding:53px 0 36px}.hero-visual img{min-height:0;height:330px}.hero-tag{left:15px;bottom:14px}.ribbon .row{grid-template-columns:1fr 1fr}.ribbon-item{padding:18px 7px}.section{padding:60px 0}.grid.three,.grid.four,.split,.two-col,.footer-grid{grid-template-columns:1fr 1fr}.split img{height:350px}.banner-inner{display:block}.banner .btn{margin-top:18px}.footer-grid{gap:24px}.sidebox{position:static}.photos{grid-template-columns:1fr 1fr}}
@media(max-width:540px){h1{font-size:40px}.grid.three,.grid.four,.split,.two-col,.footer-grid,.fields,.mini-grid,.services-index,.photos{grid-template-columns:1fr}.brand-name{display:none}.section-head{text-align:left}.hero-tag{max-width:210px;padding:11px 14px}.hero-tag strong{font-size:14px}.page-head{padding:43px 0}.content{padding:41px 0 65px}.photos img{height:260px}.foot-bottom{display:block}.ribbon-item strong{font-size:17px}.card-media{height:245px}}
