/* =============================================
   HABIT TRACKER — Landing Page
   Theme: Emerald / Minimal Motivational
   ============================================= */
:root {
  --accent: #10b981;
  --accent-dark: #059669;
  --accent-darker: #047857;
  --accent-light: #a7f3d0;
  --accent-xlight: #ecfdf5;
  --orange: #f97316;
  --text-primary: #0a1f14;
  --text-secondary: #374151;
  --text-muted: #6b7280;
  --bg: #ffffff;
  --bg-soft: #f9fafb;
  --bg-card: #ffffff;
  --border: #e5e7eb;
  --border-soft: #f3f4f6;
  --shadow-sm: 0 1px 3px rgba(16,185,129,.06);
  --shadow-md: 0 4px 16px rgba(16,185,129,.10);
  --shadow-lg: 0 12px 40px rgba(16,185,129,.14);
  --radius: 16px; --radius-lg: 24px;
  --nav-height: 70px;
  --font: 'Segoe UI', system-ui, -apple-system, sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);background:var(--bg);color:var(--text-primary);overflow-x:hidden;line-height:1.6;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem);}
h1{font-size:clamp(2rem,4.5vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;}
h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:700;line-height:1.2;letter-spacing:-.01em;}
h3{font-size:clamp(1rem,1.8vw,1.15rem);font-weight:600;}
p{color:var(--text-secondary);}
a{text-decoration:none;color:inherit;}
.gradient-text{background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#10b981,#059669);color:white;font-weight:600;font-size:.95rem;padding:.75rem 1.5rem;border-radius:50px;border:none;cursor:pointer;transition:all .25s;box-shadow:0 4px 14px rgba(16,185,129,.35);white-space:nowrap;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(16,185,129,.45);}
.btn-primary:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--accent-dark);font-weight:600;font-size:.95rem;padding:.75rem 1.5rem;border-radius:50px;border:2px solid var(--accent);cursor:pointer;transition:all .25s;}
.btn-secondary:hover{background:var(--accent-xlight);transform:translateY(-2px);}
.btn-secondary:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.btn-large{padding:1rem 2rem;font-size:1.05rem;}

/* NAV */
.nav-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-soft);height:var(--nav-height);transition:all .3s;}
.nav-header.scrolled{box-shadow:var(--shadow-md);}
.nav-container{max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem);height:100%;display:flex;align-items:center;gap:1.5rem;}
.nav-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1rem;flex-shrink:0;}
.nav-logo-icon{font-size:1.4rem;}
.nav-links{display:flex;list-style:none;gap:.1rem;margin-left:auto;}
.nav-links a{color:var(--text-secondary);font-size:.88rem;font-weight:500;padding:.4rem .7rem;border-radius:8px;transition:all .2s;}
.nav-links a:hover{color:var(--accent-dark);background:var(--accent-xlight);}
.nav-links a:focus-visible{outline:2px solid var(--accent);}
.nav-cta{margin-left:.5rem;background:linear-gradient(135deg,#10b981,#059669);color:white;font-weight:600;font-size:.875rem;padding:.5rem 1.2rem;border-radius:50px;transition:all .25s;white-space:nowrap;box-shadow:0 2px 8px rgba(16,185,129,.3);}
.nav-cta:hover{transform:translateY(-1px);}
.nav-cta:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;border-radius:8px;margin-left:auto;}
.hamburger span{display:block;width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.hamburger:focus-visible{outline:2px solid var(--accent);}
.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:white;z-index:2000;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 30px rgba(0,0,0,.12);}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:.25rem;margin-top:1rem;}
.mobile-link{display:block;padding:.75rem 1rem;border-radius:12px;font-weight:500;color:var(--text-secondary);transition:all .2s;}
.mobile-link:hover{background:var(--accent-xlight);color:var(--accent-darker);}
.mobile-menu-close{align-self:flex-end;background:var(--bg-soft);border:none;cursor:pointer;width:36px;height:36px;border-radius:50%;font-size:1rem;color:var(--text-secondary);}
.mobile-cta{margin-top:1.5rem;justify-content:center;}
.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1999;opacity:0;pointer-events:none;transition:opacity .3s;}
.mobile-overlay.visible{opacity:1;pointer-events:all;}

