/* Tư Duy Rõ — Editorial design system (adapted from Intercom / Warm Cream Editorial via Refero Styles) */
:root{
  --canvas:#FAF9F6;
  --linen:#F1EEE9;
  --ink:#111111;
  --ink-soft:#585858;
  --hairline:#DED9D2;
  --highlight:#E8E23A;
  --highlight-soft:#F2ED75;
  --white:#FFFFFF;
  --radius:4px;
  --max-w:1200px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  font-family:'Be Vietnam Pro', system-ui, sans-serif;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 24px;}
section{padding:80px 0;}
@media (min-width:900px){ section{padding:96px 0;} }

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:20px;
}
.eyebrow .dot{width:8px;height:8px;background:var(--highlight);border-radius:2px;flex:none;}

h1,h2,h3{margin:0 0 20px 0;font-weight:500;letter-spacing:-0.01em;}
h1{font-size:clamp(40px,6vw,80px);line-height:1.04;font-weight:500;letter-spacing:-0.02em;}
h2{font-size:clamp(30px,4vw,50px);line-height:1.12;}
h3{font-size:clamp(20px,2.4vw,28px);line-height:1.25;font-weight:600;}
p{font-size:17px;color:var(--ink-soft);margin:0 0 16px 0;}
p.lead{font-size:18px;line-height:1.6;}

mark{
  background:var(--highlight);
  color:var(--ink);
  padding:0 6px;
  border-radius:var(--radius);
  font-weight:600;
}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 24px;border-radius:var(--radius);
  font-weight:600;font-size:15px;white-space:nowrap;
  border:1px solid transparent;cursor:pointer;
  font-family:inherit;
}
.btn-primary{background:var(--ink);color:var(--white);}
.btn-primary:hover{background:#000;}
.btn-ghost{background:transparent;color:var(--ink);border-bottom:1px solid var(--ink);border-radius:0;padding:14px 0;}
.btn-invert{background:var(--canvas);color:var(--ink);}
.btn-invert:hover{background:var(--white);}

.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:8px;}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(250,249,246,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--hairline);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px;}
.logo{font-weight:700;font-size:18px;letter-spacing:.02em;}
.nav-links{display:none;align-items:center;gap:32px;font-size:15px;font-weight:500;}
.nav-links a:hover{color:var(--ink-soft);}
.header-actions{display:flex;align-items:center;gap:20px;}
.header-actions .btn{padding:10px 18px;font-size:14px;}
.nav-toggle{display:inline-flex;background:none;border:none;cursor:pointer;padding:4px;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;}
@media (min-width:860px){
  .nav-links{display:flex;}
  .nav-toggle{display:none;}
}
.mobile-panel{display:none;border-top:1px solid var(--hairline);background:var(--canvas);}
.mobile-panel.open{display:block;}
.mobile-panel .wrap{flex-direction:column;align-items:flex-start;gap:18px;padding:20px 24px;}
.mobile-panel a{font-size:16px;font-weight:500;}

/* Hero */
.hero .wrap{display:grid;gap:56px;padding-top:64px;padding-bottom:16px;}
@media (min-width:960px){
  .hero .wrap{grid-template-columns:1.1fr .9fr;align-items:center;padding-top:96px;}
}
/* Hero với 1 cột nội dung duy nhất (không có ảnh/diagram bên phải) - vd. landing page ebook */
.hero-single .wrap{display:block;}
.hero-visual{
  background:var(--linen);
  border:1px solid var(--hairline);
  border-radius:var(--radius);
  padding:40px 32px;
}
.flow{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;}
.flow-step{
  font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-soft);padding:14px 0;
}
.flow-step.big{font-size:20px;color:var(--ink);}
.flow-step.final{
  font-size:16px;color:var(--ink);background:var(--white);
  border:1px solid var(--hairline);border-radius:var(--radius);
  padding:14px 20px;margin-top:8px;font-weight:600;
}
.flow-arrow{font-size:16px;color:var(--hairline);line-height:1;}

/* Sections */
.section-linen{background:var(--linen);}

