:root {
  font-family: "Noto Sans Malayalam", "Nirmala UI", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #f5fbf7;
  background: #050b08;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --bg: #050b08;
  --soft: #08130d;
  --card: #0d1b13;
  --card2: #11251a;
  --text: #f5fbf7;
  --muted: #a8baaf;
  --green: #3eea84;
  --green2: #20c96a;
  --border: rgba(195, 227, 206, .16);
  --danger: #ff9090;
  --warning: #ffd477;
  --shadow: 0 28px 76px rgba(0,0,0,.38);
  --radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--bg); color: var(--text); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { letter-spacing: -.035em; }
svg { display: block; }
[hidden] { display: none !important; }

.container { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
.container.narrow { width: min(780px, calc(100% - 32px)); }
.section { padding: 78px 0; }
.scroll-target { scroll-margin-top: 76px; }
.card { background: linear-gradient(145deg, rgba(17,36,25,.98), rgba(9,20,14,.98)); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.eyebrow { color: var(--green); font-size: 10px; font-weight: 950; letter-spacing: .17em; text-transform: uppercase; }
.muted, .section-heading p, .section-note, .microcopy, .privacy-note { color: var(--muted); }
.section-heading { max-width: 780px; margin-bottom: 28px; }
.section-heading h2, .admin-section h2 { font-size: clamp(30px,4.6vw,48px); line-height: 1.06; margin: 10px 0; }
.section-heading p, .section-note { line-height: 1.66; margin-bottom: 0; }
.split-heading { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 32px; }
.split-heading > p { max-width: 520px; }

.site-header { position: sticky; top: 0; z-index: 60; border-bottom: 1px solid var(--border); background: rgba(5,11,8,.84); backdrop-filter: blur(18px); }
.header-inner { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.header-actions { display:flex; align-items:center; gap:10px; }
.demo-site-pill { display:inline-flex; align-items:center; min-height:30px; padding:0 11px; border:1px solid rgba(62,234,132,.28); border-radius:999px; color:var(--green); background:rgba(62,234,132,.08); font-size:10px; font-weight:900; letter-spacing:.04em; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 950; font-size: 14px; }
.brand-mark,.icon-box,.auth-icon { display: inline-flex; align-items: center; justify-content: center; color: #06130b; background: linear-gradient(135deg,#72ffa5,#25cf70); }
.brand-mark { width: 30px; height: 30px; border-radius: 10px; }
.brand-mark svg { width: 17px; height: 17px; }

.button { min-height: 44px; border: 1px solid transparent; border-radius: 14px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 850; transition: transform .18s ease, opacity .18s ease, border-color .18s ease, background .18s ease; }
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button:disabled { cursor: not-allowed; opacity: .46; transform: none; }
.button svg { width: 16px; height: 16px; }
.button-primary { color: #06130b; background: linear-gradient(135deg,#72ffa5,#29d978); box-shadow: 0 18px 46px rgba(62,234,132,.17); }
.button-secondary { color: var(--text); background: rgba(255,255,255,.035); border-color: var(--border); }
.button-small { min-height: 36px; padding: 0 14px; border-radius: 999px; font-size: 12px; }
.button-large { min-height: 54px; padding: 0 26px; border-radius: 17px; }
.button-full { width: 100%; }
.button-row { display: flex; flex-wrap: wrap; gap: 11px; }
.compact-row { gap: 8px; }
.text-link { border: 0; background: transparent; padding: 0; color: #1c7c46; font-weight: 850; }
.text-link:hover { text-decoration: underline; }

.hero { position: relative; overflow: hidden; min-height: 620px; display: flex; align-items: center; border-bottom: 1px solid var(--border); }
.hero::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 72% 32%,rgba(46,217,120,.19),transparent 28%), linear-gradient(140deg,#06110b 0%,#06100a 44%,#0d2d1b 100%); }
.hero::after { content:""; position:absolute; width:780px; height:210px; right:-190px; top:68px; border-radius:50%; transform:rotate(-24deg); filter:blur(20px); background:linear-gradient(90deg,transparent,rgba(62,234,132,.32),transparent); }
.hero-glow { position:absolute; border-radius:50%; filter:blur(72px); opacity:.33; }
.hero-glow.one { width:330px; height:330px; background:#18d971; top:-170px; right:12%; }
.hero-glow.two { width:260px; height:260px; background:#0b7741; bottom:-150px; left:30%; }
.hero-inner { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); align-items:center; gap:48px; padding-top:72px; padding-bottom:72px; }
.hero-copy { max-width:760px; }
.hero h1 { font-size:clamp(47px,7vw,82px); line-height:.98; margin:18px 0 15px; font-weight:950; }
.hero h1 span { color:var(--green); }
.hero-support { color:#dce9e1; font-size:clamp(19px,2.4vw,25px); font-weight:760; margin-bottom:16px; }
.hero-description { max-width:690px; color:var(--muted); font-size:16px; line-height:1.72; margin-bottom:28px; }
.hero .microcopy { margin-top:18px; font-size:12px; line-height:1.55; }
.hero-orbit { position:relative; min-height:360px; display:grid; place-items:center; }
.orbit-core { width:150px; height:150px; border-radius:50%; display:grid; place-items:center; color:#06130b; background:radial-gradient(circle at 35% 30%,#91ffba,#2dd879 65%,#169d51); box-shadow:0 0 0 24px rgba(62,234,132,.06),0 0 90px rgba(62,234,132,.25); }
.orbit-core svg { width:58px; height:58px; }
.orbit-card { position:absolute; width:78px; height:78px; border-radius:22px; display:grid; place-items:center; color:var(--green); background:rgba(13,27,19,.94); border:1px solid rgba(62,234,132,.28); box-shadow:var(--shadow); }
.orbit-card svg { width:28px; height:28px; }
.orbit-card.one { top:34px; left:26px; transform:rotate(-8deg); }
.orbit-card.two { bottom:26px; right:18px; transform:rotate(8deg); }

.goal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.goal-card { min-height:220px; padding:24px; text-align:left; color:var(--text); display:flex; flex-direction:column; align-items:flex-start; gap:14px; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.goal-card:hover { transform:translateY(-4px); border-color:rgba(62,234,132,.43); }
.goal-card.selected { border-color:var(--green); box-shadow:0 0 0 1px var(--green),0 22px 60px rgba(62,234,132,.12); }
.goal-card strong { font-size:20px; }
.goal-card > span:last-child { color:var(--muted); line-height:1.55; }
.icon-box { width:46px; height:46px; border-radius:15px; color:var(--green); background:rgba(62,234,132,.12); }
.icon-box svg { width:22px; height:22px; }

.section-creative { color:#111914; background:#f6f8f4; }
.section-creative .section-heading p { color:#536159; }
.section-creative .eyebrow { color:#258f54; }
.creative-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.creative-card { overflow:hidden; display:flex; flex-direction:column; border-radius:24px; background:#fff; border:1px solid #dfe7e1; box-shadow:0 26px 64px rgba(28,52,37,.11); }
.creative-image { position:relative; aspect-ratio:4/5; overflow:hidden; background:#e8ede9; }
.creative-image img { width:100%; height:100%; object-fit:cover; object-position:top center; transition:transform .35s ease; }
.creative-card:hover img { transform:scale(1.025); }
.creative-badge { position:absolute; left:14px; bottom:14px; padding:8px 11px; border-radius:999px; color:#70f2a1; background:rgba(5,11,8,.84); font-size:9px; font-weight:950; letter-spacing:.14em; backdrop-filter:blur(8px); }
.creative-copy { flex:1; display:flex; flex-direction:column; padding:20px; }
.creative-copy h3 { font-size:21px; margin:0 0 9px; }
.creative-copy p { flex:1; color:#536159; line-height:1.56; }
.demo-warning { margin-top:18px; padding:13px 16px; border:1px solid rgba(255,207,103,.34); border-radius:14px; color:#ffe3a4; background:rgba(255,207,103,.1); text-align:center; font-size:10px; font-weight:950; letter-spacing:.13em; }
.section-creative .demo-warning { color:#644c11; background:#fff4d6; border-color:#e8cf84; }

.section-form { background:linear-gradient(180deg,#07110b,#050b08); }
.form-card { padding:34px; }
.form-card form { display:grid; gap:20px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.field { display:grid; gap:8px; }
.field label { color:#dce9e1; font-size:13px; font-weight:850; }
.field label span { color:var(--green); }
input,select,textarea { width:100%; color:var(--text); background:#07120c; border:1px solid rgba(195,227,206,.22); border-radius:13px; padding:12px 13px; outline:none; transition:border-color .18s ease,box-shadow .18s ease; }
input,select { min-height:46px; }
textarea { resize:vertical; line-height:1.5; }
input:focus,select:focus,textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(62,234,132,.12); }
[aria-invalid="true"] { border-color:var(--danger)!important; }
.field-error { min-height:15px; margin:0; color:#ffaaa8; font-size:12px; }
.checkbox-field { display:grid; gap:6px; }
.checkbox-field label { display:flex; align-items:flex-start; gap:11px; color:var(--muted); line-height:1.5; cursor:pointer; }
.checkbox-field input { flex:0 0 auto; width:20px; height:20px; min-height:20px; margin:2px 0 0; padding:0; accent-color:var(--green); }
.alert { display:flex; align-items:flex-start; gap:10px; padding:14px 16px; border-radius:15px; line-height:1.5; }
.alert svg { flex:0 0 auto; width:20px; height:20px; }
.alert p { margin:0; }
.alert-warning { color:#ffe4a7; background:rgba(255,207,103,.1); border:1px solid rgba(255,207,103,.34); }
.alert-error { color:#ffc0c0; background:rgba(255,126,126,.1); border:1px solid rgba(255,126,126,.32); }
.alert-neutral { color:var(--text); background:rgba(62,234,132,.075); border:1px solid rgba(62,234,132,.22); }
.success-card { padding:52px 34px; text-align:center; }
.success-card > svg { width:48px; height:48px; color:var(--green); margin:0 auto; }
.success-card h2 { margin:15px 0 10px; }
.success-card p { max-width:610px; margin:0 auto 22px; color:var(--muted); line-height:1.65; }

.feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.feature-card { display:flex; align-items:flex-start; gap:15px; padding:22px; }
.feature-card h3,.step-card h3 { margin:0 0 7px; font-size:18px; }
.feature-card p,.step-card p { margin:0; color:var(--muted); line-height:1.55; }
.disclosure-box { margin-top:22px; padding:18px; border:1px solid var(--border); border-radius:18px; background:rgba(255,255,255,.025); }
.disclosure-box > span { color:var(--green); font-size:9px; font-weight:950; letter-spacing:.17em; }
.disclosure-box ul { margin:10px 0 0; padding-left:18px; color:var(--muted); font-size:13px; line-height:1.6; }
.steps-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.step-card { display:flex; gap:16px; padding:23px; }
.step-number { flex:0 0 auto; width:40px; height:40px; border-radius:13px; display:grid; place-items:center; color:#06130b; background:linear-gradient(135deg,#72ffa5,#29d978); font-weight:950; }

.section-coach { background:var(--soft); }
.coach-card { display:grid; grid-template-columns:220px minmax(0,1fr); gap:30px; padding:28px; }
.coach-photo { min-height:230px; overflow:hidden; padding:16px; display:grid; place-items:center; gap:10px; text-align:center; color:var(--green); border:1px dashed rgba(62,234,132,.4); border-radius:18px; background:linear-gradient(145deg,rgba(62,234,132,.15),rgba(62,234,132,.03)); }
.coach-photo img { width:100%; height:100%; object-fit:cover; }
.coach-photo svg { width:48px; height:48px; }
.demo-label { display:inline-flex; width:fit-content; padding:6px 9px; border-radius:999px; color:#ffe1a0; background:rgba(255,207,103,.12); border:1px solid rgba(255,207,103,.32); font-size:9px; font-weight:950; letter-spacing:.14em; }
.coach-details h3 { margin:12px 0 20px; font-size:29px; }
.coach-details dl { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.coach-details .wide { grid-column:1/-1; }
.coach-details dt { margin-bottom:5px; color:var(--green); font-size:9px; font-weight:950; letter-spacing:.14em; text-transform:uppercase; }
.coach-details dd { margin:0; color:var(--muted); line-height:1.55; }

.section-testimonials { background:linear-gradient(180deg,#07120c,#050b08); }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.testimonial-card { padding:24px; }
.testimonial-category { margin:18px 0 12px; color:var(--green); font-size:10px; font-weight:950; letter-spacing:.13em; }
.testimonial-card blockquote { margin:0 0 18px; font-size:18px; font-weight:720; line-height:1.52; }
.testimonial-context { margin:0; color:var(--muted); font-size:12px; line-height:1.52; }

.faq-list { display:grid; gap:10px; }
.faq-item { overflow:hidden; border:1px solid var(--border); border-radius:16px; background:var(--card); }
.faq-item summary { list-style:none; padding:18px 20px; cursor:pointer; font-weight:850; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; float:right; color:var(--green); font-size:20px; }
.faq-item[open] summary::after { content:"–"; }
.faq-item p { margin:0; padding:0 20px 20px; color:var(--muted); line-height:1.65; }

.site-footer { padding:52px 0; background:#030705; border-top:1px solid var(--border); }
.footer-copy { margin-top:18px; display:grid; gap:7px; color:var(--muted); font-size:12px; line-height:1.55; }
.footer-copy p { margin:0; }
.footer-placeholder { margin-top:20px; padding:16px; border:1px dashed rgba(255,207,103,.38); border-radius:15px; }
.footer-placeholder span { color:#ffe1a0; font-size:9px; font-weight:950; letter-spacing:.14em; }
.footer-placeholder p { margin:8px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.whatsapp-fab { position:fixed; right:18px; bottom:18px; z-index:45; width:58px; height:58px; display:grid; place-items:center; border-radius:50%; color:#06130b; background:linear-gradient(135deg,#72ffa5,#29d978); box-shadow:0 20px 45px rgba(62,234,132,.26); }
.whatsapp-fab svg { width:26px; height:26px; }

.auth-shell { min-height:100vh; display:grid; place-items:center; padding:32px 16px; background:radial-gradient(circle at 70% 10%,rgba(62,234,132,.12),transparent 30%),var(--bg); }
.auth-card { width:min(470px,100%); padding:32px; }
.auth-card h1 { margin:12px 0 10px; font-size:31px; }
.auth-card > p { margin-bottom:24px; color:var(--muted); line-height:1.6; }
.auth-card form { display:grid; gap:18px; }
.auth-icon { width:54px; height:54px; margin:18px 0; border-radius:18px; }
.auth-icon svg { width:26px; height:26px; }
.auth-toggle { margin-top:18px; }
.back-link { padding:0; border:0; display:inline-flex; align-items:center; gap:7px; color:var(--muted); background:transparent; font-size:13px; }
.back-link svg { width:17px; height:17px; }
.full-screen-message { text-align:center; }
.full-screen-message .auth-icon { margin-left:auto; margin-right:auto; }
.spin { animation:spin 1s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

.admin-header { position:sticky; top:0; z-index:40; background:rgba(5,11,8,.9); border-bottom:1px solid var(--border); backdrop-filter:blur(15px); }
.admin-header-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.admin-header h1 { margin:5px 0 0; font-size:25px; }
.admin-main { padding-top:30px; padding-bottom:70px; display:grid; gap:20px; }
.dashboard-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.stat-card { padding:20px; display:grid; gap:8px; }
.stat-card span { color:var(--muted); font-size:12px; }
.stat-card strong { font-size:34px; }
.admin-section { padding:24px; }
.admin-section h2 { margin:7px 0 8px; font-size:28px; }
.admin-section-heading { margin-bottom:18px; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.admin-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.admin-filter-grid input,.admin-filter-grid select { min-height:42px; }
.search-field { grid-column:span 2; display:flex; align-items:center; gap:8px; padding-left:12px; border:1px solid rgba(195,227,206,.22); border-radius:13px; background:#07120c; }
.search-field input { border:0; padding-left:0; box-shadow:none!important; }
.search-field svg { flex:0 0 auto; width:18px; height:18px; color:var(--muted); }
.admin-count { margin:13px 0 0; color:var(--muted); font-size:12px; }
.admin-two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.count-list { list-style:none; padding:0; margin:16px 0 0; display:grid; gap:10px; }
.count-list li { padding-bottom:10px; display:flex; justify-content:space-between; gap:18px; color:var(--muted); border-bottom:1px solid var(--border); }
.count-list strong { color:var(--text); }
.qr-grid { margin-top:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.qr-card { padding:14px; display:flex; gap:14px; border:1px solid var(--border); border-radius:16px; background:rgba(255,255,255,.02); }
.qr-preview { flex:0 0 auto; width:112px; height:112px; padding:5px; object-fit:contain; border-radius:10px; background:#fff; }
.qr-copy { min-width:0; flex:1; display:grid; align-content:start; gap:8px; }
.qr-copy code { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:var(--muted); font-size:10px; }
.lead-list { display:grid; gap:14px; }
.lead-card { padding:22px; }
.lead-topline { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.lead-topline h3 { margin:0 0 6px; font-size:22px; }
.lead-topline p { margin:2px 0; color:var(--muted); font-size:13px; }
.lead-topline select { width:auto; min-width:150px; }
.lead-meta { margin-top:15px; display:flex; flex-wrap:wrap; gap:8px; }
.lead-meta span { padding:7px 10px; border-radius:999px; color:#a1ffc2; background:rgba(62,234,132,.12); font-size:11px; }
.lead-message { margin-top:13px; padding:12px 14px; border-radius:12px; background:rgba(255,255,255,.03); line-height:1.55; }
.empty-state { padding:35px; color:var(--muted); text-align:center; }

@media (max-width:900px) {
  .hero-inner { grid-template-columns:1fr; }
  .hero-orbit { display:none; }
  .hero { min-height:auto; }
  .creative-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; margin-right:-16px; }
  .creative-card { min-width:min(82vw,360px); scroll-snap-align:start; }
  .goal-grid,.testimonial-grid { grid-template-columns:1fr; }
  .feature-grid,.steps-grid,.admin-two-column,.qr-grid { grid-template-columns:1fr; }
  .dashboard-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .search-field { grid-column:span 2; }
}
@media (max-width:640px) {
  .container,.container.narrow { width:min(100% - 24px,1120px); }
  .section { padding:56px 0; }
  .hero-inner { padding-top:54px; padding-bottom:58px; }
  .hero h1 { font-size:45px; }
  .button-row:not(.compact-row) { flex-direction:column; }
  .button-row:not(.compact-row) .button { width:100%; }
  .split-heading { display:block; }
  .split-heading > p { margin-top:14px; }
  .form-card { padding:22px 16px; }
  .form-grid { grid-template-columns:1fr; }
  .coach-card { grid-template-columns:1fr; padding:18px; }
  .coach-photo { min-height:190px; }
  .coach-details dl { grid-template-columns:1fr; }
  .coach-details .wide { grid-column:auto; }
  .admin-header-inner,.admin-section-heading,.lead-topline { align-items:stretch; flex-direction:column; }
  .admin-header-inner { padding:14px 0; }
  .admin-filter-grid { grid-template-columns:1fr; }
  .search-field { grid-column:auto; }
  .qr-card { flex-direction:column; }
  .qr-preview { width:130px; height:130px; }
  .lead-topline select { width:100%; }
  .auth-card { padding:24px 18px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

@media (max-width: 520px) { .demo-site-pill { display:none; } }
