/*
Theme Name: Josefina
Theme URI: https://josefinarestaurant.com/
Author: Josefina
Description: Bespoke WordPress theme for Josefina Restaurant in Baltimore.
Version: 1.0.12
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: josefina
*/

@font-face{font-family:Instrument;src:url('assets/fonts/instrument-serif.ttf')}@font-face{font-family:Inknut;src:url('assets/fonts/inknut-light.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#211a18;font-family:Inknut,Georgia,serif}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.home{min-height:100svh;padding:4vh clamp(24px,5vw,80px) 3vh;display:flex;flex-direction:column;align-items:center;background:#fff}.home-logo{width:min(500px,48vw);height:clamp(70px,13vh,135px);object-fit:contain}.home-kicker,.eyebrow{margin:.3rem 0 2rem;text-transform:uppercase;letter-spacing:.23em;font:10px/1.6 Inknut,serif;color:#9d120d}.arches{width:min(1240px,100%);height:min(61vh,650px);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.3vw,22px);margin:auto 0}.arch{position:relative;overflow:hidden;border-radius:999px 999px 2px 2px;background:#ead9bf;isolation:isolate;box-shadow:0 0 0 1px rgba(65,31,15,.12);transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .7s}.arch video,.arch-photo,.arch-wash{position:absolute;inset:0;width:100%;height:100%}.arch video,.arch-photo{object-fit:cover}.arch video{filter:saturate(.78) sepia(.06);transform:scale(1.04)}.arch-photo{opacity:0;transform:scale(1.07);transition:opacity .8s,transform 1.4s}.arch-wash{background:linear-gradient(180deg,transparent 48%,rgba(28,6,2,.58));z-index:1}.arch-number{position:absolute;top:42px;left:50%;transform:translateX(-50%);z-index:2;color:white;font:9px/1 Inknut;letter-spacing:.2em;opacity:.7}.arch-label{position:absolute;left:50%;bottom:34px;z-index:2;transform:translateX(-50%);color:white;font:clamp(26px,3vw,45px)/1 Instrument,serif;white-space:nowrap}.arch:hover,.arch:focus-visible{transform:translateY(-7px);box-shadow:0 0 0 4px #fff0d8,0 0 28px 9px rgba(255,183,92,.82),0 24px 60px rgba(83,28,6,.16);outline:none}.arch:hover .arch-photo,.arch:focus-visible .arch-photo{opacity:1;transform:scale(1)}.home-address{margin-top:2.4vh;border-bottom:1px solid transparent;font-size:clamp(10px,1vw,12px);letter-spacing:.12em;transition:border-color .25s}.home-address:hover{border-color:#9d120d}.site-header{height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px clamp(24px,4vw,64px);position:relative;z-index:10;background:#fff}.header-logo img{width:145px;height:55px;object-fit:contain}.site-header nav{display:flex;gap:clamp(22px,3vw,48px)}.site-header nav a,.reserve{font-size:10px;text-transform:uppercase;letter-spacing:.18em}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:#a91410;transition:right .35s}.site-header nav a:hover:after{right:0}.reserve{justify-self:end;border:1px solid #a91410;color:#a91410;padding:13px 20px;transition:.3s}.reserve:hover{background:#a91410;color:#fff}.reserve.large{display:inline-block;margin-top:28px;padding:16px 24px}.page-hero{min-height:calc(100svh - 96px);display:grid;grid-template-columns:.82fr 1.18fr;background:#f5f0e8}.page-hero-copy{padding:clamp(60px,9vw,150px) clamp(35px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.page-hero h1{font:clamp(58px,7.4vw,128px)/.88 Instrument,serif;letter-spacing:-.03em;margin:0 0 32px;color:#85110e}.page-hero-copy>p:last-child{max-width:430px;font-size:13px;line-height:2}.page-hero-image{margin:26px 26px 26px 0;overflow:hidden;border-radius:999px 999px 0 0}.page-hero-image img{width:100%;height:100%;object-fit:cover}.editorial{padding:clamp(80px,12vw,180px) max(8vw,30px);display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;font-size:15px;line-height:2;max-width:1300px;margin:auto}.dropcap{font:clamp(32px,4vw,58px)/1.18 Instrument,serif;margin:0;color:#85110e}.editorial blockquote{grid-column:1/-1;font:clamp(34px,5vw,72px)/1.15 Instrument,serif;text-align:center;margin:70px auto 0;max-width:1000px;color:#9d120d}.chef-feature{display:grid;grid-template-columns:1.1fr .9fr;background:#211a18;color:#f5f0e8}.chef-feature>img{width:100%;height:min(760px,80vh);object-fit:cover}.chef-feature>div{padding:10vw 8vw;align-self:center}.chef-feature h2,.event-intro h2,.visit-grid h2{font:clamp(48px,6vw,92px)/.95 Instrument,serif;margin:.2em 0}.chef-feature p{line-height:2;font-size:13px}.menu-viewer{padding:clamp(70px,9vw,130px) clamp(22px,7vw,110px);background:#fff}.menu-tabs{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin-bottom:38px}.menu-tabs button{border:0;border-bottom:1px solid #cabbb1;background:transparent;padding:14px clamp(12px,2.3vw,36px);font:10px Inknut;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;color:#6a5a51}.menu-tabs button[aria-selected="true"]{color:#9d120d;border-color:#9d120d}.pdf-shell{max-width:1080px;height:78vh;min-height:680px;margin:auto;background:#eee7df;box-shadow:0 18px 70px rgba(52,29,17,.12);padding:12px}.pdf-shell iframe{border:0;width:100%;height:100%;background:white}.event-intro{padding:clamp(90px,13vw,190px) max(10vw,30px);max-width:1100px}.event-intro h2{color:#85110e}.event-intro>p:not(.eyebrow){max-width:650px;line-height:2}.text-link{display:inline-flex;gap:25px;margin-top:25px;color:#9d120d;border-bottom:1px solid #9d120d;padding-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.16em}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px}.image-pair img{width:100%;height:65vw;max-height:800px;object-fit:cover}.visit-grid{padding:clamp(80px,10vw,150px) clamp(30px,8vw,120px);display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:7vw}.visit-grid h2{font-size:clamp(42px,4.3vw,72px);color:#85110e}.visit-grid dl{font-size:12px}.visit-grid dt{text-transform:uppercase;letter-spacing:.12em;color:#9d120d;margin-top:24px}.visit-grid dd{margin:8px 0;line-height:1.8}.visit-grid>div>p:not(.eyebrow){font-size:12px;line-height:2}.site-footer{background:#9d120d;color:#fff;min-height:260px;padding:55px clamp(30px,6vw,90px);display:grid;grid-template-columns:1.2fr 1fr 1.3fr auto;gap:40px;align-items:end;font-size:10px;letter-spacing:.06em}.site-footer img{width:190px;filter:brightness(0) invert(1)}.site-footer p{margin:.4em 0}.copyright{opacity:.6}
@media(max-width:800px){.home{padding:20px 10px 24px}.home-logo{width:68vw;height:82px}.home-kicker{margin:-4px 0 18px}.arches{height:62svh;min-height:430px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.arch{height:100%;min-height:0;border-radius:999px 999px 2px 2px}.arch-number{top:26px;font-size:7px}.arch-label{bottom:22px;font-size:clamp(15px,4vw,25px)}.arch:active .arch-photo{opacity:1}.home-address{margin-top:24px;font-size:9px;letter-spacing:.07em}.site-header{height:78px;padding:12px 18px;grid-template-columns:1fr auto}.header-logo img{width:120px}.site-header nav{display:none}.reserve{padding:10px 12px}.page-hero{min-height:0;grid-template-columns:1fr}.page-hero-copy{padding:70px 26px 48px}.page-hero h1{font-size:62px}.page-hero-image{margin:0 16px 16px;height:72vh;max-height:640px}.editorial{grid-template-columns:1fr;padding:80px 26px;gap:35px}.editorial blockquote{margin-top:30px}.chef-feature{grid-template-columns:1fr}.chef-feature>img{height:65vh}.chef-feature>div{padding:70px 28px}.pdf-shell{height:70vh;min-height:520px;padding:6px}.visit-grid{grid-template-columns:1fr;padding:75px 28px}.image-pair{grid-template-columns:1fr}.image-pair img{height:110vw}.site-footer{grid-template-columns:1fr;min-height:0;align-items:start}.copyright{margin-top:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.arch video{display:none}.arch-photo{opacity:1}}
.parking-map-section,.reservation-notes{border-top:0}
.page-hero,.chef-feature,.menu-viewer,.event-intro,.visit-grid,.parking-map-section,.reservation-notes{background:#fff;color:#211a18}.chef-feature h2{color:#85110e}.pdf-shell{background:#fff;box-shadow:0 16px 55px rgba(52,29,17,.08)}
@keyframes filmIn{from{opacity:.25;transform:scale(1.08)}to{opacity:1;transform:scale(1.04)}}.arch video{animation:filmIn 1.4s ease both}
.menu-pages{display:flex;flex-direction:column;align-items:center;gap:46px;max-width:1080px;margin:auto}.menu-panel[hidden]{display:none!important}.menu-pages img{width:auto;max-width:100%;height:auto;display:block;background:#fff}.menu-pages img+img{margin-top:10px}
.origin-story{padding:clamp(90px,12vw,190px) clamp(28px,8vw,125px);display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw;align-items:start;background:#fff}.origin-title{position:sticky;top:130px}.origin-title h2{font:clamp(68px,8vw,132px)/.78 Instrument,serif;color:#85110e;margin:.2em 0}.origin-title h2 em{font-weight:400}.origin-copy{max-width:760px}.origin-copy>p{font-size:12px;line-height:2.15;margin:0 0 30px}.origin-copy .origin-lead{font:clamp(31px,4vw,55px)/1.12 Instrument,serif;color:#85110e;margin-bottom:50px}.origin-copy blockquote{font:clamp(35px,4.5vw,65px)/1.08 Instrument,serif;color:#85110e;margin:70px 0 24px}.origin-copy .signature{text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:#9d120d}@media(max-width:800px){.origin-story{grid-template-columns:1fr;gap:45px}.origin-title{position:static}.origin-title h2{font-size:76px}}
.events-gallery img{height:50vw;max-height:720px}.events-gallery img:nth-child(3){object-position:center 38%}.events-gallery img:nth-child(4){object-position:center}
.story-image{margin:0;padding:0 clamp(16px,3vw,46px);height:min(76vw,900px);overflow:hidden}.story-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.visit-sign{padding:clamp(70px,9vw,140px) clamp(24px,6vw,90px);display:grid;grid-template-columns:.55fr 1fr;gap:7vw;align-items:center;background:#fff}.visit-sign h2{font:clamp(56px,7vw,110px)/.86 Instrument,serif;color:#85110e;margin:0}.visit-sign h2 em{font-weight:400}.visit-sign img{width:100%;max-height:1100px;object-fit:cover}@media(max-width:800px){.visit-sign{grid-template-columns:1fr;padding:75px 18px;gap:45px}.visit-sign h2{font-size:64px}.visit-sign>div{padding:0 10px}}
.team-section{padding:clamp(90px,11vw,170px) clamp(28px,6vw,90px);background:#fff}.team-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:0 auto 65px;max-width:1400px}.team-heading h2{font:clamp(54px,7vw,112px)/.86 Instrument,serif;color:#85110e;margin:0;text-align:right}.team-heading h2 em{font-weight:400}.team-photo{width:100%;max-width:1400px;max-height:800px;object-fit:cover;margin:0 auto 90px}.chef-bios{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(35px,5vw,80px)}.chef-bios article{padding-top:28px}.chef-bios h3{font:clamp(36px,3.6vw,58px)/.95 Instrument,serif;color:#85110e;margin:0 0 28px}.chef-bios article>p:last-child{font-size:11px;line-height:2.05;margin:0}@media(max-width:800px){.team-heading{display:block}.team-heading h2{text-align:left}.team-photo{margin-bottom:60px}.chef-bios{grid-template-columns:1fr}.chef-bios article{padding:30px 0}}
.visit-interior{margin:0;padding:0 clamp(16px,3vw,46px);height:min(65vw,850px);overflow:hidden;background:#fff}.visit-interior img{width:100%;height:100%;display:block;object-fit:cover}
.menu-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.5vw,24px);padding:clamp(70px,9vw,140px) clamp(16px,3vw,46px);background:#fff;align-items:start}.menu-gallery figure{margin:0;height:min(58vw,820px);overflow:hidden}.menu-gallery figure:nth-child(2){margin-top:clamp(55px,8vw,125px)}.menu-gallery img{width:100%;height:100%;object-fit:cover}@media(max-width:700px){.menu-gallery{display:flex;flex-direction:column;gap:28px;padding:70px 16px 95px}.menu-gallery figure{width:88%;height:auto;aspect-ratio:2/3;margin:0;flex:none}.menu-gallery figure:nth-child(2){width:74%;margin:0 0 0 auto}.menu-gallery figure:nth-child(3){width:88%;height:auto;margin:0}.menu-gallery img{object-position:center}}
.compact-hero-page .page-hero{min-height:calc(83svh - 80px)}.compact-hero-page .page-hero-copy{padding:clamp(50px,7.5vw,125px) clamp(29px,5.8vw,91px)}.compact-hero-page .page-hero h1{font-size:clamp(48px,6.15vw,106px);margin-bottom:27px}.compact-hero-page .page-hero-copy>p:last-child{max-width:357px;font-size:11px}.compact-hero-page .page-hero-image{width:83%;height:auto;aspect-ratio:2/3;margin:clamp(28px,4vw,64px) 0;justify-self:center;align-self:center}.compact-hero-page .page-hero-image img{object-fit:contain}@media(max-width:800px){.compact-hero-page .page-hero-image{width:83%;height:auto;min-height:0;max-height:none;margin:0 auto 28px}}
.compact-hero-page .page-hero{align-items:start}.compact-hero-page .page-hero-copy{position:relative;align-self:stretch;justify-content:flex-start;padding-top:0;padding-bottom:0}.compact-hero-page .page-hero-copy-inner{position:sticky;top:112px;padding-top:clamp(28px,4vw,64px);padding-bottom:clamp(28px,4vw,64px)}@media(max-width:800px){.compact-hero-page .page-hero{align-items:stretch}.compact-hero-page .page-hero-copy{position:static;padding-top:70px;padding-bottom:48px}.compact-hero-page .page-hero-copy-inner{position:static;padding:0}}
.parking-map-section{background:#fff;color:#211a18;padding:clamp(90px,11vw,170px) clamp(30px,9vw,140px);display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;align-items:center;border-top:1px solid #ded5ce}.parking-map-section h2,.reservation-notes h2{font:clamp(48px,6vw,92px)/.9 Instrument,serif;margin:.15em 0 30px;color:#85110e}.parking-map-section>div>p:last-child{font-size:12px;line-height:2;max-width:380px}.parking-map-section img{width:100%;padding:0}.reservation-notes{background:#fff;padding:clamp(90px,11vw,170px) clamp(30px,9vw,140px);display:grid;grid-template-columns:1fr 1fr;gap:10vw;border-top:1px solid #ded5ce}.reservation-notes h2{color:#85110e}.reservation-notes h2 em{font-weight:400}.reservation-copy{max-width:620px;font-size:12px;line-height:2}.reservation-copy p{margin:0 0 28px}.reservation-lead{font:clamp(26px,3vw,42px)/1.2 Instrument,serif!important;color:#85110e}@media(max-width:800px){.parking-map-section,.reservation-notes{grid-template-columns:1fr;padding:75px 28px;gap:45px}}
.last-seating{display:block;margin-top:7px;color:#9d120d;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.reservation-copy a{color:#9d120d;border-bottom:1px solid currentColor}
@media(max-width:800px){.site-header{height:auto;min-height:124px;padding:12px 18px 14px;grid-template-columns:1fr auto;row-gap:10px}.site-header nav{display:grid;grid-template-columns:repeat(4,1fr);grid-column:1/-1;grid-row:2;gap:6px;width:100%}.site-header nav a{display:flex;align-items:center;justify-content:center;min-height:34px;border:1px solid rgba(157,18,13,.45);padding:8px 4px;color:#85110e;font-size:8px;letter-spacing:.11em}.site-header nav a:after{display:none}.site-header nav a:active{background:#9d120d;color:#fff}.site-header .header-logo{grid-column:1;grid-row:1}.site-header .reserve{grid-column:2;grid-row:1}}
.events-guide{padding:clamp(80px,10vw,150px) clamp(16px,5vw,74px) clamp(95px,11vw,170px);background:#fff}.events-guide-heading{max-width:1180px;margin:0 auto 48px}.events-guide-heading h2{font:clamp(50px,6.4vw,98px)/.9 Instrument,serif;color:#85110e;margin:.12em 0 .25em}.events-guide-heading>p:last-child{font-size:12px;line-height:2;max-width:560px}.events-guide-shell{width:100%;max-width:1440px;height:min(74vw,900px);min-height:620px;margin:auto;background:#f5f0e8;box-shadow:0 22px 70px rgba(52,29,17,.11);padding:10px}.events-guide-shell iframe{display:block;width:100%;height:100%;border:0;background:#fff}.events-guide-fullscreen{display:flex;justify-content:flex-end;gap:18px;width:max-content;margin:26px max(0px,calc((100% - 1440px)/2)) 0 auto;color:#9d120d;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:10px;text-transform:uppercase;letter-spacing:.15em}@media(max-width:800px){.events-guide{padding:75px 12px 95px}.events-guide-heading{padding:0 16px;margin-bottom:34px}.events-guide-heading h2{font-size:58px}.events-guide-shell{display:none}.events-guide-fullscreen{margin:0 8px 0 auto;font-size:9px}}
.site-footer{grid-template-columns:1.1fr .8fr 1.15fr 1.35fr auto;gap:clamp(28px,3vw,48px)}.footer-gift-cards{max-width:270px}.footer-gift-cards>p{line-height:1.8;margin-bottom:14px}.footer-gift-cards>a{display:inline-flex;gap:12px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:6px;text-transform:uppercase;letter-spacing:.12em;font-size:8px}@media(max-width:800px){.site-footer{grid-template-columns:1fr}.footer-gift-cards{max-width:310px;margin-top:14px}}
.footer-meta{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-instagram{margin:0!important}.footer-instagram a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px}.instagram-mark{position:relative;width:22px;height:22px;border:1.7px solid currentColor;border-radius:6px}.instagram-mark:before{content:"";position:absolute;width:8px;height:8px;border:1.7px solid currentColor;border-radius:50%;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.instagram-mark:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;top:4px;right:4px}.footer-instagram a:hover .instagram-mark{transform:scale(1.08)}

/* Keep the homepage arches at the intended full viewport width in WordPress previews. */
.arches{width:min(1240px,calc(100vw - clamp(48px,10vw,160px)));max-width:none}
@media(max-width:800px){.arches{width:calc(100vw - 20px)}}

/* Every arch reveals an exact window onto one continuous video frame. */
.arch video{transform:none;animation:filmInAligned 1.4s ease both;object-position:center center}
@keyframes filmInAligned{from{opacity:.25}to{opacity:1}}

/* Retire the legacy inKind campaign overlay from the redesigned site. */
#inkindmodal{display:none!important}

/* Keep footer links white despite legacy plugin and WordPress link rules. */
.site-footer a,.site-footer a:visited,.site-footer a:hover,.site-footer a:focus{color:#fff!important}
@media(max-width:800px){.site-footer a,.site-footer a:link,.site-footer a:visited,.site-footer a:hover,.site-footer a:focus,.site-footer a:active,.site-footer a[x-apple-data-detectors]{color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration-color:rgba(255,255,255,.7)!important}.site-footer a *{color:inherit!important;-webkit-text-fill-color:inherit!important}}
