:root{--ivory:#fff8ec;--paper:#f7ead5;--charcoal:#1d1916;--burgundy:#7d1f35;--red:#a92d1e;--gold:#c2923a;--copper:#a65f35;--wood:#2e1d16;--muted:#7a6a5e;--line:rgba(29,25,22,.16);--shadow:0 20px 60px rgba(38,22,13,.18);color:var(--charcoal);background:var(--ivory)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.05;margin:0 0 1rem}h1{font-size:clamp(2.7rem,8vw,6.8rem)}h2{font-size:clamp(2rem,4vw,4rem)}a{color:inherit}img{max-width:100%;height:auto;display:block}.skip-link{position:fixed;top:.5rem;left:.5rem;background:var(--gold);padding:.75rem;z-index:1000;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:1rem;padding:.8rem clamp(1rem,4vw,3rem);background:rgba(29,25,22,.86);backdrop-filter:blur(16px);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark img{width:52px;height:52px;border-radius:50%;object-fit:cover;background:var(--paper);box-shadow:0 0 0 2px rgba(194,146,58,.55)}.primary-nav{display:flex;align-items:center;gap:clamp(.65rem,1.6vw,1.5rem);margin-left:auto;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}.primary-nav a{text-decoration:none}.primary-nav a:hover,.primary-nav a:focus{color:var(--gold)}.spirits-link{border-left:1px solid rgba(255,255,255,.25);padding-left:1rem;color:#f1c975;font-family:Georgia,"Times New Roman",serif;text-transform:none;font-size:1rem;letter-spacing:.03em}.order-button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;padding:.85rem 1.2rem;text-decoration:none;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent}.order-button,.button-gold{background:var(--gold);color:#1d130b}.button-outline{border-color:rgba(255,255,255,.75);color:#fff;background:rgba(255,255,255,.06)}.button-dark{background:var(--charcoal);color:#fff}.dark-outline{border-color:var(--burgundy);color:var(--burgundy);background:transparent}.menu-toggle{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px}.menu-toggle span:not(.sr-only){display:block;height:2px;background:#fff;margin:6px}.hero{min-height:100svh;display:grid;place-items:center;padding:8rem 1.2rem 4rem;color:#fff;background:linear-gradient(rgba(0,0,0,var(--overlay)),rgba(0,0,0,var(--overlay))),var(--hero-image) center/cover no-repeat;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:-6%;background:inherit;animation:slowZoom 18s ease-in-out infinite alternate;z-index:-1}.hero-content{text-align:center;max-width:980px;text-shadow:0 2px 22px rgba(0,0,0,.5)}.hero-content p{font-size:clamp(1.1rem,2.2vw,1.55rem)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:900;font-size:.78rem}.button-row,.cta-band{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.announcement{padding:clamp(4rem,8vw,7rem) 1rem;text-align:center;background:var(--paper);border-block:1px solid var(--line)}.schedule{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:1rem;justify-content:center;margin-top:2rem}.schedule div,.values-grid article,.contact-card,.admin-panel{background:#fffdf8;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:1.4rem}.schedule strong,.schedule span{display:block}.schedule strong{font-family:Georgia,"Times New Roman",serif;font-size:1.6rem}.split-section,.feature-section,.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center;padding:clamp(4rem,8vw,7rem) clamp(1rem,6vw,6rem)}.split-section img,.feature-section img{border-radius:8px;box-shadow:var(--shadow);aspect-ratio:1/1;object-fit:cover}.feature-section{background:var(--wood);color:#fff}.feature-section img{aspect-ratio:4/3}.text-link{color:var(--burgundy);font-weight:900}.cta-band{padding:3rem 1rem;background:#fffdf8}.testimonials{padding:clamp(4rem,8vw,7rem) 1rem;text-align:center}.carousel-window{position:relative;max-width:850px;min-height:260px;margin:2rem auto}.testimonial{position:absolute;inset:0;opacity:0;transform:translateY(12px);transition:.4s ease;background:#fffdf8;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:2rem;display:grid;place-content:center}.testimonial.active{opacity:1;transform:none}.stars{color:var(--gold);font-size:1.3rem}.testimonial blockquote{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.3rem,3vw,2rem);margin:0 0 1rem}.carousel-controls{display:flex;gap:1rem;justify-content:center;align-items:center}.carousel-controls button{border:1px solid var(--line);background:#fff;width:44px;height:44px;border-radius:50%;font-size:1.6rem}.carousel-controls [data-dots] button{width:10px;height:10px;min-height:auto;border-radius:50%;padding:0;margin:.25rem;background:var(--muted)}.carousel-controls [data-dots] button.active{background:var(--burgundy)}.disclaimer{color:var(--muted);font-size:.95rem}.site-footer{background:var(--charcoal);color:#f8ead6;padding:4rem clamp(1rem,6vw,6rem) 2rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}.footer-logo{border-radius:50%;object-fit:cover;background:var(--paper)}.socials{display:flex;gap:1rem}.footer-order{width:max-content}.copyright{border-top:1px solid rgba(255,255,255,.12);padding-top:1rem;color:#d7c6ad}.interior-hero,.coming-soon,.spirits-page{min-height:65svh;padding:9rem 1.2rem 4rem;display:grid;place-items:center;text-align:center;background:linear-gradient(rgba(29,25,22,.72),rgba(29,25,22,.72)),url('/assets/images/defaults/bspice_menu_front.png') center/cover;color:#fff}.coming-soon>div,.spirits-page>div{max-width:820px}.spirits-page{background:linear-gradient(rgba(29,25,22,.74),rgba(61,21,32,.72)),url('/assets/images/baltimore-spirits-coming-soon.webp') center/cover}.content-section{padding:5rem 1rem}.narrow{max-width:900px;margin:auto}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 clamp(1rem,6vw,6rem) 5rem}.contact-form{background:#fffdf8;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:2rem}.contact-form label,.admin-panel label{display:grid;gap:.35rem;margin:.8rem 0;font-weight:800}.contact-form input,.contact-form textarea,.contact-form select,.admin-panel input,.admin-panel textarea,.admin-panel select,.admin-login input{width:100%;padding:.85rem;border:1px solid var(--line);border-radius:6px;background:#fff;font:inherit}.contact-form fieldset,.admin-panel fieldset{border:1px solid var(--line);border-radius:8px;margin:1rem 0;padding:1rem}.contact-form fieldset label{display:inline-flex;margin-right:1rem}.hp{position:absolute;left:-9999px}.success{background:#e8f6e8;color:#184b22;border:1px solid #b8d8b8;padding:1rem;border-radius:8px}.error,.field-error{background:#fff1ef;color:#8b1e12;border:1px solid #e2b0a8;padding:.8rem;border-radius:8px}.admin-body{background:#f4efe7}.admin-top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--charcoal);color:#fff}.admin-top nav{display:flex;gap:1rem}.admin-shell{padding:2rem;max-width:1500px;margin:auto}.admin-login{max-width:440px;margin:8vh auto;background:#fffdf8;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:2rem;text-align:center}.admin-login img{margin:auto;border-radius:50%}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.hint{font-size:.85rem;color:var(--muted)}.check{display:flex!important;align-items:center;gap:.5rem}.check input{width:auto}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;background:#fff}th,td{border:1px solid var(--line);padding:.65rem;text-align:left;vertical-align:top}td textarea{min-width:280px}details{border:1px solid var(--line);border-radius:8px;padding:1rem;margin:1rem 0;background:#fff}summary{font-weight:900;cursor:pointer}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@keyframes slowZoom{from{transform:scale(1)}to{transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}@media (max-width:960px){.menu-toggle{display:block}.primary-nav{position:fixed;top:76px;left:0;right:0;display:grid;gap:0;margin:0;background:rgba(29,25,22,.98);padding:1rem;transform:translateY(-130%);transition:.25s ease}.primary-nav.open{transform:none}.primary-nav a{padding:1rem;border-bottom:1px solid rgba(255,255,255,.12)}.spirits-link{border-left:0;padding-left:1rem}.site-header .order-button{margin-left:0}.split-section,.feature-section,.contact-layout,.footer-grid,.values-grid,.admin-grid{grid-template-columns:1fr}.schedule{grid-template-columns:1fr}.hero{min-height:88svh}.admin-top{align-items:flex-start;gap:1rem;flex-direction:column}.admin-shell{padding:1rem}}@media (max-width:560px){.site-header{gap:.5rem}.brand-mark img{width:44px;height:44px}.order-button{padding:.65rem .75rem;font-size:.78rem}.hero{padding-top:7rem}.button{width:100%}}

/* Baltimore Spice visual refinements */
.hero{background-position:center center;isolation:isolate}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(0,0,0,.12),rgba(0,0,0,.5) 70%);pointer-events:none;z-index:0}
.hero-content{position:relative;z-index:2}
.hero-logo-mark{position:absolute;right:clamp(1rem,4vw,3.25rem);top:clamp(5.8rem,9vw,7.25rem);z-index:2;width:clamp(120px,18vw,280px);max-height:clamp(84px,14vw,190px);object-fit:contain;background:rgba(255,248,236,.88);border:1px solid rgba(194,146,58,.45);border-radius:8px;padding:.55rem;box-shadow:0 18px 48px rgba(0,0,0,.25)}
.brand-mark img{object-position:center center}.footer-logo{object-fit:cover;object-position:center center}
.socials a{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.06);color:#f8ead6;transition:background .2s ease,color .2s ease,transform .2s ease}
.socials a:hover,.socials a:focus{background:var(--gold);color:#1d130b;transform:translateY(-2px)}.socials svg{width:22px;height:22px;fill:currentColor}
.reveal{opacity:0;transform:translateY(34px);filter:blur(6px);transition:opacity .9s ease,transform .9s ease,filter .9s ease}.reveal.visible{opacity:1;transform:none;filter:none}
@media (max-width:960px){.hero{background-position:center bottom}.hero-logo-mark{top:5.6rem;right:1rem;width:128px;max-height:90px}.hero-content{padding-top:4rem}}
@media (max-width:560px){.hero-logo-mark{width:104px;max-height:74px;padding:.35rem}.hero-content{padding-top:5rem}}
@media (prefers-reduced-motion:reduce){.socials a:hover,.socials a:focus{transform:none}.reveal{filter:none}}

/* Local preview and refined header/reveal behavior */
.brand-mark img{width:68px;height:68px}
.site-header{min-height:86px}
.hero-logo-mark{display:none!important}
.js .reveal{opacity:0;transform:translateY(46px);filter:blur(8px);transition:opacity 1.05s cubic-bezier(.22,.61,.36,1),transform 1.05s cubic-bezier(.22,.61,.36,1),filter 1.05s cubic-bezier(.22,.61,.36,1)}
.js .reveal.visible{opacity:1;transform:none;filter:none}
@media (max-width:960px){.brand-mark img{width:58px;height:58px}.site-header{min-height:78px}.primary-nav{top:78px}}
@media (max-width:560px){.brand-mark img{width:54px;height:54px}.site-header{min-height:74px}.primary-nav{top:74px}}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;filter:none}}
.js .scroll-driven{will-change:opacity,transform,filter}

