.sec-h{margin-bottom:clamp(32px,5vw,64px)}
.sec-t{font:400 clamp(2.8rem,7vw,6rem)/.95 var(--serif);letter-spacing:-.02em}
.sec-p{margin-top:1.1rem;color:var(--muted);max-width:50ch}

/* explainer aside */
.aside{padding:clamp(80px,12vw,180px) 0}
.aside-g{display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px}
.aside-g .eyebrow{grid-column:1/4;padding-top:.6rem}
.aside-main{grid-column:4/13;border-left:1px solid var(--blue);padding-left:clamp(20px,3vw,48px)}
.aside-h{font:400 clamp(2.3rem,4.6vw,4.2rem)/1.04 var(--serif);letter-spacing:-.02em}
.aside-h em{color:var(--blue);display:block}
.aside-p{margin-top:1.8rem;max-width:52ch;font-size:clamp(1.05rem,1rem + .4vw,1.25rem)}
.aside-kind{margin-top:1.1rem;max-width:52ch;color:var(--muted);font-style:italic;font-family:var(--serif);font-size:clamp(1.3rem,1.2rem + .5vw,1.6rem);line-height:1.35}
@media (max-width:820px){.aside-g{display:block}.aside-main{padding-left:20px}.aside-g .eyebrow{margin-bottom:1.6rem}}

/* menu rows */
.menu{padding:clamp(70px,10vw,150px) 0 clamp(60px,8vw,120px)}
.rows{border-top:1px solid var(--ink)}
.row{display:grid;grid-template-columns:3.5rem minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;column-gap:24px;padding:clamp(16px,2.2vw,28px) 0;border-bottom:1px solid var(--line);cursor:default}
.no{font:500 .8rem/1 var(--sans);color:var(--muted);letter-spacing:.08em}
.nm{font:400 clamp(2rem,4.6vw,4rem)/1 var(--serif);letter-spacing:-.015em;transition:color .3s,translate .5s var(--ease)}
.ds{color:var(--muted);max-width:40ch}
.th{width:84px;height:84px;object-fit:cover;border-radius:50%;background:var(--flour-2)}
.th-logo{object-fit:contain;padding:0;background:transparent}
@media (hover:hover){
 .th{width:0;height:84px;opacity:0;transition:width .55s var(--ease),opacity .4s,height .55s var(--ease)}
 .row:hover .th,.row:focus-visible .th,.row:focus-within .th{width:150px;height:110px;border-radius:4px;opacity:1}
 .th-logo{border-radius:50%!important}
 .row:hover .th-logo,.row:focus-visible .th-logo{width:110px}
 .row:hover .nm,.row:focus-visible .nm{color:var(--blue);translate:12px 0}
}
.row:focus-visible{outline-offset:-2px}
@media (max-width:760px){
 .row{grid-template-columns:2rem 1fr 64px;row-gap:4px}
 .row .nm{grid-column:2}.row .ds{grid-column:2;grid-row:2}.row .th{grid-column:3;grid-row:1/3;width:64px;height:64px}
 .no{align-self:start;padding-top:.7rem}
}

/* visit */
.visit{background:var(--flour-2);padding:clamp(70px,10vw,150px) 0}
.visit-g{display:grid;grid-template-columns:5fr 6fr;gap:clamp(32px,6vw,100px);align-items:start}
.visit-fig img{width:100%;aspect-ratio:4/5;object-fit:cover}
.hours{border-top:1px solid var(--ink)}
.hours div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:1.1rem}
.hours dt{font-family:var(--serif);font-size:1.5rem;line-height:1.2}
.hours dd{font-variant-numeric:tabular-nums;align-self:center}
.addr{font-style:normal;margin-top:1.6rem;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.tip{margin-top:1.6rem;font:italic 400 clamp(1.5rem,2.4vw,2rem)/1.25 var(--serif);color:var(--blue)}
.coffee{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--line);max-width:52ch}
.coffee h3{font:400 2rem/1.1 var(--serif);margin-bottom:.5rem}
.coffee-l{margin-top:.8rem;display:flex;gap:20px;flex-wrap:wrap}
.coffee-l .link{min-height:44px;display:inline-flex;align-items:center}
@media (max-width:860px){.visit-g{grid-template-columns:1fr}.visit-fig{max-width:480px}}

