/* Shared styles for course and book landing pages (views/course-landing-pages,
   views/book-landing-pages). Pages add a small inline <style> after this link
   for their per-page overrides. */
body{font-family:'Roboto',sans-serif;background:#fff;color:#4B5563}
h1,h2,h3{color:#111827}
.lp-eyebrow{display:inline-block;font-size:0.78em;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#6B7280;margin-bottom:14px}
.cta-glow{display:inline-block;background:linear-gradient(to right,#3B82F6,#2563EB);color:#fff;padding:15px 30px;border-radius:8px;font-size:1.05em;font-weight:bold;text-decoration:none;box-shadow:0 4px 15px rgba(59,130,246,0.35);transition:transform 0.3s,box-shadow 0.3s;border:none;cursor:pointer;font-family:'Roboto',sans-serif}
.cta-glow:hover{color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,0.45)}
.strike{text-decoration:line-through;opacity:0.75}
/* Sticky purchase bar */
.purchase-bar{position:fixed;top:0;left:0;width:100%;padding:14px 24px;background:#111827;color:#fff;z-index:9999;transform:translateY(-100%);transition:transform 0.3s ease;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 4px 12px rgba(0,0,0,0.3)}
.purchase-bar.show{transform:translateY(0)}
.purchase-bar strong{font-size:1.05em}
.purchase-bar .cta-glow{padding:10px 22px;font-size:0.95em}
/* Hero */
.lp-hero{background:#111827;position:relative;overflow:hidden}
.lp-hero::before{content:'';position:absolute;top:-60%;right:-10%;width:55%;height:220%;background:radial-gradient(ellipse,rgba(59,130,246,0.14) 0%,transparent 65%);pointer-events:none}
.lp-hero-inner{max-width:1100px;margin:0 auto;padding:90px 20px 100px;display:flex;align-items:center;gap:80px;flex-wrap:wrap;position:relative}
.lp-hero-copy{flex:1 1 480px;max-width:600px}
.lp-hero-copy .lp-eyebrow{color:#60A5FA;margin-bottom:22px}
.lp-hero h1{font-size:3.4em;font-weight:700;color:#fff;margin:0 0 20px;line-height:1.1;letter-spacing:-0.01em}
.lp-hero-sub{font-size:1.2em;color:#9CA3AF;line-height:1.65;margin:0 0 30px;max-width:34em;text-wrap:pretty}
.lp-hero-sub strong{color:#E5E7EB;font-weight:500}
.lp-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:26px}
.lp-hero-link{color:#E5E7EB;font-weight:700;font-size:1em;text-decoration:none;padding:14px 6px}
.lp-hero-link:hover{color:#fff}
.lp-hero-meta{font-size:0.85em;color:#6B7280;margin:0;letter-spacing:0.3px}
.lp-hero-img{flex:0 1 380px;display:flex;justify-content:center;padding:20px 0}
.lp-hero-img img{width:100%;max-width:380px;border-radius:6px;transform:rotate(2.5deg);box-shadow:-20px 30px 60px rgba(0,0,0,0.5),0 0 80px rgba(59,130,246,0.15)}
@media (max-width:768px){.lp-hero-inner{padding:56px 20px 60px;gap:40px}.lp-hero h1{font-size:2.3em}.lp-hero-img img{max-width:280px}}
/* Video */
.lp-video-section{background:#fff;border-bottom:1px solid #E5E7EB}
.lp-video-inner{max-width:860px;margin:0 auto;padding:70px 20px;text-align:center}
.lp-video-inner h2{font-size:1.6em;font-weight:700;margin:0 0 22px}
.video-container{position:relative;padding-top:56.25%;border-radius:10px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,0.15)}
.video-container iframe{border:none;position:absolute;top:0;left:0;height:100%;width:100%}
/* Curriculum / table of contents */
.lp-curriculum{background:#fff}
.lp-curriculum-inner{max-width:1100px;margin:0 auto;padding:80px 20px;display:flex;gap:70px;flex-wrap:wrap}
.lp-curriculum-head{flex:0 1 300px}
.lp-curriculum-sticky{position:sticky;top:40px}
.lp-curriculum-head h2{font-size:2.2em;font-weight:700;margin:0 0 16px;line-height:1.15}
.lp-curriculum-head p{font-size:1em;line-height:1.65;color:#4B5563;margin:0 0 22px;text-wrap:pretty}
.lp-curriculum-head a{font-weight:700;text-decoration:none;color:#3B82F6}
.lp-curriculum-head a:hover{color:#2563EB}
.lp-modules{flex:1 1 500px}
.lp-module{border-bottom:1px solid #E5E7EB}
.lp-module summary{display:flex;gap:26px;align-items:baseline;padding:22px 0;cursor:pointer;list-style:none}
.lp-module summary::-webkit-details-marker{display:none}
.lp-module-num{font-family:'JetBrains Mono',monospace;font-size:0.9em;color:#3B82F6;font-weight:700;flex-shrink:0}
.lp-module-body{flex:1}
.lp-module h3{font-size:1.15em;margin:0 0 5px;line-height:1.35}
.lp-module-blurb{font-size:0.92em;line-height:1.55;color:#6B7280;margin:0;text-wrap:pretty}
.lp-module-count{font-size:0.8em;color:#9CA3AF;flex-shrink:0;font-family:'JetBrains Mono',monospace}
.lp-lessons{margin:0 0 20px;padding:0 0 0 56px;list-style:none;display:flex;flex-direction:column;gap:7px}
.lp-lessons li{font-size:0.9em;color:#4B5563;line-height:1.4}
.lp-lessons li::before{content:'·';color:#3B82F6;font-weight:700;margin-right:8px}
.lp-modules-note{font-size:0.8em;color:#9CA3AF;margin:14px 0 0;text-align:right;font-family:'JetBrains Mono',monospace}
/* Projects / what you'll learn */
.lp-projects{background:#f0f7ff;border-top:1px solid #E5E7EB;border-bottom:1px solid #E5E7EB}
.lp-projects-inner{max-width:1100px;margin:0 auto;padding:70px 20px}
.lp-projects-inner h2{font-size:2.2em;font-weight:700;margin:0 0 35px;line-height:1.15;max-width:20em}
.lp-projects-grid{display:flex;gap:0;flex-wrap:wrap}
.lp-project{flex:1 1 250px;padding:0 40px 20px 28px;border-left:1px solid #E5E7EB;margin-bottom:20px}
.lp-project-num{font-family:'JetBrains Mono',monospace;font-size:0.85em;color:#3B82F6;font-weight:700;display:block;margin-bottom:10px}
.lp-project h3{font-size:1.1em;margin:0 0 8px;line-height:1.35}
.lp-project p{font-size:0.92em;line-height:1.6;color:#4B5563;margin:0;text-wrap:pretty}
/* Reader quotes */
.lp-quotes{background:#fff;border-bottom:1px solid #E5E7EB}
.lp-quotes-inner{max-width:1100px;margin:0 auto;padding:70px 20px}
.lp-quotes-inner h2{font-size:2.2em;font-weight:700;margin:0 0 35px;line-height:1.15}
.lp-quotes-grid{display:flex;gap:0;flex-wrap:wrap}
.lp-quote{flex:1 1 280px;padding:0 40px 20px 28px;border-left:1px solid #E5E7EB;margin-bottom:20px}
.lp-quote blockquote{font-size:1.02em;line-height:1.65;color:#374151;margin:0 0 18px;font-style:italic;text-wrap:pretty}
.lp-quote-author{display:flex;align-items:center;gap:12px}
.lp-quote-author img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.lp-quote-author strong{display:block;font-size:0.95em;color:#111827}
.lp-quote-author span{display:block;font-size:0.82em;color:#6B7280}
.lp-quote-author a{font-size:0.8em;color:#3B82F6;text-decoration:none;font-weight:700}
.lp-quote-author a:hover{color:#2563EB}
/* Guarantee band */
.lp-guarantee{background:#059669}
.lp-guarantee-inner{max-width:1100px;margin:0 auto;padding:56px 20px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.lp-guarantee h2{font-size:1.8em;font-weight:700;color:#fff;margin:0 0 8px}
.lp-guarantee p{font-size:1em;color:rgba(255,255,255,0.85);margin:0;line-height:1.6}
.lp-guarantee p a{color:#fff}
.cta-white{display:inline-block;background:#fff;color:#059669;padding:15px 30px;border-radius:8px;font-size:1.05em;font-weight:bold;text-decoration:none;box-shadow:0 4px 15px rgba(0,0,0,0.15);transition:all 0.3s;border:none;cursor:pointer;font-family:'Roboto',sans-serif}
.cta-white:hover{background:#fbbf24;color:#111827;transform:translateY(-2px)}
/* Why + author */
.lp-why{background:#fff}
.lp-why-inner{max-width:1100px;margin:0 auto;padding:80px 20px;display:flex;gap:70px;flex-wrap:wrap}
.lp-why-copy{flex:1 1 440px}
.lp-why-copy h2{font-size:1.7em;font-weight:700;margin:0 0 14px;line-height:1.25}
.lp-why-copy p{font-size:0.98em;line-height:1.65;color:#4B5563;margin:0 0 10px;text-wrap:pretty}
.lp-author{flex:1 1 340px;border-left:1px solid #E5E7EB;padding-left:50px}
.lp-author img{width:96px;height:96px;border-radius:50%;object-fit:cover;margin-bottom:16px;box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.lp-author h3{font-size:1.2em;margin:0 0 10px}
.lp-author p{font-size:0.92em;line-height:1.6;color:#4B5563;margin:0 0 12px;text-wrap:pretty}
.lp-author-links{display:flex;gap:14px}
.lp-author-links a{color:#6B7280}
.lp-author-links a:hover{color:#3B82F6}
.lp-author-links svg{width:22px;height:22px;fill:currentColor}
@media (max-width:900px){.lp-author{border-left:none;padding-left:0}}
/* FAQ */
.lp-faq{background:#f0f7ff;border-top:1px solid #E5E7EB}
.lp-faq-inner{max-width:720px;margin:0 auto;padding:80px 20px}
.lp-faq-inner h2{font-size:2.2em;font-weight:700;margin:0 0 30px}
.lp-faq details{border-bottom:1px solid #E5E7EB}
.lp-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;padding:20px 0;font-size:1.05em;font-weight:700;color:#111827;list-style:none}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary span{font-size:0.7em;color:#3B82F6;transition:transform 0.2s ease;flex-shrink:0}
.lp-faq details[open] summary span{transform:rotate(180deg)}
.lp-faq details p{margin:0;padding:0 40px 20px 0;font-size:0.98em;line-height:1.65;color:#4B5563}
/* Final CTA */
.lp-final{background:#111827}
.lp-final-inner{max-width:720px;margin:0 auto;padding:80px 20px;text-align:center}
.lp-final h2{font-size:2.2em;font-weight:700;color:#fff;margin:0 0 12px;text-wrap:balance}
.lp-final p{font-size:1.05em;color:#9CA3AF;margin:0 0 30px;line-height:1.6}
/* Cross-sell */
.lp-cross{background:#fff;border-bottom:1px solid #E5E7EB}
.lp-cross-inner{max-width:1100px;margin:0 auto;padding:60px 20px;display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.lp-cross img{width:150px;border-radius:6px;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.lp-cross-body{flex:1 1 300px}
.lp-cross h3{font-size:1.4em;margin:0 0 8px;line-height:1.3}
.lp-cross p{font-size:0.95em;color:#4B5563;line-height:1.6;margin:0 0 14px;max-width:44em;text-wrap:pretty}
.lp-cross a.lp-cross-link{font-weight:700;text-decoration:none;color:#3B82F6}
.lp-cross a.lp-cross-link:hover{color:#2563EB}
button.lp-cross-link{font-weight:700;color:#3B82F6;background:none;border:none;padding:0;cursor:pointer;font-size:1em;font-family:'Roboto',sans-serif}
button.lp-cross-link:hover{color:#2563EB}
