:root{
  --ink:#191714;--ink-2:#24201c;--cream:#f4ecdf;--paper:#fbf7f0;--wood:#d8b98b;
  --rust:#c2462e;--rust-d:#9f3522;--teal:#3e7c7d;--teal-d:#1f3f40;--amber:#f2b65a;
  --line:rgba(25,23,20,.14);--line-l:rgba(244,236,223,.18);
  --f-disp:"Big Shoulders Display",Impact,sans-serif;
  --f-serif:"Fraunces",Georgia,serif;
  --f-body:"DM Sans",system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --gut:clamp(16px,4vw,56px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.65 var(--f-body);overflow-x:hidden}
body.is-locked{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,figure,blockquote,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--rust);color:var(--cream)}
.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 var(--gut)}
.sec{padding:clamp(80px,12vw,160px) 0}

/* Type */
.eyebrow{font:600 12px/1.35 var(--f-body);letter-spacing:.32em;text-transform:uppercase;color:var(--rust);margin-bottom:22px;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor}
.h2{font:800 clamp(40px,6.4vw,92px)/.94 var(--f-disp);text-transform:uppercase;letter-spacing:-.005em}
.h2 em,.hero__lead em{font:italic 400 .82em/1 var(--f-serif);text-transform:none;letter-spacing:-.01em;color:var(--rust)}
.h2--xl{font-size:clamp(48px,9vw,140px)}
.sec__head{max-width:760px;margin-bottom:clamp(44px,6vw,80px)}
.sec__head--center{margin-inline:auto;text-align:center}
.sec__head--center .eyebrow{justify-content:center}
.sec__intro{margin-top:22px;max-width:520px;opacity:.75}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 28px;border-radius:999px;font:600 13px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;position:relative;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s var(--ease)}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;transform:translateY(101%);transition:transform .55s var(--ease)}
.btn:hover::after,.btn:focus-visible::after{transform:none}
.btn--sm{min-height:40px;padding:0 20px;font-size:11px}
.btn--fill{background:var(--rust);color:var(--cream)}
.btn--fill::after{background:var(--ink)}
.btn--line{border:1px solid currentColor}
.btn--line::after{background:var(--ink)}
.btn--line:hover{color:var(--cream);border-color:var(--ink)}
.btn--light{color:var(--cream)}
.btn--light::after{background:var(--cream)}
.btn--light:hover{color:var(--ink);border-color:var(--cream)}
.btn--light-fill{background:var(--cream);color:var(--ink)}
.btn--light-fill::after{background:var(--amber)}

/* Logo */
.logo{font:900 30px/.8 var(--f-disp);letter-spacing:.06em;display:block}
.logo__sub{display:block;font:600 8px/1 var(--f-body);letter-spacing:.62em;text-transform:uppercase;margin-top:6px;text-align:center;padding-left:.62em}

/* Loader */
.loader{position:fixed;inset:0;z-index:200;background:var(--ink);color:var(--cream);display:grid;place-content:center;justify-items:center;gap:14px;transition:transform 1.1s var(--ease) .1s}
.loader.is-done{transform:translateY(-100%)}
.loader__bulbs{display:flex;gap:18px;margin-bottom:10px}
.loader__bulbs i{width:9px;height:9px;border-radius:50%;background:var(--amber);opacity:.15;box-shadow:0 0 0 rgba(242,182,90,0);animation:bulb 1.4s var(--ease) forwards}
.loader__bulbs i:nth-child(2){animation-delay:.08s}.loader__bulbs i:nth-child(3){animation-delay:.16s}.loader__bulbs i:nth-child(4){animation-delay:.24s}.loader__bulbs i:nth-child(5){animation-delay:.32s}.loader__bulbs i:nth-child(6){animation-delay:.4s}.loader__bulbs i:nth-child(7){animation-delay:.48s}
@keyframes bulb{to{opacity:1;box-shadow:0 0 22px 6px rgba(242,182,90,.45)}}
.loader__word{display:flex;overflow:hidden;font:900 clamp(64px,14vw,170px)/.85 var(--f-disp);letter-spacing:.04em}
.loader__word span{display:block;transform:translateY(105%);animation:up .9s var(--ease) forwards}
.loader__word span:nth-child(2){animation-delay:.06s}.loader__word span:nth-child(3){animation-delay:.12s}.loader__word span:nth-child(4){animation-delay:.18s}.loader__word span:nth-child(5){animation-delay:.24s}.loader__word span:nth-child(6){animation-delay:.3s}
.loader__sub{font:600 11px/1 var(--f-body);letter-spacing:.7em;text-transform:uppercase;opacity:0;animation:fade .8s ease .7s forwards}
@keyframes up{to{transform:none}}
@keyframes fade{to{opacity:.7}}

