/* こどもこえログ紹介ページ */
:root{scroll-behavior:smooth;scroll-padding-top:5rem}
.lp-page{--pink:#fb8df3;--pink-soft:#fce8f7;--yellow:#ffe57c;overflow-x:clip}
.lp-page a:focus-visible,.lp-page summary:focus-visible{outline:3px solid #d957c7;outline-offset:4px;border-radius:4px}
.lp-head{min-height:4.8rem;padding-inline:clamp(1.25rem,6vw,6.5rem);gap:2rem;background:rgba(251,243,233,.92);backdrop-filter:blur(14px)}
.lp-head .mark,.lp-foot .mark{display:inline-flex;align-items:center;gap:.65rem}
.brand-icon{width:2.15rem;height:2.15rem;flex:none;border-radius:50%;object-fit:cover;box-shadow:0 2px 8px rgba(34,34,34,.12)}
.head-nav{display:flex;align-items:center;gap:clamp(1rem,2.8vw,2.5rem)}
.head-nav a{font-size:calc(.8rem + 3pt);font-weight:650;text-decoration:none;border:0;color:var(--ink-2);white-space:nowrap}
.head-nav a:hover{color:var(--ink)}
.lp-head .head-cta{padding:.68rem 1.2rem;font-size:calc(.78rem + 3pt);white-space:nowrap}

.hero{position:relative;isolation:isolate;min-height:min(790px,calc(100svh - 4.8rem));display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:3vw;padding:clamp(4rem,8vw,7.5rem) clamp(1.5rem,8vw,8.5rem) 7rem;background:var(--paper);overflow:hidden}
.hero::before{content:"";position:absolute;z-index:-1;width:50vw;height:50vw;max-width:680px;max-height:680px;right:12%;top:4%;border-radius:50%;background:radial-gradient(circle,rgba(255,229,124,.54),rgba(251,141,243,.2) 52%,transparent 72%)}
.hero-copy{position:relative;z-index:2;max-width:37rem;padding:0 0 2rem}
.kicker,.section-label,.feature-index,.plan-label,.closing-kicker{font-size:calc(.72rem + 3pt);letter-spacing:.12em;font-weight:750}
.kicker{display:flex;align-items:center;gap:.65rem;margin:0 0 1.5rem;color:var(--ink-2)}
.kicker-dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--pink);box-shadow:0 0 0 5px rgba(251,141,243,.18)}
.hero h1{font-size:calc(clamp(3.4rem,7.6vw,7.1rem) + 3pt);line-height:1.1;letter-spacing:-.075em;font-weight:850;margin:0 0 1.7rem;text-wrap:balance}
.hero h1 em,.privacy-copy h2 em,.closing-section h2 em{font-style:normal;position:relative;z-index:0;white-space:nowrap}
.hero h1 em::after,.privacy-copy h2 em::after,.closing-section h2 em::after{content:"";position:absolute;left:-.03em;right:-.04em;bottom:.04em;height:.3em;border-radius:99px;background:linear-gradient(90deg,var(--pink),var(--yellow));z-index:-1;transform:rotate(-1.5deg)}
.hero-lead{font-size:calc(clamp(1rem,1.5vw,1.2rem) + 3pt);line-height:2.05;letter-spacing:.025em;margin:0 0 2rem;color:#494642}
.hero-actions{display:flex;align-items:center;gap:1.35rem;flex-wrap:wrap}
.store-badge{display:inline-flex;align-items:center;gap:.8rem;min-width:10.5rem;padding:.7rem 1rem;border:1px solid rgba(34,34,34,.17);border-radius:1rem;background:rgba(255,255,255,.58);color:var(--ink)}
.store-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.7rem;background:linear-gradient(135deg,var(--pink),var(--yellow));font-size:calc(1.05rem + 3pt)}
.store-badge small,.store-badge strong{display:block;line-height:1.35}.store-badge small{font-size:calc(.65rem + 3pt);color:var(--ink-2)}.store-badge strong{font-size:calc(.86rem + 3pt)}
.text-link{display:inline-flex;align-items:center;gap:.65rem;font-size:calc(.86rem + 3pt);font-weight:750;text-decoration:none!important;border:0!important;color:var(--ink)!important}
.text-link span{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;border:1px solid var(--hair);border-radius:50%;transition:transform .2s ease,background .2s ease}
.text-link:hover span{transform:translate(2px,-2px);background:var(--yellow)}
.hero-note{margin:1.3rem 0 0;color:var(--ink-2);font-size:calc(.75rem + 3pt);letter-spacing:.04em}
.hero-visual{position:relative;min-height:34rem;max-width:48rem;width:100%;justify-self:end}
.hero-photo-wrap{position:absolute;inset:3% 0 12% 10%;overflow:hidden;border-radius:48% 48% 2rem 2rem / 38% 38% 2rem 2rem;background:#eadfcf;box-shadow:0 24px 70px rgba(72,51,36,.12);transform:rotate(2deg)}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:56% center}
.photo-caption{position:absolute;right:1.3rem;bottom:1.3rem;padding:.8rem 1.1rem;border-radius:1rem;background:rgba(255,255,255,.86);font-size:calc(.8rem + 3pt);font-weight:700;line-height:1.65;box-shadow:0 8px 24px rgba(34,34,34,.1)}
.hero-screen{position:absolute;left:0;bottom:0;width:clamp(11.5rem,21vw,18rem);margin:0;padding:.5rem .5rem .75rem;border:1px solid rgba(34,34,34,.12);border-radius:1.65rem;background:#fff;box-shadow:0 26px 60px rgba(34,34,34,.2);transform:rotate(-5deg)}
.hero-screen img{width:100%;height:auto;border-radius:1.2rem;display:block}
.hero-screen figcaption{display:flex;align-items:center;gap:.45rem;padding:.6rem .25rem 0;font-size:calc(.65rem + 3pt);font-weight:700;line-height:1.35;letter-spacing:0}
.sound-dot{width:.45rem;height:.45rem;background:#ee68d8;border-radius:50%;box-shadow:0 0 0 4px #fce7f7;flex:none}

.scroll-cue{position:absolute;left:clamp(1.5rem,8vw,8.5rem);bottom:1.8rem;display:flex;align-items:center;gap:.75rem;text-decoration:none;border:0!important;color:var(--ink-2)!important;font-size:calc(.62rem + 3pt);font-weight:750;letter-spacing:.16em}
.scroll-cue span{display:block;width:2.2rem;height:1px;background:var(--ink-2)}

.intro-section{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,10vw,10rem) 4rem;background:#fff}
.section-label{display:flex;align-items:center;gap:.75rem;color:#79746d}
.section-label span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--pink-soft);color:#9d488f;font-size:calc(.65rem + 3pt);letter-spacing:0}
.intro-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:7vw;align-items:end;padding:3rem 0 5.5rem}
.intro-grid h2,.section-heading h2,.steps-heading h2,.price-heading h2,.faq-layout h2{font-size:calc(clamp(2.2rem,5.3vw,5rem) + 3pt);letter-spacing:-.06em;line-height:1.28;font-weight:800;margin:0;text-wrap:balance}
.intro-grid h2 span{color:#989088}
.intro-copy{max-width:30rem;color:#5e5953;font-size:calc(.98rem + 3pt);line-height:2.05}.intro-copy p:last-child{margin-bottom:0}
.memory-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);font-size:calc(clamp(.8rem,1.4vw,1.05rem) + 3pt);font-weight:750;letter-spacing:.02em}


.feature-section{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,9vw,9rem);background:var(--paper-2)}
.section-heading{text-align:center;margin:0 auto clamp(3rem,7vw,6rem);max-width:48rem}.section-heading .section-label,.steps-heading .section-label{justify-content:center}
.section-heading h2{margin:1.8rem 0 1rem}.section-heading>p,.steps-heading>p{margin:0;color:var(--ink-2)}
.feature-list{max-width:74rem;margin:0 auto}
.feature-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);align-items:center;gap:clamp(3rem,9vw,9rem);padding:0 0 clamp(5rem,9vw,8.5rem)}
.feature-row:last-child{padding-bottom:clamp(5rem,9vw,8rem)}
.feature-row.feature-diary{grid-template-columns:minmax(0,.82fr) minmax(0,1fr)}
.feature-image{position:relative;max-width:27rem;justify-self:center;width:100%;padding:.55rem;border-radius:2rem;background:white;box-shadow:0 18px 46px rgba(34,34,34,.13);transform:rotate(-2deg)}
.feature-row.feature-diary .feature-image{transform:rotate(2deg)}
.feature-image::before{content:"";position:absolute;inset:auto -10% -.85rem 10%;height:1rem;border-radius:999px;background:linear-gradient(90deg,rgba(251,141,243,.72),rgba(255,229,124,.82));z-index:-1}
.feature-diary .feature-image::before{inset:auto 10% -.85rem -10%;background:linear-gradient(90deg,rgba(255,229,124,.82),rgba(251,141,243,.72))}
.feature-image img{width:100%;height:auto;border-radius:1.55rem;display:block}
.feature-copy{max-width:33rem}.feature-index{margin:0 0 1.2rem;color:#a04c93;letter-spacing:.1em}.feature-copy h3,.family-copy h3{font-size:calc(clamp(2rem,3.5vw,3.6rem) + 3pt);line-height:1.3;letter-spacing:-.055em;font-weight:800;margin:0 0 1.3rem}.feature-copy>p:not(.feature-index),.family-copy>p:not(.feature-index){color:#5e5953;line-height:2.05;margin:0;max-width:31rem}.feature-note{display:inline-block;margin-top:1.25rem;padding:.65rem .9rem;border-radius:.7rem;background:rgba(255,255,255,.75);font-size:calc(.78rem + 3pt);font-weight:700;color:var(--ink-2)}

.feature-calendar .feature-image::before{background:linear-gradient(145deg,rgba(251,141,243,.52),rgba(255,229,124,.68))}
.feature-copy .text-link{margin-top:1.7rem}
.family-feature{position:relative;display:grid;grid-template-columns:1fr .76fr .76fr;align-items:center;gap:1.25rem;max-width:74rem;margin:0 auto;padding:clamp(2rem,6vw,5rem);border-radius:2.5rem;background:linear-gradient(120deg,#ffe1f8 0%,#fff0c4 100%);overflow:hidden}
.family-copy{position:relative;z-index:2;padding-right:1rem}.family-copy h3{font-size:calc(clamp(1.7rem,3.5vw,3.25rem) + 3pt)}.family-copy>p:not(.feature-index){font-size:calc(.92rem + 3pt)}
.family-image{position:relative;z-index:1;width:100%;padding:.4rem;border-radius:1.4rem;background:#fff;box-shadow:0 18px 42px rgba(34,34,34,.16);transform:rotate(-4deg)}.family-image img{width:100%;height:auto;display:block;border-radius:1.05rem}.family-image-small{transform:rotate(5deg) translateY(2rem)}

.steps-section{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,9vw,9rem);background:#fff}.steps-heading{text-align:center;margin:0 auto 4rem;max-width:48rem}.steps-heading h2{margin:1.8rem 0 1rem}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:74rem;margin:0 auto}.step-card{position:relative;min-height:28rem;padding:2rem 1.7rem 0;border-radius:1.5rem;background:var(--paper-2);overflow:hidden}.step-no{position:absolute;right:1.4rem;top:1.35rem;color:#969087;font-size:calc(.7rem + 3pt);font-weight:800;letter-spacing:.1em}.step-card h3{font-size:calc(1.35rem + 3pt);letter-spacing:-.03em;margin:0 0 .55rem}.step-card p{max-width:18rem;min-height:3.4rem;margin:0;color:var(--ink-2);font-size:calc(.85rem + 3pt);line-height:1.85}.step-card img{display:block;width:min(72%,15rem);height:auto;margin:1.5rem auto -17rem;padding:.35rem;border-radius:1.2rem;background:white;box-shadow:0 12px 30px rgba(34,34,34,.12);transform:rotate(-2deg)}.step-card:nth-child(2) img{transform:rotate(2deg)}

.privacy-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:clamp(3rem,9vw,9rem);padding:clamp(5rem,10vw,9rem) clamp(1.5rem,11vw,11rem);background:#24211f;color:#fffaf4}.privacy-art{position:relative;min-height:30rem;max-width:42rem;width:100%;overflow:hidden;border-radius:48% 48% 1.5rem 1.5rem / 42% 42% 1.5rem 1.5rem;box-shadow:0 25px 70px rgba(0,0,0,.24)}.privacy-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:67% center}.privacy-art::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(37,27,28,.4),transparent 55%)}.privacy-stamp{position:absolute;z-index:1;left:1rem;bottom:1.2rem;display:grid;place-items:center;width:5.3rem;height:5.3rem;border:1px solid rgba(255,255,255,.78);border-radius:50%;color:white;font-size:calc(.65rem + 3pt);font-weight:800;line-height:1.2;letter-spacing:.1em;text-align:center;transform:rotate(-12deg)}.privacy-copy{max-width:34rem}.privacy-section .section-label{color:#c2bbb3}.privacy-section .section-label span{background:rgba(251,141,243,.16);color:#f4a5e8}.privacy-copy h2{font-size:calc(clamp(2.4rem,5vw,4.8rem) + 3pt);line-height:1.25;letter-spacing:-.06em;margin:2rem 0 1.2rem}.privacy-copy>p{color:#d0c8bf;line-height:2;margin:0 0 2rem}.privacy-copy h2 em::after{opacity:.7}.promise-list{margin:0 0 1.8rem;padding:0;list-style:none}.promise-list li{display:flex;gap:1rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.18)}.promise-list li:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.promise-mark{flex:none;color:#f4a5e8;font-size:calc(.72rem + 3pt);font-weight:800;letter-spacing:.08em;padding-top:.2rem}.promise-list strong,.promise-list small{display:block}.promise-list strong{font-size:calc(.92rem + 3pt);color:#fffaf4}.promise-list small{margin-top:.25rem;color:#c0b8b0;font-size:calc(.76rem + 3pt);line-height:1.7}.privacy-section .text-link{color:#fffaf4!important}.privacy-section .text-link span{border-color:rgba(255,255,255,.35)}

.price-section{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,10vw,10rem);background:#fff}.price-section>.section-label{justify-content:center}.price-heading{text-align:center;margin:2rem auto 3.5rem}.price-heading h2{font-size:calc(clamp(2.5rem,5vw,4.5rem) + 3pt);line-height:1.25;letter-spacing:-.06em;margin:0 0 1rem}.price-heading p{color:var(--ink-2);margin:0}.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:54rem;margin:0 auto}.plan-card{position:relative;padding:2.2rem clamp(1.5rem,4vw,3rem);border:1px solid var(--hair);border-radius:1.5rem;background:#fff}.plan-pro{border:2px solid #e89cda;background:linear-gradient(165deg,#fff 56%,#fff5fd)}.plan-label{margin:0 0 .75rem;color:#a04c93;font-size:calc(.65rem + 3pt);letter-spacing:.16em}.plan-card h3{font-size:calc(1.2rem + 3pt);margin:0}.plan-price{margin:.7rem 0 1.2rem;font-size:calc(3rem + 3pt);font-weight:850;letter-spacing:-.06em;line-height:1.1}.plan-price span{font-size:calc(.86rem + 3pt);letter-spacing:0;font-weight:650;margin-left:.2rem;color:var(--ink-2)}.plan-card ul{list-style:none;padding:1rem 0 0;margin:0;border-top:1px solid var(--hair);font-size:calc(.87rem + 3pt);color:#5e5953}.plan-card li{margin:.7rem 0;padding-left:1.4rem;position:relative}.plan-card li::before{content:"✓";position:absolute;left:0;color:#a04c93;font-weight:800}.plan-ribbon{position:absolute;right:1rem;top:1rem;padding:.4rem .7rem;border-radius:999px;background:#fce8f7;color:#97458b;font-size:calc(.65rem + 3pt);font-weight:750}.price-footnote{max-width:54rem;margin:1.2rem auto 0;color:var(--ink-2);font-size:calc(.75rem + 3pt);line-height:1.8}.price-footnote a{font-weight:700}

.faq-section{padding:clamp(5rem,9vw,8rem) clamp(1.5rem,10vw,10rem);background:var(--paper-2)}.faq-section>.section-label{max-width:74rem;margin:0 auto 2rem}.faq-layout{display:grid;grid-template-columns:.7fr 1fr;gap:clamp(2rem,7vw,7rem);max-width:74rem;margin:0 auto}.faq-layout h2{font-size:calc(clamp(2.5rem,5vw,4.5rem) + 3pt)}.faq-list details{border-top:1px solid var(--hair)}.faq-list details:last-child{border-bottom:1px solid var(--hair)}.faq-list summary{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem .2rem;cursor:pointer;list-style:none;font-size:calc(.98rem + 3pt);font-weight:750}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";margin-left:auto;font-size:calc(1.25rem + 3pt);font-weight:500;transition:transform .35s cubic-bezier(.2,.75,.25,1)}.faq-list details[open] summary::after{transform:rotate(45deg)}.faq-list summary span{display:grid;place-items:center;flex:none;width:1.55rem;height:1.55rem;border-radius:50%;background:#f8d9f1;color:#9d488f;font-size:calc(.7rem + 3pt)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.2,.75,.25,1)}.faq-list details[open] .faq-answer{grid-template-rows:1fr}.faq-list details[open] .faq-answer p{padding-bottom:1.3rem;opacity:1;transform:none}

.closing-section{position:relative;isolation:isolate;overflow:hidden;padding:clamp(5rem,10vw,9rem) 1.5rem;text-align:center;background:linear-gradient(125deg,#f8c7f4 0%,#ffe69a 100%)}.closing-kicker{margin:0 0 1.5rem;font-size:calc(.67rem + 3pt);letter-spacing:.2em}.closing-section h2{position:relative;z-index:1;font-size:calc(clamp(3rem,7vw,6.5rem) + 3pt);line-height:1.18;letter-spacing:-.075em;margin:0 0 1.2rem}.closing-section>p:not(.closing-kicker){position:relative;z-index:1;margin:0 0 1.7rem;color:#514942}.closing-cta{position:relative;z-index:2;gap:.7rem;padding:1rem 1.5rem!important;background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}.closing-cta:hover{background:#fff!important;color:var(--ink)!important}.closing-orbit{position:absolute;z-index:-1;width:32rem;height:32rem;border:1px solid rgba(34,34,34,.12);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-two{width:43rem;height:43rem}.closing-mic{position:absolute;right:14%;top:13%;display:grid;place-items:center;width:4rem;height:4rem;border:1px solid rgba(34,34,34,.15);border-radius:50%;font-size:calc(1.7rem + 3pt);transform:rotate(-25deg)}
.lp-foot{padding:3.2rem clamp(1.5rem,8vw,8.5rem) 2rem;text-align:left}.foot-top{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(251,243,233,.2)}.lp-foot .mark{margin:0;font-size:calc(1rem + 3pt)}.foot-top p{margin:0;color:rgba(251,243,233,.68);font-size:calc(.78rem + 3pt)}.lp-foot .links{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:.65rem 1.5rem;margin:1.4rem 0 1.8rem;font-size:calc(.8rem + 3pt)}.lp-foot .links a{border:0;color:rgba(251,243,233,.78)}.lp-foot .tiny{text-align:right;font-size:calc(.7rem + 3pt)}
.mobile-only{display:none}

@media (max-width:58rem){
  .head-nav{gap:1rem}.head-nav a{font-size:calc(.72rem + 3pt)}
  .hero{min-height:unset;grid-template-columns:1fr 1fr;padding-inline:5vw}.hero-visual{min-height:28rem}.hero h1{font-size:calc(clamp(3.2rem,8vw,5.4rem) + 3pt)}
  .intro-section,.feature-section,.steps-section,.price-section,.faq-section{padding-inline:6vw}
  .intro-grid{gap:4vw}.feature-row{gap:5vw}.family-feature{grid-template-columns:.85fr .8fr .8fr;padding:2rem;gap:.8rem}.family-copy h3{font-size:calc(2rem + 3pt)}
  .privacy-section{padding-inline:6vw;gap:5vw}.privacy-art{min-height:25rem}
}
@media (max-width:42rem){
  :root{scroll-padding-top:4rem}.lp-head{min-height:4.1rem;padding:.6rem 1rem;gap:.75rem}.lp-head .mark{font-size:calc(.92rem + 3pt)}.head-nav{display:none}.lp-head .head-cta{padding:.55rem .85rem;font-size:calc(.7rem + 3pt)}
  .hero{display:flex;flex-direction:column;align-items:stretch;gap:1.7rem;padding:4.5rem 1.25rem 5rem}.hero-copy{padding:0;min-width:0}.kicker{font-size:calc(.65rem + 3pt)}.hero h1{font-size:calc(clamp(2.65rem,12vw,4.1rem) + 3pt);line-height:1.18;margin-bottom:1.15rem}.hero h1 em,.privacy-copy h2 em,.closing-section h2 em{white-space:normal}.hero-lead{font-size:calc(.95rem + 3pt);line-height:1.95}.hero-actions{gap:1rem}.hero-visual{min-height:24rem;width:100%;max-width:28rem;margin:0 auto}.hero-photo-wrap{inset:1% 0 9% 14%;border-radius:46% 46% 1.5rem 1.5rem / 38% 38% 1.5rem 1.5rem}.hero-screen{width:clamp(9.5rem,43vw,13rem)}.photo-caption{right:.6rem;bottom:.7rem;padding:.6rem .75rem;font-size:calc(.68rem + 3pt)}.spark-one{left:1%;font-size:calc(2.4rem + 3pt)}.spark-two{right:0;bottom:24%;font-size:calc(2rem + 3pt)}.scroll-cue{left:1.25rem;bottom:1.3rem;font-size:calc(.57rem + 3pt)}
  .intro-section,.feature-section,.steps-section,.price-section,.faq-section{padding:4.5rem 1.25rem}.section-label{font-size:calc(.6rem + 3pt)}.section-label span{width:1.7rem;height:1.7rem}.intro-grid{display:block;padding:2rem 0 3rem}.intro-grid h2,.section-heading h2,.steps-heading h2,.price-heading h2,.faq-layout h2{font-size:calc(clamp(2.3rem,11vw,3.8rem) + 3pt)}.intro-copy{margin-top:1.5rem;font-size:calc(.9rem + 3pt)}.memory-strip{display:grid;grid-template-columns:auto auto;justify-content:space-between;row-gap:.8rem;font-size:calc(.77rem + 3pt)}.memory-strip span:nth-child(2n){text-align:right}
  .section-heading{margin-bottom:3rem}.mobile-only{display:block}.feature-row,.feature-row.feature-diary{grid-template-columns:1fr;gap:2rem;padding-bottom:4rem}.feature-row.feature-diary .feature-copy{order:0}.feature-row.feature-diary .feature-image{order:1}.feature-image{max-width:19rem}.feature-copy h3,.family-copy h3{font-size:calc(2.35rem + 3pt)}.feature-copy>p:not(.feature-index){font-size:calc(.9rem + 3pt)}.feature-list .feature-row:last-child{padding-bottom:4rem}.family-feature{grid-template-columns:1fr 1fr;padding:1.5rem;gap:.75rem;border-radius:1.6rem}.family-copy{grid-column:1/-1;padding:0 0 .7rem}.family-copy h3{font-size:calc(2.1rem + 3pt)}.family-image{max-width:13rem}.family-image-small{transform:rotate(5deg) translateY(1rem)}
  .steps-heading{margin-bottom:2.5rem}.steps-grid{grid-template-columns:1fr;gap:.8rem}.step-card{min-height:19rem;padding:1.5rem 1.4rem 0;border-radius:1.2rem}.step-card img{position:absolute;right:1rem;bottom:-9rem;width:8.5rem;margin:0;transform:rotate(-3deg)}.step-card:nth-child(2) img{transform:rotate(3deg)}.step-card p{max-width:calc(100% - 9rem);min-height:3rem}.step-icon{margin-bottom:1rem}
  .privacy-section{display:flex;flex-direction:column;align-items:stretch;padding:4.5rem 1.25rem;gap:2.7rem}.privacy-art{min-height:19rem;max-width:30rem;align-self:center}.privacy-copy{min-width:0}.privacy-copy h2{font-size:calc(clamp(2.2rem,10vw,3.5rem) + 3pt)}.privacy-copy>p{font-size:calc(.9rem + 3pt)}.promise-list small{font-size:calc(.72rem + 3pt)}
  .price-heading{margin:1.7rem auto 2rem}.price-heading h2{font-size:calc(2.8rem + 3pt)}.price-heading p{font-size:calc(.86rem + 3pt)}.price-grid{grid-template-columns:1fr;gap:.8rem}.plan-card{padding:1.6rem 1.4rem}.plan-price{font-size:calc(2.7rem + 3pt)}.price-footnote{font-size:calc(.7rem + 3pt)}
  .faq-section>.section-label{margin-bottom:1.5rem}.faq-layout{grid-template-columns:1fr;gap:1.5rem}.faq-layout h2{font-size:calc(2.7rem + 3pt)}.faq-list summary{font-size:calc(.88rem + 3pt);padding:1.1rem 0}.faq-list details p{font-size:calc(.82rem + 3pt);margin-left:2.55rem}
  .closing-section{padding:5rem 1.25rem}.closing-section h2{font-size:calc(clamp(2.7rem,12vw,4.5rem) + 3pt)}.closing-section>p:not(.closing-kicker){font-size:calc(.87rem + 3pt)}.closing-cta{font-size:calc(.78rem + 3pt)!important;padding:.85rem 1rem!important}.closing-mic{right:8%;top:8%;width:3rem;height:3rem;font-size:calc(1.2rem + 3pt)}.closing-orbit{width:22rem;height:22rem}.orbit-two{width:31rem;height:31rem}
  .lp-foot{padding:2.5rem 1.25rem 1.5rem}.foot-top{align-items:flex-start;flex-direction:column;gap:.45rem}.lp-foot .links{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem;font-size:calc(.73rem + 3pt)}.lp-foot .tiny{text-align:left}
}
@media (max-width:22rem){
  .lp-head{padding-inline:.75rem}.lp-head .head-cta{padding:.5rem .65rem}
  .hero{padding-inline:1rem}.hero h1{font-size:calc(2.55rem + 3pt)}
  .family-feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:1.1rem;gap:.6rem}
  .plan-card{padding-inline:1rem}.plan-ribbon{right:.7rem;font-size:calc(.58rem + 3pt)}
  .lp-foot .links{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* 読みやすさ、ブランド色、スクロール演出 */
.lp-page p{line-break:strict;text-wrap:pretty}
.intro-copy{font-size:calc(1.05rem + 3pt);line-height:2}
.intro-copy p+p{margin-top:1rem}
.feature-copy>p:not(.feature-index),.family-copy>p:not(.feature-index){font-size:calc(1.02rem + 3pt);line-height:2}
.feature-image{z-index:0}
.feature-image img{position:relative;z-index:1}
.feature-image::after{content:"";position:absolute;z-index:2;top:8%;right:-.35rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--pink);box-shadow:1rem 1rem 0 -.08rem var(--yellow);pointer-events:none}
.feature-section{background-image:repeating-linear-gradient(0deg,rgba(65,48,38,.018) 0 1px,transparent 1px 4px)}
.family-feature{isolation:isolate;background:linear-gradient(120deg,#fce8f7 0%,#fff1c5 100%)}
.family-feature::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.45;background:repeating-linear-gradient(135deg,rgba(255,255,255,.25) 0 1px,transparent 1px 5px)}
.family-copy,.family-image{position:relative;z-index:1}
.feature-calendar h3 span{display:block}
.steps-heading h2 span{display:block}
.steps-heading h2{font-size:calc(clamp(2.7rem,4.6vw,4.7rem) + 3pt)}
.faq-list details[open] summary::after{color:#b64ca7}
.faq-list summary span{background:var(--pink-soft);color:#a04c93}
.plan-pro{background:linear-gradient(165deg,#fff 56%,#fff5fd)}
.privacy-section .section-label span{background:rgba(251,141,243,.16);color:#f4a5e8}
.privacy-section .promise-mark{color:#f4a5e8}

@media (min-width:67rem){
  .intro-section,.feature-section,.steps-section,.price-section,.faq-section{padding-block:clamp(4.5rem,7vw,7rem)}
  .feature-row,.feature-row:last-child{padding-bottom:clamp(4.5rem,6vw,6.5rem)}
  .section-heading h2,.intro-grid h2,.price-heading h2,.faq-layout h2{font-size:calc(clamp(3.2rem,4.8vw,5rem) + 3pt)}
  .section-heading>p,.steps-heading>p,.price-heading p{font-size:calc(1.08rem + 3pt)}
  .feature-copy>p:not(.feature-index),.family-copy>p:not(.feature-index),.intro-copy{font-size:calc(1.08rem + 3pt)}
}

@media (max-width:58rem){
  .intro-grid{grid-template-columns:1fr;gap:1.5rem;align-items:start}
  .intro-grid h2{font-size:calc(clamp(2.6rem,6vw,4.4rem) + 3pt)}
  .intro-copy{max-width:42rem}
  .feature-row,.feature-row.feature-diary{grid-template-columns:1fr;gap:2.2rem}
  .feature-image{max-width:24rem}
  .feature-copy{max-width:42rem;margin-inline:auto}
  .feature-copy h3,.family-copy h3{font-size:calc(clamp(2rem,4.5vw,3.2rem) + 3pt)}
  .privacy-section{grid-template-columns:1fr;gap:3rem}
  .privacy-art{max-width:40rem;min-height:26rem;margin-inline:auto}
  .privacy-copy{max-width:44rem;margin-inline:auto}
}

@media (max-width:42rem){
  .intro-copy{font-size:calc(.96rem + 3pt);line-height:1.95}
  .feature-copy h3,.family-copy h3{font-size:calc(clamp(1.95rem,7.2vw,2.35rem) + 3pt);line-height:1.38;letter-spacing:-.045em}
  .feature-calendar h3{font-size:calc(clamp(1.7rem,6.8vw,2.15rem) + 3pt);line-height:1.42;letter-spacing:-.045em}
  .feature-copy>p:not(.feature-index),.family-copy>p:not(.feature-index){font-size:calc(.96rem + 3pt);line-height:1.95}
  .steps-heading h2{font-size:calc(clamp(1.95rem,8vw,2.7rem) + 3pt);line-height:1.35}
  .step-card{min-height:18rem;padding:1.4rem 1.25rem 0}
  .step-card h3{font-size:calc(1.25rem + 3pt)}
  .step-card p{font-size:calc(.9rem + 3pt);max-width:calc(100% - 8.5rem)}
  .step-card img{right:.8rem;width:7.7rem}
  .faq-layout h2{font-size:calc(clamp(2.25rem,9vw,2.7rem) + 3pt)}
  .faq-list summary{gap:.7rem;font-size:calc(.9rem + 3pt)}
  .faq-answer p{margin-left:2.25rem;margin-right:.5rem;font-size:calc(.86rem + 3pt)}
  .price-footnote{font-size:calc(.76rem + 3pt);line-height:1.9}
}

@media (prefers-reduced-motion:no-preference){
  .motion-ready .reveal-section,.motion-ready .reveal-left,.motion-ready .reveal-right,.motion-ready .reveal-up{opacity:0;transition:opacity .75s ease,transform .8s cubic-bezier(.2,.75,.25,1);transition-delay:var(--reveal-delay,0ms)}
  .motion-ready .reveal-section,.motion-ready .reveal-up{transform:translate3d(0,1.5rem,0)}
  .motion-ready .reveal-left{transform:translate3d(-2rem,0,0)}
  .motion-ready .reveal-right{transform:translate3d(2rem,0,0)}
  .motion-ready .reveal-section.is-visible,.motion-ready .reveal-left.is-visible,.motion-ready .reveal-right.is-visible,.motion-ready .reveal-up.is-visible{opacity:1;transform:none}
}

/* 2026-10 web screenshots and refined desktop/mobile composition */
.hero{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(1.5rem,3vw,3.5rem)}
.hero h1{font-size:calc(clamp(3.1rem,5.25vw,5.15rem) + 3pt);line-height:1.15;letter-spacing:-.085em}
.hero-visual{min-height:39rem;max-width:43rem;overflow:visible;isolation:isolate}
.hero-visual::before{content:"";position:absolute;z-index:-2;inset:8% 4% 5% 5%;border-radius:48% 52% 44% 56%;background:linear-gradient(135deg,rgba(251,141,243,.22),rgba(255,229,124,.4));transform:rotate(-8deg)}
.hero-orb{position:absolute;z-index:-1;display:block;border-radius:50%;filter:blur(1px)}
.hero-orb-pink{width:5rem;height:5rem;right:5%;top:12%;background:var(--pink);opacity:.5}
.hero-orb-yellow{width:8rem;height:8rem;left:6%;bottom:10%;background:var(--yellow);opacity:.72}
.hero-phone{position:absolute;margin:0;width:clamp(14rem,22vw,18rem);filter:drop-shadow(0 1.2rem 1.5rem rgba(46,35,29,.2));transform-origin:center}
.hero-phone img{display:block;width:100%;height:auto}
.hero-phone-back{right:5%;top:4%;transform:rotate(8deg)}
.hero-phone-front{left:6%;bottom:3%;transform:rotate(-7deg)}
.hero-visual-note{position:absolute;z-index:2;right:0;bottom:2%;display:flex;align-items:center;gap:.6rem;margin:0;padding:.75rem 1rem;border:1px solid rgba(83,67,52,.1);border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 .6rem 1.4rem rgba(46,35,29,.08);font-size:calc(.76rem + 3pt);font-weight:750;color:#514942}
.hero-visual-note .sound-dot{background:var(--pink)}
.intro-copy{max-width:43rem}
.intro-copy p{max-width:100%;text-wrap:pretty}
.section-heading h2{font-size:calc(clamp(2.8rem,5vw,4.5rem) + 3pt);line-height:1.27;letter-spacing:-.055em}
.feature-copy h3,.family-copy h3{font-size:calc(clamp(2.05rem,3vw,3rem) + 3pt);line-height:1.38;letter-spacing:-.055em}
.feature-calendar h3 span{display:block}
.feature-image,.family-image{max-width:23rem;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:rotate(-2deg)}
.feature-row.feature-diary .feature-image{transform:rotate(2deg)}
.feature-image::before,.feature-image::after{display:none}
.feature-image img,.family-image img{position:relative;z-index:1;width:100%;height:auto;display:block;border-radius:0;filter:drop-shadow(0 1rem 1.05rem rgba(46,35,29,.14))}
.family-feature{grid-template-columns:minmax(0,1fr) minmax(14rem,.7fr);gap:clamp(2rem,6vw,6rem);background:linear-gradient(115deg,#fce8f7 0%,#fff1c5 100%)}
.family-image{justify-self:center;max-width:20rem;transform:rotate(3deg)}
.family-image-small{display:none}
.step-card{min-height:15rem;padding:2rem;border:1px solid rgba(83,67,52,.07);background-color:var(--paper-2);background-image:radial-gradient(circle at 88% 80%,rgba(255,229,124,.42) 0 2.7rem,transparent 2.75rem),radial-gradient(circle at 95% 72%,rgba(251,141,243,.27) 0 1.5rem,transparent 1.55rem)}
.step-card h3{font-size:calc(1.5rem + 3pt);margin-top:2.3rem}
.step-card p{font-size:calc(.98rem + 3pt);max-width:19rem;min-height:0;line-height:1.9}

@media (max-width:58rem){
  .hero{grid-template-columns:1fr;gap:1rem;padding-inline:7vw}
  .hero-copy{max-width:43rem}
  .hero h1{font-size:calc(clamp(3.5rem,8.2vw,5.5rem) + 3pt)}
  .hero-visual{width:min(100%,38rem);justify-self:center;min-height:36rem;margin:0 auto}
  .hero-phone{width:clamp(15rem,35vw,19rem)}
  .intro-grid h2{font-size:calc(clamp(2.6rem,6vw,4.25rem) + 3pt)}
  .feature-row,.feature-row.feature-diary{grid-template-columns:minmax(0,1fr) minmax(16rem,.8fr);gap:clamp(2rem,6vw,4rem)}
  .feature-row.feature-diary{grid-template-columns:minmax(16rem,.8fr) minmax(0,1fr)}
  .feature-row.feature-diary .feature-copy{order:0}.feature-row.feature-diary .feature-image{order:1}
  .feature-copy h3,.family-copy h3{font-size:calc(clamp(2rem,4vw,2.8rem) + 3pt)}
  .feature-image{max-width:20rem}
  .family-feature{grid-template-columns:minmax(0,1fr) minmax(13rem,.72fr)}
}
@media (max-width:42rem){
  .hero{padding:3.5rem 1.25rem 4.5rem;gap:.5rem}
  .hero h1{font-size:calc(clamp(2.8rem,10vw,4rem) + 3pt);line-height:1.18}
  .hero-visual{min-height:29rem;max-width:25rem;margin-top:.5rem}
  .hero-visual::before{inset:8% 2% 7%}
  .hero-phone{width:clamp(11.8rem,48vw,15.5rem)}
  .hero-phone-back{right:1%;top:5%}
  .hero-phone-front{left:0;bottom:3%}
  .hero-orb-pink{width:3.5rem;height:3.5rem;right:3%;top:10%}
  .hero-orb-yellow{width:5rem;height:5rem;left:2%;bottom:10%}
  .hero-visual-note{right:-.2rem;bottom:0;padding:.6rem .8rem;font-size:calc(.66rem + 3pt)}
  .intro-grid h2,.section-heading h2,.steps-heading h2,.price-heading h2,.faq-layout h2{font-size:calc(clamp(2rem,8vw,2.7rem) + 3pt);line-height:1.32;letter-spacing:-.05em}
  .intro-copy{font-size:calc(.97rem + 3pt);line-height:1.9}
  .intro-copy p{margin-block:.85rem}
  .feature-section{background-size:auto}
  .section-heading h2{font-size:calc(clamp(2.1rem,8vw,2.8rem) + 3pt)}
  .feature-row,.feature-row.feature-diary{grid-template-columns:1fr;gap:1.5rem;padding-bottom:3.5rem}
  .feature-row .feature-image,.feature-row.feature-diary .feature-image{order:1;width:min(78%,18rem);max-width:18rem}
  .feature-row .feature-copy,.feature-row.feature-diary .feature-copy{order:0;width:100%}
  .feature-copy h3,.family-copy h3{font-size:calc(clamp(1.8rem,7vw,2.2rem) + 3pt);line-height:1.4}
  .feature-calendar h3{font-size:calc(clamp(1.62rem,6vw,1.95rem) + 3pt);line-height:1.45}
  .feature-calendar h3 span{display:block}
  .family-feature{grid-template-columns:minmax(0,1fr) minmax(8rem,.65fr);gap:1rem;padding:1.4rem}
  .family-copy{grid-column:1;align-self:center}
  .family-image{grid-column:2;grid-row:1;max-width:12rem;width:100%}
  .steps-grid{grid-template-columns:1fr}
  .step-card{min-height:13rem;padding:1.5rem}
  .step-card h3{margin-top:1.7rem;font-size:calc(1.25rem + 3pt)}
  .step-card p{max-width:calc(100% - 1rem);font-size:calc(.9rem + 3pt)}
}
@media (max-width:22rem){
  .hero-visual{min-height:25rem}
  .hero-phone{width:clamp(10.7rem,49vw,12.5rem)}
  .hero-visual-note{font-size:calc(.6rem + 3pt)}
  .family-feature{grid-template-columns:minmax(0,1fr) minmax(7rem,.6fr);padding:1.1rem;gap:.6rem}
  .family-copy h3{font-size:calc(1.65rem + 3pt)}
}
@media (min-width:58.001rem){.feature-copy h3,.family-copy h3{font-size:calc(clamp(2.05rem,2.6vw,2.7rem) + 3pt)}}
@media (max-width:58rem){
  .feature-row,.feature-row.feature-diary{grid-template-columns:minmax(0,1fr);gap:1.7rem}
  .feature-row.feature-diary .feature-copy{order:0}.feature-row.feature-diary .feature-image{order:1}
  .feature-row .feature-image{max-width:min(78%,22rem)}
  .feature-copy{max-width:42rem}
}


/* typography, spacious desktop balance, FAQ motion, and step illustrations */
.lp-page{font-size:calc(16px + 3pt)}
.desktop-copy{display:block}.mobile-copy{display:none}
.faq-item{border-top:1px solid var(--hair)}
.faq-item:last-child{border-bottom:1px solid var(--hair)}
.faq-item h3{margin:0}
.faq-question{display:flex;align-items:center;gap:1rem;width:100%;padding:1.25rem .2rem;border:0;background:none;text-align:left;color:var(--ink);font:inherit;font-weight:750;cursor:pointer}
.faq-question:focus-visible{outline:3px solid #d957c7;outline-offset:2px;border-radius:4px}
.faq-q-mark{display:grid;place-items:center;flex:none;width:1.55rem;height:1.55rem;border-radius:50%;background:var(--pink-soft);color:#a04c93;font-size:calc(.7rem + 3pt)}
.faq-plus{position:relative;flex:none;width:1rem;height:1rem;margin-left:auto}
.faq-plus::before,.faq-plus::after{content:"";position:absolute;left:50%;top:50%;width:.85rem;height:2px;border-radius:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .4s cubic-bezier(.2,.75,.25,1)}
.faq-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.is-open .faq-plus::after{transform:translate(-50%,-50%) rotate(0)}
.faq-answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .42s cubic-bezier(.2,.75,.25,1),opacity .3s ease}
.faq-answer-inner{min-height:0;overflow:hidden}
.faq-answer-inner p{margin:0 2rem 0 2.75rem;padding:0 0 1.25rem;color:#625d56;line-height:1.9}

.step-illustration{position:absolute;right:1rem;bottom:.1rem;width:min(58%,15rem);height:auto;overflow:visible}
.step-card{min-height:17.5rem;padding:2rem 1.8rem;}
.step-card p{max-width:62%;position:relative;z-index:1}
.steps-grid{max-width:82rem;gap:1.25rem}

@media (min-width:67rem){
  .intro-section,.feature-section,.steps-section,.price-section,.faq-section{padding-block:clamp(4.5rem,5vw,5.75rem)}
  .intro-section,.feature-section,.steps-section,.price-section,.faq-section{padding-inline:clamp(2rem,6vw,6rem)}
  .intro-grid{gap:5vw;padding-block:2.5rem 4rem}
  .feature-list,.family-feature,.steps-grid,.faq-layout{max-width:82rem}
  .feature-row{gap:clamp(3rem,5vw,5.5rem);padding-bottom:clamp(4rem,5vw,5.5rem)}
  .feature-image{max-width:27rem}
  .family-feature{padding:clamp(2.5rem,5vw,4.5rem);gap:clamp(3rem,6vw,6rem)}
  .privacy-section{gap:clamp(3rem,6vw,6rem);padding:clamp(4.5rem,6vw,6.5rem) clamp(3rem,8vw,8rem)}
  .steps-heading{margin-bottom:3rem}
}
@media (max-width:42rem){
  .desktop-copy{display:none}.mobile-copy{display:block}
  .faq-question{gap:.7rem;padding:1.1rem 0}
  .faq-answer-inner p{margin-left:2.25rem;margin-right:.5rem}
  .step-card{min-height:15rem;padding:1.4rem 1.25rem}
  .step-card p{max-width:55%}
  .step-illustration{right:.2rem;width:40%;bottom:.3rem}
}
.desktop-only{display:inline}
.lp-head .mark,.lp-foot .mark{font-size:calc(1.0625rem + 3pt)}
.closing-cta{font-size:calc(.9375rem + 3pt)!important}
.faq-question{font-size:calc(1rem + 3pt)}
@media (max-width:42rem){.desktop-only{display:none}.mobile-only{display:block}}
@media (min-width:42.001rem){.mobile-only{display:none}.desktop-only{display:inline}}
@media (min-width:67rem){.feature-calendar h3{font-size:calc(clamp(2rem,2.3vw,2.5rem) + 3pt)}}
@media (max-width:42rem){.feature-calendar h3{font-size:calc(clamp(1.35rem,5.2vw,1.8rem) + 3pt)}}


/* Scoped FAQ controls keep the original divider layout above the shared button theme. */
.lp-page .faq-question,.lp-page .faq-question:hover:not(:disabled){
  appearance:none;display:flex;align-items:center;gap:1rem;width:100%;margin:0;
  padding:1.25rem .2rem;border:0;border-radius:0;box-shadow:none;
  background:transparent;color:var(--ink);text-align:left;
  font:inherit;font-size:calc(1rem + 3pt);font-weight:750;line-height:1.6;
}
.lp-page .faq-answer-inner p{opacity:1;transform:none;transition:none;margin:0 2rem 0 2.75rem;padding:0 0 1.25rem;font-size:calc(.92rem + 3pt);line-height:1.9}
.lp-page .faq-plus{color:var(--ink)}
.copy-line{display:block}.phrase{display:inline-block}
.feature-copy,.family-copy{min-width:0}
.feature-copy>p:not(.feature-index),.family-copy>p:not(.feature-index){max-width:none}
@media (min-width:67.001rem){
  .feature-row{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
  .feature-row.feature-diary{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
  .feature-copy{max-width:none;width:100%}
  .words-description .copy-line,.calendar-description .copy-line{white-space:nowrap}
}
@media (max-width:78rem){
  .feature-calendar{grid-template-columns:minmax(0,1fr)}
  .feature-calendar .feature-copy{order:0;max-width:100%;width:100%}
  .feature-calendar .feature-image{order:1}
}
@media (max-width:67rem){
  .feature-row,.feature-row.feature-diary{grid-template-columns:minmax(0,1fr)}
  .feature-copy{max-width:none;width:100%}
  .feature-row .feature-copy{order:0}.feature-row .feature-image{order:1}
}
@media (max-width:42rem){
  .family-feature{grid-template-columns:minmax(0,1fr);gap:1.7rem;padding:1.5rem 1.25rem}
  .family-copy{grid-column:1;grid-row:1;width:100%;padding:0}
  .family-image{grid-column:1;grid-row:2;justify-self:center;width:min(78%,18rem);max-width:18rem}
  .lp-page .faq-question,.lp-page .faq-question:hover:not(:disabled){gap:.7rem;padding:1.1rem 0;font-size:calc(.9rem + 3pt)}
  .lp-page .faq-answer-inner p{margin-left:2.25rem;margin-right:.5rem;font-size:calc(.86rem + 3pt)}
}

/* If JavaScript is unavailable, answers remain readable. */
.lp-page .faq-answer{grid-template-rows:1fr;opacity:1}

/* Header CTA text must override the shared link color. */
.lp-page .lp-head .head-cta{color:#fffaf4;background:var(--ink)}
.lp-page .lp-head .head-cta:hover{color:var(--ink);background:transparent}
@media (max-width:42rem){.lp-head .mark{font-size:calc(.92rem + 3pt);white-space:nowrap}}
@media (max-width:22rem){.lp-head{gap:.5rem}.lp-head .mark{gap:.5rem;font-size:calc(.9rem + 3pt)}.lp-head .brand-icon{width:1.8rem;height:1.8rem}}

@media (min-width:42.001rem) and (max-width:67rem){
  .family-feature{grid-template-columns:minmax(0,1fr)}
  .family-copy{grid-column:1;grid-row:1;width:100%}
  .family-image{grid-column:1;grid-row:2;justify-self:center;width:min(78%,22rem);max-width:22rem}
}


/* FAQ visibility follows the same state the button exposes. */
.lp-page .faq-answer[aria-hidden="true"]{grid-template-rows:0fr;opacity:0}
.lp-page .faq-answer[aria-hidden="false"]{grid-template-rows:1fr;opacity:1}
.lp-page .faq-question[aria-expanded="true"] .faq-plus::after{transform:translate(-50%,-50%) rotate(0)}
.lp-page .faq-question[aria-expanded="false"] .faq-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
/* Keep step copy above its illustration. */
.step-card{padding-top:1.75rem}
.step-card h3{margin-top:.3rem;margin-bottom:.5rem;line-height:1.35}
.step-card p{line-height:1.75}
@media (min-width:67.001rem){
  .hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem)}
  .hero-copy{justify-self:end;width:100%;max-width:37rem}
  .hero-visual{justify-self:start}
  .privacy-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,5vw,5rem)}
  .privacy-art{justify-self:end}
  .privacy-copy{justify-self:start}
}
@media (max-width:42rem){.step-card{padding-top:1.4rem}}
.step-card{min-height:18rem}
.step-card p{max-width:70%}
.step-illustration{width:min(52%,13rem)}
@media (max-width:67rem){.steps-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:42rem){
  .step-card{min-height:15rem}
  .step-card p{max-width:55%}
  .step-illustration{width:40%}
}

/* Keep mobile scrolling on the vertical axis, including during reveal animations. */
@media (max-width:58rem){
  html{overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}
  body.lp-page{width:100%;max-width:100%;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}
  .lp-page main{overflow-x:clip}
}


/* App interaction illustration anchored to the unchanged train screenshot. */
.word-demo{container-type:inline-size}
.word-demo-bubble{
  position:absolute;z-index:3;left:24%;top:10%;display:flex;align-items:center;justify-content:center;
  gap:.4rem;gap:clamp(.35rem,2cqw,.6rem);width:69%;max-width:18.5rem;min-height:3.5rem;margin:0;padding:.65rem .6rem;
  border:2px solid #332d2c;border-radius:1.3rem;background:#fffaf4;color:var(--ink);
  box-shadow:0 .45rem 0 rgba(51,45,44,.08),0 .8rem 1.3rem rgba(51,45,44,.12);
  line-height:1.25;text-align:left;transform-origin:12% 100%;pointer-events:none;
}
.word-demo-bubble::after{content:"";position:absolute;left:12%;bottom:-.65rem;width:1.05rem;height:1.05rem;
  background:#fffaf4;border-right:2px solid #332d2c;border-bottom:2px solid #332d2c;transform:rotate(45deg)}
.word-demo-icon{position:relative;z-index:1;display:grid;place-items:center;flex:none;
  width:2.1rem;height:2.1rem;width:clamp(1.55rem,8cqw,2.1rem);height:clamp(1.55rem,8cqw,2.1rem);
  border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--yellow));color:var(--ink)}
.word-demo-icon svg{display:block;width:1.2rem;height:1.2rem}
.word-demo-label{position:relative;z-index:1;min-width:0}
.word-demo-label strong{display:block;font-size:1.35rem;font-size:clamp(1.05rem,6cqw,1.65rem);font-weight:800;letter-spacing:.03em;white-space:nowrap}
.word-demo-label small{display:block;margin-top:.25rem;font-size:.7rem;font-size:clamp(.65rem,3cqw,.8rem);font-weight:650;letter-spacing:0;white-space:nowrap;color:#625d56}
.word-demo.is-demo-ready:not(.is-demo-visible) .word-demo-bubble{opacity:0;transform:translateY(.6rem) scale(.86)}
@media (prefers-reduced-motion:no-preference){
  .word-demo.is-demo-visible .word-demo-bubble{animation:word-bubble-in .6s cubic-bezier(.2,.75,.25,1) both}
  @keyframes word-bubble-in{0%{opacity:0;transform:translateY(.6rem) scale(.86)}70%{opacity:1;transform:translateY(-.1rem) scale(1.03)}100%{opacity:1;transform:none}}
}
