/* =========================================================
   Talentcare International — global stylesheet
   Palette: locked Radical Aramaya house colours (burgundy/wine/gold),
   carried over literally per rebrand brief. See NOTES.md.
   ========================================================= */

:root{
  /* --- Radical Aramaya brand hex (verbatim from RA site CSS) --- */
  --wine:      #51141f; /* maroon-2 — deep wine, primary dark ground */
  --burgundy:  #7a2030; /* maroon   — secondary ground / accent */
  --gold:      #c9a24b; /* primary gold accent */
  --gold-2:    #e6cd8a; /* light gold, hover/highlight */
  --cream:     #f2e8d5; /* light ground / on-dark text */
  --cream-dim: #bdb098; /* muted cream, secondary text on dark */
  --ink:       #0c0a07; /* near-black body text on light ground */
  --ink-2:     #14100b;
  --panel:     #1b140d; /* dark panel background */
  --panel-line:#3a2c19; /* hairline borders on dark panels */

  --white:#fffaf2;
  --line: #e4d9c2; /* hairline borders on light ground */
  --shadow: 0 12px 32px -16px rgba(12,10,7,.35);

  --display: "Fraunces", "Cormorant Garamond", Georgia, serif;
  --body: "Inter", "Work Sans", -apple-system, BlinkMacSystemFont, sans-serif;

  --container: 1180px;
  --radius: 4px;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--body);
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--display); font-weight:600; line-height:1.15; margin:0 0 .5em; color:var(--wine); }
p{ margin:0 0 1em; }
.wrap{ max-width:var(--container); margin:0 auto; padding:0 24px; }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

section{ padding:72px 0; }
@media (max-width:640px){ section{ padding:48px 0; } }

.eyebrow{
  display:inline-block; font-family:var(--body); font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; font-size:.75rem; color:var(--burgundy); margin-bottom:.9em;
}
.hero .eyebrow, .section-dark .eyebrow, .section-panel .eyebrow, .quote-block .eyebrow{ color:var(--gold-2); }

.lede{ font-size:1.15rem; color:#4a3f36; max-width:62ch; }
.hero .lede, .section-dark .lede, .section-panel .lede, .quote-block .lede{ color:var(--cream-dim); }

/* --- buttons --- */
.btn{
  display:inline-flex; align-items:center; gap:.5em;
  padding:.85em 1.7em; border-radius:var(--radius);
  font-family:var(--body); font-weight:600; font-size:.95rem;
  border:1px solid transparent; cursor:pointer; transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn-gold{ background:var(--gold); color:var(--ink); }
.btn-gold:hover{ background:var(--gold-2); }
.btn-outline{ background:transparent; border-color:currentColor; color:var(--wine); }
.btn-outline:hover{ background:var(--wine); color:var(--cream); border-color:var(--wine); }
.hero .btn-outline, .section-dark .btn-outline, .section-panel .btn-outline, .quote-block .btn-outline{ color:var(--cream); }
.hero .btn-outline:hover, .section-dark .btn-outline:hover, .section-panel .btn-outline:hover, .quote-block .btn-outline:hover{ background:var(--cream); color:var(--wine); }

/* --- header / nav --- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:var(--wine); border-bottom:1px solid var(--panel-line);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.brand{ display:flex; align-items:center; }
.brand svg{ height:34px; width:auto; display:block; }

.site-nav{
  display:flex; align-items:center; gap:22px;
}
.site-nav a{
  font-size:.92rem; font-weight:500; color:var(--cream-dim); white-space:nowrap;
  padding:6px 2px; border-bottom:2px solid transparent; transition:color .15s ease, border-color .15s ease;
}
.site-nav a:hover, .site-nav a[aria-current="page"]{ color:var(--cream); border-bottom-color:var(--gold); }
.site-nav a.nav-cta{
  color:var(--ink); background:var(--gold); padding:.55em 1.1em; border-radius:var(--radius); border-bottom:none;
}
.site-nav a.nav-cta:hover{ background:var(--gold-2); color:var(--ink); }

.nav-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:42px; height:42px; background:transparent; border:1px solid var(--panel-line);
  border-radius:var(--radius); cursor:pointer; padding:0;
}
.nav-toggle span{ display:block; height:2px; width:20px; margin:0 auto; background:var(--cream); }

@media (max-width:1180px){
  .nav-toggle{ display:flex; }
  .site-nav{
    position:absolute; top:76px; left:0; right:0;
    background:var(--wine); border-bottom:1px solid var(--panel-line);
    flex-direction:column; align-items:stretch; gap:0;
    max-height:0; overflow:hidden; transition:max-height .25s ease;
  }
  .site-nav.is-open{ max-height:520px; }
  .site-nav a{ padding:16px 24px; border-bottom:1px solid var(--panel-line); }
  .site-nav a.nav-cta{ margin:16px 24px; text-align:center; }
}

/* --- hero --- */
.hero{
  background:linear-gradient(160deg, var(--wine) 0%, var(--burgundy) 100%);
  color:var(--cream); padding:96px 0 88px; position:relative; overflow:hidden;
}
.hero::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse at 80% 0%, rgba(201,162,75,.18), transparent 55%);
  pointer-events:none;
}
.hero .wrap{ position:relative; }
.hero h1{ color:var(--cream); font-size:clamp(2.1rem, 4.4vw, 3.4rem); max-width:18ch; }
.hero .subhead{ color:var(--gold-2); font-family:var(--display); font-size:1.25rem; font-style:italic; margin-bottom:.6em; }
.hero .lede{ margin-bottom:1.6em; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }

