:root{--ink:#262520;--paper:#f5f1eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}html.pointer-input :focus{outline:none}html.keyboard-input :focus-visible{outline:2px solid currentColor;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,p{margin:0}.skip{position:fixed;top:-100px;left:20px;z-index:30;background:white;color:var(--ink);padding:15px}.skip:focus{top:15px}.hero{position:relative;isolation:isolate;height:100svh;min-height:760px;color:white}.hero-photo,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-photo{object-position:50% 49%}.hero-shade{z-index:-1;background:linear-gradient(180deg,#13131040 0%,#15131060 40%,#15131065 78%,#15131035 100%)}.hero:after{content:"";position:absolute;z-index:-1;bottom:-1px;left:0;right:0;height:155px;background:linear-gradient(transparent,rgba(245,241,235,.44) 60%,var(--paper));pointer-events:none}.header{position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:32px 5%}.small-brand{font:36px/.9 Georgia,serif;letter-spacing:-2px}.about-link{font-size:15px;padding:10px 0;border-bottom:1px solid #ffffff90}.hero-content{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:90px 24px 115px}.hero h1{font:normal clamp(82px,13vw,180px)/1 Georgia,serif;letter-spacing:-.065em;padding-right:.065em}.brand-subtitle{font-size:12px;letter-spacing:.46em;padding-left:.46em;margin-top:20px}.hero-actions{display:flex;flex-direction:column;gap:12px;width:min(290px,100%);margin-top:50px}.hero-actions button,.hero-actions a{display:flex;align-items:center;justify-content:center;min-height:50px;border:1px solid white;border-radius:50px;background:white;color:#25231f;font-size:15px;line-height:1.3;text-align:center;padding:14px 20px;transition:background .2s,transform .2s}.hero-actions button:hover,.hero-actions a:hover{background:#eeeae3;transform:translateY(-2px)}.scroll-cue{position:absolute;bottom:40px;left:calc(50% - 24px);width:48px;height:48px;display:grid;place-items:center;color:var(--ink)}.scroll-cue span{height:24px;width:1px;background:currentColor;position:relative}.scroll-cue span:after{content:"";position:absolute;bottom:0;left:-4px;width:8px;height:8px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}.about{padding:95px 5% 70px;max-width:1600px;margin:auto}.about-intro{display:grid;grid-template-columns:1fr 1.6fr;gap:8%;padding:0 3% 75px;align-items:start}.about h2{font:normal clamp(46px,6vw,80px)/1.1 Georgia,serif;letter-spacing:-.045em}.about-copy{max-width:670px;font-size:19px;line-height:1.7}.about-copy p+p{margin-top:20px;color:#706d65}.collage{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,310px);gap:8px}.photo{padding:0;border:0;overflow:hidden;background:#d6cdbf;cursor:zoom-in}.photo img{transition:transform .7s}.photo:hover img{transform:scale(1.025)}.terrace{grid-column:1/3;grid-row:1}.oven{grid-column:3;grid-row:1/3}.table{grid-column:4;grid-row:1}.pizza{grid-column:1/3;grid-row:2}.pizza img{object-position:center 50%}.olive{grid-column:4;grid-row:2}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:0 5%;padding:30px 0 40px;border-top:1px solid #dedcd6}footer>a:last-child{font-size:14px}.notice,.lightbox{border:0;padding:0;max-width:calc(100vw - 32px);color:var(--ink)}dialog::backdrop{background:#151411d9}.notice{width:390px;min-height:210px;padding:90px 32px 65px;text-align:center;border-radius:4px}.notice h2{font:normal 34px Georgia,serif}.close-button{position:absolute;right:14px;top:14px;z-index:1;width:44px;height:44px;border-radius:50%;border:1px solid #ffffff90;color:white;background:#24221dcc}.close-button:before,.close-button:after{content:"";position:absolute;top:50%;left:13px;width:16px;height:1px;background:currentColor;transform:rotate(45deg)}.close-button:after{transform:rotate(-45deg)}.notice .close-button{background:#f1eee9;color:var(--ink);border:0}.lightbox{background:transparent;max-height:92svh;overflow:visible}.lightbox img{width:auto;height:auto;max-width:calc(100vw - 32px);max-height:90svh;object-fit:contain}.reveal{transition:opacity .8s,transform .8s}.motion .reveal{opacity:0;transform:translateY(25px)}.motion .reveal.visible{opacity:1;transform:none}@media(min-width:1600px){.collage{grid-template-rows:repeat(2,360px)}}@media(max-width:700px){.hero{min-height:700px}.header{padding:28px 24px}.small-brand{font-size:30px}.hero-content{padding-top:105px;padding-bottom:110px}.hero h1{font-size:clamp(76px,20vw,120px)}.brand-subtitle{font-size:10px;margin-top:16px}.hero-actions{margin-top:42px;gap:11px;width:260px}.hero-actions button,.hero-actions a{min-height:48px;font-size:14px}.hero:after{height:125px}.scroll-cue{bottom:20px}.about{padding:65px 20px 40px}.about-intro{display:block;padding:0 4px 38px}.about h2{font-size:48px;margin-bottom:27px}.about-copy{font-size:16px;line-height:1.7}.about-copy p+p{margin-top:16px}.collage{grid-template-columns:repeat(2,1fr);grid-template-rows:220px 250px 210px;gap:5px}.terrace{grid-column:1/3;grid-row:1}.oven{grid-column:1;grid-row:2}.table{grid-column:2;grid-row:2}.pizza{grid-column:1;grid-row:3}.olive{grid-column:2;grid-row:3}footer{margin:0 24px;padding:26px 0 32px}footer .small-brand{font-size:27px}footer>a:last-child{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.motion .reveal{opacity:1;transform:none}}

/* Native horizontal scrolling keeps the whole photo responsive to touch. */
.about{position:relative;isolation:isolate;background:var(--paper);max-width:none;padding-left:0;padding-right:0;overflow:hidden}
.about-intro{position:relative;z-index:1;max-width:1400px;margin:auto;padding-left:8%;padding-right:8%}
.about:after{content:"";position:absolute;z-index:-1;pointer-events:none;top:-55px;right:-100px;width:min(60vw,650px);aspect-ratio:1;background:url('assets/botanical-shadow.png') center/contain no-repeat;mix-blend-mode:multiply;opacity:.28}
.carousel{position:relative;outline-offset:-4px}
.carousel-window{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.carousel-window::-webkit-scrollbar{display:none}
.carousel-track{position:relative;display:flex;width:max-content;padding-inline:15vw;gap:7vw}
.carousel-slide{margin:0;flex:0 0 70vw;width:70vw;scroll-snap-align:center;scroll-snap-stop:always;opacity:.35;transition:opacity .5s}
.carousel-slide.is-active{opacity:1}
.photo-button{display:block;width:100%;aspect-ratio:3/2;padding:0;border:0;overflow:hidden;background:#d6cdbf;cursor:zoom-in;touch-action:auto;-webkit-touch-callout:none;user-select:none}
.photo-button img{pointer-events:none;user-select:none;-webkit-user-drag:none;object-position:50% 48%}
.photo-button img[src$="table.jpg"]{object-position:50% 72%}
.photo-button img[src$="oven.jpg"]{object-position:50% 35%}
.carousel-arrow{position:absolute;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:1px solid #dedcd6;border-radius:50%;background:white;color:#262520;font:32px/1 Georgia,serif;z-index:2;display:grid;place-items:center}
.carousel-prev{left:11.5%}.carousel-next{left:88.5%}
@media(max-width:700px){.about-intro{padding-left:24px;padding-right:24px}.about:after{width:330px;right:-130px;top:5px;opacity:.22}.carousel-track{padding-inline:9vw;gap:4vw}.carousel-slide{flex-basis:82vw;width:82vw}.photo-button{aspect-ratio:4/3}.carousel-arrow{width:36px;height:36px;font-size:26px}.carousel-prev{left:9%}.carousel-next{left:91%}}

/* Navigation and contact details. */
.nav-toggle{width:48px;height:48px;border:0;background:transparent;color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px}
.nav-toggle span{display:block;width:30px;height:2px;background:currentColor;border-radius:2px}
.nav-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(400px,88vw);height:100dvh;max-height:none;max-width:none;padding:70px 44px;border:0;background:#795440;color:#fffaf3;overflow-y:auto}
.nav-drawer[open]{animation:drawer-in .3s ease-out}
.nav-drawer::backdrop{background:#f3ede4a6}
.nav-drawer .close-button{background:transparent;border:0;right:18px;top:18px}
.drawer-brand{font:46px/.95 Georgia,serif;letter-spacing:-2px;margin:10px 0 52px}.drawer-brand span{display:block;font:10px/1.2 Arial,sans-serif;letter-spacing:4px;margin:14px 0 0 5px}
.nav-drawer nav{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.nav-drawer nav a,.nav-drawer nav button{display:block;text-align:left;border:0;padding:10px 0;background:none;color:inherit;font:32px/1.25 Georgia,serif}
.nav-drawer nav a:hover,.nav-drawer nav button:hover{color:#e8d1b8}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
.contacts{position:relative;isolation:isolate;overflow:hidden;padding:80px 8% 65px;background:var(--paper);scroll-margin-top:0}
.contacts:after{content:"";position:absolute;z-index:-1;right:-70px;bottom:-160px;width:min(70vw,850px);aspect-ratio:1;background:url('assets/botanical-shadow.png') center/contain no-repeat;mix-blend-mode:multiply;opacity:.38;pointer-events:none}
.contacts-inner{max-width:1200px;margin:auto}.contacts h2{font:normal clamp(48px,6vw,80px)/1.1 Georgia,serif;letter-spacing:-.045em;margin:0 0 35px;color:#795440}
.contact-item{max-width:670px;border-bottom:1px solid #cbbbaa;padding:24px 0}.contact-item:last-child{border:0;padding-bottom:0}.contact-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#796d63;margin-bottom:14px}.contact-phone{display:inline-block;font:normal clamp(27px,3.2vw,43px)/1.2 Georgia,serif;color:#795440}.contact-phone:hover{text-decoration:underline;text-underline-offset:6px}.contacts address{font-style:normal;font-size:22px;line-height:1.5}.hours{margin:0;font-size:18px;line-height:1.6}.hours div{display:flex;justify-content:space-between;gap:24px;margin-top:7px}.hours dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}main+footer{background:var(--paper);margin:0;padding:32px 8%;border-color:#e3dbcf}footer>span{font-size:10px;letter-spacing:.25em;color:#796d63}
@media(max-width:700px){.contacts{padding:55px 24px 40px}.contacts h2{font-size:48px;margin-bottom:20px}.contacts address{font-size:19px}.contact-phone{font-size:29px}.hours{font-size:15px}.hours div{gap:12px}.contacts:after{width:450px;right:-235px;bottom:-90px;opacity:.25}.nav-drawer{padding:70px 30px}.drawer-brand{font-size:42px}.nav-drawer nav a,.nav-drawer nav button{font-size:30px}main+footer{padding:28px 24px}}
@media(max-width:360px){.hours div{display:block}.hours dd{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.nav-drawer[open]{animation:none}}

/* Reveal the gallery as one unit without interfering with horizontal scrolling. */
.carousel.reveal{transition:opacity 1s ease,transform 1s cubic-bezier(.22,.61,.36,1)}
.motion .carousel.reveal{transform:translateY(48px)}
.motion .carousel.reveal.visible{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.motion .carousel.reveal{transform:none}}

.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}.contact-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 25px;border:1px solid #795440;border-radius:30px;background:#795440;color:#fffaf3;font-size:15px;line-height:1.35;transition:background .2s,color .2s}.contact-button:hover{background:#60412f}.contact-button-outline{background:transparent;color:#795440}.contact-button-outline:hover{background:#795440;color:#fffaf3}@media(max-width:700px){.contact-actions{flex-direction:column;align-items:stretch;max-width:330px}.contact-button{width:100%}}

/* Fixed navigation and guest actions. */
html{scroll-padding-top:71px}.header{position:fixed;inset:0 0 auto;z-index:20;height:51px;padding:0 32px;display:grid;grid-template-columns:1fr auto 1fr;background:#5a3522;color:#fffaf3;border-bottom:1px solid #ffffff25;box-shadow:0 2px 16px #33251a0c}.header .small-brand{grid-column:2;font-size:36px;white-space:nowrap}.header .nav-toggle{grid-column:3;justify-self:end}.hero-content{padding-top:130px}.floating-telegram,.floating-booking{position:fixed;z-index:15;right:24px;box-shadow:0 4px 18px #33251a1c}.floating-telegram{bottom:112px;width:70px;height:54px;padding:10px 18px;border:0;border-radius:15px;background:#5a3522;display:grid;place-items:center}.floating-telegram svg{width:34px;height:34px}.floating-booking{bottom:24px;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 30px;border-radius:40px;background:#5a3522;color:#fffaf3;font-size:17px;line-height:1.4}.floating-booking:hover{background:#482a1b}.floating-telegram:hover{background:#482a1b}main+footer{padding-bottom:110px}.contacts{scroll-margin-top:0}.contacts,.contacts .contact-label,.contacts .contact-phone,.contacts address,.contacts .hours,.contacts .contact-button{font-family:Georgia,'Times New Roman',serif;font-weight:normal}.contacts .contact-label{font-size:22px;line-height:1.5;text-transform:none;letter-spacing:0;color:#795440}.contacts .contact-phone,.contacts address,.contacts .hours{font-size:22px;line-height:1.5}.contacts .contact-button{font-size:18px}.contacts .contact-phone{color:#795440}.hours div{gap:24px}.contacts .contact-item{max-width:690px}.contacts:after{right:-100px}.contacts-inner{position:relative;padding-right:60px}
@media(max-width:700px){html{scroll-padding-top:63px}.header{height:44px;padding:0 16px}.header .nav-toggle{height:44px}.header .small-brand{font-size:30px}.hero-content{padding-top:110px}.floating-telegram,.floating-booking{right:16px}.floating-telegram{bottom:calc(88px + env(safe-area-inset-bottom));width:58px;height:48px;padding:9px 14px;border-radius:13px}.floating-telegram svg{width:30px;height:30px}.floating-booking{bottom:calc(16px + env(safe-area-inset-bottom));min-height:48px;font-size:16px;padding:12px 23px}.contacts-inner{padding-right:0}.contacts .contact-label,.contacts .contact-phone,.contacts address,.contacts .hours{font-size:19px}.contacts .hours div{display:block;margin-top:12px}.contacts .hours dd{margin-top:2px}.contacts .contact-button{font-size:17px}.contacts{padding-right:82px}.contact-actions{width:100%;gap:10px}.contact-button{padding-inline:14px}main+footer{padding-bottom:calc(112px + env(safe-area-inset-bottom))}}

/* One shared typographic treatment across the page. */
.about-copy,.hero-actions button,.hero-actions a,.floating-booking{font-family:Georgia,'Times New Roman',serif}.about-copy{color:var(--ink)}.about-copy p+p{color:#706d65}.contact-label{color:#795440}.contacts h2{color:var(--ink)}

/* Bring the complete contacts block into view as a single gentle movement. */
.contacts-inner.reveal{transition:opacity 1s ease,transform 1s cubic-bezier(.22,.61,.36,1)}
.motion .contacts-inner.reveal{transform:translateY(48px)}
.motion .contacts-inner.reveal.visible{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.motion .contacts-inner.reveal{transform:none}}
