{"id":8,"date":"2026-05-18T15:21:39","date_gmt":"2026-05-18T13:21:39","guid":{"rendered":"https:\/\/granoespressobar.de\/?page_id=8"},"modified":"2026-05-18T15:27:44","modified_gmt":"2026-05-18T13:27:44","slug":"elementor-8","status":"publish","type":"page","link":"https:\/\/granoespressobar.de\/","title":{"rendered":"Homepage"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"8\" class=\"elementor elementor-8\">\n\t\t\t\t<div class=\"elementor-element elementor-element-da4509d e-con-full e-flex e-con e-parent\" data-id=\"da4509d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c484332 elementor-widget elementor-widget-html\" data-id=\"c484332\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\nhtml,\nbody {\n  margin: 0 !important;\n  padding: 0 !important;\n  width: 100%;\n  overflow-x: hidden;\n}\n\nbody {\n  background: #090909 !important;\n}\n\n.elementor,\n.elementor-section,\n.elementor-container,\n.elementor-widget-wrap,\n.elementor-widget-html,\n.elementor-widget-container {\n  margin: 0 !important;\n  padding: 0 !important;\n  max-width: none !important;\n}\n\n.grano-page {\n  width: 100vw;\n  min-height: 100vh;\n  margin: 0;\n  padding: 0;\n  background: #090909;\n}\n<\/style><!DOCTYPE html>\n<html lang=\"de\">\n<head>\n<meta charset=\"UTF-8\" \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n<title>Grano Espresso Coffee Bar \u2014 Bad Homburg<\/title>\n<meta name=\"description\" content=\"Grano Espresso Coffee Bar in den Louisen Arkaden Bad Homburg. Italienischer Kaffee aus Neapel, frische Panini, gem\u00fctliche Lounge-Atmosph\u00e4re.\" \/>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue&family=Caveat:wght@500;700&family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n<style>\n  :root {\n    --black: #0e0d0c;\n    --black-soft: #1a1816;\n    --red: #c8281e;\n    --red-dark: #9d1a12;\n    --red-light: #e8463a;\n    --cream: #f4ede0;\n    --paper: #ebe1cf;\n    --wood: #4a2f1f;\n    --wood-light: #6b4530;\n    --green: #9bc24a;\n    --green-deep: #6b8a2f;\n    --text: #2a241e;\n    --text-soft: #5a4f44;\n  }\n\n  * { box-sizing: border-box; margin: 0; padding: 0; }\n\n  html { scroll-behavior: smooth; }\n\n  body {\n    background: var(--cream);\n    color: var(--text);\n    font-family: 'Inter', sans-serif;\n    font-size: 16px;\n    line-height: 1.6;\n    overflow-x: hidden;\n  }\n\n  \/* Subtile Holz-\/Papier-Textur *\/\n  body::before {\n    content: '';\n    position: fixed;\n    inset: 0;\n    pointer-events: none;\n    z-index: 1;\n    background-image:\n      url(\"data:image\/svg+xml,%3Csvg viewBox='0 0 600 600' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'\/%3E%3CfeColorMatrix values='0 0 0 0 0.18 0 0 0 0 0.12 0 0 0 0 0.06 0 0 0 0.08 0'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'\/%3E%3C\/svg%3E\");\n    opacity: 0.6;\n    mix-blend-mode: multiply;\n  }\n\n  .wrap {\n    max-width: 1200px;\n    margin: 0 auto;\n    padding: 0 28px;\n    position: relative;\n    z-index: 5;\n  }\n\n  \/* ====== TOP STRIP ====== *\/\n  .top-strip {\n    background: var(--black);\n    color: var(--cream);\n    padding: 10px 0;\n    position: relative;\n    z-index: 10;\n    border-bottom: 4px solid var(--red);\n  }\n  .top-strip-inner {\n    max-width: 1200px;\n    margin: 0 auto;\n    padding: 0 28px;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    font-size: 12px;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    font-weight: 500;\n  }\n  .top-strip .pin { color: var(--red-light); }\n\n  \/* ====== HEADER \/ HERO ====== *\/\n  .hero {\n    position: relative;\n    background: var(--black);\n    color: var(--cream);\n    padding: 80px 0 100px;\n    overflow: hidden;\n  }\n  .hero::before {\n    content: '';\n    position: absolute;\n    top: 0; left: 0; right: 0; bottom: 0;\n    background-image: url('images\/portafilter.jpg');\n    background-size: cover;\n    background-position: center;\n    opacity: 0.35;\n    filter: contrast(1.1) saturate(1.1);\n  }\n  .hero::after {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(180deg, rgba(14,13,12,0.7) 0%, rgba(14,13,12,0.5) 50%, rgba(14,13,12,0.95) 100%);\n  }\n  .hero-content {\n    position: relative;\n    z-index: 2;\n    text-align: center;\n  }\n\n  .hero-eyebrow {\n    display: inline-flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 12px;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--cream);\n    opacity: 0.8;\n    margin-bottom: 28px;\n    font-weight: 500;\n  }\n  .hero-eyebrow::before, .hero-eyebrow::after {\n    content: '';\n    width: 36px;\n    height: 1px;\n    background: var(--red-light);\n  }\n\n  .grano-logo {\n    display: inline-block;\n    line-height: 0.85;\n    margin-bottom: 12px;\n  }\n  .grano-script {\n    font-family: 'Caveat', cursive;\n    font-weight: 700;\n    color: var(--red);\n    font-size: clamp(72px, 13vw, 168px);\n    display: block;\n    margin-bottom: -28px;\n    transform: rotate(-4deg);\n    text-shadow: 3px 3px 0 rgba(0,0,0,0.3);\n  }\n  .grano-block {\n    display: inline-block;\n    background: var(--black);\n    padding: 14px 40px;\n    border: 2px solid var(--cream);\n  }\n  .grano-block .espresso {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(48px, 8vw, 96px);\n    color: var(--cream);\n    letter-spacing: 0.04em;\n    line-height: 1;\n  }\n  .grano-coffeebar {\n    display: inline-block;\n    background: var(--red);\n    color: var(--cream);\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(36px, 6vw, 72px);\n    letter-spacing: 0.06em;\n    padding: 8px 36px;\n    margin-top: 8px;\n  }\n\n  .hero-tagline {\n    margin-top: 48px;\n    font-family: 'Caveat', cursive;\n    font-size: clamp(24px, 3vw, 32px);\n    color: var(--cream);\n    opacity: 0.95;\n  }\n\n  .hero-meta {\n    margin-top: 36px;\n    display: flex;\n    gap: 40px;\n    justify-content: center;\n    flex-wrap: wrap;\n    font-size: 13px;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--cream);\n    opacity: 0.7;\n  }\n  .hero-meta span::before {\n    content: '\u25cf';\n    color: var(--red-light);\n    margin-right: 10px;\n  }\n\n  \/* ====== SECTION SHARED ====== *\/\n  section { position: relative; z-index: 5; }\n\n  .section-pad { padding: 110px 0; }\n\n  .eyebrow {\n    font-size: 12px;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--red);\n    font-weight: 600;\n    margin-bottom: 14px;\n    display: inline-flex;\n    align-items: center;\n    gap: 12px;\n  }\n  .eyebrow::before {\n    content: '';\n    width: 28px;\n    height: 2px;\n    background: var(--red);\n  }\n\n  h2.section-title {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(48px, 7vw, 88px);\n    line-height: 0.95;\n    color: var(--black);\n    letter-spacing: 0.01em;\n    margin-bottom: 24px;\n  }\n  h2.section-title .accent {\n    color: var(--red);\n    font-style: italic;\n  }\n  h2.section-title .script {\n    font-family: 'Caveat', cursive;\n    font-weight: 700;\n    color: var(--red);\n    font-size: 0.85em;\n    display: inline-block;\n    transform: rotate(-3deg);\n    margin-right: 6px;\n  }\n\n  \/* ====== GESCHICHTE ====== *\/\n  .geschichte {\n    background: var(--cream);\n  }\n  .geschichte-grid {\n    display: grid;\n    grid-template-columns: 1.1fr 1fr;\n    gap: 80px;\n    align-items: center;\n  }\n  .geschichte-text p {\n    font-size: 18px;\n    line-height: 1.75;\n    color: var(--text);\n    margin-bottom: 20px;\n  }\n  .geschichte-text p:first-of-type {\n    font-size: 22px;\n    color: var(--black);\n    font-weight: 500;\n    margin-bottom: 28px;\n    line-height: 1.5;\n  }\n\n  .geschichte-image {\n    position: relative;\n    aspect-ratio: 4\/5;\n    background-image: url('images\/lounge-wine.jpg');\n    background-size: cover;\n    background-position: center;\n    box-shadow: 12px 12px 0 var(--black);\n    border: 6px solid var(--black);\n  }\n  .geschichte-image::after {\n    content: 'EST. > 20 ANNI';\n    position: absolute;\n    top: -20px;\n    right: -20px;\n    background: var(--red);\n    color: var(--cream);\n    padding: 8px 16px;\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 14px;\n    letter-spacing: 0.15em;\n    transform: rotate(6deg);\n    box-shadow: 4px 4px 0 var(--black);\n    z-index: 5;\n  }\n\n  \/* ====== CAROUSEL ====== *\/\n  .carousel {\n    position: relative;\n    aspect-ratio: 4\/5;\n    background: var(--black);\n    border: 6px solid var(--black);\n    box-shadow: 12px 12px 0 var(--black);\n    overflow: hidden;\n  }\n  .carousel-track {\n    position: relative;\n    width: 100%;\n    height: 100%;\n  }\n  .carousel-slide {\n    position: absolute;\n    inset: 0;\n    background-size: cover;\n    background-position: center;\n    opacity: 0;\n    transition: opacity 0.7s ease;\n  }\n  .carousel-slide.active { opacity: 1; }\n  .carousel-slide::after {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(180deg, transparent 55%, rgba(14,13,12,0.6));\n  }\n  .carousel-caption {\n    position: absolute;\n    bottom: 26px;\n    left: 26px;\n    right: 26px;\n    z-index: 3;\n    color: var(--cream);\n    font-family: 'Caveat', cursive;\n    font-size: 26px;\n    line-height: 1.2;\n    text-shadow: 2px 2px 6px rgba(0,0,0,0.7);\n  }\n  .carousel-btn {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n    background: rgba(14,13,12,0.7);\n    border: 2px solid var(--cream);\n    color: var(--cream);\n    width: 44px;\n    height: 44px;\n    border-radius: 50%;\n    cursor: pointer;\n    font-size: 18px;\n    z-index: 4;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    transition: background 0.2s, border-color 0.2s;\n    font-family: inherit;\n  }\n  .carousel-btn:hover {\n    background: var(--red);\n    border-color: var(--red);\n  }\n  .carousel-btn.prev { left: 16px; }\n  .carousel-btn.next { right: 16px; }\n  .carousel-dots {\n    position: absolute;\n    bottom: 16px;\n    left: 50%;\n    transform: translateX(-50%);\n    display: flex;\n    gap: 8px;\n    z-index: 4;\n  }\n  .carousel-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    background: rgba(244, 237, 224, 0.4);\n    border: none;\n    cursor: pointer;\n    padding: 0;\n    transition: background 0.2s, transform 0.2s;\n  }\n  .carousel-dot.active {\n    background: var(--red-light);\n    transform: scale(1.4);\n  }\n  .carousel-counter {\n    position: absolute;\n    top: 16px;\n    right: 16px;\n    background: rgba(14,13,12,0.75);\n    color: var(--cream);\n    padding: 4px 12px;\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 14px;\n    letter-spacing: 0.1em;\n    z-index: 4;\n  }\n\n  \/* ====== WER WIR SIND ====== *\/\n  .wer {\n    background: var(--black);\n    color: var(--cream);\n  }\n  .wer h2.section-title { color: var(--cream); }\n  .wer .eyebrow { color: var(--red-light); }\n  .wer .eyebrow::before { background: var(--red-light); }\n\n  .wer-intro {\n    max-width: 600px;\n    color: var(--cream);\n    opacity: 0.85;\n    font-size: 19px;\n    line-height: 1.7;\n    margin-bottom: 70px;\n  }\n\n  .wer-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 0;\n    border-top: 1px solid rgba(244, 237, 224, 0.15);\n    border-left: 1px solid rgba(244, 237, 224, 0.15);\n  }\n  .wer-card {\n    padding: 50px 36px;\n    border-right: 1px solid rgba(244, 237, 224, 0.15);\n    border-bottom: 1px solid rgba(244, 237, 224, 0.15);\n    transition: background 0.3s ease;\n  }\n  .wer-card:hover {\n    background: rgba(200, 40, 30, 0.08);\n  }\n  .wer-num {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 56px;\n    color: var(--red-light);\n    line-height: 1;\n    margin-bottom: 16px;\n  }\n  .wer-card h3 {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 28px;\n    letter-spacing: 0.04em;\n    color: var(--cream);\n    margin-bottom: 14px;\n  }\n  .wer-card p {\n    color: var(--cream);\n    opacity: 0.75;\n    font-size: 15px;\n    line-height: 1.65;\n  }\n\n  \/* ====== SOCIAL MEDIA SECTION ====== *\/\n  .social {\n    background: var(--black);\n    color: var(--cream);\n    padding: 80px 0 80px;\n    position: relative;\n    overflow: hidden;\n  }\n  .social::before {\n    content: '';\n    position: absolute;\n    top: 0; left: 0; right: 0;\n    height: 4px;\n    background: linear-gradient(90deg, var(--red) 0%, var(--red) 50%, var(--green) 50%, var(--green) 100%);\n  }\n  .social h2.section-title { color: var(--cream); margin-bottom: 14px; }\n  .social .eyebrow { color: var(--red-light); }\n  .social .eyebrow::before { background: var(--red-light); }\n\n  .social-header {\n    text-align: center;\n    margin-bottom: 50px;\n  }\n  .social-intro {\n    max-width: 540px;\n    margin: 0 auto;\n    color: var(--cream);\n    opacity: 0.75;\n    font-size: 16px;\n    line-height: 1.65;\n  }\n\n  .social-handles {\n    display: flex;\n    justify-content: center;\n    gap: 16px;\n    flex-wrap: wrap;\n    margin-bottom: 50px;\n  }\n  .social-handle {\n    display: inline-flex;\n    align-items: center;\n    gap: 10px;\n    background: var(--cream);\n    color: var(--black);\n    padding: 12px 22px;\n    text-decoration: none;\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 17px;\n    letter-spacing: 0.08em;\n    transition: transform 0.2s, box-shadow 0.2s;\n  }\n  .social-handle.tiktok { box-shadow: 4px 4px 0 var(--red); }\n  .social-handle.instagram {\n    box-shadow: 4px 4px 0 var(--green);\n    background: linear-gradient(135deg, #f4ede0 0%, #f4ede0 100%);\n  }\n  .social-handle:hover {\n    transform: translate(-2px, -2px);\n  }\n  .social-handle.tiktok:hover { box-shadow: 6px 6px 0 var(--red); }\n  .social-handle.instagram:hover { box-shadow: 6px 6px 0 var(--green); }\n  .social-handle svg {\n    width: 18px;\n    height: 18px;\n    flex-shrink: 0;\n  }\n\n  .social-platform {\n    margin-bottom: 50px;\n  }\n  .social-platform:last-child { margin-bottom: 0; }\n  .social-platform-label {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    margin-bottom: 20px;\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 18px;\n    letter-spacing: 0.15em;\n    color: var(--cream);\n    opacity: 0.85;\n  }\n  .social-platform-label::after {\n    content: '';\n    flex: 1;\n    height: 1px;\n    background: rgba(244, 237, 224, 0.15);\n  }\n  .social-platform-label svg {\n    width: 20px;\n    height: 20px;\n  }\n\n  .social-grid {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 14px;\n  }\n  .social-card {\n    aspect-ratio: 9\/16;\n    background: var(--black-soft);\n    border: 1px solid rgba(244, 237, 224, 0.12);\n    position: relative;\n    overflow: hidden;\n    transition: transform 0.3s ease, border-color 0.3s ease;\n    text-decoration: none;\n    color: var(--cream);\n    cursor: pointer;\n  }\n  .social-card.instagram-card { aspect-ratio: 1\/1; }\n  .social-card:hover {\n    transform: translateY(-4px);\n    border-color: var(--red);\n  }\n  .social-card.instagram-card:hover {\n    border-color: var(--green);\n  }\n  .social-card-thumb {\n    position: absolute;\n    inset: 0;\n    background-size: cover;\n    background-position: center;\n    transition: transform 0.5s ease;\n  }\n  .social-card:hover .social-card-thumb {\n    transform: scale(1.05);\n  }\n  .social-card-overlay {\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(180deg, rgba(14,13,12,0.05) 50%, rgba(14,13,12,0.85));\n  }\n  .social-play {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    width: 44px;\n    height: 44px;\n    background: rgba(255, 255, 255, 0.95);\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    transition: transform 0.3s, background 0.3s;\n    z-index: 2;\n  }\n  .social-card:hover .social-play {\n    background: var(--red);\n    transform: translate(-50%, -50%) scale(1.1);\n  }\n  .social-card.instagram-card:hover .social-play {\n    background: var(--green);\n  }\n  .social-play::after {\n    content: '';\n    width: 0;\n    height: 0;\n    border-left: 12px solid var(--black);\n    border-top: 8px solid transparent;\n    border-bottom: 8px solid transparent;\n    margin-left: 3px;\n  }\n  .social-card:hover .social-play::after {\n    border-left-color: var(--cream);\n  }\n  .social-card-caption {\n    position: absolute;\n    bottom: 12px;\n    left: 14px;\n    right: 14px;\n    z-index: 2;\n    font-family: 'Caveat', cursive;\n    font-size: 17px;\n    line-height: 1.2;\n    color: var(--cream);\n    text-shadow: 1px 1px 4px rgba(0,0,0,0.8);\n  }\n\n  \/* ====== SPEISEKARTE ====== *\/\n  .karte {\n    background: var(--cream);\n    position: relative;\n  }\n  .karte-board {\n    background: #fff;\n    border: 2px solid var(--black);\n    box-shadow: 14px 14px 0 var(--black);\n    padding: 64px 56px;\n    margin-top: 40px;\n    position: relative;\n  }\n  .karte-board::before {\n    content: '';\n    position: absolute;\n    top: 0; left: 0; right: 0;\n    height: 8px;\n    background: linear-gradient(90deg,\n      var(--black) 0%, var(--black) 16%,\n      var(--red) 16%, var(--red) 100%);\n  }\n\n  .karte-section {\n    margin-bottom: 50px;\n  }\n  .karte-section:last-child { margin-bottom: 0; }\n\n  .karte-cat {\n    display: inline-block;\n    background: var(--red);\n    color: #fff;\n    padding: 6px 18px 8px;\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 24px;\n    letter-spacing: 0.06em;\n    margin-bottom: 24px;\n    position: relative;\n  }\n  .karte-cat::before {\n    content: '\u25a0';\n    margin-right: 10px;\n    color: var(--cream);\n  }\n\n  .karte-list {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 4px;\n  }\n  .karte-item {\n    display: grid;\n    grid-template-columns: 1fr auto auto;\n    gap: 16px;\n    padding: 8px 0;\n    align-items: baseline;\n    border-bottom: 1px dotted rgba(0,0,0,0.15);\n  }\n  .karte-item:last-child { border-bottom: none; }\n  .karte-name {\n    font-size: 17px;\n    color: var(--text);\n    font-weight: 500;\n  }\n  .karte-name .extra {\n    font-size: 13px;\n    color: var(--text-soft);\n    font-weight: 400;\n    margin-left: 4px;\n  }\n  .karte-vol {\n    font-size: 14px;\n    color: var(--text-soft);\n    font-weight: 400;\n    min-width: 50px;\n    text-align: right;\n  }\n  .karte-price {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 20px;\n    color: var(--black);\n    letter-spacing: 0.05em;\n    min-width: 50px;\n    text-align: right;\n  }\n  .karte-sub-note {\n    font-size: 13px;\n    color: var(--text-soft);\n    margin-top: 6px;\n    margin-bottom: 12px;\n    font-style: italic;\n  }\n  .karte-cols-2 {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 60px;\n  }\n  .karte-footer-note {\n    text-align: center;\n    margin-top: 50px;\n    padding-top: 24px;\n    border-top: 2px solid var(--black);\n    font-size: 14px;\n    color: var(--text-soft);\n    font-style: italic;\n  }\n\n  \/* ====== KONTAKT ====== *\/\n  .kontakt {\n    background: var(--black);\n    color: var(--cream);\n    padding: 100px 0 50px;\n  }\n  .kontakt h2.section-title { color: var(--cream); }\n  .kontakt .eyebrow { color: var(--red-light); }\n  .kontakt .eyebrow::before { background: var(--red-light); }\n\n  .kontakt-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 60px;\n    margin-top: 50px;\n  }\n  .kontakt-block h4 {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 22px;\n    letter-spacing: 0.1em;\n    color: var(--red-light);\n    margin-bottom: 14px;\n  }\n  .kontakt-block p, .kontakt-block a {\n    color: var(--cream);\n    text-decoration: none;\n    font-size: 16px;\n    line-height: 1.8;\n    opacity: 0.9;\n  }\n  .kontakt-block a:hover { color: var(--red-light); opacity: 1; }\n\n  .footer {\n    margin-top: 80px;\n    padding-top: 30px;\n    border-top: 1px solid rgba(244, 237, 224, 0.15);\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    font-size: 12px;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: var(--cream);\n    opacity: 0.55;\n  }\n\n  \/* ====== ANIMATION ====== *\/\n  .reveal {\n    opacity: 0;\n    transform: translateY(30px);\n    transition: opacity 0.8s ease, transform 0.8s ease;\n  }\n  .reveal.in {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  \/* ====== RESPONSIVE ====== *\/\n  @media (max-width: 880px) {\n    .top-strip-inner { flex-direction: column; gap: 4px; font-size: 11px; }\n    .geschichte-grid, .karte-cols-2 { grid-template-columns: 1fr; gap: 50px; }\n    .wer-grid { grid-template-columns: 1fr; }\n    .wer-card { border-right: none; }\n    .galerie-grid { grid-template-columns: 1fr 1fr; }\n    .social-grid { grid-template-columns: repeat(2, 1fr); }\n    .kontakt-grid { grid-template-columns: 1fr; gap: 36px; text-align: center; }\n    .karte-board { padding: 40px 24px; box-shadow: 8px 8px 0 var(--black); }\n    .geschichte-image { box-shadow: 8px 8px 0 var(--black); }\n    .footer { flex-direction: column; gap: 14px; text-align: center; }\n    .section-pad { padding: 80px 0; }\n    .hero { padding: 60px 0 80px; }\n    .grano-block { padding: 10px 24px; }\n    .grano-coffeebar { padding: 6px 20px; }\n  }\n  @media (max-width: 520px) {\n    .galerie-grid { grid-template-columns: 1fr; }\n    .social-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }\n    .social-handles { gap: 10px; }\n    .karte-item { grid-template-columns: 1fr auto; gap: 8px; }\n    .karte-vol { display: none; }\n    .hero-meta { gap: 16px; flex-direction: column; }\n  }\n<\/style>\n<\/head>\n<body>\n\n<!-- TOP STRIP -->\n<div class=\"top-strip\">\n  <div class=\"top-strip-inner\">\n    <span><span class=\"pin\">\u25cf<\/span> Louisen Arkaden &middot; Bad Homburg<\/span>\n    <span>Mo\u2013Fr 10\u201319 &middot; Sa 10\u201318<\/span>\n  <\/div>\n<\/div>\n\n<!-- HERO -->\n<header class=\"hero\">\n  <div class=\"wrap\">\n    <div class=\"hero-content\">\n      <p class=\"hero-eyebrow reveal\">Caff\u00e8 \u00b7 Panini \u00b7 Vino<\/p>\n      <div class=\"grano-logo reveal\">\n        <span class=\"grano-script\">grano<\/span><br>\n        <span class=\"grano-block\"><span class=\"espresso\">Espresso<\/span><\/span><br>\n        <span class=\"grano-coffeebar\">Coffee Bar<\/span>\n      <\/div>\n      <p class=\"hero-tagline reveal\">Un pezzo d'Italia in Bad Homburg.<\/p>\n      <div class=\"hero-meta reveal\">\n        <span>Caff\u00e8 aus Neapel<\/span>\n        <span>Seit \u00fcber 20 Jahren<\/span>\n        <span>Mitten in der Louisenstra\u00dfe<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/header>\n\n<!-- GESCHICHTE -->\n<section class=\"geschichte section-pad\" id=\"geschichte\">\n  <div class=\"wrap\">\n    <div class=\"geschichte-grid\">\n      <div class=\"geschichte-text\">\n        <p class=\"eyebrow reveal\">La Storia<\/p>\n        <h2 class=\"section-title reveal\">Unsere <span class=\"accent\">Geschichte<\/span><\/h2>\n        <p class=\"reveal\">Seit \u00fcber zwanzig Jahren ist Grano ein St\u00fcck Italien mitten in Bad Homburg \u2014 ein vertrauter Treffpunkt f\u00fcr alle, die guten Kaffee, ehrliche Gastfreundschaft und das s\u00fc\u00dfe Nichtstun zu sch\u00e4tzen wissen.<\/p>\n        <p class=\"reveal\">Unser Espresso kommt direkt aus einer kleinen Familienr\u00f6sterei in Neapel \u2014 90 % Arabica, 10 % Robusta. Mit Liebe ger\u00f6stet, mit Geduld gebr\u00fcht, und mit einem L\u00e4cheln serviert. Genau so, wie es sein soll.<\/p>\n        <p class=\"reveal\">Drinnen warten gem\u00fctliche Holzb\u00e4nke, dazu frische Panini, ein Glas Vino am Abend \u2014 und immer ein freundliches Wort. <em>Come a casa.<\/em><\/p>\n      <\/div>\n      <div class=\"carousel reveal\" id=\"historyCarousel\" aria-label=\"Bilder aus der Geschichte des Grano\">\n        <div class=\"carousel-track\" id=\"carouselTrack\">\n          <!-- \n            ====================================================================\n            HIER FOTOS EINF\u00dcGEN: \n            1. Lege deine Bilder in den Ordner \"images\/\" (z.B. images\/alt-1.jpg)\n            2. F\u00fcge f\u00fcr jedes Bild eine neue <div class=\"carousel-slide\"> Zeile hinzu\n            3. Tausche das Bild im \"background-image\" und passe die Bildunterschrift an\n            ====================================================================\n          -->\n          <div class=\"carousel-slide active\" style=\"background-image: url('images\/lounge-wine.jpg');\">\n            <div class=\"carousel-caption\">Unsere Sitzecke heute<\/div>\n          <\/div>\n          <div class=\"carousel-slide\" style=\"background-image: url('images\/bar.jpg');\">\n            <div class=\"carousel-caption\">An der Bar \u2014 wo alles passiert<\/div>\n          <\/div>\n          <div class=\"carousel-slide\" style=\"background-image: url('images\/lounge-glassroof.jpg');\">\n            <div class=\"carousel-caption\">Die Lounge unter dem Glasdach<\/div>\n          <\/div>\n          <!-- Beispiel f\u00fcr eigene historische Fotos:\n          <div class=\"carousel-slide\" style=\"background-image: url('images\/grano-eroeffnung-2003.jpg');\">\n            <div class=\"carousel-caption\">Die Er\u00f6ffnung \u2014 2003<\/div>\n          <\/div>\n          <div class=\"carousel-slide\" style=\"background-image: url('images\/team-2010.jpg');\">\n            <div class=\"carousel-caption\">Unser Team, 2010<\/div>\n          <\/div>\n          -->\n        <\/div>\n        <button class=\"carousel-btn prev\" aria-label=\"Vorheriges Bild\">&lsaquo;<\/button>\n        <button class=\"carousel-btn next\" aria-label=\"N\u00e4chstes Bild\">&rsaquo;<\/button>\n        <div class=\"carousel-counter\" id=\"carouselCounter\">1 \/ 3<\/div>\n        <div class=\"carousel-dots\" id=\"carouselDots\"><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- WER WIR SIND -->\n<section class=\"wer section-pad\" id=\"wer-wir-sind\">\n  <div class=\"wrap\">\n    <p class=\"eyebrow reveal\">Chi Siamo<\/p>\n    <h2 class=\"section-title reveal\">Wer <span style=\"color: var(--red-light);\">wir sind<\/span><\/h2>\n    <p class=\"wer-intro reveal\">Drei Dinge, die Grano ausmachen \u2014 und wof\u00fcr wir Tag f\u00fcr Tag hinter der Theke stehen.<\/p>\n\n    <div class=\"wer-grid\">\n      <div class=\"wer-card reveal\">\n        <div class=\"wer-num\">01<\/div>\n        <h3>Caff\u00e8 di Napoli<\/h3>\n        <p>Direkt aus einer kleinen R\u00f6sterei in Neapel. 90 % Arabica, 10 % Robusta \u2014 f\u00fcr einen Espresso mit Charakter, eine cremige Crema und das volle Aroma Italiens in jeder Tasse.<\/p>\n      <\/div>\n      <div class=\"wer-card reveal\">\n        <div class=\"wer-num\">02<\/div>\n        <h3>Atmosfera<\/h3>\n        <p>Warmes Holz, gem\u00fctliche Sitzecken, Caf\u00e9 Del Mar im Hintergrund. Ein Ort, an dem man kurz durchatmet \u2014 drinnen am Tresen oder drau\u00dfen in der Flaniermeile der Louisen Arkaden.<\/p>\n      <\/div>\n      <div class=\"wer-card reveal\">\n        <div class=\"wer-num\">03<\/div>\n        <h3>Cuore Italiano<\/h3>\n        <p>Frische Panini, italienische Snacks und am Abend ein Glas Vino oder Aperol Spritz. Dazu echte Gastfreundschaft, ohne Schnickschnack \u2014 einfach <em>buon caff\u00e8, buona compagnia<\/em>.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- SOCIAL MEDIA -->\n<section class=\"social\" id=\"social\">\n  <div class=\"wrap\">\n    <div class=\"social-header\">\n      <p class=\"eyebrow reveal\" style=\"justify-content: center;\">Seguici<\/p>\n      <h2 class=\"section-title reveal\">Folg <span style=\"color: var(--red-light);\">uns<\/span><\/h2>\n      <p class=\"social-intro reveal\">Hinter den Kulissen, frisch gebr\u00fchter Espresso und kleine Momente aus dem Caf\u00e9 \u2014 folg uns f\u00fcr t\u00e4gliche Vibes.<\/p>\n    <\/div>\n\n    <div class=\"social-handles reveal\">\n      <a href=\"https:\/\/www.tiktok.com\/@granoespressobar\" target=\"_blank\" rel=\"noopener\" class=\"social-handle tiktok\">\n        <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\">\n          <path d=\"M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5.8 20.1a6.34 6.34 0 0 0 10.86-4.43V8.96a8.16 8.16 0 0 0 4.77 1.52V7.04a4.85 4.85 0 0 1-1.84-.35z\"\/>\n        <\/svg>\n        @granoespressobar\n      <\/a>\n      <a href=\"https:\/\/www.instagram.com\/granoespressobar\" target=\"_blank\" rel=\"noopener\" class=\"social-handle instagram\">\n        <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\">\n          <path d=\"M12 2.16c3.2 0 3.58.01 4.85.07 1.17.05 1.8.25 2.23.41.56.22.96.48 1.38.9.42.42.68.82.9 1.38.16.42.36 1.06.41 2.23.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.05 1.17-.25 1.8-.41 2.23-.22.56-.48.96-.9 1.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41a3.7 3.7 0 0 1-1.38-.9 3.7 3.7 0 0 1-.9-1.38c-.16-.42-.36-1.06-.41-2.23-.06-1.27-.07-1.65-.07-4.85s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.42-.16 1.06-.36 2.23-.41 1.27-.06 1.65-.07 4.85-.07M12 0C8.74 0 8.33.01 7.05.07 5.78.13 4.9.33 4.14.63a5.85 5.85 0 0 0-2.13 1.38A5.85 5.85 0 0 0 .63 4.14C.33 4.9.13 5.78.07 7.05.01 8.33 0 8.74 0 12s.01 3.67.07 4.95c.06 1.27.26 2.15.56 2.91.31.79.74 1.46 1.38 2.13a5.85 5.85 0 0 0 2.13 1.38c.76.3 1.64.5 2.91.56C8.33 23.99 8.74 24 12 24s3.67-.01 4.95-.07c1.27-.06 2.15-.26 2.91-.56a5.85 5.85 0 0 0 2.13-1.38 5.85 5.85 0 0 0 1.38-2.13c.3-.76.5-1.64.56-2.91.06-1.28.07-1.69.07-4.95s-.01-3.67-.07-4.95c-.06-1.27-.26-2.15-.56-2.91a5.85 5.85 0 0 0-1.38-2.13A5.85 5.85 0 0 0 19.86.63c-.76-.3-1.64-.5-2.91-.56C15.67.01 15.26 0 12 0z\"\/>\n          <path d=\"M12 5.84a6.16 6.16 0 1 0 0 12.32 6.16 6.16 0 0 0 0-12.32zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"\/>\n          <circle cx=\"18.41\" cy=\"5.59\" r=\"1.44\"\/>\n        <\/svg>\n        @granoespressobar\n      <\/a>\n    <\/div>\n\n    <!-- \n      ====================================================================\n      HIER TIKTOK-VIDEOS EINF\u00dcGEN: \n      \u00c4ndere href, background-image und caption pro Video.\n      Mehr Karten? Einfach <a class=\"social-card\">...<\/a>-Block kopieren.\n      ====================================================================\n    -->\n    <div class=\"social-platform\">\n      <div class=\"social-platform-label reveal\">\n        <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5.8 20.1a6.34 6.34 0 0 0 10.86-4.43V8.96a8.16 8.16 0 0 0 4.77 1.52V7.04a4.85 4.85 0 0 1-1.84-.35z\"\/><\/svg>\n        TikTok\n      <\/div>\n      <div class=\"social-grid\">\n        <a href=\"https:\/\/www.tiktok.com\/@granoespressobar\" target=\"_blank\" rel=\"noopener\" class=\"social-card reveal\">\n          <div class=\"social-card-thumb\" style=\"background-image: url('images\/portafilter.jpg');\"><\/div>\n          <div class=\"social-card-overlay\"><\/div>\n          <div class=\"social-play\"><\/div>\n          <div class=\"social-card-caption\">Der perfekte Espresso<\/div>\n        <\/a>\n        <a href=\"https:\/\/www.tiktok.com\/@granoespressobar\" target=\"_blank\" rel=\"noopener\" class=\"social-card reveal\">\n          <div class=\"social-card-thumb\" style=\"background-image: url('images\/bar.jpg');\"><\/div>\n          <div class=\"social-card-overlay\"><\/div>\n          <div class=\"social-play\"><\/div>\n          <div class=\"social-card-caption\">An der Bar<\/div>\n        <\/a>\n        <a href=\"https:\/\/www.tiktok.com\/@granoespressobar\" target=\"_blank\" rel=\"noopener\" class=\"social-card reveal\">\n          <div class=\"social-card-thumb\" style=\"background-image: url('images\/lounge-glassroof.jpg');\"><\/div>\n          <div class=\"social-card-overlay\"><\/div>\n          <div class=\"social-play\"><\/div>\n          <div class=\"social-card-caption\">Vibes<\/div>\n        <\/a>\n        <a href=\"https:\/\/www.tiktok.com\/@granoespressobar\" target=\"_blank\" rel=\"noopener\" class=\"social-card reveal\">\n          <div class=\"social-card-thumb\" style=\"background-image: url('images\/lounge-wine.jpg');\"><\/div>\n          <div class=\"social-card-overlay\"><\/div>\n          <div class=\"social-play\"><\/div>\n          <div class=\"social-card-caption\">Aperitivo<\/div>\n        <\/a>\n      <\/div>\n    <\/div>\n\n    <!-- \n      ====================================================================\n      HIER INSTAGRAM-POSTS EINF\u00dcGEN: \n      Gleiche Struktur, einfach href auf den Instagram-Post-Link setzen.\n      ====================================================================\n    -->\n    <div class=\"social-platform\">\n      <div class=\"social-platform-label reveal\">\n        <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 2.16c3.2 0 3.58.01 4.85.07 1.17.05 1.8.25 2.23.41.56.22.96.48 1.38.9.42.42.68.82.9 1.38.16.42.36 1.06.41 2.23.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.05 1.17-.25 1.8-.41 2.23-.22.56-.48.96-.9 1.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41a3.7 3.7 0 0 1-1.38-.9 3.7 3.7 0 0 1-.9-1.38c-.16-.42-.36-1.06-.41-2.23-.06-1.27-.07-1.65-.07-4.85s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.42-.16 1.06-.36 2.23-.41 1.27-.06 1.65-.07 4.85-.07M12 0C8.74 0 8.33.01 7.05.07 5.78.13 4.9.33 4.14.63a5.85 5.85 0 0 0-2.13 1.38A5.85 5.85 0 0 0 .63 4.14C.33 4.9.13 5.78.07 7.05.01 8.33 0 8.74 0 12s.01 3.67.07 4.95c.06 1.27.26 2.15.56 2.91.31.79.74 1.46 1.38 2.13a5.85 5.85 0 0 0 2.13 1.38c.76.3 1.64.5 2.91.56C8.33 23.99 8.74 24 12 24s3.67-.01 4.95-.07c1.27-.06 2.15-.26 2.91-.56a5.85 5.85 0 0 0 2.13-1.38 5.85 5.85 0 0 0 1.38-2.13c.3-.76.5-1.64.56-2.91.06-1.28.07-1.69.07-4.95s-.01-3.67-.07-4.95c-.06-1.27-.26-2.15-.56-2.91a5.85 5.85 0 0 0-1.38-2.13A5.85 5.85 0 0 0 19.86.63c-.76-.3-1.64-.5-2.91-.56C15.67.01 15.26 0 12 0z\"\/><path d=\"M12 5.84a6.16 6.16 0 1 0 0 12.32 6.16 6.16 0 0 0 0-12.32zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"\/><circle cx=\"18.41\" cy=\"5.59\" r=\"1.44\"\/><\/svg>\n        Instagram\n      <\/div>\n      <div class=\"social-grid\">\n        <a href=\"https:\/\/www.instagram.com\/granoespressobar\" target=\"_blank\" rel=\"noopener\" class=\"social-card instagram-card reveal\">\n          <div class=\"social-card-thumb\" style=\"background-image: url('images\/lounge-wine.jpg');\"><\/div>\n          <div class=\"social-card-overlay\"><\/div>\n          <div class=\"social-play\"><\/div>\n          <div class=\"social-card-caption\">Unser Caf\u00e9<\/div>\n        <\/a>\n        <a href=\"https:\/\/www.instagram.com\/granoespressobar\" target=\"_blank\" rel=\"noopener\" class=\"social-card instagram-card reveal\">\n          <div class=\"social-card-thumb\" style=\"background-image: url('images\/portafilter.jpg');\"><\/div>\n          <div class=\"social-card-overlay\"><\/div>\n          <div class=\"social-play\"><\/div>\n          <div class=\"social-card-caption\">Frisch gemahlen<\/div>\n        <\/a>\n        <a href=\"https:\/\/www.instagram.com\/granoespressobar\" target=\"_blank\" rel=\"noopener\" class=\"social-card instagram-card reveal\">\n          <div class=\"social-card-thumb\" style=\"background-image: url('images\/bar.jpg');\"><\/div>\n          <div class=\"social-card-overlay\"><\/div>\n          <div class=\"social-play\"><\/div>\n          <div class=\"social-card-caption\">Unsere Bar<\/div>\n        <\/a>\n        <a href=\"https:\/\/www.instagram.com\/granoespressobar\" target=\"_blank\" rel=\"noopener\" class=\"social-card instagram-card reveal\">\n          <div class=\"social-card-thumb\" style=\"background-image: url('images\/lounge-glassroof.jpg');\"><\/div>\n          <div class=\"social-card-overlay\"><\/div>\n          <div class=\"social-play\"><\/div>\n          <div class=\"social-card-caption\">Lounge-Vibes<\/div>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- SPEISEKARTE -->\n<section class=\"karte section-pad\" id=\"karte\">\n  <div class=\"wrap\">\n    <p class=\"eyebrow reveal\">La Carta<\/p>\n    <h2 class=\"section-title reveal\"><span class=\"script\">unsere<\/span> Speisekarte<\/h2>\n\n    <div class=\"karte-board reveal\">\n\n      <!-- KAFFEESPEZIALIT\u00c4TEN -->\n      <div class=\"karte-section\">\n        <span class=\"karte-cat\">Kaffeespezialit\u00e4ten<\/span>\n        <div class=\"karte-list\">\n          <div class=\"karte-item\"><span class=\"karte-name\">Kaffee<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,20<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Espresso<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,20<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Doppelter Espresso<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">3,80<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Espresso Macchiato<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,20<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Hei\u00dfe Schokolade <span class=\"extra\">mit Sahne + 0,30<\/span><\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,80<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Cappuccino mit Milchschaum <span class=\"extra\">laktosefrei + 0,40<\/span><\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,60<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Milchkaffee <span class=\"extra\">laktosefrei + 0,40<\/span><\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,80<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Latte Macchiato <span class=\"extra\">laktosefrei + 0,40<\/span><\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,80<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Kaffee Schoko <span class=\"extra\">laktosefrei + 0,40<\/span><\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,80<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Cappuccino mit Aroma<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">3,40<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Milchkaffee mit Aroma<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">3,60<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Latte Macchiato mit Aroma<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">3,60<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Irish Coffee<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">5,00<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Kaffee Amaretto<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">5,00<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Espresso Corretto mit Grappa<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">5,00<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Baileys Latte \/ Baileys Coffee<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">5,00<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Baileys Hot Chocolate \/ Baileys Milk<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\"><\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Zus\u00e4tzliche Aromen <span class=\"extra\">Vanille, Kokos<\/span><\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">0,80<\/span><\/div>\n        <\/div>\n      <\/div>\n\n      <!-- TEE -->\n      <div class=\"karte-section\">\n        <span class=\"karte-cat\">Tee<\/span>\n        <div class=\"karte-list\">\n          <div class=\"karte-item\"><span class=\"karte-name\">Schwarzer Tee \/ Gr\u00fcner Tee \/ Kamillentee<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,40<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Fr\u00fcchtetee \/ Pfefferminztee<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,40<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Frischer Minztee<\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,50<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Frischer Minztee <span class=\"extra\">mit Ingwer und Honig<\/span><\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">3,50<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Chai Latte <span class=\"extra\">laktosefrei + 0,40<\/span><\/span><span class=\"karte-vol\"><\/span><span class=\"karte-price\">2,80<\/span><\/div>\n        <\/div>\n        <p class=\"karte-sub-note\">Alle Kaffeespezialit\u00e4ten auch koffein- oder laktosefrei und zum Mitnehmen erh\u00e4ltlich!<\/p>\n      <\/div>\n\n      <div class=\"karte-cols-2\">\n        <!-- ALKOHOLFREIE GETR\u00c4NKE -->\n        <div class=\"karte-section\">\n          <span class=\"karte-cat\">Alkoholfreie Getr\u00e4nke<\/span>\n          <div class=\"karte-list\">\n            <div class=\"karte-item\"><span class=\"karte-name\">Gerolsteiner Gourmet Naturell<\/span><span class=\"karte-vol\">0,25 l<\/span><span class=\"karte-price\">2,40<\/span><\/div>\n            <div class=\"karte-item\"><span class=\"karte-name\">Gerolsteiner Gourmet Sprudel<\/span><span class=\"karte-vol\">0,25 l<\/span><span class=\"karte-price\">2,40<\/span><\/div>\n            <div class=\"karte-item\"><span class=\"karte-name\">Coca-Cola Original Taste<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">2,40<\/span><\/div>\n            <div class=\"karte-item\"><span class=\"karte-name\">Coca-Cola Light Taste<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">2,40<\/span><\/div>\n            <div class=\"karte-item\"><span class=\"karte-name\">Fanta<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">2,40<\/span><\/div>\n            <div class=\"karte-item\"><span class=\"karte-name\">Ginger Ale<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">2,40<\/span><\/div>\n            <div class=\"karte-item\"><span class=\"karte-name\">Bitter Lemon<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">2,40<\/span><\/div>\n            <div class=\"karte-item\"><span class=\"karte-name\">Tonic Water<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">2,40<\/span><\/div>\n            <div class=\"karte-item\"><span class=\"karte-name\">Bionade <span class=\"extra\">Litschi, Ingwer-Orange, Kr\u00e4uter<\/span><\/span><span class=\"karte-vol\">0,33 l<\/span><span class=\"karte-price\">2,50<\/span><\/div>\n            <div class=\"karte-item\"><span class=\"karte-name\">Trade Islands Iced Tea <span class=\"extra\">Sunny Peach, Lemon-Lime, Blueberry, Pomegranate, Tea &amp; Herbs Mint 'n' Lime<\/span><\/span><span class=\"karte-vol\">0,33 l<\/span><span class=\"karte-price\">3,50<\/span><\/div>\n          <\/div>\n        <\/div>\n\n        <!-- FRUCHTIGES VON RAPP'S -->\n        <div class=\"karte-section\">\n          <span class=\"karte-cat\">Fruchtiges von Rapp's<\/span>\n          <div class=\"karte-list\">\n            <div class=\"karte-item\"><span class=\"karte-name\">Apfel<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">2,40<\/span><\/div>\n            <div class=\"karte-item\"><span class=\"karte-name\">Orange<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">2,40<\/span><\/div>\n            <div class=\"karte-item\"><span class=\"karte-name\">Apfelschorle<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">2,40<\/span><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- ALKOHOLHALTIGE GETR\u00c4NKE -->\n      <div class=\"karte-section\">\n        <span class=\"karte-cat\">Alkoholhaltige Getr\u00e4nke<\/span>\n        <div class=\"karte-list\">\n          <div class=\"karte-item\"><span class=\"karte-name\">Wei\u00dfwein<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">4,00<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Wei\u00dfwein Lugana<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">5,50<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Rotwein<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">4,00<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Rotwein Primitivo<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">4,50<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Ros\u00e9<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">4,00<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Prosecco trocken<\/span><span class=\"karte-vol\">0,1 l<\/span><span class=\"karte-price\">4,00<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Prosecco trocken<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">7,00<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Prosecco Ros\u00e9<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">7,50<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Aperol Spritz<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">5,50<\/span><\/div>\n          <div class=\"karte-item\"><span class=\"karte-name\">Hugo<\/span><span class=\"karte-vol\">0,2 l<\/span><span class=\"karte-price\">5,50<\/span><\/div>\n        <\/div>\n      <\/div>\n\n      <p class=\"karte-footer-note\">\u2014 Stand der Karte \u2014 auf Wunsch alle Spezialit\u00e4ten mit laktosefreier Milch oder koffeinfrei \u2014<\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- KONTAKT -->\n<section class=\"kontakt\" id=\"kontakt\">\n  <div class=\"wrap\">\n    <p class=\"eyebrow reveal\">Vieni a trovarci<\/p>\n    <h2 class=\"section-title reveal\">Besuch <span style=\"color: var(--red-light);\">uns<\/span><\/h2>\n\n    <div class=\"kontakt-grid\">\n      <div class=\"kontakt-block reveal\">\n        <h4>Adresse<\/h4>\n        <p>Louisen Arkaden<br>Louisenstra\u00dfe 72\u201382<br>61348 Bad Homburg v. d. H\u00f6he<\/p>\n      <\/div>\n      <div class=\"kontakt-block reveal\">\n        <h4>\u00d6ffnungszeiten<\/h4>\n        <p>Montag \u2013 Freitag<br>10:00 \u2013 19:00 Uhr<br><br>Samstag<br>10:00 \u2013 18:00 Uhr<\/p>\n      <\/div>\n      <div class=\"kontakt-block reveal\">\n        <h4>Telefon<\/h4>\n        <p>\n          <a href=\"tel:+4961729217360\">06172 \/ 92 17 36<\/a><br>\n          <a href=\"tel:+4915750752110\">0157 \/ 50 75 21 10<\/a>\n        <\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"footer\">\n      <span>\u00a9 Grano Espresso Coffee Bar &middot; Bad Homburg<\/span>\n      <span>Fatto con cuore &amp; caff\u00e8<\/span>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n  \/\/ ===== Reveal-on-scroll =====\n  const observer = new IntersectionObserver((entries) => {\n    entries.forEach((entry, i) => {\n      if (entry.isIntersecting) {\n        setTimeout(() => entry.target.classList.add('in'), i * 60);\n        observer.unobserve(entry.target);\n      }\n    });\n  }, { threshold: 0.12 });\n\n  document.querySelectorAll('.reveal').forEach(el => observer.observe(el));\n\n  \/\/ ===== Carousel =====\n  (function() {\n    const track = document.getElementById('carouselTrack');\n    if (!track) return;\n    const slides = track.querySelectorAll('.carousel-slide');\n    const counter = document.getElementById('carouselCounter');\n    const dotsContainer = document.getElementById('carouselDots');\n    const prevBtn = document.querySelector('.carousel-btn.prev');\n    const nextBtn = document.querySelector('.carousel-btn.next');\n    let current = 0;\n    let autoplay;\n\n    \/\/ Dots erzeugen\n    slides.forEach((_, i) => {\n      const dot = document.createElement('button');\n      dot.className = 'carousel-dot' + (i === 0 ? ' active' : '');\n      dot.setAttribute('aria-label', 'Bild ' + (i + 1));\n      dot.addEventListener('click', () => goTo(i));\n      dotsContainer.appendChild(dot);\n    });\n    const dots = dotsContainer.querySelectorAll('.carousel-dot');\n\n    function update() {\n      slides.forEach((s, i) => s.classList.toggle('active', i === current));\n      dots.forEach((d, i) => d.classList.toggle('active', i === current));\n      counter.textContent = (current + 1) + ' \/ ' + slides.length;\n    }\n\n    function goTo(i) {\n      current = (i + slides.length) % slides.length;\n      update();\n      restartAutoplay();\n    }\n\n    function next() { goTo(current + 1); }\n    function prev() { goTo(current - 1); }\n\n    function restartAutoplay() {\n      clearInterval(autoplay);\n      autoplay = setInterval(next, 5000);\n    }\n\n    nextBtn.addEventListener('click', next);\n    prevBtn.addEventListener('click', prev);\n\n    \/\/ Touch\/Swipe\n    let touchStart = 0;\n    track.addEventListener('touchstart', (e) => { touchStart = e.touches[0].clientX; }, { passive: true });\n    track.addEventListener('touchend', (e) => {\n      const diff = touchStart - e.changedTouches[0].clientX;\n      if (Math.abs(diff) > 50) diff > 0 ? next() : prev();\n    });\n\n    \/\/ Pause Autoplay on hover\n    const carousel = document.getElementById('historyCarousel');\n    carousel.addEventListener('mouseenter', () => clearInterval(autoplay));\n    carousel.addEventListener('mouseleave', restartAutoplay);\n\n    restartAutoplay();\n  })();\n<\/script>\n\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Grano Espresso Coffee Bar \u2014 Bad Homburg \u25cf Louisen Arkaden &middot; Bad Homburg Mo\u2013Fr 10\u201319 &middot; Sa 10\u201318 Caff\u00e8 \u00b7 Panini \u00b7 Vino grano Espresso Coffee Bar Un pezzo d&#8217;Italia in Bad Homburg. Caff\u00e8 aus Neapel Seit \u00fcber 20 Jahren Mitten in der Louisenstra\u00dfe La Storia Unsere Geschichte Seit \u00fcber zwanzig Jahren ist Grano ein [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-8","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/granoespressobar.de\/index.php?rest_route=\/wp\/v2\/pages\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/granoespressobar.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/granoespressobar.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/granoespressobar.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/granoespressobar.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8"}],"version-history":[{"count":10,"href":"https:\/\/granoespressobar.de\/index.php?rest_route=\/wp\/v2\/pages\/8\/revisions"}],"predecessor-version":[{"id":27,"href":"https:\/\/granoespressobar.de\/index.php?rest_route=\/wp\/v2\/pages\/8\/revisions\/27"}],"wp:attachment":[{"href":"https:\/\/granoespressobar.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}