.page-hero{position:relative;height:380px;background-size:cover;background-position:center;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.page-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#150e06ec 0%,#150e0666 32%,#150e0666 58%,#150e06e3 100%)}
.page-hero-inner{position:relative;z-index:1;padding-bottom:54px}
.page-hero .eyebrow{color:#e3b866}
.page-hero .eyebrow:before{content:'';width:30px;height:1px;background:#e3b866;display:inline-block;margin-right:12px;vertical-align:middle}
.page-hero h1{font:400 clamp(38px,4.5vw,60px)/1.08 var(--serif);margin:12px 0 10px;color:#fff}
.page-hero h1 em{font-style:italic;color:#e8b357}
.page-hero p{color:#f1e6d3;max-width:540px;font-size:15px;margin:0}
.page-crumb{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:12px;color:#d8cbb0}
.page-crumb a{color:#d8cbb0}
.page-crumb a:hover{color:#f1ca83}
.page-crumb span{color:#8a7c63}

@media(max-width:800px){.page-hero{height:340px}.page-hero-inner{padding-bottom:34px}}
@media(max-width:540px){.page-hero{height:340px}.page-hero p{font-size:13px}.page-crumb{margin-top:12px}}

/* Restaurant menu section - premium, photo background */
.menu-premium{position:relative;padding-block:76px;color:#fff;background-size:cover;background-position:center;background-attachment:fixed}
.menu-premium:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#150e06f0,#150e06e0 45%,#150e06f5)}
.menu-premium>.container{position:relative;z-index:1}
.menu-premium .menu-intro{max-width:640px;margin:0 auto 8px;text-align:center}
.menu-premium .menu-intro .eyebrow{color:#e3b866}
.menu-premium .menu-intro .eyebrow:before{content:'';width:30px;height:1px;background:#e3b866;display:inline-block;margin-right:12px;vertical-align:middle}
.menu-premium .menu-intro h2{color:#fff}
.menu-premium .menu-intro h2 em{font-style:italic;color:#e8b357}
.menu-premium .menu-intro>p{color:#d8cbb0}
.menu-download{display:inline-flex;align-items:center;gap:10px;margin-top:20px}
.menu-filter{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:34px 0 46px}
.menu-filter button{padding:11px 24px;border:1px solid #ffffff30;border-radius:30px;background:#ffffff0d;color:#f1e6d3;font-size:12px;font-weight:600;transition:background .2s,color .2s,border-color .2s}
.menu-filter button:hover{border-color:#ffffff60}
.menu-filter button[aria-pressed=true]{background:linear-gradient(105deg,#d2ab6b,#b98742);color:#20160a;border-color:transparent}
.menu-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 44px}
.menu-cat{background:#ffffff09;border:1px solid #ffffff1e;border-radius:16px;padding:30px 32px}
.menu-cat h3{font:400 25px var(--serif);color:#e8b357;margin:0 0 4px;display:flex;align-items:center;gap:12px}
.menu-cat h3:after{content:'';flex:1;height:1px;background:#ffffff26}
.menu-cat ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:16px}
.menu-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.menu-item-name{font-weight:600;color:#f5ecdc;font-size:14px}
.menu-item-desc{display:block;font-size:11px;color:#b5a488;font-weight:400;margin-top:3px}
.menu-item-dots{flex:1;border-bottom:1px dotted #ffffff2e;margin:0 6px 5px;min-width:16px}
.menu-item-price{font:400 16px var(--serif);color:#e8b357;white-space:nowrap}
.menu-note{text-align:center;max-width:560px;margin:44px auto 0;font-size:12px;color:#c9bb9e;line-height:1.7;padding:18px 24px;border:1px dashed #ffffff30;border-radius:10px;background:#ffffff08}
@media(max-width:800px){.menu-categories{grid-template-columns:1fr;gap:26px}.menu-premium{background-attachment:scroll}}
@media(max-width:540px){.menu-cat{padding:22px 20px}.menu-filter button{padding:9px 18px;font-size:11px}}

/* Restaurant intro mosaic - distinct from homepage split layout */
.intro-mosaic-section{padding-block:60px}
.intro-mosaic{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:18px;height:460px;margin-bottom:44px}
.intro-mosaic a{display:block;height:100%;border-radius:16px;overflow:hidden;position:relative}
.intro-mosaic a:first-child{grid-row:1/3}
.intro-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.intro-mosaic a:hover img{transform:scale(1.04)}
.intro-stats{display:flex;justify-content:center;gap:0;flex-wrap:wrap;margin:0 0 46px;padding:0}
.intro-stats>div{flex:1;min-width:140px;text-align:center;padding:0 20px;position:relative}
.intro-stats>div:not(:first-child):before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:1px;background:#e6dbca}
.intro-stats .icon{width:30px;height:30px;color:#b9873f;margin-bottom:10px}
.intro-stats strong{display:block;font-size:13px;font-weight:700;color:#332b1f}
.intro-stats small{display:block;font-size:11px;color:#8a8171;margin-top:2px}
@media(max-width:800px){.intro-mosaic{grid-template-columns:1fr 1fr;height:340px}}
@media(max-width:540px){.intro-mosaic{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.intro-mosaic a{height:220px}.intro-mosaic a:first-child{grid-row:auto}.intro-stats>div{flex:1 1 45%;padding:0 10px;margin-bottom:16px}.intro-stats>div:before{display:none}}

/* About page pull-quote */
.pull-quote{max-width:780px;margin:8px auto 56px;text-align:center;padding:42px 20px;border-top:1px solid #e6dbca;border-bottom:1px solid #e6dbca}
.pull-quote blockquote{margin:0;font:italic 28px/1.5 var(--serif);color:#4a3f2e}
.pull-quote cite{display:block;margin-top:18px;font:600 11px var(--sans);letter-spacing:2px;color:#a97a3a;font-style:normal}
@media(max-width:540px){.pull-quote{padding:30px 14px;margin-bottom:36px}.pull-quote blockquote{font-size:21px}}

/* Rooms page trust strip */
.room-trust-strip{display:flex;background:#fffdfa;border:1px solid #eee4d5;border-radius:16px;padding:26px 10px;margin:-46px auto 44px;position:relative;z-index:2;box-shadow:0 16px 34px #4a34181a}
.room-trust-strip>div{flex:1;text-align:center;position:relative;padding:0 12px}
.room-trust-strip>div:not(:first-child):before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:1px;background:#eae0cd}
.room-trust-strip strong{display:block;font:400 26px var(--serif);color:#a97a3a}
.room-trust-strip span{display:block;font-size:12px;font-weight:700;color:#332b1f;margin-top:4px}
.room-trust-strip small{display:block;font-size:10px;color:#948a76;margin-top:2px}
@media(max-width:800px){.room-trust-strip{flex-wrap:wrap;gap:16px;margin-top:-30px}.room-trust-strip>div{flex:1 1 40%}}
@media(max-width:540px){.room-trust-strip{padding:20px 10px}.room-trust-strip strong{font-size:20px}}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:start}
.contact-cards{display:grid;gap:16px;margin-bottom:26px}
.contact-card{display:flex;gap:16px;align-items:flex-start;background:#fffdfa;border:1px solid #eee4d5;border-radius:14px;padding:20px 22px}
.contact-card i{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#d2ab6b,#b98742);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-card i .icon{color:#fff;width:20px;height:20px}
.contact-card strong{display:block;font-size:14px;margin-bottom:3px}
.contact-card span,.contact-card a{display:block;font-size:13px;color:#6c6256;line-height:1.6}
.contact-map{border-radius:16px;overflow:hidden;border:1px solid #eee4d5;height:230px}
.contact-map-full{width:100%;height:420px;margin-top:40px;box-shadow:0 16px 34px #4a34180d}
@media(max-width:540px){.contact-map-full{height:280px;margin-top:26px}}
.contact-map iframe{width:100%;height:100%;border:0;display:block}
.contact-form-card{background:#fffdfa;border:1px solid #eee4d5;border-radius:18px;padding:34px;box-shadow:0 18px 40px #4a34180d}
.contact-form-card h2{margin-bottom:6px}
.contact-form-card>p{margin-bottom:24px}
.contact-form{display:grid;gap:16px}
.contact-form .row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:grid;gap:6px;font-size:12px;color:#6c6256;font-weight:600}
.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #e1d6c7;border-radius:8px;padding:12px 14px;font:400 13px var(--sans);color:#302820;background:#fff}
.contact-form textarea{min-height:110px;resize:vertical}
.contact-hours{margin-top:20px;background:#fffdfa;border:1px solid #eee4d5;border-radius:14px;padding:24px 26px;box-shadow:0 10px 24px #4a34180d}
.contact-hours-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.contact-hours-head i{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#d2ab6b,#b98742);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px #a875313d}
.contact-hours-head i .icon{color:#fff;width:18px;height:18px}
.contact-hours-head h3{font-size:15px;margin:0;font-weight:700;color:#2b2418}
.contact-hours-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:#4a4030;padding:13px 0;border-top:1px solid #f1e9d8}
.contact-hours-row span{font-weight:600}
.hours-badge{background:#f4ead8;color:#a97a3a;padding:6px 14px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap}
.hours-note{font-size:12px;font-weight:500;color:#8a8171;text-align:right}
@media(max-width:540px){.contact-hours{padding:20px}.contact-hours-row{flex-wrap:wrap;gap:6px}}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:34px}}
@media(max-width:540px){.contact-form-card{padding:22px}.contact-form .row-2{grid-template-columns:1fr}}

/* Gallery page extras */
.gallery-page-intro{max-width:620px;margin:0 auto 8px;text-align:center}

/* About page extras */
.story-block{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-block:50px}
.story-block img{border-radius:16px;height:420px;object-fit:cover}
.story-block .split-copy p{font-size:15px;line-height:1.8;color:#6c6256;margin-bottom:16px}
@media(max-width:900px){.story-block{grid-template-columns:1fr;gap:26px;padding-block:30px}.story-block img{height:320px}}

/* Rooms page extra intro spacing */
.page-section-tight{padding-top:0}
