:root{--cream:#f6efdf;--paper:#fcf8f0;--chocolate:#352015;--brown:#805a40;--light:#b68d6c;--line:#d9cbbb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--chocolate);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{width:100%;height:100%;object-fit:cover;display:block}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b77d42;outline-offset:5px}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:0}.announcement{text-align:center;background:var(--chocolate);color:var(--cream);padding:9px 15px;font-size:12px;letter-spacing:2px}.announcement span{margin:0 24px;color:#c4a786}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}.brand{font-family:'Playfair Display',serif;font-size:37px;line-height:1.05;white-space:nowrap}.brand>span{font-style:italic;font-size:28px;margin-left:6px}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:2px;margin-top:9px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav>a:not(.button):hover{color:var(--brown)}.button{background:var(--chocolate);color:var(--cream);display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 23px;font-size:14px;font-weight:500;border:1px solid var(--chocolate);cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:var(--brown);transform:translateY(-2px)}.button span{font-size:20px}.button.small{padding:11px 20px}.menu{display:none}.hero{padding:55px 6% 65px;display:grid;grid-template-columns:1.12fr 1fr;gap:5%;align-items:center;min-height:690px;background:var(--cream);overflow:hidden}.eyebrow{font-size:12px;letter-spacing:2.4px;font-weight:600;margin:0 0 20px;color:var(--brown)}h1,h2{font-family:'Playfair Display',serif;font-weight:400;line-height:1.12;letter-spacing:-1.5px;margin:0}h1{font-size:clamp(42px,4.65vw,76px)}em{font-weight:400;color:var(--brown)}.intro{max-width:430px;margin:26px 0 29px;color:#6b5547;line-height:1.8}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.text-link{font-size:14px;border-bottom:1px solid var(--brown);padding:8px 0;display:flex;gap:20px}.hero-note{font-size:12px;display:flex;align-items:center;gap:10px;margin:26px 0 0;color:#786352}.hero-note>span{font-size:22px}.hero-note i{height:3px;width:3px;background:var(--brown);border-radius:50%}.hero-visual{height:550px;position:relative;padding:0 25px 0 45px}.photo-frame{height:100%;border-radius:190px 190px 0 0;overflow:hidden;box-shadow:14px 14px 0 #e6d9c3}.photo-frame img{object-position:50% 38%}.detail-photo{position:absolute;width:165px;height:210px;bottom:-18px;left:-28px;border:7px solid var(--cream);transform:rotate(-7deg)}.detail-photo img{object-position:center 60%}.seal{position:absolute;right:-8px;top:8px;background:var(--chocolate);border:1px solid #b1936c;outline:5px solid var(--chocolate);color:var(--cream);width:112px;height:112px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:8px;letter-spacing:1.6px;line-height:1.7;transform:rotate(12deg)}.seal em{font:italic 26px 'Playfair Display',serif;color:var(--cream);letter-spacing:0}.vertical-text{position:absolute;right:-14px;bottom:35px;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px}.ribbon{padding:21px 6%;display:flex;justify-content:space-between;gap:22px;background:#e8d9c2;font-size:12px;letter-spacing:3px;overflow:hidden;white-space:nowrap}.ribbon b{font-weight:400;color:var(--brown)}.section{padding:92px 6%;scroll-margin-top:15px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:36px}h2{font-size:clamp(33px,3.2vw,49px)}.section-heading>p{font-size:14px;color:#7c6757;line-height:1.8;margin:0 0 4px}.tabs{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.tabs button{border:1px solid var(--line);border-radius:30px;padding:9px 21px;background:transparent;font-size:14px}.tabs button.active,.tabs button:hover{background:var(--chocolate);color:var(--cream);border-color:var(--chocolate)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:19px}.gallery-card{padding:0;border:0;text-align:left;background:none;position:relative;overflow:hidden;aspect-ratio:3/4.1}.gallery-card img{transition:transform .5s}.gallery-card:hover img{transform:scale(1.05)}.gallery-card .caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(23,13,8,.8));padding:55px 17px 17px;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;font-size:14px}.caption>span:last-child{font-size:23px}.more{display:flex;gap:38px;margin:32px auto 0;background:none;border:1px solid var(--brown);padding:12px 24px;font-size:14px}.more:hover{background:var(--cream)}.more[hidden]{display:none}.instagram-line{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:37px;font-size:14px}.instagram-line p{color:#7c6757}.instagram-line a{border-bottom:1px solid var(--brown)}.services{background:var(--cream)}.service-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:stretch}.service-image{min-height:610px;position:relative;overflow:hidden}.service-image img{position:absolute;object-position:50% 35%}.service-image>span{position:absolute;bottom:0;left:0;right:0;padding:90px 32px 32px;background:linear-gradient(transparent,rgba(30,17,10,.85));font:32px/1.2 'Playfair Display',serif;color:white}.service-image em{color:#efdcc2}.service-row{padding:20px 0;border-bottom:1px solid #d5c4ae;display:grid;grid-template-columns:1fr auto 32px;align-items:center;gap:22px}.service-row:first-child{padding-top:0}.service-row h3{font-family:'Playfair Display',serif;font-size:23px;font-weight:400;margin:0}.service-row p{font-size:13px;color:#806751;margin:4px 0 0}.service-row strong{font-size:20px;font-weight:500;white-space:nowrap}.service-row a{border-radius:50%;border:1px solid #ccb99f;width:32px;height:32px;text-align:center;line-height:30px}.service-row a:hover{background:var(--chocolate);color:var(--cream)}.materials-note{text-align:center;font-size:14px;color:var(--brown);margin:30px 0 0}.home-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:center}.home-art{aspect-ratio:1;border-radius:50%;overflow:hidden}.home-section>div>p:not(.eyebrow){color:#7a6454;margin:24px 0;line-height:1.9;max-width:560px}.home-features>div{display:flex;gap:20px;margin:20px 0}.home-features>div>span{font:italic 25px 'Playfair Display',serif;color:var(--light);padding-top:2px}.home-features p{margin:0;font-size:14px;color:#796352}.home-features strong{display:block;font-size:16px;font-weight:500;color:var(--chocolate);margin-bottom:3px}.booking{background:var(--chocolate);color:var(--cream);text-align:center;padding-top:78px;padding-bottom:78px}.booking .eyebrow{color:#c8a580}.booking h2 em{color:#c7a17d}.booking>p:not(.eyebrow){color:#d6c4b4;margin:25px 0 30px;font-size:15px}.button.light{background:var(--cream);color:var(--chocolate)}.button.light:hover{background:#dfc8a8}.booking-insta{display:block;width:fit-content;margin:21px auto 0;font-size:13px;color:#d6c4b4;border-bottom:1px solid #8a6e55}footer{padding:50px 6% 25px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;align-items:center}footer>p{font-size:13px}footer>p>span{color:#8c7460}footer>div{display:flex;flex-direction:column;gap:8px;font-size:13px}.copyright{grid-column:1/-1;text-align:center;border-top:1px solid var(--line);padding-top:24px;font-size:11px;color:#8c7460}.floating{position:fixed;right:23px;bottom:23px;z-index:15;background:var(--chocolate);border:1px solid #cfb99a;box-shadow:0 3px 20px #35201533;color:white;width:55px;height:55px;display:grid;place-items:center;border-radius:50%}.floating svg{width:28px;height:28px}.floating:hover{background:var(--brown)}dialog{border:none;padding:25px 70px;background:#21140df5;color:white;max-width:95vw;max-height:95vh;overflow:visible}dialog::backdrop{background:#160d08df;backdrop-filter:blur(7px)}dialog figure{margin:0}dialog img{max-width:70vw;max-height:78vh;object-fit:contain}dialog figcaption{text-align:center;font-size:14px;padding-top:12px}dialog button{position:absolute;background:transparent;border:0;color:white;font-size:35px}.close-modal{top:0;right:15px}.prev{left:12px;top:45%}.next{right:12px;top:45%}body.modal-open{overflow:hidden}@media(min-width:1600px){.hero,.section,header,footer{padding-left:max(6%,calc((100vw - 1400px)/2));padding-right:max(6%,calc((100vw - 1400px)/2))}}@media(max-width:1050px){nav{gap:18px;font-size:13px}.hero{gap:20px;padding-top:45px;min-height:610px}.hero-visual{height:480px;padding-left:25px}.detail-photo{width:125px;height:165px;left:-15px}.actions{gap:14px}.hero-note{flex-wrap:wrap}.service-layout{gap:35px}.service-row{gap:12px}.service-row h3{font-size:20px}.service-image{min-height:570px}.gallery{gap:13px}.section-heading{align-items:start}.section-heading>p{max-width:230px}.home-section{gap:5%}}@media(max-width:760px){.announcement{font-size:9px;letter-spacing:1px;padding:8px}.announcement span{margin:0 9px}header{height:84px;padding:0 6%}.brand{font-size:31px}.brand>span{font-size:24px}.brand small{font-size:8px;letter-spacing:1.4px}.menu{display:block;border:1px solid var(--line);background:transparent;font-size:21px;padding:3px 11px}nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);align-items:stretch;gap:20px}nav.open{display:flex;flex-direction:column}.hero{display:flex;flex-direction:column;gap:35px;padding:38px 6% 45px;align-items:stretch}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:17px}h1{font-size:clamp(40px,9.6vw,66px);line-height:1.12;letter-spacing:-1.3px}.intro{font-size:15px;margin:21px 0;max-width:100%}.actions{gap:17px}.button{font-size:13px;padding:14px 18px;gap:18px}.text-link{font-size:13px;gap:13px}.hero-note{font-size:10px;margin-top:17px;gap:7px}.hero-visual{height:490px;width:88%;max-width:450px;align-self:center;margin-right:-13px;padding:0 12px 0 25px}.detail-photo{height:180px;width:140px;left:-30px}.seal{width:96px;height:96px;right:-7px;font-size:7px}.seal em{font-size:24px}.vertical-text{right:-14px;font-size:8px}.ribbon{justify-content:flex-start;font-size:10px;gap:25px;padding:17px 6%}.section{padding:58px 6%}.section-heading{display:block;margin-bottom:25px}h2{font-size:35px;letter-spacing:-1px}.section-heading>p{margin-top:17px;max-width:100%;font-size:14px}.section-heading>p br{display:none}.tabs{gap:8px;margin:22px 0}.tabs button{font-size:12px;padding:8px 12px}.gallery{grid-template-columns:repeat(2,1fr);gap:12px}.gallery-card .caption{font-size:12px;padding:40px 10px 10px}.caption>span:last-child{font-size:20px}.instagram-line{flex-direction:column;gap:0;text-align:center;margin-top:25px;font-size:13px}.service-layout{display:flex;flex-direction:column;gap:28px}.service-image{min-height:360px;max-height:400px}.service-image img{object-position:50% 25%}.service-image>span{font-size:29px;padding:60px 23px 23px}.service-row{padding:18px 0;gap:12px;grid-template-columns:1fr auto 30px}.service-row h3{font-size:21px}.service-row p{font-size:12px}.service-row strong{font-size:18px}.materials-note{font-size:12px}.home-section{display:flex;flex-direction:column;gap:35px}.home-art{width:80%;max-width:340px}.home-section>div>p:not(.eyebrow){font-size:15px}.home-features p{font-size:13px}.booking{padding-top:60px;padding-bottom:60px}.booking h2{font-size:34px}.booking>p:not(.eyebrow){font-size:14px}.desktop{display:none}footer{grid-template-columns:1fr;gap:22px;text-align:center;padding:40px 6% 22px}footer>p{margin:0}footer>div{align-items:center}.copyright{padding-bottom:40px}.floating{right:16px;bottom:16px}dialog{padding:35px 35px 20px;width:95vw}dialog img{max-width:100%;max-height:75vh}.prev{left:1px}.next{right:1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
