
@font-face{font-family:Coffee Serif;src:url("assets/fonts/serif.woff2") format("woff2");font-weight:100 900;font-stretch:50% 150%;font-display:swap}
@font-face{font-family:Coffee Sans;src:url("assets/fonts/sans.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{--cream:#f3e9d8;--ink:#342117;--muted:#74695e;--line:#cfc1ad;--gold:#cfb386;--sans:"Coffee Sans",sans-serif;--serif:"Coffee Serif",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #ad7f43;outline-offset:5px}button[hidden],[hidden]{display:none!important}
.wrap{width:calc(100% - 112px);max-width:1320px;margin-inline:auto}
h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-variation-settings:"wdth" 50,"opsz" 144,"wght" 550;letter-spacing:-.035em;font-weight:550;line-height:1.02}h2{font-size:84px}h3{font-weight:600}address{font-style:normal}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;z-index:100;left:20px;top:-90px;padding:12px 18px;background:var(--cream);color:var(--ink)}.skip:focus{top:20px}
.header{max-width:none;width:100%;height:122px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding-inline:56px;background:#302017 url("assets/paper.webp") center top /100% auto;color:var(--cream)}
.brand{position:relative;display:flex;align-items:center;gap:3px;height:83px;padding-bottom:20px;flex-shrink:0;color:var(--cream);text-decoration:none!important}
.brand-word{font:650 36px/1 var(--serif);font-variation-settings:"wdth" 50,"opsz" 144,"wght" 650;letter-spacing:-2.4px}.brand-cup{height:57px;width:38px;align-self:flex-start;margin-top:1px}.brand-sub{position:absolute;bottom:5px;left:25px;right:0;text-align:center;font-size:13px;font-style:italic;letter-spacing:-.4px}
.header nav{display:flex;gap:36px;margin-left:auto;margin-right:36px;font-size:15px}.header-phone{font-size:16px;white-space:nowrap;font-weight:450}
.hero{position:relative;min-height:670px;height:calc(100vw * .49);max-height:760px;background:#302017 url("assets/paper.webp") center -122px /100% auto;color:var(--cream);overflow:hidden}
.hero-art{position:absolute;left:-25px;bottom:0;width:53%;height:100%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.hero-art img{height:100%;max-height:735px;width:auto;max-width:none;object-fit:contain;object-position:bottom}
.hero-copy{position:relative;margin-left:50%;width:calc(50% - 56px);padding:24px 0 46px;max-width:720px}h1{font-size:clamp(106px,8.55vw,137px);line-height:.96;letter-spacing:-.045em}.hero-copy>p{font-size:20px;font-weight:350;line-height:1.65;max-width:610px;margin-top:28px}.actions{display:flex;align-items:center;gap:16px;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;font-size:16px;font-weight:500;line-height:1.3;padding:18px 30px;min-height:58px;text-decoration:none!important;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--cream);color:var(--ink);border-color:var(--cream)}.primary:hover{background:#fff8ed}.outline{border-color:var(--cream);color:var(--cream);background:transparent}.outline:hover{background:rgba(243,233,216,.1)}.hero-copy address{font-size:15px;margin:22px 0 0 25px}
.invitation{display:grid;grid-template-columns:1fr 1fr;gap:76px;padding-block:72px 80px;align-items:center}.invitation h2{font-size:78px}.invitation p{max-width:535px;font-size:22px;font-weight:350;line-height:1.7}
.why{position:relative;isolation:isolate;border-radius:22px;overflow:hidden;color:var(--cream);min-height:465px;background:#2d2119 url("assets/roasting.webp") center 56%/cover}.why:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,10,7,.76),rgba(20,12,7,.35) 65%,rgba(15,10,7,.04))}.why-inner{padding:42px 42px 48px}.why h2{font-size:88px;margin-bottom:26px}.why-cards{display:grid;grid-template-columns:310px 365px;gap:16px;max-width:820px}.why-card{padding:23px 26px;min-height:109px;border-radius:12px;font-size:26px;font-weight:600;line-height:1.24;letter-spacing:-1px;display:flex;align-items:center}.why-card.cream{background:var(--cream);color:var(--ink)}.why-card.framed{border:1.5px solid rgba(243,233,216,.9);background:rgba(20,13,8,.16)}.why-card:nth-child(3){width:365px}.why-card:nth-child(4){margin-left:55px;width:345px}
.menu-section{padding:73px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:32px}.section-heading>p{font-size:16px;line-height:1.6;font-weight:350}.coffee-menu{display:grid;grid-template-columns:30% 1fr;gap:40px;min-height:390px}.origin-list{border-right:1px solid #9f8e78;padding-right:29px;max-height:470px;overflow:auto;scrollbar-width:thin;scrollbar-color:#b7a38a transparent}.origin-list button{border:0;background:none;display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;text-align:left;border-radius:10px;padding:15px 18px;font-size:16px;line-height:1.4;color:var(--ink);margin-bottom:4px;transition:background .2s}.origin-list button:hover{background:#e5d7c3}.origin-list button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.grain-chevron{font-size:30px;line-height:1;visibility:hidden}.origin-list button[aria-pressed=true] .grain-chevron{visibility:visible}.menu-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:24px}.menu-toolbar h3{font-family:var(--serif);font-variation-settings:"wdth" 60,"opsz" 144,"wght" 550;line-height:1.2;font-size:36px;max-width:440px;letter-spacing:-1px}.menu-tabs{display:flex;gap:8px;flex-shrink:0}.menu-tabs button{color:var(--ink);border:1px solid #958672;border-radius:999px;background:none;padding:8px 22px;font-size:14px;line-height:1.2}.menu-tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--cream)}.volume-control{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;font-size:12px;color:var(--muted)}.volume-control>div{display:flex;gap:5px}.volume-control button{border:1px solid transparent;border-radius:5px;padding:4px 9px;background:none;font-size:12px;color:var(--muted)}.volume-control button[aria-pressed=true]{background:#e1d3bf;color:var(--ink);border-color:#c5b197}.price-table{width:100%;border-collapse:collapse;font-size:17px}.price-table th{font-weight:400;text-align:left;padding:8px 0;border-bottom:1px solid var(--line);line-height:1.4}.price-table th span{font-size:13px;color:var(--muted);margin-left:8px;white-space:nowrap}.price-table td{text-align:right;padding:8px 0;border-bottom:1px solid var(--line);font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.price-table td.unknown{font-size:12px;font-weight:400}.menu-note{margin-top:22px;font-size:12px;color:var(--muted);line-height:1.6}.bean-panel{min-height:312px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bean-price{font-size:68px;font-family:var(--serif);font-variation-settings:"wdth" 60,"opsz" 144,"wght" 550;line-height:1.1}.bean-panel p{font-size:15px;max-width:460px;margin-top:14px}.bean-weight{display:block;color:var(--muted);font-size:15px;margin-bottom:12px}.menu-error{padding:20px;border:1px solid var(--line)}.food-menu{border-top:1px solid #9f8e78;margin-top:44px;padding-top:24px}.food-menu h2{font-size:72px}.food-menu .section-heading{margin-bottom:22px}.food-menu .section-heading p{font-size:16px;margin-top:6px}.food-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px}.food-columns h3{font-size:15px;font-weight:550;margin-bottom:16px}.food-columns ul{list-style:none;padding:0;margin:0}.food-columns li{display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;font-size:15px}.food-columns li>span:last-child{white-space:nowrap;font-weight:500}.other-drinks{margin-top:28px;border-block:1px solid #9f8e78;padding:0}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.other-drinks summary{display:flex;justify-content:space-between;padding:18px 0;font-size:17px;font-weight:500}.other-drinks summary span,.questions summary span{font-size:24px;font-weight:300;transition:transform .2s}details[open]>summary span{transform:rotate(45deg)}.other-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.other-grid p{display:flex;justify-content:space-between;gap:16px;padding:12px 0;font-size:15px;border-bottom:1px solid var(--line)}.other-drinks .menu-note{margin:16px 0 22px}
.gallery-section{padding-top:70px}.gallery-section .section-heading{margin-bottom:34px}.gallery-section h2{font-size:78px}.strip-track,.strip-group{gap:12px}.strip-shot{border-radius:18px;overflow:hidden}.strip-shot img{height:330px;width:248px;filter:sepia(.8) saturate(.42) brightness(.91);transition:filter .4s ease}.strip-shot:hover img,.strip-shot:focus-visible img,.strip-shot.is-touched img{filter:none}.strip-shot:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}.strip-viewer{border-radius:20px;background:#1d1510}.strip-viewer::backdrop{background:rgba(22,15,10,.97)}.strip-viewer-stage{background:#1d1510}.strip-viewer-stage img{filter:none}.viewer-btn{background:rgba(25,19,15,.8)}.viewer-btn:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.faq{padding-block:76px 86px;display:grid;grid-template-columns:42% 1fr;gap:60px}.faq h2{font-size:70px;max-width:430px;line-height:1.06}.questions{border-top:1px solid #aa9983}.questions details{border-bottom:1px solid #aa9983}.questions summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-size:17px;font-weight:500}.questions p{padding:0 36px 24px 0;font-size:16px;font-weight:350;line-height:1.8}
.visit{background:#302017 url("assets/paper.webp") center/cover;color:var(--cream);padding:60px 0 64px}.visit-inner{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}.visit h2{font-size:80px;margin-bottom:26px}.visit-details{display:grid;gap:27px;padding-left:30px}.label{font-size:12px;color:#c0af99;display:block;margin-bottom:7px}.visit address,.visit .phone{font-size:23px;font-weight:350}.visit-details>a{font-size:14px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.brand{width:280px;height:94px;padding:0}.brand img{width:280px;height:94px;object-fit:contain}.hero-art img{height:100%;max-height:760px;transform:none}

.origin-list button,.price-table{font-size:18px}.food-columns li,.other-grid p{font-size:16px}.volume-control{font-size:14px}.volume-control button{font-size:14px;padding:6px 10px}.menu-tabs button{font-size:16px}.price-table th span{font-size:14px}.no-js-menu{margin-top:30px}.no-js-menu details{border-bottom:1px solid var(--line);padding-block:18px}.no-js-menu summary{font-weight:500}.no-js-menu .price-table{margin-block:15px}

.grain-picker{border-right:1px solid #9f8e78;padding-right:29px;min-width:0}.grain-picker .origin-list{border:0;padding-right:0;max-height:430px}.grain-help{font-size:12px;color:var(--muted);line-height:1.6;margin-top:15px;max-width:290px}.grain-picker .origin-list::-webkit-scrollbar{width:5px}.grain-picker .origin-list::-webkit-scrollbar-thumb{background:#b7a38a;border-radius:4px}

.visit-credit{display:flex;justify-content:flex-end;margin-top:44px;padding-top:22px;border-top:1px solid #f3e8d333;font-size:16px;line-height:1.5}.visit-credit a{color:var(--cream);text-decoration:none}.visit-credit a:hover{text-decoration:underline;text-underline-offset:5px}

/* Мобильная версия: тот же рисунок, контент и данные меню. */
.mobile-navigation,.mobile-grain-label{display:none}
@media(max-width:1100px) and (min-width:701px){
 .wrap{width:calc(100% - 64px)}
 .header{padding:0 32px;gap:20px}.brand{width:220px;height:84px}.brand img{width:220px;height:84px}
 .header nav{gap:20px;margin-right:0;font-size:16px}.header-phone{font-size:16px}
 .hero{height:auto;min-height:650px}.hero-copy{margin-left:48%;width:calc(52% - 32px)}
 .hero h1{font-size:clamp(80px,9.5vw,106px)}.hero-copy p{font-size:18px}.hero-art{width:51%;left:-20px}.hero-art img{height:auto;width:100%;max-height:none}
 .hero .actions{flex-wrap:wrap}.invitation{gap:36px;padding:54px 40px}.invitation h2{font-size:64px}.invitation p{font-size:19px}
 .why-inner{padding:32px}.why-cards{grid-template-columns:1fr 1fr}.why-card:nth-child(n){width:auto;margin-left:0;font-size:23px}
 .coffee-menu{grid-template-columns:31% 1fr;gap:24px}.grain-picker{padding-right:20px}.origin-list button{font-size:16px}
 .menu-toolbar{align-items:flex-start;flex-wrap:wrap}.menu-toolbar h3{font-size:34px}.volume-control{flex-wrap:wrap}
 .food-columns,.other-grid{gap:32px}.faq{gap:32px;padding:54px 32px}.faq h2{font-size:62px}.visit{padding:48px 32px}.visit-inner{gap:32px}.visit h2{font-size:68px}
}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}body{font-size:16px}h2{font-size:56px}
 .header{height:auto;min-height:116px;padding:12px 20px;gap:4px 16px;flex-wrap:wrap;position:relative;z-index:3;background-size:auto 1000px}
 .brand,.brand img{width:215px;height:70px}.header>nav{display:none}.header-phone{font-size:16px;line-height:1.5;margin-left:0;flex-basis:100%}
 .mobile-navigation{display:block;margin-left:auto}
 .mobile-navigation summary{list-style:none;display:grid;place-items:center;width:46px;height:46px;border:1px solid #bbaa91;border-radius:50%;font-size:25px;cursor:pointer}
 .mobile-navigation summary::-webkit-details-marker{display:none}
 .header .mobile-navigation nav{position:absolute;left:20px;right:20px;top:88px;display:flex;flex-direction:column;gap:0;margin:0;padding:12px;background:#342117;border:1px solid #bbaa91;border-radius:16px;box-shadow:0 12px 30px #0005}
 .mobile-navigation nav a{padding:14px 16px;font-size:18px}
 .hero{height:auto;max-height:none;min-height:0;display:flex;flex-direction:column;background-size:auto 1000px;background-position:center -116px}
 .hero-copy{order:0;margin:0;width:auto;max-width:none;padding:24px 20px 0}
 .hero h1{font-size:clamp(68px,19vw,104px);line-height:1.03;letter-spacing:-.035em}
 .hero-copy p{font-size:17px;line-height:1.65;margin:22px 0 0;max-width:440px}
 .hero .actions{gap:10px;margin:24px 0 0;flex-wrap:wrap}.hero .button{font-size:16px;padding:13px 20px;min-height:50px}
 .hero address{font-size:16px;margin:18px 0 0}
 .hero-art{order:1;position:relative;left:auto;bottom:auto;width:100%;height:auto;margin-top:22px;justify-content:center}
 .hero-art img{width:100%;height:auto;max-height:none;max-width:480px;display:block}
 .invitation{grid-template-columns:1fr;gap:22px;padding:42px 24px}
 .invitation h2{font-size:54px}.invitation p{font-size:18px;line-height:1.7}
 .why{min-height:0;background-position:65% center;border-radius:18px}.why-inner{padding:30px 20px}
 .why h2{font-size:58px;margin-bottom:24px}.why-cards{grid-template-columns:1fr;gap:12px}
 .why-card:nth-child(n){width:auto;margin:0;min-height:90px;padding:20px;font-size:23px;line-height:1.2;border-radius:12px}
 .menu-section{padding-top:46px}.section-heading{margin-bottom:26px}.section-heading h2{font-size:56px}
 .coffee-menu{display:block;min-height:0}.grain-picker{border:0;padding:0;margin-bottom:24px}
 .origin-list,.grain-help{display:none}
 .mobile-grain-label{display:grid;gap:10px;font-size:16px}
 .mobile-grain-label select{width:100%;min-width:0;max-width:100%;font:inherit;font-size:18px;color:var(--cream);background:var(--ink);border:1px solid var(--ink);border-radius:10px;padding:16px 36px 16px 14px;min-height:56px}
 .menu-toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:22px}
 .menu-toolbar h3{font-size:36px;max-width:100%;overflow-wrap:anywhere}
 .menu-tabs{gap:10px}.menu-tabs button{font-size:17px;min-height:46px;padding:9px 24px}
 .volume-control{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:16px;font-size:16px}
 .volume-control>div{display:flex;gap:7px;flex-wrap:wrap}.volume-control button{font-size:16px;min-height:44px;padding:8px 12px}
 .price-table{font-size:18px}.price-table th{padding:12px 8px 12px 0;line-height:1.4}.price-table th span{display:block;margin:3px 0 0;font-size:16px;white-space:normal}.price-table td{padding:12px 0 12px 4px;font-size:18px}.price-table td.unknown{font-size:14px;white-space:normal;max-width:100px}
 .bean-panel{min-height:240px}.bean-panel p{font-size:16px}.bean-price{font-size:58px}
 .food-menu{margin-top:34px;padding-top:26px}.food-menu h2{font-size:56px}
 .food-columns,.other-grid{grid-template-columns:1fr;gap:24px}.food-columns h3{font-size:17px}.food-columns li,.other-grid p{font-size:17px;gap:14px;align-items:baseline}
 .other-drinks summary{font-size:18px;gap:12px}
 .gallery-section{padding:48px 0}.gallery-heading h2{font-size:56px}.strip .strip-shot{width:210px;height:280px}
 .faq{grid-template-columns:1fr;gap:24px;padding:40px 0 48px}.faq h2{font-size:54px;max-width:100%}.questions summary{font-size:18px;padding:20px 0}.questions p{font-size:17px}
 .visit{padding:38px 24px}.visit-inner{grid-template-columns:1fr;gap:32px}.visit h2{font-size:58px}.visit-details{padding-left:0;gap:24px}.visit-details .label{font-size:14px}.visit address,.visit .phone{font-size:22px}.visit .external{font-size:16px}
 .visit-credit{justify-content:flex-start;margin-top:32px;font-size:16px}
 .strip-viewer{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:none;border-radius:14px}.strip-viewer-stage{padding:8px}.strip-viewer-nav{padding:10px;gap:8px}
 .no-js-menu .price-table{font-size:16px}.no-js-menu .price-table td{white-space:normal;font-size:16px}.no-js-menu summary{font-size:18px;padding:16px 0}
}

@media(max-width:700px){
 .header.wrap{width:100%;max-width:none}
 .hero h1{font-size:clamp(55px,15.3vw,76px)}
 .hero-copy{padding-top:18px}
 .hero-copy p{margin-top:18px}
 .hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .hero .button{padding:13px 10px;text-align:center;display:flex;align-items:center;justify-content:center}
 .hero-art{margin-top:18px}.hero-art img{max-width:400px}
}

@media(max-width:1100px) and (min-width:701px){.header.wrap{width:100%;max-width:none}}
@media(max-width:700px){
 .hero .actions{align-items:stretch}.hero .actions .button{height:100%;margin:0}
 .header-phone{overflow-wrap:anywhere;white-space:normal}
 .price-table{table-layout:fixed}.price-table th{width:63%;overflow-wrap:anywhere}.price-table td{white-space:normal;overflow-wrap:anywhere}
 .food-columns li span,.other-grid p span{min-width:0;overflow-wrap:anywhere}
 .menu-tabs{flex-wrap:wrap}
}

@media(max-width:700px){
 h1,h2,h3,.why-card{overflow-wrap:anywhere}
 .invitation,.why-cards,.faq,.visit-inner,.food-columns,.other-grid{grid-template-columns:minmax(0,1fr)}
 .invitation>*,.why-card,.visit-inner>*,.visit-details,.food-columns>*{min-width:0}
 .visit a,.visit address,.visit-credit a{overflow-wrap:anywhere}
 .visit .button{white-space:normal;text-align:center}
}

@media(max-width:700px){
 .hero .actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero .actions .button{min-width:0;overflow-wrap:anywhere}
 .food-columns li span:last-child,.other-grid p span:last-child{flex-shrink:0}
 .mobile-navigation nav a{overflow-wrap:anywhere}
 .skip-link{max-width:calc(100% - 40px);white-space:normal;overflow-wrap:anywhere}
}
