/* ==========================================================================
   THE REGISTER — shared theme for kingenterprises.co interior pages.
   Approved 31 August 2026; recorded in King_Enterprises_Complete_Brand_Guidelines.docx
   under "KING ENTERPRISES .CO - WEB THEME".

   The home page carries its own copy of these tokens inline (it is a single
   self-contained document). Every OTHER page on the site links this file, so
   contact and the three policy pages cannot drift away from the theme the way
   they had drifted into navy, gold, Playfair Display and Inter.

   Obeys "WEB ANTI-PATTERNS": no accent rails on cards, no two-tone headlines,
   no letter-avatar chips, no uniform radius, left-aligned throughout.
   ========================================================================== */

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --graphite:   #101418;
  --slate-gr:   #1C2228;
  --taupe:      #927962;
  --taupe-lt:   #B08D6E;
  --silver:     #C6C8CA;
  --bone:       #FAFAF9;
  --stone:      #DFDDD9;
  --ink:        #14181C;
  --muted:      #6B6F73;

  --f-display: 'Cinzel Decorative', Georgia, serif;
  --f-roman:   'Cinzel', Georgia, serif;
  --f-body:    'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --pad: clamp(20px, 5vw, 72px);
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--f-body);
  background: var(--bone);
  color: var(--ink);
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--taupe); text-decoration: underline; text-underline-offset: 3px; }
a:hover { color: var(--ink); }
:focus-visible { outline: 2px solid var(--taupe); outline-offset: 3px; }

