/* V4.1 luxury tighten clean */
:root{
  --lws-bg:#03060A;
  --lws-ink:#F7F7F2;
  --lws-muted:rgba(255,255,255,.68);
  --lws-border:rgba(255,255,255,.10);
  --lws-border-2:rgba(255,255,255,.16);
  --lws-teal:#12E8E0;
  --lws-teal-soft:#77F3EE;
  --lws-gold:#D7B979;
  --lws-gold-deep:#B89246;
  --lws-rose:#F2B7C8;
  --lws-panel:rgba(5,8,14,.78);
  --lws-shadow:0 18px 60px rgba(0,0,0,.36);
  --lws-shadow-soft:0 12px 35px rgba(0,0,0,.20);
  --lws-glow-teal:0 0 0 1px rgba(18,232,224,.25),0 16px 44px rgba(18,232,224,.08);
  --lws-glow-gold:0 0 0 1px rgba(215,185,121,.26),0 18px 48px rgba(215,185,121,.09);
  --lws-glow-rose:0 0 0 1px rgba(242,183,200,.24),0 18px 48px rgba(242,183,200,.08);
  --lws-container:1240px;
}

body.page-template-page-he-thong-cuoc-song,
body.page-template-page-he-thong-cuoc-song .site{
  background:
    radial-gradient(circle at 74% 18%,rgba(19,83,173,.22),transparent 28%),
    linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.22)),
    var(--lws-bg);
  color:var(--lws-ink);
}

.lws-course-page{
  position:relative;
  overflow:hidden;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(120deg,transparent 0%,rgba(11,76,182,.12) 52%,transparent 100%);
  background-size:140px 140px,140px 140px,100% 100%;
}

.lws-course-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 73% 20%,rgba(18,232,224,.055),transparent 20%),
    radial-gradient(circle at 76% 62%,rgba(215,185,121,.042),transparent 24%);
  mix-blend-mode:screen;
  opacity:.95;
}

.lws-container{
  width:min(calc(100% - 64px),var(--lws-container));
  margin:0 auto;
}

.lws-section,
.lws-hero,
.lws-final{
  position:relative;
  z-index:2;
}

.lws-hero{
  padding:110px 0 34px;
  text-align:center;
}

.lws-kicker-wrap{
  margin-bottom:30px;
}

.lws-kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:14px 26px;
  border-radius:999px;
  border:1px solid rgba(18,232,224,.34);
  background:rgba(6,16,20,.58);
  color:var(--lws-teal-soft);
  font-size:14px;
  letter-spacing:.16em;
  text-transform:uppercase;
  box-shadow:var(--lws-glow-teal);
  backdrop-filter:blur(14px);
}

.lws-kicker-dot{
  width:11px;
  height:11px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--lws-teal-soft),var(--lws-teal));
  box-shadow:0 0 18px rgba(18,232,224,.55);
}

.lws-hero-title,
.lws-section-head h2,
.lws-final h2,
.lws-level-top h3,
.lws-how-card h3{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
}

.lws-hero-title{
  margin:0 auto;
  max-width:1180px;
  font-size:clamp(56px,6.2vw,96px);
  line-height:1.02;
  letter-spacing:-.03em;
  color:rgba(255,255,255,.96);
  text-wrap:balance;
  text-shadow:0 1px 0 rgba(255,255,255,.02);
}

.lws-hero-title .accent{
  color:var(--lws-teal);
  font-style:italic;
}

.lws-hero-title .accent-2{
  color:var(--lws-rose);
  font-style:italic;
}

.lws-hero-sub{
  max-width:980px;
  margin:30px auto 0;
  font-size:clamp(18px,1.6vw,24px);
  line-height:1.7;
  color:rgba(255,255,255,.74);
  font-weight:500;
  text-wrap:balance;
}

.lws-hero-meta{
  margin-top:28px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
  font-size:15px;
  color:rgba(255,255,255,.72);
}

.lws-hero-actions{
  margin-top:40px;
}

.lws-section{
  padding:72px 0;
}

.lws-section-head{
  text-align:center;
  max-width:980px;
  margin:0 auto 42px;
}

.lws-line{
  display:block;
  width:92px;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--lws-gold),transparent);
  margin:0 auto 20px;
  border-radius:999px;
}

.lws-section-head h2,
.lws-final h2{
  margin:0;
  font-size:clamp(40px,4vw,64px);
  line-height:1.05;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.97);
  text-wrap:balance;
}

