/* ===== BASEFUND DESIGN SYSTEM — Book Section ===== */

/* --- Reset & Base --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --blue:#145DD0;--blue-lt:#28A4DD;--blue-deep:#0B3580;
  --blue-pale:#DDEEFF;--blue-tint:#EEF5FF;
  --accent:#00F4E0;--accent-tint:rgba(0,244,224,.10);--accent-deep:#00C4B4;
  --white:#FFFFFF;--off:#F7F8FA;--gray:#ECEEF3;
  --dark:#0B3580;--dark-2:#0E4399;
  --ink:#2B2B2B;--slate:#5C6680;--slate-lt:#8B96AE;
  --border:rgba(0,0,0,.07);--border-lt:rgba(255,255,255,.12);
  --f-head:'Lora',Georgia,serif;--f-body:'Inter',-apple-system,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);--ease-back:cubic-bezier(.34,1.56,.64,1);
  --r:2px;
  --s-sm:0 2px 8px rgba(20,93,208,.10);
  --s-md:0 6px 20px rgba(20,93,208,.13);
  --s-lg:0 16px 48px rgba(20,93,208,.18);
}

html{-webkit-font-smoothing:antialiased;font-size:16px;scroll-behavior:smooth;}
body{font-family:var(--f-body);background:var(--off);color:var(--ink);overflow-x:hidden;line-height:1.7;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}

/* --- Noise Overlay --- */
.noise{position:relative;isolation:isolate;}
.noise::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;}

/* --- Reveal Animations --- */
.r{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.r.v{opacity:1;transform:none;}
.sd1{transition-delay:.1s;}.sd2{transition-delay:.2s;}.sd3{transition-delay:.3s;}.sd4{transition-delay:.4s;}.sd5{transition-delay:.5s;}
.r.slow{transition-duration:1.2s;}.sd-s1{transition-delay:.25s;}.sd-s2{transition-delay:.5s;}.sd-s3{transition-delay:.75s;}.sd-s4{transition-delay:1s;}

/* --- Layout --- */
.container{max-width:1200px;margin:0 auto;padding:0 48px;}
.container-lg{max-width:1400px;margin:0 auto;padding:0 48px;}
.container-sm{max-width:900px;margin:0 auto;padding:0 48px;}
section{padding:80px 0;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.grid-2x2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* --- Typography --- */
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;}
.section-title{font-family:var(--f-head);font-size:clamp(28px,3.5vw,42px);font-weight:600;color:var(--ink);letter-spacing:-.03em;line-height:1.15;margin-bottom:24px;}
.section-body{font-size:15px;line-height:1.8;color:var(--slate);max-width:60ch;margin-bottom:16px;}
.lead{font-size:18px;font-weight:400;line-height:1.65;color:var(--slate);max-width:68ch;}
.caption{font-size:12px;font-weight:500;color:var(--slate-lt);}

/* --- Navigation --- */
.nav-wrap{position:sticky;top:0;z-index:500;background:rgba(247,248,250,.88);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);border-bottom:1px solid rgba(0,0,0,.05);}
.nav-wrap.scrolled{box-shadow:0 4px 24px rgba(20,93,208,.07);}
.nav{display:flex;align-items:center;height:64px;padding:0 48px;max-width:1400px;margin:0 auto;position:relative;}
.nav::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 10%,rgba(20,93,208,.12),rgba(40,164,221,.08),transparent 90%);}
.nav-logo{display:flex;align-items:center;gap:10px;transition:opacity 150ms;}
.nav-logo:hover{opacity:.7;}
.nav-logo svg{width:134px;height:auto;}
.nav-right{display:flex;align-items:center;gap:12px;margin-left:auto;}
.nav-link{font-size:14px;font-weight:500;color:var(--slate);padding:8px 14px;border-radius:var(--r);transition:all 150ms;}
.nav-link:hover{color:var(--blue);background:rgba(0,0,0,.04);}
.nav-back{font-size:13px;font-weight:500;color:var(--slate);display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r);transition:all 150ms;margin-left:auto;}
.nav-back:hover{color:var(--blue);background:rgba(0,0,0,.04);}
.nav-back svg{width:16px;height:16px;}

