:root{
  --coffee:#4d2c26;
  --coffee-2:#7a3f33;
  --clay:#a95c49;
  --cream:#f7efe5;
  --paper:#fffaf4;
  --ink:#251b18;
  --muted:#756762;
  --line:#ead8ca;
  --sage:#6e7466;
  --shadow:0 20px 50px rgba(73,42,34,.12);
  --radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:100}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,250,244,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(122,63,51,.08)}
.nav-wrap{max-width:1180px;margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--coffee-2);color:white;font-size:21px;box-shadow:0 8px 24px rgba(122,63,51,.18)}
.brand strong{font-family:Georgia,serif;font-size:22px;letter-spacing:.2px;display:block;line-height:1.05}.brand small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1.4px;margin-top:4px}
.main-nav{display:flex;gap:28px;font-weight:700;font-size:14px}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--clay);transition:.25s}.main-nav a:hover:after{right:0}
.menu-toggle{display:none;border:0;background:transparent;font-size:27px;cursor:pointer;color:var(--coffee)}
.hero{max-width:1240px;margin:auto;min-height:740px;padding:72px 24px 60px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:66px;overflow:hidden}
.eyebrow{text-transform:uppercase;letter-spacing:2.6px;font-size:12px;font-weight:800;color:var(--clay);margin:0 0 15px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--coffee);line-height:1.06;margin-top:0}
h1{font-size:clamp(48px,7vw,86px);max-width:760px;margin-bottom:24px;letter-spacing:-2.8px}h2{font-size:clamp(38px,5vw,58px);letter-spacing:-1.3px;margin-bottom:16px}h3{font-size:25px;margin-bottom:0}
.hero-text{font-size:19px;color:var(--muted);max-width:620px;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:800;font-size:14px;transition:.22s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--coffee-2);color:#fff;box-shadow:0 12px 30px rgba(122,63,51,.22)}.btn-ghost{border:1px solid var(--line);background:#fff}.btn-light{background:#fff;color:var(--coffee-2)}
.hero-note{margin-top:24px;color:var(--muted);font-size:14px;display:flex;gap:8px;align-items:center}
.hero-photo-wrap{position:relative}.hero-photo-wrap:before{content:"";position:absolute;inset:38px -28px -26px 38px;border-radius:46% 54% 44% 56% / 48% 40% 60% 52%;background:#ead9c9;z-index:-1}.hero-photo{height:590px;object-fit:cover;object-position:center 35%;border-radius:46% 54% 44% 56% / 48% 40% 60% 52%;box-shadow:var(--shadow)}
.hero-badge{position:absolute;right:-18px;bottom:38px;background:#fff;border:1px solid var(--line);padding:14px 18px;border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;line-height:1.15}.hero-badge span{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);font-weight:800}.hero-badge strong{font-family:Georgia,serif;color:var(--coffee);font-size:18px;margin-top:4px}
.quick-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:42px;flex-wrap:wrap;padding:18px 24px;background:#fff;font-size:13px;font-weight:800;color:var(--coffee)}
.section{max-width:1180px;margin:auto;padding:100px 24px}.section-heading{text-align:center;max-width:740px;margin:0 auto 46px}.section-heading>p:last-child{color:var(--muted);margin-bottom:0}
.menu-section{max-width:1240px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.menu-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:0 12px 32px rgba(73,42,34,.05)}.featured-card{background:linear-gradient(145deg,#fff 0%,#f7eee7 100%)}.menu-card.wide{grid-column:1/-1}.menu-card-title{display:flex;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:12px}.menu-card-title>span{font-size:24px}.menu-list>div{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px dashed #eee0d4}.menu-list>div:last-child{border-bottom:0}.menu-list>div span{flex:1}.menu-list>div strong{color:var(--coffee-2);font-size:15px}.two-col-list{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.menu-footnote,.flavors{margin:18px 0 0;padding:15px 17px;background:var(--cream);border-radius:16px;color:var(--muted);font-size:14px}
.story-section{max-width:1240px}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.story-photo img{height:580px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.story-copy p{color:var(--muted);font-size:18px}.story-copy blockquote{font-family:Georgia,serif;color:var(--coffee);font-size:28px;margin:28px 0;border-left:4px solid var(--clay);padding-left:18px}.text-link{font-weight:800;color:var(--coffee-2)}
.gallery-section{max-width:1240px}.gallery{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.gallery figure{margin:0;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);background:#eee}.gallery-main img,.gallery-side img{height:620px;object-fit:cover}.gallery-main img{object-position:center 35%}.gallery-side img{object-position:center top}
.location-section{max-width:1240px}.location-card{background:var(--coffee);border-radius:34px;padding:28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;color:#fff;box-shadow:var(--shadow)}.location-copy{padding:46px 30px}.location-copy h2{color:#fff}.location-copy .eyebrow{color:#e8b8a8}.address{color:#eee0db;font-size:17px;margin:22px 0 28px}.map-wrap{min-height:460px;border-radius:24px;overflow:hidden;background:#e9ddd4}.map-wrap iframe{border:0;width:100%;height:100%;min-height:460px}
.final-cta{margin-top:60px;background:var(--clay);color:#fff;text-align:center;padding:90px 24px}.final-cta h2{color:#fff}.final-cta .eyebrow{color:#f8ddd5}
footer{max-width:1180px;margin:auto;padding:34px 24px 42px;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;color:var(--muted);font-size:13px}footer strong{font-family:Georgia,serif;color:var(--coffee);font-size:21px;display:block}footer span{font-size:11px;text-transform:uppercase;letter-spacing:1.2px}.floating-map{position:fixed;right:20px;bottom:20px;width:54px;height:54px;border-radius:50%;background:var(--coffee-2);color:#fff;display:grid;place-items:center;font-size:23px;box-shadow:0 14px 34px rgba(73,42,34,.28);z-index:30;border:3px solid rgba(255,255,255,.75)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:900px){.main-nav{display:none;position:absolute;top:72px;left:16px;right:16px;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;gap:44px;padding-top:48px;min-height:0}.hero-copy{text-align:center}.hero-text{margin-left:auto;margin-right:auto}.hero-actions,.hero-note{justify-content:center}.hero-photo-wrap{max-width:620px;margin:auto}.hero-photo{height:610px}.hero-badge{right:4px}.menu-grid{grid-template-columns:1fr}.menu-card.wide{grid-column:auto}.story-grid{grid-template-columns:1fr}.story-photo img{height:520px}.gallery{grid-template-columns:1fr 1fr}.gallery-main img,.gallery-side img{height:520px}.location-card{grid-template-columns:1fr}.location-copy{padding:26px 20px}.map-wrap,.map-wrap iframe{min-height:390px}footer{grid-template-columns:1fr;text-align:center;gap:10px}}
@media (max-width:620px){.nav-wrap{padding:12px 16px}.brand-mark{width:40px;height:40px}.brand strong{font-size:20px}.brand small{font-size:9px}.hero{padding:38px 18px 44px}.hero h1{font-size:52px;letter-spacing:-2px}.hero-text{font-size:17px}.hero-photo{height:470px}.hero-photo-wrap:before{inset:22px -10px -12px 20px}.hero-badge{bottom:18px;font-size:12px}.quick-strip{gap:16px 24px;justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.quick-strip span{white-space:nowrap}.section{padding:76px 18px}.menu-card{padding:24px 20px}.two-col-list{grid-template-columns:1fr}.story-photo img{height:420px}.gallery{grid-template-columns:1fr}.gallery-main img{height:440px}.gallery-side img{height:auto;max-height:720px;object-fit:contain;background:#d9d1c9}.location-card{padding:12px;border-radius:26px}.location-copy{padding:32px 18px}.final-cta{padding:72px 18px}footer{padding:28px 18px 90px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}
.lang-toggle{border:1px solid var(--coffee-2);background:var(--coffee-2);color:#fff;border-radius:999px;padding:7px 13px;font-weight:800;cursor:pointer;font-size:12px}
.owner-section{max-width:1240px;background:linear-gradient(135deg,#f4e7d8,#fffaf4);border-radius:38px;margin-top:55px;margin-bottom:25px;padding:48px}
.owner-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:58px;align-items:center}.owner-photo img{height:650px;object-fit:cover;object-position:center 30%;border-radius:28px;box-shadow:var(--shadow)}.owner-copy .lead{font-family:Georgia,serif;font-size:25px;color:var(--coffee);line-height:1.35}.owner-copy p:not(.eyebrow):not(.lead){color:var(--muted);font-size:17px}.owner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.owner-stats div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.owner-stats strong{display:block;font-family:Georgia,serif;font-size:34px;color:var(--coffee-2)}.owner-stats span{font-size:12px;color:var(--muted);font-weight:700}.contact-details{margin:20px 0}.contact-details p{margin:7px 0;color:#eee0db}.btn-whatsapp{background:#fff;color:var(--coffee);margin-right:8px;margin-bottom:10px}.floating-whatsapp{position:fixed;right:20px;bottom:84px;width:54px;height:54px;border-radius:50%;background:#238c52;color:#fff;display:grid;place-items:center;font-size:23px;box-shadow:0 14px 34px rgba(0,0,0,.22);z-index:31;border:3px solid rgba(255,255,255,.8)}
@media(max-width:900px){.owner-section{margin:30px 16px;padding:28px}.owner-grid{grid-template-columns:1fr}.owner-photo img{height:560px}.lang-toggle{align-self:flex-start}}
@media(max-width:620px){.owner-section{padding:18px;margin:18px 10px;border-radius:26px}.owner-photo img{height:460px}.owner-stats{grid-template-columns:1fr}.main-nav .lang-toggle{width:max-content}}

/* Official Café Bloom logo */
.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:12px;background:#fff;flex:0 0 auto}
.logo-showcase{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);display:grid;place-items:center}
.logo-showcase img{width:100%;height:auto!important;max-height:580px;object-fit:contain!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:620px){.brand-logo{width:46px;height:46px}.logo-showcase{padding:18px}}