.lws-section-head p,
.lws-final p{
  max-width:900px;
  margin:18px auto 0;
  font-size:clamp(17px,1.35vw,22px);
  line-height:1.72;
  color:rgba(255,255,255,.64);
  text-wrap:balance;
}

/* ===== LEVEL GRID ===== */

.lws-level-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:44px;
  align-items:stretch;
}

.lws-level-card{
  position:relative;
  z-index:1;
  border:1px solid var(--lws-border);
  background:linear-gradient(180deg,rgba(4,7,12,.86) 0%,rgba(1,3,8,.94) 100%);
  box-shadow:var(--lws-shadow);
  border-radius:32px;
  overflow:visible;
  backdrop-filter:blur(16px);
  transition:transform .45s ease,box-shadow .45s ease,border-color .35s ease,filter .45s ease;
}

.lws-level-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:32px;
  background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 22%,transparent 80%,rgba(255,255,255,.03));
  pointer-events:none;
}

.lws-level-card:hover{
  transform:translateY(-8px);
  border-color:var(--lws-border-2);
  filter:saturate(1.04);
}

.lws-level-featured{
  z-index:3;
  border-color:rgba(215,185,121,.42);
  box-shadow:var(--lws-glow-gold),var(--lws-shadow);
}

.lws-featured-badge{
  position:absolute;
  top:0;
  left:50%;
  transform:translate(-50%,-50%);
  background:var(--lws-gold);
  color:#111;
  border-radius:999px;
  padding:14px 34px;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  box-shadow:0 12px 30px rgba(215,185,121,.28);
  z-index:8;
}

.lws-level-top{
  display:flex;
  gap:24px;
  align-items:flex-start;
  padding:54px 54px 0;
}

.lws-level-icon{
  width:88px;
  height:88px;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-size:40px;
  flex:0 0 88px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.lws-icon-teal{color:var(--lws-teal-soft);}
.lws-icon-gold{color:var(--lws-gold);}
.lws-icon-rose{color:var(--lws-rose);}

.lws-level-label{
  color:var(--lws-teal-soft);
  font-size:15px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  margin:4px 0 8px;
}

.lws-level-label.gold{color:var(--lws-gold);}
.lws-level-label.rose{color:var(--lws-rose);}

.lws-level-top h3{
  margin:0;
  font-size:clamp(34px,3vw,56px);
  line-height:1.04;
  letter-spacing:-.03em;
  color:rgba(255,255,255,.98);
}

.lws-level-strap{
  padding:22px 54px 0;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:clamp(18px,1.6vw,28px);
  line-height:1.24;
  color:rgba(255,255,255,.78);
}

.lws-level-desc{
  padding:24px 54px 0;
  margin:0;
  font-size:clamp(18px,1.35vw,23px);
  line-height:1.72;
  color:rgba(255,255,255,.64);
  font-weight:500;
}

.lws-divider{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
  margin:32px 0;
}

.lws-price-row,
.lws-meta-row,
.lws-list-title,
.lws-checklist,
.lws-minilist,
.lws-action-row{
  padding-left:54px;
  padding-right:54px;
}

.lws-price-row{
  display:flex;
  align-items:flex-end;
  gap:18px;
}

.lws-price-main{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(42px,3.4vw,64px);
  line-height:.98;
  letter-spacing:-.03em;
  color:#fff;
}

.lws-price-old{
  font-size:clamp(18px,1.4vw,24px);
  color:rgba(255,255,255,.28);
  text-decoration:line-through;
  transform:translateY(-4px);
}

.lws-meta-row{
  margin-top:14px;
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  font-size:15px;
  color:rgba(255,255,255,.52);
}

.lws-list-title{
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.44);
  margin-bottom:16px;
  font-weight:700;
}

.lws-checklist,
.lws-minilist{
  list-style:none;
  margin:0;
  display:grid;
  gap:14px;
}

.lws-checklist{
  padding-bottom:8px;
}

.lws-checklist li,
.lws-minilist li{
  position:relative;
  padding-left:34px;
  font-size:clamp(17px,1.25vw,21px);
  line-height:1.55;
  color:rgba(255,255,255,.78);
  font-weight:600;
}

.lws-minilist li{
  font-size:clamp(15px,1.1vw,18px);
  color:rgba(255,255,255,.52);
  font-weight:500;
}

.lws-checklist li::before,
.lws-minilist li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:.04em;
  font-size:20px;
  line-height:1;
  color:var(--lws-teal);
}

.lws-checklist.gold li::before,
.lws-minilist.gold li::before{color:var(--lws-gold);}

