:root{--black:#0b0a09;--panel:#171312;--wine:#4b191d;--gold:#bb9660;--ivory:#ece4d8;--muted:#b9aea2;--line:rgba(236,228,216,.2);--serif:'Cormorant Garamond',serif;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--ivory);font-family:var(--sans);overflow-x:hidden}.skip{position:fixed;z-index:100;top:-70px;left:12px;padding:9px;background:var(--ivory);color:var(--black)}.skip:focus{top:10px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}a{color:inherit;text-decoration:none}.loader{position:fixed;z-index:99;inset:0;background:var(--black);display:grid;place-content:center;gap:27px;transition:opacity .5s,visibility .5s}.loader.done{opacity:0;visibility:hidden}.loader img{width:min(280px,60vw)}.loader span{height:1px;background:var(--gold);width:0;animation:load 1s cubic-bezier(.2,.7,.2,1) forwards}.header{height:82px;padding:0 clamp(20px,4vw,64px);position:fixed;z-index:20;inset:0 0 auto;color:var(--ivory);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;transition:height .3s,background .3s}.header.solid{height:64px;background:rgba(11,10,9,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.logo{display:block;width:112px;line-height:0}.logo img,footer img{width:100%;display:block}.header nav{display:flex;gap:27px;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.header nav a{padding:8px 0;border-bottom:1px solid transparent}.header nav a:hover,.header nav a:focus-visible{border-color:var(--gold)}.book{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;padding:12px 0;border-bottom:1px solid currentColor;text-transform:uppercase;letter-spacing:.15em;font-size:10px}.book span{font-size:17px;color:var(--gold)}.head-book{justify-self:end}.menu-toggle{display:none}.mobile-menu[hidden]{display:none!important}.progress{position:absolute;left:0;bottom:0;height:1px;width:var(--progress,0%);background:var(--gold)}.hero{height:100svh;min-height:660px;position:relative;display:flex;align-items:center;padding:130px clamp(20px,10vw,160px) 88px;isolation:isolate}.hero-image,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-image{background:url('assets/unnamed%20(11).webp') 53% center/cover;transform:scale(1.07);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.ready .hero-image{transform:scale(1)}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(4,4,3,.82),rgba(4,4,3,.3) 66%),linear-gradient(0deg,rgba(4,4,3,.48),transparent 52%)}.hero-copy{max-width:720px}.eyebrow{margin:0 0 22px;color:var(--gold);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.19em}h1,h2,h3{font-family:var(--serif);letter-spacing:-.07em}h1{font-size:clamp(83px,11vw,180px);line-height:.68;margin:0}h1 em,h2 em{display:block;color:var(--gold);font-weight:500}.hero-text{max-width:365px;font:500 clamp(18px,1.6vw,25px)/1.2 var(--serif);margin:37px 0 30px}.hero-enter{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1)}.ready .hero-enter{opacity:1;transform:none}.ready .hero-enter:nth-child(1){transition-delay:.1s}.ready .hero-enter:nth-child(2){transition-delay:.25s}.ready .hero-enter:nth-child(3){transition-delay:.4s}.ready .hero-enter:nth-child(4){transition-delay:.55s}.hero-note{position:absolute;right:clamp(20px,4vw,64px);bottom:24px;margin:0;font-size:8px;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl}.section{padding:clamp(84px,11vw,170px) clamp(20px,8vw,130px)}.intro{background:var(--panel);display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:10vw}.intro-logo{width:min(32vw,400px);aspect-ratio:1;border-radius:50%;background:var(--ivory);display:grid;place-items:center;justify-self:center}.intro-logo img{width:66%}.intro-copy h2,.section-title h2,.menu h2,.location h2{font-size:clamp(64px,7.5vw,128px);line-height:.73;margin:0}.intro-copy>p:not(.eyebrow){max-width:31rem;font:500 clamp(20px,1.8vw,29px)/1.23 var(--serif);margin:38px 0}.text-link{font-size:10px;letter-spacing:.15em;text-transform:uppercase;display:inline-flex;gap:14px;border-bottom:1px solid currentColor;padding-bottom:9px}.text-link span{color:var(--gold);font-size:16px}.photos{background:var(--black)}.section-title{max-width:720px}.photo-grid{margin-top:57px;display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-auto-rows:245px;gap:14px}.photo-card{border:0;padding:0;background:#25211f;color:var(--ivory);position:relative;overflow:hidden;text-align:left;cursor:zoom-in}.photo-card:first-child{grid-row:span 2}.photo-card:last-child{grid-column:span 2}.photo-card img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.78);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.photo-card:hover img{transform:scale(1.06);filter:saturate(1)}.photo-card span{position:absolute;left:16px;right:16px;bottom:13px;display:flex;justify-content:space-between;font:500 20px var(--serif)}.photo-card b{font:600 12px var(--sans)}.menu{background:var(--wine);display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.menu-copy>p:not(.eyebrow){font-size:13px;line-height:1.65;color:#ded1c2;max-width:25rem;margin:39px 0}.menu-list{border-top:1px solid rgba(236,228,216,.28)}.menu-list article{padding:27px 0;border-bottom:1px solid rgba(236,228,216,.28);display:grid;grid-template-columns:52px 1fr auto;gap:17px;align-items:baseline}.menu-list span{font-size:9px;color:#e5c58f}.menu-list h3{font:500 clamp(34px,3.8vw,59px)/.85 var(--serif);margin:0}.menu-list p{font-size:11px;color:#d2c1b4;max-width:155px;margin:0}.location{background:var(--panel);display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.location-copy address{font:500 clamp(27px,3vw,48px)/.95 var(--serif);font-style:normal;margin:38px 0 27px}.location-copy .text-link{margin-top:22px}.map-wrap{min-height:520px;border:1px solid var(--line);overflow:hidden;position:relative}.map-wrap:before{content:'La Braceria dei Giusti';position:absolute;z-index:1;left:18px;top:16px;padding:8px 10px;background:var(--black);font-size:9px;letter-spacing:.13em;text-transform:uppercase;pointer-events:none}.map-wrap iframe{width:100%;height:100%;min-height:520px;border:0;filter:grayscale(1) contrast(1.08) brightness(.72)}footer{background:#080706;padding:42px clamp(20px,4vw,64px);display:grid;grid-template-columns:1fr 1.3fr auto;align-items:end;gap:30px}footer img{width:112px}footer div{display:flex;gap:18px;flex-wrap:wrap;font-size:9px;text-transform:uppercase;letter-spacing:.14em}footer div a{border-bottom:1px solid var(--gold);padding-bottom:7px}footer p{margin:0;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}.lightbox{padding:0;border:0;background:rgba(0,0,0,.94);width:100vw;height:100vh;max-width:none;max-height:none;place-items:center}.lightbox[open]{display:grid}.lightbox::backdrop{background:rgba(0,0,0,.94)}.lightbox img{max-width:90vw;max-height:84vh;object-fit:contain}.lightbox button{position:fixed;right:22px;top:12px;background:none;border:0;color:#fff;font-size:43px;cursor:pointer}@keyframes load{to{width:min(280px,60vw)}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*100ms)}.reveal.in{opacity:1;transform:none}.photo-card.reveal{transform:scale(.95)}.photo-card.reveal.in{transform:scale(1)}@media(max-width:760px){.header{height:66px;padding:0 20px;grid-template-columns:1fr auto}.header.solid{height:60px}.logo{width:92px}.header nav,.head-book{display:none}.menu-toggle{display:flex;width:44px;height:44px;align-items:flex-end;justify-content:center;gap:5px;flex-direction:column;background:none;border:0;color:var(--ivory)}.menu-toggle i{width:25px;height:1px;background:currentColor}.menu-toggle[aria-expanded=true] i:first-of-type{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-of-type{transform:translateY(-3px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:19;inset:66px 0 auto;background:var(--panel);padding:30px 20px 39px;display:flex;flex-direction:column;gap:24px;border-bottom:1px solid var(--gold)}.mobile-menu a{font:500 40px/.8 var(--serif);letter-spacing:-.06em}.mobile-menu .book{margin-top:11px;font:600 10px var(--sans)}.hero{height:92svh;min-height:620px;padding:116px 20px 70px;align-items:flex-end}.hero h1{font-size:clamp(80px,22vw,110px)}.hero-text{font-size:20px;max-width:280px;margin:29px 0 23px}.hero-note{right:20px;bottom:19px}.section{padding:78px 20px}.intro,.menu,.location{grid-template-columns:1fr;gap:48px}.intro-logo{width:57vw;justify-self:start}.intro-copy h2,.section-title h2,.menu h2,.location h2{font-size:clamp(63px,17vw,91px)}.intro-copy>p:not(.eyebrow){font-size:21px;margin:30px 0}.photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:175px;margin-top:36px;gap:9px}.photo-card:first-child{grid-row:span 2}.photo-card:last-child{grid-column:span 2}.photo-card span{left:11px;right:11px;bottom:9px;font-size:18px}.menu-list article{grid-template-columns:30px 1fr;gap:12px}.menu-list p{display:none}.map-wrap{min-height:370px}.map-wrap iframe{min-height:370px}.location-copy .text-link{width:max-content}.location{padding-bottom:0}.map-wrap{margin:0 -20px;border-left:0;border-right:0}footer{padding:35px 20px;grid-template-columns:1fr;gap:27px}footer img{width:100px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader{display:none}.hero-image,.hero-enter,.reveal,.photo-card img{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}
