/* Halal Meats Group — "the maison"
   Fraunces + Inter · emerald / brass / ivory · editorial, ruled, unhurried. */

:root{
  --emerald:#0B2921;
  --emerald-deep:#071E17;
  --brass:#C2A059;
  --brass-soft:#A98F4F;
  --ivory:#F6F1E7;
  --ivory-deep:#EFE7D3;
  --ink:#12211B;
  --ink-soft:#46564D;
  --line:#D9CFB6;
  --line-dark:#B7AB8C;
  --line-on-green:rgba(194,160,89,.38);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  font-size:16.5px;
  line-height:1.65;
  color:var(--ink);
  background:var(--ivory);
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--brass);color:var(--emerald-deep)}
a{color:var(--emerald);text-decoration-color:var(--brass);text-underline-offset:3px}
a:hover{color:var(--brass-soft)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

/* ---------- labels, badges, type ---------- */
.eyebrow{
  font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass-soft);display:flex;align-items:center;gap:14px;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--brass)}
.on-green .eyebrow{color:var(--brass)}

.halal-badge{
  font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:var(--brass-soft);white-space:nowrap;
}
.on-green .halal-badge,.manifesto .halal-badge,.feature .halal-badge{color:var(--brass)}

h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--emerald);letter-spacing:-.01em}
h1{font-size:clamp(2.9rem,6.2vw,4.7rem);line-height:1.04}
h2{font-size:clamp(2rem,3.9vw,3.05rem);line-height:1.12}
h3{font-size:1.45rem;line-height:1.25}
.lead{font-size:1.21rem;line-height:1.6;color:var(--ink-soft);max-width:64ch}

/* ---------- topbar / header ---------- */
.topbar{
  border-bottom:1px solid var(--line);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);
}
.topbar-inner{display:flex;justify-content:space-between;gap:24px;padding-top:11px;padding-bottom:11px}
.topbar a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:1px}
.topbar a:hover{color:var(--brass-soft)}
.topbar-note{color:var(--brass-soft);font-weight:600}

.site-header{border-bottom:1px solid var(--ink);background:var(--ivory);position:relative}
.header-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-top:30px;padding-bottom:26px}
.logo{text-decoration:none;line-height:1}
.logo strong{
  display:block;font-family:var(--serif);font-weight:600;font-size:1.72rem;
  letter-spacing:.015em;color:var(--emerald);text-transform:uppercase;
}
.logo span{
  display:block;margin-top:7px;font-size:10px;font-weight:600;
  letter-spacing:.3em;text-transform:uppercase;color:var(--brass-soft);
}
.main-nav{display:flex;gap:34px}
.main-nav a{
  font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;padding-bottom:4px;border-bottom:1px solid transparent;
}
.main-nav a:hover{color:var(--brass-soft)}
.main-nav a[aria-current="page"]{border-bottom-color:var(--brass);color:var(--emerald)}
.nav-toggle{
  display:none;background:none;border:1px solid var(--ink);color:var(--ink);
  font:600 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;
  padding:10px 16px;cursor:pointer;
}

/* ---------- hero / manifesto ---------- */
.hero{padding:118px 0 96px}
.hero h1{margin:26px 0 28px;max-width:13ch}
.hero .lead{margin-bottom:42px}
.hero-actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center}

.manifesto{background:var(--emerald);color:var(--ivory);text-align:center;padding:96px 0}
.manifesto .m-mark{
  font-size:13px;font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:var(--brass);
}
.manifesto .m-line{
  font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.15rem);font-weight:400;
  line-height:1.35;max-width:27ch;margin:26px auto 0;color:var(--ivory);
}
.manifesto .m-star{color:var(--brass);font-size:12px;letter-spacing:1.2em;text-indent:1.2em;margin-top:36px;opacity:.75}

/* ---------- links & buttons ---------- */
.btn{
  display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;text-decoration:none;padding:17px 30px;
  border:1px solid var(--emerald);color:var(--emerald);background:transparent;
  transition:background .25s,color .25s,border-color .25s;
}
.btn:hover{background:var(--emerald);color:var(--ivory)}
.btn-solid{background:var(--emerald);color:var(--ivory)}
.btn-solid:hover{background:var(--emerald-deep);border-color:var(--emerald-deep);color:var(--ivory)}
.on-green .btn{border-color:var(--brass);color:var(--ivory)}
.on-green .btn:hover{background:var(--brass);color:var(--emerald-deep)}
.text-link{
  font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;color:var(--emerald);border-bottom:1px solid var(--brass);padding-bottom:5px;
}
.text-link:hover{color:var(--brass-soft)}

