/* AGAPE — final luxury editorial finish. Loaded after the reference palette. */
:root { --brand-accent:#d4537e; --brand-accent-dark:#8f1844; }
.hero-premium{height:min(880px,100svh);min-height:740px;background:#171116;isolation:isolate;overflow:hidden;}
.hero-premium::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 70% 80% at 10% 45%,#34202d55,transparent 90%);}
.hero-premium .hero-art{position:absolute;inset:0 0 0 47.5%;overflow:hidden;}
.hero-premium .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 54%;transform:none;filter:saturate(.84) contrast(1.09) brightness(.91);}
.hero-premium .hero-art::after{content:"";position:absolute;inset:0;border-left:1px solid #e8bbbe22;background:linear-gradient(180deg,rgba(14,10,12,.42) 0%,transparent 38%,transparent 72%,rgba(14,10,12,.40) 100%);pointer-events:none;}
.hero-premium .hero-shade{background:linear-gradient(90deg,#1b131a 0%,#1b131a 28%,rgba(27,19,26,.99) 39%,rgba(27,19,26,.76) 46%,rgba(27,19,26,.24) 58%,transparent 76%);z-index:0;}
.hero-premium .hero-content{position:relative;z-index:1;padding-top:164px;padding-bottom:104px;}
.hero-premium .hero-kicker{color:#f4dbe4;font-size:10px;letter-spacing:.22em;margin-bottom:36px;text-transform:uppercase;}
.hero-premium .hero-kicker .kicker-line{width:40px;background:#f18daf;}
.hero-premium .hero-kicker b{color:#e78fad;padding:0 4px;}
.hero-premium h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(105px,12.3vw,190px);letter-spacing:-.09em;font-weight:400;line-height:.8;margin-bottom:0;max-width:700px;}
.hero-premium h1 .accent{color:#f58db0;}
.hero-premium h1 small{font-family:Georgia,'Times New Roman',serif;font-size:clamp(49px,5.3vw,74px);font-weight:400;line-height:1.06;letter-spacing:-.055em;margin-top:38px;text-transform:none;color:#fff9f7;}
.hero-premium h1 small em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#f5b0c5;}
.hero-premium .hero-lead{max-width:490px;color:#f1e3e8;font-size:15px;line-height:1.85;margin-top:27px;margin-bottom:35px;}
.hero-premium .hero-lead strong{font-weight:400;color:#fff;}
.hero-premium .hero-actions{gap:13px;}
.hero-premium .button{min-height:59px;padding:18px 25px;letter-spacing:.13em;box-shadow:0 7px 18px #00000019;}
.hero-premium .button-light{background:#fff8f6;}
.hero-premium .button-light:hover{background:#f7cbd8;}
.hero-premium .button-line-white{border-color:#f7e2e5a3;background:#1b131a25;}
.hero-location{display:flex;gap:12px;align-items:center;color:#e5bdcb;font-size:10px;letter-spacing:.17em;font-weight:600;margin-top:48px;}
.hero-location b{font-weight:400;padding:0 5px;color:#dd9ab0;}
.hero-location-mark{font-size:24px;line-height:.7;color:#e78cac;}
.hero-art-caption{position:absolute;right:46px;bottom:44px;color:white;z-index:1;display:flex;flex-direction:column;align-items:end;gap:10px;font-size:9px;letter-spacing:.21em;font-weight:700;text-shadow:0 2px 10px #000a;}
.hero-art-caption span:first-child::before{content:"";height:1px;background:#f3cada;display:inline-block;width:29px;margin-right:11px;vertical-align:middle;}
.hero-premium .hero-scroll{bottom:36px;color:#e6cfda;}
.hero-premium .hero-rail{font-size:9px;letter-spacing:.16em;bottom:160px;}
/* Consistent editorial accents without altering the reference palette. */
.section-title em,.intro-copy h2 em,.breakfast-copy h2 em{font-weight:400;}
.moments{background:#f0e8e6;}
.moment-card,.menu-tile{transition:transform .35s ease,box-shadow .35s ease;}
.moment-card:hover,.menu-tile:hover{transform:translateY(-5px);box-shadow:0 22px 45px #34202a17;}
.moment-img,.menu-tile>img,.gallery-photo{overflow:hidden;}
.moment-img img,.menu-tile>img{transition:transform .65s cubic-bezier(.2,.7,.2,1);}
.moment-card:hover .moment-img img,.menu-tile:hover>img{transform:scale(1.045);}
.moment-body>span:first-child,.menu-tile div>span{font-weight:700;letter-spacing:.16em;}
.text-link{transition:color .2s,border-color .2s;}
.text-link:hover{color:#a22051;}
.gallery-photo img{transition:transform .55s ease,filter .4s ease;}
.gallery-photo:hover img{transform:scale(1.04);filter:saturate(1.08);}
.contact-map{border:1px solid #ffffff19;}
.footer-top{border-bottom-color:#ffffff28;}
.footer-legal a:hover,.footer-legal button:hover,.footer-social a:hover{color:#f8aec6;}
.nav-book{transition:background .2s,border-color .2s;}
/* Tablet: retain a meaningful view of the cocktail without crowding the title. */
@media(max-width:1120px){
 .hero-premium .hero-art{left:42%;}
 .hero-premium .hero-shade{background:linear-gradient(90deg,#1b131a 0%,rgba(27,19,26,.98) 31%,rgba(27,19,26,.7) 48%,rgba(27,19,26,.08) 79%);}
 .hero-premium h1{font-size:clamp(102px,13vw,148px);}
 .hero-premium h1 small{font-size:clamp(50px,6.2vw,70px);}
 .hero-premium .hero-content{padding-top:140px;}
}
@media(max-width:850px){
 .hero-premium{height:840px;min-height:720px;}
 .hero-premium .hero-art{left:28%;}
 .hero-premium .hero-shade{background:linear-gradient(90deg,#1b131a 0%,rgba(27,19,26,.91) 25%,rgba(27,19,26,.55) 60%,rgba(27,19,26,.14) 100%),linear-gradient(0deg,rgba(16,10,13,.6),transparent 35%);}
 .hero-premium .hero-content{padding-top:170px;padding-bottom:80px;}
 .hero-premium h1{font-size:clamp(100px,15vw,145px);}
 .hero-premium h1 small{font-size:clamp(50px,7.4vw,67px);}
 .hero-art-caption{right:22px;bottom:90px;}
}
/* Mobile: cinematic full-bleed photo with readable gradient and clear call to action. */
@media(max-width:590px){
 .hero-premium{height:805px;min-height:770px;max-height:none;align-items:flex-end;}
 .hero-premium .hero-art{inset:0;}
 .hero-premium .hero-image{object-position:center 31%;filter:saturate(.88) contrast(1.08) brightness(.84);}
 .hero-premium .hero-shade{background:linear-gradient(180deg,rgba(16,9,12,.62) 0%,rgba(16,9,12,.05) 20%,rgba(16,9,12,.26) 37%,rgba(22,13,19,.9) 54%,#1b131a 79%,#1b131a 100%);}
 .hero-premium .hero-content{padding-top:260px;padding-bottom:79px;}
 .hero-premium .hero-kicker{font-size:8px;letter-spacing:.12em;margin-bottom:23px;}
 .hero-premium .hero-kicker .kicker-line{width:20px;margin-right:3px;}
 .hero-premium h1{font-size:clamp(83px,22.5vw,114px);letter-spacing:-.095em;}
 .hero-premium h1 small{font-size:clamp(44px,12vw,59px);line-height:1;margin-top:25px;letter-spacing:-.06em;}
 .hero-premium .hero-lead{font-size:13px;line-height:1.65;margin-top:19px;margin-bottom:25px;max-width:350px;}
 .hero-premium .hero-actions{gap:10px;}
 .hero-premium .button{min-height:50px;padding:14px 18px;font-size:10px;}
 .hero-premium .hero-location{margin-top:23px;font-size:8px;letter-spacing:.12em;}
 .hero-premium .hero-scroll{bottom:18px;font-size:9px;}
 .hero-premium .hero-art-caption{display:none;}
 .hero-premium .hero-rail{display:none;}
 .moment-card:hover,.menu-tile:hover{transform:none;box-shadow:none;}
}
@media(max-width:370px){
 .hero-premium{height:815px;}
 .hero-premium .hero-content{padding-top:260px;padding-bottom:72px;}
 .hero-premium h1{font-size:82px;}
 .hero-premium h1 small{font-size:43px;}
 .hero-premium .hero-lead{font-size:12px;}
 .hero-premium .button{font-size:9px;}
}
@media(prefers-reduced-motion:reduce){.moment-card,.moment-img img,.menu-tile,.menu-tile>img{transition:none;}}
