/* ============================================================
   Maumee Street: taproom + kitchen — maumeestreet.com
   Brand: official guidelines (vintage Adrian postcard)
   Palette: cream F7EFE2 · olive 5D6D41 · gold E0CD9B ·
            sage AEC9BF · terracotta BD6451 · moss 9FB063
   Type: Montserrat (headers) · Lora (body)
   ============================================================ */
:root{
  --cream:#F7EFE2; --cream-deep:#f0e5d0;
  --olive:#5D6D41; --olive-deep:#46532f; --olive-dark:#333d24;
  --gold:#E0CD9B; --sage:#AEC9BF;
  --terracotta:#BD6451; --terracotta-deep:#a44f3d;
  --moss:#9FB063; --ink:#3a3a2e;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Lora',serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E")}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif}
img{max-width:100%}
.label{font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.3em;font-size:.68rem;font-weight:700;color:var(--terracotta)}

/* ---------- ribbon (specials/notices) ---------- */
.ribbon{background:var(--olive-dark);color:var(--gold);text-align:center;font-style:italic;font-size:.86rem;padding:9px 14px}
.ribbon b{color:var(--cream);font-style:normal}
.ribbon a{color:var(--gold)}

/* ---------- nav ---------- */
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:12px 38px;background:rgba(247,239,226,.93);backdrop-filter:blur(10px);border-bottom:2px solid var(--olive)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{height:52px;width:auto;display:block}
.brand .wm-img{height:48px;width:auto;display:block}
@media(max-width:600px){.brand .wm-img{height:30px}}
.brand .wm{display:flex;flex-direction:column;line-height:1}
.brand .wm .t{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:.02em;font-size:1.06rem;color:var(--olive-deep);text-transform:uppercase}
.brand .wm .b{font-family:'Lora',serif;font-style:italic;font-size:.78rem;color:var(--terracotta);margin-top:4px}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:var(--olive-deep);text-decoration:none;font-family:'Montserrat',sans-serif;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;position:relative}
.nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--terracotta);transition:width .3s}
.nav-links a:not(.btn):hover::after,.nav-links a.active:not(.btn)::after{width:100%}
.btn{background:var(--terracotta);color:var(--cream)!important;padding:11px 20px;border-radius:3px;transition:transform .2s,background .2s;box-shadow:0 4px 14px rgba(189,100,81,.35)}
.btn:hover{transform:translateY(-2px);background:var(--terracotta-deep)}
.menu-toggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--olive-deep);cursor:pointer}

