@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');

:root{--paper:#fffdf8;--ink:#28261f;--muted:#6a675f;--orange:#f5522b;--orange-ink:#be3719;--rule:#ddd7cc;--peach:#f8e9d9;--serif:'Instrument Serif',Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:2rem}
*{box-sizing:border-box}body{margin:0;font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--orange-ink);outline-offset:6px}a:hover{color:var(--orange-ink)}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}em{font-weight:400}::selection{background:#f5522b;color:var(--paper)}.skip-link{position:absolute;top:-6rem;left:1rem;padding:.6rem 1rem;background:var(--ink);color:white;z-index:20}.skip-link:focus{top:1rem}.site-header{margin:0 auto;padding:1.8rem 0;max-width:1280px;width:calc(100% - 112px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.wordmark{font-family:var(--serif);font-size:2.8rem;letter-spacing:-.04em;line-height:1;color:var(--orange-ink)}.wordmark span{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;text-align:center;margin-top:.5rem}.site-header nav{display:flex;gap:2.3rem;align-items:center;font-size:.9375rem}.nav-instagram span{margin-left:.35rem}.hero{max-width:1392px;margin:auto;padding:5.3rem 56px 0;display:grid;grid-template-columns:1fr 1fr;column-gap:3rem}.hero-copy{max-width:590px}.eyebrow{font-size:.8125rem;letter-spacing:.16em;font-weight:600;line-height:1.5;color:var(--orange-ink)}h1{font:400 clamp(4rem,6.8vw,6.5rem)/.99 var(--serif);letter-spacing:-.025em;margin-top:1.3rem}h1 em{color:var(--orange-ink)}.hero-description{max-width:385px;color:var(--muted);margin-top:1.8rem;font-size:1.0625rem;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:1.8rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.2rem;padding:.95rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.4;min-height:48px;border:1px solid transparent;transition:background .2s,color .2s,transform .2s}.button-primary{background:var(--orange);color:#231b15}.button-primary:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.text-link{font-size:.9375rem;border-bottom:1px solid currentColor;padding-bottom:.15rem;line-height:1.5;display:inline-flex;align-items:center;gap:1rem;min-height:30px}.hero-identity{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:1rem 0 2rem}.logo-frame{position:relative;width:100%;max-width:540px;aspect-ratio:3853/2047;overflow:hidden}.logo-frame img{position:absolute;width:128.757%;max-width:none;height:auto;left:-14.4303%;top:-35.4177%}.identity-caption{margin-top:2.8rem;letter-spacing:.2em;font-size:.75rem;color:var(--muted);text-align:center}.identity-caption span{padding:0 1rem;color:var(--orange-ink)}.hero-bottom{grid-column:1/-1;display:flex;justify-content:flex-end;gap:2rem;margin-top:5.3rem;padding:1.3rem 0;border-top:1px solid var(--rule);font-size:.875rem;color:var(--muted)}.hero-bottom a{color:var(--ink);white-space:nowrap}.hero-bottom a span{margin-left:1rem}.section-wrap{padding:5.5rem max(56px,calc((100vw - 1280px)/2))}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem}h2{font:400 clamp(3.2rem,4.5vw,4.6rem)/1.05 var(--serif);letter-spacing:-.025em;margin-top:.9rem}.count{font:400 .9rem var(--sans);vertical-align:top;display:inline-block;margin:.75rem 0 0 .9rem;color:var(--orange-ink)}.pdf-link{margin-bottom:.35rem}.menu-section{background:#fff;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.pasta-menu{display:grid;grid-template-columns:1fr 1fr;column-gap:5rem}.pasta-item{display:grid;grid-template-columns:2rem 1fr;gap:.7rem;border-top:1px solid var(--rule);padding:1.35rem 0 1.45rem;break-inside:avoid}.pasta-item:nth-child(1),.pasta-item:nth-child(2){border-top:0}.pasta-number{font-size:.8125rem;color:var(--orange-ink);padding-top:.48rem}.pasta-item h3{font:400 1.9rem/1.18 var(--serif);letter-spacing:-.015em}.pasta-item p{font-size:1rem;line-height:1.65;color:var(--muted);margin-top:.5rem;max-width:440px}.menu-notes{border-top:1px solid var(--ink);margin-top:2rem;padding-top:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;color:var(--muted);font-size:.875rem}.extras h3{font:400 1.4rem var(--serif);color:var(--ink);margin-bottom:.4rem}.extras p{line-height:1.85}.dessert-section{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;background:var(--peach)}.dessert-copy h2{font-size:clamp(4rem,6.5vw,6rem);margin-bottom:1.5rem}.dessert-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.85}.small-note{display:block;margin-top:1.4rem;color:var(--muted);font-size:.875rem}.drink-menu{padding-top:.1rem}.drink-menu h3{font:400 2.25rem var(--serif);margin-bottom:1.5rem}.drink-menu ul{list-style:none;margin:0;padding:0}.drink-menu li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid #d7c8b7;font-size:1rem}.drink-menu li span:last-child{font-size:.8125rem;color:var(--muted);white-space:nowrap;padding-top:.15rem}.visit-section{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;padding-top:6rem;padding-bottom:6rem}.visit-section h2{font-size:clamp(4rem,5.8vw,5.5rem)}.visit-section em{color:var(--orange-ink)}.visit-details{padding-top:1.7rem;display:flex;flex-direction:column;align-items:flex-start}.visit-name{font-weight:600;margin-bottom:.5rem}.visit-details>p:not(.visit-name){color:var(--muted);line-height:1.9}.visit-details .button{margin-top:1.5rem}.instagram-link{margin-top:1.4rem}footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem max(56px,calc((100vw - 1280px)/2));background:var(--ink);color:var(--paper)}.footer-brand{font:400 2.4rem var(--serif);letter-spacing:-.04em;color:var(--orange)}footer p,footer>a:last-child{font-size:.8125rem}footer p{color:#c9c3b8}footer a:hover{color:var(--orange)}footer>a:last-child span{margin-left:.8rem}.noscript-note{padding:2rem;text-align:center}.noscript-note a{text-decoration:underline}
@media(min-width:1500px){.hero{padding-top:6rem;padding-bottom:0}.hero-identity{padding-left:1rem}.hero-bottom{margin-top:6rem}}
@media(max-width:1000px){.site-header{width:calc(100% - 64px)}.hero{padding:4.2rem 32px 0;gap:2rem}h1{font-size:clamp(3.8rem,7.2vw,5rem)}.section-wrap{padding:4.5rem 32px}.hero-actions{gap:1.15rem}.button{gap:1.3rem}.pasta-menu{gap:0 2.5rem}.menu-notes{gap:2.5rem}.dessert-section,.visit-section{gap:3rem}.identity-caption{letter-spacing:.1em;font-size:.75rem}.identity-caption span{padding:0 .5rem}footer{padding:2rem 32px}}
@media(max-width:700px){.site-header{width:calc(100% - 40px);padding:1.3rem 0}.wordmark{font-size:2.25rem}.wordmark span{font-size:.75rem;letter-spacing:.2em}.site-header nav{gap:1.25rem;font-size:.875rem}.nav-instagram{display:none}.hero{padding:3.2rem 24px 0;grid-template-columns:1fr;gap:0}.eyebrow{font-size:.75rem;letter-spacing:.14em}h1{font-size:clamp(4.2rem,13vw,6rem);line-height:1.01;margin-top:1.1rem}.hero-description{font-size:1rem;max-width:340px;margin-top:1.4rem}.hero-actions{gap:1.45rem;margin-top:1.6rem;flex-wrap:wrap}.hero-identity{padding:3.5rem 12% 2.5rem}.logo-frame{max-width:340px}.identity-caption{margin-top:1.7rem;font-size:.75rem;letter-spacing:.12em}.hero-bottom{display:none;margin-top:0;padding:1rem 0;font-size:.8125rem}.hero-bottom>span{max-width:245px}.hero-bottom>a{display:none}.section-wrap{padding:3.75rem 24px}.section-heading{gap:1rem;margin-bottom:2rem}.section-heading h2{font-size:3.3rem}.count{margin:.5rem 0 0 .55rem}.pdf-link{font-size:.8125rem;gap:.5rem;white-space:nowrap}.pasta-menu{grid-template-columns:1fr}.pasta-item{padding:1.2rem 0;grid-template-columns:1.7rem 1fr;gap:.55rem}.pasta-item:nth-child(2){border-top:1px solid var(--rule)}.pasta-item h3{font-size:1.8rem}.pasta-item p{font-size:1rem}.menu-notes{grid-template-columns:1fr;gap:1.4rem;margin-top:1.5rem}.menu-notes>p{line-height:1.9}.extras p{line-height:1.9}.dessert-section{grid-template-columns:1fr;gap:3rem}.dessert-copy h2{font-size:4.8rem}.drink-menu h3{font-size:2.2rem}.drink-menu li{padding:.7rem 0}.visit-section{grid-template-columns:1fr;gap:1.75rem}.visit-section h2{font-size:4rem}.visit-details{padding-top:0}.visit-details .button{min-width:190px}footer{padding:2rem 24px;flex-wrap:wrap;gap:1rem}.footer-brand{font-size:2.5rem}footer p{width:100%;order:3}footer>a:last-child{margin-left:auto}.button{min-height:48px}}
.dessert-section{grid-template-columns:1fr .9fr 1.05fr;gap:3rem;align-items:center}.dessert-art img{width:100%;height:auto}.dessert-copy h2{font-size:clamp(3.6rem,5.6vw,5.2rem)}.dessert-copy>p:not(.eyebrow){font-size:1rem}.drink-menu h3{font-size:2rem}.visit-details .hours{margin-top:.75rem;font-size:.9375rem}.phone-link{display:inline-block;margin-top:.5rem;border-bottom:1px solid var(--rule)}
@media(max-width:1000px){.dessert-section{grid-template-columns:1fr 1fr;gap:2rem}.dessert-art{grid-column:2;grid-row:1}.drink-menu{grid-column:1/-1;padding-top:1.2rem}.drink-menu ul{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}}
@media(max-width:700px){.dessert-section{grid-template-columns:1fr;gap:1.5rem}.dessert-art{grid-column:1;grid-row:auto;width:min(100%,280px);margin:0 auto}.dessert-copy h2{font-size:4.8rem}.drink-menu{grid-column:1;padding-top:1rem}.drink-menu ul{display:block}.drink-menu h3{font-size:2.2rem}}
.site-header{flex-wrap:wrap;gap:1.2rem}.site-header nav a{display:inline-flex;align-items:center;min-height:44px}.pasta-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.pasta-item h3{overflow-wrap:anywhere}
@media(max-width:700px){.section-heading{flex-wrap:wrap}.pasta-menu{grid-template-columns:minmax(0,1fr)}.site-header nav .nav-instagram{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Complete supplied logo, with only exterior transparent padding clipped. */
.header-logo{display:block;position:relative;flex:0 0 auto;width:200px;aspect-ratio:3869/2063;overflow:hidden;line-height:0}
.header-logo img{position:absolute;width:128.22434738%;max-width:none;height:auto;left:-14.16386663%;top:-34.75521086%}
.hero{grid-template-columns:minmax(0,1fr)}footer{justify-content:flex-end}
@media(max-width:700px){.header-logo{width:160px}.hero{padding-bottom:3.2rem}}

/* Owner photographs: preserve the original colors and compose in layout. */
.photo-frame{min-width:0;overflow:hidden;background:var(--peach)}
.photo-frame img{width:100%;height:100%;object-fit:cover}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:0 clamp(2rem,4vw,4rem);align-items:center;padding-top:3.75rem}
.hero-copy{min-width:0}
.hero h1{font-size:clamp(3.5rem,6.2vw,5.7rem);margin-top:0}
.hero-actions{flex-wrap:wrap}
.hero-photo{aspect-ratio:6/5}
.hero-photo img{object-position:50% 50%}
.hero-bottom{margin-top:3.75rem}
.menu-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,30%);align-items:end;gap:3rem;margin-bottom:2.5rem}
.menu-intro .section-heading{margin-bottom:0;flex-wrap:wrap}
.menu-photo{aspect-ratio:3/2}
.menu-photo img{object-position:60% 45%}
.dessert-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2rem,3vw,3rem)}
.dessert-photo{aspect-ratio:4/3}
.dessert-photo img{object-position:30% 50%}
.visit-section{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,5vw,5rem)}
.visit-photo{aspect-ratio:6/5}
.visit-photo img{object-position:50% 50%}
.visit-copy h2{margin-top:0;font-size:clamp(3.5rem,5.2vw,5rem)}