/* ---------- sections ---------- */
.section{padding:112px 0}
.section.tint{background:var(--ivory-deep)}
.section-head{margin-bottom:56px;max-width:730px}
.section-head h2{margin:20px 0 18px}
.section-head p{color:var(--ink-soft);max-width:66ch}
.sec-no{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.05rem;color:var(--brass-soft);letter-spacing:.04em}

.rule-star{
  display:flex;align-items:center;gap:18px;color:var(--brass);opacity:.85;
  font-size:12px;padding:0 32px;max-width:1180px;margin:0 auto;
}
.rule-star::before,.rule-star::after{content:"";flex:1;height:1px;background:var(--line)}

/* two-column editorial layouts */
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:88px}
.cols-asym{display:grid;grid-template-columns:5fr 7fr;gap:88px}
.cols-2 h2,.cols-asym h2{margin-bottom:22px}
.cols-2 p,.cols-asym p{color:var(--ink-soft);margin-bottom:18px;max-width:58ch}
.sticky-head{position:sticky;top:40px;align-self:start}

/* ruled house rows (replaces card grids) */
.house-row{
  display:grid;grid-template-columns:88px 1fr;gap:28px;
  padding:34px 0;border-top:1px solid var(--line);
}
.house-row:last-child{border-bottom:1px solid var(--line)}
.house-row .no{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--brass-soft)}
.house-row h3{margin-bottom:8px}
.house-row p{color:var(--ink-soft);max-width:62ch}
.house-row .halal-badge{display:block;margin-bottom:10px}

/* ---------- the index (menu-style product rows) ---------- */
.index-list{border-bottom:1px solid var(--line)}
.mi{padding:30px 0 26px;border-top:1px solid var(--line)}
.mi-head{display:flex;align-items:baseline;gap:16px}
.mi-head h3{font-size:1.5rem;white-space:nowrap}
.mi-head .leader{flex:1;min-width:32px;border-bottom:2px dotted rgba(169,143,79,.55);transform:translateY(-5px)}
.mi-spec{
  font-size:.86rem;color:var(--ink-soft);letter-spacing:.02em;
  font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;
}
.mi p{margin-top:8px;color:var(--ink-soft);max-width:66ch}
.mi .mark-row{display:flex;gap:18px;align-items:center;margin-bottom:4px}
.mi.featured{padding:42px 0 36px}
.mi.featured h3{font-size:2.05rem}
.feat-label{font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--brass-soft)}
.index-note{margin-top:28px;color:var(--ink-soft)}
.cat-list{columns:2;column-gap:88px}
.cat-list .mi{break-inside:avoid}

/* featured band (emerald) */
.feature{background:var(--emerald);color:var(--ivory);padding:104px 0}
.feature .feat-label{color:var(--brass);text-align:center;display:block}
.feature h2{
  color:var(--ivory);text-align:center;font-size:clamp(2.4rem,5vw,3.9rem);
  margin:22px auto 8px;max-width:20ch;
}
.feature .feat-sub{
  text-align:center;font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--brass);
}
.feature p{max-width:56ch;margin:28px auto 0;text-align:center;color:#D8DCD2}
.feature .feat-meta{
  margin-top:30px;text-align:center;font-size:11px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--brass);
}
.feature .feat-actions{margin-top:38px;text-align:center}

/* ---------- checklists, notices, steps ---------- */
.checklist{list-style:none}
.checklist li{
  padding:15px 0 15px 30px;border-top:1px solid var(--line);position:relative;color:var(--ink-soft);
}
.checklist li:last-child{border-bottom:1px solid var(--line)}
.checklist li::before{content:"—";position:absolute;left:0;color:var(--brass-soft)}
.checklist strong{color:var(--ink);font-weight:600}

.notice{border-left:2px solid var(--brass);padding:4px 0 4px 26px;max-width:72ch;color:var(--ink-soft)}
.notice strong{color:var(--emerald);font-family:var(--serif);font-weight:600;font-size:1.1rem;display:block;margin-bottom:6px}