/* Strong hero-to-content scroll transition */
.hero{--hero-scroll:0}
.hero:after{background:linear-gradient(rgba(0,0,0,calc(.2 + var(--hero-scroll) * .38)),rgba(0,0,0,calc(.52 + var(--hero-scroll) * .24))),radial-gradient(circle at 50% 42%,rgba(0,0,0,.08),rgba(0,0,0,.58) 74%);transition:background .12s linear}
.hero-content{will-change:opacity,transform,filter;transition:opacity .08s linear,transform .08s linear,filter .08s linear}
.announcement{position:relative;z-index:5;margin-top:-16vh;padding-top:clamp(5rem,10vw,9rem);background:linear-gradient(180deg,rgba(247,234,213,.92),var(--paper) 32%,var(--paper));box-shadow:0 -35px 70px rgba(29,25,22,.28)}
.announcement:before{content:"";position:absolute;inset:-90px 0 auto;height:120px;background:linear-gradient(180deg,rgba(29,25,22,0),rgba(247,234,213,.92));pointer-events:none}
.js .announcement.reveal{transform:translateY(90px);opacity:0;filter:blur(10px)}
.js .announcement.reveal.visible{transform:none;opacity:1;filter:none}
@media (max-width:960px){.announcement{margin-top:-10vh}}