/* ---------- ticket buttons ---------- */
.ticket-btn{position:relative;display:inline-flex;flex-direction:column;align-items:center;background:var(--olive);color:var(--cream);text-decoration:none;padding:14px 34px;border-radius:3px;
  -webkit-mask:radial-gradient(circle 7px at 0 50%,transparent 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,transparent 97%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 7px at 0 50%,transparent 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,transparent 97%,#000) right/51% 100% no-repeat;
  transition:transform .2s}
.ticket-btn:hover{transform:translateY(-3px) rotate(-.5deg)}
.ticket-btn .t1{font-family:'Montserrat',sans-serif;font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.ticket-btn .t2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1rem;margin-top:3px;letter-spacing:.03em}
.ticket-btn.rust{background:var(--terracotta)}
.ticket-btn.rust .t1{color:#f3d9c9}

/* ---------- layout ---------- */
section{padding:74px 38px}
.sec-head{text-align:center;margin-bottom:44px}
.sec-head h1,.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:900;text-transform:uppercase;color:var(--olive-deep);margin-top:12px}
.sec-head h1 i,.sec-head h2 i{font-family:'Lora',serif;font-weight:500;color:var(--terracotta);text-transform:none;letter-spacing:0}
.sec-head p{color:#6a6a55;max-width:560px;margin:14px auto 0;line-height:1.7;font-size:.95rem}

/* ---------- hero (home) ---------- */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;max-width:1200px;margin:0 auto;padding:58px 38px 66px}
.hero h1{font-size:clamp(2.5rem,5.2vw,4.3rem);font-weight:900;line-height:1.0;text-transform:uppercase;letter-spacing:-.01em;color:var(--olive-deep)}
.hero h1 .alt{color:var(--terracotta)}
.hero .script{font-style:italic;font-weight:500;font-size:clamp(1.15rem,2vw,1.5rem);color:var(--olive);margin-top:14px;font-family:'Lora',serif}
.hero p.sub{margin-top:16px;font-size:1rem;line-height:1.75;color:#5a5a48;max-width:470px}
.hero-ctas{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}
.hero-hours{margin-top:26px;display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--olive-deep)}
.hero-hours .dot{width:9px;height:9px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 3px rgba(159,176,99,.3)}
.hero-hours .dot.closed{background:#c7c2b2;box-shadow:0 0 0 3px rgba(150,150,140,.2)}
.hero-hours i{color:var(--terracotta)}

/* ---------- postcards ---------- */
.collage{position:relative;height:480px}
.postcard{position:absolute;background:#fff;padding:12px 12px 40px;box-shadow:0 18px 40px rgba(58,58,46,.22);border-radius:2px}
.postcard img{display:block;object-fit:cover;filter:saturate(.92) contrast(1.02)}
.postcard .cap{position:absolute;bottom:10px;left:14px;font-style:italic;font-size:.78rem;color:#8a8a74}
.postcard .stamp{position:absolute;top:16px;right:16px;width:44px;height:52px;background:var(--sage);border:2px dashed rgba(255,255,255,.85);outline:3px solid var(--sage);display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:.5rem;color:#fff;text-align:center;line-height:1.3;transform:rotate(4deg)}
.pc1{top:0;left:4%;transform:rotate(-3deg);z-index:2}.pc1 img{width:300px;height:210px}
.pc2{top:130px;right:0;transform:rotate(2.5deg);z-index:3}.pc2 img{width:280px;height:200px}
.pc3{bottom:0;left:14%;transform:rotate(-1deg);z-index:4}.pc3 img{width:260px;height:170px}
.postcard.static{position:relative;display:inline-block}
.postcard.static img{width:100%;height:380px}

/* ---------- funnel row ---------- */
.funnel{background:var(--olive)}
.funnel-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr}
.funnel a{display:flex;flex-direction:column;gap:6px;padding:30px 34px;text-decoration:none;color:var(--cream);border-right:1px dashed rgba(247,239,226,.25);transition:background .2s}
.funnel a:last-child{border-right:none}
.funnel a:hover{background:var(--olive-deep)}
.funnel .k{font-family:'Montserrat',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;display:flex;justify-content:space-between;align-items:center}
.funnel .k span:last-child{color:var(--gold);transition:transform .2s}
.funnel a:hover .k span:last-child{transform:translateX(6px)}
.funnel .v{font-size:.85rem;font-style:italic;color:rgba(247,239,226,.75)}

/* ---------- dish cards ---------- */
.menu-wrap{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dish{background:#fffdf7;border:1.5px solid var(--cream-deep);border-radius:4px;padding:26px 24px;display:flex;flex-direction:column;gap:10px;transition:transform .22s,box-shadow .22s,border-color .22s}
.dish:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(93,109,65,.16);border-color:var(--gold)}
.dish .tag{font-family:'Montserrat',sans-serif;font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;font-weight:800;color:#fff;background:var(--moss);align-self:flex-start;padding:4px 9px;border-radius:2px}
.dish .tag.rust{background:var(--terracotta)}
.dish .tag.sage{background:var(--sage);color:var(--olive-dark)}
.dish h3{font-size:1.02rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--olive-deep);display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.dish h3 .price{font-family:'Lora',serif;font-style:italic;color:var(--terracotta);font-size:1rem;white-space:nowrap;font-weight:500}
.dish .dotline{flex:1;border-bottom:2px dotted var(--gold);transform:translateY(-4px)}
.dish p{font-size:.88rem;line-height:1.6;color:#666652}
.menu-cta{text-align:center;margin-top:38px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.sync-note{text-align:center;margin-top:22px;font-style:italic;color:#8a8a74;font-size:.82rem}
.sync-note b{color:var(--olive);font-style:normal}

/* ---------- full menu page ---------- */
.menu-page{max-width:900px;margin:0 auto}
.menu-section{margin-bottom:54px}
.menu-section>h2{font-size:1.5rem;font-weight:900;text-transform:uppercase;color:var(--olive-deep);border-bottom:3px double var(--gold);padding-bottom:10px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:baseline}
.menu-section>h2 span{font-family:'Lora',serif;font-style:italic;font-weight:500;font-size:.85rem;color:var(--terracotta);text-transform:none;letter-spacing:0}
.mi{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px dotted rgba(224,205,155,.8)}
.mi:last-child{border-bottom:none}
.mi .n{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.95rem;color:var(--olive-deep)}
.mi .d{font-size:.86rem;color:#77775f;line-height:1.55;margin-top:4px;font-style:italic}
.mi .p{font-family:'Lora',serif;font-weight:600;color:var(--terracotta);white-space:nowrap}
.diet{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.55rem;font-weight:800;letter-spacing:.1em;color:var(--olive-dark);background:var(--sage);border-radius:2px;padding:2px 6px;margin-left:6px;vertical-align:middle}

/* ---------- taps strip ---------- */
.taps{background:var(--olive-dark);color:var(--cream);padding:56px 38px}
.taps-inner{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center}
.taps h2{font-size:1.7rem;font-weight:900;text-transform:uppercase;color:var(--gold);line-height:1.15}
.taps h2 i{font-family:'Lora',serif;font-weight:500;color:var(--sage);text-transform:none}
.tap-list{display:flex;flex-wrap:wrap;gap:10px}
.tap{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;border:1.5px solid rgba(224,205,155,.5);color:var(--cream);padding:9px 16px;border-radius:30px}
.tap b{color:var(--gold);font-weight:800}

/* ---------- story ---------- */
.story-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.story h2{font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:900;text-transform:uppercase;color:var(--olive-deep);line-height:1.1;margin:14px 0 20px}
.story h2 i{font-family:'Lora',serif;font-weight:500;color:var(--terracotta);text-transform:none}
.story p{line-height:1.8;color:#5a5a48;margin-bottom:14px;font-size:.97rem}
.chef-card{margin-top:24px;background:#fffdf7;border-left:4px solid var(--terracotta);padding:20px 24px;border-radius:0 4px 4px 0;box-shadow:0 10px 26px rgba(58,58,46,.08)}
.chef-card .who{font-family:'Montserrat',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;color:var(--olive-deep)}
.chef-card .role{font-style:italic;color:var(--terracotta);font-size:.85rem;margin-top:3px}
.chef-card p{font-size:.88rem;margin:10px 0 0;color:#666652}
.prose{max-width:760px;margin:0 auto}
.prose p{line-height:1.9;color:#5a5a48;margin-bottom:18px;font-size:1rem}
.prose h2{font-size:1.5rem;font-weight:900;text-transform:uppercase;color:var(--olive-deep);margin:38px 0 14px}
.prose blockquote{border-left:3px solid var(--gold);padding:6px 0 6px 22px;margin:26px 0;font-style:italic;font-size:1.2rem;color:var(--olive-deep);line-height:1.6}
.prose blockquote footer{font-family:'Montserrat',sans-serif;font-style:normal;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;font-weight:700;color:var(--terracotta);margin-top:10px;background:none;padding:0}

/* ---------- events ---------- */
.events-bg{background:var(--cream-deep)}
.events-strip{max-width:1000px;margin:0 auto}
.event{display:grid;grid-template-columns:110px 1fr auto;gap:26px;align-items:center;padding:24px 16px;border-bottom:2px dotted var(--gold);transition:background .2s,padding-left .2s}
.event:first-child{border-top:2px dotted var(--gold)}
.event:hover{background:rgba(224,205,155,.18);padding-left:26px}
.event .date{text-align:center}
.event .date .d{font-family:'Montserrat',sans-serif;font-size:2.1rem;font-weight:900;color:var(--terracotta);line-height:1}
.event .date .m{font-family:'Montserrat',sans-serif;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;font-weight:700;color:var(--olive);margin-top:4px}
.event h3{font-size:1.1rem;font-weight:800;text-transform:uppercase;color:var(--olive-deep)}
.event p{font-size:.88rem;font-style:italic;color:#77775f;margin-top:4px}
.event .time{font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);white-space:nowrap}

/* ---------- reviews ---------- */
.reviews{background:var(--sage);padding:54px 38px;text-align:center}
.reviews .stars{font-size:1.5rem;letter-spacing:.35em;color:var(--terracotta-deep)}
.reviews h2{font-size:1.6rem;font-weight:900;text-transform:uppercase;color:var(--olive-dark);margin-top:10px}
.reviews p{font-style:italic;color:#41503f;max-width:560px;margin:12px auto 0;line-height:1.7}
.reviews .src{font-family:'Montserrat',sans-serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;font-weight:800;color:var(--olive-dark);margin-top:16px;opacity:.7}

/* ---------- panels / visit ---------- */
.duo{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.panel{background:#fffdf7;border:1.5px solid var(--cream-deep);border-radius:6px;padding:40px 38px}
.panel.dark{background:var(--olive);border-color:var(--olive);color:var(--cream)}
.panel h2,.panel h3{font-size:1.4rem;font-weight:900;text-transform:uppercase;color:var(--olive-deep);margin:12px 0}
.panel.dark h2,.panel.dark h3{color:var(--gold)}
.panel p{font-size:.92rem;line-height:1.75;color:#666652}
.panel.dark p{color:rgba(247,239,226,.85)}
.hours-table{margin-top:18px}
.hours-table div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:2px dotted var(--gold);font-size:.9rem}
.hours-table div span:first-child{font-family:'Montserrat',sans-serif;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:700;color:#8a8a74}
.cta-row{margin-top:26px}

/* ---------- forms ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.form-grid .full{grid-column:1/-1}
.form-grid label{display:block;font-family:'Montserrat',sans-serif;font-size:.62rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#8a8a74;margin-bottom:6px}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:13px 14px;border:1.5px solid var(--cream-deep);border-radius:3px;background:#fff;font-family:'Lora',serif;font-size:.95rem;color:var(--ink);outline:none;transition:border-color .2s}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--olive)}
button.ticket-btn{border:none;cursor:pointer;font-family:inherit}

/* ---------- email band ---------- */
.email-band{background:var(--terracotta);color:var(--cream);text-align:center;padding:64px 38px}
.email-band .label{color:var(--gold)}
.email-band h2{font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:900;text-transform:uppercase;margin-top:10px}
.email-band p{max-width:460px;margin:12px auto 0;line-height:1.7;font-size:.94rem;color:#f6e3d6}
.email-form{margin-top:28px;display:flex;justify-content:center;max-width:460px;margin-left:auto;margin-right:auto}
.email-form input{flex:1;padding:15px 18px;border:2px solid var(--olive-dark);border-right:none;background:var(--cream);font-family:'Lora',serif;font-size:.95rem;outline:none;border-radius:3px 0 0 3px;color:var(--ink)}
.email-form button{padding:15px 24px;background:var(--olive-dark);color:var(--gold);border:2px solid var(--olive-dark);font-family:'Montserrat',sans-serif;letter-spacing:.18em;text-transform:uppercase;font-weight:800;font-size:.72rem;cursor:pointer;border-radius:0 3px 3px 0;transition:background .2s}
.email-form button:hover{background:var(--olive-deep)}

/* ---------- FAQ ---------- */
.faq-list{max-width:760px;margin:0 auto}
.faq{background:#fffdf7;border:1.5px solid var(--cream-deep);border-radius:4px;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;padding:18px 22px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.92rem;color:var(--olive-deep);list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::after{content:"+";font-size:1.3rem;color:var(--terracotta);transition:transform .2s}
.faq[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 22px 20px;font-size:.92rem;line-height:1.75;color:#5a5a48}

/* ---------- footer ---------- */
footer{padding:56px 38px 34px;background:var(--olive-dark);color:var(--cream)}
.foot-grid{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px}
footer h4{font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;font-weight:800;color:var(--gold);margin-bottom:16px}
footer a,footer p{color:rgba(247,239,226,.72);text-decoration:none;font-size:.88rem;line-height:2;display:block}
footer a:hover{color:var(--gold)}
footer .flogo{height:64px;margin-bottom:14px}
.foot-bottom{max-width:1150px;margin:44px auto 0;padding-top:20px;border-top:1px solid rgba(224,205,155,.25);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:'Montserrat',sans-serif;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:rgba(247,239,226,.4)}

/* ---------- floating dock ---------- */
.dock{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:200;display:flex;background:var(--olive-dark);border-radius:40px;box-shadow:0 16px 40px rgba(51,61,36,.45);overflow:hidden;opacity:0;pointer-events:none;transition:opacity .3s}
.dock.show{opacity:1;pointer-events:auto}
.dock a{color:var(--cream);text-decoration:none;font-family:'Montserrat',sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:15px 26px;display:flex;align-items:center;gap:8px;transition:background .2s}
.dock a:hover{background:var(--olive-deep)}
.dock a.hot{background:var(--terracotta)}
.dock a.hot:hover{background:var(--terracotta-deep)}
.dock .sep{width:1px;background:rgba(247,239,226,.2)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- responsive ---------- */
@media(max-width:960px){
  nav{padding:10px 18px}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);flex-direction:column;padding:18px;gap:18px;border-bottom:2px solid var(--olive)}
  .nav-links.open{display:flex}
  .menu-toggle{display:block}
  .hero{grid-template-columns:1fr;padding:40px 20px;gap:30px}
  .collage{height:400px;transform:scale(.88);transform-origin:top left}
  .funnel-grid{grid-template-columns:1fr}
  .funnel a{border-right:none;border-bottom:1px dashed rgba(247,239,226,.25)}
  section{padding:56px 20px}
  .menu-wrap{grid-template-columns:1fr}
  .story-grid,.duo,.form-grid{grid-template-columns:1fr}
  .taps-inner{grid-template-columns:1fr;gap:26px}
  .event{grid-template-columns:64px 1fr}
  .event .time{grid-column:2}
  .foot-grid{grid-template-columns:1fr 1fr}
}