/* ------------------------------------------------------------------- nav -- */
.nav {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px 24px;
  padding: 15px var(--pad);
  background: var(--graphite);
  border-bottom: 1px solid #2A3037;
}
.nav .mk {
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(14px, 2vw, 17px);
  letter-spacing: .04em; color: #C6B7A4; text-decoration: none;
}
.nav ul { display: flex; flex-wrap: wrap; gap: clamp(14px, 2.4vw, 26px); list-style: none; }
.nav a.lnk {
  font-size: 10.5px; font-weight: 600; letter-spacing: .19em;
  text-transform: uppercase; color: #9AA0A6; text-decoration: none;
  transition: color .2s;
}
.nav a.lnk:hover { color: #fff; }

/* -------------------------------------------------------------- pagehead -- */
.pagehead {
  position: relative; overflow: hidden;
  background: var(--graphite); color: #fff;
  padding: clamp(38px, 6vw, 74px) var(--pad) clamp(32px, 4.5vw, 58px);
  border-bottom: 3px solid var(--taupe);
}
.pagehead .lattice {
  position: absolute; inset: 0; opacity: .09; pointer-events: none;
  background-image:
    linear-gradient(var(--silver) 1px, transparent 1px),
    linear-gradient(90deg, var(--silver) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(74% 66% at 80% 0%, #000 0%, transparent 72%);
  mask-image: radial-gradient(74% 66% at 80% 0%, #000 0%, transparent 72%);
}
.pagehead .in { position: relative; max-width: 62ch; }
.pagehead .eyebrow {
  display: flex; align-items: center; gap: 13px; margin-bottom: 18px;
  font-family: var(--f-roman); font-size: clamp(10px, 1.3vw, 11.5px);
  font-weight: 600; letter-spacing: .3em; text-transform: uppercase;
  color: var(--taupe-lt);
}
.pagehead .eyebrow::after { content: ""; width: clamp(30px, 5vw, 56px); height: 1px; background: var(--taupe); }
.pagehead h1 {
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(24px, 4.4vw, 44px); line-height: 1.12;
  letter-spacing: .005em; margin-bottom: 14px;
}
.pagehead p { font-size: clamp(13.5px, 1.6vw, 15.5px); color: var(--silver); }
.pagehead .updated {
  margin-top: 16px; font-size: 10.5px; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase; color: #8D9298;
}

/* ------------------------------------------------------------------ body -- */
.wrap { max-width: 980px; margin: 0 auto; padding: clamp(34px, 5vw, 64px) var(--pad); }
.prose { max-width: 74ch; }

.prose h2 {
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(17px, 2.4vw, 24px); line-height: 1.25;
  letter-spacing: .005em; color: var(--ink);
  margin: clamp(30px, 4vw, 46px) 0 12px;
  padding-bottom: 9px; border-bottom: 1px solid var(--stone);
}
.prose h2:first-of-type { margin-top: 0; }
.prose h3 {
  font-size: clamp(13.5px, 1.7vw, 15.5px); font-weight: 700;
  color: var(--ink); margin: 22px 0 8px;
}
.prose p { margin-bottom: 14px; font-size: clamp(13.5px, 1.55vw, 15px); color: #4C5054; }
.prose ul, .prose ol { margin: 0 0 16px 1.1rem; }
.prose li { margin-bottom: 7px; font-size: clamp(13.5px, 1.55vw, 15px); color: #4C5054; }
.prose strong { color: var(--ink); font-weight: 600; }

/* the section index — a ruled list, the site's signature form, never cards */
.index { margin: 0 0 clamp(30px, 4vw, 44px); border-top: 1px solid var(--ink); }
.index a {
  display: grid; grid-template-columns: 2.4rem 1fr; gap: 0 16px;
  padding: 11px 0; border-bottom: 1px solid var(--stone);
  text-decoration: none; color: var(--ink); font-size: 13.5px;
}
.index a:hover { color: var(--taupe); }
.index .n {
  font-family: var(--f-roman); font-weight: 600; font-size: 12.5px;
  color: var(--muted); font-variant-numeric: tabular-nums;
}

/* a definition block — used for contact details. Ruled, not a rounded card. */
.deflist { border-top: 1px solid var(--ink); margin-bottom: clamp(26px, 3.5vw, 40px); }
.deflist .row {
  display: grid; gap: 3px 24px; padding: 14px 0;
  border-bottom: 1px solid var(--stone);
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .deflist .row { grid-template-columns: 148px 1fr; } }
.deflist dt {
  font-size: 9.5px; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: var(--taupe); padding-top: 3px;
}
.deflist dd { font-size: 14px; color: var(--ink); }
.deflist dd .sub { display: block; font-size: 12.5px; color: var(--muted); margin-top: 2px; }

/* command list for the SMS keywords — mono keys on ruled rows */
.cmds { border-top: 1px solid var(--ink); margin: 16px 0 clamp(24px, 3vw, 34px); }
.cmds .row {
  display: grid; gap: 3px 22px; padding: 12px 0;
  border-bottom: 1px solid var(--stone);
  grid-template-columns: 1fr;
}
@media (min-width: 560px) { .cmds .row { grid-template-columns: 104px 1fr; } }
.cmds .k {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px; font-weight: 600; letter-spacing: .06em; color: var(--taupe);
}
.cmds .v { font-size: 13.5px; color: #4C5054; }

.callout {
  border-left: 3px solid var(--taupe);
  background: #F3F1EE;
  padding: 18px 20px; margin: 20px 0;
  border-radius: 2px;
}
.callout p { margin-bottom: 8px; }
.callout p:last-child { margin-bottom: 0; }

.kick {
  display: flex; align-items: baseline; gap: 15px; margin-bottom: 10px;
  font-size: 10px; font-weight: 700; letter-spacing: .22em;
  text-transform: uppercase; color: var(--taupe);
}
.kick .r { flex: 1; height: 1px; background: var(--stone); }

.sec-title {
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(19px, 3vw, 28px); letter-spacing: .005em;
  margin-bottom: 14px;
}

/* --------------------------------------------------------------- footer -- */
.foot { background: #0B0E11; color: #8D9298; padding: clamp(28px, 4vw, 44px) var(--pad); }
.foot-in { display: flex; flex-wrap: wrap; gap: 18px 34px; align-items: center; justify-content: space-between; }
.foot .mk { font-family: var(--f-display); font-weight: 700; font-size: 14px; color: #C6B7A4; letter-spacing: .03em; }
.foot .tag { margin-top: 5px; font-size: 9px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: #6A6F74; }
.foot ul { display: flex; flex-wrap: wrap; gap: 20px; list-style: none; }
.foot a { font-size: 11.5px; color: #8D9298; text-decoration: none; }
.foot a:hover { color: #fff; }
.foot .legal { margin-top: 20px; padding-top: 16px; border-top: 1px solid #1E2227; font-size: 11px; color: #6A6F74; }
.foot .legal a { text-decoration: none; }