/* HERO */
.hero{min-height:100svh;padding-top:var(--nav-height);display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(155deg,#ecfdf5 0%,#ffffff 50%,#fff7ed 100%);}
.hero-bg{position:absolute;inset:0;pointer-events:none;}
.bg-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(16,185,129,.10) 1.5px,transparent 1.5px);background-size:24px 24px;}
.orb{position:absolute;border-radius:50%;}
.orb-1{width:clamp(350px,45vw,650px);height:clamp(350px,45vw,650px);background:radial-gradient(circle,rgba(16,185,129,.09),transparent 70%);top:-15%;right:-10%;}
.orb-2{width:clamp(200px,28vw,400px);height:clamp(200px,28vw,400px);background:radial-gradient(circle,rgba(249,115,22,.06),transparent 70%);bottom:5%;left:-5%;}

.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(2rem,5vw,4rem) 0 clamp(3rem,6vw,5rem);}
.hero-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent-xlight);color:var(--accent-darker);font-size:.82rem;font-weight:600;padding:.4rem 1rem;border-radius:50px;border:1px solid var(--accent-light);margin-bottom:1.25rem;}
.hero-content h1{margin-bottom:1.25rem;}
.hero-desc{font-size:clamp(1rem,1.8vw,1.1rem);margin-bottom:2rem;max-width:480px;line-height:1.7;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;}
.hero-tags{display:flex;flex-wrap:wrap;gap:.5rem;}
.tag{background:white;border:1px solid var(--border);color:var(--text-secondary);font-size:.78rem;font-weight:500;padding:.3rem .8rem;border-radius:50px;box-shadow:var(--shadow-sm);}

/* Phone mockup */
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;}
.phone-mockup{position:relative;z-index:2;}
.phone-shell{width:clamp(220px,30vw,285px);background:linear-gradient(160deg,#0a1f14,#0d2818);border-radius:40px;padding:16px;box-shadow:0 30px 80px rgba(0,0,0,.3),0 8px 24px rgba(16,185,129,.15),inset 0 0 0 1px rgba(255,255,255,.06);}
.mock-screen{background:#071410;border-radius:28px;padding:1rem;}
.mock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08);}
.mock-header span:first-child{color:white;font-size:.85rem;font-weight:700;}
.mock-date-badge{background:rgba(16,185,129,.25);color:#6ee7b7;font-size:.65rem;font-weight:700;padding:.2rem .55rem;border-radius:50px;}
.mock-habits{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.7rem;}
.mh-item{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.04);border-radius:10px;padding:.5rem .65rem;border:1px solid rgba(255,255,255,.05);}
.mh-item.done{border-color:rgba(16,185,129,.2);background:rgba(16,185,129,.05);}
.mh-check{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0;}
.mh-check.done{background:rgba(16,185,129,.25);color:#34d399;}
.mh-check.pending{border:2px solid rgba(255,255,255,.15);color:transparent;}
.mh-info{flex:1;}
.mh-info span{display:block;color:white;font-size:.72rem;font-weight:500;}
.mh-info small{color:rgba(255,255,255,.4);font-size:.6rem;}
.mh-cat{font-size:.58rem;font-weight:700;padding:.15rem .5rem;border-radius:50px;}
.mh-cat.exercise{background:rgba(249,115,22,.2);color:#fb923c;}
.mh-cat.mindset{background:rgba(139,92,246,.2);color:#c4b5fd;}
.mh-cat.health{background:rgba(16,185,129,.2);color:#34d399;}
.mock-progress-bar{background:rgba(255,255,255,.04);border-radius:10px;padding:.55rem .65rem;}
.mpb-label{display:flex;justify-content:space-between;font-size:.65rem;color:rgba(255,255,255,.4);margin-bottom:.35rem;}
.mpb-track{height:5px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;}
.mpb-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:3px;}

.float-badge{position:absolute;background:white;border:1px solid var(--border);border-radius:50px;padding:.45rem .9rem;font-size:.76rem;font-weight:600;color:var(--text-secondary);box-shadow:var(--shadow-md);white-space:nowrap;animation:floatB 4s ease-in-out infinite;}
.fb-1{top:8%;left:-12%;animation-delay:0s;}
.fb-2{bottom:28%;left:-14%;animation-delay:1.3s;}
.fb-3{top:48%;right:-8%;animation-delay:.7s;}
@keyframes floatB{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

/* HIGHLIGHTS */
.highlights{padding:clamp(2.5rem,5vw,4rem) 0;background:var(--bg-soft);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);}
.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.25rem;}
.hl-item{display:flex;align-items:center;gap:.75rem;background:white;border-radius:var(--radius);padding:1rem 1.2rem;border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);transition:all .25s;}
.hl-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-light);}
.hl-icon{font-size:1.4rem;flex-shrink:0;}
.hl-item div{display:flex;flex-direction:column;gap:.1rem;}
.hl-item strong{font-size:.88rem;color:var(--text-primary);}
.hl-item span{font-size:.76rem;color:var(--text-muted);line-height:1.4;}

