:root{
  --noir:#100d0c; --noir-2:#171312; --char:#1e1a18; --char-2:#26211e;
  --cream:#f2e9db; --cream-dim:#c3b7a6; --muted:#8f8474;
  --red:#b5121a; --red-deep:#7d0d13; --gold:#c6a15b; --gold-bright:#d8b877;
  --line:rgba(198,161,91,.22); --line-soft:rgba(242,233,219,.1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"EB Garamond",Georgia,serif;color:var(--cream);background:var(--noir);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 45% at 20% 8%,rgba(181,18,26,.10),transparent 60%),
             radial-gradient(55% 45% at 85% 30%,rgba(198,161,91,.08),transparent 60%),
             radial-gradient(120% 80% at 50% 120%,rgba(0,0,0,.6),transparent 60%)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:"Playfair Display",serif;font-weight:600}
.eyebrow{font-family:"Jost",sans-serif;text-transform:uppercase;letter-spacing:.28em;font-size:.62rem;color:var(--gold);display:inline-block;margin-bottom:14px}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.btn{font-family:"Jost",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;padding:12px 22px;border-radius:999px;border:1px solid var(--gold);background:transparent;color:var(--gold-bright);transition:.2s;display:inline-block}
.btn:hover{background:var(--gold);color:var(--noir)}
.btn--solid{background:var(--gold);color:var(--noir)}.btn--solid:hover{background:var(--gold-bright)}
.btn--sm{padding:7px 14px;font-size:.6rem}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:16px 22px;transition:background .4s,box-shadow .4s;background:transparent}
.hdr.scrolled{background:rgba(16,13,12,.92);box-shadow:0 1px 0 var(--line-soft);backdrop-filter:blur(8px)}
.wordmark{font-family:"Playfair Display",serif;font-size:1.5rem;display:inline-flex;align-items:center}.wordmark .ap{color:var(--red)}
.wm-logo{height:40px;width:auto;margin-right:11px}
.cobrand{font-family:"Jost",sans-serif;font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-left:12px;white-space:nowrap}
@media(max-width:760px){.cobrand{display:none}}
.hdr__nav{display:flex;gap:26px;align-items:center}
.hdr__nav a{font-family:"Jost",sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim)}
.hdr__nav a:hover{color:var(--cream)}
.cartbtn{position:relative;border:1px solid var(--gold);color:var(--gold-bright);border-radius:999px;padding:9px 16px;font-family:"Jost",sans-serif;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;background:transparent}
.cartbtn .count{background:var(--red);color:#fff;border-radius:999px;font-size:.6rem;padding:1px 7px;margin-left:7px}
@media(max-width:640px){.hdr__nav a:not(.cartbtn){display:none}}

/* hero */
.hero{min-height:78vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 22px 70px}
.hero h1{font-size:clamp(2.4rem,6vw,4rem);line-height:1.05}.hero h1 em{color:var(--gold-bright);font-style:italic}
.hero p{max-width:52ch;margin:18px auto 0;color:var(--cream-dim);font-size:1.1rem}
.hero__cta{margin-top:30px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* sections */
section{padding:70px 0}
.section-head{text-align:center;max-width:620px;margin:0 auto 42px}
.section-head h2{font-size:2.1rem}.section-head p{color:var(--cream-dim);margin-top:10px}

/* product grid */
.cat{margin-bottom:56px}
.cat__title{text-align:center;margin-bottom:6px;font-size:1.6rem;color:var(--gold-bright);font-style:italic}
.cat__sub{text-align:center;font-family:"Jost",sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:.6rem;color:var(--muted);margin-bottom:26px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.pcard{background:var(--noir-2);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column}
.pcard h4{font-size:1.15rem}
.pcard .desc{color:var(--cream-dim);font-size:.94rem;margin:8px 0 16px;flex:1}
.pcard .prow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pcard .price{font-family:"Playfair Display",serif;font-size:1.3rem;color:var(--gold-bright)}

/* catering */
.catering{background:linear-gradient(180deg,transparent,rgba(38,33,30,.5),transparent)}
.formcard{background:var(--noir-2);border:1px solid var(--line);border-radius:16px;padding:28px;max-width:620px;margin:0 auto}
.frow{display:flex;gap:14px}.frow>*{flex:1}
.field{margin-bottom:14px}
label{display:block;font-family:"Jost",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.6rem;color:var(--muted);margin-bottom:5px}
input,select,textarea{width:100%;background:var(--noir);border:1px solid var(--line);color:var(--cream);padding:11px;border-radius:8px;font-family:"EB Garamond",serif;font-size:1rem}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
.msg{font-size:.9rem;margin-top:10px}.msg.err{color:#e29a95}.msg.ok{color:#a7d6b3}
@media(max-width:560px){.frow{flex-direction:column;gap:0}}

/* cart drawer */
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(92vw,400px);background:var(--noir-2);border-left:1px solid var(--line);z-index:80;transform:translateX(102%);transition:transform .4s cubic-bezier(.7,0,.2,1);display:flex;flex-direction:column;padding:22px}
.drawer.open{transform:none}
.drawer__h{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.drawer__h h3{font-size:1.4rem}.drawer__h button{background:none;border:0;color:var(--muted);font-size:1.6rem}
.drawer__items{flex:1;overflow-y:auto}
.citem{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line-soft)}
.citem .nm{flex:1}.citem .nm .p{color:var(--cream-dim);font-size:.85rem}
.qty{display:flex;align-items:center;gap:8px;margin-top:6px}
.qty button{width:24px;height:24px;border:1px solid var(--line);background:var(--noir);color:var(--cream);border-radius:6px;line-height:1}
.citem .rm{background:none;border:0;color:var(--muted);font-size:.8rem;text-decoration:underline;cursor:pointer;margin-top:6px}
.drawer__f{border-top:1px solid var(--line);padding-top:14px;margin-top:8px}
.drawer__f .row{display:flex;justify-content:space-between;font-size:1.1rem;margin-bottom:12px}
.empty{color:var(--muted);text-align:center;padding:40px 0}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:70;opacity:0;pointer-events:none;transition:.3s}
.overlay.show{opacity:1;pointer-events:auto}

/* checkout modal */
.modal{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.6)}
.modal.open{display:flex}
.modal__card{background:var(--noir-2);border:1px solid var(--line);border-radius:16px;padding:28px;width:100%;max-width:460px;max-height:92vh;overflow-y:auto}
.modal__card .x{float:right;background:none;border:0;color:var(--muted);font-size:1.5rem}
.foot{text-align:center;padding:40px 22px;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line-soft)}
.thanks{text-align:center}.thanks .mark{font-size:2.4rem;color:var(--gold)}
.note{font-family:"Jost",sans-serif;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:10px}
