.screen-landing{padding:0;overflow-x:hidden;position:relative;isolation:isolate}

#how-it-works,#research,#faq{scroll-margin-top:16px}

.landing-hero{position:relative;padding:var(--sp-6) var(--gutter) var(--sp-5)}
.landing-hero__frame{position:relative;z-index:1;max-width:360px;margin:0 auto var(--sp-5);aspect-ratio:3/4;box-sizing:border-box;padding:10px 10px 6px;background:var(--paper-raised);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.landing-hero__media{position:relative;width:100%;height:100%;overflow:hidden;border-radius:var(--r-md);background:var(--paper-sunken);box-shadow:inset 0 0 0 1px var(--line)}
.landing-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;background:var(--paper-sunken);animation:landing-media-in .9s var(--ease) both}
@keyframes landing-media-in-fade{from{opacity:0}to{opacity:1}}
@keyframes landing-media-in{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}
.landing-hero__title-inner{display:inline}
.landing-hero__word{display:inline-block;opacity:0;transform:translateY(10px);animation:landing-word-in .5s var(--ease) forwards;animation-delay:calc(var(--i,0) * 60ms)}
@keyframes landing-word-in-fade{from{opacity:0}to{opacity:1}}
@keyframes landing-word-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.landing-hero__content{position:relative;z-index:1}
.landing-eyebrow{display:inline-block;font-family:var(--font-ui);font-weight:700;font-size:15px;line-height:1.3;letter-spacing:.01em;color:var(--accent-soft);margin-bottom:var(--sp-2);max-width:34ch}
.landing-hero__title{font-family:var(--font-display);font-size:clamp(30px,7.4vw,var(--fs-display));line-height:1.06;color:var(--sky-ink);margin:0 0 var(--sp-2)}
.landing-hero__lead{font-size:var(--fs-body);color:var(--sky-ink-soft);max-width:30ch;margin:0 0 var(--sp-4)}
.landing-hero__cta{max-width:320px}

.landing-placeholder{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:var(--paper-sunken)}
.landing-placeholder span{font-size:var(--fs-caption);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}

.landing-steps{padding:var(--sp-6) var(--gutter) var(--sp-5)}
.landing-steps__title{margin-bottom:var(--sp-4)}
.landing-step{display:flex;gap:var(--sp-4);align-items:baseline;padding:var(--sp-3) 0;border-top:1px solid var(--sky-line)}
.landing-step:first-child{border-top:none;padding-top:0}
.landing-step__num{font-family:var(--font-display);font-size:var(--fs-h1);color:var(--accent-soft);flex:0 0 auto;line-height:1}
.landing-step__text{font-size:var(--fs-body);color:var(--sky-ink-soft);margin:0}
.landing-step--one{max-width:88%}
.landing-step--two{max-width:76%;margin-left:14%}
.landing-step--two .landing-step__num{color:var(--gold-soft)}
.landing-step--three{max-width:100%}
.landing-step--three .landing-step__num{font-size:var(--fs-h2);color:var(--trust-soft)}

.landing-emo{padding:0 var(--gutter) var(--sp-4);display:grid;gap:var(--sp-2);text-align:center}
.landing-emo__line{font-family:var(--font-script);font-style:italic;font-size:var(--fs-h3);color:var(--sky-ink);margin:0;line-height:1.3}

.landing-divider{display:flex;justify-content:center;padding:var(--sp-2) 0}
.landing-divider svg{width:28px;height:28px}
.landing-divider__ring{fill:none;stroke:var(--sky-gold);stroke-width:1;opacity:.55}
.landing-divider__moon{fill:var(--sky-gold);opacity:.9}

.landing-stars{position:absolute;z-index:0;pointer-events:none}
.landing-stars svg{width:100%;height:100%}
.landing-stars__lines path{fill:none;stroke:var(--sky-gold);stroke-width:1;opacity:.55}
.landing-stars__dots circle{fill:var(--sky-gold);opacity:.8}
.landing-orn-arc{fill:none;stroke:var(--sky-gold);stroke-width:1;opacity:.5}
.landing-spark path{fill:none;stroke:var(--sky-gold);stroke-width:1.2}
.landing-spark circle{fill:var(--sky-gold)}
.landing-spark--sm{opacity:.7}
.landing-stars--hero{top:0;right:0;width:52%;height:34%;opacity:.4}
.landing-stars--benefits{top:-4%;left:-10%;width:62%;height:46%;opacity:.3}
.landing-stars--final{bottom:0;left:-6%;width:56%;height:60%;opacity:.3}
.landing-stars--faq{top:-2%;right:-8%;width:58%;height:40%;opacity:.3}

