/* ilean.app — base styles */
:root {
  --ink:    #1c1714;
  --paper:  #faf8f4;
  --terra:  #c85d3a;
  --warm:   #f5ede4;
  --sand:   #e8ddd0;
  --muted:  #8a7e78;
  --line:   #e0d6cc;
  --white:  #ffffff;
  --dark:   #120f0d;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{display:block;width:100%;height:100%;object-fit:cover;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

/* NAV */
#nav{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--line);}
.nav-wrap{max-width:1200px;margin:0 auto;padding:0 28px;height:64px;display:flex;align-items:center;gap:32px;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Fraunces',Georgia,serif;font-size:1.25rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin-right:auto;}
.logo svg{width:24px;height:24px;color:var(--terra);}
.nav-links{display:flex;gap:28px;}
.nav-links a{font-size:.85rem;color:var(--muted);font-weight:500;transition:color .15s;}
.nav-links a:hover{color:var(--ink);}
.nav-login{font-size:.85rem;font-weight:600;color:var(--muted);}
.nav-cta{background:var(--terra);color:var(--white);font-size:.82rem;font-weight:700;padding:9px 20px;letter-spacing:.02em;}
.nav-cta:hover{opacity:.88;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--ink);}
@media(max-width:768px){.nav-links{display:none;}.hamburger{display:flex;}}

/* MOBILE MENU */
.mob-menu{position:fixed;inset:0;background:var(--paper);z-index:200;padding:28px;display:flex;flex-direction:column;gap:24px;transform:translateX(100%);transition:transform .25s;}
.mob-menu.open{transform:none;}
.mob-menu a{font-size:1.4rem;font-weight:700;color:var(--ink);}
.mob-close{align-self:flex-end;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--muted);}

/* HERO */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;background:var(--dark);}
.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:80px 28px;width:100%;}
.hero-content{max-width:580px;}
.hero-label{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);margin-bottom:20px;}
.hero h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(2.4rem,5vw,4rem);font-weight:800;line-height:1.1;color:var(--white);margin-bottom:20px;letter-spacing:-.02em;}
.hero h1 .acc{color:var(--terra);}
.hero-sub{font-size:1rem;color:rgba(255,255,255,.55);line-height:1.8;max-width:460px;margin-bottom:36px;}
.hero-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px;}
.btn-hero{display:inline-block;background:var(--terra);color:var(--white);font-weight:700;font-size:.9rem;padding:14px 32px;letter-spacing:.02em;transition:opacity .15s;}
.btn-hero:hover{opacity:.88;}
.btn-ghost-white{font-size:.85rem;font-weight:600;color:rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:2px;transition:color .15s;}
.btn-ghost-white:hover{color:var(--white);}
.hero-trust{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.hero-trust span{font-size:.75rem;color:rgba(255,255,255,.35);font-weight:500;}
.hero-trust span::before{content:'✓ ';color:var(--terra);}
.hero-photo{position:absolute;right:0;top:0;bottom:0;width:50%;z-index:0;}
@media(max-width:900px){.hero{min-height:auto;}.hero-photo{opacity:.25;width:100%;}.hero-inner{padding:100px 24px 80px;}}

/* TICKER */
.ticker{background:var(--terra);overflow:hidden;padding:12px 0;white-space:nowrap;}
.ticker-inner{display:inline-flex;animation:tick 28s linear infinite;gap:0;}
.ticker-inner span{padding:0 28px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85);}
.ticker-inner span::after{content:'·';margin-left:28px;opacity:.5;}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* BENEFITS STRIP */
.benefits-strip{background:var(--paper);border-bottom:1px solid var(--line);padding:16px 0;}
.benefits-inner{max-width:1200px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;}
.benefit-pill{display:flex;align-items:center;gap:9px;padding:10px 28px;border-right:1px solid var(--line);font-size:.78rem;color:var(--muted);}
.benefit-pill:last-child{border-right:none;}
.benefit-pill strong{color:var(--ink);font-weight:700;}
.benefit-icon{font-size:1.1rem;line-height:1;}
@media(max-width:700px){.benefit-pill{padding:8px 14px;font-size:.72rem;}.benefit-pill:nth-child(n+3){border-top:1px solid var(--line);}}

