@font-face{font-family:Anton;src:url('assets/redesign/fonts/anton-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/fonts/dm-sans-latin.woff2') format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
:root{--yellow:#efcf45;--red:#ae3027;--ink:#25271e;--paper:#fbf4dd;--white:#fffaf0;--line:#25271e;--gutter:clamp(22px,4vw,70px);--display:Anton,Impact,'Arial Narrow',sans-serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--yellow);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.nav-open,body.photo-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.025em;line-height:.98}p{line-height:1.55}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid currentColor;outline-offset:6px}[hidden]{display:none!important}svg{display:block}.skip-link{position:fixed;top:12px;left:18px;background:var(--ink);color:var(--white);padding:12px 20px;z-index:100;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{min-height:78px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-bottom:2px solid var(--ink);padding:0 var(--gutter);gap:30px;background:var(--yellow);position:relative;z-index:20}.header-brand{font-family:var(--display);font-size:27px;letter-spacing:-.02em}.header-address{justify-self:center;font-size:14px;font-weight:650;white-space:nowrap}.header-address span{margin-left:12px}.site-nav{justify-self:end;display:flex;gap:30px;font-size:16px;font-weight:750;white-space:nowrap}.site-nav a{padding:10px 0;position:relative}.site-nav a:after{content:'';position:absolute;height:2px;left:0;right:0;bottom:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .2s}.site-nav a:hover:after{transform:scaleX(1)}.nav-toggle{display:none}
.hero{overflow:hidden}.hero-poster{height:clamp(710px,57vw,890px);position:relative;max-width:1900px;margin:auto;isolation:isolate}.hero h1{position:absolute;top:14px;left:3%;width:94%;font-size:28.5vw;text-align:center;color:var(--red);line-height:1.03;letter-spacing:-.018em;z-index:1;animation:sign-in .8s cubic-bezier(.2,.7,.2,1) both}.coffee-object{position:absolute;top:25%;left:50%;width:43%;max-width:680px;aspect-ratio:1;z-index:3;transform:translate(-50%,var(--cup-y,0px)) rotate(var(--cup-rotate,-12deg));filter:drop-shadow(16px 28px 6px #25271e28);will-change:transform;pointer-events:none}.coffee-object img{object-fit:contain;animation:cup-in 1s .12s cubic-bezier(.2,.7,.2,1) both}.hero-motto{font-family:var(--display);font-size:clamp(35px,4.3vw,72px);line-height:1.04;letter-spacing:-.025em;position:absolute;left:6%;top:48%;z-index:2}.menu-ticket{background:var(--red);color:var(--paper);border:2px solid var(--ink);position:absolute;top:48%;right:7%;width:clamp(150px,15.5vw,245px);padding:24px 24px 20px;display:flex;align-items:flex-end;gap:20px;transform:rotate(7deg);z-index:4;box-shadow:8px 8px 0 var(--ink);transition:transform .25s,box-shadow .25s}.menu-ticket>span{font-family:var(--display);font-size:clamp(40px,4.5vw,72px);line-height:.95}.menu-ticket svg{width:42px;flex:none;margin:0 0 3px -2px}.menu-ticket:hover{transform:rotate(0deg) translate(-3px,-3px);box-shadow:11px 11px 0 var(--ink)}.hero-intro{position:absolute;right:6.7%;top:77%;font-size:17px;line-height:1.45;font-weight:550;z-index:4}.hero-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:22px var(--gutter);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--yellow);z-index:5}.hero-bottom>a{font-family:var(--display);font-size:clamp(22px,2.8vw,40px);line-height:1;letter-spacing:-.015em;display:flex;gap:35px;align-items:center}.hero-bottom>a span{font-family:var(--sans);font-weight:400}.hero-bottom>p{font-size:16px;font-weight:650;display:flex;gap:30px;align-items:center}.hero-bottom strong{font-family:var(--display);font-size:25px;font-weight:400;line-height:1}.hero-bottom>a:hover{color:var(--red)}@keyframes sign-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes cup-in{from{opacity:0;transform:scale(.85) rotate(12deg)}to{opacity:1;transform:none}}

.header-address{font-size:16px}
.visit{display:grid;grid-template-columns:1.05fr 1fr;background:var(--paper);border-bottom:2px solid var(--ink)}
.visit-details{grid-column:2;grid-row:1;align-self:center;padding:48px clamp(28px,4vw,65px);min-width:0}
.visit-details h2{font-size:clamp(40px,4.3vw,66px);line-height:1.04;color:var(--red)}
.visit-details address{font-style:normal;font-size:clamp(18px,1.65vw,25px);font-weight:600;line-height:1.5;margin-top:22px;letter-spacing:-.02em}
.direction-button{display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--display);font-size:24px;line-height:1;background:var(--red);color:var(--paper);padding:20px 24px;margin-top:25px;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);transition:transform .2s,box-shadow .2s}
.direction-button span{font-family:var(--sans);font-size:30px}
.direction-button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.opening-hours{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #25271e5c;margin-top:30px;padding-top:19px;font-size:17px}
.opening-hours strong{font-size:20px;font-weight:750;white-space:nowrap}
.cafe-photo{grid-column:1;grid-row:1;display:block;padding:0;min-width:0;min-height:480px;background:var(--ink);overflow:hidden}
.cafe-photo img{object-position:45% center;transition:transform .5s}
.cafe-photo:hover img{transform:scale(1.025)}
.gallery-item:focus-visible{outline-offset:-8px;outline-color:var(--yellow)}
.menu-counter{display:grid;grid-template-columns:.38fr 1fr;gap:clamp(35px,6vw,90px);padding:65px var(--gutter) 75px;background:var(--ink);color:var(--paper);position:relative}
.menu-counter>h2{font-size:clamp(65px,7vw,105px);line-height:.98;align-self:start;position:sticky;top:26px;color:var(--yellow)}
.menu-paper{min-width:0;background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--red);align-self:start;scroll-margin-top:0}
.menu-tabs{display:flex;position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:2px solid var(--ink)}
.menu-tabs>button{flex:1;min-width:0;padding:22px 12px 20px;background:var(--paper);border-right:2px solid var(--ink);font-family:var(--display);font-size:clamp(19px,1.65vw,25px);line-height:1;white-space:nowrap}
.menu-tabs>button:last-child{border-right:0}
.menu-tabs>button[aria-selected=true]{background:var(--red);color:var(--paper)}
.menu-tabs>button:hover{background:var(--yellow);color:var(--ink)}
.menu-tabs>button:focus-visible{outline-offset:-6px}
.menu-content{padding:32px 34px 30px;min-height:590px}
.menu-panel h3{font-size:clamp(30px,3vw,42px);line-height:1.1;color:var(--red);margin-bottom:26px}
.coffee-sizes{display:flex;gap:20px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--ink)}
.coffee-sizes>p{flex:1;font-size:16px;font-weight:600;line-height:1.5}
.coffee-sizes strong{display:block;font-size:25px;font-weight:750;letter-spacing:-.035em}
.drink-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;font-size:17px;font-weight:550;line-height:1.5}
.tea-options{font-size:16px;line-height:1.6;padding-top:20px;margin-top:24px;border-top:1px solid #25271e5c}
.cold-price{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:17px;border-bottom:1px solid var(--ink);padding-bottom:22px;margin-bottom:24px}
.cold-price strong{font-size:25px;font-weight:750;line-height:1}
.price-list{margin:0;font-size:17px;line-height:1.5}
.price-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:13px 0;border-bottom:1px solid #25271e36}
.price-list>div:first-child{padding-top:0}
.price-list>div:last-child{border-bottom:0}
.price-list dt{font-weight:550;min-width:0}
.price-list dd{margin:0;white-space:nowrap;flex:none;font-weight:800;font-variant-numeric:tabular-nums}
.bottled{border-top:1px solid var(--ink);padding-top:24px;margin-top:28px}
.order-link{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px 34px;border-top:2px solid var(--ink);font-family:var(--display);font-size:24px;line-height:1;background:var(--yellow);transition:background .2s}
.order-link span{font-family:var(--sans);font-size:30px}
.order-link:hover{background:var(--red);color:var(--paper)}
.food-scene{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(40px,7vw,110px);align-items:center;padding:58px var(--gutter);background:var(--paper)}
.scene-photo{display:block;justify-self:center;width:min(100%,400px);aspect-ratio:3/4;padding:0;background:var(--paper);overflow:hidden}
.scene-photo img{object-fit:contain;transition:transform .5s}
.scene-photo:hover img{transform:scale(1.015)}
.scene-copy{max-width:520px}
.scene-copy h2{font-size:clamp(52px,5.5vw,83px);line-height:1.02;color:var(--red)}
.scene-copy>p{font-size:18px;line-height:1.65;margin-top:24px;max-width:450px}
.line-link{display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:2px solid currentColor;padding:16px 0;font-family:var(--display);font-size:23px;line-height:1.1;margin-top:24px;max-width:450px}
.line-link span{font-family:var(--sans);font-size:30px}
.line-link:hover{color:var(--red)}
.site-footer{background:var(--ink);color:var(--paper);overflow:hidden;padding:32px var(--gutter) 0}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:28px}
.footer-brand{font-family:var(--display);font-size:25px;white-space:nowrap}
.email-link{font-size:16px;text-decoration:underline;text-underline-offset:5px}
.footer-top>div{display:flex;gap:24px;font-size:16px;font-weight:650}
.footer-top a:hover{color:var(--yellow)}
.footer-sign{font-family:var(--display);font-size:clamp(65px,9vw,170px);line-height:1.15;letter-spacing:-.025em;text-align:center;white-space:nowrap;color:var(--yellow);margin-bottom:-.08em}
.mobile-actions{display:none}
.photo-dialog{border:0;background:transparent;padding:0;max-width:min(94vw,1300px);max-height:90dvh;overflow:visible}
.photo-dialog::backdrop{background:#14170cf2}
.photo-dialog>img{max-height:86dvh;max-width:94vw;height:auto;width:auto;object-fit:contain}
.dialog-close{position:absolute;top:10px;right:10px;z-index:2;width:48px;height:48px;background:var(--yellow);color:var(--ink);font-size:33px;line-height:1;border:2px solid var(--ink)}
@media(min-width:1800px){
  .hero h1{font-size:510px}.hero-poster{height:970px}
  .menu-counter,.food-scene,.site-header,.site-footer{padding-left:max(var(--gutter),calc((100vw - 1760px)/2));padding-right:max(var(--gutter),calc((100vw - 1760px)/2))}
  .visit{padding-left:max(0px,calc((100vw - 1900px)/2));padding-right:max(0px,calc((100vw - 1900px)/2))}
}
@media(max-width:1100px){
  .site-header{grid-template-columns:1fr auto}.header-address{display:none}.site-nav{gap:26px}
  .hero-poster{height:690px}.coffee-object{width:48%;top:28%}.hero-motto{font-size:47px;left:5%;top:45%}
  .menu-ticket{right:5%;top:48%;width:175px;padding:20px;gap:10px}.menu-ticket>span{font-size:48px}.menu-ticket svg{width:34px}
  .hero-intro{right:5%;top:76%;font-size:16px}.hero-bottom>p{gap:16px;font-size:16px}.hero-bottom strong{font-size:22px}
  .visit-details{padding:36px 28px}.visit-details h2{font-size:43px}.visit-details address{font-size:19px}.cafe-photo{min-height:450px}
  .opening-hours{font-size:16px;gap:12px;flex-wrap:wrap}.opening-hours strong{font-size:19px}
  .direction-button{font-size:22px;padding:19px 20px}
  .menu-counter{grid-template-columns:.28fr 1fr;gap:35px;padding-top:55px;padding-bottom:65px}
  .menu-counter>h2{font-size:66px}.menu-content{padding:28px 26px;min-height:610px}
  .menu-tabs>button{font-size:20px;padding:21px 8px}.drink-list,.price-list{font-size:16px}
  .food-scene{gap:40px;padding-top:48px;padding-bottom:48px}.scene-copy h2{font-size:61px}.scene-copy>p{font-size:17px}
  .footer-top{flex-wrap:wrap;gap:24px}.footer-top>div{gap:20px}
}
@media(max-width:760px){
  :root{--gutter:22px}html{scroll-padding-top:16px}
  .site-header{min-height:64px;height:64px;padding:0 var(--gutter)}.header-brand{font-size:23px}
  .nav-toggle{display:flex;width:44px;height:44px;padding:10px;justify-content:center;align-items:center;gap:7px;flex-direction:column;background:transparent;position:relative;z-index:22}
  .nav-toggle span{width:25px;height:2px;background:var(--ink);transition:transform .2s}
  .nav-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .site-nav{display:none;position:absolute;left:0;right:0;top:62px;height:calc(100dvh - 62px);overflow-y:auto;overscroll-behavior:contain;background:var(--yellow);z-index:21;padding:45px var(--gutter) 100px;flex-direction:column;gap:15px;justify-content:flex-start;align-items:stretch;font-family:var(--display);font-size:50px;line-height:1}
  .site-nav.is-open{display:flex}.site-nav a{padding:20px 0;border-bottom:2px solid var(--ink)}.site-nav a:after{display:none}.site-nav a:last-child{display:flex;justify-content:space-between}
  .hero-poster{height:735px;min-height:0;max-height:none}
  .hero h1{top:13px;left:2%;width:96%;font-size:29.5vw;line-height:1.03;letter-spacing:-.018em}
  .coffee-object{width:84%;max-width:470px;top:21%;left:52%;filter:drop-shadow(10px 17px 3px #25271e28)}
  .hero-motto{font-size:35px;left:var(--gutter);top:auto;bottom:112px;line-height:1}
  .menu-ticket{width:135px;right:8%;top:59%;padding:17px 16px;gap:7px;box-shadow:5px 5px 0 var(--ink)}.menu-ticket>span{font-size:39px}.menu-ticket svg{width:27px;margin-bottom:3px}
  .hero-intro{top:auto;bottom:106px;right:var(--gutter);font-size:16px;line-height:1.45;max-width:155px}
  .hero-bottom{padding:18px var(--gutter);gap:15px;align-items:center;min-height:78px}
  .hero-bottom>a{font-size:22px;line-height:1.05;gap:13px;max-width:155px}.hero-bottom>p{font-size:16px;gap:4px;flex-direction:column;align-items:flex-end;line-height:1.2;white-space:nowrap}.hero-bottom strong{font-size:20px}
  .visit{grid-template-columns:1fr}.visit-details{grid-column:1;grid-row:1;padding:34px var(--gutter) 35px}
  .visit-details h2{font-size:43px;line-height:1.04}.visit-details address{font-size:19px;margin-top:20px;line-height:1.5}
  .direction-button{font-size:23px;padding:19px 22px;margin-top:23px}
  .opening-hours{font-size:16px;flex-wrap:nowrap;gap:12px;margin-top:27px;padding-top:18px}.opening-hours strong{font-size:19px}
  .cafe-photo{grid-column:1;grid-row:2;min-height:0;height:270px;width:100%}.cafe-photo img{object-position:43% 45%}
  .menu-counter{display:block;padding-top:35px;padding-bottom:45px}
  .menu-counter>h2{position:static;font-size:44px;line-height:1;margin-bottom:22px}.menu-counter>h2 br{display:none}.menu-counter>h2 br:after{content:' '}
  .menu-paper{box-shadow:6px 6px 0 var(--red)}.menu-tabs>button{font-size:18px;padding:20px 7px}
  .menu-content{padding:26px 20px 25px;min-height:535px}
  .menu-panel h3{font-size:32px;line-height:1.1;margin-bottom:24px}
  .coffee-sizes{gap:16px;padding-bottom:19px;margin-bottom:23px}.coffee-sizes>p{font-size:16px}.coffee-sizes strong{font-size:24px}
  .drink-list{font-size:16px;gap:17px 18px;line-height:1.5}.tea-options{font-size:16px;line-height:1.6;margin-top:24px;padding-top:19px}
  .cold-price{font-size:16px}.cold-price strong{font-size:24px}
  .price-list{font-size:16px}.price-list>div{padding:14px 0;gap:17px;line-height:1.5}
  .order-link{font-size:22px;padding:20px}.order-link span{font-size:29px}
  .food-scene{grid-template-columns:1fr;gap:30px;padding:38px var(--gutter) 42px}
  .scene-photo{max-width:360px}.scene-copy{max-width:none}.scene-copy h2{font-size:49px;line-height:1.04}
  .scene-copy>p{font-size:16px;line-height:1.65;margin-top:20px;max-width:none}
  .line-link{font-size:22px;margin-top:20px;max-width:none;padding:15px 0}
  .site-footer{padding-top:28px;padding-bottom:83px}
  .footer-top{display:flex;align-items:flex-start;flex-direction:column;gap:20px;padding-bottom:25px}.footer-brand{font-size:24px}.email-link{font-size:16px}
  .footer-top>div{font-size:16px;gap:28px}.footer-sign{font-size:11.8vw;text-align:left;line-height:1.2;margin-bottom:0}
  .mobile-actions{display:flex;position:fixed;left:0;right:0;bottom:0;padding-bottom:env(safe-area-inset-bottom);background:var(--ink);border-top:2px solid var(--ink);z-index:15}
  .mobile-actions>a{width:50%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;font-family:var(--display);font-size:18px;line-height:1;background:var(--yellow);color:var(--ink)}
  .mobile-actions>a:first-child{background:var(--red);color:var(--paper);border-right:2px solid var(--ink)}.mobile-actions span{font-family:var(--sans);font-size:22px}
  .photo-dialog,.photo-dialog>img{max-width:94vw}.photo-dialog>img{max-height:82dvh}
}
@media(min-width:500px) and (max-width:760px){
  .hero-poster{height:900px}.hero h1{font-size:29vw}.coffee-object{width:70%;top:24%}.hero-motto{font-size:48px;bottom:120px}
  .menu-ticket{top:62%;right:9%;width:160px}.menu-ticket>span{font-size:48px}.hero-intro{font-size:16px;max-width:180px;right:7%;bottom:106px}
  .visit-details{padding-top:40px;padding-bottom:40px}.visit-details h2{font-size:52px}.visit-details address{font-size:22px}
  .direction-button{max-width:450px}.opening-hours{max-width:450px}.cafe-photo{height:350px}
  .menu-tabs>button{font-size:22px}.menu-content{padding:30px;min-height:540px}.menu-panel h3{font-size:39px}
  .food-scene{grid-template-columns:.9fr 1fr;gap:25px}.scene-copy h2{font-size:39px}.scene-copy>p{font-size:16px}.line-link{font-size:20px}
}
@media(max-width:370px){
  :root{--gutter:18px}.hero-poster{height:695px}.hero-motto{font-size:31px;bottom:112px}
  .menu-ticket{top:53%;width:126px;padding:15px;right:7%}.menu-ticket>span{font-size:37px}.menu-ticket svg{width:24px}
  .hero-intro{font-size:16px;max-width:146px}.hero-bottom>a{font-size:20px;max-width:137px;gap:10px}.hero-bottom strong{font-size:18px}.hero-bottom>p{font-size:16px}
  .visit-details h2{font-size:39px}.visit-details address{font-size:18px}.direction-button{font-size:22px;padding:18px}
  .opening-hours{gap:10px;font-size:16px}.opening-hours strong{font-size:18px}
  .menu-tabs>button{font-size:17px;padding:19px 5px}.menu-content{padding-left:16px;padding-right:16px}
  .menu-panel h3{font-size:29px}.drink-list{gap:16px 15px;font-size:16px}.price-list{font-size:16px}.price-list>div{gap:14px}
  .scene-copy h2{font-size:45px}.mobile-actions>a{padding-left:18px;padding-right:18px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}
  .coffee-object{will-change:auto;transform:translateX(-50%) rotate(-12deg)}
}
