.home-hero{padding:var(--space-24) 0 var(--space-16);background:linear-gradient(180deg, var(--website-surface-canvas), var(--color-background) 80%);text-align:left}.home-hero .eyebrow{font-size:var(--text-overline-size);letter-spacing:var(--text-overline-tracking);text-transform:uppercase;color:var(--mural-green);margin-bottom:var(--space-4);font-weight:600}.home-hero h1{max-width:820px;font-size:clamp(32px,5vw,52px);line-height:1.1}.home-hero .lead{margin-top:var(--space-5);max-width:600px;font-size:var(--text-h4-size);color:var(--color-text-secondary)}.home-hero-cta{margin-top:var(--space-8);gap:var(--space-3);flex-wrap:wrap;display:flex}.home-narrative{padding:var(--space-8) 0 var(--space-16)}.home-narrative .container{gap:var(--space-2);counter-reset:stage;flex-direction:column;display:flex}.narrative-stage{padding:var(--space-8) var(--space-8);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);counter-increment:stage;transition:border-color .16s;position:relative;overflow:hidden}.narrative-stage:hover{border-color:var(--stage-color,var(--color-text))}.narrative-stage:before{content:counter(stage, decimal-leading-zero);top:var(--space-2);right:var(--space-6);color:var(--stage-color-soft,var(--color-border));z-index:0;pointer-events:none;font-size:88px;font-weight:800;line-height:1;position:absolute}.narrative-stage>*{z-index:1;position:relative}.narrative-stage h2{font-size:var(--text-h2-size);font-weight:var(--text-h2-weight);margin:var(--space-2) 0 var(--space-3);max-width:560px}.narrative-stage p{max-width:560px;color:var(--color-text-secondary)}.narrative-tag{font-size:var(--text-overline-size);letter-spacing:var(--text-overline-tracking);text-transform:uppercase;color:var(--stage-color,var(--color-text-muted));font-weight:700}.narrative-stage.tone-nature,.narrative-stage.tone-community{--stage-color:var(--mural-green);--stage-color-soft:var(--mural-green-soft)}.narrative-stage.tone-home,.narrative-stage.tone-tharavadu{--stage-color:var(--accent);--stage-color-soft:var(--accent-soft)}.narrative-stage.tone-people,.narrative-stage.tone-better{--stage-color:var(--gold);--stage-color-soft:var(--gold-soft)}.narrative-stage.tone-coordination{--stage-color:var(--color-text-muted);--stage-color-soft:var(--color-border)}.scroll-journey{position:relative}.scroll-journey-canvas-wrap{z-index:0;pointer-events:none;height:100vh;position:sticky;top:0}.scroll-journey-canvas-wrap canvas{display:block}.scroll-journey-text{z-index:1;flex-direction:column;display:flex;position:relative}.scroll-journey-text .narrative-stage{max-width:620px;margin:20vh auto}@media (min-width:880px){.scroll-journey-canvas-wrap{margin-top:calc(-1 * var(--space-8))}}.reveal-pending{opacity:0;transform:translateY(24px)}.reveal-revealed,.reveal-visible{opacity:1;transition:opacity .6s,transform .6s;transform:none}.how-it-works{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.how-step-number{border-radius:var(--radius-full);background:var(--color-primary);width:32px;height:32px;color:var(--color-primary-foreground);font-weight:700;font-size:var(--text-body-small-size);margin-bottom:var(--space-3);justify-content:center;align-items:center;display:inline-flex}.how-step h3{font-size:var(--text-h4-size);margin-bottom:var(--space-2)}.how-step p{color:var(--color-text-secondary);font-size:var(--text-body-small-size)}.faq-list{gap:var(--space-3);flex-direction:column;max-width:760px;display:flex}.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.faq-item summary{cursor:pointer;font-weight:600;font-size:var(--text-h4-size);justify-content:space-between;align-items:center;gap:var(--space-3);list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--color-text-muted);flex-shrink:0;font-size:20px;font-weight:400}.faq-item[open] summary:after{content:"−"}.faq-item p{margin-top:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-body-small-size)}