/* SECTION HEADER */
.section-header{text-align:center;margin-bottom:clamp(2rem,4vw,3.5rem);}
.section-tag{display:inline-block;background:var(--accent-xlight);color:var(--accent-darker);font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.3rem .9rem;border-radius:50px;border:1px solid var(--accent-light);margin-bottom:.75rem;}
.section-header h2{margin-bottom:.75rem;}
.section-header p{color:var(--text-muted);max-width:560px;margin:0 auto;font-size:1rem;}

/* FEATURES */
.features{padding:clamp(4rem,8vw,7rem) 0;}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;}
.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.25rem,3vw,1.75rem);transition:all .3s;box-shadow:var(--shadow-sm);}
.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-light);}
.feat-icon{font-size:1.8rem;margin-bottom:.75rem;}
.feature-card h3{margin-bottom:.5rem;font-size:.95rem;}
.feature-card p{font-size:.85rem;color:var(--text-muted);line-height:1.6;}

/* SHOWCASE */
.showcase{padding:clamp(3rem,6vw,6rem) 0;background:var(--bg-soft);}
.showcase-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;margin-bottom:clamp(3rem,6vw,5rem);}
.showcase-row:last-child{margin-bottom:0;}
.showcase-row.reverse{direction:rtl;}
.showcase-row.reverse>*{direction:ltr;}
.sc-vis-card{background:white;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-lg);}
/* Streak vis */
.sv-title{font-size:.85rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;}
.sv-habit-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;}
.sv-habit-name{font-size:.9rem;font-weight:600;color:var(--text-primary);}
.sv-streak-count{background:rgba(249,115,22,.1);color:var(--orange);font-size:.82rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;}
.sv-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:.75rem;}
.sv-day{aspect-ratio:1;border-radius:6px;background:var(--border);}
.sv-day.done{background:var(--accent);}
.sv-day.today{background:var(--accent-dark);outline:2px solid var(--accent-light);outline-offset:2px;}
.sv-best{font-size:.78rem;color:var(--text-muted);text-align:center;padding-top:.5rem;border-top:1px solid var(--border-soft);}
/* Weekly vis */
.wv-title{font-size:.85rem;font-weight:700;color:var(--text-primary);margin-bottom:.65rem;}
.wv-days{display:grid;grid-template-columns:80px repeat(7,1fr);gap:4px;margin-bottom:.5rem;}
.wv-days span{font-size:.65rem;font-weight:700;color:var(--text-muted);text-align:center;}
.wv-days span:first-child{visibility:hidden;}
.wv-row{display:grid;grid-template-columns:80px 1fr;gap:.5rem;align-items:center;margin-bottom:.5rem;}
.wv-name{font-size:.72rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wv-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.wv-dot{aspect-ratio:1;border-radius:4px;}
.wv-dot.done{background:var(--accent);}
.wv-dot.missed{background:#fca5a5;}
.wv-dot.today{background:var(--accent-dark);outline:2px solid var(--accent-light);outline-offset:1px;}
.wv-dot.empty{background:var(--border-soft);}

.sc-tag{display:inline-block;background:var(--accent-xlight);color:var(--accent-darker);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.25rem .75rem;border-radius:50px;margin-bottom:.75rem;}
.showcase-content h3{font-size:clamp(1.3rem,3vw,1.9rem);margin-bottom:.75rem;}
.showcase-content p{font-size:1rem;margin-bottom:1.25rem;line-height:1.7;}
.sc-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.sc-list li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);}
.sc-list li::before{content:'✓';color:var(--accent);font-weight:700;}

