/* Zelt Media shared header + footer (used on every main-site page).
   Self-contained: every rule is scoped to .zmh / .zmm / .zmf so page styles can't break it. */
.zmh, .zmh *, .zmm, .zmm *, .zmf, .zmf * { box-sizing:border-box; }
.zmh, .zmm { --zn:#0d1f30; --zs:#3a5a78; --zl:#6b96b8; --zc:#faf8f4; --zc2:#f3efe6; --zr:#e2dccd; --zg:#c8960a; --zgd:#9b7408;
}
.zmh { position:sticky; top:0; z-index:9990; width:100%; background:rgba(250,248,244,.96); border-bottom:1px solid var(--zr);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); font-family:'Cormorant SC','Cormorant Garamond',Georgia,serif; }
.zmh-in { max-width:1320px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:.95rem 3rem; min-height:68px; }
.zmh a { text-decoration:none; border:0; background:none; box-shadow:none; }
.zmh-logo { font-family:'Cormorant SC',Georgia,serif; font-size:15px; letter-spacing:.24em; color:var(--zs) !important; white-space:nowrap; line-height:1; }
.zmh-links { display:flex; gap:2.3rem; list-style:none; margin:0; padding:0; }
.zmh-links li { margin:0; padding:0; list-style:none; }
.zmh-links li::before, .zmh-links li::marker { content:none; }
.zmh-links a { font-family:'Cormorant SC',Georgia,serif; font-size:11px; font-weight:500; letter-spacing:.2em; color:var(--zn) !important; transition:color .25s; padding:.4rem 0; border-bottom:1px solid transparent !important; }
.zmh-links a:hover, .zmh-links a[aria-current="page"] { color:var(--zs) !important; border-bottom-color:var(--zg) !important; }
.zmh-cta { font-family:'Cormorant SC',Georgia,serif; font-size:11px; letter-spacing:.18em; color:#fff !important; background:var(--zs) !important; border:1.5px solid var(--zs) !important; padding:.55rem 1.4rem; white-space:nowrap; transition:all .25s; line-height:1.2; }
.zmh-cta:hover { background:transparent !important; color:var(--zs) !important; }
.zmh-right { display:flex; align-items:center; gap:.6rem; }
.zmh-toggle { display:none; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; padding:9px; background:none !important; border:0 !important; cursor:pointer; margin:0; }
.zmh-toggle span { display:block; width:26px; height:1.5px; background:var(--zn); transition:transform .3s, opacity .3s; }
.zmh-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.zmh-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.zmh-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.zmh :focus-visible, .zmm :focus-visible, .zmf :focus-visible { outline:2px solid #c8960a; outline-offset:3px; }
/* home page: transparent over the hero until you scroll */
.zmh.zmh--overlay { position:fixed; left:0; right:0; background:transparent; border-bottom-color:transparent; -webkit-backdrop-filter:none; backdrop-filter:none; transition:background .35s, border-color .35s; }
.zmh.zmh--overlay.zmh--solid { background:rgba(250,248,244,.96); border-bottom-color:#e2dccd; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
/* mobile menu */
.zmm { position:fixed; inset:0; z-index:2147483000; background:#faf8f4; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2.2rem; padding:2rem; }
.zmm[hidden] { display:none !important; }
.zmm ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; align-items:center; gap:1.5rem; text-align:center; }
.zmm li { list-style:none; margin:0; }
.zmm li::before { content:none; }
.zmm a { text-decoration:none; }
.zmm ul a { font-family:'Cormorant Garamond',Georgia,serif; font-size:1.7rem; font-weight:300; color:#0d1f30 !important; }
.zmm ul a[aria-current="page"] { color:#3a5a78 !important; font-style:italic; }
.zmm .zmh-cta { font-size:12px; padding:.8rem 2.2rem; }
.zmm-close { position:absolute; top:1rem; right:1rem; width:44px; height:44px; background:none !important; border:1.5px solid #e2dccd !important; font-size:1.6rem; line-height:1; color:#0d1f30; cursor:pointer; }
html.zmm-open, html.zmm-open body { overflow:hidden; }
@media (max-width:1040px) { .zmh-links { display:none; } .zmh-toggle { display:flex; } .zmh-in { padding:.7rem 1.1rem; min-height:60px; } }
@media (max-width:420px) { .zmh-cta.zmh-cta--bar { display:none; } }

/* footer */
.zmf { --zn:#0d1f30; --zs:#3a5a78; --zl:#6b96b8; --zr:#e2dccd; --zg:#c8960a;
  background:#f3efe6; border-top:1.5px solid var(--zr); color:var(--zn); font-family:'EB Garamond','Cormorant Garamond',Georgia,serif; text-align:left; margin:0; }
.zmf a { text-decoration:none; color:inherit; border:0; background:none; }
.zmf-in { max-width:1180px; margin:0 auto; padding:3.4rem 2rem 2rem; }
.zmf-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.5rem; }
.zmf-logo { font-family:'Cormorant SC',Georgia,serif; font-size:16px; letter-spacing:.26em; color:var(--zs) !important; }
.zmf-tag { font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:1.2rem; line-height:1.4; color:var(--zs); margin:.7rem 0 1.1rem; max-width:17em; }
.zmf-contact { list-style:none; margin:0; padding:0; display:grid; gap:.35rem; }
.zmf-contact a { font-size:1rem; color:var(--zn) !important; }
.zmf-contact a:hover { color:var(--zgd, #9b7408) !important; }
.zmf h2 { font-family:'Cormorant SC',Georgia,serif; font-weight:500; font-size:12px; letter-spacing:.22em; color:#9b7408; margin:.2rem 0 1rem; padding:0; border:0; text-transform:none; line-height:1.3; }
.zmf-col ul { list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.zmf-col li, .zmf-contact li { list-style:none; margin:0; padding:0; }
.zmf-col li::before, .zmf-contact li::before { content:none; }
.zmf-col a { font-size:1.02rem; color:var(--zn) !important; transition:color .2s; }
.zmf-col a:hover { color:var(--zs) !important; text-decoration:underline; text-underline-offset:3px; }
.zmf-bottom { margin-top:2.6rem; padding-top:1.4rem; border-top:1px solid var(--zr); display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; }
.zmf-badge { display:flex; align-items:center; gap:.8rem; }
.zmf-badge span { font-family:'Cormorant SC',Georgia,serif; font-size:11px; letter-spacing:.16em; color:var(--zl); }
.zmf-badge img { display:block; width:128px; height:auto; border-radius:6px; }
.zmf-legal { display:flex; gap:.4rem 1.2rem; flex-wrap:wrap; align-items:center; font-size:.92rem; color:#4e6478; }
.zmf-legal a { color:#4e6478 !important; }
.zmf-legal a:hover { color:var(--zn) !important; text-decoration:underline; }
.zmf-copy { font-style:italic; }
@media (max-width:900px) { .zmf-grid { grid-template-columns:1fr 1fr; } .zmf-brand { grid-column:1 / -1; } }
@media (max-width:560px) { .zmf-in { padding:2.6rem 1.25rem 1.6rem; } .zmf-grid { gap:2rem 1.2rem; } .zmf-bottom { flex-direction:column; align-items:flex-start; } }

/* keep in-page links (#order, #contact) from hiding under the sticky header */
html { scroll-padding-top:84px; }
