/* The landing page has one decision: a browser preview or the Android app. */
.landing{max-width:1200px;margin:0 auto;padding:24px 32px}
.landing-header{display:flex;align-items:center;justify-content:space-between;gap:16px;letter-spacing:0}
.landing-header>a{font-weight:600;text-decoration:none;white-space:nowrap}
.landing-header>a span{font-weight:400}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:center;margin:58px 0 64px}
.hero h1{font-size:clamp(2.3rem,5.6vw,3.6rem);line-height:1.03;font-weight:500;letter-spacing:-.05em;margin:0 0 22px;max-width:11ch}
.hero-description{font-size:max(17px,.84rem);line-height:1.55;max-width:30ch;color:var(--muted);margin:0 0 28px}
.hero-preview{position:relative;min-width:0;margin:0;isolation:isolate}
.hero-preview::before{content:"";position:absolute;inset:12% 2%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,var(--art-halo),transparent 68%);opacity:.8}
.collection-stack{display:block;width:106%;max-width:none;height:auto;margin-left:-3%}
.hero-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:18px 24px;scroll-margin-top:24px}
.preview-invitation,.install-invitation{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:100%}
.primary-cta{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:56px;max-width:100%;padding:12px 22px;background:var(--action);color:var(--on-action);border:2px solid var(--action);border-radius:18px;font-size:max(17px,.8rem);font-weight:600;line-height:1.35;text-decoration:none}
.primary-cta:hover{filter:brightness(1.07)}
.primary-cta span{font-size:1.15em}
.hero-actions>div>span{font-size:max(12px,.53rem);line-height:1.5;color:var(--muted);text-align:center}
.install-invitation .play-badge{display:block;width:170px;max-width:100%;margin:-5px 0 -5px;border-radius:8px}
.install-invitation .play-badge img{width:100%;height:auto}
.hero-note{font-size:max(12px,.57rem);color:var(--muted);margin:22px 0 0}
.hero-note span{display:inline-block}
.life-with-mori{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0 0 38px}
.visual-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:20px;align-items:center;min-width:0;padding:28px 22px;border:1px solid color-mix(in srgb,var(--border) 55%,transparent);border-radius:24px;background:var(--surface)}
.visual-card figure{margin:0;text-align:center;min-width:0}
.visual-card figcaption{font-size:max(12px,.48rem);color:var(--muted);margin-top:10px}
.phone-example{display:block;width:118px;max-width:100%;height:auto;border:4px solid #303a33;border-radius:18px;margin:auto;box-shadow:var(--shadow)}
.kindness-art{padding:8px 0}
.kindness-art img{display:block;width:178px;max-width:100%;height:auto;margin:auto}
.kindness-art blockquote{font-family:Georgia,'Times New Roman',serif;font-size:max(14px,.62rem);line-height:1.45;margin:0}
.card-copy{min-width:0}
.card-copy h2{font-size:clamp(22px,2.1vw,1.12rem);line-height:1.18;letter-spacing:-.025em;font-weight:500;margin:0 0 12px}
.card-copy p{font-size:max(14px,.64rem);line-height:1.6;color:var(--muted);margin:0}
.gift-details{margin-top:8px}
.gift-details summary{font-size:max(13px,.57rem);color:var(--muted);min-height:44px;cursor:pointer;padding:10px 0;text-underline-offset:4px}
.gift-details[open] summary{color:var(--text)}
.gift-details p{font-size:max(13px,.57rem)}
.landing footer{gap:12px 22px;font-size:max(12px,.55rem);margin-top:0;padding-top:22px;border-color:var(--border)}
.landing .trademark{font-size:max(11px,.45rem);margin:14px 0 0;color:var(--muted)}
.landing summary:focus-visible,.landing a:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
@media(max-width:980px) and (min-width:701px){.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.hero h1{font-size:2.5rem}.hero-actions{gap:18px 14px}.life-with-mori{gap:16px}.visual-card{padding:22px 18px;gap:14px;grid-template-columns:1fr}.visual-card figure{height:240px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.phone-example{height:210px;width:auto;margin:0}.kindness-art img{width:134px}.card-copy h2 br{display:none}}
@media(max-width:700px){.landing{padding:18px 22px}.hero{display:flex;flex-direction:column;gap:0;margin:26px 0 34px;text-align:center}.hero-copy{display:contents}.hero h1{order:1;font-size:clamp(2rem,8vw,2.7rem);max-width:none;margin:0}.hero-preview{order:2;width:min(340px,95%);margin:12px auto 8px}.collection-stack{width:100%;margin:0}.hero-description{order:3;font-size:max(16px,.74rem);max-width:29ch;margin:0 0 22px}.hero-actions{order:4;justify-content:center;gap:18px 22px;width:100%}.hero-note{order:5;margin-top:20px}.life-with-mori{grid-template-columns:1fr;gap:16px;max-width:550px;margin:0 auto 28px}.visual-card{padding:24px;gap:20px}.card-copy h2{font-size:max(23px,1.05rem)}}
@media(max-width:380px){.landing{padding:14px 18px}.landing-header>a{font-size:.85rem}.landing-header>a span{display:none}.hero{margin-top:22px}.hero h1{font-size:1.8rem}.hero-preview{width:235px;margin:8px auto}.hero-description{font-size:max(15px,.68rem);margin-bottom:20px}.hero-actions{gap:16px}.preview-invitation{width:100%}.primary-cta{width:100%;max-width:280px}.hero-note{font-size:max(12px,.53rem);max-width:30ch}.visual-card{padding:20px 16px;gap:14px;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.card-copy h2 br{display:none}.kindness-art blockquote{font-size:14px}.phone-example{border-width:3px;border-radius:13px}.visual-card figcaption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.landing *{scroll-behavior:auto!important}}
@media(forced-colors:active){.primary-cta,.visual-card{border-color:CanvasText}}