.step-row{display:grid;grid-template-columns:130px 1fr;gap:32px;padding:38px 0;border-top:1px solid var(--line)}
.step-row:last-of-type{border-bottom:1px solid var(--line)}
.step-no{font-family:var(--serif);font-size:2.9rem;font-weight:400;color:var(--brass-soft);line-height:1}
.step-row h3{margin-bottom:8px}
.step-row p{color:var(--ink-soft);max-width:62ch}

/* ---------- closing band ---------- */
.closing{background:var(--emerald);color:var(--ivory);padding:112px 0}
.closing h2{color:var(--ivory);margin:20px 0 18px;max-width:18ch}
.closing p{color:#D8DCD2;max-width:58ch;margin-bottom:38px}
.closing .eyebrow{color:var(--brass)}
.closing .eyebrow::before{background:var(--brass)}

/* ---------- forms ---------- */
.form-note{font-size:.94rem;color:var(--ink-soft);max-width:56ch}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 44px;margin-top:38px}
.field.full{grid-column:1/-1}
.field label{
  display:block;font-size:10.5px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--emerald);margin-bottom:6px;
}
.field input,.field select,.field textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-dark);
  padding:11px 2px 12px;font:400 1rem var(--sans);color:var(--ink);border-radius:0;appearance:none;
}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-bottom:2px solid var(--brass);
}
button.btn{cursor:pointer;font-family:var(--sans)}
.big-mail{
  font-family:var(--serif);font-size:clamp(1.25rem,2.6vw,1.65rem);color:var(--emerald);
  text-decoration:none;border-bottom:1px solid var(--brass);word-break:break-all;
}
.big-mail:hover{color:var(--brass-soft)}

/* ---------- guide prose ---------- */
.prose{max-width:780px}
.prose h2{margin:68px 0 18px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--ink-soft);margin-bottom:18px}
.prose .checklist{margin:26px 0 8px}

/* ---------- footer ---------- */
.site-footer{background:var(--emerald-deep);color:#C9CFC2;padding:88px 0 0}
.footer-mark{
  font-family:var(--serif);font-weight:500;color:var(--ivory);
  font-size:clamp(2.9rem,8.4vw,7.2rem);line-height:1.02;letter-spacing:.005em;
  padding-bottom:52px;border-bottom:1px solid var(--line-on-green);
}
.footer-mark em{font-style:italic;color:var(--brass)}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;padding:52px 0 58px;
}
.footer-grid .f-label{
  font-size:10.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;
  color:var(--brass);margin-bottom:16px;
}
.footer-grid p{max-width:40ch}
.footer-grid a{color:#E7E4D8;text-decoration:none}
.footer-grid a:hover{color:var(--brass)}
.footer-grid .f-links a{display:block;padding:5px 0}
.footer-bottom{
  border-top:1px solid var(--line-on-green);padding:24px 0 30px;
  display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9AA695;
}

/* ---------- 404 ---------- */
.nf{padding:150px 0 170px}
.nf h1{margin:22px 0 20px}
.nf p{color:var(--ink-soft);max-width:52ch;margin-bottom:38px}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .cols-2,.cols-asym{grid-template-columns:1fr;gap:56px}
  .sticky-head{position:static}
  .cat-list{columns:1}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:16px}
  .wrap{padding:0 22px}
  .hero{padding:80px 0 72px}
  .section{padding:80px 0}
  .manifesto,.feature,.closing{padding:76px 0}
  .header-inner{align-items:center;padding-top:22px;padding-bottom:20px}
  .logo strong{font-size:1.32rem}
  .nav-toggle{display:block}
  .main-nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    background:var(--ivory);border-bottom:1px solid var(--ink);
    flex-direction:column;gap:0;padding:10px 22px 18px;z-index:20;
  }
  .main-nav.open{display:flex}
  .main-nav a{padding:12px 0;border-bottom:1px solid var(--line)}
  .main-nav a[aria-current="page"]{border-bottom-color:var(--line);color:var(--brass-soft)}
  .topbar-note{display:none}
  .mi-head{flex-wrap:wrap;gap:6px 12px}
  .mi-head h3{white-space:normal}
  .mi-head .leader{display:none}
  .mi-spec{text-align:left;white-space:normal}
  .house-row{grid-template-columns:52px 1fr;gap:18px}
  .step-row{grid-template-columns:76px 1fr;gap:20px}
  .step-no{font-size:2.1rem}
  .form-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:40px}
  .nf{padding:100px 0 120px}
}
