
/* DELPHI v0.9.1 – unified identity, immersive originals, accessibility */
:root{--delphi-brand-w:288px;--delphi-header-h:137px}
/* A single visual brand size across homepage and subpages. */
.header,.sub-header{height:var(--delphi-header-h)!important}
.header .logo-original,.sub-header .sub-brand{width:var(--delphi-brand-w)!important;min-width:var(--delphi-brand-w)!important;max-width:var(--delphi-brand-w)!important;flex:0 0 var(--delphi-brand-w)!important;height:100%!important;display:flex!important;align-items:center!important}
.header .logo-original img,.sub-header .sub-brand img{width:100%!important;height:auto!important;max-height:132px!important;max-width:100%!important;object-fit:contain!important;object-position:center left!important}
.header .header-inner,.sub-header .sub-header-inner{gap:23px}
.sub-header .sub-navigation>a{font-size:15px}
.sub-hero{padding-top:210px}
/* Instantly visible, floating back-to-top control on EVERY subpage. Homepage already has one. */
.sub-backtop{position:fixed;bottom:23px;right:23px;z-index:150;display:grid;place-items:center;width:58px;height:58px;border:1px solid #ffdbac;border-radius:50%;background:#e3b887;color:#13262d;font-size:29px;box-shadow:0 15px 50px #0007;transition:transform .25s,background .25s}
.sub-backtop:hover{transform:translateY(-6px);background:#f5d7b2}
/* Original PDFs, untouched in /downloads */
.menu-pdf-link{padding:25px;background:#eee4d7;border:1px solid #d6c2a9;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:27px 0 0}
.pdf-download-intro{display:flex;flex-direction:column;gap:3px}
.pdf-download-intro>span{font-size:10px;letter-spacing:.17em;color:#936b45;font-weight:760}
.pdf-download-intro strong{font:400 27px Georgia,serif;color:#172d35}
.pdf-download-intro small{font-size:12px;color:#6c736f}
.pdf-download-actions{display:flex;flex-wrap:wrap;gap:9px}
.menu-pdf-link .pdf-download-actions a{display:flex;align-items:center;gap:12px;min-height:52px;background:#142a33;color:white;padding:10px 18px;font-size:13px;border:1px solid #314853;transition:background .2s,transform .2s}
.menu-pdf-link .pdf-download-actions a:hover{background:#31525c;transform:translateY(-2px)}
.pdf-download-actions a>span{color:#f5cea0;font-weight:800;font-size:11px}.pdf-download-actions a>b{font-size:20px;margin-left:auto}
/* Cinematic gallery on real restaurant photo URLs */
.menu-gallery-section{padding:100px 0 130px;background:radial-gradient(ellipse at 50% 7%,#29424a 0%,#10232b 45%,#0a171e 100%);overflow:hidden}
.menu-gallery-head{max-width:950px;margin-bottom:46px}
.menu-gallery-head h2{font-size:clamp(49px,7vw,107px)}
.menu-cinema{position:relative}
.menu-cinema-stage{display:block;position:relative;width:100%;height:clamp(400px,63vw,730px);max-height:77vh;border:1px solid #ffffff38;background:#273a3f;overflow:hidden;cursor:zoom-in;padding:0;color:white;text-align:left}
.menu-cinema-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.05s cubic-bezier(.2,.8,.2,1),filter .7s;filter:saturate(1.02)}
.menu-cinema-stage:hover>img{transform:scale(1.065)}
.menu-cinema-stage>img.reveal-image{animation:cinema-fade .7s both}
@keyframes cinema-fade{from{opacity:.4;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}
.menu-cinema-shade{position:absolute;inset:0;background:linear-gradient(180deg,#06141e74 0%,transparent 40%,#07151de8 99%);pointer-events:none}
.menu-cinema-top{position:absolute;top:25px;left:31px;font-size:11px;letter-spacing:.26em;font-weight:790;color:#fff6e7;text-shadow:0 2px 10px #0008}
.menu-cinema-top i{font-style:normal;color:#d9a979;padding:0 12px}
.menu-cinema-text{position:absolute;left:clamp(24px,5vw,76px);right:24px;bottom:clamp(28px,5vw,65px);display:flex;flex-direction:column;align-items:flex-start}
.menu-cinema-text small{font-size:13px;letter-spacing:.25em;color:#f4bf82;font-weight:830}
.menu-cinema-text strong{font:400 clamp(40px,6.5vw,95px)/.98 Georgia,serif;letter-spacing:-.05em;max-width:950px;margin:15px 0 23px;text-shadow:0 5px 24px #0009}
.menu-cinema-text>span{border-bottom:1px solid #efdac0;padding-bottom:10px;font-size:12px;font-weight:730;letter-spacing:.14em}
.menu-cinema-text>span b{margin-left:15px;font-size:21px}
.menu-cinema-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0 16px}
.menu-cinema-controls button{width:58px;height:52px;border:1px solid #c4a27b7d;background:transparent;color:#f4d5b4;font-size:27px;transition:background .2s}
.menu-cinema-controls button:hover{background:#d4aa78;color:#1b2c30}
.menu-cinema-controls p{flex:1;margin:0;color:#c4d0cf;text-align:center;font-size:12px;letter-spacing:.1em}
.menu-cinema-controls em{font-style:normal;color:#d6a677}
.menu-film-label{display:flex;justify-content:space-between;margin:15px 0 14px;gap:20px;font-size:10px;color:#cca578;font-weight:800;letter-spacing:.16em}
.menu-photo-grid{display:flex!important;gap:13px!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 0 16px;scrollbar-color:#b78b5e #293c42;scrollbar-width:thin;min-height:205px;grid-auto-rows:auto!important;touch-action:pan-x pan-y}
.menu-photo,.menu-photo:nth-child(1),.menu-photo:nth-child(4),.menu-photo:nth-child(6),.menu-photo:nth-child(9){flex:0 0 clamp(185px,23vw,300px)!important;width:clamp(185px,23vw,300px)!important;min-height:195px!important;height:195px!important;grid-row:auto!important;grid-column:auto!important;scroll-snap-align:center;opacity:.68;transition:opacity .35s,box-shadow .35s;outline-offset:3px}
.menu-photo.is-preview,.menu-photo:hover,.menu-photo:focus-visible{opacity:1;box-shadow:inset 0 0 0 2px #d3a46f}
.menu-photo.is-preview::before{content:"";position:absolute;z-index:3;inset:0;box-shadow:inset 0 0 0 3px #deb283;pointer-events:none}
.menu-photo>span{left:15px!important;right:15px!important;bottom:14px!important}
.menu-photo>span b{font-size:20px!important}
/* Full screen immersive lightbox, with accessible native dialog */
.menu-lightbox{width:100vw!important;height:100dvh!important;max-height:100dvh!important;padding:60px 9vw 46px!important;border:0!important;background:#061217!important}
.menu-lightbox::backdrop{background:#02090eea}
.menu-lightbox figure img{max-height:calc(100dvh - 165px)!important;max-width:90vw!important;filter:drop-shadow(0 25px 38px #0009)}
.menu-lightbox figcaption{max-width:1000px;font-size:17px!important}
.menu-lightbox-prev{left:2vw!important}.menu-lightbox-next{right:2vw!important}
.menu-lightbox-close{right:26px!important;top:24px!important;width:52px!important;height:52px!important}
/* Epic chronology: a huge sticky original photo & alternating chapter cards */
.history-hero{background:linear-gradient(90deg,#081921f2 0%,#0c1e2bcc 48%,#08172293),url('./assets/originals/original-113681-img_14601.jpg') center/cover!important;min-height:min(88vh,900px)}
.history-hero::before{background:radial-gradient(circle at 50% 70%,transparent,#0007)}
.history-hero-orbit{position:absolute;right:-50px;bottom:-25px;color:#e4ad6c55;letter-spacing:.26em;font-size:clamp(13px,2vw,28px);white-space:nowrap;transform:rotate(-5deg)}
.chronicle{background:linear-gradient(180deg,#f0e5d5 0%,#fbf5ed 58%,#f1e5d6 100%)}
.chronicle-stage{background:#0d2028;box-shadow:0 25px 90px #0016213d;border:1px solid #c99f7260}
.chronicle-stage-media{height:min(55vh,550px)!important;min-height:320px!important;border:1px solid #ffffff36}
.chronicle-stage-media img{filter:none;position:relative;z-index:1}
.chronicle-stage-watermark{position:absolute;inset:auto 5% 1% auto;z-index:2;color:#ffffff51;font:400 clamp(48px,7vw,100px) Georgia,serif;letter-spacing:-.06em;pointer-events:none;text-shadow:0 2px 22px #0007}
.chronicle-stage-watermark span{color:#deb17b80}
.chronicle-photo-label{z-index:3;left:15px;right:auto;bottom:15px}
.chronicle-stage-year{font-size:clamp(50px,7vw,93px)!important;line-height:.9}
.chronicle-step{min-height:490px;padding:48px 0;transition:opacity .35s,filter .35s}
.chronicle-step.is-active{filter:drop-shadow(0 8px 18px #8b65311b)}
.chronicle-step:nth-of-type(even){padding-left:17%}
.chronicle-step:nth-of-type(odd){padding-right:13%}
.chronicle-step img{display:block!important;height:185px;object-fit:cover;box-shadow:10px 13px 0 #d3b58d;filter:saturate(.8)}
.chronicle-step small{display:block!important;margin-top:12px;color:#6f7670}
.chronicle-step-body{padding-top:23px}
.chronicle-step.is-active img{filter:saturate(1.05)}
.chronicle-step:nth-of-type(even) img{transform:translateX(-5px) rotate(1deg)}
.chronicle-step:nth-of-type(odd) img{transform:translateX(5px) rotate(-1deg)}
/* Real mobile experience: no clipped branding, no obscured scroll buttons */
@media(max-width:1150px) and (min-width:831px){
:root{--delphi-brand-w:235px;--delphi-header-h:115px}
.header .nav{gap:13px!important}.header .nav>a{font-size:13px!important}.header .header-cta{display:none!important}
.sub-navigation{gap:11px}.sub-navigation>a{font-size:12px}
}
@media(max-width:830px){
:root{--delphi-brand-w:202px;--delphi-header-h:103px}
.sub-header .sub-navigation{top:var(--delphi-header-h)!important}
.sub-hero{padding-top:165px!important}
.chronicle-stage{min-height:0!important;grid-template-columns:140px 1fr!important;padding:12px!important;top:0!important}
.chronicle-stage-media{height:122px!important;min-height:122px!important}
.chronicle-stage-watermark{font-size:27px}.chronicle-stage-year{font-size:33px!important}
.chronicle-step{min-height:320px}
.chronicle-step img{height:165px!important}
}
@media(max-width:650px){
:root{--delphi-brand-w:193px;--delphi-header-h:100px}
.header .mobile-toggle{margin-left:auto}
.header .nav{top:var(--delphi-header-h)!important}
.sub-header .sub-navigation{top:var(--delphi-header-h)!important}
.header .hero-content{padding-top:172px!important}
.sub-hero{padding-top:168px!important}
.menu-pdf-link{display:block;padding:20px}
.pdf-download-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:19px}
.pdf-download-actions a{justify-content:center;gap:9px!important;padding:9px!important;font-size:12px!important}
.menu-gallery-section{padding:68px 0 85px}
.menu-gallery-head h2{font-size:clamp(45px,12vw,64px)}
.menu-cinema-stage{height:69vh!important;min-height:400px!important;max-height:680px!important}
.menu-cinema-top{top:17px;left:16px;font-size:9px;letter-spacing:.13em}
.menu-cinema-text{left:19px;right:16px;bottom:29px}
.menu-cinema-text strong{font-size:clamp(39px,9vw,67px)}
.menu-cinema-text>span{font-size:10px}
.menu-cinema-controls button{width:50px;height:46px}
.menu-cinema-controls p{font-size:10px;line-height:1.3;letter-spacing:0}
.menu-photo-grid{gap:8px!important}
.menu-photo,.menu-photo:nth-child(1),.menu-photo:nth-child(4),.menu-photo:nth-child(6),.menu-photo:nth-child(9){flex-basis:65vw!important;width:65vw!important;height:185px!important;min-height:185px!important}
.menu-lightbox{padding:70px 10px 65px!important}
.menu-lightbox figure img{max-height:calc(100dvh - 185px)!important}
.menu-lightbox figcaption{font-size:12px!important;padding:3px 38px!important}
.chronicle-stage{grid-template-columns:106px 1fr!important;padding:8px!important}
.chronicle-stage-media{height:101px!important;min-height:101px!important}
.chronicle-stage-year{font-size:30px!important}
.chronicle-step{min-height:330px;padding:40px 0}
.chronicle-step img{height:172px!important}
.sub-backtop{width:49px;height:49px;right:14px;bottom:15px;font-size:26px}
}
@media(max-width:390px){:root{--delphi-brand-w:168px;--delphi-header-h:92px}}
@media(prefers-reduced-motion:reduce){.menu-cinema-stage img,.menu-photo,.chronicle-step,.sub-backtop{animation:none!important;transition:none!important;transform:none!important}}
/* Final mobile brand sizing: large, consistent and clear on narrow phones. */
@media (min-width:651px) and (max-width:830px){:root{--delphi-header-h:127px}}
@media (max-width:650px){:root{--delphi-brand-w:208px;--delphi-header-h:121px}
 .header .logo-original img,.sub-header .sub-brand img{max-height:115px!important}
 .header .hero-content{padding-top:188px!important}
 .sub-hero{padding-top:183px!important}
}
@media (max-width:380px){:root{--delphi-brand-w:180px;--delphi-header-h:113px}
 .header .logo-original img,.sub-header .sub-brand img{max-height:107px!important}
 .header .hero-content{padding-top:178px!important}
 .sub-hero{padding-top:174px!important}
}
@media (max-width:340px){:root{--delphi-brand-w:165px;--delphi-header-h:105px}}
