@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/newsreader-latin-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/newsreader-latin-ext-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/newsreader-latin-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/newsreader-latin-ext-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Newsreader Fallback";src:local("Georgia");size-adjust:101.5%}
:root{
  --cream:#F7F0E3; --paper:#EFE4D0; --rosso:#B23A1E; --rosso-d:#8E2D16; --ink:#2B1F18; --soft:#5E5045; --line:#DCCFB8; --field:#8A7A6A; --lemon:#F2C40F; --olive:#5B6B2A;
  --serif:"Newsreader","Newsreader Fallback",Georgia,"Times New Roman",serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --wrap:1240px; --gut:clamp(22px,5.5vw,72px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.6 var(--serif);font-optical-sizing:auto;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--rosso);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
h1,h2,h3{font-weight:400;margin:0;color:var(--rosso)}
::selection{background:var(--lemon);color:var(--ink)}
em{font-style:italic}
.wrap{max-width:calc(var(--wrap) + 2*var(--gut));margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--cream);padding:8px 12px;z-index:9}
.btn{display:inline-block;font:500 16px/1 var(--sans);color:#fff;background:var(--rosso);text-decoration:none;padding:18px 28px;border:0;border-radius:0;cursor:pointer}
.btn:hover{background:var(--rosso-d)}
.btn:disabled{opacity:.6}
.head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:34px;padding-bottom:10px}
.head__brand{display:flex;align-items:center;gap:16px;text-decoration:none}
.head__brand img{width:60px;height:60px;flex:none}
.head__brand picture{flex:none}
.head__word{font:400 36px/1 var(--serif);color:var(--rosso);letter-spacing:-.01em}
.head__nav{display:flex;gap:34px;font:400 17px/1 var(--sans)}
.head__nav a{color:var(--ink);text-decoration:none}
.head__nav a:hover{color:var(--rosso);text-decoration:underline}
.head__langs{display:flex;align-items:center;gap:8px;font-size:.88em}
.head__nav .head__lang{color:var(--soft)}
.head__sep{color:var(--field)}
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:0;padding-top:64px;padding-bottom:120px}
.hero__text{position:relative;z-index:1}
.hero h1{font-size:clamp(46px,5.5vw,80px);line-height:1.02;letter-spacing:-.025em;max-width:10em}
.hero__sub{font-size:clamp(28px,2.8vw,40px);line-height:1.15;font-style:italic;color:var(--olive);margin:22px 0 0}
.hero h1 em{display:block;color:var(--ink)}
.hero__lede{font-size:clamp(19px,1.6vw,22px);line-height:1.5;color:var(--soft);max-width:30em;margin:36px 0 40px}
.hero__art{margin:0 0 0 48px}
.hero__art img{width:100%;height:auto}
.offers{padding-top:40px;padding-bottom:140px}
.offers>h2{font-size:clamp(38px,4.2vw,62px);line-height:1.02;letter-spacing:-.02em;margin:0 0 36px;max-width:15em}
.offers__lede{font-size:clamp(23px,2.2vw,32px);line-height:1.3;letter-spacing:-.01em;color:var(--ink);max-width:27em;margin:0}
.offers__lede .brand-name{color:var(--rosso)}
.offers__lede em{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lemon);text-decoration-thickness:.32em;text-underline-offset:-.12em;text-decoration-skip-ink:none}
.offers__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;margin-top:88px}
.offer{border-top:1px solid var(--ink);position:relative}
.offer::before{content:"";position:absolute;left:0;top:-1px;width:56px;height:3px;background:var(--rosso)}
.offer{padding-top:22px;display:flex;flex-direction:column}
.offer h3{font-size:clamp(30px,2.6vw,38px);line-height:1.1;letter-spacing:-.01em;margin:0 0 16px;color:var(--olive)}
.offer p{margin:0 0 18px}
.offer__next{font-style:italic;color:var(--soft)}
.offer__next em,.menu__note em,.cafe p em{font-style:normal}
.offer__next b{font-weight:500;font-style:normal;color:var(--olive)}
.offer__link{margin-top:auto;align-self:flex-start;font:500 16px/1.2 var(--sans);padding-top:8px}
.offer__link::after{content:" \2192"}
.menu{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);background:var(--paper)}
.menu__tile{background:url(/assets/img/tile-640.jpg) center top/360px 360px repeat;background-color:var(--paper);background-blend-mode:multiply;filter:sepia(.22) saturate(1.05);min-height:100%;border-right:6px solid var(--rosso)}
@supports (background-image:image-set(url(x.webp) type("image/webp"))){
  .menu__tile{background-image:image-set(url(/assets/img/tile-640.webp) type("image/webp"),url(/assets/img/tile-640.jpg) type("image/jpeg"))}
}
.menu__card{padding:120px var(--gut) 130px clamp(40px,7vw,120px);max-width:780px}
.menu h2{font-size:clamp(36px,3.5vw,52px);line-height:1.05;letter-spacing:-.02em;max-width:12em}
.menu__note{color:var(--soft);font-style:italic;margin:18px 0 56px;max-width:28em}
.menu h3{font-size:30px;font-style:italic;margin:0 0 18px;padding-top:14px;border-top:1px solid var(--line);color:var(--olive)}
.carte{margin:0 0 52px}
.carte dt{font-size:22px;line-height:1.25;color:var(--ink)}
.carte dd{margin:2px 0 18px;color:var(--soft);font-size:17.5px}
.cafe{background:var(--olive);color:var(--cream)}
.cafe .wrap{padding-top:96px;padding-bottom:100px}
.cafe a{color:var(--cream);text-decoration-color:var(--lemon)}
.cafe a:hover{color:#fff}
.cafe h2{font-size:clamp(30px,3vw,42px);line-height:1.1;letter-spacing:-.015em;max-width:17em;margin:0 0 20px clamp(0px,16vw,240px)}
.cafe p{font-size:clamp(20px,1.8vw,25px);line-height:1.45;font-style:italic;color:var(--cream);max-width:31em;margin:0 0 0 clamp(0px,16vw,240px)}
.contact{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:80px;padding-top:110px;padding-bottom:140px}
.contact h2{font-size:clamp(42px,4.6vw,68px);line-height:1;letter-spacing:-.02em;margin-bottom:28px}
.contact__intro p{color:var(--soft);max-width:24em}
.form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 28px;align-self:start;padding-top:10px}
.form label{display:grid;gap:6px;font:400 15px/1.3 var(--sans);color:var(--soft)}
.form .opt{color:#6A5A4E}
.f-topic,.f-name,.f-email,.f-phone,.f-date,.f-guests{grid-column:span 2}
.f-event{grid-column:span 6}
.f-msg,.f-full{grid-column:1/-1}
.form input,.form select,.form textarea{font:400 19px/1.4 var(--serif);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--field);border-radius:0;padding:8px 0;width:100%;min-width:0;-webkit-appearance:none;appearance:none}
.form select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23B23A1E' stroke-width='1.5'/%3E%3C/svg%3E") right 4px center no-repeat}
.form textarea{resize:vertical;min-height:120px}
.form ::placeholder{color:#8A7A6A}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-bottom:2px solid var(--rosso)}
.hp{position:absolute;left:-9999px}
.form{position:relative}
.form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.form__status{margin:0;font-size:16px}.is-ok{color:var(--olive)}.is-err{color:#A3261B}
.foot{border-top:1px solid var(--line)}
.foot__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:6px 48px;padding-top:40px;padding-bottom:48px}
.foot__word{font:400 28px/1 var(--serif);color:var(--rosso);text-decoration:none}
.foot p{margin:0;font:400 15px/1.5 var(--sans);color:var(--soft)}
.foot__word{grid-row:1/3}
.foot__inner p{grid-column:2}
.foot .foot__da{font-style:italic;color:var(--olive)}
.foot__inner .foot__small{grid-column:3;grid-row:1}
.foot .foot__privacy{color:var(--rosso);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;cursor:default}
@media (max-width:1000px){
  .cafe p,.cafe h2{margin-left:0}
  .contact{grid-template-columns:1fr;gap:40px}
}
@media (max-width:860px){
  body{font-size:17.5px}
  .head{padding-top:20px;gap:16px}
  .head__word{font-size:28px}
  .head__brand{gap:10px}
  .head__brand img{width:44px;height:44px}
  .head__nav{gap:22px;font-size:15px}
  .hero{padding-top:28px;padding-bottom:72px}
  .hero__art{margin:0 0 0 24px}
  .hero h1{font-size:clamp(40px,11vw,60px)}
  .hero__sub{font-size:26px;margin-top:16px}
  .hero__lede{margin:24px 0 32px}
  .offers{padding-bottom:88px;padding-top:10px}
  .offers__cols{grid-template-columns:1fr;gap:44px;margin-top:52px}
  .menu{grid-template-columns:1fr}
  .menu__tile{min-height:220px;background-size:220px 220px;background-position:center;border-right:0;border-bottom:6px solid var(--rosso)}
  .menu__card{padding:64px var(--gut) 40px}
  .menu__note{margin-bottom:40px}
  .cafe .wrap{padding-top:64px;padding-bottom:68px}
  .contact{padding-top:80px;padding-bottom:88px}
  .form{grid-template-columns:1fr 1fr;gap:26px 20px}
  .f-topic,.f-name,.f-email,.f-phone,.f-event,.f-msg,.f-full{grid-column:1/-1}
  .f-date,.f-guests{grid-column:span 1}
  .foot__inner{grid-template-columns:1fr;gap:10px}
  .foot__word,.foot__inner p,.foot__inner .foot__small{grid-column:1;grid-row:auto}
}
@media (max-width:640px){
  .head{gap:12px}
  .head__brand{gap:8px}
  .head__brand img{width:40px;height:40px}
  .head__word{font-size:24px}
  .head__nav{gap:16px;font-size:15px}
  .head__langs{font-size:13px;gap:10px}
  .head__sep{display:none}
  .head__nav .head__lang{font-size:0}
  .head__nav .head__lang::after{content:attr(data-short);font-size:13px;letter-spacing:.06em}
  .f-date,.f-guests{grid-column:1/-1}
  .hero{grid-template-columns:1fr}
  .hero__art{margin:36px auto 0;max-width:440px}
}
@media (max-width:400px){
  .head{gap:10px}
  .head__nav{gap:12px}
  .head__langs{gap:8px}
}
.nf{padding-top:72px;padding-bottom:140px}
.nf h1{font-size:clamp(40px,5vw,72px);line-height:1.04;letter-spacing:-.02em;max-width:12em}
.nf__lede{font-size:clamp(19px,1.6vw,22px);color:var(--soft);margin:24px 0 36px}
.nf__other{margin-top:48px;color:var(--soft);font-style:italic}
