/* Memora landing: spacious product chapters, with the app itself as the hero. */
.landing{--cloud:#f8f9fb;--ink:#17213a;--muted:#55627a;--sky:#e8effa;--line:#dce3ef;background:var(--cloud);color:var(--ink);overflow-x:clip}
.landing .wrap{width:min(1240px,calc(100% - 96px))}
.landing .header{min-height:92px;padding-block:18px;position:relative;z-index:2}
.landing .brand{font-size:1.45rem;color:var(--ink);font-weight:730;letter-spacing:-.045em}
.landing .brand img{width:42px;height:42px}
.landing .header nav{gap:36px;font-size:.94rem;font-weight:600}
.landing .header nav a:hover{color:var(--blue)}

.landing .hero{min-height:760px;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,5vw,96px);padding-block:54px 110px}
.landing .hero-copy{position:relative;z-index:1;padding-block:0}
.landing .hero h1{font-size:clamp(4.4rem,7.8vw,7.6rem);line-height:.93;letter-spacing:-.068em;margin-bottom:38px;max-width:10ch}
.landing .hero h1 span{color:var(--blue)}
.landing .hero .lead{font-size:clamp(1.12rem,1.6vw,1.4rem);line-height:1.48;max-width:36ch;margin-bottom:0}
.landing .actions{margin-top:38px}
.landing .button.primary{border-radius:999px;padding-inline:28px;box-shadow:none}
.landing .availability{font-size:.82rem;letter-spacing:.01em;margin-top:26px;max-width:55ch}
.landing .hero-visual{min-height:620px;display:grid;place-items:center;padding:0;overflow:visible;background:none;perspective:none}
.landing .hero-visual::before{display:none}
.landing .phone-stage{--aura:#dbe7f8;position:relative;isolation:isolate;width:min(100%,460px);display:grid;place-items:center;padding:24px 16px}
.landing .phone-stage::before{content:"";position:absolute;z-index:-1;inset:9% -7%;border-radius:50%;background:radial-gradient(ellipse at center,var(--aura) 0%,transparent 72%);pointer-events:none}
.landing .hero-stage::before{inset:2% -14%;background:radial-gradient(ellipse at center,#d8e6fb 0%,#e9eff99e 48%,transparent 73%)}
.landing .hero-phone,.landing .phone-mockup{position:relative;width:min(100%,348px);padding:6px;background:#182338;border-radius:47px;box-shadow:0 0 0 1.5px #7588a7,0 38px 75px #17243d2b,0 8px 22px #17243d14;transform:translate3d(0,var(--float-y,0px),0);backface-visibility:hidden}
.landing .hero-phone img,.landing .phone-mockup img{border-radius:41px}
.landing .hero-phone::after,.landing .phone-mockup::after{content:"";position:absolute;z-index:2;top:16px;left:50%;width:28%;aspect-ratio:3.4;transform:translateX(-50%);border-radius:999px;background:#000;pointer-events:none}
.landing .hero-phone.motion-visible,.landing .phone-mockup.motion-visible{will-change:transform}

.landing .film{background:#142b50;color:#f7faff;padding-block:84px}
.landing .film-inner{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(32px,5vw,76px)}
.landing .film .eyebrow{color:#a9c9fc}
.landing .film h2{font-size:clamp(2.5rem,4vw,4.3rem);line-height:1.04;letter-spacing:-.05em;margin:16px 0 22px}
.landing .film-copy>p:last-child{color:#d2e0f4;font-size:1.12rem;line-height:1.56}
.landing .film video{display:block;width:100%;aspect-ratio:16/9;border-radius:24px;background:#0b2247;box-shadow:0 24px 54px #071d3a66;object-fit:cover}

.landing .intro{display:block;text-align:center;border:0;padding-block:142px 154px}
.landing .intro h2{font-size:clamp(3rem,6vw,6rem);line-height:1.01;letter-spacing:-.058em;max-width:18ch;margin:0 auto 30px}
.landing .intro p{font-size:clamp(1.15rem,1.8vw,1.48rem);line-height:1.5;max-width:47ch;margin:0 auto}

.landing .feature.comparison-feature,.landing .feature.review-feature{width:100%;max-width:none;margin:0;padding-inline:max(48px,calc((100% - 1240px)/2));min-height:760px;gap:clamp(48px,8vw,120px);padding-block:96px}
.landing .comparison-feature{background:#eaf0fa}
.landing .feature-copy h2,.landing .rhythm h2{font-size:clamp(3.1rem,5.6vw,5.6rem);line-height:1;letter-spacing:-.055em;margin-bottom:32px}
.landing .feature-copy p,.landing .rhythm p{font-size:clamp(1.08rem,1.6vw,1.27rem);line-height:1.55;max-width:40ch}
.landing .feature-visual,.landing .rhythm-visual{width:100%;min-height:560px;display:grid;place-items:center;padding:0;overflow:visible;background:none;perspective:none}
.landing .comparison-visual{perspective:1200px}
.landing .comparison-visual .phone-stage{--aura:#d1ddf2;transform-origin:center center;backface-visibility:hidden}
.landing .feature-list{max-width:440px;margin-top:38px}
.landing .feature-list li{padding:16px 0;border-color:#cdd8e8}

.landing .rhythm{position:relative;overflow:hidden;background:#18243d;padding-block:108px}
.landing .rhythm-inner{width:min(1240px,calc(100% - 96px));grid-template-columns:1.1fr .9fr;gap:clamp(48px,8vw,120px);align-items:center}
.landing .rhythm-inner>div{max-width:54ch}
.landing .rhythm h2{color:#f6f8ff}
.landing .rhythm p{color:#c8d2e7}
.landing .rhythm dl{margin-top:46px}
.landing .rhythm dl div{border-color:#ffffff30}
.landing .rhythm dt{color:#f7f9ff}
.landing .rhythm dd{color:#c7d1e7}
.landing .rhythm .phone-stage{--aura:#40598788}
.landing .rhythm .phone-stage::before{inset:8% -12%}
.landing .rhythm-visual{min-height:620px}
.landing .rhythm-visual,.landing .review-visual{perspective:1200px}

.landing .review-feature{background:#fff}
.landing .review-feature .review-visual{grid-column:1;grid-row:1}
.landing .review-feature .feature-copy{grid-column:2;grid-row:1}
.landing .review-visual .phone-stage{--aura:#e0f0ec}
.landing .review-feature .assurance{font-size:1.05rem;margin-top:36px}
.landing .review-feature .local-analysis{max-width:42ch}

.landing .plans{padding-block:132px 124px;border:0}
.landing .plans-heading{gap:clamp(40px,7vw,100px);margin-bottom:54px}
.landing .plans-heading h2{font-size:clamp(3.1rem,5.4vw,5.4rem);line-height:1;letter-spacing:-.055em}
.landing .plans-heading>p{font-size:1.17rem;line-height:1.6}
.landing .plan-grid{gap:18px}
.landing .plan{padding:32px 30px;border-radius:22px;box-shadow:0 12px 30px #1d315b0b;transform-origin:center bottom}
.landing .plan-price{font-size:clamp(2rem,3.4vw,3rem)}
.landing .ad-explainer{margin-top:52px;padding-top:38px}
.landing .plans-note{background:#edf2fa;border-radius:0 14px 14px 0}
.landing .faq{padding-block:112px 132px;border-top:1px solid var(--line)}
.landing .faq h2{font-size:clamp(3rem,5vw,5rem);line-height:1}

@media(max-width:900px){
  .landing .wrap{width:calc(100% - 56px)}
  .landing .hero{min-height:680px;gap:24px;grid-template-columns:1fr .85fr}
  .landing .hero h1{font-size:clamp(3.9rem,7.5vw,6rem)}
  .landing .hero-visual{min-height:560px}
  .landing .hero-phone,.landing .phone-mockup{width:min(100%,300px)}
  .landing .feature.comparison-feature,.landing .feature.review-feature{padding-inline:28px;gap:48px}
  .landing .rhythm-inner{width:calc(100% - 56px);gap:48px}
}
@media(max-width:700px){
  .landing .film{padding-block:66px}
  .landing .film-inner{grid-template-columns:1fr;gap:28px}
  .landing .film video{border-radius:16px}
  .landing .wrap{width:calc(100% - 40px)}
  .landing .header{min-height:78px;padding-block:16px}
  .landing .header nav{gap:18px;font-size:.84rem}
  .landing .hero{min-height:0;grid-template-columns:1fr;gap:34px;padding-block:42px 94px}
  .landing .hero h1{font-size:clamp(3.6rem,12vw,5.2rem);max-width:12ch;margin-bottom:28px}
  .landing .hero .lead{font-size:1.13rem;max-width:36ch}
  .landing .hero-visual{min-height:0}
  .landing .hero-phone,.landing .phone-mockup{width:min(100%,300px)}
  .landing .hero-stage{padding-block:12px}
  .landing .intro{padding-block:88px 102px}
  .landing .intro h2{font-size:clamp(2.9rem,8vw,4.7rem)}
  .landing .feature.comparison-feature,.landing .feature.review-feature{grid-template-columns:1fr;gap:32px;min-height:0;padding:78px 20px}
  .landing .comparison-feature .feature-copy{grid-row:1}
  .landing .comparison-feature .feature-visual{grid-row:2}
  .landing .feature-copy h2,.landing .rhythm h2{font-size:clamp(2.9rem,8vw,4.8rem)}
  .landing .feature-visual,.landing .rhythm-visual{min-height:0}
  .landing .review-feature .feature-copy{grid-column:1;grid-row:1}
  .landing .review-feature .review-visual{grid-column:1;grid-row:2}
  .landing .rhythm{padding-block:86px}
  .landing .rhythm-inner{width:calc(100% - 40px);grid-template-columns:1fr;gap:34px}
  .landing .rhythm .phone-stage{padding-block:18px}
  .landing .plans{padding-block:88px 96px}
  .landing .plans-heading{grid-template-columns:1fr;gap:24px;margin-bottom:34px}
  .landing .plans-heading h2{font-size:clamp(3rem,8vw,4.6rem)}
  .landing .plan-grid{grid-template-columns:1fr}
  .landing .faq{padding-block:78px 94px}
}
@media(max-width:400px){
  .landing .header{flex-wrap:wrap;row-gap:8px}
  .landing .header nav{width:100%;justify-content:flex-start}
  .landing .hero h1{font-size:clamp(3.15rem,11.5vw,3.7rem)}
  .landing .hero-phone,.landing .phone-mockup{width:min(100%,275px)}
}
@media(prefers-reduced-motion:reduce){
  .landing .hero-phone,.landing .phone-mockup{transform:none!important}
}
@media(forced-colors:active){.landing .phone-stage::before{display:none}}
