@font-face{font-family:Playfair;src:url('/vibecloner_da-maria-webflow-ecommerce-website-templ/mirror/cdn.prod.website-files.com/68e51a287f8e1edda7688321/68e51a287f8e1edda7688513_PlayfairDisplay-VariableFont_wght.ttf') format('truetype');font-style:normal;font-display:swap}
@font-face{font-family:Playfair;src:url('/vibecloner_da-maria-webflow-ecommerce-website-templ/mirror/cdn.prod.website-files.com/68e51a287f8e1edda7688321/68e51a287f8e1edda7688514_PlayfairDisplay-Italic-VariableFont_wght.ttf') format('truetype');font-style:italic;font-display:swap}
@font-face{font-family:Bitter;src:url('/vibecloner_da-maria-webflow-ecommerce-website-templ/mirror/cdn.prod.website-files.com/68e51a287f8e1edda7688321/68e51a287f8e1edda7688515_Bitter-VariableFont_wght.ttf') format('truetype');font-style:normal;font-display:swap}

:root{--paper:#f9f8f2;--ink:#3c3c3c;--red:#da4143;--pink:#e7a9a8;--black:#171717;--line:1px solid var(--red);font-family:Bitter,Georgia,serif;color:var(--ink);background:#e9e6dc}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background-color:#e9e6dc;background-image:url('/vibecloner_da-maria-webflow-ecommerce-website-templ/mirror/cdn.prod.website-files.com/68e51a287f8e1edda7688321/68e51a287f8e1edda768850f_Paper%20StructureNew2.webp');background-size:480px;font-size:18px;line-height:1.55}
button,input{font:inherit}
button,a{color:inherit}
a{text-decoration-thickness:1px;text-underline-offset:.2em}
img{display:block;max-width:100%}
.skip-link{position:fixed;z-index:100;left:1rem;top:1rem;transform:translateY(-180%);background:var(--black);color:white;padding:.7rem 1rem}.skip-link:focus{transform:none}
.site-shell{position:relative;width:min(96vw,1940px);margin:2rem auto;background:var(--paper);background-image:url('/vibecloner_da-maria-webflow-ecommerce-website-templ/mirror/cdn.prod.website-files.com/68e51a287f8e1edda7688321/68e51a287f8e1edda76883f2_Noise.webp');box-shadow:0 5px 25px rgba(0,0,0,.22);padding:0 4rem 4rem;border:2px solid var(--red);outline:1.8rem solid var(--paper)}
.site-header{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;border-bottom:var(--line);min-height:9.5rem}
.brand{justify-self:center;display:grid;text-align:center;color:var(--red);text-decoration:none;border:3px solid var(--red);border-top:0;padding:.8rem 2.3rem 1rem;background:var(--paper);font-family:Playfair,serif;line-height:1}
.brand strong{font-size:2.5rem;letter-spacing:.02em}.brand em{font-size:1.25rem;margin-top:.4rem;font-weight:700}
.menu-button,.reserve-button{border:0;background:var(--red);color:white;font-family:Playfair,serif;font-style:italic;font-weight:700;text-transform:uppercase;cursor:pointer}
.menu-button{justify-self:start;width:6.4rem;height:6.4rem;border-radius:50%;margin-top:-.9rem;display:grid;place-items:center;line-height:1;position:relative}
.menu-button small{position:absolute;right:-.7rem;bottom:-.7rem;width:2.7rem;height:2.7rem;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--red);border:2px solid var(--red);font-style:normal}
.reserve-button{justify-self:end;margin-top:1rem;border:2px solid var(--red);border-radius:50%;padding:.75rem 2.3rem;background:transparent;color:var(--red);transform:rotate(5deg);font-size:1.2rem}
.hero{padding-top:2.3rem}.hero-title{overflow:hidden;display:flex;align-items:center;gap:2rem;border-bottom:var(--line);white-space:nowrap;color:var(--red);font-family:Playfair,serif;font-size:clamp(6rem,15vw,18rem);font-weight:600;letter-spacing:-.06em;line-height:.9}.hero-title b{font-size:3rem;background:var(--red);color:white;padding:.2rem .7rem;border-radius:.2rem}.award{text-align:right;color:var(--red);font-family:Playfair,serif;font-style:italic;margin:.35rem 0 .7rem}
.hero-figure{margin:0;position:relative}.hero-figure img{width:100%;height:min(66vw,900px);object-fit:cover}.hero-figure figcaption{position:absolute;left:3rem;bottom:3rem;max-width:39rem;background:var(--black);color:white;padding:1.25rem 1.5rem;font-size:1.35rem}
.ruled-section{border-top:var(--line);margin-top:4.5rem;padding-top:3rem}.menu-section{display:grid;grid-template-columns:1.7fr 1fr}.menu-story{padding-right:4rem;border-right:var(--line)}
h2{font-family:Playfair,serif;color:var(--red);font-size:clamp(5rem,12vw,12rem);font-weight:500;line-height:.85;letter-spacing:-.045em;margin:0 0 3rem}h3,h4{font-family:Playfair,serif}.menu-illustration{width:min(100%,820px);margin:auto}.dropcap{max-width:70ch}.dropcap:first-letter{float:left;background:var(--black);color:white;font-family:Playfair,serif;font-size:4.4rem;line-height:.82;padding:.3rem .6rem;margin:.1rem .5rem 0 0}
.outline-link,.booking-form button{display:inline-flex;justify-content:center;border:1px solid var(--pink);outline:1px solid var(--pink);outline-offset:4px;color:var(--red);font-family:Playfair,serif;font-style:italic;font-weight:700;text-decoration:none;text-transform:uppercase;padding:.6rem 1.8rem;margin:1.5rem .4rem;cursor:pointer;background:transparent}
.booking-card{padding-left:3rem;text-align:center}.red-title-card{background:var(--red);color:white;padding:2rem}.red-title-card em{display:block;border-bottom:1px solid rgba(255,255,255,.8);text-align:left;font-family:Playfair,serif;font-weight:700;text-transform:uppercase}.red-title-card strong{display:block;font-family:Playfair,serif;font-size:clamp(4rem,8vw,8rem);line-height:.9;margin-top:1rem}.booking-card>img{width:min(76%,500px);margin:3rem auto}.phone{display:block;color:var(--red);font-family:Playfair,serif;font-style:italic;font-size:2rem;font-weight:700;margin-bottom:2rem}.booking-card dl{display:grid;gap:1.5rem}.booking-card dt,.footer strong{font-weight:800;text-transform:uppercase}.booking-card dd{margin:.3rem 0}.booking-card dd a{text-decoration:none}
.about{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.about-copy{display:flex;flex-direction:column}.about-copy .red-title-card strong{font-size:clamp(5rem,9vw,10rem);text-align:left}.about-copy .outline-link{align-self:flex-end}.about-image{width:100%;height:100%;min-height:52rem;object-fit:cover;border:var(--line)}
.bellini{display:grid;grid-template-columns:1.15fr .85fr .8fr}.bellini-feature{padding-right:3rem}.bellini-feature img{width:100%;max-height:57rem;object-fit:cover;border:var(--line)}.bellini-note{border-left:var(--line);border-right:var(--line);padding:12rem 2rem 2rem;text-align:center}.bellini-note img{width:90%;max-height:42rem;object-fit:contain;margin:0 auto 3rem}.bellini-note p{margin:3rem 0}.weekly-special{text-align:center;padding:2rem}.weekly-special>h3,.cooks-note>h3{color:var(--red);font-size:4rem;font-style:italic;line-height:1.05}.weekly-special article{border-top:var(--line);padding:3rem 0}.weekly-special article img{width:min(100%,300px);margin:1.5rem auto}.weekly-special article p{max-width:34ch;margin:auto}
.shop{display:grid;grid-template-columns:1fr 1fr .72fr}.shop-heading{grid-column:1/3;display:grid;grid-template-columns:1fr 18rem;align-items:end;padding-right:3rem}.shop-heading p{margin-bottom:4rem}.products{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding-right:3rem}.product img{width:100%;aspect-ratio:1;object-fit:contain}.product h3{color:var(--red);font-family:Bitter,serif;margin:.5rem 0 0}.product p{margin:0}.cooks-note{grid-column:3;grid-row:1/3;border-left:var(--line);padding-left:3rem;text-align:center}.cooks-note blockquote{margin:0;background:var(--red);color:white;padding:4rem 2rem;font-size:1.25rem}.cooks-note blockquote strong,.cooks-note blockquote em{font-family:Playfair,serif;font-size:2.2rem;font-style:italic}.cooks-note img{width:100%;border:var(--line)}
.reservation h2{white-space:nowrap}.reservation-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8vw}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.booking-form label{color:var(--red);font-family:Playfair,serif;font-style:italic;font-weight:700;text-transform:uppercase}.booking-form input{width:100%;margin-top:-.15rem;border:0;background:rgba(202,191,181,.15);padding:1.25rem;color:var(--ink);border-bottom:1px solid transparent}.booking-form input:focus{outline:0;border-color:var(--red)}.booking-form button{margin:1.5rem .4rem .4rem}.form-status{grid-column:1/-1;min-height:1.5em;color:var(--red)}
footer{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;border:3px double var(--red);padding:4rem;margin-top:7rem}footer div{display:flex;flex-direction:column;align-items:flex-start}footer strong{font-family:Playfair,serif;font-style:italic}footer a{text-decoration:none}
.overlay{position:fixed;z-index:50;inset:0;background:var(--red);color:white;display:grid;place-items:center}.overlay[hidden]{display:none}.overlay nav{display:flex;flex-direction:column;text-align:center}.overlay nav a{font-family:Playfair,serif;font-size:clamp(3rem,8vw,7rem);line-height:1.05;text-decoration:none}.overlay nav a:hover{text-decoration:underline}.close-button{position:absolute;right:2rem;top:1.5rem;border:0;background:transparent;color:currentColor;font-size:3rem;cursor:pointer}
.reserve-dialog{position:fixed;max-width:40rem;border:2px solid var(--red);background:var(--paper);color:var(--red);padding:4rem;text-align:center}.reserve-dialog::backdrop{background:rgba(0,0,0,.72)}.reserve-dialog h2{font-size:4.5rem;margin:0}.reserve-dialog .close-button{font-size:2rem}.reserve-dialog a{color:inherit}
:focus-visible{outline:3px solid #1b66c9;outline-offset:4px}

@media(max-width:900px){body{font-size:16px}.site-shell{width:100%;margin:0;padding:0 1.25rem 2rem;outline:0;border-width:1px}.site-header{min-height:7rem}.brand{padding:.7rem 1rem}.brand strong{font-size:1.45rem}.brand em{font-size:.9rem}.menu-button{width:4.5rem;height:4.5rem}.reserve-button{padding:.55rem 1rem;font-size:.9rem}.hero-title{font-size:clamp(4.5rem,20vw,8rem)}.hero-figure img{height:68vh}.hero-figure figcaption{position:relative;left:auto;bottom:auto;max-width:none;font-size:1rem}.menu-section,.about,.bellini,.shop,.reservation-grid{grid-template-columns:1fr}.menu-story{padding-right:0;border-right:0}.booking-card{padding:3rem 0 0;border-top:var(--line);margin-top:3rem}.about-image{min-height:36rem}.bellini-feature{padding-right:0}.bellini-note,.weekly-special{border:0;border-top:var(--line);padding:3rem 0}.bellini-note img{max-height:30rem}.shop-heading{grid-column:1;display:block;padding:0}.products{grid-column:1;grid-template-columns:repeat(3,1fr);padding:0}.cooks-note{grid-column:1;grid-row:auto;border-left:0;border-top:var(--line);padding:2rem 0 0}.reservation h2{white-space:normal}footer{margin-top:4rem;padding:2rem;grid-template-columns:1fr}}
@media(max-width:600px){.reserve-button{font-size:0;width:4.5rem;height:2.4rem}.reserve-button::after{content:'Reserve';font-size:.78rem}.hero{padding-top:1rem}.hero-figure img{height:55vh}.hero-figure figcaption{padding:1rem}.ruled-section{margin-top:3rem;padding-top:2rem}h2{font-size:4.7rem;margin-bottom:2rem}.red-title-card strong,.about-copy .red-title-card strong{font-size:4.2rem}.products{grid-template-columns:1fr}.shop-heading h2{font-size:4rem}.booking-form{grid-template-columns:1fr}.booking-form .form-status{grid-column:1}.reserve-dialog{width:calc(100% - 2rem);padding:3rem 1.5rem}.reserve-dialog h2{font-size:3.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
