:root{
  --ivory:#f3ead9;
  --ivory-deep:#e8dcc7;
  --anthracite:#1b1a18;
  --text:#28231f;
  --burgundy:#74283a;
  --burgundy-dark:#591d2b;
  --gold:#b28a4b;
  --white:#fffdf8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--text);font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.65}
h1{font-weight:600}h2{font-weight:500}h3{font-weight:600}p,address,.entry{font-weight:400}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:20;background:var(--ivory);border-bottom:2px solid var(--gold);box-shadow:0 4px 18px rgba(27,26,24,.14)}
.nav{width:min(1120px,100%);min-height:88px;margin:auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{flex:0 0 auto;display:block;text-decoration:none}
.brand img{width:128px;height:70px;object-fit:contain;filter:none}
.links{display:flex;align-items:center;justify-content:flex-end;gap:24px}
.links a{text-decoration:none;color:var(--anthracite);font-size:.96rem;padding:6px 0;border-bottom:2px solid transparent}
.links a:hover,.links a:focus-visible,.links a[aria-current="page"]{color:var(--burgundy);border-bottom-color:var(--gold)}
.links .nav-cta{padding:10px 16px;background:var(--burgundy);border:1px solid var(--gold);color:var(--white);font-weight:600}
.links .nav-cta:hover,.links .nav-cta:focus-visible{background:var(--burgundy-dark);color:var(--white)}
a:focus-visible{outline:3px solid var(--burgundy);outline-offset:3px}
.hero{min-height:calc(88vh - 88px);display:grid;place-items:center;text-align:center;color:var(--white);padding:90px 22px;background:linear-gradient(rgba(27,26,24,.46),rgba(27,26,24,.46)),url('hero.jpg') center/cover no-repeat}
.hero>div{width:min(840px,100%)}
.hero p{margin:0 0 20px;font-size:clamp(.95rem,2vw,1.18rem);letter-spacing:.16em;text-transform:uppercase;color:#f5e7cf}
.hero h1{margin:0;font-size:clamp(3.4rem,9vw,6.8rem);line-height:.98;color:var(--white);text-shadow:0 3px 22px rgba(0,0,0,.48)}
.buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:13px;margin-top:38px}
.button{display:inline-block;padding:13px 22px;background:var(--burgundy);border:1px solid var(--gold);color:var(--white);text-decoration:none;font-weight:600;box-shadow:0 3px 10px rgba(0,0,0,.16)}
.button:hover,.button:focus-visible{background:var(--burgundy-dark)}
.button.alt{background:var(--burgundy)}
.section{padding:82px 24px}
.wrap{width:min(1060px,100%);margin:auto}
.eyebrow{margin:0 0 8px;color:var(--burgundy);font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;font-weight:600}
.section h2{margin:.15em 0 .65em;font-size:clamp(2.05rem,5vw,3.65rem);line-height:1.12;color:inherit}
.story{background:linear-gradient(rgba(27,26,24,.88),rgba(27,26,24,.88)),url('storia.jpg') center/cover no-repeat;color:var(--white)}
.story .wrap{max-width:790px}.story .eyebrow,.gift .eyebrow{color:#dbba7b}
.experience{text-align:center;background:var(--ivory-deep)}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:54px}
.split.reverse .media{order:2}
.media img{width:100%;max-height:680px;object-fit:cover}
.signature{width:220px!important;margin-left:auto}
.gift{background:var(--anthracite);color:var(--white)}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:52px}
.contact-grid address{font-style:normal}
#contatti{scroll-margin-top:110px}
.content{width:min(900px,100%);margin:auto;padding:62px 24px 94px}
.content>h1{text-align:center;margin:0 auto 48px;padding-bottom:20px;position:relative;font-size:clamp(2.6rem,7vw,4.5rem);line-height:1.05;color:var(--anthracite)}
.content>h1:after{content:"";position:absolute;left:50%;bottom:0;width:76px;height:2px;background:var(--gold);transform:translateX(-50%)}
.menu-jump{position:sticky;top:88px;z-index:10;display:flex;gap:6px;overflow-x:auto;white-space:nowrap;margin:0 0 50px;padding:11px;background:var(--anthracite);border-block:1px solid var(--gold);box-shadow:0 5px 12px rgba(0,0,0,.13);scrollbar-width:thin}
.menu-jump a{flex:1 0 auto;text-align:center;padding:7px 11px;color:var(--white);text-decoration:none;border:1px solid transparent;font-size:.91rem}
.menu-jump a:hover,.menu-jump a:focus-visible{color:#f0cf91;border-color:var(--gold)}
.menu-content{max-width:920px}
.menu-content h2{margin:62px 0 28px;padding:0 0 12px;border-bottom:2px solid var(--gold);color:var(--anthracite);font-size:clamp(1.6rem,4vw,2.3rem);letter-spacing:.025em;scroll-margin-top:180px}
.menu-content h3{margin:30px 0 7px;color:var(--burgundy);font-size:1.28rem;line-height:1.3}
.menu-content .entry{margin:0;padding:0 0 21px;border-bottom:1px solid rgba(178,138,75,.46);white-space:pre-line;color:#3b342e}
.menu-content .entry:empty{display:none}
.menu-content .entry strong{color:var(--burgundy);font-size:1.04rem;white-space:nowrap}
.menu-content .entry em{font-style:normal}
.dessert-content h2{margin:34px 0 6px;padding:0;border:0;color:var(--burgundy);font-size:1.35rem;scroll-margin-top:125px}
.dessert-content .entry:has(h2){padding:0;border:0}
.dessert-content .entry p{margin:0}
.site-footer{background:var(--ivory-deep);color:var(--anthracite);padding:48px 24px;text-align:center;border-top:2px solid var(--gold)}
.footer-logo-panel{margin:0 auto 20px;background:transparent;border:0;padding:0}
.site-footer img{width:160px;height:auto;margin:auto;filter:none}
.site-footer address{font-style:normal}
.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin-top:22px}
.footer-links a{color:var(--anthracite);text-decoration:none;border-bottom:1px solid transparent}
.footer-links a:hover,.footer-links a:focus-visible{color:var(--burgundy);border-bottom-color:var(--gold)}
@media(max-width:760px){
  .site-header{position:relative;top:auto}
  .nav{min-height:0;padding:10px 14px 12px;flex-wrap:wrap;justify-content:center;gap:7px}
  .brand img{width:118px;height:auto}
  .links{width:100%;justify-content:center;gap:7px 14px;flex-wrap:wrap}
  .links a{font-size:.88rem;padding:4px 0}
  .links .nav-cta{padding:7px 11px}
  .hero{min-height:70vh;padding:76px 18px}
  .hero p{margin-bottom:16px;font-size:.86rem;letter-spacing:.11em}
  .hero h1{font-size:clamp(3rem,15vw,4.7rem)}
  .buttons{margin-top:32px;gap:10px}
  .button{width:100%;max-width:330px}
  .section{padding:58px 18px}
  .split,.contact-grid{grid-template-columns:1fr;gap:34px}
  .split.reverse .media{order:0}
  .media img{max-height:530px}
  #contatti{scroll-margin-top:20px}
  .content{padding:42px 17px 72px}
  .content>h1{margin-bottom:34px}
  .menu-jump{top:0;margin-inline:-17px;margin-bottom:42px;padding-inline:12px}
  .menu-content h2{margin-top:50px;scroll-margin-top:72px}
  .menu-content h3{font-size:1.17rem}
  .menu-content .entry{font-size:.98rem;padding-bottom:19px}
  .footer-links{gap:9px 17px}
}