:root{--cream:#f1ede4;--ink:#171713;--red:#a62b1f;--line:rgba(23,23,19,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.site-header{height:92px;padding:0 3.3vw;position:absolute;z-index:10;top:0;left:0;right:0;color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.35)}.wordmark{font:38px/1 "Italiana",serif;letter-spacing:-1px}.wordmark span{font-size:.56em;font-family:"DM Sans"}.site-header nav{display:flex;gap:34px;font-size:14px}.site-header nav a:hover{opacity:.6}.reserve-link{justify-self:end;font-size:14px;border-bottom:1px solid;padding-bottom:5px}.reserve-link span{margin-left:12px}.menu-button{display:none}.hero{height:100svh;min-height:720px;position:relative;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url("img/fredericoaußen.jpg") center/cover no-repeat;transform:scale(1.035);animation:zoom 12s ease-out forwards;image-rendering:auto}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,9,.64),rgba(15,13,9,.08) 68%),linear-gradient(0deg,rgba(15,13,9,.45),transparent 55%)}.hero-copy{position:absolute;left:8vw;right:6vw;top:22%;bottom:8%;display:flex;flex-direction:column}.eyebrow,.section-index,.label{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:600}.hero h1,.intro h2,.menu-heading h2,.visit h2{font:clamp(58px,7.7vw,130px)/.88 "Italiana",serif;letter-spacing:-.045em;margin:28px 0}.hero h1 em,.intro h2 em,.menu-heading h2 em,.visit h2 em{font-weight:400}.hero-bottom{margin-top:auto;display:flex;align-items:end;justify-content:space-between}.hero-bottom>p{font-size:15px;line-height:1.6;max-width:380px}.circle-link{width:68px;height:68px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;font-size:22px;transition:.3s}.circle-link:hover{background:white;color:var(--ink)}@keyframes zoom{to{transform:scale(1.1)}}
.intro{padding:120px 6vw 140px;display:grid;grid-template-columns:1fr 2.2fr;gap:70px 40px}.section-index{margin:10px 0}.intro-main h2{font-size:clamp(55px,7vw,108px);margin:0}.intro-main>p{max-width:510px;margin:50px 0 0 28%;font-size:18px;line-height:1.65}.image-placeholder{min-height:560px;display:flex;align-items:end;padding:28px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:white;position:relative;overflow:hidden}.image-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent)}.warm{grid-column:1/3;background:linear-gradient(135deg,#c2a279,#74523a)}blockquote{grid-column:2;margin:0 0 0 28%;font:45px/1.15 "Italiana",serif}blockquote small{display:block;font:12px "DM Sans";letter-spacing:.12em;text-transform:uppercase;margin-top:18px}
.menu-section{background:var(--ink);color:var(--cream);padding:120px 6vw}.menu-heading{display:grid;grid-template-columns:1fr 2.2fr;gap:40px}.menu-heading .section-index{grid-row:1/3}.menu-heading h2{font-size:clamp(70px,9vw,145px);margin:0}.menu-heading>p:last-child{max-width:440px;font-size:16px;line-height:1.6;margin:35px 0 70px}.menu-list{margin-left:31%}.menu-list article{display:grid;grid-template-columns:48px 1fr auto;gap:15px;align-items:start;padding:28px 0;border-top:1px solid rgba(241,237,228,.25)}.menu-list article:last-child{border-bottom:1px solid rgba(241,237,228,.25)}.menu-list article>span{font-size:10px;opacity:.5;padding-top:7px}.menu-list h3{font:clamp(24px,2.3vw,38px)/1.15 "Italiana",serif;margin:0}.menu-list p{font-size:13px;opacity:.65;margin:9px 0 0}.menu-list strong{font:20px "Italiana",serif}.menu-note{text-align:right;font-size:10px;letter-spacing:.08em;opacity:.45;margin-top:20px}.gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;min-height:1050px}.gallery .dark{grid-row:1/3;background:linear-gradient(140deg,#75695f,#292622)}.gallery-quote{background:var(--cream);display:grid;place-items:center;padding:60px}.gallery-quote p{font:clamp(38px,4vw,65px)/1 "Italiana",serif;margin:0}.gallery .red{background:var(--red)}
.visit{padding:120px 6vw 60px;display:grid;grid-template-columns:1fr 2.2fr;gap:30px}.visit-title h2{font-size:clamp(60px,8vw,125px);margin:0}.visit-info{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:70px}.visit-info>div{border-top:1px solid var(--line);padding-top:18px}.visit-info p:not(.label){font-size:15px;line-height:1.6;margin-top:22px}.visit-info span{opacity:.45}.booking{grid-column:1/3;margin-top:100px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:30px 0;display:flex;justify-content:space-between;align-items:center;font:clamp(44px,7vw,110px) "Italiana",serif}.booking b{font:40px "DM Sans";transition:.3s}.booking:hover b{transform:translate(8px,-8px)}footer{margin-top:70px;padding:45px 3.3vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;border-top:1px solid var(--line)}footer p{font-size:11px;text-transform:uppercase;letter-spacing:.1em}footer>div{justify-self:end;display:flex;gap:22px;font-size:11px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:72px;display:flex;justify-content:space-between;padding:0 20px}.site-header .wordmark{font-size:29px}.site-header nav,.reserve-link{display:none}.menu-button{display:block;background:none;border:0;width:34px;padding:7px}.menu-button i{display:block;height:1px;background:#fff;margin:7px 0}.site-header.open{position:fixed;background:var(--ink)}.site-header.open nav{display:flex;position:fixed;inset:72px 0 0;background:var(--ink);flex-direction:column;padding:60px 22px;font:46px "Italiana"}.hero{min-height:670px}.hero-copy{left:22px;right:22px;top:19%;bottom:4%}.hero h1{font-size:clamp(51px,15vw,76px);line-height:.94}.hero-bottom>p{max-width:270px;font-size:13px}.circle-link{width:52px;height:52px}.intro,.menu-section,.visit{padding:80px 22px}.intro{display:block}.intro-main h2{font-size:52px;margin-top:40px}.intro-main>p{margin:35px 0 60px;font-size:16px}.image-placeholder{min-height:480px}blockquote{margin:50px 0 0;font-size:35px}.menu-heading{display:block}.menu-heading h2{font-size:64px;margin:40px 0}.menu-heading>p:last-child{margin-bottom:55px}.menu-list{margin:0}.menu-list article{grid-template-columns:30px 1fr auto}.menu-list h3{font-size:23px}.gallery{display:flex;flex-direction:column;min-height:0}.gallery>*{min-height:480px}.gallery-quote{min-height:360px}.visit{display:block}.visit-title h2{font-size:64px;margin-top:40px}.visit-info{display:block;margin-top:70px}.visit-info>div{margin-top:35px}.booking{margin-top:80px}.booking span{font-size:48px}footer{display:block;padding:40px 22px}footer p{margin-top:30px}footer>div{margin-top:25px;flex-wrap:wrap}.wordmark{font-size:33px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Editorial photography */
.hero-photo{background-image:url("img/außen.png")}
.story-image{grid-column:1/3;height:min(76vw,850px);margin:0;position:relative;overflow:hidden}
.story-image img,.food-shot img,.gallery-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.story-image img{object-position:center 60%}
.story-image:hover img,.food-shot:hover img,.gallery-image:hover img{transform:scale(1.025)}
.story-image figcaption,.food-shot figcaption,.gallery-image figcaption{position:absolute;z-index:1;left:22px;bottom:20px;color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:10px;text-shadow:0 1px 10px #000}
.food-story{padding:130px 6vw 150px;display:grid;grid-template-columns:.75fr 1.45fr .7fr;grid-template-rows:auto 1fr;gap:35px;background:#d8b442}
.food-copy{align-self:end;padding-bottom:30px}.food-copy h2{font:clamp(48px,5vw,80px)/.95 "Italiana",serif;margin:30px 0 0}
.food-shot{margin:0;position:relative;overflow:hidden}.food-shot-main{grid-row:1/3;grid-column:2;min-height:760px}.food-shot-small{grid-column:3;min-height:400px;align-self:end}
.food-sidecopy{grid-column:3;align-self:end;font-size:15px;line-height:1.7;max-width:260px;margin:0 0 25px}
.gallery-image{margin:0;position:relative;overflow:hidden}.gallery-image.dark{background:#292622}.gallery-image.red{background:var(--red)}
.gallery-image.dark img{object-position:center}.gallery-image.red img{object-position:center}
@media(max-width:800px){.story-image{height:580px}.story-image img{object-position:54% center}.food-story{padding:80px 22px;display:flex;flex-direction:column}.food-copy{order:0}.food-shot-main{order:1;min-height:560px}.food-shot-small{order:3;min-height:460px}.food-sidecopy{order:2;margin:10px 0 30px}.gallery-image{min-height:480px}}
.hours dl{margin:22px 0 0}.hours dl div{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.hours dt,.hours dd{font-size:13px;line-height:1.45}.hours dd{margin:0}.hours dl div:first-child dd{opacity:.5}
.menu-feature{width:55%;height:680px;margin:0 0 110px 31%;position:relative;overflow:hidden}.menu-feature img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.menu-feature:hover img{transform:scale(1.025)}.menu-feature:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.68))}.menu-feature figcaption{position:absolute;z-index:1;left:28px;right:28px;bottom:25px;display:flex;align-items:end;justify-content:space-between;gap:20px}.menu-feature figcaption span{text-transform:uppercase;letter-spacing:.16em;font-size:10px}.menu-feature figcaption strong{font:23px "Italiana",serif;text-align:right;max-width:390px}@media(max-width:800px){.menu-feature{width:100%;height:520px;margin:0 0 70px}.menu-feature figcaption{align-items:start;flex-direction:column}.menu-feature figcaption strong{text-align:left;font-size:20px}}
.reservation{background:var(--red);color:#fff;padding:100px 6vw 70px}.reservation-top{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:48px}.reservation-top h2{font:clamp(70px,9vw,145px)/.82 "Italiana",serif;letter-spacing:-.05em;margin:35px 0 0}.reservation-top p:last-child{font-size:15px;line-height:1.6;margin:0 0 10px;width:34%}.phone-number{position:relative;display:grid;grid-template-columns:1fr 3fr auto;align-items:start;padding:55px 0 40px;border-bottom:1px solid rgba(255,255,255,.4)}.phone-label{text-transform:uppercase;letter-spacing:.16em;font-size:11px;line-height:1.6;margin-top:13px;font-weight:600}.phone-number strong{font:clamp(90px,13vw,210px)/.72 "Italiana",serif;letter-spacing:-.06em}.phone-arrow{font-size:44px;transition:transform .3s}.phone-number:hover .phone-arrow{transform:translate(8px,-8px)}.reservation-note{text-align:right;text-transform:uppercase;letter-spacing:.14em;font-size:9px;margin:22px 0 0;opacity:.7}
@media(max-width:800px){.reservation{padding:75px 22px 45px}.reservation-top{display:block}.reservation-top h2{font-size:20vw;margin-top:28px}.reservation-top p:last-child{width:auto;margin:40px 0 0}.phone-number{display:flex;flex-direction:column;padding-top:35px}.phone-label{font-size:12px}.phone-number strong{font-size:27vw;line-height:.78;margin-top:34px}.phone-arrow{position:absolute;right:0;top:32px;font-size:30px}.reservation-note{text-align:left;line-height:1.5}}
.closing-line{cursor:default}.closing-line b{font:italic clamp(26px,3vw,48px) "Italiana",serif;color:var(--red);white-space:nowrap}.closing-line:hover b{transform:none}@media(max-width:800px){.closing-line{align-items:end;gap:20px}.closing-line span{font-size:43px}.closing-line b{font-size:26px}}
.chef{display:grid;grid-template-columns:1fr 1fr;min-height:850px;background:#352f29;color:var(--cream)}.chef-photo{overflow:hidden}.chef-photo img{width:100%;height:100%;display:block;object-fit:cover}.chef-copy{padding:110px 7vw;display:flex;flex-direction:column;justify-content:center}.chef-copy h2{font:clamp(58px,7vw,105px)/.88 "Italiana",serif;letter-spacing:-.05em;margin:35px 0 60px}.chef-copy>p:not(.section-index){max-width:520px;font-size:17px;line-height:1.7}.chef-copy .chef-detail{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.3);font-size:11px!important;text-transform:uppercase;letter-spacing:.12em}.reservation-details{display:flex;justify-content:space-between;margin-top:22px;text-transform:uppercase;letter-spacing:.14em;font-size:9px;opacity:.75}
.legal-page{background:var(--cream)}.legal-header{height:92px;padding:0 3.3vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.legal-header>a:last-child{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.legal-page main{padding:100px 8vw 160px}.legal-page h1{font:clamp(75px,11vw,180px)/.85 "Italiana",serif;letter-spacing:-.06em;margin:45px 0 120px}.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:70px}.legal-page h2{font:30px "Italiana",serif;margin:0 0 30px;padding-top:20px;border-top:1px solid var(--line)}.legal-page section p{font-size:15px;line-height:1.75}.legal-page section a{text-decoration:underline;text-underline-offset:4px}.legal-page .muted{opacity:.55}.legal-copy{max-width:900px;margin-left:31%}.legal-copy section{margin-bottom:70px}
@media(max-width:800px){.chef{display:block;min-height:0}.chef-photo{height:540px}.chef-copy{padding:75px 22px}.chef-copy h2{font-size:60px;margin-bottom:40px}.reservation-details{display:block;line-height:1.6}.legal-header{height:72px;padding:0 20px}.legal-header .wordmark{font-size:29px}.legal-page main{padding:75px 22px 100px}.legal-page h1{font-size:22vw;margin:40px 0 80px}.legal-grid{display:block}.legal-grid section{margin-bottom:60px}.legal-copy{margin:0}.legal-page footer{margin-top:0}}
.reviews{padding:120px 0 110px;background:#e4ded2;overflow:hidden}.reviews-heading{padding:0 6vw;display:grid;grid-template-columns:1fr 2.2fr;gap:30px}.reviews-heading h2{font:clamp(55px,7vw,110px)/.9 "Italiana",serif;letter-spacing:-.05em;margin:0}.reviews-heading>p:last-child{grid-column:2;max-width:450px;font-size:15px;line-height:1.7;margin:25px 0 70px}.review-track{display:flex;gap:20px;overflow-x:auto;padding:0 6vw 28px;scroll-snap-type:x mandatory;scrollbar-width:none}.review-track::-webkit-scrollbar{display:none}.review-card{flex:0 0 min(480px,72vw);min-height:400px;background:var(--cream);padding:38px;display:flex;flex-direction:column;scroll-snap-align:start}.stars{color:#c59120;font-size:17px;letter-spacing:.12em}.review-card blockquote{grid-column:auto;margin:50px 0;font:clamp(28px,2.4vw,39px)/1.25 "Italiana",serif}.review-card>p{margin-top:auto;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.review-card>p span{opacity:.45}.swipe-hint{text-align:right;padding:0 6vw;margin:18px 0 0;text-transform:uppercase;letter-spacing:.14em;font-size:9px;opacity:.5}
@media(max-width:800px){.reviews{padding:80px 0}.reviews-heading{display:block;padding:0 22px}.reviews-heading h2{font-size:58px;margin-top:35px}.reviews-heading>p:last-child{margin:35px 0 55px}.review-track{padding-left:22px;padding-right:22px}.review-card{flex-basis:84vw;min-height:390px;padding:28px}.review-card blockquote{font-size:29px}.swipe-hint{padding:0 22px}}
.swipe-hint{display:none}@media(max-width:800px){.swipe-hint{display:block}}

/* Mobile layout corrections */
.menu-list article>div{min-width:0}.menu-list h3,.legal-page a{overflow-wrap:anywhere}
@media(max-width:800px){
  .food-shot-main{height:560px;min-height:0}
  .food-shot-small{width:100%;height:460px;min-height:0;align-self:stretch}
  .food-shot img{position:absolute;inset:0}
  .gallery-image{height:520px;min-height:0!important;flex:none}
  .gallery-image img{position:absolute;inset:0}
  .gallery-quote{height:360px;min-height:0!important;flex:none}
  .menu-list article{grid-template-columns:24px minmax(0,1fr) auto;gap:10px}
  .menu-list strong{font-size:18px}
  .phone-number strong{font-size:clamp(82px,26vw,118px)}
}
@media(max-width:380px){
  .hero h1{font-size:47px}
  .intro-main h2,.menu-heading h2,.visit-title h2{font-size:48px}
  .menu-list article>span{display:none}
  .menu-list article{grid-template-columns:minmax(0,1fr) auto}
  .closing-line{display:block}.closing-line b{display:block;margin-top:20px}
}

/* Expressive mobile navigation */
.site-header nav a>span,.mobile-nav-reserve,.mobile-nav-footer{display:none}
@media(max-width:800px){
  body.menu-open{overflow:hidden}
  .site-header{transition:background .35s ease}
  .site-header .wordmark,.menu-button{position:relative;z-index:3}
  .menu-button{height:40px;cursor:pointer}
  .menu-button i{position:absolute;left:7px;right:7px;top:14px;margin:0;transition:transform .35s cubic-bezier(.6,0,.2,1),top .35s,background .35s}
  .menu-button i:last-child{top:24px}
  .site-header.open .menu-button i:first-child{top:19px;transform:rotate(45deg)}
  .site-header.open .menu-button i:last-child{top:19px;transform:rotate(-45deg)}
  .site-header nav,.site-header.open nav{display:flex;position:fixed;z-index:2;inset:0;background:var(--ink);padding:125px 22px 28px;flex-direction:column;gap:0;font-family:"Italiana",serif;overflow:hidden;visibility:hidden;opacity:0;transform:translateY(-18px);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1),visibility .35s}
  .site-header nav:before{content:"Buona\A sera.";white-space:pre;position:absolute;right:-18px;bottom:70px;color:rgba(255,255,255,.035);font:140px/.72 "Italiana",serif;letter-spacing:-.07em;pointer-events:none}
  .site-header.open nav{visibility:visible;opacity:1;transform:none}
  .site-header nav>a{position:relative;display:flex;align-items:baseline;gap:18px;width:100%;padding:10px 0;color:var(--cream);font-size:clamp(40px,12vw,58px);line-height:1;border-bottom:1px solid rgba(255,255,255,.11);opacity:0;transform:translateX(-18px);transition:opacity .35s,transform .45s}
  .site-header.open nav>a{opacity:1;transform:none}
  .site-header.open nav>a:nth-child(1){transition-delay:.08s}.site-header.open nav>a:nth-child(2){transition-delay:.12s}.site-header.open nav>a:nth-child(3){transition-delay:.16s}.site-header.open nav>a:nth-child(4){transition-delay:.20s}.site-header.open nav>a:nth-child(5){transition-delay:.24s}
  .site-header nav a>span{display:inline-block;min-width:20px;font:9px "DM Sans",sans-serif;letter-spacing:.12em;opacity:.45}
  .site-header nav .mobile-nav-reserve{display:flex;color:#fff;background:var(--red);margin-top:18px;padding:15px 16px;border:0;align-items:center}
  .mobile-nav-reserve b{font:25px "DM Sans",sans-serif;margin-left:auto}
  .site-header nav .mobile-nav-footer{display:flex;margin-top:auto;align-items:end;justify-content:space-between;position:relative;z-index:1}
  .mobile-nav-footer>a{font:20px "Italiana",serif;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:3px}
  .mobile-nav-footer small{font:9px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.12em;opacity:.5;text-align:right}
}
@media(max-width:380px){.site-header nav,.site-header.open nav{padding-top:95px}.site-header nav>a{font-size:38px;padding:7px 0}.site-header nav .mobile-nav-reserve{padding:11px 14px}.mobile-nav-footer>a{font-size:17px}}
.icon{display:inline-block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em}.circle-link .icon{width:22px;height:22px}.reserve-link .icon{width:15px;height:15px}.phone-arrow .icon{display:block;width:1em;height:1em}.swipe-hint .icon{width:13px;height:13px;margin-left:5px}.legal-header>a:last-child{display:flex;align-items:center;gap:8px}.legal-header .icon{width:14px;height:14px}
