:root{--ink:#0b0908;--paper:#f1ece4;--sand:#c9b59a;--rust:#a9572f;--line:rgba(241,236,228,.18);--display:"Italiana",serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:16px;line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--paper);color:var(--ink);padding:.7rem 1rem}.skip-link:focus{top:1rem}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 4vw;border-bottom:1px solid rgba(255,255,255,.12)}
.brand img{width:76px;height:76px;object-fit:contain}.desktop-nav{display:flex;gap:2.4rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.16em}.desktop-nav a{opacity:.8}.desktop-nav a:hover{opacity:1}
.button{display:inline-flex;justify-content:center;align-items:center;padding:.9rem 1.4rem;border:1px solid var(--paper);background:var(--paper);color:var(--ink);font-size:.77rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:.25s}.button:hover{background:transparent;color:var(--paper)}.button-small{padding:.72rem 1.1rem}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:9rem 6vw 7vw;overflow:hidden}.hero-image{position:absolute;inset:0;background:#21150e url("assets/hero-face-loop.webp") center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,3,.86) 0%,rgba(5,4,3,.38) 50%,rgba(5,4,3,.25) 100%),linear-gradient(0deg,rgba(5,4,3,.65),transparent 55%)}
.hero-content{position:relative;z-index:2;max-width:900px}.eyebrow{margin:0 0 1.4rem;color:var(--sand);font-size:.7rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase}.hero h1,.section h2,.visit h2{font-family:var(--display);font-weight:400;line-height:.92;letter-spacing:-.02em}.hero h1{font-size:clamp(4.1rem,9vw,9.5rem);margin:0}.hero h1 em,.reservation h2 em{color:var(--sand);font-weight:400}.hero-copy{max-width:540px;margin:2rem 0;font-size:clamp(1rem,1.7vw,1.3rem);color:rgba(255,255,255,.78)}.hero-actions{display:flex;align-items:center;gap:2rem}.text-link{display:inline-flex;gap:.6rem;align-items:center;padding:.5rem 0;border-bottom:1px solid currentColor;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.hero-note{position:absolute;z-index:2;right:4vw;bottom:4vw;margin:0;writing-mode:vertical-rl;font-size:.63rem;letter-spacing:.25em;text-transform:uppercase;opacity:.65}
.section{padding:clamp(5rem,10vw,10rem) 6vw}.intro{background:var(--paper);color:var(--ink)}.intro .eyebrow{color:var(--rust)}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:start}.intro h2{font-size:clamp(3.2rem,6.5vw,7rem);margin:0}.intro-grid>div>p{font-size:clamp(1.1rem,1.8vw,1.4rem);max-width:600px;margin:1rem 0 2.7rem}.feature-row{display:flex;flex-wrap:wrap;border-top:1px solid rgba(11,9,8,.2);padding-top:1.5rem;gap:1rem 2.5rem;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.story-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:minmax(420px,75vh) auto;gap:1px;background:var(--line)}.story{position:relative;margin:0;overflow:hidden;background:#16110e}.story img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.story:hover img{transform:scale(1.025)}.story figcaption{position:absolute;left:2rem;bottom:2rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}.story-grid blockquote{grid-column:1/-1;margin:0;padding:7vw;text-align:center;background:var(--ink)}.story-grid blockquote p{max-width:1000px;margin:0 auto 1.5rem;font-family:var(--display);font-size:clamp(2.7rem,5vw,6rem);line-height:1.05}.story-grid cite{color:var(--sand);font-size:.65rem;font-style:normal;letter-spacing:.2em;text-transform:uppercase}
.gallery{background:#15100d}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:3rem}.section-heading h2{font-size:clamp(3rem,6vw,6.5rem);margin:0}.gallery-controls{display:flex;gap:.7rem}.gallery-controls button{width:3.2rem;height:3.2rem;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--paper);cursor:pointer}.gallery-controls button:hover{background:var(--paper);color:var(--ink)}.gallery-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery-track::-webkit-scrollbar{display:none}.gallery-track figure{flex:0 0 min(35vw,430px);aspect-ratio:4/5;margin:0;overflow:hidden;scroll-snap-align:start}.gallery-track img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gallery-track figure:hover img{transform:scale(1.03)}
.reservation{text-align:center;background:var(--rust)}.reservation .eyebrow{color:var(--paper)}.reservation h2{font-size:clamp(4rem,9vw,10rem);margin:0 0 2.5rem}.reservation h2 em{color:#25120b}.phone{display:inline-block;font-family:var(--display);font-size:clamp(2.2rem,5vw,5.6rem);line-height:1;border-bottom:2px solid currentColor}.reservation>p:last-child{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.visit{display:grid;grid-template-columns:.8fr 1.2fr;min-height:720px}.visit-details{padding:8vw 6vw;background:var(--paper);color:var(--ink)}.visit-details .eyebrow{color:var(--rust)}.visit h2{font-size:clamp(3.5rem,6vw,7rem);margin:0 0 4rem}.visit-list{display:grid;gap:1.7rem;margin-bottom:2.5rem}.visit-list div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid rgba(11,9,8,.17);padding-top:1rem}.visit-list span{font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.visit-list p{margin:0}.map-link{display:block;min-height:720px;overflow:hidden}.map-link iframe{width:100%;height:100%;min-height:720px;filter:saturate(.75) contrast(.95)}
footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:3rem 4vw;border-top:1px solid var(--line)}.footer-logo img{width:90px;height:90px;object-fit:contain}.social-links{display:flex;gap:2rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.footer-meta{justify-self:end;text-align:right;font-size:.65rem;opacity:.55;text-transform:uppercase;letter-spacing:.12em}.footer-meta p{margin:.2rem 0}.footer-meta a{border-bottom:1px solid currentColor}.visitor-counter{display:flex;justify-content:flex-end;gap:.35rem;width:max-content;margin:.75rem 0 0 auto}.visitor-counter strong{color:var(--paper)}.mobile-call{display:none}
@media(max-width:800px){.site-header{position:absolute;padding:1rem 5vw}.brand img{width:58px;height:58px}.desktop-nav{display:none}.button-small{font-size:.63rem;padding:.65rem .8rem}.hero{padding:8rem 6vw 6rem;align-items:center}.hero-image{background-position:center}.hero-shade{background:linear-gradient(0deg,rgba(5,4,3,.84),rgba(5,4,3,.22) 80%)}.hero h1{font-size:clamp(3.7rem,17vw,6.5rem)}.hero-note{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.intro-grid{grid-template-columns:1fr;gap:3rem}.story-grid{grid-template-columns:1fr;grid-template-rows:70vh 70vh auto}.story-grid blockquote{grid-column:1}.section-heading{align-items:flex-start;gap:2rem}.gallery-track figure{flex-basis:78vw}.visit{grid-template-columns:1fr;min-height:0}.map-link,.map-link iframe{min-height:450px}.visit-details{padding:6rem 6vw}.visit-list div{grid-template-columns:90px 1fr}footer{grid-template-columns:1fr;text-align:center;padding-bottom:7rem}.footer-logo,.social-links,.footer-meta{justify-self:center}.footer-meta{text-align:center}.visitor-counter{justify-content:center;margin-left:auto;margin-right:auto}.mobile-call{display:block;position:fixed;z-index:50;left:1rem;right:1rem;bottom:1rem;padding:.9rem;background:var(--paper);color:var(--ink);text-align:center;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 30px rgba(0,0,0,.3)}}
@media(max-width:800px){html{scroll-padding-top:5rem}body{-webkit-text-size-adjust:100%}.site-header{padding:.75rem 1.25rem;background:linear-gradient(180deg,rgba(11,9,8,.68),transparent);border-bottom:0}.brand img{width:52px;height:52px}.button,.text-link,.gallery-controls button{min-height:44px}.button-small{padding:.65rem .85rem;letter-spacing:.08em}.hero{min-height:100svh;padding:7.25rem 1.25rem 7.5rem;align-items:flex-end}.hero-image{background-position:66% center;transform:none}.hero-shade{background:linear-gradient(180deg,rgba(5,4,3,.5) 0%,rgba(5,4,3,.05) 35%,rgba(5,4,3,.9) 82%,rgba(5,4,3,.98) 100%)}.hero-content{width:100%;max-width:34rem}.hero .eyebrow{margin-bottom:.85rem}.hero h1{font-size:clamp(3rem,13vw,4.1rem);line-height:.93}.hero-copy{margin:1rem 0 1.35rem;max-width:29rem;font-size:1rem;line-height:1.5}.hero-actions{width:100%;gap:.8rem}.hero-actions .button{width:100%;max-width:22rem}.hero-actions .text-link{padding:.45rem 0}.section{padding:4.75rem 1.25rem}.eyebrow{margin-bottom:1rem}.intro-grid{gap:2rem}.intro h2,.section-heading h2{font-size:clamp(2.8rem,13vw,4rem);line-height:.98}.intro-grid>div>p{margin:0 0 2rem;font-size:1.05rem;line-height:1.65}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem}.story-grid{grid-template-rows:62svh 56svh auto}.story figcaption{left:1.25rem;bottom:1.25rem}.story-grid blockquote{padding:4.75rem 1.25rem}.story-grid blockquote p{font-size:clamp(2.25rem,10.5vw,3.4rem)}.section-heading{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:2rem}.gallery-controls{gap:.5rem}.gallery-controls button{width:44px;height:44px}.gallery-track{gap:.85rem;overscroll-behavior-x:contain}.gallery-track figure{flex-basis:82vw;max-width:360px}.reservation{padding-top:5rem;padding-bottom:5rem}.reservation h2{font-size:clamp(3.4rem,15vw,5rem);margin-bottom:2rem}.phone{max-width:100%;font-size:clamp(2.05rem,10.5vw,2.8rem);white-space:nowrap}.visit-details{padding:4.75rem 1.25rem}.visit h2{font-size:clamp(3.2rem,14vw,4.5rem);margin-bottom:2.75rem}.visit-list{gap:1.4rem}.visit-list div{grid-template-columns:1fr;gap:.35rem;padding-top:.8rem}.map-link,.map-link iframe{min-height:360px}.map-link iframe{height:360px}footer{gap:1.5rem;padding:2.75rem 1.25rem 7.5rem}.footer-logo img{width:78px;height:78px}.social-links{width:100%;justify-content:center;gap:1.5rem}.footer-meta{line-height:1.7}.visitor-counter{flex-wrap:wrap}.mobile-call{left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));min-height:48px;padding:.85rem 1rem;border-radius:2px}}
@media(max-width:380px){.site-header .button-small{font-size:.58rem;padding:.6rem .65rem}.hero h1{font-size:clamp(2.75rem,12.5vw,3.2rem)}.feature-row{grid-template-columns:1fr}.section-heading{grid-template-columns:1fr}.gallery-controls{margin-top:.25rem}.phone{font-size:2rem}.social-links{gap:1rem;font-size:.62rem}}
.site-header{position:fixed;background:rgba(11,9,8,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@media(max-width:1024px){.site-header{position:fixed;top:0;left:0;right:0;background:rgba(11,9,8,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}
.social-links a{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;transition:background-color .25s,border-color .25s}.social-links a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}.social-links img{width:23px;height:23px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.hero-image{background-image:url("assets/hero-v2.jpg")}}