@media(max-width:1000px){
  .dessert-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
  .dessert-photo{grid-column:2;grid-row:1}
  .menu-intro{gap:2rem}
}
@media(max-width:900px){
  .hero{grid-template-columns:minmax(0,1fr);padding-top:3.2rem}
  .hero h1{font-size:clamp(3.6rem,10vw,5.7rem)}
  .hero-photo{aspect-ratio:3/2;margin-top:2.5rem}
  .hero-bottom{margin-top:2.5rem}
  .visit-section{grid-template-columns:minmax(0,1fr);gap:2.5rem}
  .visit-photo{aspect-ratio:3/2}
  .visit-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
  .visit-details{padding-top:0}
}
@media(max-width:700px){
  .hero h1{font-size:clamp(3.45rem,12vw,5.2rem)}
  .hero-photo{margin-top:2.25rem}
  .menu-intro{grid-template-columns:minmax(0,1fr);gap:1.75rem;margin-bottom:1.25rem}
  .menu-photo{aspect-ratio:5/2}
  .menu-photo img{object-position:60% 38%}
  .dessert-section{grid-template-columns:minmax(0,1fr);gap:1.75rem}
  .dessert-photo{grid-column:1;grid-row:auto;aspect-ratio:3/2}
  .visit-copy{grid-template-columns:minmax(0,1fr);gap:1.75rem}
}

/* Understated outline Instagram icon beside the account links. */
.instagram-icon{display:block;width:1.25rem;height:1.25rem;flex-shrink:0}
.nav-instagram,.instagram-link{gap:.6rem}

/* Exterior and interior photographs beside the location details. */
.visit-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0}
.visit-gallery .photo-frame{aspect-ratio:6/5}
.visit-interior-photo img{object-position:60% 50%}
@media(min-width:901px){.visit-section{grid-template-columns:minmax(0,1.8fr) minmax(240px,.8fr)}}
@media(max-width:600px){.visit-gallery{grid-template-columns:minmax(0,1fr);gap:1rem}.visit-gallery .photo-frame{aspect-ratio:3/2}}