/* SCREENSHOTS */
.screenshots{padding:clamp(4rem,8vw,7rem) 0;}
.screenshots-row{display:flex;justify-content:center;align-items:flex-end;gap:clamp(1rem,3vw,2rem);flex-wrap:wrap;}
.screenshot-frame{display:flex;flex-direction:column;align-items:center;gap:1rem;transition:transform .3s;}
.screenshot-frame:hover{transform:translateY(-6px);}
.screenshot-frame p{font-size:.82rem;font-weight:600;color:var(--text-muted);}
.screenshot-frame.featured{transform:scale(1.06);}
.screenshot-frame.featured:hover{transform:scale(1.06) translateY(-6px);}
.phone-frame{width:clamp(140px,19vw,175px);background:#0a1f14;border-radius:32px;padding:10px;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.phone-screen-ss{border-radius:24px;overflow:hidden;aspect-ratio:9/18;background:#071410;}
.ss-inner{padding:.75rem;height:100%;display:flex;flex-direction:column;gap:.4rem;}
.ss-bar{display:flex;justify-content:space-between;font-size:.68rem;font-weight:600;color:rgba(255,255,255,.7);padding-bottom:.4rem;border-bottom:1px solid rgba(255,255,255,.08);}
.ss-habit{display:flex;align-items:center;gap:.35rem;padding:.38rem .45rem;background:rgba(255,255,255,.04);border-radius:8px;font-size:.62rem;color:rgba(255,255,255,.7);}
.ss-habit.done-h{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.15);}
.ss-chk{width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:.55rem;flex-shrink:0;}
.ss-chk.done-c{background:rgba(16,185,129,.25);color:#34d399;border-color:transparent;}
.ss-habit span:nth-child(2){flex:1;}
.ss-streak{font-size:.58rem;font-weight:700;flex-shrink:0;}
.ss-streak.gray{color:rgba(255,255,255,.25);}
.ss-prog-label{text-align:center;font-size:.62rem;font-weight:600;color:#34d399;padding:.3rem;background:rgba(16,185,129,.1);border-radius:6px;margin-top:auto;}
.ss-stat-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;}
.ss-stat-row span:first-child{font-size:.65rem;color:rgba(255,255,255,.55);}
.ss-pct-big{font-size:1.3rem;font-weight:900;color:#34d399;}
.ss-mini-bars{display:flex;flex-direction:column;gap:.3rem;flex:1;}
.ss-mb-row{display:flex;align-items:center;gap:.35rem;}
.ss-mb-row span{font-size:.58rem;color:rgba(255,255,255,.45);width:22px;flex-shrink:0;}
.ss-mb-bar{flex:1;height:5px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;}
.ss-mb-bar div{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:3px;}
.ss-best-streak{text-align:center;font-size:.62rem;font-weight:700;color:#fb923c;background:rgba(249,115,22,.1);padding:.35rem;border-radius:6px;}
.ss-reminder{display:flex;justify-content:space-between;align-items:center;padding:.38rem .45rem;background:rgba(255,255,255,.04);border-radius:8px;font-size:.62rem;color:rgba(255,255,255,.7);}
.ss-time{color:#34d399;font-weight:700;font-size:.6rem;}
.ss-add-rem{text-align:center;border:1px dashed rgba(16,185,129,.3);color:rgba(16,185,129,.6);font-size:.6rem;font-weight:600;padding:.35rem;border-radius:8px;margin-top:auto;}

/* HOW IT WORKS */
.how-it-works{padding:clamp(4rem,8vw,7rem) 0;background:var(--bg-soft);}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;}
.step{text-align:center;padding:1.75rem 1rem;background:white;border-radius:var(--radius-lg);border:1px solid var(--border-soft);transition:all .3s;box-shadow:var(--shadow-sm);}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent-light);}
.step-num{font-size:2.5rem;font-weight:900;color:var(--accent-light);line-height:1;margin-bottom:.25rem;}
.step-icon{font-size:1.8rem;margin-bottom:.75rem;}
.step h3{margin-bottom:.5rem;}
.step p{font-size:.85rem;color:var(--text-muted);}

/* BENEFITS */
.benefits{padding:clamp(4rem,8vw,7rem) 0;}
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;}
.benefit-card{background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2rem);transition:all .3s;}
.benefit-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--accent-light);background:white;}
.b-icon{font-size:2rem;margin-bottom:1rem;}
.benefit-card h3{margin-bottom:.5rem;}
.benefit-card p{font-size:.875rem;color:var(--text-muted);line-height:1.6;}

