@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap";:root{--ink:#245b91;--blue:#347ab9;--blue-dark:#245b91;--beige:#e9ddc8;--cream:#f5ecdc;--paper:#fbf7ef;--sky:#b2cee0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}.hero{background:var(--beige);min-height:100vh;padding:0 4vw 4vw}.nav{z-index:10;border-bottom:1px solid #347ab973;justify-content:space-between;align-items:center;height:112px;display:flex;position:relative}.wordmark{place-items:center;width:68px;height:68px;display:grid}.nav-logo{width:60px;height:64px;display:block;overflow:hidden}.nav-links{gap:2.5rem;font-size:.9rem;display:flex}.nav-links a:hover{opacity:.55}.language-switch{border-left:1px solid #245b9159;align-items:center;gap:5px;padding-left:22px;display:flex}.language-switch button{color:inherit;font:inherit;opacity:.45;cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem}.language-switch button.active{opacity:1;font-weight:600}.language-switch span{opacity:.35}.nav-toggle{background:0 0;border:0;padding:8px;display:none}.hero-grid{grid-template-columns:1.03fr .97fr;gap:5vw;min-height:calc(100vh - 152px);padding-top:4vw;display:grid}.hero-copy{flex-direction:column;justify-content:space-between;display:flex}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:600}h1,h2{letter-spacing:-.045em;margin:0;font-family:Instrument Serif,serif;font-weight:400}h1{font-size:clamp(5.5rem,10vw,10rem);line-height:.73}h1 em,h2 em{font-weight:400}.hero-bottom{border-top:1px solid #347ab973;justify-content:space-between;align-items:flex-end;padding-top:20px;display:flex}.hero-bottom p{max-width:360px;margin:0;line-height:1.55}.circle-link{border:1px solid;border-radius:50%;place-items:center;width:64px;height:64px;transition:all .25s;display:grid}.circle-link:hover{background:var(--blue);color:var(--cream);transform:rotate(-12deg)}.hero-photo{background:url(https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?auto=format&fit=crop&w=1600&q=85) 50%/cover;border-radius:50% 50% 4px 4px/18% 18% 4px 4px;min-height:640px;position:relative}.hero-stamp{background:var(--beige);width:148px;color:var(--blue);border:1px solid var(--blue);box-shadow:5px 5px 0 var(--blue);text-transform:uppercase;letter-spacing:.08em;padding:17px 16px 14px;position:absolute;bottom:22px;right:22px}.hero-stamp>span:nth-child(2){letter-spacing:-.02em;text-transform:none;font-family:Instrument Serif,serif;font-size:1.45rem;line-height:.88;display:block}.hero-stamp small{letter-spacing:.12em;border-top:1px solid #347ab973;margin-top:12px;padding-top:9px;font-size:.55rem;display:block}.stamp-dot{background:var(--blue);border-radius:50%;width:9px;height:9px;position:absolute;top:13px;right:13px}.ticker{background:var(--blue);color:var(--cream);white-space:nowrap;border-block:1px solid var(--blue-dark);padding:22px 0;overflow:hidden}.ticker div{word-spacing:1rem;width:max-content;font-family:Instrument Serif,serif;font-size:2rem;animation:22s linear infinite scroll}.ticker span{font-family:sans-serif;font-size:1rem}@keyframes scroll{to{transform:translate(-50%)}}.intro{padding:10vw 4vw}.intro-text{grid-template-columns:1fr 2.2fr;align-items:start;gap:4vw;margin:4vw 0 8vw;display:grid}.intro-text p{margin:.5rem 0}.intro-text h2{font-size:clamp(3.2rem,6.5vw,7.2rem);line-height:.95}.intro-images{grid-template-columns:1.1fr .65fr .8fr;align-items:end;gap:3vw;display:grid}.image-card{background-position:50%;background-size:cover;position:relative}.image-card span{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;position:absolute;bottom:-28px}.image-one{background-image:url(/assets/kaffee50qm-interior.jpg);background-position:50% 58%;height:570px}.image-two{background-image:url(https://images.unsplash.com/photo-1493770348161-369560ae357d?auto=format&fit=crop&w=1000&q=85);height:410px}.intro-note{align-self:center}.intro-note p{line-height:1.65}.intro-note a,.route-link{border-bottom:1px solid;align-items:center;gap:8px;margin-top:18px;padding-bottom:5px;font-size:.85rem;display:inline-flex}.coffee-impact{background:var(--beige);border-block:1px solid #347ab973;grid-template-columns:.9fr 1.1fr;min-height:720px;display:grid}.impact-visual{background:var(--blue);color:var(--cream);flex-direction:column;justify-content:center;align-items:center;min-height:720px;display:flex;position:relative;overflow:hidden}.impact-visual:before,.impact-visual:after{content:"";aspect-ratio:1;border:1px solid #f5ecdc66;border-radius:50%;width:75%;position:absolute}.impact-visual:after{width:105%}.impact-visual strong{letter-spacing:-.08em;z-index:1;font-family:Instrument Serif,serif;font-size:clamp(10rem,20vw,20rem);font-weight:400;line-height:.7;position:relative}.impact-small{text-transform:uppercase;letter-spacing:.2em;z-index:1;margin-bottom:42px;font-size:.7rem;position:relative}.impact-circle{background:var(--beige);width:130px;height:130px;color:var(--blue);text-align:center;text-transform:uppercase;letter-spacing:.08em;z-index:2;border-radius:50%;place-items:center;font-size:.66rem;line-height:1.45;display:grid;position:absolute;bottom:9%;right:8%;transform:rotate(7deg)}.impact-copy{flex-direction:column;justify-content:center;padding:8vw 7vw;display:flex}.impact-copy h2{margin:4vw 0 3vw;font-size:clamp(4.2rem,7vw,8rem);line-height:.86}.impact-copy>p{max-width:590px;line-height:1.7}.impact-lead{font-size:1.15rem;font-weight:500}.impact-topics{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.impact-topics span{border:1px solid var(--blue);text-transform:uppercase;letter-spacing:.09em;border-radius:999px;padding:8px 14px;font-size:.7rem}.impact-link{border-bottom:1px solid;align-self:flex-start;align-items:center;gap:8px;margin-top:30px;padding-bottom:5px;font-size:.85rem;display:flex}.menu-section{background:var(--blue);color:var(--cream);grid-template-columns:.8fr 1.2fr;gap:9vw;padding:10vw 4vw;display:grid}.menu-head h2{margin:4vw 0 2vw;font-size:clamp(4rem,7vw,7.5rem);line-height:.88}.menu-head>p:last-child{color:#bfb9ae;max-width:370px;line-height:1.55}.menu-item{border-bottom:1px solid #5a574f;grid-template-columns:45px 1fr auto;align-items:center;gap:20px;padding:27px 0;display:grid}.menu-number{color:var(--beige);font-size:.7rem}.menu-item h3{margin:0 0 5px;font-family:Instrument Serif,serif;font-size:2rem;font-weight:400}.menu-item p{color:#a9a49a;margin:0;font-size:.8rem}.menu-item strong{font-weight:400}.menu-cta{background:var(--beige);color:var(--blue-dark);border-radius:2px;justify-content:space-between;align-items:center;margin-top:36px;padding:19px 24px;font-size:.88rem;display:flex}.menu-cta span{align-items:center;gap:10px;display:flex}.menu-downloads{grid-template-columns:1fr 1fr;gap:12px;display:grid}.menu-cta-secondary{color:var(--cream);background:0 0;border:1px solid #f5ecdc8c}.visit{grid-template-columns:1fr 1fr;min-height:760px;display:grid}.visit-photo{background:url(/assets/kaffee50qm-exterior.jpg) 50% 48%/cover;position:relative}.visit-photo span{background:var(--paper);align-items:center;gap:8px;padding:12px 16px;font-size:.78rem;display:flex;position:absolute;bottom:30px;left:30px}.visit-info{background:var(--cream);flex-direction:column;justify-content:center;padding:7vw 6vw;display:flex}.visit-info h2{margin:5vw 0;font-size:clamp(5rem,8vw,9rem);line-height:.8}.info-grid{border-top:1px solid #aca79e;grid-template-columns:1fr 1fr;padding-top:26px;display:grid}.info-grid h3{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}.info-grid p{line-height:1.6}.reservation{background:var(--sky);grid-template-columns:1fr 1fr;align-items:center;gap:9vw;padding:9vw 4vw;display:grid}.reservation-copy h2{margin:4vw 0 3vw;font-size:clamp(5rem,9vw,10rem);line-height:.78}.reservation-copy>p:last-child{max-width:440px;line-height:1.65}.reservation-widget{background:var(--paper);min-height:530px;box-shadow:14px 14px 0 var(--ink);place-items:center;padding:35px 20px;display:grid}#resmio-kaffee-50qm{justify-content:center;width:100%;display:flex}footer{background:var(--beige);padding:6vw 4vw 3vw;overflow:hidden}.footer-brand{justify-content:center;align-items:center;width:min(100%,260px);min-height:175px;margin:0 auto;padding:15px;display:flex}.footer-logo{width:150px;height:auto;display:block}.footer-meta{border-top:1px solid #347ab973;grid-template-columns:1fr 1fr 1fr;margin-top:3vw;padding-top:25px;font-size:.78rem;display:grid}.footer-meta a{justify-self:center;gap:8px;display:flex}.footer-legal{justify-self:end;align-items:center;gap:20px;display:flex}.footer-legal a{text-underline-offset:3px;text-decoration:underline}@media (width<=850px){.hero{padding:0 20px 20px}.nav{height:82px}.nav-toggle{display:block}.nav-links{background:var(--beige);border-bottom:1px solid;flex-direction:column;padding:25px;display:none;position:absolute;top:82px;left:-20px;right:-20px}.language-switch{border-top:1px solid #245b9159;border-left:0;padding:18px 0 0}.nav-links.open{display:flex}.hero-grid{grid-template-columns:1fr;padding-top:38px}h1{font-size:clamp(5.3rem,23vw,8rem)}.hero-copy{gap:50px}.hero-photo{min-height:70vh}.hero-stamp{width:128px;box-shadow:4px 4px 0 var(--blue);padding:15px 13px 12px;bottom:14px;right:14px}.hero-stamp>span:nth-child(2){font-size:1.25rem}.intro{padding:90px 20px 110px}.intro-text{grid-template-columns:1fr;margin:35px 0 70px}.intro-images{grid-template-columns:1fr;gap:55px}.image-one{height:65vh}.image-two{height:55vh}.intro-note{padding:0 8vw}.coffee-impact{grid-template-columns:1fr}.impact-visual{min-height:560px}.impact-visual strong{font-size:48vw}.impact-circle{width:110px;height:110px}.impact-copy{padding:90px 20px}.menu-section{grid-template-columns:1fr;padding:90px 20px}.menu-downloads{grid-template-columns:1fr}.menu-cta{margin-top:0}.menu-downloads{margin-top:36px}.visit{grid-template-columns:1fr}.visit-photo{min-height:65vh}.visit-info{padding:90px 20px}.reservation{grid-template-columns:1fr;padding:90px 20px}.reservation-widget{min-height:520px;box-shadow:8px 8px 0 var(--ink)}.footer-brand{width:220px;min-height:155px;padding:10px}.footer-logo{width:125px}.footer-meta{grid-template-columns:1fr;gap:12px}.footer-meta a,.footer-legal{justify-self:start}.footer-legal{flex-wrap:wrap;gap:12px;margin-top:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}}
