/* ══════════════════════════════════════════════
   NEST HOSPITALITY SOLUTIONS — Design Tokens
   Editorial + warm. Sharp corners. No shadows.
   ══════════════════════════════════════════════ */

/* ── Brand fonts — local woff2, no Google Fonts ── */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300 500; font-display: swap;
  src: url('fonts/CormorantGaramond-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 300 500; font-display: swap;
  src: url('fonts/CormorantGaramond-Italic.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('fonts/Barlow-Light.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/Barlow-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 500 700; font-display: swap;
  src: url('fonts/Barlow-Medium.woff2') format('woff2'); }

:root {
  /* ── Color — core palette ── */
  --black:       #0A0A0A;  /* Primary dark background */
  --black2:      #111111;  /* Secondary dark surface */
  --black-deep:  #050505;  /* Footer / deepest surface */

  --gold:        #B87333;  /* Copper accent, CTAs, dividers */
  --gold-light:  #D4956B;  /* Hover / secondary accent */
  --gold-deep:   #8C561F;  /* Pressed state */

  --cream:       #F5F0E8;  /* Warm background */
  --cream2:      #EDE8DC;  /* Secondary warm surface */
  --linen:       #EDE8DC;  /* Alias for cream2 */
  --warm-white:  #FAF8F4;  /* Lightest warm surface */

  /* ── Color — text on dark ── */
  --text:        #FAF8F4;  /* Primary text on dark */
  --text-muted:  rgba(245,240,232,0.55);
  --text-dim:    rgba(245,240,232,0.28);

  /* ── Color — text on light ── */
  --text-dk:       #1A1714;
  --text-dk-mid:   #4A4540;
  --text-dk-light: #9A9490;

  /* ── Color — lines & dividers ── */
  --gold-line:    rgba(184,115,51,0.22);
  --gold-line-dk: rgba(184,115,51,0.25);
  --line-dk:      rgba(245,240,232,0.08);
  --line-lt:      rgba(26,23,20,0.08);

  /* ── Color — semantic status ── */
  --status-live:  #4ADE80;   /* pulsing green */
  --status-dev:   var(--gold);
  --status-soon:  var(--text-dim);
  --danger:       #C0392B;

  /* ── Type — families ── */
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Barlow', -apple-system, BlinkMacSystemFont, sans-serif;

  /* ── Type — semantic scale (desktop) ── */
  /* Display — Cormorant 300, italic-accent allowed on ONE word */
  --h1-size:  clamp(3.2rem, 5.6vw, 5rem);    --h1-lh: 1.04;  --h1-weight: 300; --h1-tracking: -0.01em;
  --h2-size:  clamp(2.1rem, 3.6vw, 3rem);    --h2-lh: 1.08;  --h2-weight: 300; --h2-tracking: -0.005em;
  --h3-size:  clamp(1.8rem, 3vw,   2.6rem);  --h3-lh: 1.15;  --h3-weight: 300; --h3-tracking: 0;
  --h4-size:  1.2rem;                        --h4-lh: 1.3;   --h4-weight: 300;

  /* Editorial pull-quote */
  --quote-size: 1.35rem;  --quote-lh: 1.55;

  /* Body — Barlow 300, 1.85–1.95 line-height */
  --body-size:   0.88rem;  --body-lh: 1.95;  --body-weight: 300;
  --body-sm:     0.78rem;
  --body-lg:     1.05rem;

  /* Kicker / label — uppercase Barlow, 0.2em tracking, gold */
  --kicker-size: 0.58rem;  --kicker-tracking: 0.22em;  --kicker-weight: 400;
  --eyebrow-size: 0.65rem; --eyebrow-tracking: 0.3em;

  /* UI — buttons, nav, meta */
  --ui-size:     0.7rem;   --ui-tracking: 0.1em;
  --nav-size:    0.68rem;  --nav-tracking: 0.12em;
  --meta-size:   0.62rem;  --meta-tracking: 0.14em;

  /* ── Spacing — section / container ── */
  --container-max:   1200px;
  --container-pad:   3rem;
  --section-pad:     6rem;   /* default section vertical padding */
  --section-pad-sm:  3.5rem; /* mobile */

  /* ── Borders — sharp corners, hairline rules ── */
  --radius: 0;             /* sharp corners everywhere */
  --hairline: 1px;
  --border-dk: 1px solid var(--gold-line);
  --border-lt: 1px solid var(--line-lt);
  --accent-top: 2px solid var(--gold);  /* card top-border */

  /* ── Motion ── */
  --ease: cubic-bezier(.2,.6,.2,1);
  --dur-fast: 0.18s;
  --dur: 0.25s;
  --dur-slow: 0.6s;
  --reveal-y: 16px;
}

/* ══════════════════════════════════════════════
   SEMANTIC DEFAULTS — map tokens → bare tags
   ══════════════════════════════════════════════ */
html { font-size: 16px; }
body {
  font-family: var(--sans);
  font-weight: var(--body-weight);
  background: var(--black);
  color: var(--text);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { font-family: var(--serif); font-weight: 300; color: inherit; }
h1 { font-size: var(--h1-size); line-height: var(--h1-lh); letter-spacing: var(--h1-tracking); }
h2 { font-size: var(--h2-size); line-height: var(--h2-lh); letter-spacing: var(--h2-tracking); }
h3 { font-size: var(--h3-size); line-height: var(--h3-lh); }
h4 { font-size: var(--h4-size); line-height: var(--h4-lh); }
/* ONE italic word per headline — never the whole line */
h1 em, h2 em, h3 em { font-style: italic; color: var(--gold); }

p  { font-size: var(--body-size); line-height: var(--body-lh); font-weight: var(--body-weight); }

/* Kicker — small uppercase Barlow, gold, with trailing rule */
.kicker {
  font-family: var(--sans);
  font-size: var(--kicker-size);
  letter-spacing: var(--kicker-tracking);
  text-transform: uppercase;
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  opacity: 0.85;
}
.kicker::before {
  content: '';
  display: block;
  width: 18px;
  height: 1px;
  background: var(--gold);
}

/* Pull quote */
.pull-quote {
  font-family: var(--serif);
  font-size: var(--quote-size);
  font-style: italic;
  font-weight: 300;
  line-height: var(--quote-lh);
  border-left: 2px solid var(--gold);
  padding-left: 1.6rem;
}
