/* Local art direction preview: walnut, handmade paper and warm Italian earth tones. */
:root{--petrol:#75432e;--petrol-deep:#432b20;--ivory:#f3e5c8;--cream:#f3e5c8;--ink:#3e2c20;--terra:#974a30;--muted:#77614b;--gold:#d8bc82;--wood:url('/assets/walnut-natural.webp');--osteria-paper:radial-gradient(ellipse at 20% 10%,#fff8e990,transparent 65%),repeating-linear-gradient(5deg,#815e3006 0px,#815e3006 1px,transparent 1px,transparent 4px),repeating-linear-gradient(95deg,#815e3004 0px,#815e3004 1px,transparent 1px,transparent 5px)}
body{background:#382519 var(--wood);background-size:1000px auto;color:var(--ink)}
header,.ribbon{background-color:#412b1e;background-image:linear-gradient(#2e1a0d78,#2e1a0d78),var(--wood);background-size:1000px auto;border-color:#a68450;color:#f1dfb7}
header{border-bottom:3px double #ad8a54;box-shadow:0 4px 14px #24160d45}header nav>a:not(.button):not(.nav-phone){color:#f4e5c5}header .brand-top{color:#d5b983}.language-switch{color:#f0ddba}
.hero,.moments{background-color:#4d3220;background-image:linear-gradient(#3e271551,#3e271551),var(--wood);background-size:1100px auto}
.hero{padding:32px;gap:26px}.hero-copy{margin:0;background-color:#f3e5c8;background-image:var(--osteria-paper);border:1px solid #ae8d5b;outline:1px solid #b59b7040;outline-offset:-10px;box-shadow:0 5px 20px #21130b50,inset 0 0 55px #9f703214}
.hero h1,.section h2,.moments-copy h2,.menu-intro h1,.legal-content h1,.legal-content h2{color:#432e20}.hero h1 em,.section h2 em,.moments-copy h2 em,.menu-intro h1 em{color:#945032}.hero .intro,.hero .eyebrow,.hero-phone span{color:#725c43}.hero-phone strong{color:#74442e}.hero .rustic-ornament{color:#987540}.hero-foot{color:#8a704d;border-color:#bda377}.hero-image{border:5px solid #be9a62;box-shadow:0 5px 20px #21130b50}.seal{background:#ebd5a8;color:#6d452c;border:3px double #a78149}
.section,.visit,.menu-content-layout{background-color:#f2e5ca;background-image:var(--osteria-paper)}.welcome{background-color:#f7edd8}.kitchen{background-color:#e5d1ab}.eyebrow{color:#89663e}.welcome-text p,.visit p,.visit dl,.food-list p,.moments-copy p:not(.eyebrow){color:#6a543e}.welcome-photo img{border:6px solid #dcc59b;box-shadow:0 3px 12px #44281425}.welcome-photo figcaption,.photo-note{color:#7b6042;font-style:italic}
.kitchen-gallery img{border:6px solid #f1dfbb;box-shadow:0 5px 14px #4b2e1b35}.kitchen-gallery figcaption{color:#5b3b27}.food-list h3{color:#65412b}.food-list article{border-color:#b99c6f70}.food-list article>a{color:#794b30;border-radius:4px;border-color:#a6875b}.order-line{background:#dfc69b var(--osteria-paper);border:1px solid #ae8952}.order-line p{color:#583a27}.moments-photo{border:5px solid #be9a62}.moments-copy{background-color:#eeddbb;background-image:var(--osteria-paper);border:1px solid #b08e56}.moments-copy .amenities{color:#6b653f}.contact-links .contact-phone{color:#854a30}.contact-links a{color:#6d4d32}.visit-summary{background:#e3cca3 var(--osteria-paper);color:#5b3b28;border-block:3px double #b39059}.visit-summary a{color:#7f452d}
.button,.button[data-reserve],.hero .actions [data-reserve],.button.route-button:not(.header-route){background:#8a472e;border-color:#783c26;color:#fff1d3;border-radius:5px;box-shadow:0 3px 0 #60301f,0 5px 12px #42241425}.button:hover,.button[data-reserve]:hover,.hero .actions [data-reserve]:hover{background:#a15938;border-color:#8e4a2e}.button[data-order],.hero .actions .button-order,.order-line .button[data-order]{background:transparent;border-color:#9e7b50;color:#70442d;border-radius:5px;box-shadow:none}.hero .menu-link,.text-link{color:#795034}
header .button[data-reserve],.reservation-box .button[data-reserve]{background:#dfc38e;border-color:#e8d1a3;color:#4f3020;box-shadow:0 2px 0 #a7804b}header .button[data-order],.reservation-box .button[data-order]{color:#ebd3a8;border-color:#ad8b57}.reservation-box,footer{background-color:#392719;background-image:linear-gradient(#2b1a0d80,#2b1a0d80),var(--wood);background-size:1000px auto;color:#ecd9b4;border-color:#a7844d}.reservation-box p{color:#e3cea8}.reservation-box .phone{color:#e9d3aa}.reservation-box h3{color:#f6e5c3}footer>div{color:#ddc69d;border-color:#ac8a58}footer>p{color:#e6cfa5}footer .footer-brand .written-name{color:#eed5a0}
.social-bar{background:#d9bd8e var(--osteria-paper);border-color:#ac8b58}.social-bar p{color:#63432c}.social-bar em{color:#8d4d31}.social-bar>div .social-button{background:#eee0bd;border-color:#aa8c59;color:#654c30;border-radius:4px}
.menu-intro{background:#ddc294 var(--osteria-paper)}.menu-intro p:not(.eyebrow),.menu-breadcrumb{color:#6d543b}.menu-intro img{border:6px solid #f2e3c4}.menu-controls input,.menu-controls select{background:#faf0da;border-color:#b39464;color:#553d28;border-radius:4px}.menu-controls label,.category-filter{color:#705738}.category-filter.active{background:#716c42;color:#fff0d2}.category-filter.active span{color:#ecdbb3}.menu-category-heading h2,.dish h3{color:#61402a}.dish-price{color:#9a4a2d}.dish p,.category-description,.category-empty{color:#6c563d}.dish{border-color:#b49b7070}.menu-information,#menu-no-results{background:#e2cca4 var(--osteria-paper);border-color:#b49660}.menu-information p{color:#654e35}
.legal-page{background:#4c3322 var(--wood);background-size:1000px auto}.legal-page .legal-content{background-color:#f2e4c8;background-image:var(--osteria-paper);color:#513b28;border:1px solid #b69a68;box-shadow:0 5px 22px #21130b40}.legal-page .legal-content p{color:#654d35}.legal-page .legal-content a{color:#88472e}.cookie-notice{background:#f3e4c6 var(--osteria-paper);color:#543e29;border-color:#b28e58;border-radius:4px}.cookie-notice button{background:#82442d;color:#fff0d2}
@media(max-width:750px){.hero{padding:13px;gap:16px}.hero-copy{padding:30px 7%}.hero-image{border-width:4px}.mobile-actions{background:#39271bf7;border-color:#ad8b57}.mobile-actions a,.mobile-actions a:last-child{border-radius:4px;color:#ead3aa;border-color:#a88755}.mobile-actions a[data-reserve]{background:#dec18a;color:#493021;border-color:#e6d0a5}.moments{padding:13px}.menu-preview-section .menu-page-button{border-radius:5px}.legal-page .legal-content{margin:24px 16px 40px}.cookie-notice button{border-radius:4px}}
/* Preview only: warm the logo's white highlights to match the cream paper. */
.logo-core{filter:drop-shadow(0 2px 6px #0005)}

/* An open welcome scene, with immediate links into the restaurant. */
.arrival{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;isolation:isolate;padding:56px 24px;background:#302117;overflow:hidden;text-align:center;color:#f8ead0}.arrival-photo,.arrival-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.arrival-photo{object-fit:cover;object-position:center;filter:brightness(.75) saturate(.8)}.arrival-shade{z-index:-1;background:linear-gradient(180deg,#24160c66,#24160c77 50%,#24160cbf)}.arrival-content{width:100%;max-width:780px;display:flex;align-items:center;flex-direction:column}.arrival-content .logo-halo{width:142px;height:190px;margin-bottom:24px}.arrival-welcome{font:italic 24px/1.5 Georgia,serif;letter-spacing:1px;margin:0 0 12px;color:#f0dbb4}.arrival h1{font:clamp(52px,7.8vw,100px)/1.04 Georgia,serif;font-weight:400;letter-spacing:-2px;margin:0;color:#fff0cf;text-shadow:0 3px 16px #0005}.arrival h1>span{display:block;font-size:.36em;font-style:italic;letter-spacing:1px;margin-bottom:14px}.arrival-subtitle{font:17px/1.5 Georgia,serif;text-transform:uppercase;letter-spacing:5px;margin:24px 0 12px;color:#e4c791}.arrival-place{font:16px/1.7 Georgia,serif;color:#f2dfbf;margin:0}.arrival-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px;margin-top:34px}.arrival-actions .button{background:#e6cb96;color:#472d1c;border-color:#f4dfb4;box-shadow:0 3px 0 #987342;padding:16px 30px}.arrival-reserve{color:#fff0d2;text-decoration:underline;text-underline-offset:6px;padding:14px}.arrival-scroll{position:absolute;bottom:20px;left:calc(50% - 20px);width:40px;height:35px;display:flex;justify-content:center;align-items:center}.arrival-scroll span{width:13px;height:13px;border-right:1px solid #e6cb96;border-bottom:1px solid #e6cb96;transform:rotate(45deg)}#restaurant-start{scroll-margin-top:0}.hero .hero-title{font-size:clamp(43px,4.6vw,70px);line-height:1.09;letter-spacing:-1.7px;margin-bottom:24px;color:#432e20}.hero .hero-title em{color:#945032}.hero .hero-title:after{display:none}@media(max-width:750px){.arrival{min-height:calc(100svh - 65px);padding:36px 22px 56px}.arrival-content .logo-halo{width:110px;height:146px;margin-bottom:20px}.arrival-welcome{font-size:20px}.arrival h1{font-size:clamp(45px,12vw,62px);letter-spacing:-1px}.arrival-subtitle{font-size:14px;letter-spacing:3px;margin-top:22px}.arrival-place{font-size:14px}.arrival-actions{flex-direction:column;gap:8px;margin-top:24px}.arrival-actions .button{min-width:240px}.hero .hero-title{font-size:clamp(34px,10.5vw,46px);line-height:1.13;letter-spacing:-1px}}

/* Welcome screen appears briefly, then reveals the page underneath. */
.arrival-intro{position:fixed;inset:0;z-index:2000;min-height:100svh;overflow:auto;transition:opacity 1.6s ease-in-out,visibility 1.6s;opacity:1;visibility:visible}.intro-active{overflow:hidden}.intro-active body>header,.intro-active body>main,.intro-active body>footer,.intro-active .mobile-actions{visibility:hidden}.arrival-intro.intro-leaving{opacity:0;visibility:hidden;pointer-events:none}.arrival-intro .arrival-content{padding:18px 0}.arrival-intro .arrival-scroll{display:none}.arrival-intro .arrival-actions{margin-top:25px}.arrival-intro .logo-halo{width:110px;height:148px;margin-bottom:16px}.arrival-intro h1{font-size:clamp(48px,7vw,88px)}@media(max-width:750px){.arrival-intro{min-height:100svh;padding:26px 22px}.arrival-intro .logo-halo{width:90px;height:120px}.arrival-intro .arrival-subtitle{line-height:1.8;letter-spacing:2px}.arrival-intro .arrival-actions{margin-top:20px}.arrival-intro h1{font-size:clamp(40px,11vw,60px)}}@media(prefers-reduced-motion:reduce){.arrival-intro{transition:none}}
.intro-active .hero .focus-word{animation-play-state:paused}

/* Keep the privacy notice opaque even if the paper texture variable is unavailable. */
.cookie-notice{background:#f3e4c6;background-image:none;opacity:1;color:#3e2c1f;border:2px solid #9b7746;box-shadow:0 8px 40px #0006;isolation:isolate}
.cookie-notice h2,.cookie-notice p,.cookie-notice a{color:#3e2c1f}
.cookie-notice button{background:#743d29;color:#fff;border:1px solid #743d29;min-height:44px;font-weight:600}
.cookie-notice button:hover{background:#5d2e1f}