/* FAQ */
.faq{padding:clamp(4rem,8vw,7rem) 0;background:var(--bg-soft);}
.faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem;}
.faq-item{background:white;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);}
.faq-question{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;text-align:left;padding:1.2rem 1.5rem;font-size:.92rem;font-weight:600;color:var(--text-primary);cursor:pointer;gap:1rem;transition:background .2s;}
.faq-question:hover{background:var(--accent-xlight);}
.faq-question:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
.faq-question[aria-expanded="true"]{color:var(--accent-darker);}
.faq-icon{font-size:1.2rem;font-weight:400;color:var(--accent);flex-shrink:0;transition:transform .3s;line-height:1;}
.faq-question[aria-expanded="true"] .faq-icon{transform:rotate(45deg);}
.faq-answer{padding:0 1.5rem 1.2rem;}
.faq-answer p{font-size:.875rem;color:var(--text-muted);line-height:1.7;}

/* CTA */
.final-cta{padding:clamp(4rem,8vw,7rem) 0;}
.cta-box{text-align:center;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid var(--accent-light);border-radius:var(--radius-lg);padding:clamp(3rem,6vw,5rem) clamp(1.5rem,4vw,3rem);}
.cta-icon{font-size:3rem;margin-bottom:1rem;}
.cta-box h2{margin-bottom:.75rem;}
.cta-box p{font-size:1.05rem;color:var(--text-muted);margin-bottom:2rem;max-width:480px;margin-left:auto;margin-right:auto;}