/* SECTION WRAPPERS */
.section{padding:96px 0;}
.section-light{background:var(--paper);}
.section-warm{background:var(--warm);}
.section-dark{background:var(--dark);padding:80px 0;}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px;}
.sh{max-width:560px;}
.sh.center{text-align:center;margin:0 auto;}
.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);}
.sh-title{font-family:'Fraunces',Georgia,serif;font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.1;margin-top:10px;letter-spacing:-.02em;}
.sh-sub{font-size:.92rem;color:var(--muted);line-height:1.8;margin-top:12px;}
.section-dark .eyebrow{color:var(--terra);}
.section-dark .sh-title{color:var(--white);}

/* FEATURES */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:56px;}
.feat-card{background:var(--paper);overflow:hidden;}
.feat-card-img{height:240px;overflow:hidden;position:relative;}
.feat-card-img img{transition:transform .4s;filter:saturate(1.1) brightness(0.92);}
.feat-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(28,23,20,.4));}
.feat-card:hover .feat-card-img img{transform:scale(1.03);}
.feat-card-body{padding:28px 24px 32px;}
.feat-card-body h3{font-family:'Fraunces',Georgia,serif;font-size:1.15rem;font-weight:700;margin-bottom:10px;}
.feat-card-body p{font-size:.84rem;color:var(--muted);line-height:1.8;}
.feat-card-link{display:inline-block;margin-top:16px;font-size:.8rem;font-weight:700;color:var(--terra);letter-spacing:.04em;border-bottom:1px solid var(--terra);padding-bottom:1px;}
@media(max-width:768px){.feat-grid{grid-template-columns:1fr;}}

/* TOPICS GRID */
.topics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:48px;}
.topic-card{background:var(--paper);padding:28px 24px;display:flex;align-items:flex-start;gap:16px;transition:background .15s;}
.topic-card:hover{background:var(--white);}
.topic-icon{font-size:1.5rem;line-height:1;flex-shrink:0;margin-top:2px;}
.topic-title{font-size:.88rem;font-weight:700;color:var(--ink);margin-bottom:4px;}
.topic-desc{font-size:.78rem;color:var(--muted);line-height:1.6;}
@media(max-width:900px){.topics-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.topics-grid{grid-template-columns:1fr;}}

/* STATS */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.07);}
.stat-item{padding:48px 32px;border-right:1px solid rgba(255,255,255,.07);}
.stat-item:last-child{border-right:none;}
.stat-num{font-family:'Fraunces',Georgia,serif;font-size:3rem;font-weight:800;color:var(--white);line-height:1;}
.stat-num .acc{color:var(--terra);}
.stat-lbl{font-size:.8rem;color:rgba(255,255,255,.4);margin-top:8px;line-height:1.5;}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);}.stat-item{padding:32px 24px;}}

/* HOW IT WORKS */
.how-grid{display:grid;grid-template-columns:1fr 1fr;}
.how-steps{border-right:1px solid var(--line);}
.how-step{padding:28px 32px;cursor:pointer;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:flex-start;transition:background .15s;}
.how-step:hover,.how-step.active{background:var(--warm);}
.how-step.active .step-num{color:var(--terra);}
.step-num{font-family:'Fraunces',Georgia,serif;font-size:1.1rem;font-weight:800;color:var(--line);flex-shrink:0;line-height:1.3;}
.how-step h4{font-size:.9rem;font-weight:700;margin-bottom:6px;}
.how-step p{font-size:.82rem;color:var(--muted);line-height:1.7;}
.how-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;background:var(--warm);}
.how-icon{font-size:3.5rem;}
.how-visual-title{font-family:'Fraunces',Georgia,serif;font-size:1.4rem;font-weight:700;color:var(--ink);text-align:center;}
.how-visual-sub{font-size:.83rem;color:var(--muted);text-align:center;}
@media(max-width:768px){.how-grid{grid-template-columns:1fr;}.how-steps{border-right:none;}.how-visual{display:none;}}

/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.07);}
.testi-card{background:var(--dark);padding:32px 28px;}
.testi-stars{color:var(--terra);font-size:.9rem;letter-spacing:3px;margin-bottom:14px;}
.testi-text{font-size:.88rem;color:rgba(255,255,255,.5);line-height:1.85;margin-bottom:20px;}
.testi-author{display:flex;align-items:center;gap:12px;}
.testi-av{width:36px;height:36px;border-radius:50%;background:var(--terra);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--white);flex-shrink:0;}
.testi-av-pair{display:flex;align-items:center;flex-shrink:0;}
.testi-av-pair .testi-av{border:2px solid var(--dark);}
.testi-av-pair .testi-av:nth-child(2){margin-left:-10px;background:var(--sand);color:var(--ink);}
.testi-name{font-size:.83rem;font-weight:700;color:var(--white);}
.testi-loc{font-size:.72rem;color:rgba(255,255,255,.35);}
@media(max-width:768px){.testi-grid{grid-template-columns:1fr;}}

