:root { --serif: "Batang", "Apple Myungjo", serif; }
body { font-family: "Malgun Gothic", "Apple SD Gothic Neo", sans-serif; word-break: keep-all; overflow-wrap: break-word; }
button,input,select,textarea { font-family: inherit; }
.header .brand { letter-spacing: -.03em; }
.header .brand small { letter-spacing: .02em; font-size: 9px; }
.hero h1 { font-family: "Malgun Gothic", "Apple SD Gothic Neo", sans-serif; font-size: clamp(58px,6vw,86px); line-height: 1.15; letter-spacing: -.055em; font-weight: 750; }
.hero h1 .hero-metal { display: block; }
.hero h1 .hero-metal-silver { font-size: .58em; line-height: 1.55; letter-spacing: -.035em; }
.hero h1 .hero-category { font-size: 18px; line-height: 1.7; margin-top: 14px; font-family: inherit; letter-spacing: .02em; }
.hero .hero-kicker { font-family: inherit; font-size: 16px; }
.hero-rotating-line { font-family: inherit; font-size: 18px; line-height: 1.8; letter-spacing: -.02em; }
.hero-description-detail { font-size: 14px; line-height: 1.9; }
.hero-highlights { font-size: 11px; }
.hero-cta { font-family: inherit; }
main h2,.intro-copy { font-family: "Malgun Gothic", "Apple SD Gothic Neo", sans-serif; font-size: clamp(32px,3.6vw,52px); font-weight: 700; line-height: 1.4; letter-spacing: -.045em; }
.label { font-family: inherit; font-size: 14px; font-style: normal; letter-spacing: .06em; }
.intro-text { font-family: inherit; font-size: clamp(17px,1.6vw,20px); line-height: 2; }
.story-grid h3,.tips-grid h3,.occasion-grid h3,.venue-detail h3 { font-family: inherit; font-size: 22px; font-weight: 700; letter-spacing: -.03em; }
.story-grid p,.tips-grid p:not(.index),.occasion-grid p,.occasion-note,.faq details p { line-height: 1.95; }
.occasion-number,.index { letter-spacing: .02em; }
#manager-greeting h2 { font-family: inherit; font-weight: 700; letter-spacing: -.04em; }
#manager-greeting .manager-greeting-phone { font-family: inherit; }
.drinks h2 { font-family: inherit; font-size: clamp(32px,3.4vw,46px); }
.drink-card-copy h3,.drink-copy h3 { font-family: inherit; font-weight: 700; font-size: 23px; letter-spacing: -.035em; line-height: 1.45; }
.drink-detail { font-family: inherit; line-height: 1.6; }
.drink-info { line-height: 1.8; }
.drinks-summary h3 { font-family: inherit; font-size: 24px; line-height: 1.5; letter-spacing: -.025em; }
#booking .booking-manager-role { font-family: inherit; }
#booking .booking-steps h3 { font-family: inherit; font-size: 18px; }
#booking .booking-form h3 { font-family: inherit; font-weight: 700; letter-spacing: -.025em; }
#booking .form-grid > label:last-child { grid-column: 1 / -1; }
#booking-form #visit-venue { font-weight: 600; }
#booking-form .contact-method,#booking-form .messenger-button { font-family: "Malgun Gothic", "Apple SD Gothic Neo", sans-serif; }
footer .footer-top { gap: 20px; }
footer nav { display: flex; flex-wrap: wrap; gap: 20px; }
@media(max-width:760px) {
 .hero-content { bottom: 30px; }
 .hero h1 { font-size: 52px; margin-bottom: 18px; }
 .hero h1 .hero-category { font-size: 14px; margin-top: 10px; }
 .hero .hero-kicker { font-size: 13px; margin-bottom: 12px; }
 .hero-rotating-line { font-family: inherit; font-size: 15px; min-height: 1.8em; max-width: none; }
 .hero-description-detail { font-size: 12px; margin-top: 9px; }
 .hero-highlights { font-size: 10px; gap: 8px 16px; }
 .hero-enquiry-note { font-size: 10px; }
 .hero-cta { font-size: 12px; }
 .label { font-size: 12px; margin-bottom: 20px; }
 .story-grid h3,.tips-grid h3,.occasion-grid h3 { font-size: 20px; }
 .drink-card-copy h3,.drink-copy h3 { font-size: 22px; }
 .drinks-summary h3 { font-size: 21px; }
 .footer-top { flex-direction: column; align-items: flex-start; }
 footer nav { font-size: 13px; }
}
@media(max-width:380px) {
 .hero h1 { font-size: 46px; }
 .hero h1 .hero-category { font-size: 13px; }
 .hero-rotating-line { font-size: 13px; }
 .hero-cta { padding-inline: 11px; font-size: 11px; }
 #booking-form :is(#visit-date,#visit-time) { font-size: 12px; }
 #booking-form .contact-method,#booking-form .messenger-button { font-size: 11px; }
}
@media(max-height:700px) and (max-width:760px) {
 .hero { min-height: 700px; }
}

