/* ==========================================================================
   IFG counsel shell — paper + gold overrides
   Loaded on every non-landing page to align typography, palette, inputs,
   buttons, headings, cards and focus states with the landing/login look.
   Scoped by element selectors only; layered ON TOP of page-specific CSS.
   ========================================================================== */

:root{
  --ifg-dark:#050A14;
  --ifg-deep:#02060D;
  --ifg-panel:#0A121F;
  --ifg-panel-2:#0D1524;
  --ifg-gold:#C5A572;
  --ifg-gold-bright:#D4B883;
  --ifg-text:#EDE8DD;
  --ifg-text-dim:#8A8578;
  --ifg-text-dimmer:#5A5648;
  --ifg-rule:#1a1f2b;
  --ifg-rule-strong:#2b3142;
  --ifg-sans:"IBM Plex Sans",-apple-system,system-ui,sans-serif;
  --ifg-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --ifg-serif:"IBM Plex Serif",Georgia,serif;
}

html,body{
  background:var(--ifg-deep)!important;
  color:var(--ifg-text)!important;
  font-family:var(--ifg-sans)!important;
  -webkit-font-smoothing:antialiased;
  letter-spacing:-.005em;
}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(1200px 800px at 85% -5%,rgba(197,165,114,.045),transparent 55%),
    radial-gradient(900px 700px at -10% 110%,rgba(197,165,114,.035),transparent 55%);
}

/* Kill browser blue focus outline — gold only for keyboard nav */
*:focus{outline:none!important;box-shadow:none!important}
*:focus-visible{outline:1px solid var(--ifg-gold)!important;outline-offset:2px!important}
button:focus,button:focus-visible,a:focus,a:focus-visible{outline:none!important}
button:focus-visible,a:focus-visible{outline:1px solid var(--ifg-gold)!important;outline-offset:2px!important}

/* Headings */
h1,h2,h3,h4{font-family:var(--ifg-sans)!important;font-weight:500!important;letter-spacing:-.015em;color:var(--ifg-text)!important}
h1{font-size:clamp(32px,3.2vw,46px);line-height:1.08;font-weight:400!important}
h2{font-size:clamp(22px,2vw,30px);line-height:1.15}
h3{font-size:18px;line-height:1.3}
em,.em,i[class*="italic"]{font-family:var(--ifg-serif)!important;font-style:italic;font-weight:300!important;color:var(--ifg-text)!important}
.ifg-brand,.em-gold{font-family:var(--ifg-serif)!important;font-style:italic;font-weight:300!important;color:var(--ifg-gold)!important}

/* Mono labels / small caps */
.kicker,.mono-label,[data-mono],.label-mono,label.mono,.mono{
  font-family:var(--ifg-mono)!important;text-transform:uppercase;letter-spacing:.18em;
  font-size:11px!important;color:var(--ifg-text-dim)!important;font-weight:400!important;
}

/* Generic paper-style card */
.card,.ifg-card,.panel{
  background:var(--ifg-panel)!important;
  border:1px solid var(--ifg-rule)!important;
  border-radius:2px!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Inputs */
input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="search"],textarea,select,
.form-input,.dash-input,.input{
  background:var(--ifg-deep)!important;
  border:1px solid var(--ifg-rule)!important;
  border-radius:2px!important;
  color:var(--ifg-text)!important;
  font-family:var(--ifg-sans)!important;
  font-size:14px!important;
  padding:14px 16px!important;
  transition:border-color .18s ease;
}
input::placeholder,textarea::placeholder{
  color:var(--ifg-text-dimmer)!important;
  font-style:italic;
  font-family:var(--ifg-serif)!important;
}
input:focus,textarea:focus,select:focus,.form-input:focus{
  outline:none!important;
  border-color:var(--ifg-gold)!important;
  background:var(--ifg-deep)!important;
}

/* Labels above inputs */
label,.form-label{
  font-family:var(--ifg-mono)!important;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:10px!important;
  color:var(--ifg-text-dim)!important;
  font-weight:400!important;
}

/* Primary CTA buttons */
.btn,.btn-primary,.btn-submit,button[type="submit"],.cta,.ifg-cta{
  font-family:var(--ifg-mono)!important;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px!important;
  font-weight:500!important;
  padding:14px 24px!important;
  border-radius:2px!important;
  background:var(--ifg-gold)!important;
  color:var(--ifg-deep)!important;
  border:1px solid var(--ifg-gold)!important;
  cursor:pointer;
  transition:all .18s ease;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.btn:hover,.btn-primary:hover,.btn-submit:hover,button[type="submit"]:hover,.cta:hover{
  background:var(--ifg-gold-bright)!important;
  border-color:var(--ifg-gold-bright)!important;
  color:var(--ifg-deep)!important;
  transform:translateY(-1px);
}

/* Ghost / secondary buttons */
.btn-secondary,.btn-ghost,.btn-outline{
  font-family:var(--ifg-mono)!important;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px!important;
  padding:14px 24px!important;
  border-radius:2px!important;
  background:transparent!important;
  color:var(--ifg-text)!important;
  border:1px solid var(--ifg-rule-strong)!important;
  cursor:pointer;
  transition:all .18s ease;
}
.btn-secondary:hover,.btn-ghost:hover,.btn-outline:hover{
  border-color:var(--ifg-gold)!important;
  color:var(--ifg-gold)!important;
  background:transparent!important;
}

/* Link style */
a{color:var(--ifg-gold)}
a:hover{color:var(--ifg-gold-bright)}

/* Hairlines */
hr{border:none;border-top:1px solid var(--ifg-rule)!important;margin:24px 0}

/* Containers */
.container,.wrap,main{max-width:1080px;margin-left:auto;margin-right:auto}

/* Generic table */
table{border-collapse:collapse;width:100%}
th{background:var(--ifg-deep)!important;color:var(--ifg-gold)!important;font-family:var(--ifg-mono)!important;text-transform:uppercase;letter-spacing:.16em;font-size:10px!important;font-weight:500!important;padding:16px 20px!important;text-align:left;border-bottom:1px solid var(--ifg-rule)!important}
td{color:var(--ifg-text)!important;font-family:var(--ifg-serif)!important;font-weight:300!important;font-size:14px!important;padding:16px 20px!important;border-bottom:1px solid var(--ifg-rule)!important}

/* Footer links common pattern */
.footer a,footer a{color:var(--ifg-text-dim)}
.footer a:hover,footer a:hover{color:var(--ifg-gold)}