/* PRICING */
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);}
.p-card{background:var(--white);padding:36px 28px;position:relative;}
.p-card.featured{background:var(--terra);color:var(--white);}
.p-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--white);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;}
.p-plan{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.p-card.featured .p-plan{color:rgba(255,255,255,.6);}
.p-price{font-family:'Fraunces',Georgia,serif;font-size:2.6rem;font-weight:800;line-height:1;margin-bottom:4px;}
.p-price sup{font-size:1.1rem;vertical-align:top;margin-top:8px;}
.p-note{font-size:.75rem;color:var(--muted);margin-bottom:24px;line-height:1.6;}
.p-card.featured .p-note{color:rgba(255,255,255,.6);}
.p-feats{display:flex;flex-direction:column;gap:8px;margin-bottom:28px;}
.p-feats li{font-size:.8rem;color:var(--muted);padding-left:16px;position:relative;line-height:1.5;}
.p-feats li::before{content:'✓';position:absolute;left:0;color:var(--terra);font-weight:700;}
.p-card.featured .p-feats li{color:rgba(255,255,255,.7);}
.p-card.featured .p-feats li::before{color:rgba(255,255,255,.9);}
.p-btn{display:block;text-align:center;background:var(--ink);color:var(--white);font-size:.82rem;font-weight:700;padding:13px;letter-spacing:.04em;transition:opacity .15s;}
.p-btn:hover{opacity:.8;}
.p-card.featured .p-btn{background:var(--white);color:var(--terra);}
@media(max-width:900px){.pricing-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.pricing-grid{grid-template-columns:1fr;}}

/* FAQ */
.faq-list{margin-top:48px;border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:20px 0;font-size:.92rem;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq-icon{font-size:1.2rem;color:var(--terra);flex-shrink:0;transition:transform .2s;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:200px;}
.faq-a-inner{font-size:.85rem;color:var(--muted);line-height:1.8;padding-bottom:20px;}

/* CTA BLOCK */
.cta-block{background:var(--terra);padding:96px 28px;text-align:center;}
.cta-block h2{font-family:'Fraunces',Georgia,serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;color:var(--white);margin-bottom:16px;letter-spacing:-.02em;}
.cta-block p{font-size:.95rem;color:rgba(255,255,255,.7);max-width:480px;margin:0 auto 36px;}
.btn-cta-white{display:inline-block;background:var(--white);color:var(--terra);font-weight:700;font-size:.9rem;padding:15px 36px;letter-spacing:.02em;transition:opacity .15s;}
.btn-cta-white:hover{opacity:.9;}

/* FOOTER */
footer{background:var(--dark);padding:64px 0 32px;}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.f-logo{font-family:'Fraunces',Georgia,serif;font-size:1.3rem;font-weight:800;color:var(--white);display:block;margin-bottom:12px;}
.f-brand p{font-size:.82rem;color:rgba(255,255,255,.35);line-height:1.7;}
.company-info{font-size:.72rem;color:rgba(255,255,255,.2);line-height:1.7;margin-top:12px;}
.f-col h4{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:16px;}
.f-col ul{display:flex;flex-direction:column;gap:10px;}
.f-col a{font-size:.82rem;color:rgba(255,255,255,.45);transition:color .15s;}
.f-col a:hover{color:var(--white);}
.f-divider{border:none;border-top:1px solid rgba(255,255,255,.07);margin-bottom:24px;}
.f-bottom p{font-size:.75rem;color:rgba(255,255,255,.2);}
@media(max-width:768px){.f-grid{grid-template-columns:1fr 1fr;}.f-brand{grid-column:1/-1;}}

/* LEGAL PAGES */
.page-hero{background:var(--warm);padding:80px 28px 60px;border-bottom:1px solid var(--line);}
.page-hero h1{font-family:'Fraunces',Georgia,serif;font-size:2.4rem;font-weight:800;margin-top:8px;}
.legal-wrap{max-width:760px;margin:0 auto;padding:64px 28px;}
.legal-wrap h2{font-family:'Fraunces',Georgia,serif;font-size:1.2rem;font-weight:700;margin:40px 0 12px;}
.legal-wrap p,.legal-wrap li{font-size:.9rem;color:var(--muted);line-height:1.85;margin-bottom:12px;}
.legal-wrap ul{padding-left:20px;list-style:disc;}
.legal-wrap a{color:var(--terra);text-decoration:underline;}
.legal-updated{font-size:.8rem;color:var(--muted);margin-bottom:32px;}
.company-box{background:var(--warm);border:1px solid var(--line);padding:20px 24px;margin-bottom:40px;}
.company-box p{margin:0;font-size:.85rem;}

/* PAYWALL */
.paywall-wrap{min-height:100vh;background:var(--dark);display:flex;align-items:center;justify-content:center;padding:40px 24px;}
.pw-card{background:var(--paper);max-width:480px;width:100%;padding:48px 40px;}
.pw-logo{font-family:'Fraunces',Georgia,serif;font-size:1.4rem;font-weight:800;color:var(--ink);text-align:center;margin-bottom:32px;display:block;}
.pw-title{font-family:'Fraunces',Georgia,serif;font-size:1.6rem;font-weight:800;text-align:center;margin-bottom:8px;}
.pw-sub{font-size:.85rem;color:var(--muted);text-align:center;margin-bottom:32px;}
.pw-plans{display:flex;flex-direction:column;gap:8px;margin-bottom:28px;}
.pw-plan{display:flex;align-items:center;gap:14px;padding:14px 16px;border:2px solid var(--line);cursor:pointer;transition:border-color .15s;}
.pw-plan.selected{border-color:var(--terra);}
.pw-plan input[type=radio]{accent-color:var(--terra);}
.pw-plan-label{flex:1;}
.pw-plan-name{font-size:.85rem;font-weight:700;}
.pw-plan-note{font-size:.72rem;color:var(--muted);}
.pw-plan-price{font-weight:700;font-size:.9rem;color:var(--terra);}
.pw-input{width:100%;border:1px solid var(--line);background:var(--white);padding:13px 16px;font-size:.9rem;margin-bottom:14px;outline:none;font-family:'Inter',sans-serif;}
.pw-input:focus{border-color:var(--terra);}
.pw-btn{width:100%;background:var(--terra);color:var(--white);border:none;padding:15px;font-size:.9rem;font-weight:700;cursor:pointer;letter-spacing:.04em;margin-bottom:16px;transition:opacity .15s;}
.pw-btn:hover{opacity:.88;}
.pw-btn:disabled{opacity:.5;cursor:wait;}
.pw-trust{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;}
.pw-trust span{font-size:.72rem;color:var(--muted);}
.pw-trust span::before{content:'✓ ';color:var(--terra);}
.pw-error{color:#c0392b;font-size:.8rem;margin-bottom:12px;display:none;}
.pw-featured{background:var(--terra);color:var(--white);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;margin-left:auto;}

/* CHECKOUT */
.checkout-wrap{min-height:100vh;background:var(--dark);display:grid;grid-template-columns:1fr 1fr;}
.co-left{padding:60px 48px;display:flex;flex-direction:column;justify-content:center;background:rgba(255,255,255,.02);}
.co-right{padding:60px 48px;display:flex;flex-direction:column;justify-content:center;}
.co-brand{font-family:'Fraunces',Georgia,serif;font-size:1.2rem;font-weight:800;color:var(--white);margin-bottom:40px;}
.co-plan-name{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:8px;}
.co-price{font-family:'Fraunces',Georgia,serif;font-size:2.8rem;font-weight:800;color:var(--white);line-height:1;}
.co-price-note{font-size:.82rem;color:rgba(255,255,255,.35);margin-top:8px;}
.co-features{margin-top:36px;display:flex;flex-direction:column;gap:12px;}
.co-feat{display:flex;align-items:center;gap:12px;font-size:.85rem;color:rgba(255,255,255,.55);}
.co-feat svg{width:16px;height:16px;color:var(--terra);flex-shrink:0;}
.co-trust{margin-top:40px;display:flex;flex-direction:column;gap:10px;}
.co-trust-item{display:flex;align-items:center;gap:10px;font-size:.78rem;color:rgba(255,255,255,.3);}
.co-trust-item svg{width:14px;height:14px;color:var(--terra);flex-shrink:0;}
@media(max-width:768px){.checkout-wrap{grid-template-columns:1fr;}.co-left{padding:40px 28px;border-bottom:1px solid rgba(255,255,255,.07);}.co-right{padding:40px 28px;}}

/* MANAGE / MISC */
.manage-wrap{max-width:560px;margin:80px auto;padding:0 28px;}
.btn-outline{display:inline-block;border:2px solid var(--terra);color:var(--terra);font-weight:700;font-size:.82rem;padding:10px 24px;transition:all .15s;}
.btn-outline:hover{background:var(--terra);color:var(--white);}
