/* Shared identity and a continuous illustrated first screen. */
.brand.brand-warm { display:inline-flex; width:auto; gap:7px; align-items:center; white-space:nowrap; }
.brand.brand-warm img { flex:none; width:42px; height:35px; object-fit:contain; }
.brand.brand-warm span { color:#172b27; font-size:19px; font-weight:800; letter-spacing:-.8px; }
.footer-brand .brand.brand-warm { width:auto; }
.footer-brand .brand.brand-warm img { width:34px; height:29px; }
.footer-brand .brand.brand-warm span { font-size:17px; }
.menu-close-icon { display:none; }
.mobile-header-menu[open] .menu-open-icon { display:none; }
.mobile-header-menu[open] .menu-close-icon { display:block; }
.landing-jade { position:relative; }
.landing-jade .site-header { position:absolute; top:0; left:0; width:100%; height:88px; z-index:10; background:transparent; border:0; }
.landing-jade .header-inner { height:100%; grid-template-columns:190px minmax(0,1fr) 220px; gap:18px; }
.landing-jade .nav-links { gap:clamp(14px,2vw,32px); }
.landing-jade .primary-button,.landing-jade .hero-actions .primary-button { border:1px solid #206b61; border-radius:16px; color:#fffef6; background:linear-gradient(145deg,#24796d,#155b53); box-shadow:0 7px 18px -10px #184e48a0,inset 0 1px 0 #ffffff24; }
.landing-jade .outline-button { border:1px solid #758f8059; border-radius:16px; color:#244d43; background:#fffcf099; box-shadow:none; }
.landing-jade .primary-button:hover { background:#155b53; }
.landing-jade .outline-button:hover { background:#fffcf0; }
.landing-jade .header-download { min-height:48px; font-size:13px; padding:10px 16px; }
.landing-jade .hero-warm { position:relative; isolation:isolate; min-height:720px; height:min(100svh,960px); margin:0; padding:0; background:#f4e5cf; }
.hero-backdrop { position:absolute; inset:0; z-index:-1; display:block; overflow:hidden; }
.landing-jade .hero-backdrop img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.landing-jade .hero-warm .hero-grid { display:flex; align-items:center; min-height:100%; height:100%; gap:0; padding-top:104px; padding-bottom:92px; }
.landing-jade .hero-warm .hero-copy { display:block; width:47%; max-width:620px; padding:0; }
.landing-jade .hero-warm h1 { margin:0; font-size:clamp(40px,3.9vw,60px); font-weight:650; line-height:1.1; letter-spacing:-.048em; white-space:normal; color:#20382f; }
.landing-jade .hero-warm h1 span { display:block; color:#276b5b; white-space:normal; }
.landing-jade .hero-warm h1 .hero-word { display:inline; white-space:nowrap; }
.landing-jade .hero-warm .hero-copy > p { max-width:480px; margin:24px 0 0; font-size:18px; line-height:1.6; color:#45574d; }
.landing-jade .hero-warm .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:28px 0 0; }
.landing-jade .hero-warm .hero-actions a { display:inline-flex; width:auto; min-width:0; min-height:54px; padding:14px 22px; font-size:15px; font-weight:600; gap:9px; }
.landing-jade .hero-warm .hero-actions svg { width:18px; height:18px; margin:0; }
.landing-jade .hero-warm .platform-note { display:flex; align-items:center; gap:7px; margin:18px 0 0; font-size:12px; line-height:1.5; color:#506253; }
.landing-jade .hero-warm .platform-note svg { width:16px; height:16px; flex:none; }
.landing-jade .benefit-section { padding:0 0 12px; background:#faf8f2; }
.landing-jade .benefit-strip { border:0; border-bottom:1px solid #dedfd2; border-radius:0; background:transparent; box-shadow:none; padding:32px 0; }
.landing-jade .benefit-icon { color:#286f5d; border:0; background:transparent; }
.landing-jade .benefit-story-mobile { display:block; padding:56px 40px 40px; margin-top:0; }
.landing-jade .benefit-story-head { text-align:center; margin:0 auto 32px; padding:0; }
.landing-jade .benefit-story-head h2 { margin:0; font-size:clamp(30px,2.8vw,42px); font-weight:600; line-height:1.16; letter-spacing:-.04em; color:#20382f; }
.landing-jade .benefit-story-head h2 span { color:#276b5b; }
.landing-jade .benefit-story-head > p { max-width:560px; margin:16px auto 0; font-size:16px; line-height:1.6; color:#627064; }
.landing-jade .benefit-plan-scene { display:grid; grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr); align-items:stretch; max-width:1100px; margin:0 auto; padding:0; border-radius:0; background:transparent; }
.landing-jade .benefit-voice-note { display:flex; flex-direction:column; justify-content:center; margin:0; padding:28px 32px; border-radius:24px; color:#fffdf4; background:linear-gradient(135deg,#2d7565,#225b51); box-shadow:none; }
.landing-jade .benefit-voice-caption { display:flex; align-items:center; gap:10px; font-size:14px; color:#e5eee1; }
.voice-step { display:inline-grid; place-items:center; flex:none; width:28px; height:28px; border:1px solid #9cae9560; border-radius:50%; font-size:12px; font-weight:600; }
.landing-jade .benefit-voice-wave { margin-left:auto; display:flex; gap:3px; height:22px; align-items:center; }
.landing-jade .benefit-voice-wave i { display:block; width:3px; height:6px; background:#9ed7c5; border-radius:2px; }
.landing-jade .benefit-voice-wave i:nth-child(2n) { height:12px; }
.landing-jade .benefit-voice-wave i:nth-child(3n) { height:20px; }
.landing-jade .benefit-voice-note > p { margin:22px 0 0; font-size:clamp(18px,1.7vw,24px); font-weight:450; line-height:1.5; letter-spacing:-.02em; }
.voice-bridge { display:grid; place-items:center; color:#6a8e78; }
.voice-bridge svg { width:26px; height:26px; }
.landing-jade .benefit-draft { min-width:0; padding:28px 32px; margin:0; border:1px solid #dce3d3; border-radius:24px; background:#fffef8; box-shadow:none; }
.landing-jade .benefit-draft::before { display:none; }
.landing-jade .benefit-draft-heading { display:flex; align-items:center; gap:10px; margin:0 0 18px; }
.landing-jade .benefit-draft-heading h3 { margin:0; font-size:16px; font-weight:600; }
.landing-jade .benefit-draft-heading > span:last-child { margin-left:auto; font-size:11px; color:#637763; background:#edf2e6; border-radius:6px; padding:5px 7px; }
.landing-jade .benefit-draft-row { display:flex; align-items:center; gap:14px; padding:15px 0; border-top:1px solid #e7eadf; border-bottom:0; min-height:68px; }
.landing-jade .benefit-draft-row time { font-size:14px; font-variant-numeric:tabular-nums; color:#667a63; }
.landing-jade .benefit-draft-marker { width:3px; min-height:32px; background:#87af91; border-radius:2px; flex:none; }
.landing-jade .benefit-draft-row b { display:block; font-size:16px; font-weight:550; }
.landing-jade .benefit-draft-row small { display:block; margin-top:5px; font-size:13px; line-height:1.4; color:#6a7b66; }
.landing-jade .voice-confirmation { display:flex; justify-content:center; align-items:center; gap:12px; margin:24px auto 0; max-width:800px; color:#63745f; font-size:14px; line-height:1.6; }
.voice-confirmation b { font-weight:550; color:#2d5344; }
.landing-jade .benefit-life-pair { display:none; }
.landing-jade .feature-source-voice img { transform:none; }
.landing-jade .feature-art { display:flex; align-items:center; justify-content:center; }
.landing-jade .feature-art img { min-height:0; flex:none; }
.landing-jade .advantage-story-art { height:250px; }
.landing-jade .advantage-story-panda { width:100%; height:100%; object-fit:cover; object-position:center; }
@media (max-width:980px) {
  .site-header { position:relative; z-index:10; }
  .header-inner { position:relative; }
  .mobile-header-menu { display:block; position:static !important; margin-left:auto; }
  .mobile-header-menu summary { display:grid; place-items:center; width:44px; height:44px; list-style:none; cursor:pointer; border-radius:12px; }
  .mobile-header-menu summary::-webkit-details-marker { display:none; }
  .mobile-header-menu summary svg { width:24px; height:24px; }
  .mobile-header-menu[open] summary { background:#e7f0e6; }
  .landing-jade .mobile-header-menu nav,.mobile-header-menu nav { position:absolute; top:calc(100% + 4px); left:0; right:0; width:auto; padding:12px; border:1px solid #dce3d4; border-radius:20px; background:#fffef8; box-shadow:0 16px 40px #183a2426; }
  .mobile-header-menu nav a { display:flex; align-items:center; min-height:48px; padding:10px 14px; border-radius:12px; font-size:15px; }
  .mobile-header-menu nav a:hover { background:#edf2e6; }
}
@media (min-width:761px) and (max-width:1100px) {
  .landing-jade .hero-warm { min-height:680px; height:680px; }
  .landing-jade .hero-backdrop img { object-position:58% center; }
  .landing-jade .hero-warm .hero-copy { width:48%; }
  .landing-jade .hero-warm h1 { font-size:38px; }
  .landing-jade .hero-warm .hero-copy > p { font-size:16px; }
  .landing-jade .hero-warm .hero-actions { gap:8px; }
  .landing-jade .hero-warm .hero-actions a { font-size:13px; padding:12px 16px; }
  .landing-jade .benefit-story-mobile { padding-inline:0; }
  .landing-jade .benefit-plan-scene { grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr); }
  .landing-jade .benefit-voice-note,.landing-jade .benefit-draft { padding:24px; }
}
@media (min-width:761px) and (max-width:980px) {
  .landing-jade .header-inner { display:flex; }
  .landing-jade .header-download { margin-left:auto; }
  .landing-jade .hero-warm { min-height:500px; height:65.1vw; }
  .landing-jade .hero-warm .hero-grid { padding-top:100px; padding-bottom:28px; }
  .landing-jade .hero-warm h1 { font-size:34px; }
  .landing-jade .hero-warm .hero-copy > p { margin-top:16px; }
  .landing-jade .hero-warm .hero-actions { margin-top:20px; }
  .landing-jade .hero-warm .hero-actions a { font-size:12px; padding-inline:12px; }
  .landing-jade .hero-warm .platform-note { margin-top:12px; font-size:11px; }
}
@media (min-width:761px) and (max-width:1280px) {
  .landing-jade .feature-card { min-height:0; padding-bottom:24px; }
  .landing-jade .plus-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .landing-jade .plus-card { min-height:240px; }
  .landing-jade .price-card .primary-button { font-size:13px; }
  .landing-jade .system-card { grid-template-columns:1fr; gap:20px; }
  .landing-jade .system-copy { max-width:560px; }
  .landing-jade .system-visual > img { position:static; width:100%; height:auto; object-fit:contain; }
  .landing-jade .advantage-panel { grid-template-columns:1fr; height:auto; min-height:0; }
  .landing-jade .advantage-story { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:18px 28px; }
  .landing-jade .advantage-story h2,.landing-jade .advantage-story p { grid-column:1; }
  .landing-jade .advantage-story-art { grid-column:2; grid-row:1 / span 3; height:220px; }
  .landing-jade .advantage-progress-demo { height:430px; }
  .landing-jade .advantage-side { grid-template-columns:1fr 1fr; grid-template-rows:auto; align-items:stretch; }
  .landing-jade .advantage-side-card { min-height:260px; }
  .landing-jade .advantage-card-visual { position:static; height:170px; margin-top:12px; }
  .landing-jade .footer-bamboo { display:none; }
  .landing-jade .footer-main { padding-right:18px; grid-template-columns:130px 210px 1fr; }
  .landing-jade .footer-main .store-badges { display:none; }
}
@media (max-width:760px) {
  .landing-jade .site-header { height:76px; }
  .landing-jade .header-inner { width:calc(100% - 40px); }
  .landing-jade .hero-warm { height:auto; min-height:900px; }
  .landing-jade .hero-backdrop img { object-fit:cover; object-position:center bottom; }
  .landing-jade .hero-warm .hero-grid { display:block; width:calc(100% - 48px); max-width:520px; min-height:900px; padding:108px 0 0; }
  .landing-jade .hero-warm .hero-copy { width:100%; max-width:480px; }
  .landing-jade .hero-warm h1 { font-size:clamp(30px,8vw,40px); line-height:1.12; }
  .landing-jade .hero-warm .hero-copy > p { margin-top:16px; font-size:16px; line-height:1.5; max-width:430px; }
  .landing-jade .hero-warm .hero-actions { flex-wrap:nowrap; gap:10px; margin-top:20px; }
  .landing-jade .hero-warm .hero-actions a { min-height:52px; padding:12px 16px; font-size:13px; }
  .landing-jade .hero-warm .hero-actions .primary-button { flex:1; white-space:normal; }
  .landing-jade .hero-warm .hero-actions .primary-button svg { display:none; }
  .landing-jade .hero-warm .hero-actions .outline-button { flex:1; background:#fffaf078; }
  .landing-jade .hero-warm .platform-note { margin-top:12px; font-size:11px; text-align:left; }
  .landing-jade .benefit-section { padding-top:0; background:#faf8f2; }
  .landing-jade .benefit-story-mobile { padding:40px 8px 24px; }
  .landing-jade .benefit-story-head { text-align:left; margin-bottom:24px; }
  .landing-jade .benefit-story-head h2 { font-size:30px; }
  .landing-jade .benefit-story-head > p { margin-top:14px; font-size:15px; }
  .landing-jade .benefit-plan-scene { grid-template-columns:1fr; }
  .landing-jade .benefit-voice-note,.landing-jade .benefit-draft { padding:22px; border-radius:20px; }
  .landing-jade .benefit-voice-note > p { margin-top:16px; font-size:19px; }
  .voice-bridge { height:36px; }
  .voice-bridge svg { width:22px; height:22px; transform:rotate(90deg); }
  .landing-jade .benefit-draft-heading { gap:8px; }
  .landing-jade .benefit-draft-heading h3 { font-size:14px; }
  .landing-jade .benefit-draft-row b { font-size:15px; }
  .landing-jade .voice-confirmation { align-items:flex-start; margin-top:20px; font-size:13px; }
  .landing-jade .benefit-life-pair { display:grid; margin-top:28px; padding-top:24px; border-top:1px solid #e0e3d5; }
}
@media (min-width:500px) and (max-width:760px) {
  .landing-jade .hero-warm,.landing-jade .hero-warm .hero-grid { min-height:1100px; }
}
@media (max-width:359px) {
  .landing-jade .hero-warm,.landing-jade .hero-warm .hero-grid { min-height:900px; }
  .landing-jade .hero-warm .hero-grid { padding-top:96px; }
  .landing-jade .hero-warm h1 { font-size:29px; }
  .landing-jade .hero-warm .hero-actions a { min-height:58px; padding-inline:10px; font-size:12px; }
  .landing-jade .hero-warm .hero-actions .primary-button { flex:1.4; white-space:nowrap; }
  .landing-jade .benefit-voice-note,.landing-jade .benefit-draft { padding:18px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