/* Cards (pain grid / knowledge base / feature grid) */
.card-grid{display:grid;gap:20px;grid-template-columns:1fr;margin-top:48px;}
@media (min-width:700px){ .card-grid.cols-2{grid-template-columns:1fr 1fr;} }
@media (min-width:700px){ .card-grid.cols-3{grid-template-columns:1fr 1fr;} }
@media (min-width:1000px){ .card-grid.cols-3{grid-template-columns:1fr 1fr 1fr;} }
.card{
  background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius);
  padding:32px;
}
.section-linen .card{background:var(--canvas);}
.card h3{margin-bottom:12px;}
.card p{margin-bottom:0;}
.arrow-link{font-weight:600;font-size:15px;display:inline-block;margin-top:8px;}

/* Manifesto / narrow centered block */
.narrow{max-width:760px;margin:0 auto;}
.narrow.center{text-align:center;}
.big-line{font-size:clamp(24px,3.2vw,34px);font-weight:500;line-height:1.4;margin:32px 0;}
.chip-list{list-style:none;padding:0;margin:32px 0;display:flex;flex-wrap:wrap;gap:12px;}
.narrow.center .chip-list{justify-content:center;}
.chip-list li{
  border:1px solid var(--hairline);border-radius:var(--radius);
  padding:8px 16px;font-size:14px;color:var(--ink-soft);
}
.closing{font-size:19px;font-weight:600;color:var(--ink);margin-top:32px;}

/* Pillars / numbered features */
.pillar-grid{display:grid;gap:40px;grid-template-columns:1fr;margin-top:48px;}
@media (min-width:800px){ .pillar-grid{grid-template-columns:repeat(3,1fr);} }
.index-tag{
  display:inline-block;background:var(--highlight);color:var(--ink);
  font-size:13px;font-weight:700;border-radius:var(--radius);
  padding:3px 9px;margin-bottom:16px;
}
.pillar h3{text-transform:uppercase;font-size:18px;letter-spacing:.02em;}

