/* Evening at Olive & Oak — photographic, warm, and spacious. */
:root{--olive:#1e211b;--deep:#111410;--cream:#f4efe4;--gold:#d5b67a;--ink:#f4efe4;--muted:#bcb8aa;--line:#ffffff21}
body{background:#151814;color:var(--cream)}
.preview-note{background:#0e110e;color:#bfb9a9;font-size:11px;padding:7px 18px}
header{position:absolute;top:32px;left:0;right:0;z-index:3;background:transparent;border-bottom:1px solid #ffffff20;min-height:105px;padding:19px 5.5vw}
.brand img{width:215px;filter:none}nav{font-size:13px;gap:32px}nav a{color:#f5f1e8}.compact{background:transparent;color:var(--cream);border-color:#d5b67a90;font-weight:500}
.hero{position:relative;isolation:isolate;min-height:810px;height:calc(100svh - 32px);max-height:1100px;display:flex;align-items:center;padding:145px 8vw 85px;background:#20231c;overflow:hidden}
.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(9,14,9,.92) 0%,rgba(12,17,12,.76) 45%,rgba(14,18,13,.2) 100%),linear-gradient(0deg,#151814 0%,transparent 40%),url('assets/dining-room.jpg') center 62%/cover no-repeat;transform:scale(1.035)}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 78% 22%,#bb975319,transparent 55%);pointer-events:none}
.hero-copy{position:relative;z-index:1;max-width:760px;width:68%}.hero .eyebrow{font-size:11px;letter-spacing:.25em;margin-bottom:28px}
h1{font-size:clamp(64px,6.7vw,108px);line-height:.98;letter-spacing:-.035em;font-weight:400;text-shadow:0 2px 24px #0003}h1 em{display:inline-block;margin-top:8px;color:#dfc897}h1+p{max-width:405px;margin-top:28px;color:#d4d0c4;line-height:1.8}
.hero-photo{position:absolute;width:29%;right:6vw;bottom:15%;transform:rotate(4deg);box-shadow:0 25px 80px #0006;border:7px solid #f0e8d8;border-bottom:0;background:#f0e8d8;max-width:390px}.hero-photo img{height:330px;border-radius:0;object-fit:cover}.hero-photo figcaption{font-size:19px;color:#31392d;padding:8px 10px 14px;text-align:center;margin:0}.hero-address{margin-top:45px;color:#c5c2b5;font-size:11px;letter-spacing:.12em}.actions{gap:32px}.button{border-radius:0;letter-spacing:.04em;font-size:13px}.button:hover{color:#172014}.text-link{color:#e4ddcd}
.ribbon{background:#151814;color:#b8ad95;border-color:#ffffff18;min-height:73px;font-size:10px;letter-spacing:.22em}.ribbon span:nth-child(even){color:#b89a62}
.section{padding:110px 8vw}h2{font-size:clamp(48px,4.7vw,74px);font-weight:400}h2 em{color:#d4ba85}.eyebrow{color:#b49a67;font-size:11px;letter-spacing:.23em}.daily{background:#1b1f19;gap:8vw}.daily-image img{height:490px;border-radius:180px 180px 0 0}.photo-label{background:#10170ee6;border-top:1px solid #ffffff20}.daily-copy>p:not(.eyebrow){color:#c7c8b8;font-size:15px}.dish-title{border-color:#ffffff23}.dish-title>span{color:#d5b67a}.daily .small{color:#a8ae9d}.daily .button{margin-top:12px}
.menu-section{background:#f0ece2;color:#2a3025}.menu-section .eyebrow{color:#70644b}.menu-section h2 em{color:#736345}.menu-section .section-heading>p{color:#717466}.menu-tabs{border-color:#babfae;gap:30px}.menu-tabs button{color:#6f7466}.menu-tabs button[aria-selected=true]{color:#2a3025;border-color:#2a3025}.menu-item{border-color:#cdd0c1}.menu-item p,.menu-note,.sunday-note{color:#686e5f}.menu-item h3{font-size:27px}.menu-item>div>span{font-family:Georgia,serif;font-size:17px}.menu-grid{column-gap:7vw}.menu-note{font-size:12px}
.story{background:#171b15}.story>div>p:not(.eyebrow){color:#b9bdae;font-size:15px}.story img{border-radius:0;height:480px;outline:1px solid #bba57455;outline-offset:12px}.story figcaption{color:#c8b58f;padding-top:8px}.gallery-section{background:#20241d}.section-heading>p{color:#b7bcaa}.gallery{gap:30px}.gallery-card{color:var(--cream)}.gallery-card>img{height:300px}.gallery-card:nth-child(3n+2){padding-top:45px}.gallery-card>span{color:#c5c9b9;font-size:13px;border-bottom:1px solid #ffffff1c;padding-bottom:20px}.gallery-card:hover>span{color:var(--gold)}
.reservation{position:relative;isolation:isolate;background:#121711;gap:8vw}.reservation:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10170ff5,#11170feb),url('assets/storefront.jpg') center/cover}.reservation form{background:#f7f0dd06;padding:32px;border:1px solid #ffffff1e}.reservation h2{font-size:clamp(52px,5vw,78px)}.reservation-info{border-color:#ffffff24}.reservation-info strong{font-weight:500}.preview-form{border-color:#ffffff25;background:#ffffff04;font-size:12px}.form-grid label{color:#d7dacb;font-size:12px;letter-spacing:.02em}input,select,textarea{background:#11170f55;border-color:#737c6566;padding:13px;color:#eeeede}.privacy-note{line-height:1.7}
.visit{background:#f0ece2;color:#2a3025}.visit h2 em{color:#736345}.visit .eyebrow{color:#70644b}.visit .small{color:#666d5d}.hours dl>div{border-color:#cdd0c1}.storefront{grid-column:1/-1;margin-top:10px}.storefront img{height:370px}.storefront span{color:#273020;background:#f0ece2}footer{background:#0e130e;color:#b8bfab;padding-top:65px}footer>div{border-color:#ffffff1c}.mobile-actions{background:#1a2118;color:#eeeede}.mobile-actions a{border-color:#ffffff1c}.mobile-actions a:last-child{color:#172014}
dialog{background:#181e15;color:#eeeede;border:1px solid #686f59}dialog::backdrop{background:#060b06ed}.close-dialog{border:1px solid #ffffff35;background:transparent}.review-link{display:inline-flex;margin-top:20px;font-size:13px;color:#d5b67a;gap:12px;border-bottom:1px solid #d5b67a55}.noscript{padding:24px;background:#f0ece2;color:#283023;text-align:center}
@media(min-width:1400px){.hero-photo{right:9vw}.hero-copy{width:65%}}
@media(max-width:1050px){header{padding:20px 4vw;gap:20px}nav{gap:18px}.brand img{width:175px}.hero{padding-left:6vw;padding-right:6vw}.hero-copy{width:70%}h1{font-size:76px}.hero-photo{width:27%;right:4vw;bottom:18%}.hero-photo img{height:285px}.hero-photo figcaption{font-size:16px}.section{padding:85px 6vw}.reservation{gap:4vw}.reservation form{padding:22px}}
@media(max-width:760px){header{top:32px;display:flex;flex-wrap:wrap;padding:16px 6vw;gap:17px;min-height:130px}.brand img{width:165px}nav{gap:15px;font-size:12px;overflow:auto;justify-content:space-between;padding-bottom:4px}.compact{font-size:11px;min-height:43px;padding:10px}.hero{height:auto;min-height:980px;max-height:none;display:block;padding:200px 7vw 40px}.hero:before{background:linear-gradient(90deg,#0a100beb,#10160fcc),url('assets/dining-room.jpg') center 62%/cover;transform:none}.hero-copy{width:100%;max-width:600px}h1{font-size:clamp(54px,9vw,70px);line-height:1.04}.hero .eyebrow{font-size:10px;letter-spacing:.16em;max-width:300px}.hero-copy>p{font-size:15px}.hero-photo{position:relative;right:auto;bottom:auto;width:64%;max-width:270px;margin:38px 12px 5px auto;transform:rotate(3deg)}.hero-photo img{height:190px}.hero-photo figcaption{font-size:16px}.hero-address{margin-top:30px;font-size:10px}.actions{gap:23px}.actions .button{font-size:12px;padding:13px 18px}.ribbon{font-size:9px;padding:20px 6vw;gap:12px;min-height:70px}.section{padding:65px 7vw}h2{font-size:48px}.daily-image img{height:330px}.daily-copy{order:0}.daily-image{order:1}.dish-title h3{font-size:28px}.menu-tabs{gap:23px}.menu-item h3{font-size:25px}.menu-item>div>span{font-size:16px}.story img{height:320px}.gallery{gap:22px 16px}.gallery-card>img{height:210px}.gallery-card:nth-child(3n+2){padding-top:0}.gallery-card:nth-child(even){padding-top:28px}.gallery-card>span{font-size:12px;line-height:1.4}.reservation h2{font-size:54px}.reservation form{padding:23px 18px}.reservation{gap:28px}.form-grid{grid-template-columns:1fr 1fr}.storefront img{height:240px}footer{padding:50px 7vw 95px}.storefront span{font-size:10px;left:12px;right:auto;bottom:12px}.preview-note{font-size:9px;letter-spacing:.035em;height:32px;display:flex;align-items:center;justify-content:center}}
@media(max-width:390px){.hero{padding-top:190px;min-height:960px}.brand img{width:145px}nav{font-size:11px}.hero h1{font-size:52px}.form-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery-card>img{height:170px}.daily h2{font-size:43px}.hero-photo{width:68%}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .8s ease both}.hero-photo{animation:photo-arrive 1.1s ease both}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-arrive{from{opacity:0;transform:translateY(20px) rotate(4deg)}to{opacity:1;transform:translateY(0) rotate(4deg)}}}

.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}button:disabled{opacity:.55;cursor:wait}.preview-form[hidden]{display:none}

/* Preserve the frontage photo at its natural proportions and resolution. */
.visit .storefront{width:100%;max-width:644px;justify-self:center;margin-top:10px}.visit .storefront img{width:100%;height:auto;aspect-ratio:644/362;object-fit:contain}.visit .storefront span{position:static;display:block;text-align:center;padding:16px 12px;border:1px solid #cdd0c1;border-top:0}