/* Dark nav variant (for hero overlay) */
.nav-wrap.dark{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none;position:absolute;width:100%;z-index:500;}
.nav-wrap.dark .nav::after{display:none;}
.nav-wrap.dark .nav-logo svg path{fill:#fff;}
.nav-wrap.dark .nav-link{color:rgba(255,255,255,.6);}
.nav-wrap.dark .nav-link:hover{color:#fff;background:rgba(255,255,255,.08);}
.nav-wrap.dark .nav-back{color:rgba(255,255,255,.7);}
.nav-wrap.dark .nav-back:hover{color:#fff;background:rgba(255,255,255,.08);}

/* Mobile nav toggle */
.nav-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer;color:var(--ink);}
.nav-wrap.dark .nav-toggle{color:#fff;}
.nav-toggle svg{width:24px;height:24px;}
.nav-mobile{display:none;max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.nav-mobile.open{max-height:300px;}

/* --- Buttons --- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;font-family:var(--f-body);font-size:14px;font-weight:600;letter-spacing:-.01em;border:none;border-radius:var(--r);cursor:pointer;transition:all 220ms var(--ease);white-space:nowrap;text-decoration:none;}
.btn:active{transform:scale(.972);}
.btn-p{background:var(--blue);color:#fff;}
.btn-p:hover{background:#1A6AEB;box-shadow:0 8px 32px rgba(20,93,208,.4);transform:translateY(-1px);}
.btn-w{background:var(--white);color:var(--dark);box-shadow:0 4px 16px rgba(0,0,0,.1);}
.btn-w:hover{background:var(--off);box-shadow:0 6px 20px rgba(0,0,0,.12);}
.btn-g{background:transparent;border:1.5px solid rgba(0,0,0,.14);color:var(--ink);}
.btn-g:hover{background:var(--white);border-color:rgba(0,0,0,.2);}
.btn-gw{background:transparent;border:1.5px solid rgba(255,255,255,.22);color:rgba(255,255,255,.85);}
.btn-gw:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35);}
.btn-sm{padding:9px 18px;font-size:13px;}
.btn-lg{padding:16px 36px;font-size:16px;}
.btn svg{width:18px;height:18px;flex-shrink:0;}

/* --- Hero (Book Landing) --- */
.hero-book{background:linear-gradient(150deg,var(--dark) 0%,var(--blue-deep) 100%);min-height:620px;position:relative;overflow:hidden;display:flex;align-items:center;padding:120px 0 80px;}
.hero-book-bg{position:absolute;inset:0;background:
  radial-gradient(ellipse 80% 70% at 0% 100%,rgba(0,244,224,.12) 0%,transparent 55%),
  radial-gradient(ellipse 60% 90% at 80% 60%,rgba(255,255,255,.10) 0%,transparent 55%),
  radial-gradient(ellipse 70% 50% at 50% -5%,rgba(40,164,221,.30) 0%,transparent 55%);pointer-events:none;}
.hero-book-grid{display:grid;grid-template-columns:3fr 2fr;gap:64px;align-items:center;}

/* --- Hero (Tool Page) --- */
.hero-tool{background:linear-gradient(150deg,var(--dark) 0%,var(--blue-deep) 100%);position:relative;overflow:hidden;padding:120px 0 80px;}
.hero-tool-bg{position:absolute;inset:0;background:
  radial-gradient(ellipse 80% 70% at 0% 100%,rgba(0,244,224,.12) 0%,transparent 55%),
  radial-gradient(ellipse 60% 60% at 85% 0%,rgba(40,164,221,.25) 0%,transparent 50%),
  radial-gradient(ellipse 50% 50% at 30% 20%,rgba(20,93,208,.20) 0%,transparent 45%);pointer-events:none;}
.hero-tool-grid{display:grid;grid-template-columns:3fr 2fr;gap:48px;align-items:center;}

/* Shared hero elements */
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.9);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:8px 18px;border-radius:var(--r);margin-bottom:28px;}
.hero-eyebrow-dot{width:6px;height:6px;border-radius:var(--r);background:var(--accent);flex-shrink:0;}
.hero-title{box-sizing:border-box;font-family:'Lora',Georgia,serif;font-size:clamp(42px,5.8vw,68px);font-weight:600;line-height:.96;letter-spacing:-.025em;color:#fff;margin:0 0 22px;padding:0;}
.hero-title em{font-style:italic;color:rgba(255,255,255,.8);}
.hero-subtitle{box-sizing:border-box;font-family:'Inter',-apple-system,sans-serif;font-size:18px;font-weight:300;line-height:1.65;color:rgba(255,255,255,.7);max-width:52ch;margin:0 0 32px;padding:0;}
.hero-subtitle strong{color:#fff;font-weight:600;}
.hero-book-img{width:100%;max-width:380px;height:auto;filter:drop-shadow(0 32px 64px rgba(0,0,0,.35));}

/* Hero form */
.hero-form{display:flex;gap:10px;max-width:480px;}
.hero-form input{flex:1;background:rgba(255,255,255,.10);border:1.5px solid rgba(255,255,255,.18);border-radius:var(--r);padding:14px 20px;font-family:var(--f-body);font-size:14px;color:#fff;transition:all 180ms;}
.hero-form input::placeholder{color:rgba(255,255,255,.45);}
.hero-form input:focus{outline:none;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.15);}
.hero-form button{background:var(--white);color:var(--dark);font-family:var(--f-body);font-size:14px;font-weight:600;padding:14px 28px;border:none;border-radius:var(--r);cursor:pointer;transition:all 220ms var(--ease);white-space:nowrap;}
.hero-form button:hover{background:var(--off);box-shadow:0 8px 24px rgba(0,0,0,.15);}
.hero-links{display:flex;align-items:center;gap:16px;margin-top:24px;}
.hero-links a{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:rgba(255,255,255,.7);transition:color 150ms;}
.hero-links a:hover{color:#fff;}
.hero-links a svg{width:16px;height:16px;}
.hero-links-sep{color:rgba(255,255,255,.25);}

/* --- Section Backgrounds --- */
.bg-white{background:var(--white);}
.bg-off{background:var(--off);}
.bg-blue{background:var(--blue-deep);position:relative;overflow:hidden;}
.bg-blue-bg{display:none;}
.bg-blue .container,.bg-blue .container-sm,.bg-blue .container-lg{position:relative;z-index:2;}

/* --- Cards --- */
.card{background:var(--white);border-radius:var(--r);box-shadow:0 1px 3px rgba(0,0,0,.04);transition:transform 350ms var(--ease),box-shadow 350ms;overflow:hidden;}
.card:hover{transform:translateY(-3px);box-shadow:var(--s-md);}
.card-p{padding:32px;}

/* Chapter card */
.ch-card{background:var(--white);border-radius:var(--r);padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:transform 300ms var(--ease),box-shadow 300ms;border:1px solid var(--border);}
.ch-card:hover{transform:translateY(-2px);box-shadow:var(--s-sm);}
.ch-card-ch{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--blue);margin-bottom:6px;}
.ch-card-title{font-family:var(--f-head);font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.02em;margin-bottom:4px;}
.ch-card-desc{font-size:13px;color:var(--slate);line-height:1.6;}

/* Persona card */
.persona-card{background:var(--white);border-radius:var(--r);padding:32px;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:transform 350ms var(--ease),box-shadow 350ms;}
.persona-card:hover{transform:translateY(-3px);box-shadow:var(--s-md);}
.persona-icon{width:48px;height:48px;border-radius:var(--r);background:linear-gradient(135deg,var(--blue-tint) 0%,var(--blue-pale) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.persona-icon svg{width:24px;height:24px;color:var(--blue);}
.persona-title{font-family:var(--f-head);font-size:17px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.persona-desc{font-size:13px;color:var(--slate);line-height:1.65;}

/* Resource card */
.resource-card{display:flex;flex-direction:row-reverse;align-items:center;background:var(--white);border-radius:var(--r);border:1px solid var(--border);overflow:hidden;transition:all 300ms var(--ease);cursor:pointer;}
.resource-card:hover{border-color:var(--blue);box-shadow:0 4px 24px rgba(20,93,208,.10);transform:translateY(-2px);}
.resource-card-body{padding:20px 24px;flex:1;}
.resource-card-icon{background:linear-gradient(135deg,var(--blue-tint) 0%,var(--blue-pale) 100%);display:flex;align-items:center;justify-content:center;width:80px;min-height:100%;flex-shrink:0;border-right:1px solid rgba(0,0,0,.04);}
.resource-card-icon img{width:40px;height:40px;opacity:.5;transition:opacity 300ms;}
.resource-card:hover .resource-card-icon img{opacity:.7;}
.resource-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.resource-card-title{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:4px;}
.resource-card-desc{font-size:13px;color:var(--slate);line-height:1.6;}

/* Glass card (on blue backgrounds) */
.glass-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-radius:var(--r);overflow:hidden;}

/* Get the book card */
.book-links{display:flex;flex-direction:column;gap:10px;}
.book-link{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--white);border:1px solid var(--border);border-radius:var(--r);transition:all 200ms var(--ease);}
.book-link:hover{border-color:var(--blue);box-shadow:var(--s-sm);}
.book-link-icon{width:40px;height:40px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.book-link-icon img,.book-link-icon svg{width:20px;height:20px;}
.book-link-name{font-size:14px;font-weight:600;color:var(--ink);transition:color 150ms;}
.book-link:hover .book-link-name{color:var(--blue);}
.book-link-sub{font-size:12px;color:var(--slate-lt);}
.book-link-arrow{width:16px;height:16px;color:var(--gray);margin-left:auto;transition:color 150ms;}
.book-link:hover .book-link-arrow{color:var(--blue);}

/* --- Badges & Tags --- */
.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:var(--r);}
.badge-blue{background:var(--blue-pale);color:var(--blue);}
.badge-green{background:#DFF4EA;color:#167A43;}
.badge-teal{background:#CCFBF1;color:#0D9488;border:1px solid #99F6E4;}
.badge-purple{background:#EDE9FE;color:#7C3AED;border:1px solid #DDD6FE;}
.tag-download{background:var(--blue-pale);color:var(--blue);border:1px solid rgba(20,93,208,.2);font-size:10px;font-weight:600;padding:3px 9px;border-radius:var(--r);}
.tag-interactive{background:#CCFBF1;color:#0D9488;border:1px solid #99F6E4;font-size:10px;font-weight:600;padding:3px 9px;border-radius:var(--r);}

/* --- Editorial Two-Column (Features + Steps) --- */
.editorial{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.editorial-col{padding:32px 32px;}
.editorial-col + .editorial-col{border-left:1px solid var(--border);}
.editorial-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:20px;}
@media(max-width:900px){.editorial{grid-template-columns:1fr;}.editorial-col + .editorial-col{border-left:none;border-top:1px solid var(--border);}}

/* --- Check List (What You'll Get) --- */
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.check-list{display:flex;flex-direction:column;gap:0;}
.check-item{display:flex;gap:14px;padding:20px 24px;background:var(--off);border:1px solid var(--border);border-radius:var(--r);}
.check-item-bar{display:flex;gap:14px;padding:12px 0;}
.check-icon{width:28px;height:28px;border-radius:var(--r);background:var(--blue-tint);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.check-icon svg{width:14px;height:14px;color:var(--blue);}
.check-text{font-size:14px;color:var(--slate);line-height:1.65;}

/* --- Step List (How It Works) --- */
.step-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.step-list{display:flex;flex-direction:column;gap:0;}
.step-item{display:flex;gap:16px;}
.step-item-bar{display:flex;gap:14px;padding:12px 0;}
.step-num{width:28px;height:28px;border-radius:var(--r);background:var(--blue-tint);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
.step-text{font-size:14px;color:var(--slate);line-height:1.7;padding-top:3px;}

/* --- Combined CTA (Download + From the Book) --- */
.cta-combined{text-align:center;position:relative;}
.cta-combined-sub{font-size:13px;color:rgba(255,255,255,.45);line-height:1.7;margin-top:24px;max-width:780px;margin-left:auto;margin-right:auto;}
.cta-combined-sub strong{color:rgba(255,255,255,.65);font-weight:600;}
.cta-combined-sub em{font-style:italic;}

/* --- Filter Pills --- */
.filter-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.filter-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-family:var(--f-body);font-size:13px;font-weight:600;border:1.5px solid var(--border);border-radius:var(--r);background:var(--white);color:var(--slate);cursor:pointer;transition:all 150ms;}
.filter-btn:hover{border-color:var(--blue);color:var(--blue);}
.filter-btn.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.filter-btn .count{opacity:.5;}
.filter-btn.active .count{color:rgba(255,255,255,.6);}

/* --- Forms --- */
.form-cta{padding:52px 56px;border-radius:var(--r);text-align:center;}
.form-cta.blue{background:linear-gradient(150deg,var(--dark),var(--blue-deep));position:relative;overflow:hidden;}
.form-cta.blue::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 100% 0%,rgba(0,244,224,.10),transparent 55%),radial-gradient(ellipse 60% 70% at 0% 80%,rgba(40,164,221,.20),transparent 50%);pointer-events:none;}
.form-cta.blue>*{position:relative;z-index:2;}
.form-inline{display:flex;gap:10px;max-width:480px;margin:0 auto;}
.form-inline input{flex:1;background:rgba(255,255,255,.10);border:1.5px solid rgba(255,255,255,.18);border-radius:var(--r);padding:14px 20px;font-family:var(--f-body);font-size:14px;color:#fff;transition:all 180ms;}
.form-inline input::placeholder{color:rgba(255,255,255,.45);}
.form-inline input:focus{outline:none;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.15);}
.form-inline button{background:var(--white);color:var(--dark);font-family:var(--f-body);font-size:14px;font-weight:600;padding:14px 28px;border:none;border-radius:var(--r);cursor:pointer;transition:all 220ms var(--ease);white-space:nowrap;}
.form-inline button:hover{background:var(--off);box-shadow:0 8px 24px rgba(0,0,0,.15);}

/* --- Footer --- */
.footer{background:var(--blue-deep);padding:56px 0 36px;color:#fff;position:relative;overflow:hidden;}
.footer>*{position:relative;z-index:2;}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-logo svg{width:120px;height:auto;}
.footer-logo svg path{fill:#fff;}
.footer-links{display:flex;gap:24px;}
.footer-links a{font-size:13px;color:rgba(255,255,255,.5);transition:color 150ms;}
.footer-links a:hover{color:#fff;}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:20px;}
.footer-copy{font-size:12px;color:rgba(255,255,255,.3);}

/* --- Dual Info Row (Who It's For + Key Insight) --- */
.dual-info{display:grid;grid-template-columns:1fr 1fr;background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.dual-info-card{padding:32px 36px;}
.dual-info-card + .dual-info-card{border-left:1px solid var(--border);}
.dual-info-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:10px;}
.dual-info-card.accent .dual-info-label{color:var(--accent-deep);}
.dual-info-title{font-family:var(--f-head);font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.02em;margin-bottom:8px;line-height:1.3;}
.dual-info-body{font-size:14px;color:var(--slate);line-height:1.75;}
@media(max-width:768px){.dual-info{grid-template-columns:1fr;}.dual-info-card + .dual-info-card{border-left:none;border-top:1px solid var(--border);}}

/* --- Callout (quote block) --- */
.callout{font-family:var(--f-head);font-size:19px;font-weight:500;font-style:italic;line-height:1.7;color:var(--ink);letter-spacing:-.02em;background:var(--white);border-left:3px solid var(--blue);padding:28px 36px;border-radius:var(--r);box-shadow:0 1px 3px rgba(0,0,0,.04);max-width:72ch;}

/* --- Part label --- */
.part-label{font-family:var(--f-head);font-size:16px;font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--blue);margin-bottom:20px;}
.sub-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-lt);margin-bottom:12px;margin-top:28px;}

/* --- Chapter indicator (sticky scroll) --- */
.ch-indicator{display:flex;align-items:center;gap:12px;}
.ch-indicator-bar{width:32px;height:2px;background:var(--gray);border-radius:1px;transition:all 500ms var(--ease);flex-shrink:0;}
.ch-indicator-label{font-size:13px;color:var(--slate-lt);transition:all 500ms;}
.ch-indicator-sub{font-size:11px;color:var(--gray);transition:all 500ms;margin-top:2px;}
.ch-indicator.active .ch-indicator-bar{width:48px;background:var(--blue);}
.ch-indicator.active .ch-indicator-label{color:var(--blue);font-weight:600;}
.ch-indicator.active .ch-indicator-sub{color:var(--blue);opacity:.6;}

/* --- "From the Book" CTA Banner --- */
.book-banner{display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--white);padding:32px 40px;border-radius:var(--r);box-shadow:0 1px 3px rgba(0,0,0,.04);position:relative;overflow:hidden;}
.book-banner::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--blue),var(--accent));}

/* --- Divider --- */
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);max-width:1200px;margin:0 auto;}

/* --- Utility --- */
.text-center{text-align:center;}
.mx-auto{margin-left:auto;margin-right:auto;}
.mt-0{margin-top:0;}.mt-8{margin-top:8px;}.mt-12{margin-top:12px;}.mt-16{margin-top:16px;}.mt-24{margin-top:24px;}.mt-32{margin-top:32px;}.mt-48{margin-top:48px;}
.mb-0{margin-bottom:0;}.mb-4{margin-bottom:4px;}.mb-6{margin-bottom:6px;}.mb-8{margin-bottom:8px;}.mb-12{margin-bottom:12px;}.mb-16{margin-bottom:16px;}.mb-24{margin-bottom:24px;}.mb-32{margin-bottom:32px;}
.gap-8{gap:8px;}.gap-12{gap:12px;}.gap-16{gap:16px;}.gap-20{gap:20px;}.gap-24{gap:24px;}.gap-32{gap:32px;}.gap-48{gap:48px;}
.flex{display:flex;}.flex-col{flex-direction:column;}.items-center{align-items:center;}.items-start{align-items:start;}.justify-between{justify-content:space-between;}.justify-center{justify-content:center;}.flex-1{flex:1;}.shrink-0{flex-shrink:0;}.flex-wrap{flex-wrap:wrap;}
.hidden{display:none;}
.w-full{width:100%;}
.max-w-md{max-width:480px;}.max-w-lg{max-width:640px;}.max-w-xl{max-width:768px;}

/* --- Animations --- */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.float{animation:float 6s ease-in-out infinite;}
@keyframes arrow-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}.arrow-nudge{animation:arrow-nudge 1.8s ease-in-out infinite;}
@keyframes nudge{0%,68%,100%{transform:translateY(0)}74%{transform:translateY(5px)}80%{transform:translateY(-2px)}86%{transform:translateY(3px)}92%{transform:translateY(-1px)}}.nudge{animation:nudge 2.5s ease-in-out infinite;}
@keyframes orb-drift{0%,100%{translate:0 0;scale:1}25%{translate:12px -8px;scale:1.03}50%{translate:-6px 10px;scale:0.97}75%{translate:8px 5px;scale:1.02}}.orb-animate{animation:orb-drift 12s ease-in-out infinite;}.orb-animate-alt{animation:orb-drift 16s ease-in-out infinite reverse;}

/* --- Responsive --- */
@media(max-width:1024px){
  .hero-book-grid,.hero-tool-grid{grid-template-columns:1fr;gap:48px;}
  .hero-book-img{max-width:280px;margin:0 auto;}
  .grid-4{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .container,.container-lg,.container-sm{padding:0 24px;}
  .nav{padding:0 24px;height:56px;}
  .nav-toggle{display:flex;}
  .nav-right .nav-link,.nav-right .btn{display:none;}
  .nav-back span{display:none;}
  section{padding:56px 0;}
  .hero-book{padding:96px 0 56px;min-height:auto;}
  .hero-tool{padding:96px 0 56px;}
  .hero-title{font-size:clamp(32px,8vw,48px);}
  .hero-subtitle{font-size:15px;}
  .hero-form{flex-direction:column;}
  .hero-links{flex-wrap:wrap;gap:12px;}
  .grid-2,.check-grid,.step-grid{grid-template-columns:1fr;}
  .grid-3{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:1fr;}
  .grid-2x2{grid-template-columns:1fr;}
  .book-banner{flex-direction:column;text-align:center;padding:28px 24px;}
  .footer-top{flex-direction:column;gap:20px;}
  .footer-links{flex-wrap:wrap;gap:16px;}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center;}
  .resource-card{flex-direction:column-reverse;}
  .resource-card-icon{width:100%;min-height:56px;border-right:none;border-bottom:1px solid rgba(0,0,0,.04);}
}
@media(max-width:480px){
  .hero-book{padding:88px 0 40px;}
  .hero-tool{padding:88px 0 40px;}
  .hero-title{font-size:clamp(28px,8vw,36px);}
}

/* ===== Resource card visibility for filters ===== */
.resource-card.hidden-by-filter{display:none;}