/* Final visual polish: typography, desktop hero, admin clarity */
body{font-family:"Gill Sans","Gill Sans MT","Trebuchet MS",Arial,sans-serif;font-weight:400;color:#211c18}
h1,h2,h3,.schedule strong,.testimonial blockquote{font-family:Garamond,"Cormorant Garamond",Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:0}.hero h1{font-weight:400;max-width:980px;margin-inline:auto}.hero-content p{font-family:"Gill Sans","Gill Sans MT","Trebuchet MS",Arial,sans-serif;font-weight:400;letter-spacing:.015em}.eyebrow,.primary-nav,.button,.order-button{font-weight:600;letter-spacing:.075em}.site-header{background:rgba(24,20,17,.82)}
.hero{min-height:100svh;background-color:#21140e;background-size:contain;background-position:center center;background-repeat:no-repeat;background-attachment:fixed}.hero:before{display:none}.hero:after{background:linear-gradient(90deg,rgba(29,18,12,.78),rgba(29,18,12,.34) 34%,rgba(29,18,12,.34) 66%,rgba(29,18,12,.78)),linear-gradient(rgba(0,0,0,calc(.16 + var(--hero-scroll) * .32)),rgba(0,0,0,calc(.38 + var(--hero-scroll) * .22)))}.hero-content{text-shadow:0 3px 30px rgba(0,0,0,.72)}
.announcement{margin-top:-22vh;padding-top:clamp(7rem,13vw,12rem);background:linear-gradient(180deg,rgba(255,248,236,.08),rgba(247,234,213,.96) 26%,var(--paper) 52%);box-shadow:none;border-top:0}.announcement:before{height:180px;inset:-145px 0 auto;background:linear-gradient(180deg,rgba(29,18,12,0),rgba(247,234,213,.92) 72%,rgba(247,234,213,.98))}.split-section,.feature-section,.testimonials{position:relative;z-index:6}.js .reveal{transition:opacity 1.15s cubic-bezier(.22,.61,.36,1),transform 1.15s cubic-bezier(.22,.61,.36,1),filter 1.15s cubic-bezier(.22,.61,.36,1)}
.admin-body{font-family:"Gill Sans","Gill Sans MT","Trebuchet MS",Arial,sans-serif}.admin-panel{box-shadow:0 12px 36px rgba(38,22,13,.1);border-color:rgba(29,25,22,.12)}.admin-panel h2{font-size:2rem}.admin-panel fieldset{background:#fff;border-color:rgba(29,25,22,.14);padding:1.25rem 1.4rem}.admin-panel legend{font-family:Garamond,Georgia,serif;font-size:1.45rem;font-weight:400;color:var(--burgundy);padding:0 .4rem}.admin-panel label,.contact-form label{font-weight:500}.admin-panel input,.admin-panel textarea,.admin-panel select{font-weight:400}.admin-panel input[type=file]{border:1px dashed rgba(125,31,53,.42);background:#fff8ec;padding:1rem}.admin-panel .button,.admin-panel button[type=submit]{margin-top:1rem}.hint{font-weight:400;line-height:1.45}.admin-grid{align-items:start}.admin-panel details summary{font-family:Garamond,Georgia,serif;font-size:1.35rem;font-weight:400;color:var(--burgundy)}
@media (max-width:960px){.hero{background-size:cover;background-attachment:scroll;background-position:center bottom}.announcement{margin-top:-12vh}}

/* Reduced-motion desktop still gets a gentle opacity fade */
@media (prefers-reduced-motion:reduce){
  .motion-reduced .hero-content{transition:opacity .18s linear!important;transform:none!important;filter:none!important}
  .motion-reduced .scroll-driven{transition:opacity .18s linear!important;transform:none!important;filter:none!important;will-change:opacity}
  .motion-reduced .reveal{opacity:0}
  .motion-reduced .reveal.visible{opacity:1}
}

/* Refinements for desktop hero handoff and interactive buffet/story elements */
.hero{min-height:100svh;overflow:hidden}.hero:after{background:linear-gradient(90deg,rgba(29,18,12,.76),rgba(29,18,12,.28) 34%,rgba(29,18,12,.28) 66%,rgba(29,18,12,.76)),linear-gradient(rgba(0,0,0,calc(.14 + var(--hero-scroll) * .28)),rgba(0,0,0,calc(.32 + var(--hero-scroll) * .18)))}
.announcement{margin-top:0;padding-top:clamp(5rem,8vw,8rem);background:linear-gradient(180deg,#f7ead5,var(--paper) 44%,var(--paper));box-shadow:none}.announcement:before{display:none}.announcement .eyebrow{font-size:1.02rem;color:var(--burgundy);letter-spacing:.2em;margin-bottom:1rem}.schedule div{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease}.schedule div:hover,.schedule div:focus-within{transform:translateY(-6px);border-color:rgba(194,146,58,.75);box-shadow:0 22px 50px rgba(38,22,13,.18);background:#fffaf0}.schedule div:hover strong,.schedule div:focus-within strong{color:var(--burgundy)}
.feature-section .button,.split-section .text-link{transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease,border-color .22s ease}.feature-section .button:hover,.feature-section .button:focus{transform:translateY(-4px);background:var(--gold);color:#1d130b;border-color:var(--gold);box-shadow:0 16px 34px rgba(0,0,0,.24)}.split-section .text-link:hover,.split-section .text-link:focus{color:var(--gold)}
@media (prefers-reduced-motion:reduce){.schedule div:hover,.schedule div:focus-within,.feature-section .button:hover,.feature-section .button:focus{transform:none}}

/* Contact form polish */
.contact-form .consent{display:flex;align-items:flex-start;gap:.75rem;font-weight:400;line-height:1.45;margin:1rem 0}.contact-form .consent input{width:18px;height:18px;min-width:18px;margin:.18rem 0 0;accent-color:var(--burgundy)}.contact-form input:invalid,.contact-form textarea:invalid{border-color:rgba(125,31,53,.45)}.contact-form input:focus:invalid,.contact-form textarea:focus:invalid{box-shadow:0 0 0 3px rgba(125,31,53,.12)}.contact-form input:valid,.contact-form textarea:valid{border-color:rgba(24,75,34,.25)}

/* Admin contact submissions workflow */
.submissions-toolbar{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;margin-bottom:1.25rem}.submission-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.submission-tabs a{display:inline-flex;align-items:center;min-height:40px;padding:.55rem .85rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:#fff;color:var(--charcoal);font-weight:500}.submission-tabs a.active{background:var(--burgundy);border-color:var(--burgundy);color:#fff}.bulk-actions{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;margin:1rem 0;padding:1rem;background:#fff8ec;border:1px solid var(--line);border-radius:8px}.bulk-actions label{margin:0;min-width:180px}.submissions-table th:first-child,.submissions-table td:first-child{width:44px;text-align:center}.submissions-table .message-cell{max-width:420px;white-space:normal}.row-actions{display:flex;gap:.45rem;flex-wrap:wrap}.row-actions button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.5rem .75rem;font:inherit;cursor:pointer}.row-actions button[name=archive_id]{border-color:rgba(125,31,53,.34);color:var(--burgundy)}.row-actions button:hover,.row-actions button:focus{background:var(--gold);border-color:var(--gold);color:#1d130b}@media (max-width:760px){.submissions-toolbar{display:block}.bulk-actions{display:block}.bulk-actions .button{width:100%;margin-top:.75rem}}

/* Footer mini map */
.footer-contact-map{display:grid;gap:.85rem}.mini-map{display:block;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:8px;max-width:260px;background:rgba(255,255,255,.06);text-decoration:none}.mini-map iframe{display:block;width:100%;height:128px;border:0;pointer-events:none;filter:saturate(.86) contrast(.96)}.mini-map span{position:absolute;right:.55rem;bottom:.55rem;padding:.28rem .55rem;border-radius:999px;background:rgba(29,25,22,.86);color:#f8ead6;font-size:.78rem;font-weight:600;letter-spacing:.04em}.mini-map:hover,.mini-map:focus{border-color:var(--gold);box-shadow:0 12px 30px rgba(0,0,0,.25)}

/* Hero editable subheading */
.hero-subheading{line-height:1.55}.hero-subheading br{display:block;content:"";margin-top:.2rem}.hero-subheading strong,.hero-subheading b{font-weight:600}.hero-subheading em,.hero-subheading i{font-style:italic}

/* Buffet à la carte feature */
.schedule .schedule-accent{grid-column:1/-1;justify-self:center;width:min(100%,540px);background:linear-gradient(135deg,var(--burgundy),#9f3524);border-color:rgba(194,146,58,.68);color:#fff;box-shadow:0 24px 56px rgba(125,31,53,.22)}.schedule .schedule-accent strong{color:#fff}.schedule .schedule-accent span{font-size:1.08rem}.schedule .schedule-accent:hover,.schedule .schedule-accent:focus-within{background:linear-gradient(135deg,#8d243d,#b9432a);border-color:var(--gold);box-shadow:0 28px 62px rgba(125,31,53,.28)}
