@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600&family=Playfair+Display:ital,wght@1,400&display=swap');

:root{--ink:#17130f;--deep:#100e0c;--cream:#e8e1d7;--bone:#f4f0e9;--olive:#69705a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bone);color:var(--ink);font-family:'Manrope',sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}em{font-family:'Playfair Display',serif;font-weight:400}p{font-size:14px;line-height:1.85}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:98px;display:flex;align-items:center;justify-content:space-between;padding:20px 42px;color:white;border-bottom:1px solid rgba(255,255,255,.18)}.brand img{width:74px;height:64px;object-fit:contain;filter:invert(1);mix-blend-mode:screen}nav{display:flex;gap:28px;font-size:10px;text-transform:uppercase;letter-spacing:.13em}nav a{opacity:.75;transition:.2s}nav a:hover{opacity:1}.outline-button,.solid-button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 18px;border:1px solid currentColor;font-size:10px;letter-spacing:.13em;text-transform:uppercase;transition:.25s}.solid-button{background:var(--cream);color:var(--ink);border-color:var(--cream)}.outline-button:hover,.solid-button:hover{background:white;color:var(--ink)}.split-hero{min-height:100vh;display:grid;grid-template-columns:58% 42%;background:var(--deep);color:white}.hero-copy{padding:180px 6vw 80px;align-self:center}.hero-portrait{height:100vh;overflow:hidden;background:#2a241e}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center}.eyebrow,.section-number,.footer-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase}.eyebrow{margin-bottom:22px}.section-number{color:var(--olive);font-weight:600}.light{color:#b7b094}h1,h2,h3{margin:0;font-weight:300;letter-spacing:-.045em;line-height:.97}h1{font-size:clamp(54px,6.4vw,104px)}h2{font-size:clamp(42px,5.5vw,80px)}h3{font-size:clamp(30px,3.3vw,48px)}.hero-lead{max-width:650px;margin:30px 0;color:rgba(255,255,255,.72)}.hero-actions{display:flex;align-items:center;gap:22px}.text-link,.line-link{font-size:10px;text-transform:uppercase;letter-spacing:.13em}.line-link{display:inline-flex;gap:20px;padding-bottom:8px;border-bottom:1px solid}.intro-section{display:grid;grid-template-columns:.7fr 2.3fr;gap:50px;padding:140px 7vw}.intro-section>div{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:70px}.intro-section p:last-child,.feature-copy>p,.duo-story article>p:last-of-type,.occasion-grid article>p{color:#5b554e}.feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px}.feature-image{min-height:720px;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover}.feature-copy{padding:10vw 7vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.feature-copy>p{margin:30px 0}.feature-cream{background:var(--cream)}.wine-feature{background:var(--deep);color:var(--cream);grid-template-columns:.9fr 1.1fr}.wine-feature .feature-copy>p{color:#bcb2a7}.light-link{color:var(--cream)}.duo-story{display:grid;grid-template-columns:1fr 1fr}.duo-story article,.occasion-grid article{padding:110px 7vw}.duo-story h3,.occasion-grid h3{margin:25px 0}.dark-card{background:#2b3027;color:var(--cream)}.dark-card p:last-of-type{color:#c3bdb3!important}.chapter-label{padding:42px 7vw;background:var(--bone);font-size:10px;letter-spacing:.2em}.chapter-label span{float:right;color:#777}.occasion-grid{display:grid;grid-template-columns:1fr 1fr;background:#ded6ca}.occasion-grid article+article{border-left:1px solid rgba(23,19,15,.15)}.occasion-grid .line-link{margin-top:18px}.place-feature{background:var(--bone)}.cross-brand{text-align:center;color:white;padding:150px 20px;background:linear-gradient(rgba(52,57,42,.84),rgba(52,57,42,.84)),url('assets/castrizzi-olive-room.jpg') center/cover fixed}.cross-brand p:not(.eyebrow),.final-cta>p:not(.eyebrow){max-width:700px;margin:28px auto;color:rgba(255,255,255,.75)}.light-button{margin-top:15px}.disabled-button{cursor:default;pointer-events:none}.final-cta{text-align:center;background:var(--deep);color:white;padding:140px 20px}.final-cta .hero-actions{justify-content:center;margin-top:34px}footer{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding:70px 7vw;background:#090807;color:#c9c1b7;font-size:12px;line-height:1.7}footer img{width:92px;filter:invert(1);margin-bottom:20px}footer a{display:block}.footer-label{color:#777066}
.menu-text{background:#f2eee7}.menu-text-intro{padding:125px 7vw 90px;background:#16130f;color:#eee7dd}.menu-text-intro h2{max-width:950px}.menu-text-intro>p:last-child{max-width:720px;margin:30px 0 0;color:#bdb4aa}.premium-groups{padding:0 7vw 110px;background:#16130f;color:#eee7dd;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.premium-groups .menu-text-group{border:1px solid rgba(232,225,215,.2);background:#1f1b16}.premium-groups .menu-text-group>header{border-color:rgba(232,225,215,.2)}.premium-groups .menu-text-group>header p,.premium-groups .menu-item p{color:#aaa198}.premium-groups .menu-item{border-color:rgba(232,225,215,.12)}.premium-groups .menu-item strong{color:#d9cbb8}.menu-rest-heading{text-align:center;padding:120px 20px 70px}.menu-rest-heading h2{margin-top:15px}.menu-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:0 7vw 100px}.menu-text-group{border:1px solid rgba(23,19,15,.14);align-self:start}.menu-text-group>header{padding:30px;border-bottom:1px solid rgba(23,19,15,.12)}.menu-text-group>header h3{font-size:clamp(27px,2.4vw,38px)}.menu-text-group>header p{margin:16px 0 0;color:#655f58}.menu-text-group>div{padding:0 30px}.menu-item{display:flex;justify-content:space-between;gap:30px;padding:21px 0;border-bottom:1px solid rgba(23,19,15,.1)}.menu-item:last-child{border-bottom:0}.menu-item h4{margin:0;font-weight:500;font-size:14px;line-height:1.45}.menu-item span{display:block;margin-top:5px;color:#8f877e;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.menu-item p{margin:7px 0 0;color:#6e675f;font-size:12px;line-height:1.6}.menu-item strong{white-space:nowrap;font-size:12px;font-weight:500;letter-spacing:.04em}.menu-note{text-align:center;max-width:820px;margin:0 auto;padding:0 20px 90px;color:#777066;font-size:11px}
.wine-text{background:#eee9e1}.wine-text-intro{padding:125px 7vw 90px;background:#252a22;color:#eee7dd}.wine-text-intro h2{max-width:950px}.wine-text-intro>p:not(.section-number){max-width:720px;margin:30px 0;color:#c0b9af}.wine-legend{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9f9a8f}.wine-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:90px 7vw}.wine-group{align-self:start;border:1px solid rgba(23,19,15,.14);background:#f6f2ec}.wine-group>header{padding:28px 30px 24px;border-bottom:1px solid rgba(23,19,15,.13)}.wine-group>header>p{margin:0 0 9px;font-size:9px;letter-spacing:.18em;color:#7e826f;text-transform:uppercase}.wine-group>header h3{font-size:clamp(26px,2.2vw,36px)}.wine-columns,.wine-row{display:grid;grid-template-columns:minmax(0,1fr) 58px 58px;gap:14px}.wine-columns{padding:11px 30px;border-bottom:1px solid rgba(23,19,15,.08);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#918a82}.wine-columns span:first-child{grid-column:2}.wine-row{align-items:start;padding:18px 30px;border-bottom:1px solid rgba(23,19,15,.09)}.wine-row:last-child{border-bottom:0}.wine-row h4{margin:0;font-size:13px;font-weight:500;line-height:1.45}.wine-row p{margin:5px 0 0;font-size:11px;line-height:1.5;color:#6e675f}.wine-row p span{color:#8e877f}.wine-row p em{font-family:'Manrope',sans-serif;font-style:normal;color:#7b806a}.wine-row strong{font-size:11px;font-weight:500;text-align:right;white-space:nowrap}
@media(max-width:800px){.site-header{height:78px;padding:12px 18px}.brand img{width:58px;height:52px}nav{display:none}.site-header>.outline-button{padding:11px 13px}.split-hero{grid-template-columns:1fr;display:flex;flex-direction:column;min-height:auto}.hero-portrait{height:64vh;order:1;margin-top:78px}.hero-copy{order:2;padding:70px 22px 75px}.hero-actions{align-items:flex-start;flex-direction:column}.intro-section,.intro-section>div,.feature,.duo-story,.occasion-grid,footer{grid-template-columns:1fr}.intro-section{padding:90px 22px}.intro-section>div{gap:30px}.feature-image{min-height:500px;height:500px}.feature-copy,.duo-story article,.occasion-grid article{padding:85px 22px}.wine-feature .feature-copy{order:2}.wine-feature .feature-image{order:1}.occasion-grid article+article{border-left:0;border-top:1px solid rgba(23,19,15,.15)}.chapter-label span{display:block;float:none;margin-top:10px}.cross-brand{padding:100px 22px;background-attachment:scroll}.final-cta{padding:100px 22px}footer{padding:55px 22px}.menu-text-intro{padding:90px 22px 65px}.premium-groups,.menu-groups{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.premium-groups{padding-bottom:80px}.menu-rest-heading{padding:85px 20px 55px}.menu-groups{padding-bottom:75px;gap:18px}.menu-text-group>header,.menu-text-group>div{padding-left:20px;padding-right:20px}.menu-item{gap:16px}.wine-text-intro{padding:90px 22px 65px}.wine-groups{grid-template-columns:1fr;padding:70px 14px;gap:18px}.wine-group>header,.wine-row{padding-left:20px;padding-right:20px}.wine-columns{padding-left:20px;padding-right:20px}.wine-row{grid-template-columns:minmax(0,1fr) 48px 48px;gap:9px}}

/* Enhanced menu legibility */
.menu-text-group{border-width:2px;border-color:rgba(23,19,15,.38)}
.premium-groups .menu-text-group{border-width:2px;border-color:rgba(232,225,215,.42)}
.menu-text-group>header h3{font-size:clamp(31px,2.7vw,44px)}
.menu-text-group>header p{font-size:15px;line-height:1.75}
.menu-item h4{font-size:16px}
.menu-item p{font-size:13.5px;line-height:1.65}
.menu-item strong{font-size:14px;font-weight:600}
.wine-group{border-width:2px;border-color:rgba(23,19,15,.38)}
.wine-group>header h3{font-size:clamp(31px,2.6vw,43px)}
.wine-row h4{font-size:16px}
.wine-row p{font-size:13px;line-height:1.55}
.wine-row strong{font-size:14px;font-weight:600}
@media(max-width:800px){.menu-text-group>header h3,.wine-group>header h3{font-size:30px}.menu-item h4,.wine-row h4{font-size:15px}.menu-item p,.wine-row p{font-size:12.5px}.menu-item strong,.wine-row strong{font-size:13px}}

/* Persistent high-contrast navigation */
.site-header{position:fixed;background:#090807;border-bottom:1px solid rgba(255,255,255,.16);box-shadow:0 8px 30px rgba(0,0,0,.28)}
.site-header nav{gap:30px;font-size:12px;font-weight:600}
.site-header nav a{opacity:.88}
.header-contact{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:13px 18px;background:var(--cream);border:2px solid #fff;color:var(--ink);font-size:11px;font-weight:700;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transition:.25s}
.header-contact span{display:inline;font-weight:inherit;border:0;padding:0}
.header-contact:hover{background:#fff}
.final-cta{scroll-margin-top:98px}

/* Editorial gallery of the restaurant space */
.space-gallery{padding:125px 5vw;background:#17130f;color:var(--cream);scroll-margin-top:98px}
.space-gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:52px}
.space-gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:240px;gap:14px}
.space-gallery-grid figure{margin:0;overflow:hidden;background:#2a241e}
.space-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.space-gallery-grid figure:hover img{transform:scale(1.025)}
.space-gallery-grid figure:nth-child(1),.space-gallery-grid figure:nth-child(6){grid-column:span 7;grid-row:span 2}
.space-gallery-grid figure:nth-child(2),.space-gallery-grid figure:nth-child(5){grid-column:span 5;grid-row:span 2}
.space-gallery-grid figure:nth-child(3),.space-gallery-grid figure:nth-child(4),.space-gallery-grid figure:nth-child(7),.space-gallery-grid figure:nth-child(8){grid-column:span 6}
.space-gallery-grid figure:nth-child(n+9){grid-column:span 4;grid-row:span 2}
.space-page{min-height:100vh;background:#17130f;color:var(--cream)}
.space-page-hero{padding:190px 5vw 80px;background:#100e0c}
.space-page-hero h1{max-width:1100px}
.space-page-hero>p:last-child{max-width:620px;margin:30px 0 0;color:#bcb2a7}
.space-page .space-gallery{padding-top:30px}
.space-page-return{display:flex;justify-content:center;padding:30px 20px 120px;background:#17130f}

@media(max-width:1000px){.site-header nav{gap:17px;font-size:10px}.header-contact{gap:12px;padding:11px 13px;font-size:9px}}
@media(max-width:800px){.site-header{position:fixed}.header-contact{padding:10px 12px;font-size:9px}.final-cta{scroll-margin-top:78px}.space-gallery{padding:90px 14px;scroll-margin-top:78px}.space-gallery-heading{display:block;margin:0 8px 38px}.space-gallery-heading h2{margin-top:15px}.space-gallery-grid{display:block}.space-gallery-grid figure{height:58vw;min-height:260px;margin-bottom:12px}.space-gallery-grid figure:nth-child(2),.space-gallery-grid figure:nth-child(5),.space-gallery-grid figure:nth-child(n+9){height:105vw;max-height:620px}.space-page-hero{padding:135px 22px 55px}.space-page .space-gallery{padding-top:14px}.space-page-return{padding-bottom:90px}}
@media(max-width:430px){.header-contact{padding:9px 10px;font-size:8px;gap:8px}.brand img{width:52px}}