.lws-checklist.rose li::before,
.lws-minilist.rose li::before{color:var(--lws-rose);}

/* ===== BUTTONS ===== */

.lws-action-row{
  padding-top:28px;
  padding-bottom:42px;
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:6px;
  position:relative;
  z-index:7;
}

.lws-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  max-width:420px;
  min-height:84px;
  padding:0 32px;
  border-radius:999px;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
  font-size:clamp(16px,1.25vw,20px);
  text-align:center;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease,color .35s ease,filter .35s ease;
  will-change:transform;
}

.lws-btn::after{
  content:"›";
  font-size:1.2em;
  line-height:1;
}

.lws-btn.large{
  min-width:320px;
}

.lws-btn-primary{
  background:linear-gradient(180deg,rgba(18,232,224,.95),rgba(82,201,190,.92));
  color:#071111;
  box-shadow:0 10px 30px rgba(18,232,224,.22);
}

.lws-btn-primary:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 40px rgba(18,232,224,.24);
  filter:saturate(1.02);
}

.lws-btn-gold{
  background:linear-gradient(180deg,rgba(215,185,121,.97),rgba(196,167,104,.94));
  color:#111;
  box-shadow:0 10px 30px rgba(215,185,121,.18);
}

.lws-btn-gold:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 42px rgba(215,185,121,.20);
}

.lws-btn-rose{
  background:transparent;
  color:var(--lws-rose);
  border:1px solid rgba(242,183,200,.72);
  box-shadow:0 0 0 1px rgba(242,183,200,.10) inset;
}

.lws-btn-rose:hover{
  transform:translateY(-3px);
  background:rgba(242,183,200,.06);
  box-shadow:0 16px 42px rgba(242,183,200,.08);
}

.lws-btn-outline{
  background:transparent;
  color:var(--lws-teal);
  border:1px solid rgba(18,232,224,.72);
  box-shadow:0 0 0 1px rgba(18,232,224,.10) inset;
}

.lws-btn-outline:hover{
  transform:translateY(-3px);
  background:rgba(18,232,224,.05);
  box-shadow:0 16px 42px rgba(18,232,224,.08);
}

.lws-btn-ghost{
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.12);
}

.lws-btn-ghost:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.05);
  box-shadow:0 16px 42px rgba(255,255,255,.04);
}

/* ===== HOW ===== */

.lws-how-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}

.lws-how-card{
  min-height:300px;
  padding:42px 36px 38px;
  border:1px solid var(--lws-border);
  border-radius:24px;
  background:rgba(4,7,12,.64);
  backdrop-filter:blur(14px);
  box-shadow:var(--lws-shadow-soft);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}

.lws-how-card:hover{
  transform:translateY(-6px);
  border-color:var(--lws-border-2);
  box-shadow:0 18px 48px rgba(0,0,0,.28);
}

.lws-how-card .num{
  display:inline-block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(30px,2vw,40px);
  margin-bottom:14px;
}

.lws-how-card .num.teal{color:var(--lws-teal-soft);}
.lws-how-card .num.gold{color:var(--lws-gold);}
.lws-how-card .num.rose{color:var(--lws-rose);}

.lws-how-card h3{
  margin:0 0 14px;
  font-size:clamp(24px,1.8vw,32px);
  line-height:1.12;
  color:#fff;
}

.lws-how-card p{
  margin:0;
  font-size:clamp(16px,1.2vw,18px);
  line-height:1.72;
  color:rgba(255,255,255,.62);
}

/* ===== FAQ ===== */

.lws-faq-wrap{
  max-width:1180px;
}

.lws-faq-list{
  display:grid;
  gap:18px;
}

.lws-faq-item{
  border:1px solid var(--lws-border);
  border-radius:22px;
  background:rgba(4,7,12,.58);
  backdrop-filter:blur(10px);
  overflow:hidden;
  transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease;
}

.lws-faq-item:hover{
  border-color:var(--lws-border-2);
  box-shadow:var(--lws-shadow-soft);
  transform:translateY(-2px);
}

.lws-faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:24px 28px;
  font-size:clamp(18px,1.35vw,22px);
  line-height:1.45;
  font-weight:700;
  color:#fff;
  position:relative;
}

.lws-faq-item summary::-webkit-details-marker{
  display:none;
}

.lws-faq-item summary::after{
  content:"+";
  position:absolute;
  right:26px;
  top:50%;
  transform:translateY(-50%);
  font-size:28px;
  color:rgba(255,255,255,.42);
}