/* FOOTER */
.footer{background:#0a1f14;color:rgba(255,255,255,.6);padding:clamp(3rem,6vw,5rem) 0 2rem;}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(2rem,4vw,3rem);margin-bottom:3rem;}
.footer-brand{display:flex;flex-direction:column;gap:.75rem;}
.footer-logo{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:white;}
.footer-brand p{font-size:.875rem;line-height:1.6;max-width:280px;}
.footer-dl{align-self:flex-start;margin-top:.5rem;font-size:.875rem;}
.footer-links h3{color:white;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;}
.footer-links ul{list-style:none;display:flex;flex-direction:column;gap:.6rem;}
.footer-links a{font-size:.875rem;color:rgba(255,255,255,.55);transition:color .2s;}
.footer-links a:hover{color:var(--accent-light);}
.footer-links a:focus-visible{outline:2px solid var(--accent);border-radius:2px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;display:flex;flex-direction:column;gap:.25rem;}
.footer-bottom p{font-size:.8rem;color:rgba(255,255,255,.35);}

.back-to-top{position:fixed;bottom:1.5rem;right:1.5rem;z-index:900;width:44px;height:44px;border-radius:50%;background:var(--accent);color:white;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(16,185,129,.4);transition:all .3s;opacity:0;transform:translateY(8px);}
.back-to-top:not([hidden]){opacity:1;transform:translateY(0);}
.back-to-top:hover{background:var(--accent-dark);transform:translateY(-2px);}
.back-to-top:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}

[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
[data-reveal].revealed{opacity:1;transform:translateY(0);}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}.float-badge{animation:none;}}
@media (max-width:1024px){.footer-inner{grid-template-columns:1fr 1fr;}.footer-brand{grid-column:1 / -1;}}
@media (max-width:768px){
  .nav-links,.nav-cta{display:none;}.hamburger{display:flex;}
  .hero-inner{grid-template-columns:1fr;text-align:center;}
  .hero-desc,.hero-actions,.hero-tags{justify-content:center;margin-left:auto;margin-right:auto;}.hero-desc{max-width:100%;}
  .float-badge{display:none;}
  .showcase-row,.showcase-row.reverse{grid-template-columns:1fr;direction:ltr;}
  .footer-inner{grid-template-columns:1fr;}.footer-brand{grid-column:auto;}
}
@media (max-width:480px){
  .hero-actions{flex-direction:column;align-items:center;}
  .hero-actions>*{width:100%;max-width:280px;justify-content:center;}
  .features-grid{grid-template-columns:1fr;}
  .steps-grid{grid-template-columns:1fr 1fr;}
  .benefits-grid{grid-template-columns:1fr;}
  .screenshots-row{flex-direction:column;align-items:center;}.screenshot-frame.featured{transform:scale(1);}
}
@media (max-width:360px){h1{font-size:1.9rem;}.steps-grid{grid-template-columns:1fr;}}

/* ============================================================
   HABIT TRACKER — LOADING SCREEN + ENHANCED UI  (v2)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@600;700;800&display=swap');

:root { --font-display: 'Space Grotesk', 'Inter', sans-serif; --shadow-xl: 0 20px 60px rgba(16,185,129,.18); --radius-xl: 32px; }

/* ── Scroll progress ── */
#ht-scroll-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0%;
  background: linear-gradient(90deg, #10b981, #f97316);
  z-index: 9999; pointer-events: none;
  transition: width .1s linear;
  box-shadow: 0 0 8px rgba(16,185,129,.6);
}

/* ── Loader ── */
#ht-loader {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: radial-gradient(ellipse at 40% 50%, #04150d 0%, #020c06 55%, #010804 100%);
  overflow: hidden;
  transition: opacity .65s ease, visibility .65s ease;
}
#ht-loader.ht-out { opacity: 0; visibility: hidden; pointer-events: none; }

.htl-bg {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(16,185,129,.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(249,115,22,.06) 0%, transparent 50%);
  animation: htlBgPulse 5s ease-in-out infinite;
}
@keyframes htlBgPulse { 0%,100%{opacity:.7;} 50%{opacity:1;} }

.htl-orb-1 {
  position: absolute; border-radius: 50%; pointer-events: none;
  width: 480px; height: 480px;
  background: radial-gradient(circle, rgba(16,185,129,.12) 0%, transparent 65%);
  top: -100px; right: -80px;
  animation: htlOrbPulse 6s ease-in-out infinite;
}
.htl-orb-2 {
  position: absolute; border-radius: 50%; pointer-events: none;
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(249,115,22,.08) 0%, transparent 65%);
  bottom: -80px; left: -60px;
  animation: htlOrbPulse 8s ease-in-out infinite reverse;
}
@keyframes htlOrbPulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.1);} }