.landing-stars__dots circle:nth-child(2n){animation:landing-twinkle 3.4s ease-in-out infinite}
.landing-stars__dots circle:nth-child(3n){animation-delay:.9s}
.landing-stars__dots circle:nth-child(5n){animation-delay:1.8s}
@keyframes landing-twinkle{
  0%,100%{opacity:.35}
  50%{opacity:1}
}

.landing-research{position:relative;padding:var(--sp-5) var(--gutter);overflow:hidden}
.landing-research__title{margin-bottom:var(--sp-1);position:relative;z-index:1}
.landing-research__subtitle{margin:0 0 var(--sp-4);position:relative;z-index:1;font-size:var(--fs-small);color:var(--sky-ink-soft);max-width:40ch}
.landing-research__list{display:flex;flex-direction:column;gap:var(--sp-3);position:relative;z-index:1}
.landing-research__row{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.landing-research__icon{flex:0 0 auto;color:var(--ink-faint);margin-top:3px}
.landing-research__icon svg{display:block}
.landing-research__info{flex:1 1 auto;min-width:0}
.landing-research__name{display:inline-block;font-size:var(--fs-small);font-weight:700;color:var(--ink);margin:0 0 2px;line-height:1.35;text-decoration:none}
a.landing-research__name{color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-soft)}
a.landing-research__name:hover{color:var(--accent-strong)}
.landing-research__meta{font-size:13px;color:var(--ink-soft);margin:0}
.landing-research__takeaway{font-size:13px;color:var(--ink-soft);margin:4px 0 0;line-height:1.4;font-style:italic}

.landing-research--compact{padding:var(--sp-4) var(--gutter)}
.landing-research--compact .landing-research__title{font-size:var(--fs-h3);margin-bottom:var(--sp-1)}
.landing-research--compact .landing-research__subtitle{font-size:13px;margin-bottom:var(--sp-3)}
.landing-research--compact .landing-research__row{padding:var(--sp-3);gap:var(--sp-2)}
.landing-research--compact .landing-research__name{font-size:13px}
.landing-research--compact .landing-research__meta{font-size:12px}
.landing-research--compact .landing-research__takeaway{font-size:12px}

.landing-benefits{position:relative;padding:var(--sp-5) var(--gutter);overflow:hidden}
.landing-benefits__title{margin-bottom:var(--sp-4);position:relative;z-index:1}
.landing-benefits__list{display:flex;flex-direction:column;gap:var(--sp-4);position:relative;z-index:1}
.landing-benefit{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-4);background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.landing-benefit__icon{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-tint);color:var(--accent)}
.landing-benefit__title{font-size:var(--fs-body);font-weight:700;color:var(--ink);margin:0 0 2px}
.landing-benefit__text{font-size:var(--fs-small);color:var(--ink-soft);margin:0;line-height:1.45}

.landing-reviews{display:grid;gap:var(--sp-3);margin:0 var(--gutter) var(--sp-5)}
.landing-review{padding:var(--sp-5);background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.landing-review__head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}
.landing-review__photo{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--paper-sunken);flex:0 0 auto}
.landing-review__avatar{width:48px;height:48px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--accent-strong);font-family:var(--font-display);font-size:19px;font-weight:700}
.landing-review__who{min-width:0}
.landing-review__name{font-size:var(--fs-small);font-weight:700;color:var(--ink);margin:0}
.landing-review__city{font-size:12px;color:var(--ink-faint);margin:0}
.landing-review__stars{display:flex;gap:2px;color:var(--line-strong);margin-bottom:var(--sp-2)}
.landing-review__stars .landing-star--filled{color:var(--gold)}
.landing-review__text{font-size:var(--fs-small);color:var(--ink-soft);margin:0 0 var(--sp-2);line-height:1.5}
.landing-review__date{font-size:12px;color:var(--ink-faint);margin:0}