/* Header */
.hdr{position:fixed;inset:0 0 auto;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px var(--gut);color:var(--cream);transition:transform .6s var(--ease),background .5s,color .5s,padding .5s}
.hdr.is-solid{background:rgba(25,23,20,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-block:12px}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr__menu{display:flex;align-items:center;gap:14px;justify-self:start;font:600 12px/1 var(--f-body);letter-spacing:.28em;text-transform:uppercase}
.burger{width:30px;height:12px;position:relative;display:block}
.burger i{position:absolute;left:0;height:1.5px;background:currentColor;transition:transform .5s var(--ease),width .5s var(--ease),top .5s var(--ease)}
.burger i:first-child{top:0;width:100%}
.burger i:last-child{top:10px;width:65%}
.hdr__menu:hover .burger i:last-child{width:100%}
.is-menu .burger i:first-child{top:5px;transform:rotate(45deg)}
.is-menu .burger i:last-child{top:5px;width:100%;transform:rotate(-45deg)}
.hdr__logo{justify-self:center}
.hdr__ctas{justify-self:end;display:flex;gap:10px}
.hdr__ctas .btn--line::after{background:var(--cream)}
.hdr__ctas .btn--line:hover{color:var(--ink);border-color:var(--cream)}

/* Overlay nav */
.nav{position:fixed;inset:0;z-index:90;background:var(--ink);color:var(--cream);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease);visibility:hidden}
.is-menu .nav{clip-path:inset(0);visibility:visible}
.nav__media{overflow:hidden;position:relative}
.nav__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform 1.6s var(--ease);filter:brightness(.7)}
.is-menu .nav__media img{transform:scale(1)}
.nav__inner{display:flex;flex-direction:column;justify-content:center;padding:110px var(--gut) 40px}
.nav__list li{overflow:hidden;border-bottom:1px solid var(--line-l)}
.nav__list a{display:flex;align-items:baseline;gap:22px;padding:10px 0;font:800 clamp(34px,4.6vw,66px)/1.05 var(--f-disp);text-transform:uppercase;transform:translateY(110%);transition:transform .8s var(--ease),color .3s}
.nav__list a em{font:500 13px/1 var(--f-body);font-style:normal;letter-spacing:.2em;color:var(--amber)}
.nav__list a:hover{color:var(--amber)}
.is-menu .nav__list a{transform:none}
.nav__list li:nth-child(1) a{transition-delay:.25s}.nav__list li:nth-child(2) a{transition-delay:.3s}.nav__list li:nth-child(3) a{transition-delay:.35s}.nav__list li:nth-child(4) a{transition-delay:.4s}.nav__list li:nth-child(5) a{transition-delay:.45s}.nav__list li:nth-child(6) a{transition-delay:.5s}.nav__list li:nth-child(7) a{transition-delay:.55s}
.nav__foot{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;opacity:0;transition:opacity .6s ease .6s}
.is-menu .nav__foot{opacity:1}
.nav__foot .btn--line::after{background:var(--cream)}
.nav__foot .btn--line:hover{color:var(--ink)}

/* Hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;color:var(--cream);overflow:hidden;background:var(--ink)}
.hero__bg,.hero__shade{position:absolute;inset:0}
.hero__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity 1.6s ease,transform 7s linear}
.hero__bg img.is-on{opacity:1;transform:scale(1)}
.hero__shade{background:linear-gradient(180deg,rgba(25,23,20,.55) 0%,rgba(25,23,20,.15) 40%,rgba(25,23,20,.85) 100%)}
.hero__content{position:relative;padding:0 var(--gut) clamp(90px,13vh,140px);max-width:1320px;width:100%;margin:0 auto}
.hero__eyebrow{color:var(--amber)}
.hero__title{font:900 clamp(86px,22vw,330px)/.78 var(--f-disp);letter-spacing:.02em;margin-left:-.04em}
.hero__lead{max-width:520px;margin-top:26px;font-size:clamp(16px,1.4vw,19px);opacity:.88}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero__cue{position:absolute;right:var(--gut);bottom:40px;display:flex;flex-direction:column;align-items:center;gap:14px;font:600 10px/1 var(--f-body);letter-spacing:.32em;text-transform:uppercase;writing-mode:vertical-rl}
.hero__cue i{width:1px;height:70px;background:rgba(244,236,223,.25);position:relative;overflow:hidden}
.hero__cue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--amber);animation:cue 2s var(--ease) infinite}
@keyframes cue{to{top:100%}}
.hero .eyebrow,.hero__lead,.hero__ctas,.hero__cue{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.is-ready .hero .eyebrow{opacity:1;transform:none;transition-delay:.5s}
.is-ready .hero__lead{opacity:.88;transform:none;transition-delay:.9s}
.is-ready .hero__ctas{opacity:1;transform:none;transition-delay:1.05s}
.is-ready .hero__cue{opacity:1;transform:none;transition-delay:1.3s}

/* Split letters */
.split .ch{display:inline-block;overflow:hidden;vertical-align:top}
.split .ch>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.is-ready .split .ch>span{transform:none}

/* Reveals */
.js .rv{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv.is-in{opacity:1;transform:none}
.js .reveal-img img{clip-path:inset(100% 0 0 0);transform:scale(1.25);transition:clip-path 1.4s var(--ease),transform 1.8s var(--ease)}
.js .reveal-img.is-in img{clip-path:inset(0);transform:scale(1)}

/* Story */
.story{background:var(--paper)}
.story__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.story__media{aspect-ratio:4/5;overflow:hidden;border-radius:2px}
.story__media img{width:100%;height:118%;object-fit:cover;margin-top:-9%}
.story__text p:not(.eyebrow){margin-top:22px;max-width:520px;color:#4a443d}
.story__text .h2{margin-bottom:8px}
.quote{margin-top:40px;padding:28px 0 0 30px;border-left:2px solid var(--rust);font:italic 400 clamp(19px,1.8vw,24px)/1.45 var(--f-serif);max-width:540px}
.quote__label{display:block;font:600 11px/1 var(--f-body);font-style:normal;letter-spacing:.28em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}

/* Masterpieces */
.mp{background:var(--ink);color:var(--cream);padding-bottom:0}
.mp__head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:56px}
.mp__arrows{display:flex;gap:10px}
.arrow{width:56px;height:56px;border-radius:50%;border:1px solid var(--line-l);font-size:20px;transition:background .4s,color .4s,border-color .4s}
.arrow:hover{background:var(--amber);color:var(--ink);border-color:var(--amber)}
.mp__track{display:flex;gap:clamp(14px,2vw,26px);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut);scrollbar-width:none;cursor:grab;scroll-padding:0 var(--gut)}
.mp__track::-webkit-scrollbar{display:none}
.mp__track.is-drag{cursor:grabbing;scroll-snap-type:none}
.mp__slide{flex:0 0 clamp(250px,30vw,420px);scroll-snap-align:start;position:relative;overflow:hidden;aspect-ratio:1;border-radius:2px;user-select:none}
.mp__slide img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.mp__slide:hover img{transform:scale(1.07)}
.mp__slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:50px 20px 18px;background:linear-gradient(transparent,rgba(25,23,20,.8));font:700 22px/1 var(--f-disp);text-transform:uppercase;letter-spacing:.04em;transform:translateY(12px);opacity:.92;transition:transform .6s var(--ease)}
.mp__slide:hover figcaption{transform:none}
.mp__more{margin-top:48px}
.mp__more .btn--line::after{background:var(--cream)}
.mp__more .btn--line:hover{color:var(--ink);border-color:var(--cream)}
.marquee{margin-top:clamp(70px,9vw,120px);border-top:1px solid var(--line-l);border-bottom:1px solid var(--line-l);overflow:hidden;padding:26px 0;background:var(--rust)}
.marquee__row{display:flex;width:max-content;align-items:center;gap:36px;animation:marq 38s linear infinite;font:800 clamp(30px,4vw,56px)/1 var(--f-disp);text-transform:uppercase;letter-spacing:.03em}
.marquee__row b{font-size:.45em;color:var(--amber)}
@keyframes marq{to{transform:translateX(-50%)}}