/* order */
.order{padding:clamp(70px,10vw,150px) 0}
.order-g{display:grid;grid-template-columns:7fr 4fr;gap:clamp(32px,6vw,100px);align-items:center}
.order-lede{max-width:44ch;font-size:clamp(1.1rem,1rem + .5vw,1.35rem)}
.mail{display:inline-block;margin:1.2rem 0 2.4rem;font:400 clamp(1.9rem,5.2vw,4.4rem)/1.1 var(--serif);color:var(--blue);text-decoration:none;border-bottom:1px solid var(--blue);overflow-wrap:anywhere}
.season{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,48px);border-top:1px solid var(--line);padding-top:1.6rem}
.season h3{font:400 2rem/1.1 var(--serif);margin-bottom:.4rem}
.season p{color:var(--muted)}
.order-fig img{width:100%;aspect-ratio:4/5;object-fit:cover}
@media (max-width:860px){.order-g{grid-template-columns:1fr}.order-fig{max-width:420px}.season{grid-template-columns:1fr}}

/* cafes */
.cafes{background:var(--ink);color:var(--white);padding:clamp(80px,12vw,180px) 0}
.cafes .eyebrow{color:#B9C4E4}
.cafes-g{display:grid;grid-template-columns:6fr 5fr;gap:clamp(36px,6vw,110px);align-items:end}
.cafes-h{font:400 clamp(4rem,12vw,11rem)/.86 var(--serif);letter-spacing:-.03em;margin-bottom:.35em}
.cafes-lede{max-width:34ch;font-size:clamp(1.15rem,1.05rem + .6vw,1.5rem);line-height:1.45;color:#DCE2F2;margin-bottom:2rem}
.cafes-mail{margin-top:1rem;color:#B9C4E4;font-size:.95rem}
.cafes-list li{padding:20px 0;border-top:1px solid rgba(253,255,254,.25)}
.cafes-list li:last-child{border-bottom:1px solid rgba(253,255,254,.25)}
.cafes-k{font:500 .75rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#B9C4E4}
.cafes-list h3{font:400 clamp(1.8rem,3vw,2.6rem)/1.1 var(--serif);margin:.5rem 0 .2rem}
.cafes-list p{color:#DCE2F2}
@media (max-width:860px){.cafes-g{grid-template-columns:1fr;align-items:start}}

/* reviews */
.reviews{padding:clamp(70px,10vw,150px) 0}
.rev-g{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(28px,4vw,64px) clamp(28px,5vw,96px)}
.rev p{font:400 clamp(1.5rem,2.4vw,2.2rem)/1.25 var(--serif)}
.rev p::before{content:"„";color:var(--blue)}
.rev p::after{content:"“";color:var(--blue)}
html[lang="en"] .rev p::before{content:"“"}
html[lang="en"] .rev p::after{content:"”"}
.rev cite{display:block;margin-top:.9rem;font:500 .85rem/1 var(--sans);color:var(--muted);font-style:normal;letter-spacing:.06em}
.reviews .fine{margin-top:clamp(32px,4vw,56px)}
@media (max-width:760px){.rev-g{grid-template-columns:1fr}}

/* instagram */
.ig{padding:clamp(40px,6vw,90px) 0 clamp(80px,10vw,150px);text-align:center}
.ig-a{display:inline-block;font:italic 400 clamp(2.8rem,9vw,8rem)/1 var(--serif);color:var(--blue);text-decoration:none;letter-spacing:-.02em;min-height:44px;overflow-wrap:anywhere}
.ig-p{margin:1rem auto 0;color:var(--muted);max-width:44ch}
@media (hover:hover){.ig-a:hover{color:var(--ink)}}

/* footer */
.ft{border-top:1px solid var(--ink);padding:clamp(40px,6vw,80px) 0 48px}
.ft-g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:32px}
.ft-brand img{width:56px;height:56px;margin-bottom:16px}
.ft-slogan{font:italic 400 1.4rem/1.3 var(--serif);max-width:20ch}
.ft h3{font:500 .75rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.ft p{margin-bottom:6px}
.ft .link{min-height:32px;display:inline-block}
@media (max-width:860px){.ft-g{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ft-g{grid-template-columns:1fr}}