.htl-content {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; align-items: center; gap: 1.4rem;
}

.htl-ring { position: relative; width: 110px; height: 110px; }
.htl-ring::before {
  content: ''; position: absolute; inset: 0; border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #10b981; border-left-color: rgba(16,185,129,.4);
  animation: htlSpin 1.1s linear infinite;
}
.htl-ring::after {
  content: ''; position: absolute; inset: 10px; border-radius: 50%;
  border: 2px solid transparent;
  border-bottom-color: #f97316; border-right-color: rgba(249,115,22,.4);
  animation: htlSpin 1.7s linear infinite reverse;
}
@keyframes htlSpin { to { transform: rotate(360deg); } }

.htl-icon {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-size: 2.8rem;
  animation: htlBounce .65s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes htlBounce { from{transform:scale(0) rotate(-20deg);opacity:0;} to{transform:scale(1) rotate(0);opacity:1;} }

.htl-name {
  font-family: var(--font-display);
  font-size: 2rem; font-weight: 800; letter-spacing: -.03em;
  background: linear-gradient(135deg, #10b981, #f97316);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  animation: htlFadeUp .6s .3s ease both;
}
.htl-tagline {
  font-size: .85rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(167,243,208,.55);
  animation: htlFadeUp .6s .42s ease both;
}

/* Habit streak row */
.htl-streak-row {
  display: flex; gap: .5rem;
  animation: htlFadeUp .6s .55s ease both;
}
.htl-day {
  width: 32px; height: 32px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem; font-weight: 700;
  animation: htlDayPop .4s cubic-bezier(.34,1.56,.64,1) both;
}
.htl-day.done  { background: rgba(16,185,129,.25); color: #34d399; border: 1px solid rgba(16,185,129,.35); }
.htl-day.today { background: rgba(16,185,129,.45); color: #fff;    border: 1px solid #10b981; box-shadow: 0 0 12px rgba(16,185,129,.5); }
.htl-day.off   { background: rgba(255,255,255,.05); color: rgba(255,255,255,.25); border: 1px solid rgba(255,255,255,.08); }
.htl-day:nth-child(1){animation-delay:.55s;} .htl-day:nth-child(2){animation-delay:.62s;}
.htl-day:nth-child(3){animation-delay:.69s;} .htl-day:nth-child(4){animation-delay:.76s;}
.htl-day:nth-child(5){animation-delay:.83s;} .htl-day:nth-child(6){animation-delay:.90s;}
.htl-day:nth-child(7){animation-delay:.97s;}
@keyframes htlDayPop { from{transform:scale(0);opacity:0;} to{transform:scale(1);opacity:1;} }

.htl-progress-wrap {
  width: 210px; height: 4px;
  background: rgba(16,185,129,.1); border-radius: 50px; overflow: hidden;
  animation: htlFadeUp .6s .65s ease both;
}
.htl-progress-bar {
  height: 100%; background: linear-gradient(90deg, #10b981, #f97316);
  border-radius: 50px; width: 0%; transition: width .1s linear;
  box-shadow: 0 0 10px rgba(16,185,129,.6);
}
@keyframes htlFadeUp { from{opacity:0;transform:translateY(18px);} to{opacity:1;transform:translateY(0);} }

/* ── Enhanced hover cards ── */
.feature-card, .step { position: relative; overflow: hidden; }
.feature-card::before, .step::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(16,185,129,.06), transparent);
  opacity: 0; transition: opacity .3s;
}
.feature-card:hover::before, .step:hover::before { opacity: 1; }
.step-num { font-family: var(--font-display, 'Segoe UI'); }
.footer { background: linear-gradient(160deg, #030f07, #041508); }