/* Cuisine cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px)}
.card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:2px;overflow:hidden;transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
.card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -30px rgba(25,23,20,.4)}
.card__img{aspect-ratio:4/3;overflow:hidden}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.card:hover .card__img img{transform:scale(1.08)}
.card__img--type{display:grid;place-items:center;background:var(--teal);color:var(--cream);font:italic 400 clamp(36px,4vw,54px)/1 var(--f-serif);text-align:center;transition:background .6s}
.card--type:hover .card__img--type{background:var(--teal-d)}
.card__body{padding:24px 26px 28px;position:relative}
.card__cat{font:600 11px/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--rust)}
.card h3{font:800 32px/1 var(--f-disp);text-transform:uppercase;margin:12px 0 10px}
.card p{font-size:15px;color:#5a534a}
.card__body::after{content:"→";position:absolute;right:26px;top:22px;font-size:20px;transform:translateX(-10px);opacity:0;transition:.5s var(--ease)}
.card:hover .card__body::after{transform:none;opacity:1}

/* Kitchen band */
.kitchen{position:relative;min-height:88vh;display:grid;align-items:center;color:var(--cream);overflow:hidden;text-align:center}
.kitchen__bg{position:absolute;inset:0}
.kitchen__bg img{width:100%;height:130%;object-fit:cover;margin-top:-15%;filter:brightness(.45) saturate(1.1)}
.kitchen__content{position:relative}
.kitchen .eyebrow{justify-content:center;color:var(--amber)}
.kitchen .h2 em{color:var(--amber)}
.kitchen p:not(.eyebrow){margin-top:20px;opacity:.85}

/* Signatures */
.sig{background:var(--ink-2);color:var(--cream)}
.sig .h2 em{color:var(--amber)}
.sig__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-l);border-left:1px solid var(--line-l)}
.sig__item{padding:clamp(28px,3vw,44px);border-right:1px solid var(--line-l);border-bottom:1px solid var(--line-l);position:relative;overflow:hidden;transition:color .5s}
.sig__item::before{content:"";position:absolute;inset:0;background:var(--rust);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease);z-index:0}
.sig__item:hover::before{transform:scaleY(1)}
.sig__item>*{position:relative;z-index:1}
.tag{display:inline-block;padding:7px 12px;border:1px solid var(--amber);color:var(--amber);border-radius:999px;font:600 10px/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;transition:.5s}
.sig__item:hover .tag{border-color:var(--cream);color:var(--cream)}
.sig__item h3{font:800 clamp(28px,2.6vw,38px)/1 var(--f-disp);text-transform:uppercase;margin:22px 0 12px}
.sig__item p{font-size:15px;opacity:.75}
.sig__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:56px}
.sig .btn--line::after{background:var(--cream)}
.sig .btn--line:hover{color:var(--ink);border-color:var(--cream)}
.sig .btn--fill::after{background:var(--amber)}
.sig .btn--fill:hover{color:var(--ink)}