/* KOREAN_LUXURY_20261028 */
:root {
  --bg: #f6f3ec;
  --paper: #23392e;
  --muted: #687268;
  --line: #ded8c9;
  --gold: #a48953;
  --serif: "Batang", "Apple Myungjo", serif;
}
body { background: var(--bg); color: var(--paper); -webkit-font-smoothing: antialiased; }
.wrap { max-width: 1200px; }
.section { padding-block: clamp(76px, 7.5vw, 116px); }
main h2, .intro-copy { font-family: var(--serif); font-weight: 600; font-size: clamp(32px, 3.3vw, 46px); line-height: 1.5; letter-spacing: -.045em; text-wrap: balance; }
.label { color: #8e7345; font-size: 11px; font-weight: 600; letter-spacing: .08em; }
.label::before { width: 30px; background: #bda36b; }
.section-title-motion::after { height: 1px; width: 50px; background: #bca16a; }
.text-link { color: #35513f; border-color: #bda570; font-size: 12px; padding-bottom: 10px; gap: 20px; }
.text-link:hover { color: #93703e; }

.header { min-height: 86px; padding-block: 18px; border-bottom-color: #d9c39424; }
.header .brand::before { width: 39px; height: 45px; font-size: 29px; border-color: #d6bd8199; background: #f5e7bf08; box-shadow: inset 0 0 0 4px #ead7ac07; }
.brand-copy strong { font-family: var(--serif); font-size: 21px; font-weight: 600; }
.brand-copy > span { letter-spacing: .03em; }
.header .site-nav { border-radius: 8px; border-color: #dbc89733; padding: 5px; }
.header .site-nav > a { min-height: 39px; padding-inline: 17px; font-weight: 500; border-radius: 4px; }
.header .site-nav > .nav-enquire { color: #263a2f; background: #ddc895; box-shadow: none; }
.header.scrolled { background: #f8f6eff2; border-bottom-color: #c6b48755; box-shadow: 0 5px 25px #20392a08; backdrop-filter: blur(18px); }
.header.scrolled .site-nav { background: #fffefa80; border-color: #cfc4aa77; box-shadow: none; }
.header.scrolled .site-nav > a { color: #425547; }
.header.scrolled .site-nav > .nav-enquire { background: #294738; color: #fff9ec; }
.header.scrolled .nav-enquire > img { filter: brightness(0) invert(1); }
.header.scrolled .brand::before { color: #927244; border-color: #b69b63; }
.nav-toggle { border-radius: 8px; }
.header.nav-ready .site-nav { border-radius: 10px; }

.hero { min-height: 760px; height: 96svh; }
.hero-shade { background: linear-gradient(90deg, #08150fe8 0%, #09171099 32%, #0917100a 76%), linear-gradient(0deg, #0b1913f5, #07120b00 72%); }
.hero-content { bottom: 54px; }
.hero h1 { font-family: var(--serif); font-size: clamp(70px, 7.1vw, 102px); font-weight: 500; line-height: 1.2; letter-spacing: -.055em; }
.hero h1 .hero-metal { background: none !important; color: #f6efe0; -webkit-text-fill-color: currentColor !important; animation: none !important; filter: none; text-shadow: none; }
.hero h1 .hero-metal-silver { font-size: .49em; color: #ddd9cc; line-height: 1.8; }
.hero h1 .hero-metal-gold { color: #e2c993; }
.hero h1 .hero-category { font-family: inherit; font-size: 17px; font-weight: 500; color: #d8c698; -webkit-text-fill-color: #d8c698; margin-top: 19px; }
.hero .hero-kicker { font-family: inherit; font-size: 13px; font-style: normal; color: #d2bc8c; letter-spacing: .07em; }
.hero-meta { font-size: 10px; font-weight: 400; color: #dddccf; }
.hero-rotating-line { font-size: 17px; font-weight: 500; color: #e7d4a8; }
.hero-description-detail { color: #d4d9d1; font-size: 13px; line-height: 2; }
.hero-highlights { gap: 22px; color: #e5ddc8; font-size: 10px; font-weight: 400; }
.hero-cta { min-height: 48px; border-radius: 5px; padding-inline: 22px; font-size: 12px; font-weight: 600; box-shadow: none; }
.hero-cta-primary { background: #dfcb9c; border-color: #dfcb9c; color: #23382a; }
.hero-cta-primary:hover { background: #eddcb3; border-color: #eddcb3; }
.hero-cta-secondary { color: #f7f2e4; background: #fff9e908; border-color: #e8d6ac55; backdrop-filter: blur(6px); }
.hero-cta-secondary:hover { background: #fff9e914; border-color: #e8d6ac99; }
.hero-enquiry-note { color: #c3cbbd; font-size: 10px; margin-top: 18px; }
.marquee { background: #efe9da; border-color: #cab68955; color: #756843; padding-block: 13px; font-size: 11px; }

#manager-greeting { background: linear-gradient(135deg, #fbfaf6, #f3efe5); padding-block: 88px; border-color: #d7cdb855; }
#manager-greeting .manager-greeting-layout { max-width: 1200px; grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); gap: 58px; }
#manager-greeting .manager-greeting-photo { padding: 9px; border: 1px solid #cbb99188; border-radius: 12px; background: #fffefa; box-shadow: 0 18px 48px #243a2b10; }
#manager-greeting .manager-greeting-photo img { border-radius: 6px; }
#manager-greeting .eyebrow { color: #947244; font-weight: 600; font-size: 11px; letter-spacing: .08em; }
#manager-greeting h2 { font-family: var(--serif); font-size: clamp(28px,2.65vw,36px); font-weight: 600; color: #294336; line-height: 1.6; letter-spacing: -.055em; word-break: keep-all; overflow-wrap: normal; }
#manager-greeting .manager-greeting-body { font-size: 15px; line-height: 2.05; color: #536052; }
#manager-greeting .manager-greeting-topics { color: #857550; border-color: #cdbd9a66; padding-block: 17px; font-size: 12px; }
#manager-greeting .manager-greeting-cta { background: #294738; color: #fff9ec; border-radius: 5px; font-size: 13px; font-weight: 600; min-height: 48px; }
#manager-greeting .manager-greeting-cta:hover { background: #1c3528; }
#manager-greeting .manager-greeting-phone { color: #685b3b; font-size: 13px; }
#manager-greeting .manager-greeting-note { color: #77806e; font-size: 11px; line-height: 1.9; }
.intro-copy { color: #294436; }
.intro-text { color: #61705f; font-size: clamp(16px,1.35vw,18px); line-height: 2.05; }
.premium-word { color: #a0844f; font-style: normal; }
.section-head h2 { font-family: var(--serif); font-size: clamp(34px,3.3vw,46px); }
.section-head > .muted { color: #73806e; }
.venue-photo { border-color: #cbb99188; border-radius: 12px; background: #fcfaf5; box-shadow: 0 16px 40px #263a2a0c; }
.venue-photo > img { background: #f0ebdf; }
.photo-caption { background: #294235; color: #e7d7af; border-top-color: #9d86504d; font-size: 12px; font-weight: 500; padding: 15px 20px; }
.venue-detail h3 { font-family: var(--serif); font-size: 36px; font-weight: 600; }
.venue-en { color: #95815a; letter-spacing: .08em; }
.venue-detail dl > div { border-color: #d9cfb966; padding-block: 17px; }
.venue-detail dt { color: #8d7a55; font-size: 11px; }
.venue-detail dd { color: #4c604e; font-size: 13px; line-height: 1.9; }
.disclosure { color: #8b907f; font-size: 10px; line-height: 1.9; }
.wide-scene { border-block: 1px solid #c2b28f44; }
.wide-scene figcaption { background: #f6f3ec; color: #8a8c7d; font-size: 10px; padding-block: 14px; }
.goguryeo-gallery { border-color: #c7b58d55; padding-block: 18px; background: #eee9dc; }
.goguryeo-gallery img { border-radius: 8px; }

.story, .tips, .faq { border-color: #d2c5a655; }
.story h2, .tips h2, .faq h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(32px,3vw,42px); line-height: 1.5; }
.story-grid { gap: 20px; margin-top: 36px; }
.story-grid article { border: 1px solid #d8ccb388; border-radius: 11px; background: #fcfbf7; padding: 26px; box-shadow: 0 8px 24px #263a2a05; transition: border-color 180ms, box-shadow 180ms; }
.story-grid article:hover { border-color: #b99c60; box-shadow: 0 12px 30px #263a2a0a; }
.story-grid h3, .tips-grid h3 { font-family: var(--serif); color: #43523b; font-size: 21px; line-height: 1.6; font-weight: 600; }
.story-grid p, .tips-grid p:not(.index) { color: #6b7564; font-size: 13px; line-height: 2; margin-top: 13px; }
.occasions { margin-block: 22px; padding: 66px 50px; border: 1px solid #c8ad7144; border-radius: 15px; background: #203b2f; box-shadow: 0 22px 56px #23392d0c; }
.occasions .label { color: #c9b17c; }
.occasions h2 { color: #f3ecdc; font-family: var(--serif); font-weight: 500; font-size: clamp(32px,3.2vw,44px); line-height: 1.5; }
.occasions-intro { color: #bdc9bb; font-size: 14px; line-height: 2; max-width: 70ch; }
.occasion-grid { gap: 30px; margin-top: 36px; }
.occasion-grid article { border-color: #d3bc813b; padding-top: 23px; }
.occasion-grid .occasion-number { color: #c7af78; font-family: Georgia,serif; font-size: 14px; font-weight: 400; }
.occasion-grid h3 { color: #eee5cf; font-family: var(--serif); font-weight: 500; font-size: 21px; line-height: 1.6; }
.occasion-grid article > p:last-child { color: #c1c9b9; font-size: 13px; line-height: 2; }
.occasion-note { color: #acb7a7; font-size: 11px; line-height: 1.9; }
.tips-grid { gap: 24px; }
.tips-grid article { padding: 25px; border: 1px solid #d5c9ad77; border-radius: 10px; background: #faf8f2; }
.tips-grid .index { color: #a58b55; }
.faq-layout { gap: 64px; }
.faq details { margin-bottom: 9px; border: 1px solid #d8ceb988; border-radius: 9px; padding-inline: 22px; background: #fbfaf6; }
.faq details:first-child { border-top-color: #bca675; }
.faq details[open] { border-color: #bda574; background: #fffdf7; }
.faq summary { color: #3b5141; font-size: 15px; font-weight: 500; padding-block: 22px; }
.faq details p { color: #6a7562; font-size: 13px; line-height: 2; padding-bottom: 24px; }

.drinks-heading { gap: 58px; margin-bottom: 25px; align-items: start; }
.drinks h2 { font-family: var(--serif); color: #294436; font-size: clamp(34px,3.4vw,46px); line-height: 1.5; }
.drinks-intro { color: #5f6c5b; font-size: 14px; line-height: 2; }
.drinks-note { color: #898c7a; font-size: 11px; line-height: 1.9; }
.drinks-coverflow-track .drink-item { border: 1px solid #c8b78f88; border-radius: 13px; background: #fdfbf5; box-shadow: 0 20px 44px #233c2c18; }
.drinks-coverflow-track .drink-item[data-active] { border-color: #b49a60; box-shadow: 0 25px 52px #213a2b26; }
.drinks-coverflow-track .drink-card-visual { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr); justify-content: stretch; align-content: stretch; min-height: 0; min-width: 0; background: radial-gradient(ellipse at 50% 38%, #ffffff 0%, #f7f3e9 56%, #e7dfcd 100%); border-bottom: 1px solid #d6c6a244; }
.drinks-coverflow-track .drink-card-visual img { width: 85% !important; height: 95% !important; max-width: 100%; max-height: 100%; min-width: 0; min-height: 0; filter: drop-shadow(0 13px 9px #24372822); }
.drinks-coverflow-track .drink-card-visual::after { background: #3a3f2726; filter: blur(10px); }
.drink-card-number { color: #a19678; font-size: 11px; left: 22px; top: 20px; }
.drinks-coverflow-track .drink-card-copy { padding: 22px 25px !important; }
.drinks-coverflow-track .drink-card-copy h3 { font-family: var(--serif); font-size: 25px; font-weight: 600; line-height: 1.45; color: #2d4838; letter-spacing: -.04em; }
.drinks-coverflow-track .drink-detail { color: #9b7e47; font-size: 12px; font-weight: 500; margin-top: 7px; }
.drinks-coverflow-track .drink-info { color: #7b826f; font-size: 12px; line-height: 1.8; }
.drinks-coverflow-track .drink-enquiry { color: #72613a; border-color: #b9a16b; font-size: 12px; font-weight: 600; letter-spacing: .01em; }
.drinks-coverflow-button { width: 44px; height: 44px; border-color: #c6b795; background: #fffdf6; color: #3a5140; box-shadow: 0 3px 12px #24372805; }
.drinks-coverflow-button:hover { background: #294738; border-color: #294738; }
.drinks-coverflow-dot { background: #c4bfaf; }
.drinks-coverflow-dot[aria-current="true"] { background: #a68a50; }
.drinks-summary { border: 1px solid #cdbc9780; border-radius: 10px; background: #fcfaf3; padding: 27px 30px; }
.drinks-summary h3 { font-family: var(--serif); color: #3c523d; font-weight: 600; font-size: 23px; }
.drinks-summary p { color: #78806c; font-size: 13px; line-height: 1.95; }

#contact { background: #1b352a; color: #ede8d8; font-family: "Malgun Gothic", "Apple SD Gothic Neo", sans-serif; }
#contact .guide-section { padding-block: 96px; }
#contact #booking .section-heading h2 { color: #f6edda; font-family: var(--serif); font-size: clamp(34px,3.3vw,44px); font-weight: 500; line-height: 1.5; }
#contact .section-heading > .eyebrow, #contact .section-number { color: #d2b77a; }
#contact #booking .section-heading > .booking-manager-role { color: #d3bd8b; font-size: 14px; font-weight: 400; }
#contact .section-heading > p:last-child:not(.eyebrow) { color: #becabb; font-size: 14px; line-height: 2; }
#contact #booking .booking-steps { gap: 28px; margin-bottom: 35px; }
#contact #booking .booking-steps li { border-color: #c6ad713f; padding-block: 21px; }
#contact #booking .booking-steps li > span { background: transparent; border: 1px solid #c5aa6b99; color: #dbc593; width: 29px; height: 29px; font-family: Georgia,serif; font-size: 11px; }
#contact #booking .booking-steps h3 { color: #f0e6cd; font-size: 15px; font-weight: 500; }
#contact #booking .booking-steps p { color: #afbdac; font-size: 12px; line-height: 1.8; }
#contact .booking-layout { gap: 42px; }
#contact .booking-form { background: #fdfbf5; border: 1px solid #bda66f99; border-top: 2px solid #c4a970; border-radius: 12px; padding: 30px; box-shadow: 0 20px 50px #07160e24; }
#contact .booking-form > h3 { color: #36503c; font-family: var(--serif); font-weight: 600; font-size: 25px; padding-bottom: 22px; border-color: #d5c6a566; }
#contact .booking-form label { color: #716f58; font-size: 12px; font-weight: 500; }
#contact .booking-form :is(input,select,textarea) { background: #fffefa; color: #314a38; border-color: #d8cfb9; border-radius: 6px; box-shadow: none; }
#contact .booking-form :is(input,select) { min-height: 47px; }
#contact .booking-form :is(input,select,textarea):focus { background: #fffefa; border-color: #ac9158; outline: 2px solid #baa16c33; }
#contact .booking-form textarea { min-height: 250px; font-size: 13px; line-height: 1.9; }
#contact #booking-form #visit-venue[readonly] { background: #f0f2e9; color: #39543f; border-color: #d3c7aa; border-inline-start-color: #b79a62; }
#contact .form-actions .button { background: #2b4937; color: #fff8e8; border-color: #2b4937; border-radius: 6px; min-height: 44px; padding-inline: 18px; font-size: 12px; }
#contact #booking-form :is(.contact-method,.messenger-button) { border-color: #d5cdb9; border-radius: 8px; background: #fffefa; box-shadow: none; font-family: inherit; font-weight: 500; }
#contact #booking-form :is(.contact-method,.messenger-button):hover { border-color: #ac8d50; background: #f3efe4; box-shadow: 0 5px 12px #36442b08; }
#contact #booking-form .contact-method[href^="tel:"] { background: #f1f2e9; border-color: #b49b64; }
#contact .booking-notes { padding-top: 24px; }
#contact .booking-notes .eyebrow { color: #d3ba82; font-size: 10px; letter-spacing: .1em; }
#contact .booking-notes h3 { font-family: var(--serif); color: #f0e5ca; font-size: 28px; font-weight: 500; line-height: 1.5; }
#contact .booking-notes li { color: #becbb7; border-color: #b8caac26; font-size: 13px; line-height: 2; }
#contact .booking-notes li::before { background: #cbb17a; }
#contact .operator-note { color: #afbdac; font-size: 11px; line-height: 1.9; }
#contact .operator-note > img { filter: sepia(.7) brightness(1.8); }

.location h2 { font-family: var(--serif); font-weight: 600; font-size: clamp(34px,3.3vw,44px); }
.location address { color: #50644f; font-family: inherit; font-size: 17px; line-height: 2; }
.location address strong { color: #9a804c; font-weight: 500; }
.location-details > p { color: #7b8472; font-size: 13px; line-height: 1.9; }
.location-map { border-color: #c9b99188; border-radius: 11px; box-shadow: 0 15px 36px #30442b0a; }
footer.wrap { background: #172f25; color: #bdc6b5; border-top-color: #ccb27655; padding-top: 50px; padding-bottom: 110px; }
footer .footer-top .brand { font-family: var(--serif); font-size: 26px; color: #e8d8ad; font-weight: 500; }
footer .footer-top nav { color: #c3ccb9; font-size: 12px; font-weight: 400; }
footer p { color: #9eb19b; font-size: 11px; line-height: 2; }
.goguryeo-mobile-booking { background: #deca98 !important; color: #243e2e !important; border: 1px solid #ead9b3; border-radius: 8px; box-shadow: 0 8px 25px #18302226; }
.goguryeo-mobile-booking > img { filter: brightness(.48) saturate(.4); }

/* Secondary text stays readable on the warm paper backgrounds. */
.label { color: #81663c; }
.brand-copy > span { font-size: 9px; }
.header.scrolled .brand-copy > span { color: #786643; }
#manager-greeting .eyebrow { color: #83643a; }
#manager-greeting .manager-greeting-topics { color: #796741; }
#manager-greeting .manager-greeting-note { color: #69715f; }
.venue-en, .venue-detail dt { color: #7b6946; }
.disclosure { color: #69715f; }
.wide-scene figcaption, .drinks-note { color: #69715f; }
.drink-card-number { color: #786e54; }
.drinks-coverflow-track .drink-detail { color: #806638; }
.drinks-coverflow-track .drink-info, .drinks-summary p { color: #68715e; }
.location address strong { color: #806638; }
.location-details > p { color: #69715f; }

@media (max-width:1100px) {
  #manager-greeting .manager-greeting-layout { gap: 36px; }
  .header .site-nav > a { padding-inline: 12px; }
  #contact .booking-layout { gap: 28px; }
  .occasions { padding-inline: 36px; }
}
@media (max-width:760px) {
  .wrap, #contact .wrap { width: calc(100% - 40px); }
  .section { padding-block: 72px; }
  .header { min-height: 72px; padding: 15px 20px; }
  .header .brand::before { width: 30px; height: 36px; font-size: 24px; }
  .brand-copy strong { font-size: 18px; }
  .brand-copy > span { font-size: 8px; }
  .header.nav-ready .site-nav { background: #faf8f1fa; border-color: #c7b58b; }
  .header .site-nav > a { color: #41573e; }
  .header .site-nav > .nav-enquire { background: #294738; color: #fff8e8; }
  .header .nav-enquire > img { filter: brightness(0) invert(1); }
  .hero { min-height: 730px; height: 92svh; }
  .hero-content { bottom: 42px; }
  .hero h1 { font-size: 61px; margin-bottom: 23px; }
  .hero h1 .hero-metal-silver { font-size: .54em; line-height: 1.8; }
  .hero h1 .hero-category { font-size: 14px; margin-top: 15px; }
  .hero .hero-kicker { font-size: 11px; margin-bottom: 18px; letter-spacing: .025em; }
  .hero-rotating-line { font-size: 14px; }
  .hero-description-detail { font-size: 12px; line-height: 2; }
  .hero-cta { padding-inline: 16px; min-height: 47px; font-size: 12px; }
  .hero-highlights { font-size: 10px; gap: 16px; }
  .hero-enquiry-note { font-size: 10px; }
  .marquee { padding-block: 12px; font-size: 10px; }
  #manager-greeting { padding-block: 55px; }
  #manager-greeting .manager-greeting-layout { grid-template-columns: minmax(0,1fr); gap: 34px; }
  #manager-greeting .manager-greeting-photo { padding: 6px; border-radius: 9px; }
  #manager-greeting h2 { font-size: 28px; line-height: 1.65; }
  #manager-greeting .manager-greeting-body { font-size: 14px; line-height: 2.1; }
  #manager-greeting .manager-greeting-topics { font-size: 11px; padding-block: 16px; }
  #manager-greeting .manager-greeting-note { font-size: 11px; }
  main h2, .intro-copy, .section-head h2 { font-size: 33px; line-height: 1.55; }
  .intro-text { font-size: 16px; line-height: 2; }
  .venue-layout { gap: 30px; }
  .venue-photo { border-radius: 9px; }
  .venue-detail h3 { font-size: 31px; }
  .venue-detail dl > div { padding-block: 15px; }
  .venue-detail dd { font-size: 12px; }
  .story h2, .tips h2, .faq h2 { font-size: 32px; }
  .story-grid { grid-template-columns: minmax(0,1fr); gap: 13px; margin-top: 29px; }
  .story-grid article { padding: 23px; }
  .story-grid h3, .tips-grid h3 { font-size: 21px; }
  .story-grid p, .tips-grid p:not(.index) { font-size: 13px; }
  .occasions { padding: 42px 25px; border-radius: 11px; margin-block: 12px; }
  .occasions h2 { font-size: 31px; }
  .occasions-intro { font-size: 13px; }
  .occasion-grid { gap: 27px; }
  .occasion-grid h3 { font-size: 21px; }
  .occasion-grid article > p:last-child { font-size: 13px; }
  .tips-grid { gap: 14px; }
  .tips-grid article { padding: 23px; }
  .faq-layout { gap: 26px; }
  .faq details { padding-inline: 18px; }
  .faq summary { font-size: 14px; }
  .drinks-heading { gap: 24px; }
  .drinks h2 { font-size: 34px; }
  .drinks-intro { font-size: 14px; }
  .drinks-coverflow-track .drink-item { border-radius: 11px; }
  .drinks-coverflow-track .drink-card-visual img { width: 88% !important; height: 96% !important; }
  .drinks-coverflow-track .drink-card-copy { padding: 18px 20px !important; }
  .drinks-coverflow-track .drink-card-copy h3 { font-size: 23px; }
  .drinks-coverflow-track .drink-detail { font-size: 12px; }
  .drinks-summary { padding: 23px 21px; border-radius: 9px; }
  .drinks-summary h3 { font-size: 22px; line-height: 1.6; }
  .drinks-summary p { font-size: 12px; line-height: 2; }
  #contact .guide-section { padding-block: 74px; }
  #contact #booking .section-heading h2 { font-size: 33px; line-height: 1.6; }
  #contact #booking .section-heading > .booking-manager-role { font-size: 13px; }
  #contact .section-heading > p:last-child:not(.eyebrow) { font-size: 13px; }
  #contact #booking .booking-steps { gap: 0; }
  #contact #booking .booking-steps li { padding-block: 18px; }
  #contact .booking-form { padding: 25px 18px; border-radius: 10px; }
  #contact .booking-form > h3 { font-size: 24px; }
  #contact .booking-form label { font-size: 11px; }
  #contact .booking-notes h3 { font-size: 27px; }
  .location h2 { font-size: 33px; }
  .location address { font-size: 15px; line-height: 2; }
  footer.wrap { padding-top: 40px; padding-bottom: 110px; }
  footer .footer-top .brand { font-size: 24px; }
}
@media(max-width:359px) {
  .hero h1 { font-size: 53px; }
  .hero-rotating-line { font-size: 13px; }
  .hero-cta { font-size: 11px; padding-inline: 12px; }
  .hero-highlights { gap: 12px; font-size: 9px; }
  #manager-greeting h2 { font-size: 26px; }
  main h2, .intro-copy, .section-head h2, .story h2, .tips h2, .faq h2 { font-size: 30px; }
  .occasions { padding-inline: 22px; }
  .occasions h2 { font-size: 28px; }
  .drinks-coverflow-track .drink-card-copy { padding-inline: 17px !important; }
  .drinks-coverflow-track .drink-card-copy h3 { font-size: 21px; }
  #contact .booking-form { padding-inline: 15px; }
}
@media(prefers-reduced-motion:reduce) {
  .story-grid article, .hero-cta, .drinks-coverflow-button { transition: none; }
}