/* Product / cover */
.product-grid{display:grid;gap:48px;grid-template-columns:1fr;align-items:center;}
@media (min-width:900px){ .product-grid{grid-template-columns:.8fr 1.2fr;} }
.book-cover{
  background:var(--ink);color:var(--canvas);
  border-radius:var(--radius);
  padding:48px 32px;
  aspect-ratio:3/4;
  display:flex;flex-direction:column;justify-content:space-between;
  max-width:340px;margin:0 auto;
}
.book-cover .brand{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--highlight-soft);}
.book-cover .title{font-size:clamp(24px,3vw,32px);font-weight:500;line-height:1.2;}
.book-cover .sub{font-size:13px;color:#c9c9c9;}
.check-list{list-style:none;padding:0;margin:24px 0;}
.check-list li{
  padding-left:26px;position:relative;margin-bottom:12px;color:var(--ink-soft);font-size:16px;
}
.check-list li::before{
  content:"";position:absolute;left:0;top:8px;width:10px;height:10px;
  background:var(--highlight);border-radius:2px;
}
.price-row{display:flex;align-items:center;gap:24px;margin-top:28px;flex-wrap:wrap;}
.price{font-size:32px;font-weight:600;}

/* Knowledge base CTA link */
.text-cta{display:inline-block;margin-top:40px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:2px;}

/* Trust / goal line */
.trust ul{padding-left:20px;color:var(--ink-soft);}
.trust li{margin-bottom:10px;}
.goal-line{font-weight:600;color:var(--ink);font-size:18px;margin-top:24px;}

/* Final CTA (dark) */
.final-cta{background:var(--ink);color:var(--canvas);text-align:center;}
.final-cta p{color:#c9c9c9;}
.final-cta h2{color:var(--canvas);}
.final-cta .book-title{font-size:22px;font-weight:600;margin-top:24px;}
.final-cta .price{color:var(--canvas);}
.final-cta .cta-row{justify-content:center;}

/* Footer */
footer{border-top:1px solid var(--hairline);padding:56px 0 40px 0;}
.footer-top{display:flex;flex-direction:column;gap:32px;}
@media (min-width:800px){ .footer-top{flex-direction:row;justify-content:space-between;align-items:flex-start;} }
.footer-links, .footer-legal{display:flex;flex-wrap:wrap;gap:20px;font-size:14px;color:var(--ink-soft);}
.footer-tagline{color:var(--ink-soft);font-size:15px;margin-top:6px;}
.footer-bottom{margin-top:40px;padding-top:24px;border-top:1px solid var(--hairline);font-size:13px;color:var(--ink-soft);}

/* ============================================================ */
/* Long-form / landing-page-only components                     */
/* ============================================================ */

/* Minimal header for a dedicated sales landing page (logo + single CTA, no nav) */
.header-minimal .wrap{justify-content:space-between;}

/* Quote chip — a short quoted "false diagnosis" or question, shown as a tag-like line */
.quote-list{list-style:none;padding:0;margin:28px 0;display:flex;flex-direction:column;gap:10px;}
.quote-list li{
  border-left:2px solid var(--highlight);
  padding:6px 0 6px 18px;
  font-size:17px;color:var(--ink);font-style:italic;
}

/* Simple bullet list with square marker, editorial style */
.dash-list{list-style:none;padding:0;margin:20px 0;}
.dash-list li{
  padding-left:20px;position:relative;margin-bottom:10px;color:var(--ink-soft);font-size:16px;
}
.dash-list li::before{
  content:"—";position:absolute;left:0;color:var(--ink-soft);
}

/* Numbered feature block (Desire section: 6 sub-arguments) */
.feature-block{padding:32px 0;border-top:1px solid var(--hairline);}
.feature-block:first-of-type{border-top:none;}
.feature-block h3{margin-bottom:10px;}

/* Reflex flow (vertical step diagram, reused pattern from hero) */
.reflex-flow{
  background:var(--canvas);
  border:1px solid var(--hairline);
  border-radius:var(--radius);
  padding:40px 32px;
  max-width:480px;margin:40px auto 0 auto;
}

/* Concept pairs grid ("X ≠ Y") */
.pair-grid{display:grid;gap:16px;grid-template-columns:1fr;margin-top:40px;}
@media (min-width:700px){ .pair-grid{grid-template-columns:1fr 1fr;} }
.pair{
  display:flex;align-items:center;gap:12px;
  border:1px solid var(--hairline);border-radius:var(--radius);
  padding:16px 20px;font-size:16px;background:var(--canvas);
}
.pair .ne{color:var(--ink-soft);font-weight:700;}

/* Pull quote (metaphor / key line callout) */
.pull-quote{
  font-size:clamp(20px,2.6vw,26px);
  font-weight:500;line-height:1.5;
  border-left:3px solid var(--highlight);
  padding-left:24px;margin:32px 0;
}

/* Anti-claims list ("Ebook này không phải...") */
.anti-list{list-style:none;padding:0;margin:32px 0;display:flex;flex-direction:column;gap:24px;}
.anti-list h3{font-size:18px;margin-bottom:6px;}
.anti-list p{margin-bottom:0;font-size:15px;}

/* Framework tags (credibility section) */
.tag-row{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0;}
.tag{
  border:1px solid var(--hairline);border-radius:var(--radius);
  padding:6px 14px;font-size:13px;font-weight:600;letter-spacing:.02em;
  color:var(--ink-soft);background:var(--white);
}

/* Numbered checklist (7 questions to remember) */
.numbered-list{list-style:none;padding:0;margin:24px 0;counter-reset:num;}
.numbered-list li{
  counter-increment:num;
  padding-left:36px;position:relative;margin-bottom:14px;color:var(--ink);font-size:16px;font-weight:500;
}
.numbered-list li::before{
  content:counter(num);
  position:absolute;left:0;top:-2px;
  width:24px;height:24px;border-radius:var(--radius);
  background:var(--highlight);color:var(--ink);
  font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;
}

/* FAQ accordion (native details/summary) */
.faq-item{border-top:1px solid var(--hairline);}
.faq-item:last-child{border-bottom:1px solid var(--hairline);}
.faq-item summary{
  padding:22px 0;font-size:17px;font-weight:600;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:22px;font-weight:400;color:var(--ink-soft);flex:none;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{padding-bottom:22px;margin:0;}

/* Checkout box */
.checkout-box{
  max-width:520px;margin:0 auto;text-align:center;
  background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius);
  padding:48px 32px;
}
.checkout-box .price{display:block;margin:8px 0 24px 0;}
.checkout-note{
  margin-top:16px;font-size:14px;color:var(--ink-soft);
  border:1px solid var(--hairline);border-radius:var(--radius);
  padding:12px 16px;background:var(--linen);
}
.micro{font-size:13px;color:var(--ink-soft);margin-top:16px;}