/* Stats */
.stats{background:var(--rust);color:var(--cream);padding:clamp(60px,8vw,100px) 0}
.stats__row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{text-align:center;border-left:1px solid rgba(244,236,223,.25)}
.stat:first-child{border-left:0}
.stat strong{display:block;font:900 clamp(54px,7vw,104px)/.9 var(--f-disp)}
.stat__label{display:block;margin-top:12px;font:600 11px/1.3 var(--f-body);letter-spacing:.24em;text-transform:uppercase;opacity:.85}

/* Room */
.room{background:var(--paper)}
.room__grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:clamp(16px,2vw,28px)}
.room__text{grid-column:1;grid-row:1/3;align-self:center;padding-right:clamp(0px,3vw,40px)}
.room__text p{margin:22px 0 32px;color:#4a443d}
.room__img{position:relative;overflow:hidden;border-radius:2px;margin:0}
.room__img img{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
.room__img--tall{grid-row:1/3;grid-column:2}
.room__img--tall img{aspect-ratio:auto;height:100%;min-height:520px;object-position:78% center}
.room__img figcaption{position:absolute;left:16px;bottom:16px;background:var(--cream);padding:8px 14px;font:600 10px/1 var(--f-body);letter-spacing:.22em;text-transform:uppercase}

/* Reviews */
.reviews{background:var(--teal-d);color:var(--cream);overflow:hidden}
.reviews .eyebrow{color:var(--amber)}
.reviews .h2 em{color:var(--amber)}
.reviews__head{display:grid;grid-template-columns:auto 1fr;gap:clamp(30px,6vw,90px);align-items:end;margin-bottom:64px}
.reviews__score{padding-right:clamp(30px,6vw,90px);border-right:1px solid var(--line-l)}
.reviews__score strong{display:block;font:900 clamp(90px,11vw,160px)/.8 var(--f-disp)}
.stars{display:block;color:var(--amber);letter-spacing:.2em;margin:14px 0 8px;font-size:20px}
.reviews__score span:last-child{font-size:13px;opacity:.7;max-width:200px;display:block}
.reviews__track{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.reviews__row{display:flex;gap:22px;width:max-content;animation:marq 60s linear infinite}
.reviews__track:hover .reviews__row{animation-play-state:paused}
.review{width:min(380px,78vw);padding:32px;border:1px solid var(--line-l);border-radius:2px;background:rgba(244,236,223,.04)}
.review p{font:italic 400 20px/1.45 var(--f-serif)}
.review span{display:block;margin-top:20px;font:600 11px/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;opacity:.6}

/* Private */
.private{background:var(--cream)}
.private__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.private__img{aspect-ratio:5/4;overflow:hidden;border-radius:2px}
.private__img img{width:100%;height:115%;object-fit:cover;margin-top:-7%}
.private__text p:not(.eyebrow){margin:22px 0 32px;color:#4a443d;max-width:500px}

/* Table */
.table{background:var(--ink);color:var(--cream)}
.table .h2 em{color:var(--amber)}
.table__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,32px)}
.tcard{padding:clamp(34px,5vw,64px);border:1px solid var(--line-l);border-radius:2px;position:relative;transition:transform .7s var(--ease)}
.tcard:hover{transform:translateY(-6px)}
.tcard--alt{background:var(--teal);border-color:var(--teal)}
.tcard__num{font:600 12px/1 var(--f-body);letter-spacing:.24em;color:var(--amber)}
.tcard h3{font:800 clamp(42px,5vw,72px)/.95 var(--f-disp);text-transform:uppercase;margin:20px 0 16px}
.tcard p{opacity:.8;margin-bottom:32px;max-width:400px}
.table .btn--fill::after{background:var(--amber)}
.table .btn--fill:hover{color:var(--ink)}

/* Footer */
.ftr{background:var(--ink);color:var(--cream);padding:clamp(60px,8vw,110px) 0 30px;border-top:1px solid var(--line-l)}
.ftr__brand{text-align:center;margin-bottom:clamp(50px,7vw,90px)}
.ftr__word{display:block;font:900 clamp(90px,24vw,360px)/.8 var(--f-disp);letter-spacing:.02em;color:var(--wood)}
.ftr__tag{display:block;margin-top:20px;font:600 11px/1 var(--f-body);letter-spacing:.5em;text-transform:uppercase;opacity:.6}
.split-scroll .ch{display:inline-block;overflow:hidden;vertical-align:top}
.split-scroll .ch>span{display:inline-block;transform:translateY(105%);transition:transform 1.2s var(--ease)}
.split-scroll.is-in .ch>span{transform:none}
.ftr__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:50px 0;border-top:1px solid var(--line-l);border-bottom:1px solid var(--line-l)}
.ftr h4{font:600 11px/1 var(--f-body);letter-spacing:.28em;text-transform:uppercase;color:var(--amber);margin-bottom:22px}
.ftr li{margin-bottom:10px;opacity:.8;font-size:15px}
.ftr li a{transition:color .3s}
.ftr li a:hover{color:var(--amber)}
.hours li{display:flex;justify-content:space-between;gap:16px}
.hours li span:first-child{opacity:.6}
.ftr__social{display:flex;gap:10px;margin-top:18px}
.ftr__social a{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-l);display:grid;place-items:center;font:600 11px/1 var(--f-body);letter-spacing:.06em;transition:.4s}
.ftr__social a:hover{background:var(--amber);color:var(--ink);border-color:var(--amber)}
.ftr__bottom{display:flex;justify-content:space-between;gap:20px;padding-top:26px;font-size:13px;opacity:.6}


