:root{--ink:#11100e;--panel:#171613;--paper:#f1eee7;--muted:#a49d91;--gold:#c5a56a;--line:rgba(241,238,231,.16);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font:15px/1.7 var(--sans)}a{color:inherit;text-decoration:none}.announcement{height:34px;display:flex;align-items:center;justify-content:center;gap:15px;background:var(--gold);color:#17140f;font-size:9px;letter-spacing:.16em;font-weight:700}.announcement b{font-size:10px}header{height:88px;padding:0 7%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:4;background:var(--ink)}.brand{display:flex;align-items:center;gap:11px;min-width:210px;font-size:10px;font-weight:700;letter-spacing:.15em;line-height:1.35}.brand img{height:67px;width:55px;object-fit:contain}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.2em;margin-top:4px}nav{display:flex;gap:28px}nav a{font-size:11px;color:#d7d2c9}.button{min-height:50px;padding:0 24px;border:1px solid var(--gold);color:var(--ink);background:var(--gold);display:inline-flex;align-items:center;justify-content:center;gap:20px;text-transform:uppercase;font-size:9px;letter-spacing:.14em;font-weight:700;transition:.2s}.button:hover{background:transparent;color:var(--gold)}.button.small{min-height:39px;padding:0 17px;font-size:8px}.nav-toggle{display:none}.hero{height:min(690px,76vw);min-height:570px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-bg,.hero-shade{position:absolute;inset:0}.hero-bg{background:url('assets/pizza-forno.jpg') center 53%/cover no-repeat;transform:scale(1.02)}.hero-shade{background:linear-gradient(90deg,rgba(13,12,10,.91),rgba(13,12,10,.67) 40%,rgba(13,12,10,.12)),linear-gradient(0deg,rgba(13,12,10,.45),transparent 30%)}.hero-copy{position:relative;margin-left:12.4%;max-width:620px}.eyebrow{font-size:9px;letter-spacing:.2em;font-weight:700;color:var(--gold)}h1,h2{font:500 clamp(40px,5vw,62px)/1.12 var(--serif);letter-spacing:-.035em;margin:0}h1{font-size:clamp(50px,6.6vw,88px);margin:23px 0 20px}h1 em,h2 em{color:var(--gold);font-weight:500}.hero-copy>p:not(.eyebrow){max-width:430px;color:#d2cec7;font-size:14px}.actions{display:flex;gap:28px;align-items:center;margin-top:32px}.text-link,.underlined{font-size:9px;letter-spacing:.12em;text-transform:uppercase}.hero-caption{position:absolute;left:7%;bottom:34px;font-size:8px;letter-spacing:.2em}.hero-caption span{display:inline-block;width:40px;height:1px;background:var(--gold);margin:0 12px 3px}.section{padding:96px 12.4%}.story{background:var(--panel)}.story-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:10%;align-items:end;margin:35px 0 0}.story-grid>div{color:#b7b2a9;font-size:13px}.family{height:clamp(250px,38vw,410px);position:relative;margin:50px 0 0;overflow:hidden}.family img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.85)}figure figcaption{position:absolute;left:18px;bottom:13px;font-size:8px;letter-spacing:.17em;text-shadow:0 1px 8px #000}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--line);margin-top:45px;padding-top:22px}.values div{display:grid;grid-template-columns:28px 1fr;align-items:center}.values b{grid-row:span 2;color:var(--gold);font-size:9px}.values strong{font-size:12px;font-weight:500}.values small{font-size:10px;color:var(--muted)}.menu{display:grid;grid-template-columns:1fr 1fr;min-height:590px}.menu-photo{background:url('assets/pizza-cartone.jpg') center/cover}.menu-copy{align-self:center;padding:70px 12%}.menu-copy .eyebrow{margin-bottom:24px}.menu-copy h2{font-size:clamp(42px,5vw,62px)}.menu-copy>p:not(.eyebrow){color:#b7b2a9;font-size:13px;margin:20px 0}.categories{border-block:1px solid var(--line);padding:17px 0;margin:24px 0;font-size:8px;letter-spacing:.12em;color:#c9c4bb}.gallery{background:var(--panel)}.gallery-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:32px 0}.gallery-head p{max-width:270px;color:#aaa49a;font-size:12px}.photos{display:grid;grid-template-columns:1.34fr 1fr 1fr;gap:14px}.photos figure{margin:0;position:relative;overflow:hidden;height:220px}.photos img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .35s}.photos figure:hover img{transform:scale(1.03)}.photos .photo-large{height:454px}.reviews{text-align:center;background:var(--ink);padding-top:80px;padding-bottom:88px}.reviews h2{font-size:clamp(42px,5vw,60px)}.reviews>p:not(.eyebrow){max-width:470px;margin:20px auto;color:#aaa49a;font-size:12px}.underlined{display:inline-block;border-bottom:1px solid var(--gold);padding:8px 0}.contact{background:var(--panel)}.contact h2{margin:27px 0 42px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7%}.details{display:grid;grid-template-columns:1fr 1fr;gap:23px}.details label,.map label{font-size:8px;letter-spacing:.18em;color:var(--gold);font-weight:700}.details p,.details a:not(.button):not(.text-link){font-size:12px;color:var(--paper);line-height:1.8;margin:7px 0}.details small{color:var(--muted)}.contact-actions{grid-column:1/-1;display:flex;align-items:center;gap:20px}.map{min-height:310px;display:flex;align-items:flex-end;padding:20px;background:linear-gradient(135deg,#26251f,#333129 50%,#22211e);position:relative;overflow:hidden}.map:before{content:'';position:absolute;inset:-15%;opacity:.5;background-image:linear-gradient(32deg,transparent 46%,#45423a 47%,#45423a 48%,transparent 49%),linear-gradient(147deg,transparent 46%,#45423a 47%,#45423a 48%,transparent 49%);background-size:110px 85px,140px 100px;transform:rotate(-8deg)}.map>span{position:absolute;left:54%;top:37%;color:var(--gold);font-size:26px}.map div{position:relative;background:var(--ink);padding:14px 17px;display:grid;gap:4px}.map strong{font:500 16px var(--serif)}.map small{color:var(--muted);font-size:9px}footer{min-height:100px;padding:20px 7%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line)}footer .brand img{height:52px;width:43px}footer i{font:italic 13px var(--serif);color:var(--muted)}footer>a:not(.brand){font-size:8px;letter-spacing:.15em;color:var(--gold)}footer>small{font-size:9px;color:#77736b}
@media(max-width:1000px){header{padding:0 5%}nav{gap:15px}.section{padding-left:8%;padding-right:8%}.hero-copy{margin-left:8%}.menu-copy{padding-left:9%;padding-right:8%}}
@media(max-width:760px){.announcement{font-size:7px;gap:8px;letter-spacing:.1em}header{height:72px;padding:0 6%}.brand{min-width:auto}.brand img{height:57px;width:47px}.button.small{display:none}.nav-toggle{display:flex;border:0;background:none;padding:10px;flex-direction:column;gap:5px}.nav-toggle i{width:22px;height:1px;background:var(--gold)}nav{display:none;position:absolute;left:0;right:0;top:71px;padding:20px 7% 26px;background:var(--panel);align-items:flex-start;flex-direction:column;gap:16px}nav.open{display:flex}nav a{font-size:12px}.hero{height:calc(100svh - 106px);min-height:560px}.hero-bg{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(13,12,10,.84),rgba(13,12,10,.42)),linear-gradient(0deg,rgba(13,12,10,.55),transparent 60%)}.hero-copy{margin:0 7%}.hero h1{font-size:clamp(46px,10vw,72px)}.hero-copy>p:not(.eyebrow){font-size:13px}.actions{gap:18px;flex-wrap:wrap}.actions .button{padding:0 15px}.hero-caption{left:7%;bottom:22px;font-size:7px}.section{padding:72px 7%}.story-grid{grid-template-columns:1fr;gap:18px;margin-top:28px}.family{height:270px;margin-top:34px}.values{grid-template-columns:1fr;gap:14px}.menu{grid-template-columns:1fr}.menu-photo{min-height:340px;background-position:center 65%}.menu-copy{padding:58px 7%}.gallery-head{display:block;margin:27px 0}.gallery-head p{margin-top:12px}.photos{grid-template-columns:1fr 1fr;gap:10px}.photos .photo-large{grid-column:1/-1;height:285px}.photos figure{height:170px}footer{padding:20px 7%;display:grid;grid-template-columns:1fr auto;gap:13px}footer i{grid-column:1/-1;grid-row:2}footer>small{grid-column:2;grid-row:3;text-align:right}.contact-grid{grid-template-columns:1fr;gap:30px}.details{gap:20px 12px}.contact-actions{flex-wrap:wrap}.map{min-height:260px}}
@media(max-width:390px){.details{grid-template-columns:1fr}.contact-actions{grid-column:1}.actions .text-link{font-size:8px}.photos figure{height:145px}.photos .photo-large{height:230px}}
