/* Kopi & Bulan premium system — adapted from the supplied Araso project. */
:root{--forest:#15392f;--water:#0d2822;--sage:#6f877a;--cream:#f4f0e7;--sand:#e8ddc8;--gold:#c9a86a;--gold-light:#e2c98f;--white:#fffdf8;--ink:#1d2924;--muted:#68736d;--line:#d8ded8;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;--container:1180px;--shadow-soft:0 18px 50px rgba(13,40,34,.1)}
html{scroll-padding-top:100px}body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;letter-spacing:.002em}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.1'/%3E%3C/svg%3E")}.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}h1,h2,h3,.display{font-family:var(--serif);font-weight:400}h2{font-size:clamp(40px,4.5vw,66px);line-height:1.06;letter-spacing:-.035em}.eyebrow{color:var(--gold);font:700 10px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase}.lede{color:var(--muted);font-size:17px;line-height:1.85}.section{padding:clamp(82px,9vw,130px) 0}.section-sand{background:linear-gradient(135deg,#ece3d2,#e4d6bd)}.section-head{align-items:flex-end;margin-bottom:56px;gap:48px}.section-head>div{max-width:710px}.section-head>.lede{max-width:360px}.section-head h2{margin-top:16px}.detail-label{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.small-note{color:var(--muted);font-size:12px;letter-spacing:.04em}