/* ===== Glow button (adaptado de Uiverse.io · Spacious74) ===== */
.gbtn{display:inline-flex;position:relative;isolation:isolate;padding:2px;border-radius:16px;background:radial-gradient(circle 80px at 80% -10%,#fff1dc,#1b1815);box-shadow:0 14px 34px -14px rgba(194,70,46,.6);transition:transform .5s cubic-bezier(.34,1.35,.64,1),box-shadow .5s var(--ease);-webkit-tap-highlight-color:transparent}
.gbtn::after{content:"";position:absolute;width:65%;height:60%;border-radius:120px;top:0;right:0;box-shadow:0 0 22px rgba(255,214,160,.3);z-index:-1;transition:box-shadow .5s var(--ease)}
.gbtn__blob{position:absolute;width:70px;height:100%;border-radius:16px;bottom:0;left:0;background:radial-gradient(circle 60px at 0% 100%,#ffb85e,rgba(194,70,46,.55),transparent);box-shadow:-10px 10px 30px rgba(194,70,46,.22);transition:width .6s var(--ease)}
.gbtn__inner{position:relative;z-index:3;display:block;padding:16px 28px;border-radius:14px;color:#fff7ec;background:radial-gradient(circle 80px at 80% -50%,#74675d,#14110f);font:600 13px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.gbtn__inner::before{content:"";position:absolute;inset:0;border-radius:14px;background:radial-gradient(circle 60px at 0% 100%,rgba(255,184,94,.16),rgba(194,70,46,.08),transparent);transition:opacity .5s}
.gbtn:hover{transform:translateY(-3px);box-shadow:0 22px 44px -16px rgba(194,70,46,.75)}
.gbtn:hover::after{box-shadow:0 0 30px rgba(255,214,160,.5)}
.gbtn:hover .gbtn__blob{width:120px}
.gbtn:active{transform:scale(.97);transition-duration:.1s}
.gbtn:focus-visible{outline:2px solid var(--amber);outline-offset:4px}
.gbtn--sm{border-radius:14px}
.gbtn--sm .gbtn__inner{padding:12px 20px;font-size:11px;border-radius:12px}
.gbtn--sm .gbtn__inner::before{border-radius:12px}

/* ===== Degradados difuminados ===== */
.sec,.ftr{position:relative;overflow:hidden}
.sec>*:not(.glow),.ftr>*:not(.glow){position:relative;z-index:1}
.glow{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.glow i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;will-change:transform;animation:drift 26s ease-in-out infinite alternate}
.glow i:nth-child(1){width:46vw;height:46vw;left:-12vw;top:-14vw;background:var(--g1,#c2462e)}
.glow i:nth-child(2){width:38vw;height:38vw;right:-10vw;top:28%;background:var(--g2,#f2b65a);animation-duration:32s;animation-delay:-8s}
.glow i:nth-child(3){width:34vw;height:34vw;left:30%;bottom:-16vw;background:var(--g3,#3e7c7d);animation-duration:38s;animation-delay:-16s}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(6vw,4vw,0) scale(1.12)}100%{transform:translate3d(-4vw,-3vw,0) scale(.94)}}
/* oscuras */
.mp{--g1:#c2462e;--g2:#f2b65a;--g3:#3e7c7d}
.mp .glow i{opacity:.32}
.sig{--g1:#3e7c7d;--g2:#c2462e;--g3:#f2b65a}
.sig .glow i{opacity:.28}
.reviews{--g1:#3e7c7d;--g2:#f2b65a;--g3:#c2462e}
.reviews .glow i{opacity:.35}
.table{--g1:#c2462e;--g2:#3e7c7d;--g3:#f2b65a}
.table .glow i{opacity:.3}
.ftr{--g1:#f2b65a;--g2:#c2462e;--g3:#3e7c7d}
.ftr .glow i{opacity:.18}
/* claras */
.story,.cuisine,.room,.private{--g1:#f2b65a;--g2:#e7836b;--g3:#8fc3c0}
.story .glow i,.cuisine .glow i,.room .glow i,.private .glow i{opacity:.35;filter:blur(110px)}
/* hero */
.glow--hero{z-index:0;mix-blend-mode:soft-light}
.glow--hero i{opacity:.7}
.hero__content,.hero__cue{z-index:1}

/* ===== Acabados ===== */
.hdr.is-solid{background:linear-gradient(180deg,rgba(25,23,20,.72),rgba(25,23,20,.5));backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);box-shadow:inset 0 -1px 0 rgba(244,236,223,.08)}
.h2{letter-spacing:-.012em}
.hero__title{letter-spacing:-.005em}
.story__media,.private__img,.room__img,.mp__slide,.card,.tcard,.review{border-radius:22px}
.story__media,.private__img,.room__img{box-shadow:0 40px 80px -40px rgba(25,23,20,.45)}
.card{border-color:rgba(25,23,20,.08);background:rgba(251,247,240,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 18px 40px -28px rgba(25,23,20,.35)}
.card:active{transform:scale(.985);transition-duration:.12s}
.card__img{border-radius:22px 22px 0 0}
.card__img--type{background:radial-gradient(circle at 20% 0%,#5aa3a3,var(--teal) 45%,var(--teal-d))}
.quote{border-left:0;padding:30px 32px;border-radius:22px;background:linear-gradient(135deg,rgba(242,182,90,.18),rgba(194,70,46,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 20px 50px -30px rgba(194,70,46,.4);position:relative}
.quote::before{content:"“";position:absolute;right:22px;top:-6px;font:400 110px/1 var(--f-serif);color:var(--rust);opacity:.18}
.sig__grid{border:0;gap:14px;border-left:0}
.sig__item{border:1px solid var(--line-l);border-radius:22px;background:rgba(244,236,223,.035);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(244,236,223,.08)}
.sig__item::before{background:radial-gradient(circle at 0% 100%,var(--amber),var(--rust) 55%,var(--rust-d))}
.stats{background:radial-gradient(circle at 15% 0%,#e0683f,transparent 55%),radial-gradient(circle at 90% 100%,#7d2516,transparent 60%),var(--rust)}
.review{position:relative;background:linear-gradient(160deg,rgba(244,236,223,.10),rgba(244,236,223,.02));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:rgba(244,236,223,.14);box-shadow:inset 0 1px 0 rgba(244,236,223,.18),0 24px 50px -30px rgba(0,0,0,.6)}
.review p{font-size:22px}
.review::before{content:"“";display:block;font:400 64px/.6 var(--f-serif);color:var(--amber);margin-bottom:10px}
.tcard{background:linear-gradient(160deg,rgba(244,236,223,.08),rgba(244,236,223,.015));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(244,236,223,.14)}
.tcard--alt{background:radial-gradient(circle at 85% 0%,#62a6a5,transparent 55%),linear-gradient(160deg,var(--teal),var(--teal-d))}
.marquee{background:linear-gradient(90deg,var(--rust-d),var(--rust) 30%,#d8623a 60%,var(--rust))}
.ftr__word{background:linear-gradient(180deg,#f3d9ac,var(--wood) 45%,#9c7a4c);-webkit-background-clip:text;background-clip:text;color:transparent}
.ftr__word .ch>span{background:inherit;-webkit-background-clip:text;background-clip:text}
.btn:active,.arrow:active{transform:scale(.97);transition-duration:.1s}
.room__img figcaption{border-radius:999px;background:rgba(251,247,240,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@media (prefers-reduced-motion:reduce){.glow i{animation:none}}
@media (prefers-reduced-transparency:reduce){.card,.review,.tcard,.sig__item,.hdr.is-solid{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media (max-width:760px){.glow i{filter:blur(60px)}.glow i:nth-child(1){width:90vw;height:90vw}.glow i:nth-child(2){width:80vw;height:80vw}.glow i:nth-child(3){width:70vw;height:70vw}.sig__item{border-radius:18px}}

/* Responsive */
@media (max-width:1000px){
  .cards,.sig__grid{grid-template-columns:repeat(2,1fr)}
  .room__grid{grid-template-columns:1fr 1fr}
  .room__text{grid-column:1/3;grid-row:auto;padding:0 0 20px}
  .room__img--tall{grid-row:auto;grid-column:auto}
  .room__img--tall img{min-height:0;aspect-ratio:1}
  .room__img:last-child{grid-column:1/3}
  .room__img:last-child img{aspect-ratio:16/9}
}
@media (max-width:760px){
  body{font-size:16px}
  .hdr{grid-template-columns:auto 1fr auto;padding-block:14px}
  .hdr__menu-label,.hdr__ctas .btn--line{display:none}
  .hdr__logo{justify-self:center}
  .logo{font-size:26px}
  .nav{grid-template-columns:1fr}
  .nav__media{display:none}
  .story__grid,.private__grid,.table__grid,.reviews__head{grid-template-columns:1fr}
  .reviews__score{border-right:0;padding:0 0 30px;border-bottom:1px solid var(--line-l)}
  .cards,.sig__grid{grid-template-columns:1fr}
  .mp__head{flex-direction:column;align-items:flex-start}
  .stats__row{grid-template-columns:1fr 1fr;row-gap:44px}
  .stat:nth-child(3){border-left:0}
  .ftr__cols{grid-template-columns:1fr}
  .ftr__bottom{flex-direction:column}
  .hero__cue{display:none}
  .room__grid{grid-template-columns:1fr}
  .room__text,.room__img:last-child{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
