/* ── AskAncients landing (public front door at "/") ── */

:root{
  --ink:#3d3225;
  --ink-soft:rgba(61,50,37,.74);
  --ink-faint:rgba(61,50,37,.55);
  --gold:#b8860b;
  --gold-deep:#8b6914;
  --indigo:#667eea;
  --line:rgba(160,140,110,.28);
  --card:rgba(255,250,240,.58);
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

/* Hide the page until the session check decides landing-vs-redirect (no flash for
   logged-in visitors). Revealed by JS, by the safety timeout, or by <noscript>. */
html.la-checking body{ visibility:hidden; }

*{ box-sizing:border-box; margin:0; padding:0; }
body{
  font-family:var(--sans);
  color:var(--ink);
  line-height:1.6;
  background:
    radial-gradient(1100px 560px at 80% -8%, rgba(184,134,11,.10), transparent 60%),
    radial-gradient(820px 460px at 8% 6%, rgba(102,126,234,.08), transparent 55%),
    url('/images/hub-bg.jpg') center top / cover no-repeat fixed,
    linear-gradient(180deg,#f3ead9,#ece0c9);
  min-height:100vh;
}
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:1080px; margin:0 auto; padding:0 28px; }

/* buttons */
.btn{ font-family:var(--sans); font-size:14.5px; font-weight:600; border-radius:11px; padding:11px 20px;
  display:inline-flex; align-items:center; gap:8px; border:1px solid transparent; cursor:pointer; transition:all .18s ease; }
.btn-lg{ padding:14px 26px; font-size:15.5px; border-radius:13px; }
.btn-primary{ background:linear-gradient(135deg,var(--gold),var(--gold-deep)); color:#fff; box-shadow:0 6px 18px rgba(184,134,11,.26); }
.btn-primary:hover{ transform:translateY(-1px); box-shadow:0 10px 26px rgba(184,134,11,.32); }
.btn-ghost{ background:rgba(255,250,240,.5); border-color:var(--line); color:var(--ink-soft); }
.btn-ghost:hover{ background:rgba(255,250,240,.85); color:var(--ink); }

/* top bar */
.la-top{ display:flex; align-items:center; justify-content:space-between; padding:22px 0; }
.la-brand{ font-family:var(--serif); font-size:22px; font-weight:700; letter-spacing:.2px; }
.la-brand b{ color:var(--gold); font-weight:700; }
.la-top-actions{ display:flex; gap:10px; align-items:center; }
.la-login{ font-size:14.5px; font-weight:600; color:var(--ink-soft); padding:9px 14px; border-radius:10px; }
.la-login:hover{ color:var(--ink); background:rgba(255,250,240,.5); }

/* hero */
.la-hero{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding:44px 0 46px; }
.la-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:1.3px;
  text-transform:uppercase; color:var(--gold-deep); background:rgba(184,134,11,.10); border:1px solid rgba(184,134,11,.22);
  padding:6px 12px; border-radius:100px; margin-bottom:20px; }
.la-hero h1{ font-family:var(--serif); font-size:50px; line-height:1.08; font-weight:700; letter-spacing:-.5px; margin-bottom:18px; }
.la-hero h1 em{ font-style:italic; color:var(--gold-deep); }
.la-lede{ font-size:18px; color:var(--ink-soft); max-width:520px; margin-bottom:26px; }
.la-cta-row{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.la-cta-note{ font-size:13px; color:var(--ink-faint); margin-top:14px; }
.la-cta-note b{ color:var(--ink-soft); font-weight:600; }
.la-textlink{ color:var(--gold-deep); font-weight:600; }
.la-textlink:hover{ text-decoration:underline; text-underline-offset:2px; }

/* portrait montage */
.la-montage{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; justify-items:center; }
.la-por{ width:100%; max-width:132px; text-align:center; }
.la-por img{ width:100%; aspect-ratio:1/1; border-radius:50%; object-fit:cover;
  border:3px solid #f0e6d0; background:#f7f4ef; box-shadow:0 6px 18px rgba(120,100,70,.14); transition:transform .2s ease;
  -webkit-user-drag:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.la-por:hover img{ transform:translateY(-3px); }
.la-por span{ display:block; margin-top:7px; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--ink-faint); }

/* section shells */
.band{ padding:54px 0; }
.band-alt{ background:linear-gradient(180deg,rgba(255,250,240,.55),rgba(255,250,240,.25));
  border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.kicker{ text-align:center; font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold-deep); margin-bottom:10px; }
.band h2{ font-family:var(--serif); font-size:33px; text-align:center; font-weight:700; letter-spacing:-.3px; margin-bottom:12px; }
.band .sub{ text-align:center; color:var(--ink-soft); max-width:620px; margin:0 auto 40px; font-size:16px; }

/* steps */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.step{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:26px 22px; text-align:center; }
.step .num{ width:38px; height:38px; border-radius:50%; background:rgba(102,126,234,.12); color:var(--indigo);
  font-weight:700; font-family:var(--serif); display:flex; align-items:center; justify-content:center; margin:0 auto 15px; font-size:18px; }
.step h3{ font-size:17px; margin-bottom:8px; }
.step p{ font-size:14px; color:var(--ink-soft); }

/* features (compact) */
.features-mini{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px 26px; max-width:920px; margin:0 auto; }
.fmini{ display:flex; gap:12px; align-items:flex-start; padding:8px 6px; border-radius:12px; transition:background .15s ease; }
a.fmini:hover{ background:rgba(255,250,240,.55); }
.fmini-ic{ flex:none; width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center;
  background:rgba(184,134,11,.12); color:var(--gold-deep); }
.fmini-ic svg{ width:17px; height:17px; }
.fmini-t b{ display:block; font-family:var(--serif); font-size:15px; color:var(--ink); font-weight:700; }
.fmini-t span{ display:block; font-size:12.5px; color:var(--ink-soft); margin-top:2px; }

/* audience pills */
.aud{ display:flex; flex-wrap:wrap; gap:11px; justify-content:center; max-width:840px; margin:0 auto; }
.aud span{ background:rgba(255,250,240,.62); border:1px solid var(--line); border-radius:100px; padding:9px 18px; font-size:14px; color:var(--ink-soft); font-weight:600; }

/* final cta */
.final{ text-align:center; padding:62px 0; }
.final h2{ font-family:var(--serif); font-size:37px; font-weight:700; margin-bottom:14px; letter-spacing:-.3px; }
.final p{ color:var(--ink-soft); font-size:17px; margin-bottom:24px; }

/* footer */
.la-foot{ border-top:1px solid var(--line); padding:28px 0 40px; text-align:center; }
.la-foot-brand{ font-family:var(--serif); font-weight:700; font-size:16px; margin-bottom:10px; }
.la-foot-links{ display:flex; gap:18px; justify-content:center; flex-wrap:wrap; margin-bottom:12px; font-size:14px; }
.la-foot-links a{ color:var(--ink-soft); }
.la-foot-links a:hover{ color:var(--ink); text-decoration:underline; text-underline-offset:2px; }
.la-foot-copy{ font-size:12px; color:var(--ink-faint); }
.la-foot-copy a{ text-decoration:underline; text-underline-offset:2px; }

/* responsive */
@media(max-width:860px){
  .la-hero{ grid-template-columns:1fr; gap:34px; }
  .la-hero h1{ font-size:38px; }
  .steps{ grid-template-columns:1fr; }
  .features-mini{ grid-template-columns:1fr 1fr; }
  .la-montage{ max-width:400px; margin:0 auto; }
}
@media(max-width:480px){
  .la-hero h1{ font-size:32px; }
  .band h2{ font-size:27px; }
  .la-login{ display:none; }
  .features-mini{ grid-template-columns:1fr; }
}
