
/* =========================
   RADIANT IN GRACE — THEME
   Palette + tokens
========================= */

:root{
  --ink:#111827;                 /* near-black */
  --body:#374151;                /* slate */
  --muted:#9CA3AF;               /* grey */
  --bg:#faf9fe;                  /* light lavender-white */
  --surface:#ffffff;             /* cards */
  --brand:#a78bfa;               /* light purple (primary) */
  --brand-600:#7c3aed;           /* deeper violet */
  --accent:#f472b6;              /* pink accent */
  --blue:#38bdf8;                /* support blue */

  --radius:16px;
  --shadow:0 12px 30px rgba(17,24,39,.10);
  --shadow-lg:0 18px 50px rgba(17,24,39,.14);
  --gap:clamp(16px, 2vw, 28px);
  --section:clamp(54px, 8vw, 110px);
}

body{
  background:
    radial-gradient(1200px 600px at 90% -20%, rgba(167,139,250,.10), transparent 60%),
    linear-gradient(180deg, #fff, var(--bg) 70%);
  color:var(--body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Layout helpers */
.rig-container{ max-width:1200px; margin-inline:auto; padding-inline:clamp(16px,4vw,32px); }
.rig-section{ padding-block:var(--section); }
.rig-surface{ background:var(--surface); border-radius:var(--radius); box-shadow:var(--shadow); }

/* Typography */
.rig-eyebrow{ text-transform:uppercase; letter-spacing:.14em; font-weight:800; font-size:.78rem; color:var(--brand-600); }
.rig-h1{ color:var(--ink); font-weight:900; line-height:1.06; font-size:clamp(34px,5.2vw,56px); margin:0 0 10px; }
.rig-h2{ color:var(--ink); font-weight:800; line-height:1.12; font-size:clamp(26px,3.2vw,38px); margin:0 0 10px; }
.rig-h3{ color:var(--ink); font-weight:800; line-height:1.2; font-size:clamp(18px,2vw,22px); margin:6px 0 4px; }
.rig-lead{ font-size: clamp(16px,1.5vw,18px); color:var(--body); max-width:62ch; }

/* Buttons */
.rig-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.95rem 1.2rem; border-radius:999px; font-weight:800; text-decoration:none;
  border:2px solid transparent; transition:transform .06s ease, box-shadow .2s ease, filter .2s ease, background .2s ease;
  cursor:pointer; white-space:nowrap;
}
.rig-btn:hover{ transform:translateY(-1px); }
.rig-btn:active{ transform:translateY(0); }

.rig-btn--primary{
  background:linear-gradient(135deg, var(--brand), var(--brand-600));
  color:#fff; box-shadow:var(--shadow);
}
.rig-btn--primary:hover{ filter:brightness(1.06); }

.rig-btn--ghost{
  background:transparent; color:var(--brand-600); border-color:var(--brand-600);
  border:2px solid var(--brand-600);
}
.rig-btn--ghost:hover{ background:rgba(124,58,237,.06); }

/* Lists */
.rig-list{ margin:14px 0 0; padding:0; list-style:none; }
.rig-list li{
  padding-left:28px; position:relative; margin:8px 0;
}
.rig-list li::before{
  content:""; width:10px; height:10px; border-radius:50%;
  background:linear-gradient(135deg, var(--brand), var(--accent));
  position:absolute; left:8px; top:10px;
}

/* =========================
   HERO
========================= */
.rig-hero .rig-container{
  display:grid; gap:var(--gap);
  grid-template-columns: 1.1fr .9fr; align-items:center;
}
.rig-hero .rig-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }

.rig-hero .rig-figure{
  aspect-ratio: 4/3; border-radius: var(--radius);
  overflow:hidden; position:relative; box-shadow:var(--shadow-lg);
  background:
    linear-gradient(180deg, rgba(167,139,250,.18), rgba(244,114,182,.12)),
    #fff;
}
.rig-hero .rig-figure img{ width:100%; height:100%; object-fit:cover; display:block; }

/* =========================
   ABOUT
========================= */
.rig-about .rig-card{
  display:grid; gap:var(--gap);
  grid-template-columns: 120px 1fr; align-items:center;
  background:rgba(255,255,255,.8);
  backdrop-filter:saturate(140%) blur(6px);
  padding:24px; border-radius:var(--radius); box-shadow:var(--shadow);
  border:1px solid rgba(124,58,237,.08);
}
.rig-about .rig-avatar{
  width:120px; height:120px; border-radius:50%; overflow:hidden;
  box-shadow:0 10px 28px rgba(124,58,237,.18);
}
.rig-about .rig-avatar img{ width:100%; height:100%; object-fit:cover; }

/* =========================
   PILLARS GRID
========================= */
.rig-pillars .rig-pillars__grid{
  display:grid; gap:var(--gap);
  grid-template-columns: repeat(3, minmax(0,1fr));
}
.rig-card{
  background:var(--surface); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow);
  transition: transform .12s ease, box-shadow .2s ease;
}
.rig-card:hover{ transform: translateY(-4px); box-shadow:var(--shadow-lg); }

.rig-card .rig-icon{
  width:44px; height:44px; border-radius:12px; display:grid; place-items:center; color:#fff; font-weight:900; margin-bottom:12px;
  background:linear-gradient(135deg, var(--brand-600), var(--accent));
  box-shadow:0 10px 24px rgba(124,58,237,.28);
}

