:root{--wine:#681b22;--wine-dark:#3c1015;--cream:#f5efe4;--paper:#fffaf2;--ink:#241b18;--gold:#bb8d4b;--line:#d9cbb8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}img{display:block;max-width:100%}a{color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{background:var(--wine-dark);color:#f6eadb;text-align:center;padding:8px 15px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.header{background:rgba(255,250,242,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-row{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{text-decoration:none;text-align:center;font-family:Georgia,serif;color:var(--wine);line-height:1}.brand b{display:block;font-size:34px;letter-spacing:.08em;font-weight:500}.brand span{display:block;font-size:10px;letter-spacing:.28em;margin-top:9px}.nav{display:flex;gap:32px;align-items:center}.nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:13px}.nav a:hover,.nav a[aria-current=page]{color:var(--wine)}.menu-toggle{display:none;border:0;background:none;font-size:27px;color:var(--wine)}.hero{min-height:calc(100vh - 126px);display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(rgba(30,8,10,.44),rgba(30,8,10,.67)),url('../images/la-stampa-interior.jpg') center/cover}.hero-inner{max-width:780px;padding:70px 20px}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.3em;color:#ecd3ad}.hero h1,.page-hero h1{font:400 clamp(48px,8vw,96px)/1 Georgia,serif;margin:18px 0}.hero p{font:italic 20px/1.6 Georgia,serif}.button{display:inline-block;margin-top:22px;background:var(--wine);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:12px;padding:15px 25px;border:1px solid var(--wine)}.button.alt{background:transparent;border-color:#fff}.page-hero{padding:100px 20px;text-align:center;background:var(--wine-dark);color:#fff}.page-hero h1{font-size:clamp(45px,7vw,78px)}main section{padding:85px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split img{width:100%;height:590px;object-fit:cover}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--wine);font-size:12px}.headline{font:400 clamp(34px,5vw,57px)/1.12 Georgia,serif;margin:13px 0 25px}.lead{font:italic 22px/1.6 Georgia,serif}.band{background:var(--cream)}.locations{display:grid;grid-template-columns:1fr 1fr;gap:28px}.location{border-top:2px solid var(--wine);padding:30px 0}.location h2{font:400 30px Georgia,serif;margin:0 0 8px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 58px;margin-top:45px}.menu-item{border-bottom:1px solid var(--line);padding:0 0 20px}.menu-item h2{font:400 25px Georgia,serif;color:var(--wine);margin:0 0 6px}.menu-item p{margin:0;color:#5d5049}.menu-item .price{display:block;margin-top:8px;font-weight:700}.quote{max-width:820px;margin:auto;text-align:center}.quote p{font:italic clamp(25px,4vw,38px)/1.45 Georgia,serif}.footer{background:#251719;color:#eadfd4;padding:62px 0 25px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:50px}.footer-brand{font:400 34px Georgia,serif;color:#fff;letter-spacing:.08em}.footer h2{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#d9b77e}.footer-links{display:grid;gap:7px}.footer-links a{text-decoration:none}.copyright{border-top:1px solid #52373a;margin-top:42px;padding-top:20px;font-size:12px;color:#bcaeb0}.photo-strip{display:grid;grid-template-columns:repeat(3,1fr)}.photo-strip img{height:380px;width:100%;object-fit:cover}@media(max-width:780px){.header-row{min-height:78px}.brand b{font-size:25px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{min-height:650px}.split,.locations,.menu-grid,.footer-grid{grid-template-columns:1fr}.split img{height:430px}.photo-strip{grid-template-columns:1fr}.photo-strip img{height:320px}}@media(max-width:480px){.container{width:calc(100% - 28px)}main section{padding:60px 0}.page-hero{padding:72px 15px}.topbar{font-size:10px}}
