/* ==========================
   lethianhhong.online — style.css
   Theme: RED / ROSE dominant (premium)
   ========================== */

*, *::before, *::after { box-sizing: border-box; }
html:focus-within { scroll-behavior: smooth; }
html, body { height: 100%; }
body { margin: 0; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
img { display:block; max-width:100%; }
input, button, textarea, select { font: inherit; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 1rem; }
h1, h2, h3 { margin: 0 0 .75rem; line-height: 1.15; }
ul, ol { margin: 0; padding: 0; }
li { list-style: none; }
details summary { cursor: pointer; }

:root{
  --bg:#07040A;
  --bg2:#0B0710;

  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.70);
  --muted2: rgba(255,255,255,.56);

  /* RED dominant */
  --r1:#EF4444;   /* red */
  --r2:#F43F5E;   /* rose */
  --r3:#FB7185;   /* pink/rose */

  --grad: linear-gradient(135deg, var(--r1), var(--r2) 55%, var(--r3));
  --grad2: linear-gradient(135deg, rgba(239,68,68,.25), rgba(244,63,94,.18) 55%, rgba(251,113,133,.14));
  --glow: 0 18px 60px rgba(239,68,68,.18), 0 12px 40px rgba(244,63,94,.12);

  --r-lg: 22px;
  --r-md: 16px;

  --container: 1120px;
  --shadow: 0 12px 40px rgba(0,0,0,.45);
  --shadow2: 0 10px 26px rgba(0,0,0,.35);

  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

body{
  font-family: var(--font);
  background:
    radial-gradient(900px 500px at 12% 12%, rgba(239,68,68,.20), transparent 50%),
    radial-gradient(700px 460px at 80% 14%, rgba(244,63,94,.14), transparent 52%),
    radial-gradient(720px 520px at 70% 78%, rgba(251,113,133,.10), transparent 55%),
    var(--bg);
  color: var(--text);
}

.container{ width: min(var(--container), calc(100% - 2rem)); margin-inline:auto; }

.skip-link{ position:absolute; left:-9999px; top:12px; z-index:9999; background:#fff; color:#111; padding:.75rem 1rem; border-radius:10px; }
.skip-link:focus{ left:12px; }

.header{
  position: sticky; top:0; z-index:1000;
  background: rgba(7,4,10,.65);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.header__inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 0; }

.brand{ display:flex; align-items:center; gap:.8rem; min-width:220px; }
.brand__mark{
  width:44px; height:44px; border-radius:14px;
  display:grid; place-items:center;
  background: var(--grad);
  box-shadow: var(--glow);
  font-weight: 800;
}
.brand__text{ display:flex; flex-direction:column; gap:.1rem; }
.brand__text strong{ font-size:.98rem; }
.brand__sub{ font-size:.78rem; color: var(--muted2); }

.nav{ display:flex; align-items:center; gap:.6rem; }
.nav__menu{ display:flex; align-items:center; gap:.9rem; }
.nav__menu a{
  font-size:.92rem; color: var(--muted);
  padding:.55rem .6rem; border-radius:12px;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.nav__menu a:hover{ background: rgba(255,255,255,.06); color: var(--text); transform: translateY(-1px); }

.nav__toggle{
  display:none; width:44px; height:44px; border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: var(--text);
}
.nav__toggleLines{ width:18px; height:2px; background: var(--text); display:block; margin:0 auto; position:relative; }
.nav__toggleLines::before,.nav__toggleLines::after{ content:""; position:absolute; left:0; width:18px; height:2px; background: var(--text); }
.nav__toggleLines::before{ top:-6px; } .nav__toggleLines::after{ top:6px; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  border-radius:14px; padding:.85rem 1.05rem;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: var(--text);
  cursor:pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  box-shadow: 0 8px 22px rgba(0,0,0,.24);
}
.btn:hover{ transform: translateY(-1px); border-color: rgba(255,255,255,.18); }
.btn:active{ transform: translateY(0); }
.btn--primary{ background: var(--grad); border-color: rgba(255,255,255,.10); box-shadow: var(--glow); }
.btn--primary:hover{ filter: brightness(1.03); }
.btn--ghost{ background: transparent; border-color: rgba(255,255,255,.14); }
.btn--sm{ padding:.6rem .85rem; border-radius:12px; font-size:.9rem; }
.btn--block{ width:100%; }

.hero{ padding: 3.25rem 0 1.25rem; position: relative; overflow:hidden; }
.hero::before{
  content:""; position:absolute; inset:-2px; pointer-events:none; z-index:0;
  background:
    radial-gradient(600px 360px at 20% 20%, rgba(239,68,68,.22), transparent 60%),
    radial-gradient(640px 420px at 80% 20%, rgba(244,63,94,.16), transparent 62%),
    radial-gradient(760px 520px at 70% 80%, rgba(251,113,133,.12), transparent 65%);
}
.hero__grid{ position:relative; z-index:1; display:grid; grid-template-columns: 1.2fr .9fr; gap:2rem; align-items:center; }

.kicker{
  display:inline-flex; align-items:center; gap:.6rem;
  color: var(--muted);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  padding: .5rem .75rem;
  border-radius: 999px;
  width: fit-content;
  margin-bottom: 1rem;
}
.dot{ width:10px; height:10px; border-radius:99px; background: var(--grad); box-shadow: 0 0 0 4px rgba(239,68,68,.18); }

.hero__title{ font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing:-0.02em; }
.accent{ background: var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero__subtitle{ color: var(--muted); font-size:1.05rem; line-height:1.6; max-width:62ch; }

.hero__badges{ display:grid; gap:.75rem; margin: 1.35rem 0 1.1rem; }
.badge{
  border-radius: var(--r-md);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  padding: .85rem .9rem;
  box-shadow: var(--shadow2);
}
.badge__title{ display:block; font-weight:700; }
.badge__desc{ display:block; color: var(--muted2); margin-top:.2rem; font-size:.92rem; }

.hero__cta{ display:flex; gap:.75rem; flex-wrap:wrap; margin: 1.25rem 0 1rem; }
.hero__meta{ display:grid; grid-template-columns: 1fr 1fr; gap:.75rem; }
.metaItem{ border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); padding:.85rem .9rem; border-radius: var(--r-md); }
.metaItem__label{ display:block; color: var(--muted2); font-size:.82rem; }
.metaItem__value{ display:block; margin-top:.2rem; color: var(--text); font-weight:600; }

.hero__media{ display:flex; justify-content:flex-end; }
.portrait{
  margin:0; width:min(420px, 100%);
  border-radius: var(--r-lg);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.03);
  box-shadow: var(--shadow);
  position: relative;
}
.portrait img{ width:100%; height:auto; transform: scale(1.02); filter: saturate(1.05) contrast(1.02); }
.portrait::after{ content:""; position:absolute; inset:0; background: linear-gradient(to top, rgba(7,4,10,.62), transparent 55%); pointer-events:none; }
.portrait__cap{
  position:absolute; left:14px; right:14px; bottom:14px;
  padding:.85rem .9rem; border-radius:16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(7,4,10,.55);
  backdrop-filter: blur(10px);
}
.portrait__capTitle{ display:block; font-weight:800; }
.portrait__capSub{ display:block; color: var(--muted2); margin-top:.15rem; }
.portrait__capSub a{ text-decoration: underline; text-underline-offset: 3px; }

.hero__strip{ position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:.55rem; padding: 1.1rem 0 0; }
.chip{
  display:inline-flex; align-items:center; border-radius:999px;
  padding:.55rem .85rem;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: var(--muted);
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.chip:hover{ transform: translateY(-1px); background: rgba(255,255,255,.06); color: var(--text); }

.section{ padding: 4rem 0; }
.section--alt{ background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00)); }
.section__head{ margin-bottom: 1.5rem; }
.section__title{ font-size: clamp(1.55rem, 2.5vw, 2.2rem); letter-spacing:-0.015em; }
.section__lead{ color: var(--muted); line-height:1.75; max-width:78ch; }

.grid{ display:grid; gap:1.1rem; }
.grid--2{ grid-template-columns: 1fr 1fr; }
.grid--3{ grid-template-columns: repeat(3, 1fr); }

.card{
  border-radius: var(--r-lg);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  box-shadow: var(--shadow2);
  padding: 1.25rem 1.25rem;
  position: relative;
  overflow: hidden;
}
.card::before{
  content:""; position:absolute; inset:-1px; pointer-events:none;
  background: var(--grad2);
  opacity:.42;
  mask: linear-gradient(#000, transparent 58%);
}
.card--soft{ background: rgba(255,255,255,.025); }
.card--accent{ border-color: rgba(244,63,94,.28); box-shadow: var(--glow); }
.card__title{ font-size:1.15rem; letter-spacing:-0.01em; }
.card__text{ color: var(--muted); line-height:1.8; }

.list{ margin-top:.75rem; display:grid; gap:.55rem; }
.list li{
  color: var(--muted);
  line-height:1.65;
  padding-left:1.1rem;
  position:relative;
}
.list li::before{
  content:"";
  width:8px; height:8px; border-radius:99px;
  background: var(--grad);
  position:absolute; left:0; top:.55rem;
  box-shadow: 0 0 0 3px rgba(239,68,68,.14);
}
.list--cols{ grid-template-columns: 1fr 1fr; column-gap:1.2rem; }

.timeline{ margin-top:1rem; display:grid; gap:.9rem; }
.timeline__item{ display:grid; grid-template-columns: 18px 1fr; gap:.8rem; align-items:flex-start; }
.timeline__dot{
  width:12px; height:12px; margin-top:.35rem;
  border-radius:99px; background: var(--grad);
  box-shadow: 0 0 0 4px rgba(244,63,94,.14);
}
.timeline__title{ font-weight:800; }
.timeline__desc{ color: var(--muted); margin-top:.25rem; line-height:1.7; }

.quote{
  margin-top:1.1rem;
  padding: 1.1rem 1.1rem;
  border-radius: var(--r-lg);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
}
.quote__text{ color: var(--text); line-height:1.75; }
.quote__by{ color: var(--muted2); margin-top:.6rem; }

.callout{
  margin-top: 1.2rem;
  border-radius: var(--r-lg);
  padding: 1.2rem 1.2rem;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(135deg, rgba(239,68,68,.14), rgba(244,63,94,.10) 55%, rgba(251,113,133,.07));
  box-shadow: var(--shadow2);
}
.callout__title{ font-size: 1.1rem; }
.callout__text{ color: var(--muted); line-height:1.8; }
.callout a{ text-decoration: underline; text-underline-offset: 3px; }

.notice{
  margin-top: 1rem;
  border-radius: var(--r-md);
  padding: .85rem .95rem;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.16);
  color: var(--muted);
  line-height:1.65;
}

.pillGrid{ display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }
.pill{
  padding:.55rem .8rem;
  border-radius:999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: var(--muted);
  font-size:.92rem;
}

.faq{ display:grid; gap:.75rem; }
.faq__item{
  border-radius: var(--r-lg);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  box-shadow: var(--shadow2);
  overflow: hidden;
}
.faq__q{
  padding: 1rem 1.05rem;
  list-style:none;
  font-weight:750;
  color: var(--text);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 1rem;
}
.faq__q::-webkit-details-marker{ display:none; }
.faq__q::after{
  content:"+";
  width:28px; height:28px;
  border-radius:999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.03);
  text-align:center;
  line-height:26px;
  color: var(--muted);
  transition: transform .2s ease;
}
details[open] .faq__q::after{ content:"–"; color: rgba(255,255,255,.88); }
.faq__a{ padding: 0 1.05rem 1rem; color: var(--muted); line-height:1.75; }