.landing-final{position:relative;padding:var(--sp-5) var(--gutter) var(--sp-6);text-align:center;overflow:hidden}
.landing-final__title{margin-bottom:var(--sp-4);position:relative;z-index:1}
.landing-final__cta{max-width:360px;margin:0 auto;position:relative;z-index:1}
.landing-final__note{font-size:12px;color:var(--sky-ink-faint);margin:var(--sp-2) 0 0;text-align:center;position:relative;z-index:1}

.landing-faq{position:relative;padding:0 var(--gutter) var(--sp-5);overflow:hidden}
.landing-faq__title{margin-bottom:var(--sp-4);position:relative;z-index:1}
.landing-faq__list{display:flex;flex-direction:column;gap:var(--sp-3);position:relative;z-index:1}
.landing-faq__item{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.landing-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);background:none;border:0;padding:var(--sp-4);text-align:left;cursor:pointer;font-weight:700;font-size:var(--fs-body);color:var(--ink)}
.landing-faq__icon{flex:0 0 auto;position:relative;width:16px;height:16px}
.landing-faq__icon::before,.landing-faq__icon::after{content:'';position:absolute;top:50%;left:50%;background:var(--ink-faint);transform:translate(-50%,-50%);transition:transform .3s var(--ease),opacity .3s var(--ease)}
.landing-faq__icon::before{width:14px;height:2px}
.landing-faq__icon::after{width:2px;height:14px}
.landing-faq__item.is-open .landing-faq__icon::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.landing-faq__panel{display:grid;grid-template-rows:0fr;overflow:hidden;visibility:hidden;pointer-events:none;min-height:0;transition:grid-template-rows .35s var(--ease),visibility 0s linear .35s}
.landing-faq__panel-inner{overflow:hidden;min-height:0;margin:0;padding:0}
.landing-faq__item.is-open .landing-faq__panel{grid-template-rows:1fr;visibility:visible;pointer-events:auto;transition:grid-template-rows .35s var(--ease),visibility 0s linear 0s}
.landing-faq__a{margin:0;padding:0 var(--sp-4) var(--sp-4);color:var(--ink-soft);font-size:var(--fs-small);line-height:1.5}

.landing-footer{padding:var(--sp-5) var(--gutter) var(--sp-5);border-top:1px solid var(--sky-line);margin-top:var(--sp-3)}
.landing-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-5);margin-bottom:var(--sp-4)}
.landing-footer__col{display:flex;flex-direction:column;gap:var(--sp-2)}
.landing-footer__heading{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--sky-ink-faint);margin-bottom:var(--sp-1)}
.landing-footer__link{font-size:var(--fs-small);color:var(--sky-ink-soft);text-decoration:none}
.landing-footer__link:hover{text-decoration:underline}
.landing-footer__legal{font-size:11px;color:var(--sky-ink-faint);margin:0 0 var(--sp-1);line-height:1.4;text-align:center}

.landing-reveal{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.landing-reveal.is-visible{opacity:1;transform:none}
.landing-reveal-item{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease) calc(var(--reveal-i,0) * 70ms),transform .5s var(--ease) calc(var(--reveal-i,0) * 70ms)}
.landing-reveal.is-visible .landing-reveal-item{opacity:1;transform:none}

@media (min-width:960px){
  .landing-hero{display:flex;align-items:center;gap:var(--sp-7);padding:var(--sp-7) var(--gutter)}
  .landing-hero__frame{flex:0 0 380px;max-width:380px;margin:0}
  .landing-hero__content{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}
  .landing-hero__cta{max-width:280px}

  .landing-steps,.landing-emo,.landing-research,.landing-benefits,.landing-reviews,.landing-final,.landing-faq,.landing-footer__grid{max-width:900px;margin-left:auto;margin-right:auto}
  .landing-reviews{grid-template-columns:repeat(3,1fr)}
  .landing-benefits__list{flex-direction:row;gap:var(--sp-5)}
  .landing-benefit{flex-direction:column;text-align:center;flex:1 1 0}
  .landing-benefit__icon{margin:0 auto}
}