/* =========================
   LEAD MAGNET SECTION
========================= */
.rig-leadmagnet .rig-grid{
  display:grid; gap:var(--gap);
  grid-template-columns: .9fr 1.1fr; align-items:center;
}
.rig-lm-mock{
  overflow:hidden; border-radius:calc(var(--radius) + 4px);
  box-shadow:var(--shadow-lg);
  background:linear-gradient(135deg, rgba(167,139,250,.18), rgba(56,189,248,.12));
  padding:10px;
}
.rig-lm-mock img{ width:100%; height:auto; border-radius:12px; display:block; background:#fff; }
.rig-note{ color:var(--muted); font-size:.9rem; margin-top:8px; }

/* =========================
   TOOLKIT TEASER
========================= */
.rig-toolkit .rig-heroish{
  display:grid; gap:var(--gap);
  grid-template-columns: 1.1fr .9fr; align-items:center;
}
.rig-toolkit{
  background:
    radial-gradient(1000px 500px at 0% 0%, rgba(124,58,237,.08), transparent 60%),
    linear-gradient(180deg, var(--bg), #fff 60%);
  border-top:1px solid rgba(124,58,237,.06);
  border-bottom:1px solid rgba(124,58,237,.06);
}

/* =========================
   BLOG TEASER
========================= */
.rig-blog .rig-cards{
  display:grid; gap:var(--gap);
  grid-template-columns: repeat(3, minmax(0,1fr));
}
.rig-blog .rig-card img{ border-radius:12px; }

/* =========================
   FOOTER OPT-IN
========================= */
.rig-footer-optin .rig-card{
  background:
    linear-gradient(135deg, rgba(167,139,250,.10), rgba(56,189,248,.10)),
    var(--surface);
  border:1px solid rgba(124,58,237,.10);
}

/* ===== Header / Nav ===== */
.rig-header{ position:sticky; top:0; z-index:50; backdrop-filter:saturate(140%) blur(8px);
  background:rgba(255,255,255,.72); border-bottom:1px solid rgba(124,58,237,.08); }
.rig-header .rig-container{ display:flex; align-items:center; justify-content:space-between; min-height:64px; }
.rig-logo{ display:flex; align-items:center; gap:10px; font-weight:900; color:var(--ink); text-decoration:none; }
.rig-logo-badge{ width:28px; height:28px; border-radius:8px;
  background:linear-gradient(135deg, var(--brand-600), var(--accent)); display:grid; place-items:center; color:#fff; font-weight:900; box-shadow:0 6px 16px rgba(124,58,237,.28); }
.rig-nav{ display:flex; gap:18px; align-items:center; }
.rig-nav a{ color:var(--body); text-decoration:none; font-weight:700; }
.rig-nav a:hover{ color:var(--brand-600); }

/* Mobile menu */
#nav-toggle{ display:none; }
.rig-burger{ display:none; width:40px; height:40px; border-radius:10px; border:1px solid rgba(124,58,237,.18);
  background:#fff; align-items:center; justify-content:center; cursor:pointer; }
.rig-burger span{ width:18px; height:2px; background:var(--ink); display:block; position:relative; }
.rig-burger span::before, .rig-burger span::after{ content:""; position:absolute; left:0; width:18px; height:2px; background:var(--ink); }
.rig-burger span::before{ top:-6px; } .rig-burger span::after{ top:6px; }

@media (max-width: 920px){
  .rig-burger{ display:flex; }
  .rig-nav{ position:absolute; left:0; right:0; top:64px; display:none;
    background:#fff; border-bottom:1px solid rgba(124,58,237,.08); box-shadow:var(--shadow); padding:12px 16px; }
  #nav-toggle:checked ~ .rig-nav{ display:flex; flex-direction:column; gap:12px; }
}

/* ===== Footer ===== */
.rig-footer{ border-top:1px solid rgba(124,58,237,.10); background:#fff; }
.rig-footer .rig-grid{ display:grid; gap:var(--gap); grid-template-columns: 1.2fr 1fr 1fr; }
.rig-footer a{ color:var(--body); text-decoration:none; }
.rig-footer a:hover{ color:var(--brand-600); }
@media (max-width: 920px){ .rig-footer .rig-grid{ grid-template-columns:1fr; } }

/* ===== Components ===== */
.rig-breadcrumbs{ font-size:.9rem; color:var(--muted); margin-bottom:12px; }
.rig-cta-banner{ background:linear-gradient(135deg, rgba(167,139,250,.12), rgba(56,189,248,.12)); border:1px solid rgba(124,58,237,.10);
  padding:18px; border-radius:var(--radius); display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.rig-accordion details{ border:1px solid rgba(124,58,237,.12); border-radius:12px; background:#fff; padding:14px 16px; }
.rig-accordion details+details{ margin-top:10px; }
.rig-accordion summary{ cursor:pointer; font-weight:800; color:var(--ink); }

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 980px){
  .rig-hero .rig-container,
  .rig-toolkit .rig-heroish,
  .rig-leadmagnet .rig-grid{ grid-template-columns:1fr; }
  .rig-pillars .rig-pillars__grid{ grid-template-columns:1fr 1fr; }
  .rig-blog .rig-cards{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px){
  .rig-pillars .rig-pillars__grid,
  .rig-blog .rig-cards{ grid-template-columns:1fr; }
  .rig-about .rig-card{ grid-template-columns:1fr; text-align:center; }
  .rig-about .rig-avatar{ margin-inline:auto; }
}