.form{ margin-top:.9rem; display:grid; gap:.85rem; }
.field{ display:grid; gap:.45rem; }
.field span{ color: var(--muted2); font-size:.9rem; }
.field input,.field textarea{
  border-radius:14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.14);
  color: var(--text);
  padding: .85rem .95rem;
  outline:none;
}
.field input:focus,.field textarea:focus{
  border-color: rgba(244,63,94,.42);
  box-shadow: 0 0 0 4px rgba(239,68,68,.18);
}
.form__hint{ color: var(--muted2); font-size:.88rem; line-height:1.6; margin-top:.2rem; }

.footer{
  padding: 2.8rem 0 1.3rem;
  border-top: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.18);
}
.footer__grid{ display:grid; grid-template-columns: 1.2fr .9fr 1fr; gap:1.1rem; align-items:start; }
.brand--footer .brand__mark{ width:40px; height:40px; border-radius:14px; }
.footer__title{ font-size:1rem; margin-bottom:.65rem; }
.footer__text{ color: var(--muted); line-height:1.75; }
.footer__links{ display:grid; gap:.4rem; }
.footer__links a{ color: var(--muted); padding:.25rem 0; border-radius:10px; }
.footer__links a:hover{ color: var(--text); text-decoration: underline; text-underline-offset:3px; }

