:root{--ink:#24172a;--violet:#351539;--violet2:#4a2052;--violet3:#6e3f78;--lavender:#b98bc2;--cream:#f7f2ea;--paper:#fffdf9;--taupe:#9a8c85;--gold:#b49468;--line:#e8ded5;--shadow:0 24px 70px rgba(48,24,48,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}.site-header{height:84px;padding:0 clamp(24px,5vw,78px);display:flex;align-items:center;gap:36px;background:rgba(42,16,47,.97);color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:13px;min-width:max-content}.brand-flower{width:38px;height:38px;border:1px solid rgba(255,255,255,.58);transform:rotate(45deg);display:grid;place-items:center;font-size:0}.brand-flower:after{content:"";width:12px;height:12px;border:1px solid #fff;border-radius:50%;display:block}.brand strong{display:block;font:600 21px/1 Cormorant Garamond,serif;letter-spacing:2px}.brand small{display:block;font-size:7px;letter-spacing:3px;margin-top:7px}.main-nav{display:flex;justify-content:center;gap:clamp(14px,2vw,30px);margin-left:auto}.main-nav a{font-size:11px;color:#efe7ee;transition:.25s}.main-nav a:hover{color:#fff}.header-actions{display:flex;align-items:center;gap:18px;margin-left:auto}.languages{display:flex;align-items:center;gap:4px;color:#d9cbd9;font-size:10px}.lang{border:0;background:none;color:inherit;padding:3px;cursor:pointer}.lang.active{color:#fff;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;padding:14px 24px;letter-spacing:.2px;font-size:12px;font-weight:700;transition:.25s}.button:hover{transform:translateY(-1px)}.button-light{background:#f7efe7;color:#342038}.button-violet{background:var(--violet);color:#fff}.hero{height:min(720px,76vh);min-height:610px;position:relative;overflow:hidden;background:#2d172f}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.78) contrast(.94)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,13,40,.91) 0%,rgba(46,18,48,.75) 35%,rgba(32,16,31,.28) 65%,rgba(20,10,22,.32) 100%)}.hero-content{position:absolute;left:clamp(32px,8vw,130px);top:50%;transform:translateY(-50%);color:#fff;max-width:650px}.kicker,.section-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:4px}.hero h1{font:500 clamp(72px,9vw,132px)/.72 Cormorant Garamond,serif;text-transform:uppercase;letter-spacing:3px;margin:23px 0 20px}.hero-tagline{font:italic 500 clamp(22px,2.2vw,34px) Cormorant Garamond,serif;margin:0;color:#f6eaf5}.fine-line{display:block;width:52px;height:1px;background:#d6bbc5;margin:20px 0}.hero-copy{font:italic 500 19px Cormorant Garamond,serif;max-width:430px;margin:0 0 26px;color:#e8dce5}.hero-words{position:absolute;right:5vw;bottom:12%;display:flex;flex-direction:column;align-items:flex-end;color:#fff;gap:8px;font-size:11px;letter-spacing:6px}.booking-shell{width:min(1120px,90%);margin:-37px auto 0;position:relative;z-index:8;background:#fff;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr .9fr 1.25fr;align-items:stretch}.booking-field{display:grid;grid-template-columns:27px 1fr;grid-template-rows:auto auto;column-gap:12px;padding:19px 22px;border-right:1px solid var(--line)}.field-icon{grid-row:1/3;font-size:20px;color:var(--violet3);align-self:center}.booking-field label{font-size:11px;font-weight:700}.booking-field input,.booking-field select{width:100%;border:0;border-bottom:1px solid #d7cbc4;background:transparent;padding:7px 0 5px;color:#6f626b;outline:none;font-size:11px}.search-button{margin:13px}.signature-strip{padding:42px max(5vw,30px) 46px;display:grid;grid-template-columns:repeat(4,1fr);background:#fbf8f3;border-bottom:1px solid #efe7e0}.signature-strip article{display:flex;align-items:center;justify-content:center;gap:18px;padding:0 24px;border-right:1px solid var(--line)}.signature-strip article:last-child{border-right:0}.signature-icon{font:36px Cormorant Garamond,serif;color:var(--violet)}.signature-strip h3{font:600 18px Cormorant Garamond,serif;margin:0}.signature-strip p{font-size:10px;color:#81747c;margin:2px 0 0}.story-section{display:grid;grid-template-columns:1.15fr 3.2fr 1.2fr;min-height:410px;background:var(--cream)}.story-photo{position:relative;min-height:410px;overflow:hidden}.story-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.story-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(35,15,37,.54),transparent 60%)}.story-photo span{position:absolute;left:28px;bottom:38px;z-index:2;color:white;font:italic 500 25px Cormorant Garamond,serif;transform:rotate(-8deg)}.story-copy{padding:60px clamp(38px,6vw,90px)}.story-copy h2,.section-heading h2,.services-intro h2,.location-copy h2{font:600 clamp(37px,4vw,58px)/1 Cormorant Garamond,serif;margin:10px 0 24px}.story-copy p{font:500 16px/1.75 Cormorant Garamond,serif;color:#5c4f58;margin:0 0 16px}.story-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-left:1px solid #d8cec7;padding:30px}.seal-mark{font:58px Cormorant Garamond,serif;color:var(--violet3)}.story-seal b{font:600 14px Cormorant Garamond,serif;letter-spacing:2px}.story-seal small{font-size:8px;letter-spacing:2px}.story-seal i{font-style:normal;font-size:8px;letter-spacing:3px;margin-top:35px;line-height:2.2}.section{padding:86px clamp(28px,6vw,96px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:43px}.section-heading.centered{display:block;text-align:center}.section-heading.narrow{max-width:760px;margin-left:auto;margin-right:auto}.section-heading p{max-width:580px;color:#766a72;font-size:13px;margin:0 auto}.rooms-section{background:#fffdf9}.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.room-card{background:#fff;border:1px solid #eee5dd;transition:.35s}.room-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(50,25,48,.10)}.room-photo{height:280px;position:relative;overflow:hidden}.room-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:.5s}.room-card:hover .room-photo img{transform:scale(1.025)}.room-number{position:absolute;top:18px;right:18px;background:rgba(46,17,48,.84);color:#fff;padding:7px 10px;font-size:9px;letter-spacing:2px}.room-content{padding:24px 25px 27px}.room-style{font-size:8px;letter-spacing:3px;color:var(--violet3);font-weight:700}.room-card h3{font:600 30px Cormorant Garamond,serif;margin:6px 0}.room-card p{font-size:11px;color:#7f737b;min-height:55px}.room-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;padding:13px 0;border-top:1px solid #eee7e1;border-bottom:1px solid #eee7e1}.room-meta span:first-child{font-weight:700}.text-button{border:0;background:none;padding:18px 0 0;color:var(--violet2);font-size:11px;font-weight:700;cursor:pointer}.unique-section{padding:72px clamp(28px,6vw,96px);background:#f7f1eb;border-top:1px solid #eee4dc;border-bottom:1px solid #eee4dc}.unique-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1200px;margin:auto}.unique-grid article{text-align:center;padding:15px 36px;border-right:1px solid #ded2ca}.unique-grid article:last-child{border-right:0}.unique-grid article>span{font:40px Cormorant Garamond,serif;color:var(--violet2)}.unique-grid h3{font:600 21px Cormorant Garamond,serif;margin:8px 0}.unique-grid p{font-size:11px;color:#766a72;margin:0}.services-section{display:grid;grid-template-columns:.8fr 2fr;gap:55px;background:#fff}.services-intro{align-self:start;position:sticky;top:125px}.services-intro p{color:#756871;font-size:13px}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.services-grid article{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:170px}.services-grid article>span{font:31px Cormorant Garamond,serif;color:var(--violet3)}.services-grid h3{font:600 22px Cormorant Garamond,serif;margin:12px 0 5px}.services-grid p{font-size:10px;color:#82757c;margin:0}.services-grid .featured-service{background:var(--violet);color:#fff}.services-grid .featured-service span,.services-grid .featured-service p{color:#eadbe9}.quote-band{padding:56px clamp(30px,8vw,120px);background:linear-gradient(105deg,rgba(42,14,45,.95),rgba(74,29,76,.93)),url('/assets/violet-house-2.jpg') center/cover;display:flex;align-items:center;justify-content:space-between;color:#fff;gap:30px}.quote-band blockquote{font:italic 500 clamp(27px,3.5vw,46px)/1.1 Cormorant Garamond,serif;margin:10px 0;max-width:760px}.gallery-section{background:#f9f5ef}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:250px 250px;gap:12px}.gallery-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.78)}.gallery-grid img:first-child{grid-row:1/3}.gallery-grid img:nth-child(4){grid-column:2/4}.location-section{display:grid;grid-template-columns:1.1fr .9fr;background:var(--violet);color:#fff;min-height:540px}.location-copy{padding:90px clamp(35px,8vw,120px)}.location-copy p{max-width:650px;color:#dfd2df;font-size:13px}.contact-links{display:flex;flex-direction:column;gap:5px;margin:28px 0}.contact-links a{font-size:12px;color:#fff}.location-art{position:relative;overflow:hidden}.location-art img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) saturate(.7)}.location-art:after{content:"";position:absolute;inset:0;background:rgba(55,21,58,.25)}.location-art span{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.86);font:500 170px Cormorant Garamond,serif}.footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px;padding:36px clamp(28px,6vw,96px);background:#211023;color:#e8dfe7}.footer-brand{display:flex;flex-direction:column}.footer-brand>span{font-size:25px}.footer-brand strong{font:600 20px Cormorant Garamond,serif;letter-spacing:2px}.footer-brand small{font-size:7px;letter-spacing:2px}.footer-quote{text-align:center;font:italic 500 20px Cormorant Garamond,serif}.footer-links{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;font-size:9px}.whatsapp{position:fixed;right:22px;bottom:20px;z-index:40;border-radius:100px;background:#1fbd68;color:#fff;padding:12px 18px;font-size:10px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.18)}.chat{position:fixed;right:22px;bottom:72px;z-index:40;border:0;background:#fff;color:var(--violet);border-radius:100px;padding:11px 16px;box-shadow:0 12px 35px rgba(35,15,35,.18);font-size:10px;cursor:pointer}.chatbox{display:none;position:fixed;right:22px;bottom:122px;width:310px;background:#fff;padding:20px;z-index:60;box-shadow:var(--shadow);border:1px solid #eee5ed}.chatbox.show{display:block}.chatbox p{font-size:11px;color:#70636e}.chat-input{display:flex;border:1px solid #e0d5de}.chat-input input{flex:1;min-width:0;border:0;padding:11px;outline:none}.chat-input button{width:42px;border:0;background:var(--violet);color:#fff}.modal{position:fixed;inset:0;background:rgba(25,9,28,.78);display:none;align-items:center;justify-content:center;padding:20px;z-index:100}.modal.show{display:flex}.modal-card{position:relative;background:#fff;max-width:760px;width:100%;max-height:92vh;overflow:auto;padding:38px;box-shadow:0 30px 80px rgba(0,0,0,.32)}.modal-card h2{font:600 40px Cormorant Garamond,serif;margin:4px 0 17px}.modal-close{position:absolute;right:18px;top:10px;border:0;background:none;font:34px Cormorant Garamond,serif;cursor:pointer;color:var(--violet)}.calendar-status{font-size:12px;padding:11px 13px;background:#f6f1f6;color:#5d505d;margin:0 0 14px}.booking-summary{font-weight:700;margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-card label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;margin-bottom:13px}.modal-card input,.modal-card select,.modal-card textarea{border:1px solid #ddd1d9;padding:11px 12px;background:#fff}.booking-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee3ea;padding:16px 0;margin-top:4px}.booking-total strong{font:600 28px Cormorant Garamond,serif}.small-note{font-size:10px;color:#766a73;line-height:1.5}.booking-message{font-size:12px}.booking-message.success{color:#37623a;font-weight:700}.full{width:100%}.availability-results{display:grid;gap:8px;margin-bottom:14px}.availability-option{width:100%;border:1px solid #e4dbe2;background:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.availability-option span{display:flex;flex-direction:column}.availability-option small{font-size:10px;color:#777}.availability-option strong{font-size:11px}.availability-option.available{border-color:#bdd4b8;background:#f7fbf6}.availability-option.available strong{color:#436b41}.availability-option.selected{box-shadow:inset 0 0 0 2px var(--violet3)}.availability-option.unavailable{background:#faf5f5;color:#876f77}.availability-option.error{background:#fbf8f0;color:#7f6a44}.availability-loading{padding:14px;border:1px dashed #d9ced7;font-size:11px;color:#685c67}#bookingSubmit:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:1080px){.main-nav{display:none}.site-header{gap:18px}.header-actions{margin-left:auto}.story-section{grid-template-columns:1fr 2.4fr}.story-seal{display:none}.rooms-grid{gap:14px}.unique-grid article{padding:15px 20px}.services-section{grid-template-columns:1fr}.services-intro{position:static}.booking-shell{grid-template-columns:1fr 1fr}.search-button{min-height:62px}.signature-strip{grid-template-columns:1fr 1fr;gap:25px}.signature-strip article:nth-child(2){border-right:0}}
@media(max-width:760px){.site-header{height:70px;padding:0 18px}.brand strong{font-size:18px}.brand-flower{display:none}.header-book{display:none}.languages span{display:none}.hero{min-height:610px;height:78vh}.hero-content{left:25px;right:25px;top:48%}.hero h1{font-size:74px}.hero-words{display:none}.booking-shell{width:92%;grid-template-columns:1fr;margin-top:-25px}.booking-field{border-right:0;border-bottom:1px solid var(--line)}.signature-strip{grid-template-columns:1fr;padding:35px 28px}.signature-strip article{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px}.story-section{grid-template-columns:1fr}.story-photo{min-height:330px}.story-copy{padding:45px 28px}.section{padding:62px 24px}.section-heading{display:block}.section-heading>p{margin:14px 0}.rooms-grid,.unique-grid,.services-grid{grid-template-columns:1fr}.room-photo{height:260px}.unique-grid article{border-right:0;border-bottom:1px solid #ded2ca;padding:25px 10px}.services-grid{border-left:0}.services-grid article{border-left:1px solid var(--line)}.quote-band{display:block;padding:50px 28px}.quote-band .button{margin-top:20px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 180px 180px}.gallery-grid img:first-child{grid-row:auto;grid-column:1/3}.gallery-grid img:nth-child(4){grid-column:1/3}.location-section{grid-template-columns:1fr}.location-copy{padding:60px 28px}.location-art{height:330px}.footer{grid-template-columns:1fr;text-align:center}.footer-links{justify-content:center}.form-row{grid-template-columns:1fr}.modal-card{padding:31px 19px}.chat{max-width:48px;overflow:hidden;white-space:nowrap}.chat span{display:none}}
