/* Public landing page — layered on top of app.css tokens */

.pubnav{
  position:sticky; top:0; z-index:40;
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem clamp(1.2rem,4vw,3rem);
  background:rgba(22,35,58,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.pubnav .brand{
  display:flex; align-items:center; gap:.6rem; color:#fff; font-weight:700; font-size:1rem; line-height:1.3;
}
.pubnav .brand .badge-dot{
  width:36px; height:36px; border-radius:10px; background:var(--accent);
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.1rem; flex-shrink:0;
}
.pubnav .pubnav-right{display:flex; align-items:center; gap:1.4rem;}
.pubnav a.pubnav-link{color:#dfe7e2; font-size:.9rem; font-weight:500; text-decoration:none;}
.pubnav a.pubnav-link:hover{color:#fff;}
@media (max-width:640px){.pubnav a.pubnav-link{display:none;}}
.pubnav a.btn-login{
  background:var(--accent); color:#fff; border:none; font-weight:600; font-size:.88rem;
  padding:.5rem 1.15rem; border-radius:999px; text-decoration:none; display:inline-flex; align-items:center; gap:.4rem;
  transition:transform .15s ease, background .15s ease;
}
.pubnav a.btn-login:hover{background:#0d8069; transform:translateY(-1px); color:#fff;}

.hero{
  position:relative;
  background:
    radial-gradient(1100px 480px at 85% -10%, rgba(11,110,92,.55), transparent 60%),
    linear-gradient(165deg,#0f1c2e 0%, #16233a 45%, #123d33 100%);
  color:#fff;
  padding:3.5rem clamp(1.2rem,4vw,3rem) 6rem;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:22px 22px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.5), transparent 75%);
  pointer-events:none;
}
.hero-inner{position:relative; max-width:1180px; margin:0 auto;}
.hero-eyebrow{
  font-family:'JetBrains Mono',monospace; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase;
  color:#8fd9c4; display:flex; align-items:center; gap:.6rem; margin-bottom:1.1rem;
}
.hero-eyebrow .dot{width:6px; height:6px; border-radius:50%; background:#8fd9c4; display:inline-block;}
.hero h1{
  font-family:'Bai Jamjuree','Sarabun',sans-serif; font-weight:700;
  font-size:clamp(1.9rem, 4.2vw, 3.1rem); line-height:1.25; max-width:18ch; text-wrap:balance;
}
.hero p.lead{
  margin-top:1.1rem; color:#cdd9d2; font-size:1.08rem; max-width:56ch; line-height:1.8;
}
.hero-cta{display:flex; gap:.9rem; margin-top:2rem; flex-wrap:wrap;}
.hero-cta .btn-primary-pub{
  background:var(--accent); border:none; color:#fff; font-weight:600; padding:.85rem 1.6rem; border-radius:12px;
  display:inline-flex; align-items:center; gap:.5rem; text-decoration:none; font-size:.98rem;
  box-shadow:0 14px 30px -12px rgba(11,110,92,.65);
  transition:transform .15s ease;
}
.hero-cta .btn-primary-pub:hover{transform:translateY(-2px); color:#fff;}
.hero-cta .btn-ghost-pub{
  border:1px solid rgba(255,255,255,.28); color:#fff; font-weight:600; padding:.85rem 1.5rem; border-radius:12px;
  display:inline-flex; align-items:center; gap:.5rem; text-decoration:none; font-size:.98rem;
}
.hero-cta .btn-ghost-pub:hover{background:rgba(255,255,255,.08); color:#fff;}

.stat-strip{
  position:relative;
  max-width:1180px; margin:-4.2rem auto 0;
  padding:0 clamp(1.2rem,4vw,3rem);
  z-index:5;
}
.stat-strip-inner{
  background:var(--surface);
  border-radius:18px;
  box-shadow:0 24px 60px -24px rgba(15,28,46,.35);
  display:grid; grid-template-columns:repeat(4,1fr);
  overflow:hidden;
}
.stat-strip-inner .cell{
  padding:1.6rem 1.5rem; text-align:center; border-right:1px solid var(--line);
}
.stat-strip-inner .cell:last-child{border-right:none;}
.stat-strip-inner .cell .v{
  font-family:'Bai Jamjuree',sans-serif; font-weight:700; font-size:2rem; color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.stat-strip-inner .cell .l{font-size:.8rem; color:var(--ink-faint); margin-top:.25rem;}
@media (max-width:760px){
  .stat-strip-inner{grid-template-columns:repeat(2,1fr);}
  .stat-strip-inner .cell:nth-child(2){border-right:none;}
  .stat-strip-inner .cell:nth-child(1),.stat-strip-inner .cell:nth-child(2){border-bottom:1px solid var(--line);}
}

.pub-section{max-width:1180px; margin:0 auto; padding:4.2rem clamp(1.2rem,4vw,3rem) 0;}
.pub-section-head{max-width:60ch; margin-bottom:1.8rem;}
.pub-section-head .eyebrow{
  font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent);
}
.pub-section-head h2{font-family:'Bai Jamjuree',sans-serif; font-size:1.55rem; font-weight:700; margin:.4rem 0 .5rem;}
.pub-section-head p{color:var(--ink-soft); font-size:.98rem; margin:0;}

.feature-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem;}
@media (max-width:900px){.feature-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.feature-grid{grid-template-columns:1fr;}}
.feature-card{
  background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:1.4rem;
  display:flex; flex-direction:column; gap:.7rem;
  text-decoration:none; color:inherit; transition:border-color .15s, transform .15s, box-shadow .15s;
}
a.feature-card:hover{border-color:var(--accent); transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.06);}
.feature-card.soon{cursor:default;}
.feature-card .icon{
  width:44px; height:44px; border-radius:12px; background:var(--accent-soft); color:var(--accent);
  display:flex; align-items:center; justify-content:center; font-size:1.25rem;
}
.feature-card.soon .icon{background:var(--surface-alt); color:var(--ink-faint);}
.feature-card h3{font-size:1rem; font-weight:700; margin:0;}
.feature-card p{font-size:.86rem; color:var(--ink-soft); margin:0; line-height:1.7;}
.feature-card .tag{
  align-self:flex-start; font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.05em;
  padding:.2rem .55rem; border-radius:999px;
}
.feature-card:not(.soon):not(.auth) .tag{background:var(--ok-soft); color:var(--ok);}
.feature-card.soon .tag{background:var(--warn-soft); color:var(--warn);}
.feature-card.auth .tag{background:var(--surface-alt); color:var(--ink-soft);}

.cta-band{
  max-width:1180px; margin:4.5rem auto 0; padding:0 clamp(1.2rem,4vw,3rem);
}
.cta-band-inner{
  background:linear-gradient(120deg,var(--ink), #123d33);
  border-radius:20px; color:#fff; padding:2.6rem clamp(1.5rem,4vw,3.2rem);
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
}
.cta-band-inner h3{font-family:'Bai Jamjuree',sans-serif; font-size:1.35rem; font-weight:700; margin:0 0 .4rem;}
.cta-band-inner p{color:#c3d3cb; margin:0; font-size:.95rem;}

.pub-footer{
  margin-top:4.5rem; padding:2rem clamp(1.2rem,4vw,3rem) 2.5rem; text-align:center;
  font-size:.82rem; color:var(--ink-faint); border-top:1px solid var(--line);
}
