:root{--forest:#26382f;--deep:#18251f;--paper:#f0ece3;--sand:#d6cbb8;--gold:#b7a16d;--ink:#20231f;--muted:#6d7169;--line:rgba(32,35,31,.18);--serif:"Newsreader",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}img{display:block;max-width:100%}.section{padding:130px max(24px,calc((100vw - 1320px)/2))}.section-index{font-size:.63rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.concept-strip{height:31px;padding:0 max(20px,calc((100vw - 1450px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:#fff;font-size:.63rem;letter-spacing:.06em}.concept-strip a,.text-link,.header-book,.final-cta button,footer>a:last-child{display:inline-flex;align-items:center;gap:13px}.arrow-ne,.arrow-se,.arrow-east{position:relative;width:16px;height:16px;display:inline-block;flex:0 0 auto}.arrow-ne:before,.arrow-se:before,.arrow-east:before{content:"";position:absolute;left:2px;top:7px;width:12px;height:1px;background:currentColor}.arrow-ne:before{transform:rotate(-45deg)}.arrow-se:before{transform:rotate(45deg)}.arrow-ne:after,.arrow-se:after,.arrow-east:after{content:"";position:absolute;width:6px;height:6px;border-top:1px solid;border-right:1px solid}.arrow-ne:after{right:1px;top:1px}.arrow-se:after{right:1px;bottom:1px;transform:rotate(90deg)}.arrow-east:after{right:1px;top:4px;transform:rotate(45deg)}
.site-header{position:absolute;z-index:30;top:31px;left:0;right:0;height:88px;padding:0 max(24px,calc((100vw - 1450px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.23)}.brand{display:flex;align-items:center;gap:12px;justify-self:start}.brand img{width:44px;height:44px}.brand span,.footer-brand span{display:flex;flex-direction:column}.brand b{font-size:.8rem;letter-spacing:.2em}.brand small{margin-top:3px;font-size:.5rem;letter-spacing:.18em;opacity:.68}.desktop-nav{display:flex;gap:35px;font-size:.69rem;letter-spacing:.08em}.desktop-nav a{padding:10px 0;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:#fff;transition:right .3s}.desktop-nav a:hover:after{right:0}.header-book{justify-self:end;border:1px solid rgba(255,255,255,.55);border-radius:100px;padding:12px 16px;background:rgba(0,0,0,.12);color:#fff;font-size:.7rem}.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;height:calc(100svh - 31px);min-height:690px;overflow:hidden;color:#fff}.hero picture,.hero picture img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero picture img{object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(11,18,15,.7),rgba(11,18,15,.1) 60%),linear-gradient(0deg,rgba(11,18,15,.38),transparent 45%)}.hero-copy{position:absolute;z-index:2;left:max(24px,calc((100vw - 1320px)/2));top:51%;max-width:650px;transform:translateY(-42%)}.eyebrow{margin-bottom:27px;font-size:.64rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase}.hero h1{font:400 clamp(5.8rem,10vw,10.5rem)/.73 var(--serif);letter-spacing:-.065em}.hero h1 em,.intro h2 em,.rooms h2 em,.table-card h2 em,.slow-list h2 em,.final-cta h2 em{color:var(--gold);font-weight:400}.hero-copy>p:nth-of-type(2){max-width:475px;margin-top:35px;color:rgba(255,255,255,.78);font-size:.9rem;line-height:1.75}.text-link{margin-top:28px;border:0;border-bottom:1px solid rgba(255,255,255,.45);padding:0 0 8px;background:transparent;color:#fff;font-size:.72rem}.hero-aside{position:absolute;z-index:2;right:max(24px,calc((100vw - 1320px)/2));bottom:62px;text-align:right}.hero-aside span{font-size:.54rem;letter-spacing:.15em}.hero-aside p{margin-top:8px;font:400 1.08rem/1.25 var(--serif)}.scroll-note{position:absolute;z-index:2;left:50%;bottom:22px;display:flex;align-items:center;gap:12px;transform:translateX(-50%);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase}.scroll-note i{width:36px;height:1px;background:#fff}
.booking-bar{position:relative;z-index:5;max-width:1180px;min-height:104px;margin:-26px auto 0;padding:0 18px 0 30px;display:grid;grid-template-columns:1fr 1fr .8fr 1.25fr;align-items:center;background:var(--paper);box-shadow:0 25px 65px rgba(25,28,24,.15)}.booking-bar label{height:52px;padding:0 28px 0 0;margin-right:28px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line)}.booking-bar span,.booking-drawer label>span,.booking-drawer legend{margin-bottom:7px;color:var(--muted);font-size:.56rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.booking-bar input,.booking-bar select{min-width:0;border:0;background:transparent;outline:0;font:400 1.06rem var(--serif)}.booking-bar button{height:62px;border:0;background:var(--forest);color:#fff;font-size:.72rem}.booking-bar button,.outline-button,.submit-booking{display:flex;align-items:center;justify-content:space-between;padding:0 22px}
.intro{min-height:600px;display:grid;grid-template-columns:180px 1fr 220px;gap:50px;align-items:start}.intro-copy h2,.rooms h2,.slow-list h2{font:400 clamp(4.5rem,7vw,7.5rem)/.88 var(--serif);letter-spacing:-.055em}.intro-copy>p{max-width:620px;margin-top:38px;color:var(--muted);font-size:1rem;line-height:1.85}.seal{justify-self:end;width:170px;height:170px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;position:relative}.seal img{width:72px;height:72px}.seal span{position:absolute;bottom:-28px;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}
.room-feature{min-height:820px;display:grid;grid-template-columns:1.32fr .68fr;background:var(--forest);color:#fff}.room-image{position:relative;min-height:820px;overflow:hidden}.room-image img{width:100%;height:100%;object-fit:cover}.room-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 35%)}.room-image>span{position:absolute;z-index:2;left:35px;bottom:28px;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase}.room-copy{padding:105px max(40px,calc((100vw - 1440px)/2)) 80px 75px;display:flex;flex-direction:column}.room-copy h2{margin-top:90px;font:400 clamp(4rem,6vw,6.8rem)/.9 var(--serif)}.room-copy>p:nth-of-type(2){max-width:430px;margin-top:28px;color:rgba(255,255,255,.66);font-size:.86rem;line-height:1.8}.room-copy ul{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;list-style:none;border-top:1px solid rgba(255,255,255,.2)}.room-copy li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:.7rem}.room-price{margin-top:auto;display:flex;align-items:end;justify-content:space-between}.room-price span{font-size:.58rem;letter-spacing:.13em;text-transform:uppercase}.room-price strong{font:400 2rem var(--serif)}.outline-button{height:54px;margin-top:22px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:.7rem}
.rooms{background:#e7e0d3}.rooms-head{display:flex;align-items:end;justify-content:space-between;gap:60px}.rooms-head>p{max-width:380px;color:var(--muted);line-height:1.75}.rooms-head h2{margin-top:24px}.room-cards{margin-top:80px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.card-media{position:relative;aspect-ratio:4/4.5;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.card-media.alternate img{object-position:62% center}.card-media span{position:absolute;left:18px;top:18px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(240,236,227,.85);font-size:.58rem}.room-cards article:hover img{transform:scale(1.025)}.room-cards article>div:last-child{position:relative;padding:20px 2px;border-bottom:1px solid var(--line)}.room-cards h3{font:400 2.3rem var(--serif)}.room-cards p{margin-top:4px;color:var(--muted);font-size:.68rem}.room-cards strong{position:absolute;right:58px;top:23px;font:400 1.1rem var(--serif)}.room-cards button{position:absolute;right:0;top:17px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent}
.table-section{position:relative;min-height:850px;padding:80px;display:flex;align-items:center;justify-content:flex-end;overflow:hidden}.table-section>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.table-card{position:relative;z-index:2;width:min(530px,45vw);padding:70px;background:rgba(240,236,227,.95);backdrop-filter:blur(12px)}.table-card h2{margin-top:45px;font:400 clamp(4rem,6vw,6.5rem)/.84 var(--serif);letter-spacing:-.05em}.table-card>p:nth-of-type(2){margin-top:35px;color:var(--muted);font-size:.86rem;line-height:1.8}.table-card>span{display:block;margin-top:45px;padding-top:17px;border-top:1px solid var(--line);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}
.slow-list{background:var(--paper)}.slow-list h2{max-width:1000px;margin-top:40px}.experiences{margin-top:90px;border-top:1px solid var(--line)}.experiences article{padding:30px 0;display:grid;grid-template-columns:120px 1fr 1fr;gap:40px;align-items:center;border-bottom:1px solid var(--line)}.experiences span{color:var(--gold);font:400 1.8rem var(--serif)}.experiences h3{font:400 2.2rem var(--serif)}.experiences p{max-width:450px;color:var(--muted);font-size:.78rem;line-height:1.7}
.final-cta{min-height:650px;padding:90px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--deep);color:#fff;text-align:center}.final-cta>p{font-size:.62rem;letter-spacing:.17em;text-transform:uppercase}.final-cta h2{margin-top:30px;font:400 clamp(5rem,9vw,9rem)/.75 var(--serif);letter-spacing:-.05em}.final-cta button{margin-top:55px;padding:15px 20px;border:1px solid rgba(255,255,255,.35);border-radius:100px;background:transparent;color:#fff}
footer{padding:55px max(24px,calc((100vw - 1320px)/2));display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:40px;background:#111b17;color:#fff}.footer-brand{display:flex;align-items:center;gap:13px}.footer-brand img{width:46px}.footer-brand b{font-size:.76rem;letter-spacing:.16em}.footer-brand small{margin-top:3px;color:#8f968f;font-size:.55rem}footer>p{max-width:430px;color:#8f968f;font-size:.65rem;line-height:1.6}footer>a:last-child{justify-self:end;font-size:.68rem}
.overlay{position:fixed;z-index:80;inset:0;background:rgba(8,13,11,.62);backdrop-filter:blur(4px)}.booking-drawer{position:fixed;z-index:90;right:0;top:0;width:min(580px,100%);height:100dvh;padding:38px 42px;overflow:auto;background:var(--paper);transform:translateX(105%);transition:transform .55s var(--ease)}.booking-drawer.open{transform:none}.drawer-top{display:flex;justify-content:space-between;align-items:start}.drawer-top h2,.booking-success h2{margin-top:18px;font:400 3.8rem/1 var(--serif)}.close{position:relative;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent}.close:before,.close:after{content:"";position:absolute;left:12px;right:12px;top:20px;height:1px;background:var(--ink);transform:rotate(45deg)}.close:after{transform:rotate(-45deg)}#booking-form{margin-top:38px}.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-drawer label:not(.room-option){display:flex;flex-direction:column;margin-bottom:18px}.booking-drawer input[type=date],.booking-drawer select{height:48px;padding:0 12px;border:1px solid var(--line);background:transparent;outline:0}.booking-drawer fieldset{margin-top:28px;border:0}.booking-drawer legend{margin-bottom:12px}.room-option{position:relative;padding:15px 14px;display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-bottom:0;cursor:pointer}.room-option:last-child{border-bottom:1px solid var(--line)}.room-option:has(input:checked){background:#e3dccd}.room-option input{accent-color:var(--forest)}.room-option span{display:flex;flex-direction:column}.room-option b{font:400 1.18rem var(--serif)}.room-option small{margin-top:2px;color:var(--muted);font-size:.58rem}.room-option strong{font:400 1rem var(--serif)}.booking-summary{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.booking-summary>div{display:flex;justify-content:space-between}.booking-summary span{font:400 1.2rem var(--serif)}.booking-summary strong{font:400 1.8rem var(--serif)}.booking-summary small{display:block;margin-top:7px;color:var(--muted);font-size:.58rem}.submit-booking{width:100%;height:58px;margin-top:22px;border:0;background:var(--forest);color:#fff}.booking-success{padding-top:12vh}.success-status{display:flex;align-items:center;gap:11px}.success-status .section-index{margin:0}.success-mark{width:30px;height:30px;display:grid;flex:0 0 30px;place-items:center;border-radius:50%;background:var(--forest);color:#fff;font-size:.8rem}.booking-success>p{margin-top:28px;color:var(--muted);line-height:1.7}.success-close{margin-top:30px;padding:13px 20px;border:1px solid var(--line);background:transparent}.toast{position:fixed;z-index:100;left:50%;bottom:24px;padding:13px 17px;transform:translateX(-50%);background:var(--deep);color:#fff;font-size:.68rem}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{justify-self:start;width:42px;height:42px;display:flex;flex-direction:column;justify-content:center;gap:6px;border:0;background:transparent}.menu-toggle i{width:21px;height:1px;background:#fff}.brand{justify-self:center}.header-book{font-size:0;gap:0;width:42px;height:42px;padding:0;justify-content:center}.header-book .arrow-ne{width:15px}.mobile-nav{position:absolute;left:0;right:0;top:88px;padding:22px 24px 32px;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.3s}.mobile-nav.open{opacity:1;visibility:visible;transform:none}.mobile-nav a,.mobile-nav button{padding:14px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font:400 2rem var(--serif)}.booking-bar{margin:0;grid-template-columns:1fr 1fr}.booking-bar label:nth-child(3){display:none}.booking-bar button{grid-column:2}.intro{grid-template-columns:110px 1fr}.seal{display:none}.room-feature{grid-template-columns:1fr}.room-copy{padding:80px 35px}.room-copy h2{margin-top:45px}.room-price{margin-top:65px}.table-section{padding:35px}.table-card{width:min(590px,70vw)}.experiences article{grid-template-columns:90px 1fr}.experiences p{grid-column:2}.room-cards{gap:14px}}
@media(max-width:640px){.concept-strip{height:34px;justify-content:center}.concept-strip>span{display:none}.site-header{top:34px;height:69px;padding:0 13px}.brand img{width:38px;height:38px}.brand b{font-size:.68rem}.brand small{font-size:.43rem}.mobile-nav{top:69px}.hero{height:calc(100svh - 34px);min-height:650px}.hero picture img{object-position:center}.hero-shade{background:linear-gradient(0deg,rgba(10,16,13,.78),rgba(10,16,13,.08) 66%)}.hero-copy{left:18px;right:18px;top:auto;bottom:82px;max-width:none;transform:none}.eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(5rem,24vw,7rem)}.hero-copy>p:nth-of-type(2){margin-top:25px;font-size:.79rem;line-height:1.6}.hero-aside,.scroll-note{display:none}.booking-bar{min-height:172px;padding:14px;grid-template-columns:1fr 1fr;gap:10px}.booking-bar label{height:58px;margin:0;padding:0 10px;border:1px solid var(--line)}.booking-bar button{grid-column:1/-1;height:54px}.section{padding:85px 18px}.intro{min-height:0;display:block}.intro .section-index{margin-bottom:30px}.intro-copy h2,.rooms h2,.slow-list h2{font-size:3.9rem}.intro-copy>p{margin-top:26px;font-size:.87rem}.room-feature{display:block}.room-image{min-height:0;aspect-ratio:4/4.8}.room-copy{padding:65px 18px}.room-copy h2{font-size:4.7rem}.room-copy>p:nth-of-type(2){font-size:.8rem}.room-copy ul{margin-top:30px}.room-price{margin-top:48px}.rooms-head{display:block}.rooms-head>p{margin-top:25px;font-size:.8rem}.room-cards{margin-top:50px;grid-template-columns:1fr}.room-cards article:nth-child(2){margin-top:25px}.table-section{min-height:740px;padding:0;align-items:flex-end}.table-section>img{height:58%;top:0}.table-card{width:100%;padding:50px 18px;background:var(--paper);backdrop-filter:none}.table-card h2{margin-top:30px;font-size:4.3rem}.table-card>p:nth-of-type(2){margin-top:25px}.slow-list h2{margin-top:28px}.experiences{margin-top:55px}.experiences article{padding:24px 0;grid-template-columns:70px 1fr;gap:15px}.experiences span{font-size:1.3rem}.experiences h3{font-size:1.75rem}.final-cta{min-height:560px}.final-cta h2{font-size:5rem}.final-cta button{margin-top:40px}footer{padding:42px 18px 80px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}footer>a:last-child{align-self:flex-start}.booking-drawer{padding:25px 16px}.drawer-top h2{font-size:3.2rem}.date-grid{gap:8px}.booking-drawer input[type=date]{font-size:.78rem}.room-option{padding:13px 9px}.toast{bottom:14px;white-space:nowrap}}
@media(hover:none){.room-cards article:hover img{transform:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.booking-drawer,.mobile-nav,.card-media img{transition:none!important}}
.drawer-top h2{margin-top:8px}.booking-success h2{margin-top:18px}

/* SARNIÇ 12 interaction motion: quiet fills, fine lines and unhurried arrows */
.header-book,
.text-link,
.booking-bar button,
.outline-button,
.room-cards button,
.final-cta button,
.close,
.room-option,
.submit-booking,
.success-close,
.mobile-nav button {
  transition:
    color .32s var(--ease),
    background-color .32s var(--ease),
    border-color .32s var(--ease),
    box-shadow .32s var(--ease),
    transform .32s var(--ease);
}

.arrow-ne,
.arrow-se,
.arrow-east {
  transition: transform .36s var(--ease);
}

.close::before,
.close::after {
  transition: transform .42s var(--ease);
}

button.ui-tap {
  animation: sarnic-button-tap .36s var(--ease);
}

@keyframes sarnic-button-tap {
  45% { transform: scale(.975); filter: brightness(.97); }
}

@media(hover:hover) {
  .header-book:hover {
    border-color: var(--paper);
    background: var(--paper);
    color: var(--forest);
    box-shadow: 0 10px 28px rgba(8,13,11,.16);
    transform: translateY(-2px);
  }
  .text-link:hover { border-color: currentColor; }
  .concept-strip a:hover .arrow-ne,
  .header-book:hover .arrow-ne,
  .final-cta button:hover .arrow-ne,
  footer > a:hover .arrow-ne {
    transform: translate(3px,-3px);
  }
  .text-link:hover .arrow-se { transform: translate(3px,3px); }
  .booking-bar button:hover,
  .submit-booking:hover {
    background: var(--deep);
    box-shadow: 0 13px 32px rgba(18,32,25,.18);
    transform: translateY(-2px);
  }
  .booking-bar button:hover .arrow-east,
  .outline-button:hover .arrow-east,
  .submit-booking:hover .arrow-east {
    transform: translateX(4px);
  }
  .outline-button:hover {
    border-color: var(--paper);
    background: var(--paper);
    color: var(--forest);
    transform: translateY(-2px);
  }
  .room-cards button:hover {
    border-color: var(--forest);
    background: var(--forest);
    color: #fff;
    transform: rotate(45deg);
  }
  .final-cta button:hover {
    border-color: var(--gold);
    background: var(--gold);
    color: var(--deep);
    box-shadow: 0 12px 34px rgba(4,10,7,.2);
    transform: translateY(-2px);
  }
  .close:hover {
    border-color: var(--forest);
    background: var(--forest);
    transform: rotate(90deg);
  }
  .close:hover::before,
  .close:hover::after { background: #fff; }
  .room-option:hover {
    border-color: rgba(38,56,47,.45);
    background: rgba(214,203,184,.42);
  }
  .success-close:hover {
    border-color: var(--forest);
    background: var(--forest);
    color: #fff;
    transform: translateY(-1px);
  }
}

button:active { transform: scale(.975); }

.room-option:has(input:checked) {
  border-color: rgba(38,56,47,.42);
  box-shadow: inset 3px 0 0 var(--forest);
  animation: sarnic-choice-in .38s var(--ease);
}

@keyframes sarnic-choice-in {
  45% { background-color: #d9cfbd; }
}

@media(prefers-reduced-motion:reduce) {
  button.ui-tap,
  .room-option:has(input:checked) {
    animation: none !important;
  }
}