/* Header: quiet, precise and spacious like the supplied project. */
.site-header,.site-header.is-scrolled{position:sticky;top:0;z-index:100;background:rgba(244,240,231,.94)!important;border-bottom:1px solid rgba(21,57,47,.15)!important;box-shadow:none!important;backdrop-filter:blur(18px);transition:transform .3s ease,background .3s ease,box-shadow .3s ease}.site-header.is-scrolled{background:rgba(255,253,248,.97)!important;box-shadow:0 9px 30px rgba(13,40,34,.07)!important}.site-header.header-hidden{transform:translateY(-110%)}.nav-container{min-height:88px;gap:38px}.premium-logo{display:inline-flex!important;align-items:center;gap:13px;flex-shrink:0}.logo-emblem{position:relative;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--gold);border-radius:50%}.logo-emblem:before{content:"";width:19px;height:19px;border:2px solid var(--forest);border-right-color:transparent;border-radius:50%;transform:rotate(-20deg)}.logo-emblem i{position:absolute;width:3px;height:3px;right:10px;top:9px;background:var(--gold);border-radius:50%}.premium-logo .logo-name{color:var(--forest)!important;font:700 17px/1.1 var(--sans);letter-spacing:.14em}.premium-logo .logo-name small{display:block;margin-top:6px;color:var(--sage);font-size:8px;letter-spacing:.22em}.main-nav{gap:30px}.main-nav a{padding:35px 0;color:var(--forest)!important;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.main-nav a:after{height:1px;background:var(--gold)!important}.main-nav a[aria-current=page]:after{transform:scaleX(1)}.main-nav .login-link{min-height:44px;padding:0 19px;border:1px solid rgba(21,57,47,.35);background:transparent;border-radius:2px}.main-nav .kb-nav-join{min-height:44px;padding:0 19px;display:inline-flex;align-items:center;background:var(--forest);border:1px solid var(--forest);color:var(--cream)!important}.profile-mini{background:var(--forest);color:var(--cream)}

/* Heroes */
.page-hero,.page-hero.inner-photo-hero,.home-hero{position:relative;isolation:isolate;min-height:500px;padding:80px 0;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 80% 30%,rgba(201,168,106,.16),transparent 28%),linear-gradient(135deg,#193f34 0%,#0d2822 66%,#091d19 100%)!important;color:var(--cream);border-bottom:1px solid rgba(201,168,106,.45)}.home-hero{min-height:760px}.premium-hero:before{content:"";position:absolute;inset:22px;border:1px solid rgba(201,168,106,.2);pointer-events:none}.premium-hero .container{position:relative;z-index:2;width:min(calc(100% - 72px),var(--container))}.home-hero-content,.page-hero-content{max-width:850px;padding:54px 0!important}.premium-hero .eyebrow{color:var(--gold)}.premium-hero h1{margin:24px 0 30px;color:var(--cream)!important;font-size:clamp(56px,7vw,106px)!important;line-height:.99;letter-spacing:-.05em}.inner-photo-hero h1{font-size:clamp(50px,5.6vw,80px)!important;line-height:1.04}.premium-hero h1 span{display:block;color:#e8d6b2!important;font-style:italic}.premium-hero h1:after{content:"";display:block;width:82px;height:1px;margin-top:30px;background:var(--gold)}.premium-hero .lede{max-width:610px;color:rgba(244,240,231,.78)!important}.premium-hero .hero-actions{justify-content:flex-start;margin-top:38px}.hero-orbit{position:absolute;right:-4vw;top:50%;width:min(46vw,640px);aspect-ratio:1;transform:translateY(-50%);border:1px solid rgba(201,168,106,.18);border-radius:50%;z-index:-1}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(201,168,106,.12)}.hero-orbit:before{inset:12%}.hero-orbit:after{inset:28%;background:radial-gradient(circle at 35% 35%,rgba(232,214,178,.2),rgba(201,168,106,.03) 58%,transparent 60%)}.hero-orbit span{position:absolute;width:8px;height:8px;top:24%;left:7%;background:var(--gold);border-radius:50%;box-shadow:0 0 24px var(--gold)}.hero-index{position:absolute;right:0;bottom:8px;display:flex;align-items:center;gap:14px;color:rgba(244,240,231,.55);font-size:9px;letter-spacing:.2em}.hero-index i{display:block;width:70px;height:1px;background:rgba(201,168,106,.5)}

/* Buttons and editorial */
.btn{min-height:50px;padding:15px 26px;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:background .25s,color .25s,transform .25s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold)!important;border:1px solid var(--gold)!important;color:var(--water)!important}.btn-gold:hover{background:var(--gold-light)!important}.btn-forest{background:var(--forest)!important;border:1px solid var(--forest)!important;color:var(--cream)!important}.btn-outline{border:1px solid rgba(244,240,231,.68)!important;color:var(--cream)!important;background:transparent!important}.btn-outline-dark{border:1px solid var(--forest)!important;color:var(--forest)!important;background:transparent!important}.text-arrow{display:inline-flex;gap:14px;align-items:center;color:var(--forest);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.text-arrow span{color:var(--gold);font-size:18px}.editorial{grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);gap:clamp(60px,10vw,140px);align-items:center}.editorial h2{margin-top:18px}.editorial-copy{max-width:590px}.editorial-copy-polished{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.editorial-copy-polished>*{margin:0}.intro-lede{font-family:var(--serif);font-size:clamp(22px,2.1vw,31px);line-height:1.5;color:var(--forest)}

/* Experience and selected menu */
.experience-grid{gap:0;border-block:1px solid rgba(21,57,47,.18)}.experience{position:relative;padding:42px 38px 46px;border:0!important;border-right:1px solid rgba(21,57,47,.16);background:transparent!important}.experience:first-child{padding-left:0}.experience:last-child{border-right:0;padding-right:0}.experience .number{display:block;margin-bottom:55px;color:var(--gold);font:italic 30px var(--serif)}.experience h3{font-size:29px;margin-bottom:14px;color:var(--forest)}.experience p{color:var(--muted);font-size:14px}.selection-list{border-top:1px solid var(--line)}.selection-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.selection-row>.number{color:var(--gold);font:italic 25px var(--serif)}.selection-row h3{font-size:28px;color:var(--forest);margin:4px 0}.selection-row p:not(.detail-label){color:var(--muted);font-size:13px}.selection-row strong{color:var(--forest);font:400 18px var(--serif);white-space:nowrap}

/* Purposeful placeholders: no cafe photography until approved. */
.visual-placeholder,.photo-placeholder{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#14382f,#0d2822)!important;color:var(--cream)}.visual-placeholder:before,.photo-placeholder:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 0 48%,rgba(201,168,106,.1) 48% 48.2%,transparent 48.2%),repeating-linear-gradient(90deg,transparent 0 89px,rgba(255,255,255,.025) 90px)}.wide-visual{min-height:590px;padding:110px 0;display:grid;place-items:center}.wide-visual .container{display:flex;justify-content:center}.wide-visual-content{position:relative;z-index:2;max-width:850px;text-align:center}.wide-visual-content .eyebrow{color:var(--gold)}.wide-visual-content h2{color:var(--cream);font-size:clamp(48px,6vw,82px);margin:20px 0}.wide-visual-content p{max-width:600px;margin-inline:auto;color:rgba(244,240,231,.72)}.wide-visual-content .hero-actions{justify-content:center;margin-top:32px}.visual-watermark{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font:400 clamp(170px,29vw,430px)/1 var(--serif);color:rgba(244,240,231,.025);white-space:nowrap}.photography-note{position:absolute;right:32px;bottom:28px;color:rgba(244,240,231,.45);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.feature-placeholder{min-height:480px;padding:44px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(201,168,106,.5)}.feature-placeholder span,.portrait-placeholder span,.photo-placeholder>span{color:var(--gold);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.feature-placeholder strong{font:400 clamp(35px,4vw,56px)/1.15 var(--serif)}.portrait-placeholder{min-height:600px;padding:38px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(201,168,106,.5)}.portrait-placeholder b{align-self:center;font:400 150px/1 var(--serif);color:rgba(201,168,106,.45)}

/* Story, gallery, visit, footer */
.heritage-timeline{border-top:1px solid rgba(21,57,47,.2)}.heritage-story{display:grid;grid-template-columns:100px 1fr;gap:35px;padding:34px 0;border-bottom:1px solid rgba(21,57,47,.2)}.heritage-number{color:var(--gold);font:italic 32px var(--serif)}.heritage-story h3{font-size:28px;color:var(--forest);margin-bottom:10px}.heritage-story p{max-width:620px;color:var(--muted)}.story-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(60px,10vw,140px);align-items:center}.gallery-filter-band{padding-top:42px}.gallery-filters{display:flex;gap:10px;overflow-x:auto;padding:4px 0 14px}.gallery-filters button{flex:0 0 auto;min-height:44px;padding:10px 20px;border:1px solid rgba(21,57,47,.22);border-radius:999px;background:transparent;color:var(--forest);font-size:12px}.gallery-filters button.active{background:var(--forest);border-color:var(--forest);color:var(--cream)}.premium-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.premium-gallery .gallery-item{position:relative;min-height:390px;padding:28px;border:1px solid rgba(201,168,106,.42);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-align:left}.premium-gallery .gallery-item:nth-child(3n+1){min-height:520px}.premium-gallery .gallery-item b{position:absolute;right:28px;top:20px;color:rgba(244,240,231,.18);font:400 70px var(--serif)}.premium-gallery .gallery-item p{margin-top:9px;color:rgba(244,240,231,.65);font-family:var(--serif);font-size:25px}.location-preview{gap:70px}.location-card{background:var(--forest)!important;color:var(--cream)!important;border:1px solid var(--gold)!important;padding:50px!important;box-shadow:var(--shadow-soft)}.location-card h3,.location-card p{color:var(--cream)!important}.location-card .detail-label{color:var(--gold)!important}.final-cta{padding:105px 0;text-align:center;background:var(--water);color:var(--cream);border-block:1px solid rgba(201,168,106,.45)}.final-cta h2{margin:20px 0;color:var(--cream)}.final-cta p:not(.eyebrow){color:rgba(244,240,231,.7)}.final-cta .hero-actions{justify-content:center;margin-top:32px}

/* Existing menu/location/auth pages brought into the same system. */
.menu-hero,.location-hero,.gallery-hero{background:radial-gradient(circle at 80% 30%,rgba(201,168,106,.16),transparent 28%),linear-gradient(135deg,#193f34,#0d2822 68%)!important}.page-hero:after{display:none!important}.page-hero-content{max-width:720px!important}.page-hero h1{font-size:clamp(50px,5.6vw,80px)!important}.page-hero h1 span{color:#e8d6b2!important}.page-hero .eyebrow{color:var(--gold)!important}.page-hero .lede{color:rgba(244,240,231,.78)!important}.member-banner{border:1px solid rgba(201,168,106,.45)!important;background:rgba(255,255,255,.05)!important;color:var(--cream)!important}.food-grid{gap:24px}.food-card{background:var(--white)!important;border:1px solid var(--line)!important;border-radius:2px!important;box-shadow:none!important}.food-card:hover{border-color:var(--gold)!important;box-shadow:var(--shadow-soft)!important;transform:translateY(-3px)}.food-image{position:relative;background:linear-gradient(135deg,#173c32,#0d2822)!important}.food-image img{display:none!important}.food-image:after{content:"Photography to follow";position:absolute;left:18px;bottom:16px;color:rgba(244,240,231,.55);font-size:9px;letter-spacing:.16em;text-transform:uppercase}.menu-art{height:100%!important;background:transparent!important;color:var(--gold)!important}.menu-search{background:var(--white)!important;border:1px solid var(--line)!important}.menu-filter a.active{background:var(--forest)!important;color:var(--cream)!important}.kb-wide-visual{background:linear-gradient(135deg,#14382f,#0d2822)!important}.kb-location-art{min-height:620px;background:linear-gradient(145deg,#173c32,#0d2822)!important;border:1px solid var(--gold)!important}.kb-location-art:after{content:"Photography to follow";position:absolute;left:28px;bottom:24px;color:rgba(244,240,231,.55);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.kb-location-art>div{display:flex!important;color:var(--cream)}.map-placeholder{background:linear-gradient(135deg,#e9dfcb,#f7f2e8)!important;border:1px solid rgba(21,57,47,.18)!important}.auth-page{background:radial-gradient(circle at 85% 15%,rgba(201,168,106,.16),transparent 25%),var(--cream)!important}.auth-card{border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important;background:var(--white)!important}

/* Footer follows the supplied project's substantial four-column structure. */
.customer-footer{padding:80px 0 0;background:radial-gradient(ellipse at 0 0,rgba(37,75,61,.5),transparent 60%),var(--water)!important;color:#d7dfda;border-top:1px solid rgba(201,168,106,.45)}.customer-footer .footer-grid{display:grid;grid-template-columns:1.35fr .65fr 1.1fr .85fr;gap:46px;padding-bottom:58px}.customer-footer .premium-logo{margin-bottom:24px}.customer-footer .logo-emblem{border-color:var(--gold)}.customer-footer .logo-emblem:before{border-color:var(--cream);border-right-color:transparent}.customer-footer .logo-name{color:var(--cream)!important}.customer-footer .logo-name small{color:#aebdb4}.footer-brand-line{margin-bottom:16px;color:var(--cream);font-size:18px;line-height:1.6}.customer-footer .footer-note{max-width:260px;color:#aebdb4;font-size:13px;line-height:1.8}.footer-signature{display:block;margin-top:26px;color:var(--gold);font-size:9px;letter-spacing:.15em;text-transform:uppercase}.customer-footer .footer-title{margin:9px 0 26px;color:var(--gold);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.customer-footer .footer-title:before{content:"";display:inline-block;width:20px;height:1px;margin-right:10px;vertical-align:middle;background:var(--gold)}.footer-navigation nav{display:grid}.footer-navigation nav a{min-height:40px;display:flex;align-items:center;color:#d7dfda;font-size:13px}.footer-navigation nav a:hover{color:var(--gold)}.footer-visit h3{margin-bottom:12px;color:var(--cream);font-size:20px}.footer-visit address{font-style:normal;color:#b9c6be;font-size:13px;line-height:1.9}.footer-hours{margin:22px 0;color:#d7dfda;font-size:12px}.footer-hours span{display:block;color:var(--gold);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.footer-hours small{color:#91a59a}.footer-directions{display:inline-flex;min-height:46px;padding:11px 17px;align-items:center;gap:24px;border:1px solid var(--gold);color:var(--gold);font-size:12px}.footer-phone{display:block;margin:22px 0 16px;color:var(--cream);font:400 19px var(--serif)}.footer-visit-link{color:var(--gold);font-size:12px}.customer-footer .footer-bottom{padding:23px 0;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;color:#8ea098;font-size:11px}.customer-footer .footer-bottom a{color:#b9c6be}

@media(max-width:1000px){.main-nav{gap:15px}.main-nav a{letter-spacing:.07em}.customer-footer .footer-grid{grid-template-columns:1fr 1fr}.experience{padding-inline:24px}.premium-hero h1{font-size:clamp(55px,8vw,86px)!important}}
@media(max-width:768px){.container{width:min(calc(100% - 32px),var(--container))}.nav-container{min-height:72px}.premium-logo .logo-emblem{width:38px;height:38px}.premium-logo .logo-name{font-size:14px}.nav-toggle{display:grid;margin-left:auto!important;border:1px solid var(--forest)!important;background:transparent!important}.main-nav{top:72px;background:var(--cream)!important;border:1px solid var(--line)!important}.main-nav a{padding:15px 20px}.main-nav .login-link,.main-nav .kb-nav-join{margin:5px 12px;padding:14px 16px}.premium-hero:before{inset:12px}.premium-hero .container{width:min(calc(100% - 40px),var(--container))}.home-hero{min-height:680px}.page-hero,.page-hero.inner-photo-hero{min-height:430px;padding:48px 0}.premium-hero h1,.page-hero h1{font-size:clamp(45px,12vw,64px)!important;line-height:1.02}.home-hero-content,.page-hero-content{padding:30px 0!important}.hero-orbit{right:-55%;width:125vw}.hero-index{display:none}.hero-actions{flex-direction:column;align-items:stretch;max-width:330px}.hero-actions .btn{width:100%}.editorial,.story-grid{grid-template-columns:1fr;gap:50px}.section{padding:72px 0}.section-head{flex-direction:column;align-items:flex-start;margin-bottom:38px}.section-head>.lede{max-width:100%}.experience-grid{grid-template-columns:1fr}.experience,.experience:first-child,.experience:last-child{padding:30px 0;border-right:0;border-bottom:1px solid rgba(21,57,47,.16)!important}.experience:last-child{border-bottom:0!important}.experience .number{margin-bottom:24px}.selection-row{grid-template-columns:38px minmax(0,1fr);gap:14px}.selection-row strong{grid-column:2}.wide-visual{min-height:500px;padding:80px 0}.feature-placeholder{min-height:430px}.portrait-placeholder{min-height:480px}.heritage-story{grid-template-columns:58px 1fr;gap:18px}.premium-gallery{grid-template-columns:1fr}.premium-gallery .gallery-item,.premium-gallery .gallery-item:nth-child(3n+1){min-height:330px}.customer-footer .footer-grid{grid-template-columns:1fr;gap:38px}.customer-footer .footer-bottom{align-items:flex-start;gap:12px;flex-direction:column}.location-card{padding:35px!important}.photography-note{right:18px;bottom:18px}}
@media(max-width:768px){html,body{max-width:100%;overflow-x:hidden}.premium-hero h1,.premium-hero h1 span,.section-head h2{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}.gallery-section .section-head h2{font-size:clamp(38px,11vw,52px)}.section-head>*{width:100%;min-width:0}.gallery-section .container,.premium-gallery{width:100%;min-width:0}.premium-gallery .gallery-item,.premium-gallery .gallery-item:nth-child(n){grid-column:auto!important;width:auto!important;min-width:0!important}.gallery-filter-band{overflow:visible}.gallery-filters{max-width:100%;overflow:visible;flex-wrap:wrap}.gallery-filters button{font-size:11px;padding:9px 16px}.premium-gallery{overflow:hidden}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}[data-reveal]{opacity:1!important;transform:none!important}}

/* Kopi & Bulan palette: ivory walls, timber, charcoal and lamp-light — never forest green. */
:root{--forest:#352820;--water:#1d1714;--sage:#7c6d61;--cream:#f7f1e8;--sand:#e8dac5;--gold:#bd8750;--gold-light:#ddb57c;--white:#fffdf9;--ink:#29211d;--muted:#74675e;--line:#d9cdbd;--shadow-soft:0 18px 50px rgba(48,34,25,.12)}
.site-header,.site-header.is-scrolled{background:rgba(247,241,232,.95)!important;border-bottom-color:rgba(53,40,32,.14)!important}.site-header.is-scrolled{background:rgba(255,253,249,.98)!important;box-shadow:0 9px 30px rgba(48,34,25,.08)!important}.logo-emblem:before{border-color:#352820;border-right-color:transparent}.premium-logo .logo-name,.main-nav a{color:#352820!important}.main-nav .login-link{border-color:rgba(53,40,32,.35)}.main-nav .kb-nav-join,.btn-forest{background:#352820!important;border-color:#352820!important}.profile-mini{background:#352820}.section-sand{background:linear-gradient(135deg,#eee2d1,#e5d1b8)}.intro-lede,.experience h3,.selection-row h3,.selection-row strong,.heritage-story h3,.text-arrow{color:#352820}
.page-hero,.page-hero.inner-photo-hero,.home-hero,.menu-hero,.location-hero,.gallery-hero{background:radial-gradient(circle at 78% 33%,rgba(222,181,124,.16),transparent 25%),linear-gradient(135deg,#39281e 0%,#211812 64%,#15100e 100%)!important}.hero-orbit:after{background:radial-gradient(circle at 35% 35%,rgba(221,181,124,.22),rgba(189,135,80,.05) 58%,transparent 60%)}.visual-placeholder,.photo-placeholder,.kb-wide-visual{background:linear-gradient(135deg,#39281e,#1d1714)!important}.visual-placeholder:before,.photo-placeholder:before{background:linear-gradient(115deg,transparent 0 48%,rgba(221,181,124,.11) 48% 48.2%,transparent 48.2%),repeating-linear-gradient(90deg,transparent 0 89px,rgba(255,255,255,.025) 90px)}.food-image,.kb-location-art{background:linear-gradient(135deg,#4a3224,#211812)!important}.map-placeholder{background:linear-gradient(135deg,#f0e4d4,#faf5ed)!important;border-color:rgba(53,40,32,.18)!important}.location-card{background:#352820!important}.customer-footer{background:radial-gradient(ellipse at 0 0,rgba(99,67,44,.48),transparent 60%),#1d1714!important}.customer-footer .footer-bottom{border-color:rgba(255,255,255,.12)}

/* Richer page composition: moonlit timber, paper and lamp light. */
.site-prelude{height:27px;background:#211812;color:#dcb170;overflow:hidden}.site-prelude .container{height:100%;display:flex;align-items:center;justify-content:space-between;font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.site-prelude .prelude-message{color:#f0dfc7}.site-prelude+.nav-container{min-height:78px}.site-header .nav-container{position:relative}.site-header .nav-container:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 0 7%,rgba(189,135,80,.35) 7% 34%,transparent 34% 66%,rgba(189,135,80,.35) 66% 93%,transparent 93%)}
.home-hero{background:radial-gradient(circle at 76% 38%,rgba(229,185,121,.19),transparent 23%),linear-gradient(115deg,#412d22,#271a14 57%,#17110e)!important}.home-hero .hero-orbit{border-color:rgba(221,181,124,.24)}.home-hero .hero-orbit:before{border-color:rgba(221,181,124,.19)}.home-hero-content{position:relative}.home-hero-content:before{content:"KOPI\A BULAN";white-space:pre;position:absolute;left:-38px;top:50%;transform:translateY(-50%);color:rgba(255,244,228,.045);font:700 118px/.78 var(--sans);letter-spacing:-.11em;z-index:-1}.home-hero .display{max-width:780px}.home-hero .hero-actions .btn-gold{box-shadow:0 16px 32px rgba(189,135,80,.2)}
.final-cta{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 0,rgba(189,135,80,.16),transparent 36%),#211812}.final-cta:before,.final-cta:after{content:"";position:absolute;top:50%;width:240px;height:240px;border:1px solid rgba(221,181,124,.15);border-radius:50%;transform:translateY(-50%)}.final-cta:before{left:-150px}.final-cta:after{right:-150px}.final-cta .container{position:relative;z-index:1}.customer-footer{position:relative;overflow:hidden}.customer-footer:after{content:"";position:absolute;right:-35px;bottom:-150px;width:360px;height:360px;border:1px solid rgba(221,181,124,.08);border-radius:50%}.customer-footer .footer-grid,.customer-footer .footer-bottom{position:relative;z-index:1}.footer-brand:before{content:"";display:block;width:64px;height:1px;margin-bottom:25px;background:var(--gold)}.footer-navigation nav a{position:relative}.footer-navigation nav a:before{content:"";width:0;height:1px;margin-right:0;background:var(--gold);transition:width .25s,margin-right .25s}.footer-navigation nav a:hover:before{width:15px;margin-right:8px}.footer-phone{font-size:22px!important}.footer-contact{padding-left:26px;border-left:1px solid rgba(221,181,124,.22)}
.menu-introduction{position:relative;overflow:hidden}.menu-introduction:after{content:"";position:absolute;inset:14% 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(189,135,80,.22),transparent)}.menu-intro-mark{position:absolute;left:-11px;bottom:-40px;color:rgba(53,40,32,.06);font:500 190px/.8 var(--serif);letter-spacing:-.16em}.menu-intro-mark span{color:rgba(189,135,80,.11);font-style:italic}.menu-introduction .editorial{position:relative;z-index:1}.menu-introduction h2 em{color:var(--gold);font-weight:400}.menu-introduction .editorial-copy{position:relative;padding:32px 0 32px 42px;border-left:1px solid rgba(189,135,80,.5)}.menu-introduction .editorial-copy:before{content:"01";position:absolute;top:30px;left:-14px;padding:0 5px;color:var(--gold);background:var(--cream);font:italic 17px var(--serif)}#kopi-bulan-menu{background:linear-gradient(180deg,#f0e6d8 0,#f7f1e8 48%)}.menu-filter-wrap{padding:8px;border:1px solid rgba(189,135,80,.38);background:rgba(255,253,249,.55)}.menu-filter{gap:5px!important}.menu-filter a{border-radius:1px!important;min-height:39px;display:flex;align-items:center}.menu-search{box-shadow:0 16px 38px rgba(48,34,25,.06)}
.food-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.food-card{position:relative;display:flex!important;flex-direction:column;min-height:470px;overflow:hidden}.food-card:before{content:"";position:absolute;z-index:1;right:16px;top:16px;width:17px;height:17px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);pointer-events:none}.food-image{height:215px!important;min-height:215px!important;flex:0 0 215px;overflow:hidden}.food-image:before{content:"";position:absolute;inset:14px;border:1px solid rgba(221,181,124,.23)}.food-image:after{display:none}.food-image img{display:none!important}.menu-card-number{position:absolute;left:22px;top:18px;color:#f7ebd8;font:400 42px/1 var(--serif);z-index:2}.menu-visual-label{position:absolute;left:22px;bottom:18px;color:#dcb170;font-size:9px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;z-index:2}.menu-orbit{position:absolute;width:190px;height:190px;right:-55px;top:13px;border:1px solid rgba(221,181,124,.24);border-radius:50%}.menu-orbit:before{content:"";position:absolute;inset:25px;border:1px solid rgba(221,181,124,.16);border-radius:50%}.food-card-content{display:flex;flex:1;flex-direction:column;justify-content:space-between;padding:28px!important}.food-card-content h3{font-size:28px!important;line-height:1.1;color:var(--forest)!important}.food-card-content p{font-size:13px!important;line-height:1.7}.food-card-bottom{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.price{font:400 20px var(--serif)!important;color:var(--forest)!important}.favourite-button{border:1px solid rgba(189,135,80,.55)!important;background:transparent!important;color:var(--gold)!important}.food-card:nth-child(3n+2) .food-image{background:linear-gradient(135deg,#5a3b27,#231812)!important}.food-card:nth-child(3n+3) .food-image{background:linear-gradient(135deg,#36251f,#120f0d)!important}
.location-destination{align-items:stretch!important}.kb-location-art{position:relative;min-height:640px!important;display:grid!important;place-items:center;overflow:hidden}.kb-location-art:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(221,181,124,.2);border-radius:50%}.kb-location-art:after{display:none!important}.kb-location-art>div{position:relative;z-index:1;display:grid!important;place-items:center;text-align:center}.kb-location-art>div span{font:100px/1 var(--serif)!important;color:#dcb170}.kb-location-art>div strong{font:400 31px var(--serif)!important;letter-spacing:.08em}.kb-location-art>div small{margin-top:12px;color:#dcb170!important;letter-spacing:.22em}.location-destination>div:last-child{position:relative;padding:48px 0 34px}.location-destination>div:last-child:before{content:"VISIT";position:absolute;right:0;top:7px;color:rgba(53,40,32,.045);font:500 142px/1 var(--serif);letter-spacing:-.08em}.location-destination>div:last-child>*{position:relative}.map-section{position:relative}.map-placeholder{position:relative;overflow:hidden;padding:64px!important}.map-placeholder:after{content:"IPOH · 30020";position:absolute;right:-16px;bottom:8px;color:rgba(53,40,32,.06);font:500 86px/1 var(--serif);letter-spacing:-.06em}.map-placeholder>div:first-child{position:relative;z-index:1}.map-pin{border:1px solid var(--gold)!important;background:var(--cream)!important;color:var(--forest)!important}
.premium-gallery .gallery-item{background:linear-gradient(135deg,#39281e,#1d1714)!important}.premium-gallery .gallery-item:nth-child(2n){background:linear-gradient(135deg,#5d3c26,#261914)!important}.premium-gallery .gallery-item:nth-child(3n){background:linear-gradient(135deg,#31231d,#18120f)!important}.premium-gallery .gallery-item:after{content:"";position:absolute;inset:18px;border:1px solid rgba(221,181,124,.28);pointer-events:none}.premium-gallery .gallery-item:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(48,34,25,.18)}.premium-gallery .gallery-item:hover:after{border-color:rgba(240,205,147,.7)}.premium-gallery .gallery-item p{position:relative;z-index:1}.gallery-filter-band{position:relative}.gallery-filter-band:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
.premium-gallery .gallery-item{transition:opacity .3s ease,transform .45s cubic-bezier(.22,.75,.24,1),box-shadow .35s ease}.premium-gallery .gallery-item.is-filtering-out{opacity:0!important;transform:translateY(8px) scale(.985)!important}.premium-gallery .gallery-item.is-filtering-in{animation:galleryCardIn .42s cubic-bezier(.22,.75,.24,1) both}@keyframes galleryCardIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}body[data-page="story"] .heritage-story.is-visible .heritage-number{animation:storyNumberIn .7s ease both}@keyframes storyNumberIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.premium-gallery button.gallery-item{width:100%;border-radius:0;color:inherit;font:inherit;cursor:pointer}.premium-gallery-photo{overflow:hidden}.premium-gallery-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block!important;transition:transform .6s ease,filter .6s ease}.premium-gallery-photo:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(19,12,9,.78) 100%)}.premium-gallery-photo>*:not(img){position:relative;z-index:2}.premium-gallery-photo:hover>img{transform:scale(1.035);filter:saturate(1.05)}
@media(max-width:768px){.site-prelude{height:24px}.site-prelude .prelude-message{display:none}.site-prelude .container{font-size:7px}.site-prelude+.nav-container{min-height:63px}.main-nav{top:87px!important}.home-hero-content:before{font-size:74px;left:-10px}.food-grid{grid-template-columns:1fr!important}.food-card{min-height:0}.food-image{height:185px!important;min-height:185px!important;flex-basis:185px}.menu-introduction .editorial-copy{padding-left:24px}.menu-intro-mark{font-size:145px}.footer-contact{padding-left:0;border-left:0}.kb-location-art{min-height:400px!important}.kb-location-art:before{width:340px;height:340px}.kb-location-art>div span{font-size:72px!important}.location-destination>div:last-child{padding-top:20px}.location-destination>div:last-child:before{font-size:90px}.map-placeholder{padding:40px 28px!important}.map-placeholder:after{font-size:52px}}

/* Typography matched to the supplied Araso site: Georgia display, Arial utility. */
:root{--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;--container:1160px}
body{font-family:var(--sans);font-size:16px;line-height:1.65;letter-spacing:normal}
.display,h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}
.display{font-size:clamp(48px,7vw,92px);letter-spacing:-.025em}
h1{font-size:clamp(42px,5vw,68px);letter-spacing:-.02em}
h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.015em}
h3{font-size:28px;letter-spacing:normal}
.eyebrow,.kicker{font:700 11px/1.2 var(--sans);letter-spacing:.20em;text-transform:uppercase}
.lede{font-size:18px;line-height:1.7}
.btn{min-height:46px;padding:13px 23px;font:700 11px/1 var(--sans);letter-spacing:.08em}
.premium-logo .logo-name{font:700 22px/1 var(--sans);letter-spacing:.13em}.premium-logo .logo-name small{font:700 8px/1 var(--sans);letter-spacing:.18em}
.main-nav a,.main-nav .login-link{font:700 12px/1 var(--sans);letter-spacing:normal}.main-nav a{padding:8px 0}.main-nav a:after{bottom:-7px;height:2px}
.detail-label{font:700 11px/1.2 var(--sans);letter-spacing:.20em}.small-note{font-size:12px;letter-spacing:normal}
@media(max-width:768px){.premium-logo .logo-name{font-size:18px}.main-nav a,.main-nav .login-link{font-size:12px}.display{font-size:clamp(48px,12vw,68px)}}

/* Keep the reference hierarchy intact in the existing Kopi & Bulan hero components. */
.home-hero h1{font-size:clamp(52px,7vw,90px)!important;line-height:1.08!important;letter-spacing:-.025em!important}.page-hero h1,.page-hero.inner-photo-hero h1{font-size:clamp(48px,5.4vw,76px)!important;line-height:1.06!important;letter-spacing:-.035em!important}.premium-hero .eyebrow,.page-hero .eyebrow{font:700 11px/1.2 var(--sans)!important;letter-spacing:.20em!important}.premium-hero .lede,.page-hero .lede{font-size:17px!important;line-height:1.85!important}

/* Kopi & Bulan type system: editorial warmth for guests, crisp utility for administration. */
:root{--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,Helvetica,sans-serif;--utility:"Space Grotesk",Arial,Helvetica,sans-serif}
body{font-family:var(--sans);font-weight:400;line-height:1.72}.display,h1,h2,h3,.intro-lede,.feature-placeholder strong,.selection-row strong,.food-card-content h3,.heritage-story h3,.footer-visit h3{font-family:var(--serif)!important;font-weight:500!important}.display{letter-spacing:-.035em!important}.premium-hero h1,.page-hero h1{font-weight:500!important;letter-spacing:-.04em!important}.premium-hero h1 span,.page-hero h1 span,h2 em{font-style:italic;font-weight:400!important}.lede{font-weight:400;letter-spacing:.002em}.intro-lede{font-weight:500!important;letter-spacing:-.01em}
.eyebrow,.kicker,.detail-label,.site-prelude,.main-nav a,.main-nav .login-link,.btn,.footer-title,.footer-signature,.footer-hours span,.menu-visual-label,.category,.gallery-filters button,.menu-filter a,.small-note{font-family:var(--utility)!important}.eyebrow,.kicker,.detail-label{font-weight:600!important;letter-spacing:.18em!important}.main-nav a,.main-nav .login-link{font-family:var(--utility)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.09em!important}.premium-logo .logo-name{font-family:var(--utility)!important;font-size:16px!important;font-weight:700!important;letter-spacing:.10em!important}.premium-logo .logo-name small{font-family:var(--utility)!important;font-size:7px!important;font-weight:600!important;letter-spacing:.18em!important}.site-prelude{font-family:var(--utility)!important;font-weight:600!important}
.btn{font-family:var(--utility)!important;font-weight:600!important;letter-spacing:.12em!important}.text-arrow,.footer-navigation nav a,.footer-phone,.footer-visit-link,.food-card-content p,.location-intro,.visit-details,.map-placeholder p,.small-note{font-family:var(--sans)!important}.footer-phone{font-weight:500!important;letter-spacing:.01em}.food-card-content h3{font-size:31px!important;line-height:1.02!important}.price{font-family:var(--serif)!important;font-size:23px!important;font-weight:500!important}.customer-footer .footer-title{font-weight:600!important}.customer-footer .footer-brand-line{font-family:var(--serif)!important;font-size:22px!important;line-height:1.35!important}.customer-footer .footer-note{font-size:13px!important;line-height:1.85!important}
.admin-management,.admin-body,.admin-login-page{font-family:var(--sans)!important}.admin-management h1,.admin-management h2,.admin-login-page h1,.admin-panel h1,.admin-panel h2{font-family:var(--serif)!important;font-weight:500!important;letter-spacing:-.02em}.admin-management .eyebrow,.admin-management th,.admin-management .status,.admin-management label,.admin-management .btn,.admin-login-page .btn{font-family:var(--utility)!important}.admin-management th,.admin-management label{font-weight:600!important;letter-spacing:.06em}
@media(max-width:768px){.premium-logo .logo-name{font-size:14px!important}.food-card-content h3{font-size:29px!important}.customer-footer .footer-brand-line{font-size:20px!important}}

/* Reference-style customer profile control. */
.site-header .profile-nav-link{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--forest);border-radius:50%;background:var(--cream);color:var(--forest);font:600 11px/1 var(--utility);letter-spacing:.04em;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.site-header .profile-nav-link:hover{transform:translateY(-1px);border-color:var(--gold);box-shadow:0 7px 18px rgba(48,34,25,.12)}.site-header .profile-nav-link img{width:100%;height:100%;object-fit:cover}.site-header .profile-nav-link[aria-current=page]{border-color:var(--gold);box-shadow:0 0 0 3px var(--cream),0 0 0 4px var(--gold)}.site-header .profile-nav-link:focus-visible{outline:3px solid var(--gold);outline-offset:5px}@media(max-width:768px){.site-header .profile-nav-link{order:3}.site-header .nav-toggle{order:2;margin-left:auto}.site-header .main-nav{order:4}}

/* Mobile-first finishing pass: compact, tap-friendly and free from horizontal overflow. */
@media(max-width:768px){html{scroll-padding-top:92px}body{font-size:15px;line-height:1.68}.container,.premium-hero .container{width:min(calc(100% - 32px),var(--container))}.site-header{position:sticky!important}.site-prelude{height:24px}.site-prelude .container{width:min(calc(100% - 24px),var(--container));font-size:7px;letter-spacing:.12em}.site-prelude .prelude-message{display:none}.site-prelude+.nav-container{min-height:64px;padding-block:10px;gap:10px}.premium-logo{min-width:0;gap:9px}.premium-logo .logo-emblem{width:35px;height:35px;flex:0 0 35px}.logo-emblem:before{width:15px;height:15px}.logo-emblem i{right:7px;top:7px}.premium-logo .logo-name{font-size:13px!important;letter-spacing:.07em!important;white-space:nowrap}.premium-logo .logo-name small{margin-top:4px;font-size:6px!important;letter-spacing:.14em!important}.nav-toggle{width:42px;height:42px;min-width:42px!important;padding:0!important}.site-header .profile-nav-link{width:38px;height:38px;flex-basis:38px;font-size:10px}.main-nav{position:absolute!important;top:88px!important;left:16px!important;right:16px!important;width:auto!important;max-height:calc(100dvh - 104px);overflow:auto;padding:10px!important;gap:0!important;border:1px solid var(--line)!important;box-shadow:0 18px 35px rgba(48,34,25,.14)!important}.main-nav a{min-height:46px;padding:14px 12px!important;display:flex!important;align-items:center;justify-content:center;font-size:11px!important}.main-nav a:after{bottom:5px!important}.main-nav .login-link,.main-nav .kb-nav-join{width:100%;min-height:46px;margin:5px 0!important;padding:13px 14px!important}.main-nav .kb-nav-join{justify-content:center}.section{padding:64px 0}.section-head{gap:18px;margin-bottom:30px}.section-head h2{margin-top:10px}.display{font-size:clamp(46px,13vw,64px)!important}.home-hero{min-height:620px!important}.page-hero,.page-hero.inner-photo-hero{min-height:390px!important;padding:45px 0!important}.home-hero-content,.page-hero-content{padding:24px 0!important}.premium-hero h1,.page-hero h1{margin:17px 0 21px!important;font-size:clamp(42px,11.5vw,58px)!important;line-height:1.02!important}.premium-hero h1:after{width:58px;margin-top:22px}.premium-hero .lede,.page-hero .lede{font-size:16px!important;line-height:1.7!important}.hero-orbit{right:-74%!important;width:150vw!important;opacity:.72}.hero-actions{width:100%;max-width:none!important;gap:10px!important;margin-top:25px!important}.hero-actions .btn{min-height:50px;width:100%}.editorial,.story-grid,.location-preview,.location-destination{grid-template-columns:1fr!important;gap:32px!important}.editorial-copy{max-width:none}.intro-lede{font-size:25px!important;line-height:1.35!important}.experience{padding:27px 0!important}.experience .number{margin-bottom:17px}.experience h3{font-size:28px}.selection-row{grid-template-columns:32px minmax(0,1fr)!important;gap:12px!important;padding:24px 0}.selection-row strong{grid-column:2;justify-self:start;margin-top:1px}.selection-row h3{font-size:27px}.wide-visual{min-height:430px;padding:64px 0}.wide-visual-content h2{font-size:clamp(42px,12vw,58px)!important}.visual-watermark{font-size:180px}.photography-note{right:16px;bottom:16px;font-size:8px}.feature-placeholder{min-height:350px;padding:28px}.portrait-placeholder{min-height:400px;padding:28px}.heritage-story{grid-template-columns:44px 1fr;gap:14px;padding:25px 0}.heritage-number{font-size:26px}.premium-gallery{gap:16px}.premium-gallery .gallery-item,.premium-gallery .gallery-item:nth-child(3n+1){min-height:285px;padding:22px}.premium-gallery .gallery-item b{right:22px;top:17px;font-size:56px}.premium-gallery .gallery-item p{font-size:23px}.gallery-filter-band{padding-top:22px}.gallery-filters{padding-bottom:12px}.gallery-filters button{min-height:42px;padding:9px 14px;font-size:10px}.menu-introduction .editorial-copy{padding:22px 0 22px 22px}.menu-introduction .editorial-copy:before{top:20px}.menu-intro-mark{font-size:120px;bottom:-23px}.menu-filter-wrap{width:100%;padding:6px;overflow-x:auto}.menu-filter{width:max-content;min-width:100%;flex-wrap:nowrap!important}.menu-filter a{min-height:42px;white-space:nowrap;padding-inline:14px!important}.menu-search{margin-bottom:22px!important}.menu-search input{min-height:50px;font-size:15px}.food-grid{gap:18px!important}.food-card{min-height:0!important}.food-image{height:178px!important;min-height:178px!important;flex-basis:178px!important}.food-card-content{padding:24px!important}.food-card-content h3{font-size:28px!important}.food-card-bottom{margin-top:18px}.favourite-button{width:44px;height:44px}.kb-location-art{min-height:340px!important}.kb-location-art:before{width:290px;height:290px}.kb-location-art>div span{font-size:64px!important}.kb-location-art>div strong{font-size:27px!important}.location-destination>div:last-child{padding:4px 0!important}.location-destination>div:last-child:before{font-size:78px!important}.visit-details{gap:0!important}.visit-details article{padding:18px 0!important}.location-destination .btn,.map-section .btn{width:100%;justify-content:center;margin-top:10px}.map-section{padding:0 16px}.map-placeholder{padding:34px 24px!important}.map-placeholder:after{font-size:42px}.final-cta{padding:70px 0}.final-cta h2{font-size:44px}.customer-footer{padding-top:52px}.customer-footer .footer-grid{gap:30px;padding-bottom:36px}.customer-footer .footer-title{margin-bottom:17px}.footer-navigation nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.footer-navigation nav a{min-height:42px}.footer-contact{padding-top:26px;border-top:1px solid rgba(221,181,124,.2)}.footer-directions{width:100%;justify-content:space-between}.customer-footer .footer-bottom{padding:19px 0}.profile-shell{padding:48px 0 72px}.profile-layout{grid-template-columns:1fr;gap:18px}.profile-panel{padding:24px 20px}.admin-management .admin-main{padding-top:28px}}
@media(max-width:390px){.premium-logo .logo-name{font-size:12px!important}.premium-logo .logo-name small{font-size:5.5px!important}.site-header .profile-nav-link{width:35px;height:35px;flex-basis:35px}.nav-toggle{width:39px;height:39px;min-width:39px!important}.home-hero{min-height:590px!important}.premium-hero h1,.page-hero h1{font-size:41px!important}.section{padding:54px 0}.food-card-content{padding:21px!important}.map-placeholder{padding:30px 20px!important}}

/* Signature lockup and redesigned shared navigation. */
:root{--signature:"Italianno","Cormorant Garamond",cursive}.site-header{border-bottom:1px solid rgba(189,135,80,.28)!important}.site-header .nav-container{min-height:86px;display:grid;grid-template-columns:minmax(215px,1fr) auto minmax(215px,1fr);gap:26px}.site-header .premium-logo{justify-self:start;gap:11px}.premium-logo .logo-emblem{width:37px;height:37px;border-color:rgba(189,135,80,.7);background:rgba(189,135,80,.05)}.premium-logo .logo-emblem:before{width:17px;height:17px;border-width:1px;border-color:var(--forest);border-right-color:transparent}.premium-logo .logo-emblem i{width:3px;height:3px;right:7px;top:7px}.premium-logo .logo-name{position:relative;display:block!important;min-width:145px;height:42px;font-size:0!important;line-height:1!important;letter-spacing:0!important}.premium-logo .logo-name:before{content:"Kopi & Bulan";display:block;position:absolute;top:-4px;left:0;color:var(--forest);font:400 46px/.8 var(--signature);letter-spacing:-.02em;white-space:nowrap}.premium-logo .logo-name:after{content:"CAFE · MERU, IPOH";display:block;position:absolute;left:3px;bottom:0;color:var(--muted);font:600 7px/1 var(--utility);letter-spacing:.21em;white-space:nowrap}.premium-logo .logo-name small{display:none!important}.main-nav{justify-self:center;margin:0!important;gap:23px}.main-nav a{min-height:auto!important;padding:10px 0!important;font-family:var(--sans)!important;font-size:10px!important;font-weight:600!important;letter-spacing:.11em!important}.main-nav a:after{bottom:1px!important;height:1px!important}.header-actions{justify-self:end;display:flex;align-items:center;gap:22px}.header-login{position:relative;display:inline-flex;align-items:center;min-height:42px;color:var(--forest);font:600 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}.header-login:after{content:"";position:absolute;right:-12px;width:1px;height:20px;background:rgba(53,40,32,.18)}.header-join{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border:1px solid var(--gold);background:var(--forest);color:var(--cream);font:600 10px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;transition:transform .2s ease,background .2s ease}.header-join:hover{background:#1d1714;transform:translateY(-2px)}.mobile-auth{display:none}.customer-footer{padding-top:88px!important;background:radial-gradient(circle at 84% 7%,rgba(189,135,80,.16),transparent 26%),radial-gradient(ellipse at 0 0,rgba(99,67,44,.44),transparent 60%),#1d1714!important}.customer-footer .footer-grid{grid-template-columns:1.35fr .7fr 1.05fr .9fr;gap:52px;padding-bottom:66px}.customer-footer .footer-logo{margin-bottom:28px!important}.customer-footer .premium-logo .logo-emblem{border-color:rgba(221,181,124,.7);background:rgba(221,181,124,.04)}.customer-footer .premium-logo .logo-emblem:before{border-color:var(--cream);border-right-color:transparent}.customer-footer .premium-logo .logo-name{height:48px}.customer-footer .premium-logo .logo-name:before{color:var(--cream);font-size:52px}.customer-footer .premium-logo .logo-name:after{color:#dcb170}.customer-footer .footer-brand-line{max-width:265px;font:500 26px/1.12 var(--serif)!important;letter-spacing:-.025em}.customer-footer .footer-note{max-width:260px;font-size:13px!important;line-height:1.85!important}.customer-footer .footer-title{font-family:var(--sans)!important;font-size:9px!important;font-weight:700!important;letter-spacing:.2em!important}.customer-footer .footer-navigation nav a{font-family:var(--sans)!important;font-size:12px;letter-spacing:.03em}.customer-footer .footer-visit h3{font:500 25px/1.05 var(--serif)!important;letter-spacing:-.02em}.customer-footer .footer-phone{font-family:var(--serif)!important;font-size:25px!important;letter-spacing:-.01em}.customer-footer .footer-bottom{padding:25px 0}.customer-footer .footer-bottom p,.customer-footer .footer-bottom a{font-family:var(--sans);font-size:10px;letter-spacing:.04em}
@media(max-width:1100px) and (min-width:769px){.site-header .nav-container{grid-template-columns:auto 1fr auto;gap:18px}.main-nav{gap:14px}.main-nav a{font-size:9px!important;letter-spacing:.07em!important}.header-actions{gap:16px}.header-join{padding-inline:12px;font-size:9px}.site-header .premium-logo .logo-name:before{font-size:40px}}
@media(max-width:768px){.site-header .nav-container{min-height:64px;display:flex;gap:10px}.site-header .premium-logo{justify-self:auto}.premium-logo .logo-emblem{width:33px;height:33px;flex-basis:33px}.premium-logo .logo-name{min-width:130px;height:36px}.premium-logo .logo-name:before{font-size:39px;top:-2px}.premium-logo .logo-name:after{font-size:6px;letter-spacing:.17em;bottom:-1px}.header-actions{display:none}.main-nav .mobile-auth{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px 2px 2px}.main-nav .mobile-auth a{min-height:46px;padding:12px!important;border:1px solid rgba(53,40,32,.25);text-align:center}.main-nav .mobile-auth .mobile-join{border-color:var(--gold);background:var(--forest);color:var(--cream)!important}.main-nav .mobile-auth a:after{display:none}.customer-footer{padding-top:58px!important}.customer-footer .footer-grid{gap:32px;padding-bottom:42px}.customer-footer .footer-logo{margin-bottom:23px!important}.customer-footer .premium-logo .logo-name{height:42px}.customer-footer .premium-logo .logo-name:before{font-size:47px}.customer-footer .footer-brand-line{font-size:23px!important}.customer-footer .footer-visit h3{font-size:23px!important}}

/* Customer account pages follow the reference flow with Kopi & Bulan's identity. */
.customer-auth-page{min-height:calc(100dvh - 113px);padding:80px 16px!important;place-items:center;background:radial-gradient(circle at 74% 13%,rgba(221,181,124,.2),transparent 23%),radial-gradient(circle at 8% 88%,rgba(125,83,55,.2),transparent 26%),linear-gradient(135deg,#2f211b 0%,#5a4030 52%,#241916 100%)!important}.customer-auth-page:after{content:"";position:absolute;right:-190px;bottom:-190px;width:520px;height:520px;border:1px solid rgba(247,241,232,.09);border-radius:50%;pointer-events:none}.customer-auth-page .form-card{width:min(490px,100%);padding:42px!important;border:1px solid rgba(189,135,80,.38)!important;border-top:3px solid var(--gold)!important;background:rgba(255,253,249,.98)!important;box-shadow:0 28px 75px rgba(21,14,11,.3)!important}.customer-auth-intro{text-align:center;margin-bottom:30px}.auth-signature{display:grid;justify-items:center;margin-bottom:27px;color:var(--forest)}.auth-signature>span:last-of-type{font:400 50px/.72 var(--signature);letter-spacing:-.02em}.auth-signature small{margin-top:10px;color:var(--muted);font:600 7px/1 var(--utility);letter-spacing:.22em}.auth-signature-moon{position:relative;width:35px;height:35px;margin-bottom:8px;border:1px solid var(--gold);border-radius:50%}.auth-signature-moon:before{content:"";position:absolute;inset:8px;border:1px solid var(--forest);border-right-color:transparent;border-radius:50%;transform:rotate(-20deg)}.customer-auth-intro .eyebrow{margin-bottom:13px;color:#9a673b}.customer-auth-intro h1{font-size:clamp(42px,6vw,56px)!important;line-height:1!important}.customer-auth-intro .lede{max-width:360px;margin:13px auto 0!important;font-size:15px!important;line-height:1.75!important}.customer-auth-page .form-card form{gap:18px!important}.customer-auth-page .form-group{display:grid;gap:8px}.customer-auth-page .form-card label{font-family:var(--utility);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.customer-auth-page .form-card input{min-height:50px;padding:14px 15px;border-color:rgba(53,40,32,.2);background:#fffdf9;font-size:15px}.customer-auth-page .form-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(189,135,80,.13)}.customer-auth-page .form-card small{color:var(--muted);font-size:11px;line-height:1.55}.customer-auth-page .form-card .btn{width:100%;min-height:52px;margin-top:4px;justify-content:center}.customer-auth-page .notice{margin:0 0 22px;padding:14px 16px;border:1px solid rgba(189,135,80,.35);border-left:3px solid var(--gold);background:#faf4e9;color:var(--forest);font-size:13px;line-height:1.6}.customer-auth-page .auth-footer{text-align:center;margin:18px 0 0;color:var(--muted);font-size:13px}.customer-auth-page .auth-help{margin-top:22px}.customer-auth-page .auth-footer a{color:var(--forest);font-family:var(--utility);font-size:11px;font-weight:600;letter-spacing:.04em;border-bottom:1px solid rgba(189,135,80,.65);padding-bottom:3px}.customer-auth-page .password-toggle{right:5px;width:42px;height:42px;color:var(--forest)}
@media(max-width:560px){.customer-auth-page{min-height:calc(100dvh - 88px);padding:44px 16px!important}.customer-auth-page .form-card{padding:30px 22px!important}.customer-auth-intro{margin-bottom:25px}.auth-signature{margin-bottom:22px}.auth-signature>span:last-of-type{font-size:45px}.customer-auth-intro h1{font-size:42px!important}.customer-auth-page .form-card form{gap:16px!important}}
.auth-brand-logo{display:block;width:190px;margin:0 auto 27px;line-height:0}.auth-brand-logo img{display:block;width:100%;height:auto;object-fit:contain}.auth-brand-logo:focus-visible{outline:3px solid var(--gold);outline-offset:5px}@media(max-width:560px){.auth-brand-logo{width:165px;margin-bottom:23px}}

/* Profile navigation and account workspace. */
.site-header .nav-container>.profile-nav-link{justify-self:end;margin-left:auto}
.main-nav>a:after{left:50%!important;right:auto!important;width:25px!important;transform:translateX(-50%) scaleX(0)!important;transform-origin:center!important}
.main-nav>a:hover:after,.main-nav>a[aria-current=page]:after{transform:translateX(-50%) scaleX(1)!important}
.site-header .profile-nav-link[aria-current=page]{border-color:#e2b76f!important;background:#fffaf0;box-shadow:0 0 0 4px rgba(244,240,231,.98),0 0 0 6px #e2b76f,0 8px 22px rgba(95,61,42,.18)!important}
.profile-page .page-hero{min-height:350px;background:radial-gradient(circle at 83% 20%,rgba(221,181,124,.16),transparent 23%),linear-gradient(135deg,#291c17,#523829 62%,#241815)}
.profile-page .page-hero-content{max-width:760px}.profile-page .page-hero .lede{max-width:590px}
.profile-page .profile-shell{padding:64px 0 82px;background:#f4eee5}
.profile-page .profile-layout{grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:24px;align-items:start}
.profile-account-sections{display:grid;gap:24px}.profile-account-sections>.profile-panel{margin:0!important}
.profile-page .profile-panel{border:1px solid rgba(95,61,42,.17);border-radius:12px;background:#fffdf9;box-shadow:0 16px 42px rgba(48,34,25,.055)}
.profile-page .profile-panel h2{margin:6px 0 8px;font-size:38px;line-height:1}.profile-page .profile-panel .lede{margin-bottom:24px;font-size:13px;line-height:1.7}
.profile-page .profile-identity{position:sticky;top:118px;padding:34px 28px;text-align:center;background:linear-gradient(180deg,#fffdf9,#f7efe4)}
.profile-page .profile-avatar{width:134px;height:134px;margin:0 auto 25px;border:1px solid #d1a76e;box-shadow:0 0 0 8px #f1e5d6}
.profile-page .member-benefit{margin:0 0 23px;padding:15px;border-color:rgba(189,135,80,.28);background:#fffaf2;text-align:left}
.profile-page .profile-name{font:600 26px/1.1 var(--serif)}.profile-page .profile-email{margin-top:5px;font-size:12px}
.profile-page .profile-stat{margin-top:19px;padding-top:17px;border-top:1px solid rgba(95,61,42,.16)}
.profile-page .profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:23px}.profile-page .profile-actions .btn{min-width:0;padding-inline:10px}
.profile-page .profile-form{max-width:700px}.profile-page .profile-form input{min-height:49px;background:#fff}
.profile-page .crop-editor{padding:18px;border:1px solid rgba(95,61,42,.14);border-radius:9px;background:#faf6f0}
.profile-page .crop-stage{border-radius:8px;box-shadow:0 0 0 1px rgba(95,61,42,.15)}
.profile-page .profile-favourites{margin-top:26px;padding:34px}.profile-page #danger{padding-top:0;background:#f4eee5}
.profile-page .danger-panel{border-left:4px solid #9b4338;box-shadow:none}.profile-page .danger-panel h2{color:#6f2f28}
@media(max-width:900px){.profile-page .profile-layout{grid-template-columns:1fr}.profile-page .profile-identity{position:static}.profile-page .profile-identity{display:grid;grid-template-columns:124px 1fr;grid-template-areas:"avatar details" "benefit benefit" "actions actions";gap:20px;text-align:left}.profile-page .profile-avatar{grid-area:avatar;margin:0}.profile-page .profile-details{grid-area:details}.profile-page .member-benefit{grid-area:benefit;margin:0}.profile-page .profile-actions{grid-area:actions;margin:0}}
@media(max-width:768px){.site-header .nav-container{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important}.site-header .premium-logo{min-width:0}.site-header .nav-toggle{margin-left:0!important}.site-header .main-nav{grid-column:1/-1}.profile-page .page-hero{min-height:310px!important}.profile-page .profile-shell{padding:42px 0 58px}.profile-page .profile-panel{padding:24px 20px}.profile-page .profile-favourites{padding:24px 20px}}
@media(max-width:520px){.site-header .premium-logo .logo-name{min-width:112px}.site-header .premium-logo .logo-name:before{font-size:34px}.profile-page .profile-identity{display:block;text-align:center}.profile-page .profile-avatar{margin:0 auto 24px}.profile-page .profile-details{text-align:center}.profile-page .member-benefit{margin-top:22px}.profile-page .profile-actions{margin-top:20px}.profile-page .crop-editor{padding:12px}.profile-page .profile-actions{grid-template-columns:1fr}.profile-favourites-head{align-items:flex-start;gap:14px;flex-direction:column}}

/* Clean menu selection: content and choice take priority over decoration. */
#kopi-bulan-menu{background:linear-gradient(180deg,#f0e7da 0,#f7f1e8 28%,#f7f1e8 100%)!important}.menu-introduction{padding-bottom:88px!important;background:var(--cream)}.menu-introduction:after,.menu-introduction .menu-intro-mark{display:none}.menu-introduction .editorial{max-width:1040px;margin:auto;gap:90px}.menu-introduction .editorial-heading:after{content:"";display:block;width:54px;height:1px;margin-top:24px;background:var(--gold)}.menu-introduction .editorial-copy{padding:0 0 0 34px;border-left:1px solid rgba(189,135,80,.48)}.menu-introduction .editorial-copy:before{display:none}.menu-introduction .intro-lede{font-size:26px!important;line-height:1.42!important}#kopi-bulan-menu .section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);align-items:end;gap:38px;margin-bottom:28px}#kopi-bulan-menu .section-head h2{margin-top:9px}#kopi-bulan-menu .menu-filter-wrap{width:100%;margin:0;padding:0;border:0;background:transparent;overflow:visible}#kopi-bulan-menu .menu-filter{display:flex;justify-content:flex-end;flex-wrap:wrap!important;width:auto;min-width:0;margin:0;padding:0;border:0;background:transparent;overflow:visible!important;gap:8px!important}#kopi-bulan-menu .menu-filter a{min-height:42px;padding:10px 16px!important;border:1px solid rgba(53,40,32,.2)!important;border-radius:999px!important;background:transparent!important;color:var(--forest)!important;font:500 11px/1 var(--sans)!important;letter-spacing:0!important;text-transform:none!important}#kopi-bulan-menu .menu-filter a:hover{border-color:var(--gold)!important;background:rgba(189,135,80,.1)!important}#kopi-bulan-menu .menu-filter a.active{border-color:var(--forest)!important;background:var(--forest)!important;color:var(--cream)!important}#kopi-bulan-menu .menu-search{width:100%;display:flex;align-items:center;margin:0 0 38px;padding:0 16px;border:1px solid rgba(53,40,32,.18)!important;border-radius:2px!important;background:rgba(255,253,249,.78)!important;box-shadow:none!important}#kopi-bulan-menu .menu-search input{height:54px;border:0!important;background:transparent!important;box-shadow:none!important;font-size:14px}#kopi-bulan-menu .menu-search input:focus{box-shadow:none!important}#kopi-bulan-menu .menu-search-icon{color:var(--gold);font-size:18px}#kopi-bulan-menu .food-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}#kopi-bulan-menu .food-card{display:flex!important;min-height:0!important;flex-direction:column;border:1px solid rgba(53,40,32,.15)!important;background:#fffdf9!important;box-shadow:none!important;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}#kopi-bulan-menu .food-card:before{display:none}#kopi-bulan-menu .food-card:hover{border-color:rgba(189,135,80,.75)!important;transform:translateY(-4px);box-shadow:0 16px 30px rgba(48,34,25,.08)!important}#kopi-bulan-menu .food-image{height:118px!important;min-height:118px!important;flex:0 0 118px!important;background:linear-gradient(135deg,#3d2b22,#211812)!important;border-bottom:1px solid rgba(189,135,80,.35);overflow:hidden}#kopi-bulan-menu .food-image:before{inset:12px!important;border-color:rgba(221,181,124,.17)!important}#kopi-bulan-menu .food-image:after,#kopi-bulan-menu .food-image img,#kopi-bulan-menu .menu-orbit{display:none!important}#kopi-bulan-menu .menu-card-number{top:20px;left:20px;color:#f0dfc7;font:400 38px/1 var(--serif)}#kopi-bulan-menu .menu-visual-label{right:20px;left:auto;bottom:20px;color:#dcb170;font:600 8px/1 var(--utility);letter-spacing:.17em}#kopi-bulan-menu .food-card-content{display:flex;min-height:247px;flex:1;flex-direction:column;justify-content:space-between;padding:24px!important}#kopi-bulan-menu .food-card-content .category{display:none}#kopi-bulan-menu .food-card-content h3{margin:0 0 9px;font-size:29px!important;line-height:1.05!important;color:var(--forest)!important}#kopi-bulan-menu .food-card-content p{margin:0;color:var(--muted);font-size:13px!important;line-height:1.68!important}#kopi-bulan-menu .food-card-bottom{margin-top:20px;padding-top:16px;border-top:1px solid rgba(53,40,32,.13)}#kopi-bulan-menu .price{font-family:var(--sans)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.04em}#kopi-bulan-menu .price-stack small{display:block;margin-top:4px;color:var(--muted);font-size:10px}#kopi-bulan-menu .favourite-button{width:38px;height:38px;border:1px solid rgba(53,40,32,.18)!important;background:transparent!important;color:var(--forest)!important;font-size:21px}#kopi-bulan-menu .favourite-button:hover,#kopi-bulan-menu .favourite-button.is-favourite{border-color:var(--gold)!important;background:rgba(189,135,80,.13)!important;color:var(--forest)!important}
@media(max-width:900px){#kopi-bulan-menu .food-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}#kopi-bulan-menu .section-head{grid-template-columns:1fr;gap:20px}#kopi-bulan-menu .menu-filter{justify-content:flex-start}}
@media(max-width:768px){.menu-introduction{padding-bottom:64px!important}.menu-introduction .editorial{gap:28px}.menu-introduction .editorial-copy{padding:0;border-left:0}.menu-introduction .intro-lede{font-size:24px!important}#kopi-bulan-menu .section-head{margin-bottom:22px}#kopi-bulan-menu .menu-filter-wrap{overflow-x:auto}#kopi-bulan-menu .menu-filter{width:max-content;flex-wrap:nowrap!important;padding-bottom:2px}#kopi-bulan-menu .menu-filter a{min-height:40px;padding-inline:14px!important}#kopi-bulan-menu .menu-search{margin-bottom:24px;padding-inline:13px}#kopi-bulan-menu .food-grid{grid-template-columns:1fr!important;gap:16px!important}#kopi-bulan-menu .food-card{display:grid!important;grid-template-columns:98px minmax(0,1fr);min-height:0!important}#kopi-bulan-menu .food-image{height:auto!important;min-height:0!important;flex:auto!important;border-right:1px solid rgba(189,135,80,.35);border-bottom:0}#kopi-bulan-menu .food-image:before{inset:10px!important}#kopi-bulan-menu .menu-card-number{top:18px;left:17px;font-size:31px}#kopi-bulan-menu .menu-visual-label{display:none}#kopi-bulan-menu .food-card-content{min-height:0;padding:20px!important}#kopi-bulan-menu .food-card-content h3{font-size:27px!important}#kopi-bulan-menu .food-card-bottom{margin-top:16px;padding-top:13px}#kopi-bulan-menu .favourite-button{width:36px;height:36px}}

#kopi-bulan-menu .menu-filter button{appearance:none;min-height:42px;padding:10px 16px;border:1px solid rgba(53,40,32,.2);border-radius:999px;background:transparent;color:var(--forest);font:500 11px/1 var(--sans);cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}#kopi-bulan-menu .menu-filter button:hover{border-color:var(--gold);background:rgba(189,135,80,.1)}#kopi-bulan-menu .menu-filter button.active{border-color:var(--forest);background:var(--forest);color:var(--cream)}#kopi-bulan-menu .menu-filter button:focus-visible{outline:3px solid rgba(189,135,80,.32);outline-offset:3px}.menu-results-status{min-height:20px;margin:-24px 0 18px;color:var(--muted);font:500 10px/1.4 var(--utility);letter-spacing:.08em;text-transform:uppercase}.member-banner{display:flex!important;align-items:center;gap:12px;flex-wrap:wrap}.member-banner strong{font-family:var(--utility);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.member-banner span{font-size:13px;color:rgba(247,241,232,.76)}
@media(max-width:768px){#kopi-bulan-menu .menu-filter button{min-height:40px;padding-inline:14px;white-space:nowrap}.menu-results-status{margin:-12px 0 15px}.member-banner{align-items:flex-start;flex-direction:column;gap:5px}}

@media(max-width:768px){main,main>section{max-width:100vw;overflow-x:hidden}.page-hero .container,.menu-introduction .container,#kopi-bulan-menu>.container{width:min(calc(100% - 32px),var(--container))!important;max-width:100%!important}.page-hero-content,.menu-introduction .editorial,.menu-introduction .editorial-heading,.menu-introduction .editorial-copy,#kopi-bulan-menu .section-head,#menu-results,#kopi-bulan-menu .food-card,#kopi-bulan-menu .food-card-content{width:100%!important;max-width:100%!important;min-width:0!important}.page-hero-content p,.menu-introduction p,#kopi-bulan-menu .food-card-content p,#kopi-bulan-menu .food-card-content h3{max-width:100%;overflow-wrap:anywhere}.member-banner{width:100%;max-width:100%!important;box-sizing:border-box}.menu-introduction .editorial>*{min-width:0}.menu-introduction .intro-lede{white-space:normal}.menu-selection .food-grid{min-width:0;overflow:hidden}}

/* Curated drinks and spacious menu navigation */
.best-selection{padding:100px 0!important;background:#fffdf9}.best-selection-head{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:50px;align-items:end;padding-bottom:42px;border-bottom:1px solid rgba(53,40,32,.18)}.best-selection-head h2{margin:12px 0 0;color:#352820;font-size:clamp(48px,6vw,74px);line-height:.9;letter-spacing:-.04em}.best-selection-head h2 em{color:#a06b40}.best-selection-head>p{max-width:330px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}.best-selection-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:24px;align-items:center;min-height:148px;padding:30px 0;border-bottom:1px solid rgba(53,40,32,.16)}.best-selection-number{color:#b67a45;font:italic 18px/1 var(--serif);letter-spacing:.12em}.best-selection-row .category{color:#b27642;font:600 9px/1 var(--utility);letter-spacing:.18em;text-transform:uppercase}.best-selection-row h3{margin:8px 0 5px;color:#352820;font:500 30px/1 var(--serif)}.best-selection-row p{max-width:650px;margin:0;color:var(--muted);font-size:13px}.best-selection-row>strong{color:#493529;font:500 17px/1 var(--serif);white-space:nowrap}
#kopi-bulan-menu{padding-top:94px!important;background:#f5eee4!important}#kopi-bulan-menu .section-head{display:block!important;margin-bottom:28px!important}#kopi-bulan-menu .section-head>div:first-child{max-width:700px}#kopi-bulan-menu .section-head h2{font-size:clamp(46px,5vw,66px)}#kopi-bulan-menu .menu-filter-wrap{margin-top:34px!important;padding:18px!important;border:1px solid rgba(53,40,32,.14)!important;border-radius:10px;background:rgba(255,253,249,.72)!important;overflow:visible}#kopi-bulan-menu .menu-filter{justify-content:flex-start!important;gap:10px!important}#kopi-bulan-menu .menu-filter button{min-height:46px;padding:12px 21px;border-color:rgba(53,40,32,.18);background:#fffdf9;font-family:var(--utility);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}#kopi-bulan-menu .menu-filter button.active{background:#352820;box-shadow:0 5px 14px rgba(53,40,32,.16)}#kopi-bulan-menu .menu-search{margin-top:22px!important;border-radius:10px!important;background:#fffdf9!important}
@media(max-width:768px){.best-selection{padding:70px 0!important}.best-selection>.container{width:min(calc(100% - 32px),var(--container))}.best-selection-head{grid-template-columns:1fr;gap:18px;padding-bottom:30px}.best-selection-head h2{font-size:51px}.best-selection-row{grid-template-columns:38px minmax(0,1fr);gap:12px;min-height:0;padding:27px 0}.best-selection-row>strong{grid-column:2;margin-top:4px}.best-selection-row h3{font-size:28px}#kopi-bulan-menu{padding-top:70px!important}#kopi-bulan-menu .menu-filter-wrap{margin-top:25px!important;padding:10px!important;overflow-x:auto}#kopi-bulan-menu .menu-filter{width:max-content;flex-wrap:nowrap!important}#kopi-bulan-menu .menu-filter button{min-height:44px;padding-inline:17px}}
@media(max-width:768px){body,main,.page-hero,.menu-introduction,.best-selection,#kopi-bulan-menu{width:100%;max-width:100%;overflow-x:hidden}.page-hero-content,.menu-introduction .editorial,.menu-introduction .editorial>*,.best-selection-head,.best-selection-row{min-width:0;max-width:100%}.page-hero-content .lede,.member-banner,.menu-introduction p,.best-selection p{overflow-wrap:anywhere}.best-selection-row>div{min-width:0}}

/* Home: admin-curated taste of the menu */
.home-taste{padding:110px 0!important;background:#fffdf9}.home-taste .section-head{align-items:end;padding-bottom:35px;margin-bottom:32px;border-bottom:1px solid rgba(53,40,32,.18)}.home-taste .section-head h2{margin-top:12px;font-size:clamp(48px,6vw,72px);letter-spacing:-.04em}.home-taste-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-taste-card{min-width:0;border:1px solid rgba(53,40,32,.16);background:#fff;transition:transform .22s ease,box-shadow .22s ease}.home-taste-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(48,34,25,.08)}.home-taste-image{position:relative;height:250px;overflow:hidden;background:#2f211a}.home-taste-image>img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.home-taste-card:hover .home-taste-image>img{transform:scale(1.025)}.home-menu-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:28px;background:radial-gradient(circle at 75% 28%,rgba(214,165,98,.2),transparent 25%),linear-gradient(140deg,#3b291f,#211712);color:#f4e7d6}.home-menu-placeholder:before{content:"";position:absolute;inset:14px;border:1px solid rgba(221,181,124,.2)}.home-menu-placeholder span,.home-menu-placeholder small{position:relative;z-index:1;font-family:var(--utility);font-size:8px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.home-menu-placeholder span{color:#dcb170}.home-menu-placeholder small{align-self:flex-end;color:rgba(244,231,214,.55)}.home-menu-placeholder strong{position:relative;z-index:1;align-self:center;color:#f3dfc4;font:italic 34px/.92 var(--serif);text-align:center}.home-taste-number{position:absolute;top:20px;left:20px;z-index:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,253,249,.92);color:#8b5936;font:italic 14px var(--serif);box-shadow:0 5px 18px rgba(27,18,14,.14)}.home-taste-copy{padding:25px}.home-taste-copy .detail-label{color:#b27642}.home-taste-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.home-taste-title h3{margin:8px 0 9px;color:#352820;font-size:30px}.home-taste-title strong{color:#493529;font:500 15px var(--serif);white-space:nowrap}.home-taste-copy>p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.65}.home-taste>.container>.small-note{margin-top:20px;color:var(--muted)}
@media(max-width:900px){.home-taste-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-taste-card:last-child:nth-child(odd){grid-column:1/-1}.home-taste-card:last-child:nth-child(odd) .home-taste-image{height:290px}}
@media(max-width:620px){.home-taste{padding:72px 0!important}.home-taste .section-head{align-items:flex-start}.home-taste .section-head h2{font-size:50px}.home-taste-grid{grid-template-columns:1fr}.home-taste-card:last-child:nth-child(odd){grid-column:auto}.home-taste-image,.home-taste-card:last-child:nth-child(odd) .home-taste-image{height:220px}.home-taste-copy{padding:22px}.home-taste-title h3{font-size:28px}}
.account-delete-dialog{width:min(470px,calc(100% - 32px));padding:38px;border:1px solid #dccbbb;border-radius:15px;background:#fffdf9;color:var(--forest);box-shadow:0 30px 90px rgba(27,18,14,.35);text-align:center}.account-delete-dialog::backdrop{background:rgba(28,18,14,.67);backdrop-filter:blur(4px)}.account-delete-dialog[open]{animation:accountDialogIn .45s cubic-bezier(.22,.75,.24,1)}.account-dialog-close{position:absolute;right:14px;top:11px;border:0;background:none;color:var(--muted);font-size:27px;cursor:pointer}.account-dialog-icon{display:grid;width:52px;height:52px;margin:0 auto 15px;place-items:center;border:1px solid #d4a094;border-radius:50%;background:#fae9e5;color:#9b4338;font:600 25px var(--serif)}.account-delete-dialog h2{margin:7px 0 13px;font-size:39px}.account-delete-dialog>p:not(.eyebrow){color:var(--muted);font-size:13px}.account-delete-dialog>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}@keyframes accountDialogIn{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:480px){.account-delete-dialog{padding:34px 20px 22px}.account-delete-dialog>div{grid-template-columns:1fr}}
.site-header .main-nav{--mobile-nav-gap:0}
@media(max-width:768px){.site-header .main-nav{left:10px!important;right:10px!important;padding:18px 16px!important;gap:var(--mobile-nav-gap)!important;border-radius:4px!important}.site-header .main-nav>a{width:100%;min-height:58px!important;padding:18px 20px!important;font-size:12px!important;letter-spacing:.13em!important}.site-header .main-nav>a:after{bottom:10px!important;width:30px!important}.site-header .main-nav>a[aria-current=page]{background:rgba(189,135,80,.075)}.site-header .main-nav .mobile-auth{gap:11px;padding-top:15px}.site-header .main-nav .mobile-auth a{min-height:52px!important;padding:16px!important}}
@media(max-width:390px){.site-header .main-nav{left:8px!important;right:8px!important;padding:15px 12px!important}.site-header .main-nav>a{min-height:55px!important;padding-inline:16px!important}}
.favourite-button.is-updating{pointer-events:none;opacity:.55;transform:scale(.9)}.profile-favourite-card,.food-card{transition:opacity .28s ease,transform .28s ease}.profile-favourite-card.is-removing,.food-card.is-removing{opacity:0;transform:translateY(8px) scale(.98)}
/* Editorial plan-your-visit experience. */
.visit-page{background:#f6f0e7}.visit-page .location-hero{min-height:600px}.visit-page .location-hero .page-hero-content{position:relative;z-index:2;max-width:800px!important}.visit-page .location-hero h1{font-size:clamp(56px,7vw,92px)!important}.visit-hero-orbit{position:absolute;right:-5%;top:50%;width:min(47vw,650px);aspect-ratio:1;transform:translateY(-50%);border:1px solid rgba(221,181,124,.17);border-radius:50%}.visit-hero-orbit:before,.visit-hero-orbit:after{content:"";position:absolute;border:1px solid rgba(221,181,124,.11);border-radius:50%}.visit-hero-orbit:before{inset:13%}.visit-hero-orbit:after{inset:31%;background:rgba(221,181,124,.035)}.visit-hero-orbit span{position:absolute;inset:0;display:grid;place-items:center;color:rgba(239,218,186,.13);font:220px/1 var(--serif)}
.visit-intro{background:#fffdf9}.visit-intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.8fr);gap:clamp(55px,8vw,110px);align-items:center}.visit-map-art{position:relative;min-height:620px;overflow:hidden;border:1px solid rgba(189,135,80,.55);background:linear-gradient(140deg,#3f2c22,#211712);color:#f5eadb}.visit-map-art:before,.visit-map-art:after{content:"";position:absolute;border:1px solid rgba(221,181,124,.14);border-radius:50%}.visit-map-art:before{width:490px;height:490px;right:-120px;top:-80px}.visit-map-art:after{width:300px;height:300px;left:-80px;bottom:-80px}.visit-map-lines{position:absolute;inset:0;background:linear-gradient(117deg,transparent 0 38%,rgba(221,181,124,.12) 38.1% 38.35%,transparent 38.45%),linear-gradient(27deg,transparent 0 54%,rgba(255,255,255,.06) 54.1% 54.35%,transparent 54.45%),linear-gradient(83deg,transparent 0 71%,rgba(221,181,124,.08) 71.1% 71.3%,transparent 71.4%)}.visit-map-label{position:absolute;color:rgba(245,234,219,.25);font:600 9px var(--utility);letter-spacing:.24em}.label-meru{left:9%;top:13%}.label-ipoh{right:9%;bottom:12%}.visit-map-marker{position:absolute;left:50%;top:50%;display:grid;justify-items:center;transform:translate(-50%,-50%);text-align:center}.visit-map-marker i{position:relative;width:48px;height:48px;margin-bottom:18px;border:1px solid #dcb170;border-radius:50%;background:#fff8ed;box-shadow:0 0 0 10px rgba(220,177,112,.08),0 12px 30px rgba(0,0,0,.2)}.visit-map-marker i:before{content:"";position:absolute;inset:15px;border:1px solid #6e4932;border-right-color:transparent;border-radius:50%}.visit-map-marker strong{font:500 34px/1 var(--serif)}.visit-map-marker small{margin-top:10px;color:#dcb170;font:600 8px var(--utility);letter-spacing:.2em;text-transform:uppercase}.visit-map-caption{position:absolute;left:24px;bottom:21px;color:rgba(245,234,219,.45);font:600 8px var(--utility);letter-spacing:.16em;text-transform:uppercase}.visit-intro-copy h2{margin:15px 0 22px;font-size:clamp(46px,5vw,68px);line-height:.98}.visit-lede{color:var(--muted);font-size:15px;line-height:1.85}.visit-intro-copy address{margin:28px 0 0;padding:22px 0;border-block:1px solid rgba(95,61,42,.18);color:#382820;font:500 22px/1.55 var(--serif)}.visit-status{display:flex;align-items:center;gap:13px;padding:20px 0}.visit-status>span{width:9px;height:9px;border-radius:50%;background:#7c997a;box-shadow:0 0 0 5px rgba(124,153,122,.13)}.visit-status div{display:grid;gap:4px}.visit-status small{color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.visit-status strong{font-size:12px}.visit-primary-actions{display:flex;flex-wrap:wrap;gap:9px}.visit-copy-button{min-height:46px;padding:0 16px;border:0;background:transparent;color:#704b34;font:600 9px var(--utility);letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.visit-hours{background:#efe5d8}.visit-section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:43px}.visit-section-heading h2{margin-top:12px;font-size:clamp(44px,5vw,66px);line-height:1}.visit-section-heading>p{max-width:430px;color:var(--muted);font-size:13px;line-height:1.75}.hours-list{border-top:1px solid rgba(95,61,42,.2)}.hours-list article{position:relative;display:grid;grid-template-columns:55px 1fr auto 74px;align-items:center;gap:26px;min-height:73px;border-bottom:1px solid rgba(95,61,42,.18);transition:padding .25s,background .25s}.hours-list article>span{color:#af7948;font:italic 18px var(--serif)}.hours-list article>strong{font:500 22px var(--serif)}.hours-list article p{font-size:12px;letter-spacing:.03em}.hours-list article p i{padding-inline:11px;color:#bd8752;font-style:normal}.hours-list article small{justify-self:end;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hours-list article.is-today{padding-inline:20px;background:#3a281f;color:#fff9ee}.hours-list article.is-today>strong,.hours-list article.is-today p{color:#fff9ee}
.visit-details-section{background:#fffdf9}.visit-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid rgba(95,61,42,.18)}.visit-detail-grid article{position:relative;min-height:315px;padding:34px 34px 38px;border-right:1px solid rgba(95,61,42,.18)}.visit-detail-grid article:last-child{border-right:0}.visit-detail-grid article>span{position:absolute;right:25px;top:18px;color:rgba(95,61,42,.12);font:italic 48px var(--serif)}.visit-detail-grid h3{margin:22px 0 13px;font-size:30px}.visit-detail-grid article>p:last-of-type{color:var(--muted);font-size:13px;line-height:1.75}.visit-detail-grid a{display:inline-block;margin-top:24px;color:#865a39;font-size:11px;font-weight:700;text-decoration:none}
.visit-journey{background:#39281f;color:#f7efe4}.visit-journey h2{color:#f7efe4}.visit-journey .eyebrow{color:#d8aa6b}.journey-line{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(221,181,124,.25)}.journey-line article{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:35px 34px 20px 0}.journey-line article+article{padding-left:34px;border-left:1px solid rgba(221,181,124,.2)}.journey-line span{color:#d8aa6b;font:italic 19px var(--serif)}.journey-line h3{color:#f7efe4;font-size:29px}.journey-line p{margin-top:11px;color:rgba(247,239,228,.64);font-size:13px;line-height:1.75}
.visit-atmosphere{background:#f6f0e7}.visit-photo-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,290px);gap:16px}.visit-photo-placeholder{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:28px;border:1px solid rgba(221,181,124,.34);background:radial-gradient(circle at 78% 22%,rgba(221,181,124,.18),transparent 24%),linear-gradient(140deg,#493226,#211713);color:#f5eadb}.visit-photo-placeholder:after{content:"";position:absolute;width:250px;height:250px;right:-80px;top:-80px;border:1px solid rgba(221,181,124,.15);border-radius:50%}.visit-photo-placeholder.is-wide{grid-row:1/3}.visit-photo-placeholder>span{color:rgba(245,234,219,.3);font:italic 42px var(--serif)}.visit-photo-placeholder div{position:relative;z-index:1;display:grid;gap:7px}.visit-photo-placeholder small{color:#dcb170;font:600 8px var(--utility);letter-spacing:.18em;text-transform:uppercase}.visit-photo-placeholder strong{font:500 34px var(--serif)}.visit-photo-placeholder em{align-self:flex-end;color:rgba(245,234,219,.43);font:600 8px var(--utility);letter-spacing:.14em;text-transform:uppercase}.visit-page .final-cta .hero-actions{display:flex;justify-content:center}
@media(max-width:900px){.visit-intro-grid{grid-template-columns:1fr}.visit-map-art{min-height:500px}.visit-detail-grid{grid-template-columns:1fr}.visit-detail-grid article{min-height:0;border-right:0;border-bottom:1px solid rgba(95,61,42,.18)}.visit-detail-grid article:last-child{border-bottom:0}.journey-line{grid-template-columns:1fr}.journey-line article,.journey-line article+article{padding:28px 0;border-left:0;border-bottom:1px solid rgba(221,181,124,.2)}.journey-line article:last-child{border-bottom:0}}
@media(max-width:768px){.visit-page .location-hero{min-height:520px!important}.visit-page .location-hero h1{font-size:clamp(47px,13vw,62px)!important}.visit-hero-orbit{right:-65%;width:135vw}.visit-intro,.visit-hours,.visit-details-section,.visit-journey,.visit-atmosphere{padding:68px 0!important}.visit-map-art{min-height:390px}.visit-map-marker strong{font-size:29px}.visit-intro-copy h2{font-size:48px}.visit-section-heading{display:block;margin-bottom:30px}.visit-section-heading>p{margin-top:17px}.hours-list article{grid-template-columns:36px 1fr auto;gap:10px;min-height:68px}.hours-list article p{font-size:11px}.hours-list article small{position:absolute;right:10px;top:7px}.hours-list article.is-today{padding-inline:12px}.visit-photo-grid{grid-template-columns:1fr;grid-template-rows:360px 250px 250px}.visit-photo-placeholder.is-wide{grid-row:auto}.visit-page .final-cta .hero-actions{display:grid}.visit-primary-actions .btn,.visit-primary-actions .visit-copy-button{width:100%;justify-content:center}}
@media(max-width:430px){.hours-list article{grid-template-columns:28px 1fr}.hours-list article p{grid-column:2}.visit-detail-grid article{padding:30px 22px}.visit-photo-grid{grid-template-rows:300px 230px 230px}}
/* Our Story: an editorial café journal. */
.story-page{background:#f6f0e7}.story-editorial-hero{min-height:680px!important;background:radial-gradient(circle at 78% 26%,rgba(221,181,124,.18),transparent 25%),linear-gradient(135deg,#39271f,#211713 68%,#17100d)!important}.story-editorial-hero .page-hero-content{position:relative;z-index:2;max-width:970px!important}.story-editorial-hero h1{max-width:950px;font-size:clamp(58px,7.5vw,104px)!important}.story-editorial-hero h1 span{display:block}.story-moon{position:absolute;right:-4%;top:50%;width:min(47vw,680px);aspect-ratio:1;transform:translateY(-50%);border:1px solid rgba(221,181,124,.15);border-radius:50%}.story-moon:before,.story-moon:after{content:"";position:absolute;border:1px solid rgba(221,181,124,.1);border-radius:50%}.story-moon:before{inset:13%}.story-moon:after{inset:31%}.story-moon span{position:absolute;inset:0;display:grid;place-items:center;color:rgba(245,229,204,.08);font:250px/1 var(--serif)}.story-hero-caption{position:absolute;right:4%;bottom:34px;color:rgba(245,229,204,.42);font:600 8px var(--utility);letter-spacing:.22em}.story-meaning{background:#fffdf9}.story-meaning-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(60px,10vw,145px);align-items:start}.story-title-block{position:sticky;top:130px}.story-title-block h2{margin:17px 0 30px;font-size:clamp(52px,6vw,78px);line-height:.95}.story-script{color:#9a673e;font:400 45px/.9 var(--signature)}.story-meaning-copy{padding-top:25px}.story-opening{color:#382820!important;font:500 clamp(25px,3vw,36px)/1.35 var(--serif)!important}.story-meaning-copy>p:not(.story-opening){max-width:620px;margin-top:25px;color:var(--muted);font-size:14px;line-height:1.9}.story-meaning-copy blockquote{margin:42px 0 0;padding:25px 0 0;border-top:1px solid rgba(95,61,42,.2)}.story-meaning-copy blockquote span{display:block;color:#5e3f2d;font:italic 31px var(--serif)}.story-meaning-copy blockquote small{display:block;margin-top:8px;color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.story-journey{background:#efe4d5}.story-section-heading{margin-bottom:48px}.story-section-heading h2{margin-top:14px;font-size:clamp(50px,6vw,78px);line-height:.98}.story-section-heading.is-row{display:flex;align-items:end;justify-content:space-between;gap:50px}.story-section-heading.is-row>p{max-width:430px;color:var(--muted);font-size:13px;line-height:1.75}.story-timeline{position:relative;border-top:1px solid rgba(95,61,42,.22)}.story-timeline:before{content:"";position:absolute;left:88px;top:0;bottom:0;width:1px;background:rgba(95,61,42,.18)}.story-timeline article{display:grid;grid-template-columns:90px 1fr;gap:44px;min-height:180px;padding:32px 0;border-bottom:1px solid rgba(95,61,42,.19)}.story-timeline article>span{color:#bb8148;font:italic 28px var(--serif)}.story-timeline article>div{position:relative;padding-left:27px}.story-timeline article>div:before{content:"";position:absolute;left:-41px;top:8px;width:9px;height:9px;border:2px solid #c18b52;border-radius:50%;background:#efe4d5}.story-timeline h3{margin:8px 0 10px;font-size:33px}.story-timeline article div>p:last-child{max-width:700px;color:var(--muted);font-size:13px;line-height:1.75}
.story-note{padding:110px 0;background:#3a281f;color:#f7efe5}.story-note-inner{position:relative;text-align:center}.story-note-mark{position:absolute;left:50%;top:-48px;transform:translateX(-50%);color:rgba(221,181,124,.15);font:190px/1 var(--serif)}.story-note blockquote{position:relative;z-index:1;max-width:920px;margin:0 auto;color:#f7efe5;font:italic 500 clamp(42px,6vw,72px)/1.08 var(--serif)}.story-note-inner>div{display:grid;justify-items:center;gap:10px;margin-top:35px}.story-note .story-script{color:#dcb170}.story-note small{color:rgba(247,239,229,.5);font-size:8px;letter-spacing:.16em;text-transform:uppercase}
.story-values{background:#fffdf9}.story-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(95,61,42,.2)}.story-value-grid article{display:grid;grid-template-columns:55px 1fr;gap:22px;min-height:220px;padding:35px;border-bottom:1px solid rgba(95,61,42,.18)}.story-value-grid article:nth-child(odd){border-right:1px solid rgba(95,61,42,.18)}.story-value-grid article>span{color:#bd8350;font:italic 21px var(--serif)}.story-value-grid h3{font-size:31px}.story-value-grid p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.75}
.story-character{background:#f3eadf}.story-character-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:300px 300px auto;gap:17px}.story-photo-placeholder{position:relative;display:flex;overflow:hidden;flex-direction:column;justify-content:space-between;padding:27px;border:1px solid rgba(221,181,124,.34);background:radial-gradient(circle at 80% 20%,rgba(221,181,124,.18),transparent 23%),linear-gradient(140deg,#4a3327,#211713);color:#f6eade}.story-photo-placeholder:after{content:"";position:absolute;width:260px;height:260px;right:-90px;top:-90px;border:1px solid rgba(221,181,124,.15);border-radius:50%}.story-photo-placeholder.is-tall{grid-row:1/3}.story-photo-placeholder>span{color:rgba(246,234,222,.25);font:italic 43px var(--serif)}.story-photo-placeholder div{position:relative;z-index:1;display:grid;gap:7px}.story-photo-placeholder small{color:#dcb170;font:600 8px var(--utility);letter-spacing:.17em;text-transform:uppercase}.story-photo-placeholder strong{font:500 34px var(--serif)}.story-photo-placeholder em{align-self:flex-end;color:rgba(246,234,222,.4);font:600 8px var(--utility);letter-spacing:.13em;text-transform:uppercase}.story-character-copy{grid-column:1/-1;display:grid;grid-template-columns:.45fr 1fr 1fr;gap:35px;padding:36px 0 0;border-top:1px solid rgba(95,61,42,.2)}.story-character-copy h3{font-size:34px;line-height:1.1}.story-character-copy>p:last-child{color:var(--muted);font-size:13px;line-height:1.8}
.story-community{background:#fffdf9}.story-community-grid{display:grid;grid-template-columns:1fr minmax(360px,.78fr);gap:clamp(55px,9vw,130px);align-items:center}.story-memory-art{position:relative;min-height:580px;background:#76513a}.story-memory-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 74px)}.memory-card{position:absolute;width:190px;height:235px;padding:13px;background:#fffaf1;box-shadow:0 18px 35px rgba(29,18,13,.28)}.memory-card:before{content:"";display:block;height:175px;background:linear-gradient(145deg,#3d2a21,#8c684f)}.memory-card span{display:block;margin-top:12px;color:#85756a;font-size:7px;letter-spacing:.13em}.memory-card.one{left:10%;top:10%;transform:rotate(-7deg)}.memory-card.two{right:9%;top:20%;transform:rotate(6deg)}.memory-card.three{left:34%;bottom:7%;transform:rotate(2deg)}.story-memory-art>i{position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(222,190,145,.32)}.story-community-copy h2{margin:15px 0 25px;font-size:clamp(48px,5vw,68px);line-height:.98}.story-community-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.85}.story-community-copy .story-opening{font-size:25px!important}.story-community-copy .btn{margin-top:28px}
.story-manifesto{position:relative;overflow:hidden;padding:125px 0;text-align:center;background:#211713;color:#f7efe5}.story-manifesto h2{position:relative;z-index:1;margin:18px 0 35px;color:#f7efe5;font-size:clamp(52px,7vw,90px);line-height:.98}.story-manifesto .eyebrow{color:#dcb170}.story-manifesto .hero-actions{position:relative;z-index:1;display:flex;justify-content:center}.story-manifesto>span{position:absolute;right:-4%;top:50%;transform:translateY(-50%);color:rgba(247,239,229,.04);font:440px/1 var(--serif)}
@media(max-width:900px){.story-meaning-grid,.story-community-grid{grid-template-columns:1fr}.story-title-block{position:static}.story-value-grid{grid-template-columns:1fr}.story-value-grid article:nth-child(odd){border-right:0}.story-community-copy{max-width:650px}.story-section-heading.is-row{display:block}.story-section-heading.is-row>p{margin-top:18px}.story-character-copy{grid-template-columns:1fr}.story-character-copy h3{max-width:600px}}
@media(max-width:768px){.story-editorial-hero{min-height:570px!important}.story-editorial-hero h1{font-size:clamp(46px,12vw,61px)!important}.story-moon{right:-67%;width:140vw}.story-hero-caption{display:none}.story-meaning,.story-journey,.story-values,.story-character,.story-community{padding:70px 0!important}.story-title-block h2,.story-section-heading h2{font-size:48px}.story-script{font-size:40px}.story-timeline:before{left:37px}.story-timeline article{grid-template-columns:38px 1fr;gap:15px;padding:28px 0}.story-timeline article>div{padding-left:18px}.story-timeline article>div:before{left:-24px}.story-note{padding:82px 0}.story-note blockquote{font-size:42px}.story-value-grid article{grid-template-columns:38px 1fr;min-height:0;padding:28px 4px}.story-character-grid{grid-template-columns:1fr;grid-template-rows:350px 250px 250px}.story-photo-placeholder.is-tall{grid-row:auto}.story-character-copy{grid-column:auto}.story-memory-art{min-height:450px}.memory-card{width:145px;height:188px}.memory-card:before{height:135px}.story-manifesto{padding:90px 0}.story-manifesto .hero-actions{display:grid}.story-manifesto h2{font-size:52px}}
@media(max-width:430px){.story-opening{font-size:24px!important}.story-memory-art{min-height:390px}.memory-card{width:120px;height:158px;padding:9px}.memory-card:before{height:112px}.memory-card.three{left:31%}.story-photo-placeholder strong{font-size:29px}}
/* Real café photography integration. */
body[data-page="home"] .home-hero{background:linear-gradient(90deg,rgba(24,15,12,.9) 0%,rgba(28,18,14,.72) 48%,rgba(24,15,12,.28) 100%),url('../images/cafe/collection/cafe-exterior-night.jpg') center 48%/cover no-repeat!important}body[data-page="home"] .home-hero:after{content:""!important;display:block!important;position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,12,10,.1),rgba(19,12,10,.38));z-index:0}.home-atmosphere-photo{position:relative;min-height:680px;background:#211713!important}.home-atmosphere-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}.home-atmosphere-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,17,13,.88),rgba(27,17,13,.52) 48%,rgba(27,17,13,.12))}.home-atmosphere-photo .container{position:relative;z-index:2}.home-atmosphere-photo .wide-visual-content{max-width:600px}.home-atmosphere-photo .wide-visual-content h2,.home-atmosphere-photo .wide-visual-content p{color:#fff8ee}
.story-photo-placeholder.has-photo,.visit-photo-placeholder.has-photo{padding:0!important}.story-photo-placeholder.has-photo:after,.visit-photo-placeholder.has-photo:after{z-index:1}.story-photo-placeholder.has-photo>img,.visit-photo-placeholder.has-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.story-photo-placeholder.has-photo:hover>img,.visit-photo-placeholder.has-photo:hover>img{transform:scale(1.025)}.story-photo-placeholder.has-photo:before,.visit-photo-placeholder.has-photo:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(26,16,12,.78))}.story-photo-placeholder.has-photo figcaption,.visit-photo-placeholder.has-photo figcaption{position:absolute;z-index:3;left:27px;right:27px;bottom:25px;display:grid;gap:7px}.story-photo-placeholder.has-photo figcaption small,.visit-photo-placeholder.has-photo figcaption small{color:#e5b979;font:600 8px var(--utility);letter-spacing:.17em;text-transform:uppercase}.story-photo-placeholder.has-photo figcaption strong,.visit-photo-placeholder.has-photo figcaption strong{color:#fff8ee;font:500 34px var(--serif)}.story-memory-art.has-photo{overflow:hidden;background:#3a281f}.story-memory-art.has-photo:before{z-index:1;background:linear-gradient(180deg,transparent 55%,rgba(25,15,11,.68))}.story-memory-art.has-photo>img{width:100%;height:100%;min-height:580px;object-fit:cover}.story-memory-art.has-photo figcaption{position:absolute;z-index:2;left:25px;bottom:22px;color:#fff6e9;font:600 8px var(--utility);letter-spacing:.16em;text-transform:uppercase}
.visit-location-photo{position:relative;margin:0}.visit-location-photo:before{z-index:1;background:linear-gradient(180deg,transparent 50%,rgba(25,15,11,.74))}.visit-location-photo:after{display:none}.visit-location-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.visit-location-photo figcaption{position:absolute;z-index:2;left:28px;bottom:25px;display:grid;gap:6px}.visit-location-photo figcaption strong{color:#fff7eb;font:500 31px var(--serif)}.visit-location-photo figcaption small{color:#e1b374;font:600 8px var(--utility);letter-spacing:.17em;text-transform:uppercase}
.menu-real-moments{display:grid;grid-template-columns:1.15fr .85fr;min-height:520px;background:#211713}.menu-real-moments figure{position:relative;min-width:0;overflow:hidden;margin:0}.menu-real-moments figure+figure{border-left:1px solid rgba(255,255,255,.2)}.menu-real-moments img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.menu-real-moments figure:hover img{transform:scale(1.025)}.menu-real-moments figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(24,14,10,.82))}.menu-real-moments figcaption{position:absolute;z-index:1;left:clamp(24px,4vw,58px);right:25px;bottom:38px;display:grid;gap:8px}.menu-real-moments figcaption span{color:#e0b171;font:600 8px var(--utility);letter-spacing:.18em;text-transform:uppercase}.menu-real-moments figcaption strong{max-width:480px;color:#fff8ee;font:500 clamp(28px,3vw,43px)/1.05 var(--serif)}
@media(max-width:768px){body[data-page="home"] .home-hero{background-position:62% center!important}.home-atmosphere-photo{min-height:520px}.home-atmosphere-photo:after{background:linear-gradient(90deg,rgba(27,17,13,.8),rgba(27,17,13,.28))}.story-memory-art.has-photo>img{min-height:450px}.story-photo-placeholder.has-photo figcaption strong,.visit-photo-placeholder.has-photo figcaption strong{font-size:28px}.menu-real-moments{grid-template-columns:1fr;min-height:0}.menu-real-moments figure{height:340px}.menu-real-moments figure+figure{border-left:0;border-top:1px solid rgba(255,255,255,.2)}}
@media(max-width:430px){.home-atmosphere-photo{min-height:460px}.menu-real-moments figure{height:285px}.story-photo-placeholder.has-photo figcaption,.visit-photo-placeholder.has-photo figcaption{left:20px;right:20px;bottom:19px}}
.story-memory-art.has-photo .story-memory-secondary{position:absolute;z-index:2;right:20px;bottom:52px;width:42%;height:34%;min-height:0;border:7px solid #fff8ee;object-fit:cover;box-shadow:0 16px 30px rgba(25,15,11,.28);transform:rotate(2deg)}.story-memory-art.has-photo figcaption{z-index:3}@media(max-width:430px){.story-memory-art.has-photo .story-memory-secondary{right:12px;bottom:48px;width:46%;border-width:5px}}

/* Individual page photography: each destination opens with its own cafe moment. */
body[data-page="story"] .story-editorial-hero{background:linear-gradient(90deg,rgba(25,15,12,.92) 0%,rgba(29,18,14,.72) 49%,rgba(24,15,12,.25) 100%),url('../images/cafe/page-heroes/story-interior.jpg') center 52%/cover no-repeat!important}
body[data-page="gallery"] .page-hero{background:linear-gradient(90deg,rgba(25,15,12,.93) 0%,rgba(29,18,14,.75) 48%,rgba(24,15,12,.31) 100%),url('../images/cafe/page-heroes/gallery-memory-wall.jpg') center 48%/cover no-repeat!important}
body[data-page="menu"] .menu-hero{background:linear-gradient(90deg,rgba(25,15,12,.91) 0%,rgba(29,18,14,.7) 48%,rgba(24,15,12,.24) 100%),url('../images/cafe/page-heroes/menu-moon-corner.jpg') center 54%/cover no-repeat!important}
body[data-page="location"] .location-hero{background:linear-gradient(90deg,rgba(25,15,12,.92) 0%,rgba(29,18,14,.71) 48%,rgba(24,15,12,.26) 100%),url('../images/cafe/page-heroes/location-welcome-sign.jpg') center 66%/cover no-repeat!important}
body[data-page="story"] .story-editorial-hero:after,body[data-page="gallery"] .page-hero:after,body[data-page="menu"] .menu-hero:after,body[data-page="location"] .location-hero:after{content:""!important;display:block!important;position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(19,12,10,.05),rgba(19,12,10,.38))}
body[data-page="story"] .story-editorial-hero .container,body[data-page="gallery"] .page-hero .container,body[data-page="menu"] .menu-hero .container,body[data-page="location"] .location-hero .container{position:relative;z-index:2}
body[data-page="story"] .story-editorial-hero .page-hero-content,body[data-page="gallery"] .page-hero-content,body[data-page="menu"] .menu-hero .page-hero-content,body[data-page="location"] .location-hero .page-hero-content{text-shadow:0 2px 22px rgba(15,9,7,.3)}
@media(max-width:768px){body[data-page="story"] .story-editorial-hero{background-position:42% center!important}body[data-page="gallery"] .page-hero{background-position:55% center!important}body[data-page="menu"] .menu-hero{background-position:72% center!important}body[data-page="location"] .location-hero{background-position:44% center!important}body[data-page="story"] .story-editorial-hero,body[data-page="gallery"] .page-hero,body[data-page="menu"] .menu-hero,body[data-page="location"] .location-hero{background-color:#211713!important;background-blend-mode:normal}}

/* Editorial footer, gallery navigation and the location arrival image. */
body[data-page="location"] .location-hero{background:linear-gradient(90deg,rgba(24,14,11,.94) 0%,rgba(28,17,13,.76) 46%,rgba(23,14,11,.25) 100%),url('../images/cafe/collection/entrance-detail.jpg') center 42%/cover no-repeat!important}
.gallery-filter-band{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);align-items:end;gap:45px;padding-top:46px;padding-bottom:12px;border-bottom:1px solid rgba(95,61,42,.16)}
.gallery-filter-intro>p:last-child{margin-top:7px;color:var(--muted);font-size:13px}
.gallery-filter-band .gallery-filters{justify-content:flex-end;flex-wrap:wrap;overflow:visible;padding:0}
.gallery-filter-band .gallery-filters button{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:9px 13px 9px 18px;border-color:rgba(95,61,42,.22);background:#fffaf3;color:#4a3024;font:600 10px/1 var(--utility);letter-spacing:.1em;text-transform:uppercase;transition:background .28s ease,color .28s ease,border-color .28s ease,transform .28s ease}
.gallery-filter-band .gallery-filters button:hover{border-color:#b97c43;transform:translateY(-2px)}
.gallery-filter-band .gallery-filters button small{display:grid;min-width:23px;height:23px;padding:0 6px;place-items:center;border-radius:999px;background:rgba(95,61,42,.09);font:600 9px/1 var(--utility);letter-spacing:0}
.gallery-filter-band .gallery-filters button.active{background:#39271f;color:#fff8ee;border-color:#39271f}
.gallery-filter-band .gallery-filters button.active small{background:rgba(255,248,238,.14);color:#e2b575}
.gallery-filter-band .gallery-filters button:focus-visible{outline:2px solid #c58a4c;outline-offset:3px}

.customer-footer{position:relative;isolation:isolate;overflow:hidden;padding:0!important;background:#211713!important;color:#e9dfd2!important;border-top:1px solid rgba(224,177,113,.38)}
.customer-footer:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 83% 24%,rgba(178,116,69,.13),transparent 28%),linear-gradient(135deg,#2d1e18,#1d1411 68%)}
.footer-moon{position:absolute;z-index:-1;right:-3vw;bottom:-190px;color:rgba(255,245,230,.025);font:520px/1 var(--serif);transform:rotate(-12deg);pointer-events:none}
.footer-invitation{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:60px;padding-top:88px;padding-bottom:70px;border-bottom:1px solid rgba(225,181,121,.22)}
.footer-invitation .eyebrow{color:#dda969}
.footer-invitation h2{margin-top:15px;color:#fff8ee;font-size:clamp(48px,5.6vw,76px);line-height:.95;letter-spacing:-.04em}
.footer-invitation h2 em{color:#e0bd8d;font-weight:400}
.footer-invitation-actions{display:flex;flex:0 0 auto;gap:11px;padding-bottom:4px}
.footer-outline-button{border:1px solid rgba(255,248,238,.5)!important;background:transparent!important;color:#fff8ee!important}
.footer-outline-button:hover{border-color:#dda969!important;color:#dda969!important}
.customer-footer .footer-grid{position:relative;z-index:1;grid-template-columns:1.45fr .55fr .9fr .78fr;gap:clamp(35px,5vw,75px);padding-top:68px;padding-bottom:65px}
.customer-footer .footer-brand-line{margin-top:30px;color:#fff8ee;font:400 24px/1.35 var(--serif)}
.customer-footer .footer-note{color:rgba(233,223,210,.63)}
.customer-footer .footer-signature{color:#dda969;font-family:var(--signature);font-size:25px;letter-spacing:0;text-transform:none}
.customer-footer .footer-title{margin-top:4px;color:#dda969}
.customer-footer .footer-navigation nav a{position:relative;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);color:#e9dfd2}
.customer-footer .footer-navigation nav a:after{content:"↗";color:rgba(221,169,105,.55);font-size:11px;transition:transform .2s ease}
.customer-footer .footer-navigation nav a:hover:after{transform:translate(2px,-2px)}
.customer-footer .footer-visit h3{font-size:24px}
.customer-footer .footer-directions{margin-top:25px;border-color:rgba(221,169,105,.7);color:#dda969}
.footer-open-status{display:flex;align-items:center;gap:10px;margin:7px 0 22px;color:#e9dfd2;font-size:12px}
.footer-open-status i{width:8px;height:8px;border-radius:50%;background:#ad7b58;box-shadow:0 0 0 5px rgba(173,123,88,.12)}
.footer-open-status.is-open i{background:#8fa983;box-shadow:0 0 0 5px rgba(143,169,131,.13)}
.customer-footer .footer-hours{margin:0 0 23px;padding:18px 0;border-block:1px solid rgba(255,255,255,.09)}
.customer-footer .footer-phone{margin:0 0 13px}
.customer-footer .footer-bottom{position:relative;z-index:1;padding-block:24px;border-top:1px solid rgba(255,255,255,.1)}
@media(max-width:1000px){.footer-invitation{align-items:flex-start;flex-direction:column}.customer-footer .footer-grid{grid-template-columns:1.2fr .8fr}.gallery-filter-band{grid-template-columns:1fr}.gallery-filter-band .gallery-filters{justify-content:flex-start}}
@media(max-width:768px){body[data-page="location"] .location-hero{background-position:62% center!important;background-image:linear-gradient(90deg,rgba(24,14,11,.92),rgba(25,15,12,.65)),url('../images/cafe/collection/entrance-detail.jpg')!important}.gallery-filter-band{display:block;width:100%;padding:35px 16px 8px}.gallery-filter-intro{width:min(100%,540px);margin:0 auto 20px}.gallery-filter-band .gallery-filters{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin-inline:-16px;padding:4px 16px 14px;scroll-snap-type:x proximity;scrollbar-width:none}.gallery-filter-band .gallery-filters::-webkit-scrollbar{display:none}.gallery-filter-band .gallery-filters button{scroll-snap-align:start}.footer-invitation{padding-top:68px;padding-bottom:52px;gap:35px}.footer-invitation h2{font-size:clamp(44px,12vw,58px)}.footer-invitation-actions{display:grid;width:100%}.footer-invitation-actions .btn{width:100%;justify-content:center}.customer-footer .footer-grid{grid-template-columns:1fr;gap:43px;padding-top:52px;padding-bottom:48px}.customer-footer .footer-brand-line{font-size:22px}.footer-moon{right:-150px;bottom:-80px;font-size:360px}}

/* Final customer-facing mobile layout safeguards. */
@media(max-width:768px){
 body:not(.admin-body) main,body:not(.admin-body) main>section{min-width:0;max-width:100%;}
 body:not(.admin-body) img,body:not(.admin-body) video,body:not(.admin-body) iframe{max-width:100%;}
 body:not(.admin-body) :where(.section-head,.editorial,.story-grid,.story-meaning-grid,.story-community-grid,.story-character-grid,.visit-intro-grid,.visit-detail-grid,.visit-photo-grid,.home-taste-grid,.food-grid,.premium-gallery)>*{min-width:0;}
 body:not(.admin-body) :where(h1,h2,h3,p,address,a,span,strong){overflow-wrap:break-word;}
 .gallery-section{padding-top:56px!important;}
 .gallery-section>.container{width:min(calc(100% - 32px),var(--container))!important;max-width:var(--container)!important;margin-inline:auto!important;}
 .gallery-section .section-head{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;gap:17px!important;margin-bottom:28px!important;}
 .gallery-section .section-head>div,.gallery-section .section-head>.lede{width:100%!important;max-width:100%!important;}
 .gallery-section .section-head h2{font-size:clamp(38px,10.5vw,50px)!important;line-height:1.02!important;letter-spacing:-.04em!important;}
 .gallery-section .section-head,.gallery-section .section-head h2,.gallery-section .section-head .lede{height:auto!important;min-height:0!important;white-space:normal!important;}
 .gallery-section .section-head .lede{font-size:15px;line-height:1.7;}
 .gallery-section .premium-gallery{width:100%!important;max-width:100%!important;margin:0!important;overflow:visible!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;}
 .gallery-section .premium-gallery .gallery-item,.gallery-section .premium-gallery .gallery-item:nth-child(n){width:100%!important;min-height:clamp(280px,78vw,420px)!important;margin:0!important;}
 .gallery-filter-band.container{width:min(calc(100% - 32px),var(--container))!important;padding:32px 0 7px!important;}
 .gallery-filter-intro{width:100%!important;margin:0 0 19px!important;}
 .gallery-filter-band .gallery-filters{margin-inline:0!important;padding:4px 0 15px!important;}
 .gallery-filter-band .gallery-filters button{min-height:44px;}
 .story-title-block h2,.story-section-heading h2,.story-community-copy h2,.visit-section-heading h2,.visit-intro-copy h2,.home-taste .section-head h2{font-size:clamp(39px,11.5vw,48px)!important;overflow-wrap:normal;}
 .story-note blockquote{font-size:clamp(34px,10vw,42px)!important;}
 .story-character-copy,.visit-section-heading{width:100%;min-width:0;}
 .visit-primary-actions{display:grid;width:100%;}
 .visit-primary-actions>*{width:100%;box-sizing:border-box;}
 .hours-list article{min-width:0;}
 .hours-list article>*{min-width:0;}
 .customer-footer .footer-invitation,.customer-footer .footer-grid,.customer-footer .footer-bottom{width:min(calc(100% - 32px),var(--container));}
 .customer-footer .footer-navigation nav{grid-template-columns:1fr 1fr;column-gap:16px;}
 .customer-footer .premium-logo{max-width:100%;}
 .customer-footer .footer-phone{font-size:18px;overflow-wrap:anywhere;}
 .final-cta .container{width:min(calc(100% - 32px),var(--container));}
}
@media(max-width:430px){
 .container,.premium-hero .container,.gallery-section>.container,.gallery-filter-band.container,.customer-footer .footer-invitation,.customer-footer .footer-grid,.customer-footer .footer-bottom,.final-cta .container{width:min(calc(100% - 28px),var(--container))!important;}
 .section{padding-block:58px;}
 .gallery-section{padding-top:50px!important;}
 .gallery-section .section-head h2{font-size:clamp(36px,11.2vw,46px)!important;}
 .gallery-section .section-head{gap:14px!important;}
 .gallery-section .premium-gallery .gallery-item,.gallery-section .premium-gallery .gallery-item:nth-child(n){min-height:285px!important;padding:20px!important;}
 .gallery-filter-band .gallery-filters{margin-right:-14px!important;padding-right:14px!important;}
 .premium-hero h1,.page-hero h1{font-size:clamp(40px,11.5vw,51px)!important;}
 .premium-hero .lede,.page-hero .lede{font-size:14px!important;}
 .story-timeline article{grid-template-columns:31px minmax(0,1fr);gap:10px;}
 .story-value-grid article{grid-template-columns:31px minmax(0,1fr);gap:13px;}
 .hours-list article{grid-template-columns:28px minmax(0,1fr)!important;gap:5px 10px!important;padding-block:15px;}
 .hours-list article p{grid-column:2;}
 .hours-list article small{right:6px;top:5px;}
 .visit-photo-grid{grid-template-rows:300px 225px 225px;}
 .customer-footer .footer-navigation nav{grid-template-columns:1fr;}
 .footer-invitation h2{font-size:clamp(39px,11.5vw,49px);}
 .footer-invitation-actions{gap:9px;}
 .footer-moon{right:-190px;}
}

/* Menu photographs published from Admin Menu Management. */
#kopi-bulan-menu .food-image.has-photo{height:210px!important;min-height:210px!important;flex-basis:210px!important;background:#2a1d17!important;}
#kopi-bulan-menu .food-image.has-photo>img{position:absolute;inset:0;display:block!important;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s ease,filter .55s ease;}
#kopi-bulan-menu .food-image.has-photo:after{content:"";position:absolute;z-index:1;display:block!important;inset:0;background:linear-gradient(180deg,rgba(24,15,12,.08) 28%,rgba(24,15,12,.68) 100%);pointer-events:none;}
#kopi-bulan-menu .food-image.has-photo:before{z-index:2;}
#kopi-bulan-menu .food-image.has-photo .menu-card-number,#kopi-bulan-menu .food-image.has-photo .menu-visual-label{z-index:3;text-shadow:0 2px 12px rgba(20,12,9,.55);}
#kopi-bulan-menu .food-card:hover .food-image.has-photo>img{transform:scale(1.035);filter:saturate(1.04);}
@media(max-width:768px){#kopi-bulan-menu .food-image.has-photo{height:auto!important;min-height:118px!important;flex-basis:auto!important}#kopi-bulan-menu .food-image.has-photo>img{object-position:center}.food-card .food-image.has-photo .menu-card-number{font-size:25px}}
@media(max-width:430px){#kopi-bulan-menu .food-card{grid-template-columns:92px minmax(0,1fr)!important}#kopi-bulan-menu .food-image.has-photo{min-height:112px!important}}

/* Interactive customer menu browser. */
#kopi-bulan-menu .menu-filter button{display:inline-flex;align-items:center;gap:9px;cursor:pointer}
#kopi-bulan-menu .menu-filter button{min-height:42px;padding:10px 16px;border:1px solid rgba(53,40,32,.2);border-radius:999px;background:transparent;color:var(--forest);font:500 11px/1 var(--sans);white-space:nowrap;transition:border-color .2s,background .2s,color .2s,transform .2s}
#kopi-bulan-menu .menu-filter button:hover{border-color:var(--gold);background:rgba(189,135,80,.1);transform:translateY(-1px)}
#kopi-bulan-menu .menu-filter button.active{border-color:var(--forest);background:var(--forest);color:var(--cream)}
#kopi-bulan-menu .menu-filter button:focus-visible{outline:3px solid rgba(197,138,76,.38);outline-offset:2px}
#kopi-bulan-menu .menu-filter button small{display:grid;min-width:22px;height:22px;padding:0 6px;place-items:center;border-radius:999px;background:rgba(53,40,32,.08);font:700 9px/1 var(--utility)}
#kopi-bulan-menu .menu-filter button.active small{background:rgba(255,248,238,.16);color:#e3b77c}
#kopi-bulan-menu .menu-search-clear{display:grid;width:38px;height:38px;flex:0 0 38px;padding:0;place-items:center;border:0;border-radius:50%;background:rgba(53,40,32,.08);color:var(--forest);font:300 23px/1 Arial;cursor:pointer}
#kopi-bulan-menu .menu-search-clear[hidden]{display:none}
#kopi-bulan-menu .menu-search-clear:hover{background:rgba(189,135,80,.2)}
#kopi-bulan-menu .menu-results-status{min-height:20px;margin:-25px 0 18px;color:var(--muted);font:600 9px/1.4 var(--utility);letter-spacing:.1em;text-transform:uppercase}
#kopi-bulan-menu .food-card.is-menu-hidden{display:none!important}
.menu-photo-trigger{width:100%;padding:0;border:0;text-align:left;cursor:zoom-in}
.menu-photo-hint{position:absolute;z-index:4;right:17px;top:16px;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(28,17,13,.56);color:#fff8ee;font:600 8px/1 var(--utility);letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(6px);opacity:.82;transition:opacity .2s,transform .2s}
.menu-photo-hint:before{content:"+";font-size:13px;font-weight:400}
.menu-photo-trigger:hover .menu-photo-hint,.menu-photo-trigger:focus-visible .menu-photo-hint{opacity:1;transform:translateY(-2px)}
.menu-photo-trigger:focus-visible{outline:3px solid #c58a4c;outline-offset:-3px}
.menu-photo-dialog{position:fixed;width:min(900px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid rgba(221,181,124,.5);background:#211713;color:#fff8ee;box-shadow:0 30px 100px rgba(20,12,9,.48);overflow:hidden}
.menu-photo-dialog::backdrop{background:rgba(24,15,12,.78);backdrop-filter:blur(7px)}
.menu-photo-dialog[open]{display:grid;grid-template-rows:minmax(260px,72vh) auto;animation:kbDialogIn .4s cubic-bezier(.22,.75,.24,1) both}
.menu-photo-dialog>img{width:100%;height:100%;min-height:0;object-fit:contain;background:#160f0d}
.menu-photo-dialog>div{padding:24px 28px 27px}
.menu-photo-dialog h2{margin-top:7px;color:#fff8ee;font-size:clamp(32px,5vw,48px)}
.menu-photo-dialog-close{position:absolute;z-index:2;right:14px;top:14px;width:46px;height:46px;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:rgba(25,15,12,.7);color:#fff;font:300 28px/1 Arial;cursor:pointer;backdrop-filter:blur(6px)}
@media(max-width:620px){#kopi-bulan-menu .menu-filter button{min-height:46px;padding:11px 15px}#kopi-bulan-menu .menu-results-status{margin:-13px 0 17px}#kopi-bulan-menu .food-card,#kopi-bulan-menu .food-card:nth-child(n){display:flex!important;flex-direction:column!important}#kopi-bulan-menu .food-card.is-menu-hidden{display:none!important}#kopi-bulan-menu .food-image,#kopi-bulan-menu .food-image.has-photo{width:100%;height:230px!important;min-height:230px!important;flex:0 0 230px!important;border-right:0!important;border-bottom:1px solid rgba(189,135,80,.35)!important}#kopi-bulan-menu .menu-visual-label{display:block!important}.menu-photo-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.menu-photo-dialog[open]{grid-template-rows:minmax(240px,62vh) auto}.menu-photo-dialog>div{padding:20px}.menu-photo-dialog-close{right:10px;top:10px}}

.hours-list .is-closed-day{background:rgba(53,40,32,.035)}.hours-list .is-closed-day>p{color:#9b6a55;font-weight:700}.logout-confirm-dialog .favourite-dialog-mark{font-family:Arial,sans-serif;font-size:24px}.logout-confirm-dialog [data-logout-proceed]{background:#6b3d2b!important}

/* Official transparent Kopi & Bulan artwork. */
.premium-logo.brand-image-link{display:inline-flex!important;width:auto;min-width:0;align-items:center;line-height:0}
.premium-logo .brand-logo-image{display:block;width:170px;height:68px;object-fit:contain;object-position:left center}
.site-header .brand-image-link{align-self:center}
.customer-footer .footer-logo.brand-image-link{width:max-content;margin-bottom:28px!important;padding:0;background:transparent;filter:drop-shadow(0 0 1px rgba(247,241,232,.72))}
.customer-footer .brand-logo-image{width:205px;height:102px}
@media(max-width:1100px) and (min-width:769px){.premium-logo .brand-logo-image{width:150px;height:62px}}
@media(max-width:768px){.premium-logo .brand-logo-image{width:138px;height:55px}.customer-footer .brand-logo-image{width:180px;height:90px}}
@media(max-width:390px){.premium-logo .brand-logo-image{width:124px;height:50px}}

/* Our Story hero: aligned with the shared inner-page scale. */
body[data-page="story"] .story-editorial-hero{min-height:520px!important;padding-block:64px!important}
body[data-page="story"] .story-editorial-hero .page-hero-content{max-width:800px!important;padding-block:38px!important}
body[data-page="story"] .story-editorial-hero h1{max-width:790px;margin:20px 0 24px!important;font-size:clamp(50px,5.6vw,80px)!important;line-height:1.02!important}
body[data-page="story"] .story-editorial-hero h1:after{margin-top:24px!important}
body[data-page="story"] .story-editorial-hero .lede{max-width:570px;font-size:15px!important;line-height:1.7}
body[data-page="story"] .story-moon{width:min(42vw,570px)}
body[data-page="story"] .story-moon span{font-size:210px}
@media(max-width:768px){body[data-page="story"] .story-editorial-hero{min-height:470px!important;padding-block:48px!important}body[data-page="story"] .story-editorial-hero .page-hero-content{padding-block:28px!important}body[data-page="story"] .story-editorial-hero h1{max-width:590px;margin:17px 0 20px!important;font-size:clamp(44px,11vw,58px)!important;line-height:1.03!important}body[data-page="story"] .story-editorial-hero h1:after{margin-top:20px!important}body[data-page="story"] .story-editorial-hero .lede{max-width:520px;font-size:14px!important}body[data-page="story"] .story-moon{right:-55%;width:120vw}body[data-page="story"] .story-moon span{font-size:180px}}
@media(max-width:430px){body[data-page="story"] .story-editorial-hero{min-height:440px!important;padding-block:40px!important}body[data-page="story"] .story-editorial-hero h1{font-size:clamp(40px,11.5vw,50px)!important}}
