:root{--ink:#29352e;--paper:#faf7f0;--sand:#eee8dc;--muted:#686e65;--accent:#a16b43}body{color:var(--ink)}body>header{position:relative;background:var(--paper);padding:12px 6%;min-height:120px;border-bottom:1px solid #ded8cb}.brand-logo{width:96px;height:96px;mix-blend-mode:multiply}.new-logo{overflow:hidden}.hero{height:730px;min-height:620px;max-height:900px;background:linear-gradient(90deg,rgba(17,23,18,.86) 0%,rgba(17,23,18,.62) 35%,rgba(17,23,18,.08) 80%),url('assets/pizza.jpg') center 63%/cover}.hero-inner{padding:70px 7%}.hero h1{font-size:clamp(55px,6.4vw,94px);line-height:1.08;letter-spacing:-3px;max-width:1000px}.hero-title-line{display:block}.hero em{color:#e8c396}.hero .eyebrow{color:#f0d6b5}.hero-bottom{left:7%;right:7%;bottom:30px}.hero .intro{font-size:17px}.button{border-radius:2px}.ribbon{padding:21px 5%;background:#eee8dc;color:#675a49}.section{max-width:1440px;padding:96px 7%}.about{gap:8%;padding-top:110px;padding-bottom:95px}.about figure{position:relative}.about figure img{height:520px;border-radius:160px 160px 2px 2px;object-position:center}.about h2{font-size:clamp(38px,3.7vw,57px)}.eyebrow{color:#976c47}.kitchen{padding-top:20px;padding-bottom:100px}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.food-grid a:hover{text-decoration:none}.food-grid img{width:100%;height:330px;object-fit:cover;transition:transform .3s}.food-grid a:nth-child(2){padding-top:45px}.food-grid span{display:block;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;margin:19px 0 10px;color:#82694f}.food-grid h3{font-size:34px;margin:0}.food-grid a:hover img{transform:translateY(-5px)}.menu-section{background:#eee8dc}.menu-heading .menu-logo{width:150px}.menu-search input{background:#faf7f0}.gallery{grid-template-columns:repeat(4,1fr);gap:28px 20px}.gallery img{height:270px;border-radius:2px}.gallery button:first-child,.gallery button:nth-child(2){grid-column:span 2}.gallery button:first-child img,.gallery button:nth-child(2) img{height:380px}.gallery span{font-size:10px;line-height:1.7}.reserve{background:linear-gradient(#1b2a23df,#1b2a23e8),url('assets/wein.jpg') center/cover;padding:100px 20px}.reserve .eyebrow{color:#d9b890}footer{background:#eae4d8}.footer-top .brand-logo{width:110px;height:110px}@media(max-width:760px){body>header{min-height:102px;padding:8px 6%}.brand-logo{width:85px;height:85px}.hero{height:690px;min-height:600px;background-position:57% center}.hero h1{font-size:55px;letter-spacing:-2px}.hero-inner{padding:60px 7%}.hero-bottom{font-size:7px}.ribbon{font-size:8px;gap:15px}.section{padding:65px 7%}.about figure img{height:390px;border-radius:120px 120px 2px 2px}.kitchen{padding-top:0}.food-grid{grid-template-columns:1fr;gap:30px}.food-grid a:nth-child(2){padding-top:0}.food-grid img{height:330px}.food-grid h3{font-size:31px}.gallery{grid-template-columns:1fr 1fr;gap:24px 14px}.gallery button:first-child,.gallery button:nth-child(2){grid-column:span 2}.gallery img{height:210px}.gallery button:first-child img,.gallery button:nth-child(2) img{height:300px}.menu-heading{grid-template-columns:95px 1fr}.menu-heading .menu-logo{width:95px}}

/* Original logo: sequential entrance, with a static accessible reduced-motion state. */
body>header{min-height:202px;padding-top:12px;padding-bottom:12px;gap:28px}
body>header .brand-logo{width:178px;height:178px;display:block;flex-shrink:0}
.flowing-logo{overflow:hidden;isolation:isolate}.logo-flow-piece{transform-box:view-box;animation:logo-letter-in .85s cubic-bezier(.2,.7,.2,1) var(--delay) both}
@keyframes logo-letter-in{from{opacity:0;transform:translateX(var(--from))}to{opacity:1;transform:translateX(0)}}
.flowing-logo.logo-waiting .logo-flow-piece{animation-play-state:paused}
.menu-heading .menu-logo{width:220px;height:auto}.menu-heading{grid-template-columns:220px 1fr;gap:35px}
.footer-top .brand-logo{width:160px;height:160px}
@media(max-width:1000px) and (min-width:761px){body>header{padding-left:4%;padding-right:4%;gap:20px}body>header nav{gap:15px}body>header .brand-logo{width:150px;height:150px}}
@media(max-width:760px){body>header{min-height:160px;padding:10px 6%}body>header .brand-logo{width:140px;height:140px}.menu-heading{grid-template-columns:130px 1fr;gap:20px}.menu-heading .menu-logo{width:130px}.footer-top .brand-logo{width:140px;height:140px}}
@media(prefers-reduced-motion:reduce){.logo-flow-piece{animation:none!important;opacity:1;transform:none}}

/* Four rim markers advance 90 degrees every five seconds, with a gentle 1.2-second turn. */
.logo-orbit{transform-origin:542px 725px;animation:logo-orbit 20s cubic-bezier(.45,0,.55,1) infinite}
@keyframes logo-orbit{0%,19%{transform:rotate(0deg)}25%,44%{transform:rotate(90deg)}50%,69%{transform:rotate(180deg)}75%,94%{transform:rotate(270deg)}100%{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.logo-orbit{animation:none}}

.about figure img{object-position:center 52%}

/* Kitchen photograph uses square corners on every screen size. */
.about figure img{border-radius:0}

.dish-gallery-section{padding-top:25px}.dish-filters{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 12px}.dish-filters button{font:inherit;font-size:13px;padding:11px 19px;border:1px solid #c5c0b4;background:transparent;color:var(--ink);cursor:pointer}.dish-filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.dish-filters button:focus-visible,.dish-photo:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.dish-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px;margin:20px 0}.dish-photo{display:block;text-align:left;border:0;padding:0;background:transparent;color:var(--ink);cursor:pointer;min-width:0}.dish-photo[hidden]{display:none}.dish-photo img{display:block;width:100%;height:215px;object-fit:cover;border-radius:0}.dish-photo span{display:block;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;padding:12px 0}.dish-photo-status{min-height:18px}@media(max-width:1000px){.dish-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.dish-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.dish-photo img{height:170px}.dish-filters{gap:8px}.dish-filters button{padding:10px 14px}.dish-gallery-section{padding-top:0}}

/* Curated kitchen gallery: individual dish titles and a compact opening selection. */
.dish-gallery-section{padding-top:35px;padding-bottom:85px}.dish-gallery-section .section-head>p{max-width:310px;line-height:1.7}.dish-photo-grid{gap:30px 22px}.dish-photo img{aspect-ratio:4/3;height:auto;transition:filter .2s}.dish-photo:hover img{filter:brightness(1.06)}.dish-photo .dish-photo-copy{padding:15px 0 0;letter-spacing:0;text-transform:none}.dish-photo-copy small{display:block;font-size:9px;letter-spacing:1.3px;text-transform:uppercase;color:#8b6549;margin-bottom:7px}.dish-photo-copy strong{display:block;font:400 23px/1.2 Georgia,serif;letter-spacing:-.3px}.dish-photo-copy>span{padding:7px 0 0;font-size:12px;line-height:1.55;letter-spacing:0;text-transform:none;color:var(--muted)}.food-show-more{display:block;margin:30px auto 20px;padding:13px 25px;background:transparent;border:1px solid #a6aa9e;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.food-show-more[hidden]{display:none}.food-show-more:hover{background:var(--sand)}.food-show-more:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.dish-filters button{border-radius:0}.dish-photo-grid{align-items:start}.gallery span{font-size:11px;letter-spacing:1px}#large{max-height:80vh}body>header nav{gap:20px}@media(max-width:1000px) and (min-width:761px){body>header nav{gap:12px;font-size:11px}body>header .brand-logo{width:135px;height:135px}}@media(max-width:760px){.dish-gallery-section{padding-top:10px;padding-bottom:60px}.dish-photo-grid{gap:25px 14px}.dish-photo-copy strong{font-size:21px}.dish-photo-copy>span{font-size:11px}.dish-photo-copy small{font-size:8px;letter-spacing:.8px}.dish-filters button{font-size:12px}}

.food-gallery-disclosure{border-top:1px solid #c5c0b4;border-bottom:1px solid #c5c0b4;margin-top:24px}.food-gallery-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0;cursor:pointer;list-style:none;font-size:15px;color:var(--ink)}.food-gallery-disclosure>summary::-webkit-details-marker{display:none}.food-gallery-disclosure>summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.gallery-toggle-icon{font-size:25px;font-weight:300;line-height:1}.gallery-close-label{display:none}.food-gallery-disclosure[open] .gallery-open-label{display:none}.food-gallery-disclosure[open] .gallery-close-label{display:inline}.food-gallery-disclosure[open] .gallery-toggle-icon{transform:rotate(45deg)}.food-gallery-content{padding-bottom:22px}.food-gallery-content .dish-filters{margin-top:5px}

.gallery-summary-preview{display:flex;gap:7px;flex-shrink:0}.gallery-summary-preview img{display:block;width:58px;height:58px;object-fit:cover;border-radius:0}.gallery-summary-text{flex:1;line-height:1.4}.gallery-summary-text small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.food-gallery-disclosure>summary:hover .gallery-summary-text{color:var(--accent)}@media(max-width:480px){.food-gallery-disclosure>summary{gap:12px}.gallery-summary-preview{gap:4px}.gallery-summary-preview img{width:38px;height:44px}.gallery-summary-text{font-size:14px}.gallery-summary-text small{font-size:10px}}

/* Original Da Gigi signature is written in after the other logo text. */
.signature-pen{stroke-dasharray:100;stroke-dashoffset:100;animation:signature-write 3.2s linear 2.8s both}.flowing-logo.logo-waiting .signature-pen{animation-play-state:paused}@keyframes signature-write{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.signature-pen{animation:none;stroke-dashoffset:0}}

.nav-label-close{display:none}.nav-toggle-symbol{position:relative;width:21px;height:18px;flex-shrink:0}.nav-toggle-symbol i{position:absolute;left:0;width:21px;height:1.5px;background:currentColor;transition:transform .25s,top .25s}.nav-toggle-symbol i:first-child{top:5px}.nav-toggle-symbol i:last-child{top:12px}#toggle[aria-expanded="true"] .nav-toggle-symbol i:first-child{top:8px;transform:rotate(45deg)}#toggle[aria-expanded="true"] .nav-toggle-symbol i:last-child{top:8px;transform:rotate(-45deg)}#toggle[aria-expanded="true"] .nav-label-open{display:none}#toggle[aria-expanded="true"] .nav-label-close{display:inline}#toggle:focus-visible{outline:3px solid var(--accent);outline-offset:5px}@media(max-width:1000px){body>header{flex-wrap:wrap}#toggle{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:48px;min-width:115px;padding:13px 21px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper);font:500 13px/1.1 Arial,sans-serif;letter-spacing:.4px;cursor:pointer;box-shadow:0 4px 14px #29352e12}#toggle:hover{background:#405345}#toggle[aria-expanded="true"]{background:transparent;color:var(--ink)}body>header #nav{padding:12px 22px 22px;margin-bottom:14px;background:#f0ece3;border:1px solid #e2ddcf;gap:0}body>header #nav>a:not(.button){display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #dcd6c8;font:400 21px/1.2 Georgia,serif}body>header #nav>a:not(.button)::after{content:'↗';font:16px Arial,sans-serif;color:var(--accent)}body>header #nav>.button{margin-top:18px;text-align:center;font-size:12px;padding:16px}body>header #nav.open{animation:menu-reveal .22s ease-out}@keyframes menu-reveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){.nav-toggle-symbol i{transition:none}body>header #nav.open{animation:none}}

/* A quieter selection of eight atmosphere photographs. */
#gallery{grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 24px}#gallery button{grid-column:span 2;min-width:0}#gallery button:first-child,#gallery button:nth-child(2){grid-column:span 3}#gallery img{height:auto;aspect-ratio:4/3;object-fit:cover;display:block}#gallery button:first-child img,#gallery button:nth-child(2) img{height:auto;aspect-ratio:3/2}#gallery span{display:block;font-size:12px;letter-spacing:.4px;text-transform:none;line-height:1.6;padding-top:12px}#gallery button:last-child img{object-position:center 65%}@media(max-width:760px){#gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}#gallery button{grid-column:span 1}#gallery button:first-child,#gallery button:nth-child(2){grid-column:span 2}#gallery span{font-size:11px}}

/* Final navigation and image-viewer review. */
html{scroll-padding-top:24px}.menu-category{scroll-margin-top:75px}.menu-heading>div{min-width:0}.email{overflow-wrap:anywhere}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}#gallery button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}#gallery img{width:100%;background:var(--sand)}.footer-bottom{font-size:11px;line-height:1.7}.food-gallery-content>.fine .underlink{display:inline-block;margin-left:8px}#lightbox{width:fit-content;max-width:94vw;padding:20px;overscroll-behavior:contain}#lightbox #large{max-height:65svh;max-width:calc(94vw - 40px)}#lightbox #caption{max-width:760px;line-height:1.6;margin:15px 0}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:24px;border-top:1px solid #ddd6c8;padding-top:12px}.lightbox-controls button{margin:0;width:44px;height:44px;padding:0;font-size:22px;border-radius:0}.lightbox-controls button:disabled{opacity:.35;cursor:default}#photo-position{font-size:12px;font-variant-numeric:tabular-nums;min-width:45px;text-align:center}#lightbox button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(min-width:761px) and (max-width:1000px){body>header #nav{display:none;width:100%;flex-direction:column;align-items:stretch}body>header #nav.open{display:flex}}
@media(max-width:760px){nav.menu-nav{position:sticky;top:0;z-index:20;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;gap:8px;padding:12px 0;margin:10px 0 25px;background:var(--sand);border-top:1px solid #d9d2c3;border-bottom:1px solid #d9d2c3;scrollbar-width:thin;scrollbar-color:#9b9b8e transparent}nav.menu-nav a{flex-shrink:0;white-space:nowrap;padding:11px 14px;font-size:12px}.menu-heading{grid-template-columns:100px minmax(0,1fr);gap:20px}.menu-heading .menu-logo{width:100px}.menu-heading h3{font-size:27px}.menu-search-field{min-width:0}.menu-search-field input{min-width:0}#lightbox{padding:15px}#lightbox #large{max-width:calc(94vw - 30px)}.hero h1{font-size:clamp(40px,8.9vw,55px)}}

body>header #nav>a:not(.button)::after{content:none}

/* Shared button style based on the header menu control. */
.button,.button.light,.dish-filters button,.food-show-more,#clear-search,#lightbox button,nav.menu-nav a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 22px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper);font:500 13px/1.3 Arial,sans-serif;letter-spacing:.3px;text-decoration:none;cursor:pointer;box-shadow:0 4px 14px #29352e12;transition:background .2s,color .2s,box-shadow .2s}
.button:hover,.button.light:hover,.dish-filters button:hover,.food-show-more:hover,#clear-search:hover,#lightbox button:hover,nav.menu-nav a:hover{background:#405345;border-color:#405345;color:var(--paper);text-decoration:none}
.dish-filters button[aria-pressed="true"]{background:var(--paper);color:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.button:focus-visible,.dish-filters button:focus-visible,.food-show-more:focus-visible,#clear-search:focus-visible,nav.menu-nav a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
#lightbox .lightbox-controls button{width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;font-size:22px;margin:0}
#lightbox #close{display:flex;margin-left:auto;padding:11px 20px;border-radius:999px}#clear-search[hidden],.food-show-more[hidden],.dish-filters button[hidden],nav.menu-nav a[hidden]{display:none}
.hero .actions .textlink{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;border:1px solid #faf7f0;border-radius:999px;color:var(--paper);font:500 13px/1.3 Arial,sans-serif;text-decoration:none}.hero .actions .textlink:hover{background:var(--paper);color:var(--ink)}
body>header #nav>.button{border-radius:999px}.reserve .button{border-color:#c3cbbd}.food-gallery-disclosure>summary{border-radius:999px;background:var(--ink);color:var(--paper);padding:14px 22px;box-shadow:0 4px 14px #29352e12}.food-gallery-disclosure{border:0}.gallery-summary-text small{color:#e1e7da}.food-gallery-disclosure>summary:hover{background:#405345}.food-gallery-disclosure>summary:hover .gallery-summary-text{color:var(--paper)}.gallery-summary-preview img{border-radius:8px}.food-gallery-content{padding-top:24px}
@media(max-width:760px){nav.menu-nav a{padding:11px 18px;min-height:44px;font-size:12px}.dish-filters button{padding:11px 17px;min-height:44px;font-size:12px}.hero .actions{gap:14px;flex-wrap:wrap}.food-gallery-disclosure>summary{padding:14px 18px}.gallery-summary-preview img{width:44px;height:44px}}
@media(max-width:400px){.food-gallery-disclosure>summary{gap:10px;padding:12px 15px}.gallery-summary-preview img{width:30px;height:38px}.gallery-summary-text{font-size:12px}.gallery-summary-text small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.button,.dish-filters button,.food-show-more,#clear-search,#lightbox button,nav.menu-nav a{transition:none}}

/* Mobile review: compact header, comfortable touch targets and short screens. */
@media(max-width:360px){body>header{min-height:136px;gap:12px;padding:10px 6%}body>header .brand-logo{width:116px;height:116px}#toggle{min-width:109px;padding:13px 17px}.hero .intro{font-size:16px;line-height:1.7}.hero-inner{padding-top:45px;padding-bottom:95px}}
@media(max-width:480px){.menu-heading{grid-template-columns:1fr;gap:16px}.menu-heading .menu-logo{width:110px}.menu-heading h3{font-size:29px}.menu-heading p{max-width:100%}.dish-photo-copy strong{overflow-wrap:anywhere}.footer-bottom a,.legal-footer a{display:inline-flex;align-items:center;min-height:44px}.footer-bottom summary{display:flex;align-items:center;min-height:44px;cursor:pointer}.visit .underlink{display:inline-flex;align-items:center;min-height:44px}.menu-search input{font-size:16px}.menu-search-field{gap:12px}}
@media(max-height:500px) and (max-width:1000px){body>header{min-height:104px;padding-top:8px;padding-bottom:8px}body>header .brand-logo{width:88px;height:88px}body>header #nav{max-height:calc(100svh - 120px);overflow-y:auto;margin-bottom:8px}body>header #nav>a:not(.button){font-size:18px;padding:11px 0}.hero{height:auto;min-height:540px}.hero-inner{padding-top:50px;padding-bottom:85px}}
nav.menu-nav a[aria-current="true"]{background:var(--paper);color:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.legal-header .legal-logo{display:block;width:104px;height:104px}.legal-logo .logo-flow-piece{animation:none!important;opacity:1;transform:none}.legal-logo .signature-pen{animation:none;stroke-dashoffset:0}.legal-logo .logo-orbit{animation:none}.legal-header .underlink{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper);font-size:12px;text-align:center;text-decoration:none}.legal-footer a{display:inline-flex;align-items:center;min-height:44px}.legal-header{gap:20px}@media(max-width:360px){.legal-header .legal-logo{width:85px;height:85px}.legal-header .underlink{max-width:150px}.legal-page h1{font-size:36px;letter-spacing:-1px}}

.legal-page h1{overflow-wrap:normal;hyphens:manual}

body:has(#lightbox[open]){overflow:hidden}

@media(max-width:760px){.visit a[href^="tel:"],.visit a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}.visit a.email{display:inline-block;line-height:1.6;padding:10px 0}}
