:root{--ink:#422a20;--brown:#6b3f2b;--brick:#a34f32;--gold:#d9a441;--paper:#f7f1e7;--white:#fffdf9;--muted:#766257;--line:#e5d6c3;--soft:#ead8bd;--shadow:0 18px 50px rgba(75,47,37,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65}a{color:inherit}.shell{width:min(1120px,calc(100% - 36px));margin:auto}
.site-header{position:sticky;top:0;z-index:15;background:rgba(247,241,231,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(229,214,195,.75)}.topbar{min-height:74px;display:flex;align-items:center;gap:28px}.brand{font-weight:900;letter-spacing:-.045em;font-size:1.2rem;text-decoration:none;white-space:nowrap}.brand span{color:var(--brick)}.main-nav{display:flex;align-items:center;gap:20px;margin-left:auto}.main-nav a{text-decoration:none;color:var(--muted);font-weight:750;font-size:.92rem}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:10px}.search-link,.zalo-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border-radius:999px;text-decoration:none;font-weight:850;font-size:.9rem}.search-link{border:1px solid var(--line);background:var(--white)}.zalo-link{background:var(--ink);color:#fff}.nav-toggle{display:none;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:10px;width:44px;height:42px;font-size:1.25rem}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#4b2f25 0%,#6b3f2b 58%,#7d4630 100%);color:white;border-radius:28px;padding:66px 60px 54px;box-shadow:var(--shadow);margin-top:28px}.hero:after{content:"NT";position:absolute;right:-20px;bottom:-84px;font-size:18rem;line-height:1;font-weight:900;letter-spacing:-.12em;color:rgba(255,236,199,.045);pointer-events:none}.eyebrow{display:flex;align-items:center;gap:10px;color:#ead8bd;font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.eyebrow:before{content:"";width:28px;height:3px;background:var(--gold);border-radius:9px}.hero h1{font-size:clamp(2.55rem,7vw,5.6rem);line-height:.98;letter-spacing:-.065em;margin:24px 0 24px;max-width:830px}.hero h1 em{font-style:normal;color:#f2c866}.hero-copy{max-width:690px;color:#eadfd3;font-size:1.1rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:999px;text-decoration:none;font-weight:850;transition:.2s ease;border:0;font:inherit;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--gold);color:#3d281f}.btn-secondary{border:1px solid rgba(255,244,223,.36);color:white}.proof{display:flex;gap:12px 26px;flex-wrap:wrap;margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,244,223,.18);color:#dfcdbb;font-size:.91rem}.proof b{color:white}
.search-panel{position:relative;z-index:2;margin-top:30px;max-width:760px}.search-form{display:flex;gap:10px;background:var(--white);border:1px solid var(--line);padding:8px;border-radius:18px;box-shadow:var(--shadow)}.search-form input{min-width:0;flex:1;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1rem;padding:0 12px;outline:0}.search-form button{min-height:48px;border:0;border-radius:12px;padding:0 20px;background:var(--gold);color:#3d281f;font:inherit;font-weight:850;cursor:pointer}.search-hint{margin:9px 4px 0;color:var(--muted);font-size:.86rem}.hero .search-hint{color:#dccab8}
section{padding-top:76px}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:28px}.section-head h2,.page-hero h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;letter-spacing:-.048em;margin:0}.section-head p,.page-hero p{margin:0;color:var(--muted);max-width:650px}.section-link{display:inline-block;margin-top:16px;font-weight:850;color:var(--brown);text-decoration:none}.section-link:hover{text-decoration:underline;text-underline-offset:4px}
.page-hero{padding:62px 0 18px}.page-hero .eyebrow{color:var(--brick)}.page-hero h1{margin:16px 0 16px;max-width:850px}.page-hero p{font-size:1.05rem}.breadcrumb{padding-top:26px;color:var(--muted);font-size:.88rem}.breadcrumb a{text-decoration:none;font-weight:750}.breadcrumb a:hover{text-decoration:underline}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{display:flex;min-height:250px;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:25px;text-decoration:none;transition:.2s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#c9aa83}.card-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--brick);font-weight:850;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.card h3{font-size:1.34rem;line-height:1.2;letter-spacing:-.025em;margin:28px 0 10px}.card p{color:var(--muted);margin:0}.card-link{margin-top:auto;padding-top:22px;font-weight:850;color:var(--brown)}.card-muted{opacity:.72}.card-muted:hover{transform:none;box-shadow:none;border-color:var(--line)}
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.path{padding:30px;border-radius:22px;border:1px solid var(--line);background:var(--white);text-decoration:none}.path strong{display:block;font-size:1.45rem;line-height:1.2;margin-bottom:8px}.path span{color:var(--muted)}.path:hover{box-shadow:var(--shadow)}
.community-section{padding-top:34px}.community-panel{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:28px}.community-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:18px}.community-head h2{font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.1;letter-spacing:-.04em;margin:0}.community-head p{max-width:520px;color:var(--muted);margin:0}.community-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.community-card{position:relative;min-height:190px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--paper);display:flex;flex-direction:column}.community-card:before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;border-radius:0 0 8px 8px;background:var(--gold)}.community-kicker{color:var(--brick);font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.community-card h3{font-size:1.24rem;line-height:1.2;margin:24px 0 8px}.community-card p{color:var(--muted);font-size:.92rem;margin:0}.community-status{align-self:flex-start;margin-top:auto;padding-top:18px;color:var(--brown);font-size:.82rem;font-weight:850}
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px}.portrait{min-height:370px;margin:0;border-radius:22px;background:var(--soft);position:relative;overflow:hidden;box-shadow:var(--shadow)}.portrait img{display:block;width:100%;height:100%;min-height:370px;object-fit:cover;object-position:center 34%}.about-copy{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:34px}.about-copy h2{font-size:2.2rem;line-height:1.1;letter-spacing:-.04em;margin:0 0 20px}.about-copy p{color:var(--muted)}.principles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.principle{padding:15px;border-radius:14px;background:var(--paper);font-weight:750}.principle small{display:block;color:var(--brick);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.filter{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:999px;min-height:42px;padding:0 16px;font:inherit;font-weight:750;cursor:pointer}.filter[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.result-list{display:grid;gap:12px;margin-top:26px}.result{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px;border-radius:18px;background:var(--white);border:1px solid var(--line);text-decoration:none}.result:hover{border-color:#c9aa83;box-shadow:var(--shadow)}.result-type{color:var(--brick);font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.result h2{font-size:1.18rem;margin:0 0 3px}.result p{margin:0;color:var(--muted);font-size:.92rem}.result-arrow{font-weight:900}.empty-state{padding:44px 28px;border:1px dashed #cdbba5;border-radius:20px;text-align:center;color:var(--muted);background:rgba(255,253,249,.55)}
.prose{max-width:780px}.prose h2{font-size:1.65rem;line-height:1.2;margin:40px 0 12px}.prose h3{font-size:1.2rem;line-height:1.3;margin:28px 0 8px}.prose p,.prose li{color:#5f4d43}.prose ul{padding-left:22px}.prose li+li{margin-top:8px}.prose a{font-weight:750}.prose-lead{font-size:1.12rem;line-height:1.75}.prose-lead strong{color:var(--ink)}.profile-story{padding-bottom:4px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:28px}.info-card h2{font-size:1.35rem;margin:0 0 10px}.info-card p{color:var(--muted);margin:0}.info-card a{font-weight:850}
.join{margin:76px 0 26px;background:var(--soft);border:1px solid #dcc39d;border-radius:24px;padding:40px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.join h2{font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.05em;line-height:1.05;margin:0 0 12px}.join p{margin:0;color:#6b5142}.join .btn{background:var(--ink);color:white}
.site-footer{margin-top:72px;border-top:1px solid var(--line)}.footer-inner{padding:30px 0 40px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}.footer-brand{font-weight:900}.footer-note{color:var(--muted);font-size:.88rem;margin:5px 0 0}.footer-links{display:flex;gap:12px 20px;flex-wrap:wrap;justify-content:flex-end}.footer-links a{text-decoration:none;font-weight:750;font-size:.9rem}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:20;width:48px;height:48px;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:var(--ink);color:#fff;font:900 1.35rem/1 Inter,ui-sans-serif,system-ui,sans-serif;box-shadow:0 10px 28px rgba(66,42,32,.25);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .2s ease}.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--brick);transform:translateY(-2px)}.back-to-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){.main-nav{display:none;position:absolute;top:74px;left:18px;right:18px;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;order:4}.main-nav[data-open=true]{display:flex}.header-actions{order:2;margin-left:auto}.nav-toggle{display:block;order:3;margin-left:0}.header-actions .zalo-link{display:none}.hero{padding:48px 26px 38px}.hero h1{font-size:clamp(2.7rem,12vw,4.3rem)}.section-head,.about,.join{grid-template-columns:1fr}.community-head{display:block}.community-head p{margin-top:10px}.grid{grid-template-columns:1fr 1fr}.footer-inner{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:620px){.shell{width:min(100% - 24px,1120px)}.topbar{min-height:66px}.main-nav{top:66px;left:12px;right:12px}.search-link{padding:0 12px}.hero{margin-top:14px;border-radius:22px;padding:40px 22px 30px}.hero h1{font-size:2.85rem}.hero-actions .btn{width:100%}.search-form{display:grid}.search-form button{width:100%}.section-head,.path-grid,.grid,.info-grid,.community-grid{grid-template-columns:1fr}.community-panel{padding:22px 18px}.community-card{min-height:170px}.card{min-height:220px}.portrait{min-height:310px}.principles{grid-template-columns:1fr}.join{padding:28px 22px}.join .btn{width:100%}.result{grid-template-columns:1fr}.result-arrow{display:none}.back-to-top{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.back-to-top{transition:none}}

/* Wine-red visual system — approved production theme. */
:root{
  --ink:#3b1118;
  --brown:#671b27;
  --brick:#982b3b;
  --gold:#c59a46;
  --paper:#fbf6f2;
  --white:#fffdfb;
  --muted:#755f62;
  --line:#ead7d8;
  --soft:#f3e2e1;
  --shadow:0 18px 50px rgba(91,23,27,.12)
}
.site-header{background:rgba(251,246,242,.94);border-bottom-color:rgba(234,215,216,.78)}
.hero{background:linear-gradient(135deg,#4b0f19 0%,#641723 52%,#842533 100%)}
.hero:after{color:rgba(255,231,211,.055)}
.eyebrow{color:#efd6d0}
.hero-copy{color:#f0dddd}
.proof{border-top-color:rgba(255,239,229,.2);color:#ead4d3}
.card:hover,.result:hover{border-color:#cda5aa}
.community-card{background:linear-gradient(145deg,#fffaf7 0%,#f8ecea 100%)}
.about-copy{background:linear-gradient(145deg,#fffdfb 0%,#fbefed 100%)}
.principle{background:linear-gradient(145deg,#fbf6f2 0%,#f4e3e2 100%)}
.empty-state{border-color:#cfadb1;background:linear-gradient(145deg,rgba(255,253,251,.86),rgba(248,236,234,.72))}
.join{background:linear-gradient(135deg,#f4e4e2 0%,#ecd2d3 100%);border-color:#dfc0c3}

body{background:#fcf8f3}
.shell{width:min(1160px,calc(100% - 36px))}
.site-header{background:rgba(252,248,243,.96);box-shadow:0 1px 0 rgba(91,23,27,.04)}
.topbar{min-height:68px;gap:24px}
.brand{display:inline-flex;align-items:center;gap:8px;letter-spacing:0}
.brand img{width:42px;height:42px;object-fit:contain}
.brand-copy{display:grid;gap:0;line-height:1.05;color:var(--brick)!important}
.brand-copy b{font-size:1rem;letter-spacing:-.02em}
.brand-copy small{font-size:.58rem;font-weight:750;color:#8a4f4f;letter-spacing:0}
.main-nav{margin-left:auto;margin-right:auto;gap:30px}
.main-nav a{position:relative;color:#4d3032;font-size:.88rem}
.main-nav a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:2px;background:#d62323;border-radius:3px}
.header-actions{min-width:280px;justify-content:flex-end}
.search-link{width:260px;justify-content:flex-start;gap:9px;min-height:38px;padding:0 14px;background:#f7f0e9;border-color:#eaded4;color:#8b7772;font-weight:600;font-size:.8rem}
.search-link>span:first-child{font-size:1.35rem;line-height:1;color:#351b1e}
.nav-toggle{border:0;background:transparent;font-size:1.35rem}
.hero{margin-top:18px;border-radius:8px;padding:42px 62px 30px;background:linear-gradient(125deg,#651119 0%,#851e20 58%,#9c2d22 100%);box-shadow:0 14px 34px rgba(93,20,28,.16)}
.eyebrow{position:relative;z-index:1;color:#e9cfc9;font-size:.72rem;letter-spacing:.22em}
.eyebrow:before{display:none}
.hero h1{position:relative;z-index:1;font-size:clamp(2.8rem,5.5vw,4.75rem);line-height:1.01;letter-spacing:-.058em;max-width:900px;margin:18px 0 16px}
.hero h1 em{color:#d6a62f}
.hero h1>span,.hero h1 em{white-space:nowrap}
.hero-copy{position:relative;z-index:1;max-width:650px;color:#f4dfda;font-size:1rem;line-height:1.55}
.proof{position:relative;z-index:1;max-width:720px;margin-top:22px;padding-top:18px;justify-content:space-between;color:#f0dcda}
.proof span{display:grid;line-height:1.25}
.hero:after{display:none}
.community-section{padding-top:12px}
.community-panel{padding:0;background:transparent;border:0;border-radius:0}
.community-grid{gap:14px}
.community-card{min-height:72px;padding:13px 16px;border-radius:9px;background:linear-gradient(145deg,#fffdf9 0%,#f5eee7 100%);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;box-shadow:0 7px 20px rgba(78,39,31,.05)}
.community-card:before{display:none}
.zalo-badge{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:linear-gradient(145deg,#e72821,#b90f15);color:#fff;font-size:.75rem;font-weight:900}
.community-content{min-width:0}
.community-card h3{font-size:1rem;line-height:1.1;margin:0 0 4px;color:#2c2020}
.community-card p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;line-height:1.3}
.community-status{margin:0;padding:0;font-size:.68rem;color:#9a6d62;white-space:nowrap}
section{padding-top:64px}
.path,.card,.about-copy,.portrait,.join,.empty-state{border-radius:12px}
.path,.card{box-shadow:0 7px 22px rgba(78,39,31,.035)}
.site-footer{background:#f7f0e8}

.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:150px;padding:24px;background:var(--white);border:1px solid var(--line);border-radius:18px;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.contact-card:hover{transform:translateY(-3px);border-color:#cda5aa;box-shadow:var(--shadow)}
.channel-logo{display:grid;place-items:center;width:58px;height:58px;border-radius:15px;color:#fff;font-weight:900;line-height:1;box-shadow:0 8px 20px rgba(42,20,22,.13)}
.channel-zalo{background:#0869ff;font-size:.8rem;letter-spacing:-.04em}
.channel-phone{background:linear-gradient(145deg,#f04438,#c9151e);font-size:1.55rem}
.channel-youtube{position:relative;background:#ff0000}
.channel-youtube i{display:block;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:15px solid #fff;margin-left:4px}
.channel-tiktok{background:#111}
.channel-tiktok svg{width:29px;height:29px;fill:#fff;filter:drop-shadow(-1.5px 0 #25f4ee) drop-shadow(1.5px 0 #fe2c55)}
.channel-facebook{background:#1877f2;font:900 2rem/1 Arial,sans-serif;padding-top:10px}
.channel-copy{display:grid;min-width:0}
.channel-copy strong{font-size:1.2rem;line-height:1.2;color:var(--ink)}
.channel-copy span{margin-top:5px;color:var(--muted);font-size:.92rem}
.channel-copy small{margin-top:12px;color:var(--brick);font-size:.82rem;font-weight:850;overflow-wrap:anywhere}
.channel-arrow{font-size:1.25rem;color:var(--brick)}

@media(max-width:900px){
  .main-nav{margin:0}
  .header-actions{min-width:auto}
  .search-link{width:44px;padding:0;justify-content:center;background:transparent;border:0}
  .search-label{display:none}
  .hero{padding:42px 28px 32px}
}
@media(max-width:700px){
  .contact-grid{grid-template-columns:1fr}
  .contact-card{min-height:126px;padding:20px;gap:15px}
  .channel-logo{width:52px;height:52px;border-radius:13px}
}
@media(max-width:620px){
  .shell{width:min(100% - 24px,1160px)}
  .topbar{gap:5px}
  .brand{margin-right:auto}
  .brand img{width:38px;height:38px}
  .brand-copy b{font-size:.9rem}
  .brand-copy small{font-size:.52rem}
  .hero{margin-top:10px;border-radius:8px;padding:34px 22px 24px}
  .hero h1{font-size:2.7rem;max-width:100%;letter-spacing:-.055em}
  .hero h1>span{white-space:normal}
  .hero-copy{font-size:.93rem}
  .proof{display:grid;gap:12px;margin-top:20px}
  .community-grid{gap:8px}
  .community-panel{padding:0}
  .community-card{min-height:66px;padding:11px 12px;grid-template-columns:auto minmax(0,1fr) auto}
  .community-status{font-size:0;width:18px;height:18px}
  .community-status:after{content:"›";font-size:1.35rem;color:#3b1118}
  section{padding-top:56px}
}

/* Shared resource-page contract.
   New ebooks only need the resource-page/resource-* hooks used by the
   canonical template; these rules keep long titles and covers responsive. */
.resource-page .resource-hero{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
}
.resource-page .resource-hero>*{
  min-width:0;
}
.resource-page .resource-hero h1,
.resource-page .resource-hero .resource-description,
.resource-page .resource-hero .resource-meta{
  max-width:100%;
}
.resource-page .resource-title-accent{
  white-space:normal;
  overflow-wrap:break-word;
}
.resource-page .resource-description{
  overflow-wrap:anywhere;
}
.resource-page .resource-meta{
  display:flex;
  flex-wrap:wrap;
}
.resource-page .resource-meta>span{
  min-width:0;
}
.resource-page .resource-cover,
.resource-page .resource-cover picture{
  display:block;
  width:100%;
  min-width:0;
}
.resource-page .resource-cover img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

@media(max-width:820px){
  .resource-page .resource-hero{
    grid-template-columns:minmax(0,1fr);
  }
  .resource-page .resource-hero h1{
    font-size:clamp(2.35rem,11.5vw,3.35rem);
    line-height:1.02;
    letter-spacing:-.052em;
    overflow-wrap:anywhere;
  }
  .resource-page .resource-title-accent{
    white-space:normal;
  }
  .resource-page .resource-meta{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
    gap:10px 16px;
  }
  .resource-page .resource-cover{
    transform:none;
  }
}

@media(max-width:390px){
  .resource-page .resource-hero h1{
    font-size:clamp(2.15rem,11vw,2.7rem);
  }
  .resource-page .resource-meta{
    grid-template-columns:1fr;
  }
}