.lws-faq-item[open] summary::after{
  content:"–";
}

.lws-faq-item div{
  padding:0 28px 24px;
  font-size:clamp(15px,1.15vw,18px);
  line-height:1.72;
  color:rgba(255,255,255,.64);
}

/* ===== FINAL ===== */

.lws-final{
  padding:88px 0 110px;
  text-align:center;
}

.lws-final .accent{
  color:var(--lws-teal-soft);
  font-style:italic;
}

.lws-final-actions{
  margin-top:34px;
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}

.lws-final-actions .lws-btn{
  max-width:420px;
}

/* ===== REVEAL ===== */

.lws-reveal{
  opacity:0;
  transform:translateY(24px);
  filter:blur(10px);
  transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1),filter .9s cubic-bezier(.2,.8,.2,1);
}

.lws-reveal.is-visible{
  opacity:1;
  transform:none;
  filter:blur(0);
}

/* ===== RESPONSIVE ===== */

@media (max-width:1200px){
  .lws-container{
    width:min(calc(100% - 40px),100%);
  }
  .lws-level-top,
  .lws-level-strap,
  .lws-level-desc,
  .lws-price-row,
  .lws-meta-row,
  .lws-list-title,
  .lws-checklist,
  .lws-minilist,
  .lws-action-row{
    padding-left:36px;
    padding-right:36px;
  }
}

@media (max-width:900px){
  .lws-hero{
    padding-top:84px;
  }
  .lws-hero-title{
    font-size:clamp(42px,9vw,64px);
  }
  .lws-hero-sub{
    font-size:clamp(17px,4vw,22px);
  }
  .lws-section-head h2,
  .lws-final h2{
    font-size:clamp(32px,8vw,46px);
  }
  .lws-section-head p,
  .lws-final p{
    font-size:17px;
  }
  .lws-level-top{
    gap:18px;
    padding-top:44px;
  }
  .lws-level-top h3{
    font-size:clamp(28px,7vw,42px);
  }
  .lws-level-strap{
    font-size:clamp(18px,4vw,24px);
  }
  .lws-level-desc{
    font-size:clamp(17px,3.4vw,21px);
  }
  .lws-price-main{
    font-size:clamp(36px,8vw,54px);
  }
  .lws-price-old{
    font-size:clamp(16px,4vw,20px);
  }
  .lws-checklist li,
  .lws-minilist li{
    font-size:clamp(16px,3.2vw,19px);
    padding-left:32px;
  }
  .lws-checklist li::before,
  .lws-minilist li::before{
    font-size:18px;
  }
  .lws-btn{
    min-height:74px;
    font-size:16px;
    max-width:360px;
  }
  .lws-how-grid{
    grid-template-columns:1fr;
  }
  .lws-how-card{
    min-height:auto;
    padding:34px 26px;
  }
  .lws-how-card h3{
    font-size:clamp(22px,5vw,28px);
  }
  .lws-how-card p{
    font-size:16px;
  }
  .lws-faq-item summary{
    font-size:17px;
    padding:22px 22px;
  }
  .lws-faq-item div{
    padding:0 22px 20px;
    font-size:15px;
  }
}

@media (max-width:640px){
  .lws-container{
    width:min(calc(100% - 24px),100%);
  }
  .lws-section{
    padding:46px 0;
  }
  .lws-kicker{
    font-size:11px;
    letter-spacing:.12em;
    padding:12px 18px;
  }
  .lws-hero-meta{
    gap:10px;
    flex-direction:column;
    font-size:14px;
  }
  .lws-level-card{
    border-radius:22px;
  }
  .lws-featured-badge{
    padding:12px 22px;
    font-size:11px;
    width:auto;
    max-width:85%;
    text-align:center;
  }
  .lws-level-top,
  .lws-level-strap,
  .lws-level-desc,
  .lws-price-row,
  .lws-meta-row,
  .lws-list-title,
  .lws-checklist,
  .lws-minilist,
  .lws-action-row{
    padding-left:20px;
    padding-right:20px;
  }
  .lws-level-top{
    flex-direction:column;
    align-items:flex-start;
    padding-top:34px;
  }
  .lws-level-icon{
    width:64px;
    height:64px;
    flex-basis:64px;
    font-size:26px;
    border-radius:16px;
  }
  .lws-price-row{
    flex-wrap:wrap;
    gap:10px 16px;
  }
  .lws-btn.large{
    min-width:100%;
  }
  .lws-final-actions{
    gap:14px;
  }
}