.footer__bottom{
  display:flex; align-items:center; justify-content: space-between; gap: 1rem;
  padding-top: 1.2rem; margin-top: 1.2rem;
  border-top: 1px solid rgba(255,255,255,.06);
  color: var(--muted2);
}
.toTop{
  width:42px; height:42px; border-radius:14px;
  display:grid; place-items:center;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  transition: transform .2s ease, background .2s ease;
}
.toTop:hover{ transform: translateY(-1px); background: rgba(255,255,255,.06); }

.noscript{
  position: fixed; left:12px; right:12px; bottom:12px;
  padding:.9rem 1rem; border-radius:16px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(7,4,10,.85);
  color: var(--muted);
  backdrop-filter: blur(10px);
}

/* Reveal */
[data-reveal]{ opacity:0; transform: translateY(10px); transition: opacity .7s ease, transform .7s ease; }
.revealed{ opacity:1 !important; transform: translateY(0) !important; }

/* Responsive */
@media (max-width: 980px){
  .hero__grid{ grid-template-columns: 1fr; }
  .hero__media{ justify-content:flex-start; }
  .hero__meta{ grid-template-columns: 1fr; }
  .grid--3{ grid-template-columns: 1fr; }
  .grid--2{ grid-template-columns: 1fr; }
  .footer__grid{ grid-template-columns: 1fr; }
  .list--cols{ grid-template-columns: 1fr; }
}
@media (max-width: 860px){
  .nav__toggle{ display:inline-flex; align-items:center; justify-content:center; }
  .nav__menu{
    position:absolute; right:1rem; top:68px;
    width:min(520px, calc(100% - 2rem));
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:.25rem;
    padding:.7rem;
    border-radius: var(--r-lg);
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(7,4,10,.92);
    backdrop-filter: blur(12px);
    box-shadow: var(--shadow);
  }
  .nav__menu a{ padding:.75rem .85rem; border-radius:14px; background: rgba(255,255,255,.03); }
  .nav__menu.is-open{ display:flex; }
}
@media (max-width: 520px){
  .hero{ padding-top: 2.5rem; }
  .hero__cta{ flex-direction: column; }
  .btn{ width:100%; }
  .brand__sub{ display:none; }
}
