/* ============================================================================
   ai-fluency.css — /products/ai-fluency/ (src/products/ai-fluency.njk).
   Navy/gold palette; italic accents are Libre Baskerville (loaded by site.njk
   via `serifFont: true`).
   ============================================================================ */

.af{
  --af-navy:#0b1f3a;
  --af-navy-end:#071426;
  --af-dark:#0f172a;
  --af-card:#1e293b;
  --af-input:#12294d;
  --af-gold:#c9a227;
  --af-gold-light:#e3b94a;
  --af-badge-bg:#f7ecc8;
  --af-badge:#735a0e;
}

.af-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- section scaffolding ---- */
.af-section{padding:96px 24px}
.af-light{background:var(--c-band);border-top:1px solid var(--c-hair)}
.af-dark{background:var(--af-dark)}
.af-inner{max-width:1120px;margin:0 auto}
.af-eyebrow{
  margin:0 0 18px;font-family:var(--c-mono);font-size:11.5px;font-weight:600;
  letter-spacing:.14em;color:var(--c-accent);
}
.af-eyebrow-inline{margin:0}
.af-dark .af-eyebrow,.af-panel .af-eyebrow,.af-close .af-eyebrow{color:var(--af-gold)}
.af-h2{
  margin:0;font-size:clamp(30px,3.4vw,40px);font-weight:500;letter-spacing:-.02em;
  line-height:1.2;color:var(--c-ink);text-wrap:pretty;
}
.af-h2 em{font-family:var(--c-serif);font-style:italic;font-weight:400;color:var(--c-accent)}
.af-dark .af-h2,.af-close .af-h2{color:#fff}
.af-dark .af-h2 em,.af-close .af-h2 em{color:var(--af-gold)}
.af-h2-mb{margin-bottom:44px}
.af-p{margin:0;font-size:17px;line-height:1.65;color:#4b5563;font-weight:400}
.af-stack{display:flex;flex-direction:column;gap:20px;padding-top:6px}
.af-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:48px;align-items:start}
.af-grid{display:grid;gap:24px}
.af-grid-230{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.af-grid-260{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.af-grid-280{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.af-grid-300{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;align-items:stretch}

/* ---- buttons / inputs ---- */
.af-btn{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  height:48px;padding:0 26px;border:0;border-radius:9999px;cursor:pointer;
  background:var(--c-accent);color:#fff;font-size:15px;font-weight:500;font-family:inherit;
}
.af-btn:hover{background:var(--c-accent-dark);color:#fff}
.af-btn:disabled{opacity:.7;cursor:default}
.af-btn-sm{align-self:flex-start;height:46px;padding:0 24px}
.af-input{
  width:100%;height:48px;padding:0 16px;box-sizing:border-box;
  /* Transparent rather than none so forced-colors mode still shows focus. */
  outline:2px solid transparent;
  background:var(--af-input);border:1px solid rgba(255,255,255,.15);border-radius:9999px;
  color:#fff;font-size:15px;font-family:inherit;
}
.af-input::-moz-placeholder{color:inherit;opacity:.5}
.af-input::placeholder{color:inherit;opacity:.5}
.af-input:focus{border-color:var(--af-gold);box-shadow:0 0 0 3px rgba(201,162,39,.25)}
.af-note{margin:0;font-size:13px;color:rgba(255,255,255,.55)}
.af-error{margin:0;font-size:14px;color:#fca5a5}
.af-error a{color:var(--af-gold-light)}
.af-done{margin:0;display:flex;align-items:center;min-height:48px;font-size:18px;font-weight:500;color:var(--af-gold)}
.af-done:focus{outline:none}
.af-done[hidden],.af-error[hidden]{display:none}
.af-signup{display:flex;flex-direction:column;gap:12px;width:100%}
.af-form{display:flex;flex-wrap:wrap;gap:10px;width:100%}
.af-form[hidden]{display:none}
.af-form .af-input{flex:1 1 240px;width:auto}
/* No-JS landing notices: hidden until the URL fragment targets them. */
.af-target{display:none}
.af-target:target{display:flex;margin-bottom:16px}
.af-error.af-target:target{display:block}

/* ---- 1 · hero ---- */
.af-hero,.af-close{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--af-navy) 0%,var(--af-navy-end) 100%);
}
.af-hero{border-bottom:1px solid var(--af-gold)}
.af-glow{
  position:absolute;left:50%;top:-140px;width:900px;height:620px;transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(99,102,241,.22) 0%,rgba(99,102,241,0) 65%);
}
.af-glow-close{top:-200px;background:radial-gradient(ellipse at center,rgba(99,102,241,.18) 0%,rgba(99,102,241,0) 65%)}
.af-hero-inner{
  position:relative;max-width:1120px;margin:0 auto;padding:104px 24px 88px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px;
}
.af-h1{
  margin:0;font-size:clamp(40px,7vw,72px);font-weight:400;letter-spacing:.04em;line-height:1.05;
  color:#fff;text-transform:uppercase;
}
.af-h1 span{color:var(--af-gold-light)}
.af-sub{
  margin:18px auto 0;max-width:560px;font-size:clamp(18px,2.2vw,22px);font-weight:300;line-height:1.5;
  color:rgba(255,255,255,.82);text-wrap:pretty;
}
.af-by{margin:18px 0 0;font-family:var(--c-mono);font-size:11.5px;font-weight:600;letter-spacing:.14em;color:var(--af-gold)}
.af-hero-inner .af-signup{align-items:center;max-width:520px;margin-top:8px}
.af-hero-inner .af-form{justify-content:center}

/* ---- 3 · gap ---- */
.af-h2-gap{max-width:760px;margin-bottom:44px}
.af-stat{
  display:flex;flex-direction:column;gap:12px;padding:32px;
  background:#fff;border:1px solid var(--c-line);border-radius:16px;
}
.af-stat-num{font-size:56px;font-weight:500;letter-spacing:-.03em;line-height:1;color:var(--c-accent)}
.af-stat-title{padding-top:14px;font-size:22px;font-weight:500;letter-spacing:-.015em;line-height:1.2;color:#fff}
.af-stat-body{margin:0;font-size:16px;line-height:1.55;color:#4b5563;font-weight:400}
.af-stat-src{margin:auto 0 0;font-size:12px;color:var(--c-muted)}
.af-stat-navy{background:var(--af-navy);border-color:var(--af-navy)}
.af-stat-navy .af-stat-body{color:rgba(255,255,255,.78);font-weight:300}
.af-stat-navy .af-stat-src{color:var(--af-gold)}

/* ---- 4 · how it works / 7 · who it's for (dark cards) ---- */
.af-split-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:44px}
.af-p-side{max-width:440px;line-height:1.6;color:rgba(255,255,255,.75);font-weight:300}
.af-dcard{
  display:flex;flex-direction:column;gap:10px;padding:28px;
  background:var(--af-card);border:1px solid rgba(255,255,255,.08);border-radius:16px;
}
.af-dcard-num{font-family:var(--c-serif);font-style:italic;font-size:28px;color:var(--af-gold);line-height:1}
.af-dcard-title{margin:6px 0 0;font-size:18px;font-weight:600;color:#fff;line-height:1.4}
.af-dcard-body{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.72);font-weight:300}
.af-aud-roles{margin:0;font-family:var(--c-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8}
.af-aud-title{margin:0}
.af-aud-quote{
  margin:auto 0 0;padding-top:16px;font-family:var(--c-serif);font-style:italic;
  font-size:15px;line-height:1.55;color:#93c5fd;
}

/* ---- 5 · flagship ---- */
.af-flagship{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:64px;align-items:start}
.af-flag-text{display:flex;flex-direction:column;gap:22px}
.af-flag-kicker{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.af-badge{
  font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  background:var(--af-badge-bg);color:var(--af-badge);padding:4px 10px;border-radius:9999px;
}
.af-tools{margin:8px 0 0;display:flex;flex-direction:column;border-top:1px solid var(--c-line)}
.af-tool{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--c-line)}
.af-tool dt{padding-top:3px;font-family:var(--c-mono);font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--af-badge)}
.af-tool dd{margin:0;font-size:15px;line-height:1.55;color:#334155}
.af-panel{display:flex;flex-direction:column;gap:28px;padding:44px;background:var(--af-navy);border-radius:20px}
.af-panel .af-eyebrow{margin-bottom:12px}
.af-panel-title{margin:0;font-size:24px;font-weight:500;letter-spacing:-.015em;line-height:1.3;color:#fff}
.af-outcomes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.af-outcome{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid rgba(255,255,255,.12)}
.af-outcome-num{font-family:var(--c-serif);font-style:italic;font-size:20px;color:var(--af-gold);line-height:1.2}
.af-outcome-title{margin:0 0 4px;font-size:17px;font-weight:600;color:#fff}
.af-outcome-body{margin:0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.75);font-weight:300}

/* ---- 6 · formats ---- */
.af-formats-head{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
  gap:24px 56px;align-items:end;margin-bottom:44px;
}
.af-format{
  display:flex;flex-direction:column;gap:14px;padding:32px;
  background:#fff;border:1px solid var(--c-line);border-radius:16px;
}
.af-format-split{padding:0;gap:0;overflow:hidden}
.af-format-main{display:flex;flex-direction:column;gap:14px;flex:1;padding:32px 32px 24px}
.af-format-kicker{margin:0;font-family:var(--c-mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--af-badge)}
.af-format-title{margin:0;font-size:21px;font-weight:600;letter-spacing:-.01em;line-height:1.3;color:var(--c-ink)}
.af-format-body{margin:0;font-size:15.5px;line-height:1.65;color:#4b5563;font-weight:400}
.af-format-foot{display:flex;flex-direction:column;gap:6px;padding:20px 32px;background:var(--af-navy)}
.af-format-or{margin:0;font-size:15px;font-weight:600;color:var(--af-gold-light)}
.af-format-orbody{margin:0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.82);font-weight:300}

/* ---- 8 · team ---- */
.af-person{
  display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:32px;
  background:#fff;border:1px solid var(--c-line);border-radius:16px;
}
.af-person-photo{display:block;width:96px;height:96px;border-radius:9999px;-o-object-fit:cover;object-fit:cover;background:var(--c-line)}
.af-person-name{margin:0;font-size:18px;font-weight:600;color:var(--c-ink)}
.af-person-bio{margin:0;font-size:15px;line-height:1.6;color:#4b5563;font-weight:400}

/* ---- 9 · get started ---- */
.af-close-grid{
  position:relative;padding:96px 24px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:56px;align-items:start;
}
.af-h2-close{margin-bottom:20px}
.af-close-p{max-width:480px;color:rgba(255,255,255,.78);font-weight:300}
.af-note-close{margin-top:14px}