.page-hero{ padding:64px 0 56px; }
.page-hero h1{ font-size:clamp(1.8rem, 3.6vw, 2.6rem); max-width:22ch; }

/* --- section variants --- */
.section-dark{ background:var(--wine); color:var(--cream); }
.section-dark h2, .section-dark h3{ color:var(--cream); }
.section-panel{ background:var(--panel); color:var(--cream); }
.section-panel h2, .section-panel h3{ color:var(--cream); }
.section-cream{ background:var(--cream); }
.section-tight{ padding-top:40px; padding-bottom:40px; }

.section-head{ max-width:68ch; margin-bottom:44px; }
.section-head h2{ font-size:clamp(1.6rem, 3vw, 2.2rem); }

/* --- grids / cards --- */
.grid{ display:grid; gap:28px; }
.grid-2{ grid-template-columns:repeat(2, 1fr); }
.grid-3{ grid-template-columns:repeat(3, 1fr); }
.grid-4{ grid-template-columns:repeat(4, 1fr); }
@media (max-width:900px){ .grid-3, .grid-4{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:640px){ .grid-2, .grid-3, .grid-4{ grid-template-columns:1fr; } }

.card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px; box-shadow:var(--shadow);
}
.card h3{ font-size:1.15rem; margin-bottom:.5em; }
.card p{ color:#5a4d42; margin-bottom:0; font-size:.96rem; }
.hero .card, .section-dark .card, .section-panel .card, .quote-block .card{ background:rgba(242,232,213,.05); border-color:var(--panel-line); box-shadow:none; }
.hero .card h3, .section-dark .card h3, .section-panel .card h3, .quote-block .card h3{ color:var(--gold-2); }
.hero .card p, .section-dark .card p, .section-panel .card p, .quote-block .card p{ color:var(--cream-dim); }

.service-card{
  border-left:3px solid var(--gold);
  background:var(--white); border-radius:var(--radius);
  padding:26px 28px; box-shadow:var(--shadow);
}
.service-card .num{ font-family:var(--display); color:var(--gold); font-size:1rem; font-weight:600; display:block; margin-bottom:.4em; }
.service-card h3{ font-size:1.05rem; margin-bottom:.4em; }
.service-card p{ color:#5a4d42; font-size:.93rem; margin:0; }

.step-card{ text-align:left; }
.step-card .num{
  font-family:var(--display); font-size:2rem; color:var(--gold); display:block; margin-bottom:.2em;
}

/* --- quote block --- */
.quote-block{ text-align:center; padding:88px 0; }
.quote-block blockquote{
  font-family:var(--display); font-style:italic; font-weight:600;
  font-size:clamp(1.4rem, 3vw, 2.1rem); color:var(--cream); max-width:38ch; margin:0 auto .7em;
}
.quote-block cite{ font-style:normal; color:var(--gold-2); letter-spacing:.06em; text-transform:uppercase; font-size:.85rem; }

/* --- two-col feature --- */
.split{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start; }
@media (max-width:900px){ .split{ grid-template-columns:1fr; } }
.list-check li{ position:relative; padding-left:30px; margin-bottom:14px; }
.list-check li::before{
  content:"✓"; position:absolute; left:0; top:0; color:var(--gold);
  font-weight:700; font-family:var(--display);
}

/* --- contact form --- */
.form-field{ margin-bottom:18px; }
.form-field label{ display:block; font-weight:600; font-size:.88rem; margin-bottom:6px; color:var(--wine); }
.form-field input, .form-field textarea{
  width:100%; padding:.8em .9em; border:1px solid var(--line); border-radius:var(--radius);
  font-family:var(--body); font-size:.95rem; background:var(--white); color:var(--ink);
}
.form-field input:focus, .form-field textarea:focus{ outline:2px solid var(--gold); outline-offset:1px; }
.form-note{ font-size:.85rem; color:#6b5e52; margin-top:10px; }

/* --- contact detail rows --- */
.contact-block h3{ color:var(--wine); font-size:1rem; margin-bottom:.3em; }
.contact-block p{ margin-bottom:1.1em; }
.contact-block a{ color:var(--burgundy); font-weight:600; }
.contact-block a:hover{ color:var(--gold); }

/* --- policy pages --- */
.policy-body{ max-width:74ch; }
.policy-body h2{ font-size:1.35rem; margin-top:1.8em; }
.policy-body h2:first-child{ margin-top:0; }
.policy-body ul{ list-style:disc; padding-left:1.4em; margin-bottom:1.2em; }
.policy-body li{ margin-bottom:.5em; }
.policy-updated{ color:#6b5e52; font-size:.85rem; margin-bottom:2.4em; }
.callout{
  background:var(--cream); border-left:3px solid var(--gold);
  padding:18px 22px; border-radius:var(--radius); font-size:.92rem; margin:1.6em 0;
}
.callout strong{ color:var(--wine); }

/* --- jobs pool --- */
.job-item{
  display:flex; justify-content:space-between; align-items:flex-start; gap:20px;
  padding:22px 0; border-bottom:1px solid var(--line); flex-wrap:wrap;
}
.job-item h3{ font-size:1.05rem; margin-bottom:.3em; }
.job-item .tag{
  font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--burgundy); background:var(--cream); padding:.35em .8em; border-radius:100px; white-space:nowrap;
}

/* --- footer --- */
.site-footer{ background:var(--panel); color:var(--cream-dim); padding:64px 0 0; }
.footer-grid{
  display:grid; grid-template-columns:1.3fr 1fr 1.2fr 1fr 1fr; gap:36px; padding-bottom:48px;
}
@media (max-width:980px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-grid h3{ color:var(--gold-2); font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; font-family:var(--body); margin-bottom:1em; }
.footer-grid p{ font-size:.9rem; margin-bottom:.6em; }
.footer-grid a:hover{ color:var(--gold-2); }
.footer-brand svg{ height:32px; width:auto; margin-bottom:14px; }
.footer-brand .tagline{ font-family:var(--display); font-style:italic; color:var(--cream-dim); font-size:.95rem; max-width:26ch; }
.footer-bottom{
  border-top:1px solid var(--panel-line); padding:20px 0; font-size:.8rem; display:flex;
  justify-content:space-between; flex-wrap:wrap; gap:8px;
}
.footer-bottom a{ color:var(--cream-dim); }
.footer-bottom a:hover{ color:var(--gold-2); }
.footer-social{ display:flex; gap:18px; }
.footer-social a{ display:inline-flex; align-items:center; gap:.4em; }
.footer-social svg{ width:16px; height:16px; fill:currentColor; }

/* --- misc --- */
.center{ text-align:center; }
.mt-lg{ margin-top:48px; }
.text-gold{ color:var(--gold); }
