:root {
  --ink: #081a30;
  --ink-2: #0c2b50;
  --navy: #06172b;
  --blue: #1b73df;
  --blue-2: #57a0ff;
  --sky: #eaf3ff;
  --steel: #eef3f8;
  --surface: #ffffff;
  --muted: #5d7188;
  --line: #d9e3ec;
  --amber: #f4ae2a;
  --amber-dark: #b26d00;
  --green: #138b69;
  --green-soft: #dcf4ea;
  --grey: #7b8997;
  --radius: 16px;
  --radius-sm: 10px;
  --shadow-sm: 0 8px 24px rgba(7, 29, 55, .07);
  --shadow: 0 22px 55px rgba(7, 29, 55, .14);
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; background: #f5f8fb; }
body { min-width: 0; overflow-x: clip; margin: 0; color: var(--ink); background: #f5f8fb; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; font-size: 16px; line-height: 1.58; }
img, svg { display:block; max-width:100%; height:auto; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid rgba(27,115,223,.38); outline-offset: 3px; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3 { line-height: 1.07; letter-spacing: -.035em; }
h1 { font-size: clamp(2.45rem, 5vw, 5.35rem); }
h2 { font-size: clamp(1.7rem, 3vw, 2.65rem); }
h3 { font-size: 1.08rem; }
p { color: var(--muted); }
strong { color: inherit; }
main { min-width: 0; }
.container { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }
.section { padding: 88px 0; position: relative; }
.section--tight { padding: 62px 0; }
.section-heading { max-width: 780px; margin-bottom: 32px; }
.section-heading--split { max-width:none; display:flex; justify-content:space-between; align-items:end; gap:24px; }
.section-heading h2 { margin-top: 10px; }
.section-heading .lead { margin-top: 14px; }
.lead { font-size: 1.1rem; line-height: 1.65; }
.blue { color: var(--blue); }
.muted { color: var(--muted); }
.eyebrow { display:inline-flex; align-items:center; gap:8px; color: var(--blue); font-size: .72rem; line-height:1; font-weight: 900; letter-spacing: .115em; text-transform:uppercase; }
.eyebrow::before { content: ''; width: 21px; height: 2px; background: currentColor; }
.text-link { display:inline-flex; align-items:center; gap:8px; color:var(--blue); font-weight:850; font-size:.9rem; }
.text-link:hover { color:var(--ink-2); }

/* Buttons */
.btn { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:9px; border:1px solid transparent; border-radius:8px; padding: 11px 18px; color:#fff; background:var(--blue); font-size:.88rem; font-weight:850; line-height:1.2; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 11px 22px rgba(27,115,223,.22); }
.btn--primary { color:#fff; background: linear-gradient(135deg, #1766d2, #2384ef); border-color:#1766d2; }
.btn--secondary { color:var(--ink-2); background:#fff; border-color:#b9cae1; }
.btn--secondary:hover { background:#f4f8fd; box-shadow: var(--shadow-sm); }
.btn--ghost { color:var(--ink-2); background:transparent; border-color:#9eb2c9; }
.btn--ghost:hover { background:#f1f6fc; }
.btn--amber { color:#18253b; background:var(--amber); border-color:var(--amber); }
.btn--small { min-height:38px; padding:8px 12px; font-size:.76rem; }
.btn[disabled], .btn--disabled { opacity:.6; cursor:not-allowed; pointer-events:none; }

/* Header */
.site-header { position:sticky; top:0; z-index:70; border-bottom:1px solid rgba(162,184,209,.45); background:rgba(255,255,255,.94); backdrop-filter: blur(14px); }
.header-inner { min-height:76px; display:flex; align-items:center; gap:24px; }
.brand { min-width: 0; display:inline-flex; align-items:center; gap:10px; flex: 0 0 auto; }
.brand-mark { width:32px; height:32px; position:relative; display:flex; align-items:center; gap:2px; overflow:hidden; }
.brand-mark i { display:block; width:9px; height:28px; background:var(--blue); transform:skewY(-36deg); border-radius:2px; }
.brand-mark i:nth-child(2) { background:#63a7ff; transform:skewY(36deg); }
.brand-mark i:nth-child(3) { background:#1b5fbf; transform:skewY(-36deg); }
.brand-copy { display:flex; min-width:0; flex-direction:column; line-height:1.05; }
.brand-name { color:var(--ink); font-weight:900; letter-spacing:-.04em; font-size:1.06rem; white-space:nowrap; }
.accent-m { color:var(--blue); }
.brand-subtitle { margin-top:4px; color:#657893; font-size:.62rem; font-weight:700; letter-spacing:.025em; }
.nav { display:flex; align-items:center; justify-content:center; gap:20px; margin-left:auto; }
.nav a { position:relative; color:#496078; font-size:.78rem; font-weight:780; white-space:nowrap; }
.nav a::after { content:''; position:absolute; left:0; right:0; bottom:-27px; height:3px; background:transparent; border-radius:2px; }
.nav a:hover, .nav a.active { color:var(--blue); }
.nav a.active::after { background:var(--blue); }
.header-actions { margin-left:auto; display:flex; align-items:center; gap:12px; }
.account-link { display:inline-flex; min-height:38px; align-items:center; justify-content:center; padding:7px 12px; border:1px solid #b8c9da; border-radius:7px; color:var(--ink-2); font-size:.76rem; font-weight:850; white-space:nowrap; }
.account-link:hover { border-color:var(--blue); color:var(--blue); }
.menu-toggle { display:none; width:42px; height:38px; padding:8px; border:1px solid #b8c9da; border-radius:7px; background:#fff; }
.menu-toggle span { display:block; height:2px; width:20px; margin:3px auto; background:var(--ink-2); }

/* Hero: original industrial, photo-free */
.hero { position:relative; overflow:hidden; padding:92px 0 84px; color:#fff; background: linear-gradient(118deg, #041429 0%, #0a274b 55%, #0c3b70 100%); }
.hero::before { content:''; pointer-events:none; position:absolute; inset:0; opacity:.73; background: linear-gradient(90deg, rgba(75,149,243,.20) 1px, transparent 1px), linear-gradient(rgba(75,149,243,.16) 1px, transparent 1px); background-size:48px 48px; mask-image:linear-gradient(90deg,black 0%,black 45%,transparent 95%); }
.hero::after { content:''; pointer-events:none; position:absolute; width:520px; height:520px; right:-190px; top:-225px; border:1px solid rgba(132,184,249,.4); border-radius:50%; box-shadow: 0 0 0 40px rgba(132,184,249,.08), 0 0 0 80px rgba(132,184,249,.045), 0 0 0 120px rgba(132,184,249,.03); }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr); gap:54px; align-items:center; }
.hero-kicker { display:inline-flex; padding:8px 12px; color:#f8ca6c; border:1px solid rgba(244,174,42,.55); border-radius:5px; background:rgba(244,174,42,.06); font-size:.67rem; font-weight:900; letter-spacing:.105em; text-transform:uppercase; }
.hero h1 { max-width: 660px; color:#fff; margin-top:14px; }
.hero-copy .lead { max-width:650px; margin-top:18px; color:#d7e8fb; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero .btn--secondary { color:#dcecff; border-color:#77adf0; background:transparent; }
.hero .btn--secondary:hover { color:var(--ink-2); background:#fff; }
.hero-proof { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:33px; max-width:730px; }
.proof-item { padding:12px 0; display:flex; gap:9px; align-items:flex-start; color:#dceafd; font-size:.76rem; font-weight:700; border-top:1px solid rgba(184,214,251,.3); }
.proof-item b { width:24px; height:24px; flex:0 0 24px; display:grid; place-items:center; color:#061a32; background:var(--amber); border-radius:4px; font-size:.7rem; }
.hero-control { position:relative; padding:19px; overflow:hidden; border:1px solid rgba(143,191,253,.5); border-radius:18px; background:linear-gradient(145deg,rgba(4,22,44,.77),rgba(8,47,91,.84)); box-shadow:var(--shadow); }
.hero-control::before { content:''; position:absolute; width:330px; height:330px; right:-175px; bottom:-190px; border-radius:50%; border:1px solid rgba(123,178,251,.48); box-shadow:0 0 0 23px rgba(123,178,251,.07),0 0 0 46px rgba(123,178,251,.05); }
.control-top { position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.control-label { color:#b7d8ff; font-size:.67rem; font-weight:900; letter-spacing:.095em; text-transform:uppercase; }
.control-state { padding:5px 8px; color:#172a43; background:var(--amber); border-radius:4px; font-size:.65rem; font-weight:900; }
.control-visual { position:relative; display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-top:16px; }
.control-metric { padding:17px 14px; border:1px solid rgba(173,213,255,.27); background:rgba(255,255,255,.06); }
.control-metric b { display:block; color:#fff; font-size:2rem; letter-spacing:-.06em; }
.control-metric span { display:block; margin-top:5px; color:#bbd8f6; font-size:.72rem; line-height:1.3; }
.control-rail { position:relative; grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); gap:4px; padding:13px; border:1px solid rgba(173,213,255,.27); background:rgba(255,255,255,.05); }
.control-rail span { padding:10px 8px; color:#cae0f9; border-left:2px solid rgba(131,189,253,.55); font-size:.68rem; font-weight:800; }
.control-rail span:first-child { border-left:0; }

/* Process and roadmap */
.process { background:#fff; border-bottom:1px solid var(--line); }
.process .section-heading { margin-inline:auto; text-align:center; }
.process .section-heading .eyebrow { justify-content:center; }
.process-row { display:grid; grid-template-columns:repeat(4,1fr); margin-top:40px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.process-step { padding:28px 24px 24px; min-height:190px; border-left:1px solid var(--line); }
.process-step:first-child { border-left:0; }
.step-num { width:34px; height:34px; display:grid; place-items:center; margin-bottom:16px; color:#fff; background:var(--ink-2); border-radius:5px; font-size:.72rem; font-weight:900; }
.process-step:nth-child(2) .step-num, .process-step:nth-child(4) .step-num { color:#1d2b3e; background:var(--amber); }
.process-step p { margin-top:8px; font-size:.85rem; }
#roadmap { background:linear-gradient(180deg,#eff5fa 0%,#f8fafc 100%); }
.pathway-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pathway { display:flex; min-height:272px; flex-direction:column; padding:23px; background:#fff; border:1px solid var(--line); border-top:4px solid var(--blue); border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); }
.pathway:nth-child(2) { border-top-color:var(--amber); }
.pathway:nth-child(3) { border-top-color:var(--green); }
.pathway-label { color:#53708f; font-size:.67rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.pathway h3 { margin-top:12px; }
.pathway p { margin-top:10px; font-size:.88rem; }
.pathway .btn { margin-top:auto; align-self:flex-start; }
.roadmap-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:30px; }
.roadmap-step { display:flex; min-height:223px; flex-direction:column; padding:21px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 7px 18px rgba(7,29,55,.05); }
.roadmap-step > span { display:grid; width:34px; height:34px; place-items:center; color:var(--blue); background:#e8f1ff; border-radius:5px; font-size:.72rem; font-weight:900; }
.roadmap-step h3 { margin-top:15px; }
.roadmap-step p { margin-top:8px; font-size:.86rem; }
.roadmap-step a { margin-top:auto; color:var(--blue); font-size:.8rem; font-weight:900; }
.roadmap-action { display:flex; align-items:center; gap:16px; margin-top:24px; }
.roadmap-action span { color:var(--muted); font-size:.86rem; }

/* Library sections */
#library-preview { background:#f9fbfd; }
.featured-resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.featured-resource { display:flex; min-height:100%; flex-direction:column; padding:18px; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff; box-shadow:var(--shadow-sm); }
.featured-resource--free { border-top:4px solid var(--green); }
.featured-resource--premium { border-top:4px solid var(--amber); box-shadow:0 14px 28px rgba(6,34,70,.11); }
.featured-resource--soon { border-top:4px solid #98a5b2; filter:saturate(.54); opacity:.86; }
.featured-resource h3 { margin-top:14px; }
.featured-resource p { margin-top:8px; font-size:.86rem; }
.cover-mini { position:relative; display:flex; min-height:150px; flex-direction:column; justify-content:space-between; overflow:hidden; padding:16px; color:#fff; background:linear-gradient(140deg,#0a2342,#1b6fcd); border-radius:7px; }
.cover-mini::before { content:''; position:absolute; right:-40px; top:-55px; width:160px; height:160px; border:1px solid rgba(255,255,255,.42); border-radius:50%; box-shadow:0 0 0 17px rgba(255,255,255,.08),0 0 0 34px rgba(255,255,255,.045); }
.cover-mini::after { content:''; position:absolute; right:12px; bottom:12px; width:78px; height:40px; background:linear-gradient(90deg,transparent 0 22%,rgba(255,255,255,.27) 22% 23%,transparent 23% 49%,rgba(255,255,255,.27) 49% 50%,transparent 50% 76%,rgba(255,255,255,.27) 76% 77%,transparent 77%); }
.cover-mini.free { background:linear-gradient(140deg,#0c594d,#168d73); }
.cover-mini.premium { background:linear-gradient(140deg,#071a32,#1558a8); }
.cover-mini.soon { background:linear-gradient(140deg,#526474,#8595a3); }
.cover-mini small, .cover-mini b, .cover-mini-meta { position:relative; z-index:1; }
.cover-mini small { color:#d8ebff; font-size:.62rem; font-weight:900; letter-spacing:.095em; text-transform:uppercase; }
.cover-mini b { max-width:86%; font-size:1.08rem; line-height:1.15; letter-spacing:-.035em; }
.cover-mini-meta { color:#dcecff; font-size:.66rem; font-weight:700; }
.badge { display:inline-flex; align-items:center; width:max-content; padding:6px 8px; border-radius:4px; font-size:.62rem; line-height:1; font-weight:950; letter-spacing:.09em; }
.badge--free { color:#07563f; background:var(--green-soft); border:1px solid #a7dec8; }
.badge--premium { color:#694100; background:#fff0c9; border:1px solid #efc667; }
.badge--soon { color:#526372; background:#e8edf1; border:1px solid #cbd4dc; }
.card-inclusions, .check-list { display:grid; gap:8px; margin:16px 0 0; padding:0; list-style:none; }
.card-inclusions li, .check-list li { position:relative; padding-left:21px; color:#465e75; font-size:.79rem; }
.card-inclusions li::before, .check-list li::before { content:'✓'; position:absolute; left:0; color:var(--blue); font-weight:950; }
.featured-bottom, .card-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:16px; }
.price { color:var(--ink-2); font-weight:950; }
.section-footer-link { margin-top:24px; text-align:center; }
.section-footer-link a { color:var(--blue); font-weight:900; }
#premium-preview { background:linear-gradient(160deg,#edf4fa,#e6eef7); }
.interview-preview { display:grid; grid-template-columns:.86fr 1.14fr; gap:38px; align-items:center; padding:38px; overflow:hidden; border-radius:var(--radius); border-left:5px solid var(--amber); background:linear-gradient(130deg,#071a32,#0a3a73); color:#fff; box-shadow:var(--shadow); }
.interview-preview .eyebrow { color:#9ac8ff; }
.interview-preview h2 { color:#fff; }
.interview-preview .lead { margin-top:13px; color:#d5e7fb; }
.book-cover { position:relative; display:flex; min-height:300px; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:27px; border:1px solid rgba(181,216,255,.7); background:linear-gradient(150deg,#0e2b4e,#1a62b8); }
.book-cover::before { content:'150'; position:absolute; right:17px; top:7px; color:rgba(255,255,255,.11); font-size:7rem; font-weight:950; letter-spacing:-.12em; }
.book-cover::after { content:''; position:absolute; inset:auto 0 0 0; height:8px; background:var(--amber); }
.book-cover .mini, .book-cover b, .book-cover span { position:relative; z-index:1; }
.book-cover .mini { color:#ffdc89; font-size:.66rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.book-cover b { max-width:310px; margin-top:13px; color:#fff; font-size:2.15rem; line-height:1; letter-spacing:-.055em; }
.book-cover span { margin-top:14px; color:#d4e7fe; }
.interview-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.interview-actions .btn--secondary { background:transparent; color:#e2efff; border-color:#8abaf4; }
.interview-actions .btn--secondary:hover { background:#fff; color:var(--ink-2); }

/* Founder and proof (photo-free by instruction) */
#about { background:#fff; }
.founder-panel { position:relative; overflow:hidden; display:grid; grid-template-columns:1.16fr .84fr; border:1px solid #cddded; border-radius:var(--radius); background:linear-gradient(130deg,#071a31,#0c3767); color:#fff; box-shadow:var(--shadow); }
.founder-panel::after { content:''; position:absolute; right:-220px; bottom:-250px; width:530px; height:530px; border:1px solid rgba(120,183,255,.32); border-radius:50%; box-shadow:0 0 0 36px rgba(120,183,255,.05),0 0 0 72px rgba(120,183,255,.03); }
.founder-copy { position:relative; z-index:1; padding:43px; }
.founder-copy .eyebrow { color:#9dcaff; }
.founder-copy h2 { margin-top:14px; color:#fff; }
.founder-copy p { margin-top:16px; color:#d5e7f9; }
.founder-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:26px; }
.founder-stat { padding:13px; border:1px solid rgba(179,215,255,.27); background:rgba(255,255,255,.05); }
.founder-stat strong { display:block; color:#ffc957; font-size:.95rem; }
.founder-stat span { display:block; margin-top:5px; color:#cce2f9; font-size:.7rem; line-height:1.35; }
.founder-visual { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; padding:40px; border-left:1px solid rgba(187,220,255,.2); }
.founder-visual img { width:min(320px,100%); filter:drop-shadow(0 16px 22px rgba(0,0,0,.24)); }
.founder-visual-note { position:absolute; right:25px; bottom:25px; max-width:260px; padding:16px; background:rgba(255,255,255,.95); border-left:4px solid var(--amber); color:var(--ink-2); box-shadow:var(--shadow-sm); }
.founder-note-kicker { display:block; color:var(--blue); font-size:.62rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.founder-visual-note b { display:block; margin-top:7px; font-size:.85rem; line-height:1.35; }
.founder-bottom { position:relative; z-index:1; grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:30px 43px; border-top:1px solid rgba(187,220,255,.18); background:rgba(2,16,32,.3); }
.founder-quote { padding-left:20px; color:#eef7ff; border-left:3px solid var(--amber); font-size:1.07rem; line-height:1.5; }
.founder-credentials span { color:#99c7ff; font-size:.66rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.founder-credentials b { display:block; margin-top:5px; color:#fff; font-size:1.05rem; }
.expertise-list { display:grid; grid-template-columns:repeat(2,1fr); gap:8px 15px; margin:15px 0 0; padding:0; list-style:none; }
.expertise-list li { color:#cde2f8; font-size:.75rem; }

/* FAQ / email */
.faq-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.faq { background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow-sm); }
.faq summary { padding:17px 18px; color:var(--ink-2); cursor:pointer; font-size:.92rem; font-weight:850; }
.faq p { padding:0 18px 18px; font-size:.88rem; }
.email-cta { display:grid; grid-template-columns:1.08fr .92fr; gap:36px; padding:35px; overflow:hidden; border-radius:var(--radius); background:linear-gradient(130deg,#0d315c,#145da9); color:#fff; }
.email-cta h2 { margin-top:11px; color:#fff; }
.email-cta p { margin-top:12px; color:#d9eaff; }
.email-cta .eyebrow { color:#b9d9ff; }
.email-cta .btn--secondary { margin-top:21px; }
.email-form { align-self:center; padding:21px; background:rgba(255,255,255,.94); color:var(--ink-2); border-radius:10px; }
.email-label { display:block; color:var(--ink-2); font-size:.82rem; font-weight:850; }
.form-row { display:flex; gap:9px; margin-top:10px; }
.field { width:100%; min-height:44px; padding:10px 12px; color:var(--ink-2); border:1px solid #bfd0e1; border-radius:7px; background:#fff; }
.form-notes { display:flex; flex-wrap:wrap; gap:12px; margin-top:11px; color:#60748d; font-size:.72rem; }
.form-notes span::before { content:'✓'; margin-right:5px; color:var(--green); font-weight:900; }
.consent-note { margin-top:10px; color:#60748d; font-size:.72rem; line-height:1.45; }
.consent-note a { color:var(--blue); text-decoration:underline; }

/* Library */
.page-hero { position:relative; overflow:hidden; padding:76px 0; color:#fff; background:linear-gradient(120deg,#071b34,#0e417a); }
.page-hero::after { content:''; position:absolute; right:-160px; top:-230px; width:520px; height:520px; border:1px solid rgba(162,207,255,.35); border-radius:50%; box-shadow:0 0 0 35px rgba(162,207,255,.06),0 0 0 70px rgba(162,207,255,.04); }
.page-hero > .container { position:relative; z-index:1; }
.page-hero h1 { margin-top:9px; color:#fff; max-width:880px; }
.page-hero .lead { max-width:720px; margin-top:15px; color:#dcecff; }
.page-hero--compact { padding:58px 0; }
.library-toolbar { padding:20px; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff; box-shadow:var(--shadow-sm); }
.primary-tabs { display:flex; gap:8px; overflow-x:auto; padding-bottom:8px; scrollbar-width:thin; }
.tab { flex:0 0 auto; min-height:39px; padding:8px 11px; color:#44617d; border:1px solid #c8d7e6; border-radius:6px; background:#f8fbfe; font-size:.73rem; font-weight:850; white-space:nowrap; }
.tab.active { color:#fff; border-color:var(--blue); background:var(--blue); }
.filter-toggle { display:none; }
.filter-row { display:grid; grid-template-columns:1.6fr repeat(4,1fr) auto; gap:8px; margin-top:11px; }
.library-meta { display:flex; justify-content:space-between; gap:16px; align-items:center; margin:22px 0 15px; }
.library-meta p { font-size:.8rem; }
.library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.resource-card { display:flex; min-width:0; min-height:100%; flex-direction:column; padding:15px; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff; box-shadow:var(--shadow-sm); }
.resource-card--free { border-top:4px solid var(--green); }
.resource-card--premium { border-top:4px solid var(--amber); box-shadow:0 14px 27px rgba(5,34,68,.1); }
.resource-card--soon { border-top:4px solid #8c9aa7; background:#f4f6f8; filter:saturate(.52); }
.resource-card .cover-mini { min-height:144px; }
.card-top { display:flex; justify-content:space-between; gap:8px; align-items:center; margin-top:14px; }
.type-label { color:#77899a; font-size:.6rem; font-weight:900; letter-spacing:.085em; text-transform:uppercase; text-align:right; }
.resource-card h2 { margin-top:13px; font-size:1.16rem; }
.resource-card p { margin-top:9px; font-size:.84rem; }
.card-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.meta-chip { display:inline-flex; max-width:100%; overflow:hidden; padding:5px 7px; color:#516b85; border:1px solid #d8e3ec; border-radius:4px; background:#f3f7fa; font-size:.64rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.meta-chip--path { color:#2461a7; border-color:#bdd5f0; background:#edf5ff; }
.resource-meta-line { display:flex; flex-wrap:wrap; gap:7px 12px; margin-top:13px; color:#71849a; font-size:.68rem; }
.resource-meta-line span + span::before { content:'•'; margin-right:12px; color:#a0afbd; }
.roadmap-library { margin-top:50px; padding-top:46px; border-top:1px solid var(--line); }
.empty-state, .empty-panel { padding:35px; border:1px dashed #a5b7c9; border-radius:10px; background:#fff; text-align:center; grid-column:1/-1; }
.empty-state h2 { font-size:1.35rem; }
.empty-state p { margin-top:8px; }
.empty-state .btn { margin-top:15px; }

/* Detail and articles */
.detail-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:52px; padding:70px 0; }
.detail-cover { position:sticky; top:100px; display:flex; min-height:395px; align-self:start; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:26px; color:#fff; border-top:7px solid var(--amber); background:linear-gradient(145deg,#06182f,#145aa9); box-shadow:var(--shadow); }
.detail-cover.free { border-top-color:#9fe4ca; background:linear-gradient(145deg,#084f45,#168972); }
.detail-cover.soon { border-top-color:#cfd8df; background:linear-gradient(145deg,#526474,#8293a0); }
.detail-cover .badge { position:absolute; left:26px; top:26px; }
.detail-label { position:absolute; right:25px; top:30px; color:#cce2fc; font-size:.64rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.cover-lines { position:absolute; inset:70px -80px -100px 32px; opacity:.36; background:repeating-linear-gradient(0deg,transparent 0 13px,rgba(255,255,255,.35) 13px 14px); transform:rotate(-13deg); }
.detail-cover h2, .detail-cover p { position:relative; z-index:1; }
.detail-cover h2 { color:#fff; font-size:2.2rem; }
.detail-cover p { margin-top:9px; color:#d7e8fa; }
.detail-copy h1 { font-size:clamp(2.2rem,4vw,4.15rem); }
.detail-copy .lead { margin-top:15px; }
.detail-info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:25px 0; }
.info-box { min-width:0; padding:12px; border:1px solid var(--line); background:#fff; }
.info-box b { display:block; color:#637b93; font-size:.63rem; letter-spacing:.09em; text-transform:uppercase; }
.info-box span { display:block; margin-top:4px; color:#2c4966; font-size:.8rem; word-break:break-word; }
.detail-copy h2 { margin-top:28px; font-size:1.5rem; }
.resource-preview { margin-top:26px; padding:18px; border-left:4px solid var(--blue); background:#edf4fb; }
.resource-preview-head { display:flex; justify-content:space-between; align-items:start; gap:16px; }
.resource-preview-head h2 { margin:8px 0 0; font-size:1.25rem; }
.preview-state { flex:0 0 auto; padding:6px 8px; color:#49657f; border:1px solid #c9d8e7; background:#fff; font-size:.64rem; font-weight:900; letter-spacing:.06em; }
.preview-panels { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:16px; }
.preview-panel { padding:13px; border:1px solid var(--line); background:#fff; }
.preview-panel b { display:block; color:var(--blue); font-size:.67rem; }
.preview-panel span { display:block; margin-top:7px; color:#5b7188; font-size:.77rem; }
.resource-action-row { display:flex; flex-wrap:wrap; gap:11px; margin-top:24px; }
.purchase-assurance { display:grid; gap:5px; margin-top:16px; padding:15px; color:#445e77; border:1px solid #bfd8ea; border-left:4px solid var(--green); background:#f3fbf8; font-size:.8rem; }
.purchase-assurance b { color:#245c4e; }
.purchase-assurance a { color:var(--blue); text-decoration:underline; }
.disclaimer { margin-top:18px; color:#667d94; font-size:.79rem; }
.article { max-width:900px; padding:68px 0; }
.article h1 { font-size:clamp(2.3rem,4vw,4.2rem); }
.article h2 { margin-top:35px; font-size:1.6rem; }
.article h3 { margin-top:24px; }
.article p, .article li { margin-top:14px; color:#4e667e; }
.article ul { padding-left:20px; }
.updated { margin-top:12px; color:#71859b; font-size:.82rem; }
.article-meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; color:#607891; font-size:.78rem; }
.article-meta span { padding:5px 8px; border:1px solid var(--line); border-radius:4px; background:#f7fafc; }
.article-card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.article-card { padding:22px; border:1px solid var(--line); border-top:4px solid var(--blue); border-radius:10px; background:#fff; box-shadow:var(--shadow-sm); }
.article-card h2 { margin-top:12px; font-size:1.35rem; }
.article-card p { margin-top:10px; font-size:.86rem; }
.article-card .article-meta { margin-top:15px; }
.article-card .text-link { margin-top:18px; }

/* Contact / authentication / account */
.contact-grid { display:grid; grid-template-columns:1fr .85fr; gap:22px; padding:62px 0; }
.contact-card { padding:26px; border:1px solid var(--line); border-top:4px solid var(--blue); border-radius:10px; background:#fff; box-shadow:var(--shadow-sm); }
.contact-card textarea { width:100%; min-height:150px; padding:11px 12px; border:1px solid #bfd0e1; border-radius:7px; resize:vertical; }
.contact-card label { display:block; margin:13px 0 6px; color:#425e79; font-size:.82rem; font-weight:800; }
.auth-shell { display:grid; grid-template-columns:.86fr 1.14fr; gap:45px; align-items:start; padding:68px 0; }
.auth-intro { padding:35px; color:#fff; border-radius:var(--radius); background:linear-gradient(140deg,#071a32,#0e4c91); box-shadow:var(--shadow); }
.auth-intro h1 { margin-top:13px; color:#fff; font-size:clamp(2.2rem,4vw,4rem); }
.auth-intro p { margin-top:15px; color:#d7e9fb; }
.auth-points { display:grid; gap:12px; margin:25px 0 0; }
.auth-point { padding:12px; border-left:3px solid var(--amber); background:rgba(255,255,255,.06); color:#dcecff; font-size:.82rem; }
.auth-card { padding:29px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:5px; border-radius:8px; background:#eef4fa; }
.auth-tabs button { min-height:42px; color:#536d87; border:0; border-radius:6px; background:transparent; font-size:.82rem; font-weight:850; }
.auth-tabs button.active { color:var(--blue); background:#fff; box-shadow:0 4px 12px rgba(7,29,55,.08); }
.auth-form { margin-top:24px; }
.auth-form label { display:block; margin:13px 0 6px; color:#405c77; font-size:.8rem; font-weight:850; }
.password-wrap { position:relative; }
.password-wrap .field { padding-right:66px; }
.password-toggle { position:absolute; right:8px; top:50%; transform:translateY(-50%); padding:5px; color:var(--blue); border:0; background:transparent; font-size:.76rem; font-weight:900; }
.password-rule { margin-top:7px; color:#71859b; font-size:.72rem; }
.auth-form .btn { width:100%; margin-top:22px; }
.auth-secondary { display:flex; justify-content:space-between; gap:16px; margin-top:16px; font-size:.79rem; }
.auth-secondary button { padding:0; color:var(--blue); border:0; background:transparent; font-weight:800; }
.form-message { min-height:22px; margin-top:14px; font-size:.79rem; }
.form-message--error { color:#b62c2c; }
.form-message--success { color:#087458; }
.form-message--warn { color:#9a5a00; }
.account-empty { padding:75px 0; max-width:820px; }
.account-empty .lead { margin-top:15px; }
.account-empty .btn { margin-top:22px; }
.account-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.account-card { min-height:235px; padding:23px; border:1px solid var(--line); border-top:4px solid var(--blue); border-radius:10px; background:#fff; box-shadow:var(--shadow-sm); }
.account-card:nth-child(2) { border-top-color:var(--amber); }
.account-card:nth-child(3) { border-top-color:var(--green); }
.account-label { color:#6c8197; font-size:.66rem; font-weight:900; letter-spacing:.095em; text-transform:uppercase; }
.account-card h2 { margin-top:13px; font-size:1.6rem; word-break:break-word; }
.account-card p { margin-top:11px; font-size:.85rem; }
.account-card .btn, .account-card .text-link { margin-top:20px; }
.account-email { font-size:1.05rem !important; letter-spacing:-.02em !important; }
.saved-panel { margin-top:27px; padding:25px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:var(--shadow-sm); }
.saved-resource-list { display:grid; gap:9px; margin-top:18px; }
.saved-resource { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:13px; border:1px solid var(--line); background:#f9fbfd; }
.saved-resource b, .saved-resource span { display:block; }
.saved-resource span { margin-top:4px; color:#71859b; font-size:.73rem; }
.account-actions { margin-top:25px; }

/* Footer */
.site-footer { color:#c9ddf1; background:#05162a; }
.footer-topline { height:4px; background:linear-gradient(90deg,var(--blue),#62a8ff,var(--amber)); }
.footer-grid { display:grid; grid-template-columns:1.55fr 1fr 1fr 1.15fr; gap:34px; padding:49px 0 34px; }
.site-footer .brand-name { color:#fff; }
.site-footer .brand-subtitle { color:#9cb8d2; }
.footer-brand p { max-width:300px; margin-top:17px; color:#9db7d0; font-size:.82rem; }
.footer-title { margin-bottom:13px; color:#fff; font-size:.72rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.footer-links { display:grid; gap:8px; }
.footer-links a { color:#b7cde2; font-size:.8rem; }
.footer-links a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:16px; padding:17px 0 25px; border-top:1px solid rgba(178,213,247,.16); color:#8da7c1; font-size:.7rem; }

/* Modal / toast */
.modal { display:none; position:fixed; inset:0; z-index:160; padding:20px; align-items:center; justify-content:center; background:rgba(3,15,28,.72); }
.modal.is-open { display:flex; }
.modal-card { position:relative; width:min(890px,100%); max-height:min(90vh,760px); overflow:auto; padding:32px; border-top:5px solid var(--amber); background:#fff; box-shadow:var(--shadow); }
.modal-close { position:absolute; right:14px; top:11px; width:32px; height:32px; color:#5f7286; border:0; background:transparent; font-size:1.8rem; }
.path-modal-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; margin-top:21px; }
.path-option { padding:17px; color:#34506b; border:1px solid var(--line); background:#f7fafc; text-align:left; }
.path-option:hover { border-color:var(--blue); background:#edf5ff; }
.path-option b { display:block; color:var(--ink-2); }
.path-option span { display:block; margin-top:7px; color:#637a92; font-size:.78rem; line-height:1.45; }
.modal-note { margin-top:16px; color:#6b8096; font-size:.75rem; }
.toast { display:none; position:fixed; right:20px; bottom:20px; z-index:190; max-width:min(380px, calc(100% - 40px)); padding:13px 16px; color:#fff; border-left:4px solid var(--amber); background:#082746; box-shadow:var(--shadow); font-size:.82rem; }
.toast.show { display:block; }

/* Responsive */
@media (max-width: 1120px) {
  .nav { gap:13px; }
  .nav a { font-size:.72rem; }
  .hero-grid { gap:34px; }
  .filter-row { grid-template-columns:1.5fr repeat(2,1fr); }
  .filter-row .reset-filters { grid-column:span 1; }
}
@media (max-width: 990px) {
  .nav { position:absolute; display:none; left:0; right:0; top:76px; padding:10px 24px 18px; flex-direction:column; align-items:stretch; gap:0; border-bottom:1px solid #1a4773; background:#061a31; box-shadow:var(--shadow); }
  .nav.open { display:flex; }
  .nav a { padding:12px 0; color:#d8e8f8; font-size:.85rem; }
  .nav a::after { display:none; }
  .nav a.active { color:#8bc1ff; }
  .menu-toggle { display:block; }
  .header-actions { margin-left:auto; }
  .hero-grid, .interview-preview, .founder-panel, .email-cta, .auth-shell { grid-template-columns:1fr; }
  .hero-control { max-width:700px; }
  .process-row { grid-template-columns:repeat(2,1fr); }
  .process-step:nth-child(3) { border-left:0; }
  .process-step:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .roadmap-grid, .library-grid, .featured-resource-grid { grid-template-columns:repeat(2,1fr); }
  .pathway-grid { grid-template-columns:1fr; }
  .pathway { min-height:0; }
  .founder-visual { min-height:310px; border-top:1px solid rgba(187,220,255,.2); border-left:0; }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .footer-grid > :last-child { grid-column:2/4; }
  .detail-layout { grid-template-columns:1fr; gap:29px; }
  .detail-cover { position:relative; top:auto; min-height:300px; }
  .account-grid { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  body { font-size:15px; }
  .container { width:min(var(--max), calc(100% - 28px)); }
  .header-inner { min-height:68px; gap:12px; }
  .brand-mark { width:27px; height:27px; }
  .brand-mark i { width:8px; height:24px; }
  .brand-name { font-size:.95rem; }
  .brand-subtitle { font-size:.52rem; }
  .nav { top:68px; padding-inline:14px; }
  .account-link { min-height:35px; padding:7px 9px; font-size:.71rem; }
  .section { padding:57px 0; }
  .section--tight { padding:45px 0; }
  .section-heading--split { flex-direction:column; align-items:start; }
  .hero { padding:59px 0 53px; }
  .hero h1 { font-size:clamp(2.35rem, 11vw, 3.6rem); }
  .hero-actions { flex-direction:column; }
  .hero-actions .btn { width:100%; }
  .hero-proof { grid-template-columns:1fr; }
  .hero-control { padding:14px; }
  .control-visual { grid-template-columns:1fr 1fr; }
  .control-rail { grid-template-columns:1fr 1fr; }
  .control-rail span:nth-child(3) { border-left:0; }
  .process-row { grid-template-columns:1fr; }
  .process-step, .process-step:nth-child(3) { min-height:0; border-left:0; border-bottom:1px solid var(--line); }
  .process-step:last-child { border-bottom:0; }
  .roadmap-grid, .library-grid, .featured-resource-grid, .faq-grid, .article-card-grid { grid-template-columns:1fr; }
  .roadmap-action { flex-direction:column; align-items:stretch; }
  .roadmap-action .btn { width:100%; }
  .interview-preview { padding:23px 19px; gap:24px; }
  .book-cover { min-height:235px; padding:22px; }
  .book-cover b { font-size:1.85rem; }
  .founder-copy { padding:29px 21px; }
  .founder-stats { grid-template-columns:1fr; }
  .founder-visual { padding:30px 18px; }
  .founder-visual-note { right:18px; bottom:18px; max-width:250px; }
  .founder-bottom { grid-template-columns:1fr; gap:22px; padding:25px 21px; }
  .expertise-list { grid-template-columns:1fr; }
  .email-cta { padding:25px 19px; gap:22px; }
  .form-row { flex-direction:column; }
  .form-row .btn { width:100%; }
  .library-toolbar { padding:14px; }
  .primary-tabs { margin-right:-14px; padding-right:14px; }
  .filter-toggle { display:block; width:100%; min-height:43px; margin-top:9px; padding:10px 12px; color:#34516f; border:1px solid var(--line); background:#f7fafc; text-align:left; font-size:.8rem; font-weight:850; }
  .filter-toggle::after { content:'+'; float:right; font-size:1.15rem; }
  .filter-toggle[aria-expanded='true']::after { content:'–'; }
  .filter-row { display:none; grid-template-columns:1fr; }
  .filter-row.is-open { display:grid; margin-top:10px; }
  .library-meta { align-items:start; flex-direction:column; }
  .detail-info-grid, .preview-panels, .contact-grid { grid-template-columns:1fr; }
  .resource-preview-head { flex-direction:column; }
  .preview-state { width:max-content; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:27px; padding:43px 0 29px; }
  .footer-brand { grid-column:1/-1; }
  .footer-grid > :last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; align-items:start; }
  .path-modal-grid { grid-template-columns:1fr; }
  .modal-card { padding:27px 19px; }
  .auth-shell { padding:50px 0; gap:23px; }
  .auth-intro, .auth-card { padding:23px 19px; }
  .auth-secondary { flex-direction:column; }
  .saved-panel { padding:18px; }
  .saved-resource { align-items:start; flex-direction:column; }
}
@media (max-width: 400px) {
  .account-link { display:none; }
  .header-actions { gap:0; }
  .hero h1 { font-size:2.32rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation:none !important; }
}
