:root{--ft-navy:#0b2f6b;--ft-navy-2:#132a4d;--ft-teal:#0aa7a5;--ft-green:#169b62;--ft-gold:#f2b53d;--ft-coral:#ff7043;--ft-pink:#e83e8c;--ft-ink:#142033;--ft-muted:#667085;--ft-line:#e7ebe8;--ft-canvas:#fbfcf9;--ft-soft:#f3f8f5;--ft-white:#fff;--ft-radius:28px;--ft-shadow:0 24px 70px rgba(21,45,64,.10)}
html{scroll-behavior:smooth}.landing-body.home217{margin:0;background:var(--ft-canvas);color:var(--ft-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.home217 *{box-sizing:border-box}.public-nav{position:sticky;top:0;z-index:100;min-height:76px;padding:10px clamp(20px,4vw,64px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;background:rgba(251,252,249,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(20,32,51,.07)}.public-nav .brand{display:flex;align-items:center}.public-nav .brand-logo{height:54px;width:auto;display:block}.public-links{display:flex;justify-content:center;gap:30px}.public-links a{color:#3d4a5c;text-decoration:none;font-size:14px;font-weight:700}.public-links a:hover{color:var(--ft-teal)}.public-actions{display:flex;gap:10px;align-items:center}.button{border-radius:13px!important;font-weight:750!important;transition:.2s ease!important}.public-nav .button{padding:11px 18px!important}.public-nav .secondary{border:0!important;background:transparent!important;color:var(--ft-navy)!important}.nav-primary,.hero-primary{border:0!important;background:linear-gradient(135deg,var(--ft-navy),#0d5b8d 55%,var(--ft-teal))!important;color:#fff!important;box-shadow:0 10px 25px rgba(11,47,107,.18)!important}.nav-primary:hover,.hero-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(11,47,107,.24)!important}.h217-main{overflow:hidden}.h217-hero{max-width:1480px;margin:0 auto;padding:clamp(72px,8vw,126px) clamp(24px,5vw,76px) 90px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);gap:clamp(40px,6vw,100px);align-items:center;min-height:720px;position:relative}.h217-hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(10,167,165,.08),transparent 68%);left:-300px;top:50px;pointer-events:none}.eyebrow{font-size:12px!important;letter-spacing:.16em!important;font-weight:850!important;color:var(--ft-teal)!important;text-transform:uppercase}.eyebrow-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--ft-gold),var(--ft-pink));margin-right:7px}.h217-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(52px,5.4vw,82px);line-height:.99;letter-spacing:-.045em;margin:22px 0 25px;color:var(--ft-navy-2);font-weight:600}.h217-hero h1 em{font-weight:500;color:var(--ft-teal);font-style:italic}.h217-hero-copy>p{font-size:19px;line-height:1.72;color:#586679;max-width:650px;margin:0}.h217-actions{display:flex;align-items:center;gap:26px;margin-top:34px}.h217-actions .button{padding:15px 24px!important;font-size:15px}.h217-text-link{font-weight:800;color:var(--ft-navy);text-decoration:none}.h217-text-link:hover{color:var(--ft-teal)}.h217-hero-notes{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;color:#6b7583;font-size:13px;font-weight:650}.h217-hero-notes span::first-letter{color:var(--ft-green)}
.product-stage{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}.product-glow{position:absolute;border-radius:50%;filter:blur(2px);opacity:.9}.glow-one{width:430px;height:430px;background:radial-gradient(circle,rgba(10,167,165,.16),rgba(22,155,98,.05) 55%,transparent 72%);right:0;top:20px}.glow-two{width:270px;height:270px;background:radial-gradient(circle,rgba(232,62,140,.10),transparent 68%);left:20px;bottom:20px}.product-window{width:min(100%,650px);height:420px;background:rgba(255,255,255,.96);border:1px solid rgba(17,52,73,.11);border-radius:24px;box-shadow:0 38px 100px rgba(18,48,70,.18),0 2px 8px rgba(18,48,70,.05);position:relative;overflow:hidden;transform:perspective(1200px) rotateY(-3deg) rotateX(1deg)}.product-window-bar{height:48px;display:flex;align-items:center;gap:7px;padding:0 16px;border-bottom:1px solid #edf0ee;background:#fff}.product-window-bar>span{width:9px;height:9px;border-radius:50%;background:#d9dfdc}.product-window-bar>span:nth-child(1){background:#ff8b75}.product-window-bar>span:nth-child(2){background:#f4c95d}.product-window-bar>span:nth-child(3){background:#63c892}.product-window-bar b{font-size:12px;color:#516072;margin-left:12px}.product-window-bar i{font-style:normal;margin-left:auto;color:#9ba6b2}.product-toolbar{height:45px;padding:0 18px;display:flex;align-items:center;gap:10px;background:#fbfcfb;border-bottom:1px solid #eef1ef}.product-toolbar span{font-size:10px;font-weight:750;padding:7px 10px;border-radius:8px;color:#718091}.product-toolbar span:first-child{background:#eaf6f2;color:#18765a}.tree-canvas{position:relative;height:327px;background:radial-gradient(circle at 50% 48%,#fff 0,#f8fbf9 55%,#f2f7f4 100%);overflow:hidden}.tree-canvas:before,.tree-canvas:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(21,79,66,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(21,79,66,.035) 1px,transparent 1px);background-size:28px 28px}.tree-line{position:absolute;background:#b9d4c9;z-index:1}.line-v{width:2px;height:180px;left:50%;top:62px}.line-h{height:2px;width:280px;left:calc(50% - 140px);top:160px}.person-card{position:absolute;z-index:2;background:#fff;border:1px solid #dfe9e4;border-radius:14px;padding:9px 12px;display:flex;align-items:center;gap:9px;box-shadow:0 9px 24px rgba(26,65,53,.08);min-width:135px}.person-card b{display:block;font-size:11px;color:#233449}.person-card small{display:block;font-size:9px;color:#8a96a3;margin-top:2px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:9px;font-weight:800}.av-gold{background:linear-gradient(135deg,#f1b643,#e9813c)}.av-blue{background:linear-gradient(135deg,#2f80ed,#0b4e9b)}.av-pink{background:linear-gradient(135deg,#ec4899,#a92c8c)}.av-green{background:linear-gradient(135deg,#45b97c,#14845c)}.pc-top{left:calc(50% - 68px);top:28px}.pc-left{left:65px;top:135px}.pc-right{right:65px;top:135px}.pc-bottom{left:calc(50% - 68px);bottom:22px}.float-card{position:absolute;z-index:5;background:rgba(255,255,255,.95);border:1px solid rgba(16,58,72,.1);border-radius:16px;padding:12px 15px;box-shadow:0 18px 45px rgba(18,48,70,.14);display:flex;align-items:center;gap:10px;backdrop-filter:blur(12px)}.float-card small{display:block;color:#8a96a3;font-size:9px}.float-card b{font-size:11px;color:#26374a}.float-icon{width:34px;height:34px;border-radius:11px;background:#fff0f6;color:var(--ft-pink);display:grid;place-items:center;font-weight:900}.float-icon.green{background:#e9f8f1;color:var(--ft-green)}.memory-float{left:-10px;bottom:70px}.people-float{right:-5px;top:75px}.h217-art-caption{position:absolute;bottom:18px;right:45px;font-size:11px;color:#718091;background:#fff;border:1px solid #edf0ee;border-radius:999px;padding:8px 12px;box-shadow:0 8px 20px rgba(18,48,70,.07)}.h217-status{display:inline-block;width:7px;height:7px;background:#35b879;border-radius:50%;margin-right:7px}
.h217-jump{max-width:1320px;margin:0 auto 40px;padding:16px 22px;display:flex;align-items:center;gap:28px;background:#fff;border:1px solid var(--ft-line);border-radius:18px;box-shadow:0 10px 35px rgba(20,32,51,.04)}.h217-jump span{margin-right:auto;font-weight:800;color:var(--ft-navy);font-size:13px}.h217-jump a{font-size:12px;font-weight:750;color:#647083;text-decoration:none}.h217-jump a:hover{color:var(--ft-teal)}
.h217-section,.h217-map,.h217-archive,.h217-appearance,.landing-support,.h217-final{max-width:1320px;margin:0 auto;padding:100px 28px}.h217-section-title{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:44px}.h217-section-title h2,.h217-map h2,.h217-archive h2,.h217-faq h2,.h217-final h2{font-family:Georgia,"Times New Roman",serif;color:var(--ft-navy-2);font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-.035em;margin:14px 0 0}.h217-section-title>p,.h217-map p,.h217-archive p{color:#6b7583;line-height:1.75;font-size:16px}.h217-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.h217-card{background:#fff;border:1px solid var(--ft-line);border-radius:22px;padding:25px;min-height:205px;transition:.25s ease;box-shadow:0 4px 16px rgba(20,32,51,.025)}.h217-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(20,32,51,.09);border-color:#d9e8e1}.h217-card-top{display:flex;align-items:center;justify-content:space-between}.h217-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#eef8f4,#e8f3fb);color:var(--ft-navy);font-weight:900}.h217-badge{display:inline-flex;align-items:center;width:max-content;padding:6px 9px;border-radius:999px;background:#eaf7f1;color:#18765a;font-size:10px;font-weight:850;letter-spacing:.02em}.h217-badge.paid{background:#edf3ff;color:#315b9c}.h217-badge.family{background:#fff1f7;color:#b93476}.h217-card h3{font-size:18px;margin:22px 0 8px;color:#223249}.h217-card p{color:#738091;font-size:13.5px;line-height:1.65;margin:0}
.h217-map{margin-top:40px;margin-bottom:40px;max-width:1264px;padding:70px;border-radius:34px;background:linear-gradient(135deg,#0e3a55 0%,#0d5d62 48%,#16795d 100%);display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;color:#fff;box-shadow:0 30px 80px rgba(15,74,73,.16)}.h217-map .eyebrow{color:#8ee5c5!important;margin-top:20px}.h217-map h2{color:#fff}.h217-map p{color:#d8e9e6}.h217-map .h217-badge{background:rgba(255,255,255,.12);color:#fff}.h217-chips{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.h217-chips span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);font-size:10px;font-weight:750}.h217-map-art{position:relative;min-height:390px;border-radius:26px;background:#f4faf7;color:#bdd7cc;overflow:hidden;box-shadow:0 22px 50px rgba(0,0,0,.16)}.h217-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(16,97,77,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(16,97,77,.06) 1px,transparent 1px);background-size:28px 28px}.h217-map-art svg{position:absolute;inset:40px;width:calc(100% - 80px);height:calc(100% - 80px)}.h217-place{position:absolute;background:#fff;color:#274a42;padding:9px 12px;border-radius:12px;font-size:10px;font-weight:800;box-shadow:0 10px 30px rgba(20,64,52,.12)}.place-one{left:12%;top:28%}.place-two{right:9%;bottom:24%}.h217-illustration{position:absolute;right:16px;bottom:12px;font-size:9px;color:#8aa59b}
.h217-appearance{padding:34px 40px;margin-top:70px;margin-bottom:40px;border:1px solid var(--ft-line);border-radius:24px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:40px}.h217-appearance h3{font-family:Georgia,serif;font-size:28px;margin:8px 0;color:var(--ft-navy-2)}.h217-appearance p{color:#7a8592;margin:0}.h217-swatches{display:flex;gap:10px;flex-wrap:wrap}.h217-swatches span{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--ft-line);border-radius:999px;font-size:10px;font-weight:750}.h217-swatches i{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.08)}
.h217-archive{max-width:1264px;padding:72px;margin-top:30px;margin-bottom:30px;border-radius:34px;background:linear-gradient(135deg,#fff8ed,#fff 52%,#f2fbf7);border:1px solid #f0e9de;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.h217-memory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.h217-memory-grid span{min-height:110px;background:#fff;border:1px solid #eee7dd;border-radius:18px;padding:22px;font-size:24px;color:var(--ft-teal);box-shadow:0 8px 24px rgba(77,63,40,.05)}.h217-memory-grid b{display:block;font-size:12px;color:#39485b;margin-top:16px}.h217-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.h217-roles article{padding:28px;background:#fff;border:1px solid var(--ft-line);border-radius:20px}.h217-roles article>span{font-size:11px;color:var(--ft-teal);font-weight:900}.h217-roles h3{font-size:20px;color:var(--ft-navy-2)}.h217-roles p{font-size:13px;color:#758191;line-height:1.6}
.h217-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.h217-plans>article{background:#fff;border:1px solid var(--ft-line);border-radius:26px;padding:30px;display:flex;flex-direction:column}.h217-plans .h217-plan-featured{border:1.5px solid #68b99b;box-shadow:0 24px 60px rgba(25,113,82,.12);position:relative;transform:translateY(-10px)}.h217-plans .h217-plan-featured:before{content:"MOST POPULAR";position:absolute;right:20px;top:18px;font-size:9px;letter-spacing:.12em;font-weight:900;color:#18765a;background:#eaf7f1;padding:6px 9px;border-radius:999px}.h217-plans h3{font-size:22px;color:var(--ft-navy-2);margin:12px 0}.h217-limit{font-family:Georgia,serif;font-size:54px;color:var(--ft-navy);line-height:1}.h217-limit span{font-family:Inter,system-ui,sans-serif;font-size:11px;color:#83909e}.h217-plans p,.h217-plans li{font-size:12.5px;color:#6f7c8d;line-height:1.6}.h217-plans ul{padding-left:18px;flex:1}.h217-plans .button{margin-top:18px;text-align:center}.h217-plan-note{text-align:center;color:#8a94a0;font-size:10px;margin-top:22px}
.h217-faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.h217-questions details{border-bottom:1px solid var(--ft-line);padding:20px 0}.h217-questions summary{cursor:pointer;font-weight:800;color:#2b3a4f}.h217-questions details p{color:#748091;line-height:1.65;font-size:13px}.landing-support{max-width:1264px;margin-top:40px;margin-bottom:40px;padding:62px;border-radius:32px;background:#f0f6f3;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.landing-support-copy h2{font-family:Georgia,serif;color:var(--ft-navy-2);font-size:40px;margin:12px 0}.landing-support-copy p{color:#6f7c8d;line-height:1.7}.landing-support-form{background:#fff!important;border:1px solid #e0e8e4!important;border-radius:22px!important;padding:24px!important;box-shadow:0 14px 40px rgba(26,65,53,.07)!important}.landing-support-form label{font-size:11px;font-weight:800;color:#526072}.landing-support-form input,.landing-support-form textarea{margin-top:7px!important;border-radius:11px!important;border:1px solid #dfe6e2!important;background:#fbfcfb!important}.support-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.h217-final{max-width:1264px;margin-top:40px;margin-bottom:80px;padding:80px 40px;text-align:center;border-radius:34px;background:radial-gradient(circle at 20% 20%,rgba(244,181,61,.12),transparent 28%),radial-gradient(circle at 80% 20%,rgba(232,62,140,.10),transparent 28%),linear-gradient(135deg,#0c3159,#0d5f68);color:#fff}.h217-final .eyebrow{color:#93e1c7!important}.h217-final h2{color:#fff;margin-bottom:30px}.public-footer{min-height:70px!important;padding:18px clamp(24px,5vw,72px)!important;background:#0d2137!important;color:#d9e4ee!important;border:0!important;display:flex!important;align-items:center!important;gap:18px!important}.public-footer strong{color:#fff}.public-footer span{font-size:11px;color:#94a5b7}.public-footer nav{margin-left:auto;display:flex;gap:20px}.public-footer a{color:#c4d1dd!important;font-size:11px;text-decoration:none}
@media(max-width:1000px){.public-links{display:none}.public-nav{grid-template-columns:1fr auto}.h217-hero{grid-template-columns:1fr;padding-top:70px}.h217-hero-copy{text-align:center;max-width:760px;margin:auto}.h217-hero-copy>p{margin:auto}.h217-actions,.h217-hero-notes{justify-content:center}.product-stage{width:min(100%,760px);margin:auto}.h217-grid{grid-template-columns:repeat(2,1fr)}.h217-map,.h217-archive,.landing-support{grid-template-columns:1fr}.h217-section-title{grid-template-columns:1fr;gap:18px}.h217-faq{grid-template-columns:1fr;gap:30px}.h217-plans{grid-template-columns:1fr}.h217-plans .h217-plan-featured{transform:none}.h217-appearance{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.public-nav{min-height:64px;padding:7px 14px}.public-nav .brand-logo{height:43px}.public-actions .secondary{display:none}.public-nav .button{padding:9px 13px!important;font-size:12px}.h217-hero{padding:52px 18px 55px;min-height:0;gap:32px}.h217-hero h1{font-size:45px}.h217-hero-copy>p{font-size:16px}.h217-actions{flex-direction:column;gap:14px}.h217-hero-notes{gap:8px 14px;font-size:11px}.product-stage{min-height:350px}.product-window{height:300px;border-radius:18px;transform:none}.product-window-bar{height:38px}.product-toolbar{display:none}.tree-canvas{height:262px}.pc-left{left:14px}.pc-right{right:14px}.person-card{min-width:108px;padding:7px}.person-card div{display:none}.pc-top,.pc-bottom{left:calc(50% - 28px);min-width:auto}.line-h{width:210px;left:calc(50% - 105px)}.float-card{display:none}.h217-art-caption{bottom:0;right:12px}.h217-jump{display:none}.h217-section,.h217-map,.h217-archive,.h217-appearance,.landing-support,.h217-final{padding:65px 18px}.h217-grid{grid-template-columns:1fr}.h217-map,.h217-archive,.landing-support,.h217-final{margin-left:14px;margin-right:14px;padding:38px 22px;border-radius:24px}.h217-map-art{min-height:290px}.h217-memory-grid{grid-template-columns:1fr 1fr}.h217-roles{grid-template-columns:1fr}.h217-appearance{margin-left:14px;margin-right:14px;padding:28px 22px}.support-contact-grid{grid-template-columns:1fr}.public-footer{min-height:56px!important;padding:12px 16px!important;flex-wrap:wrap}.public-footer span{display:none}.public-footer nav{gap:12px}.public-footer a{font-size:10px}}
/* v243 colorful story-led landing polish */
.landing-body.home217{background:linear-gradient(180deg,#fffdf8 0,#fbfffd 38%,#fffdfa 100%)}
.public-nav{background:rgba(255,255,255,.94);border-radius:0 0 34px 34px;box-shadow:0 10px 34px rgba(31,55,72,.06);border-bottom:1px solid rgba(14,55,76,.06)}
.public-nav .brand-logo{height:64px;max-width:185px;object-fit:contain}
.h217-hero{max-width:1540px;min-height:690px;padding-top:72px;padding-bottom:72px;background:radial-gradient(circle at 27% 25%,rgba(255,211,119,.16),transparent 29%),radial-gradient(circle at 86% 40%,rgba(54,201,176,.13),transparent 32%)}
.h217-hero:after{content:"";position:absolute;inset:auto -12% -80px -12%;height:180px;background:linear-gradient(176deg,transparent 0 47%,rgba(225,246,238,.52) 48% 72%,rgba(255,244,223,.45) 73%);z-index:-1}
.h217-hero h1{font-size:clamp(56px,5vw,78px)}
.product-window{border:7px solid #1c2730;border-radius:20px;box-shadow:0 32px 80px rgba(18,48,70,.22),0 8px 18px rgba(18,48,70,.12);transform:none}
.product-stage:before{content:"";position:absolute;width:190px;height:190px;right:-35px;top:8px;background:radial-gradient(circle at 50% 55%,rgba(244,181,61,.28),rgba(244,181,61,.06) 58%,transparent 60%);border-radius:50%}
.landing-feature-ribbon{max-width:1450px;margin:-18px auto 48px;padding:10px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;background:rgba(255,255,255,.92);border:1px solid #edf0ec;border-radius:24px;box-shadow:0 20px 50px rgba(26,65,53,.08);position:relative;z-index:4}
.ribbon-card{min-height:190px;padding:22px 20px;border-radius:18px;position:relative;overflow:hidden;border:1px solid rgba(20,32,51,.04)}
.ribbon-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;bottom:-55px;background:rgba(255,255,255,.5)}
.ribbon-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.75);font-size:22px;box-shadow:0 6px 18px rgba(30,60,70,.08)}
.ribbon-card h3{font-family:Georgia,serif;color:#18345b;font-size:18px;margin:18px 0 7px}.ribbon-card p{font-size:12.5px;line-height:1.55;color:#53657a;margin:0}.ribbon-card a{position:absolute;left:20px;bottom:16px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#173e73;text-decoration:none;font-weight:900;box-shadow:0 5px 14px rgba(20,32,51,.08);z-index:2}.tone-orange{background:linear-gradient(145deg,#fff7e9,#fffdf9)}.tone-blue{background:linear-gradient(145deg,#edf7ff,#fff)}.tone-green{background:linear-gradient(145deg,#ecfbf4,#fff)}.tone-pink{background:linear-gradient(145deg,#fff0f5,#fff)}.tone-cyan{background:linear-gradient(145deg,#ecfbfd,#fff)}.tone-purple{background:linear-gradient(145deg,#f7efff,#fff)}
.build-tools{padding-top:70px}.build-tools .h217-grid{grid-template-columns:repeat(3,1fr)}.build-tools .h217-card:nth-child(1){background:linear-gradient(145deg,#fff8eb,#fff)}.build-tools .h217-card:nth-child(2){background:linear-gradient(145deg,#eef7ff,#fff)}.build-tools .h217-card:nth-child(3){background:linear-gradient(145deg,#eefbf4,#fff)}.build-tools .h217-card:nth-child(4){background:linear-gradient(145deg,#fff1f7,#fff)}.build-tools .h217-card:nth-child(5){background:linear-gradient(145deg,#eefbfd,#fff)}.build-tools .h217-card:nth-child(6){background:linear-gradient(145deg,#f8f1ff,#fff)}
.h217-map{background:linear-gradient(135deg,#eefbff 0%,#effbf2 48%,#fff8e8 100%);color:#17335a;border:1px solid #e4eee9;box-shadow:0 22px 60px rgba(38,91,77,.09);position:relative;overflow:hidden}.h217-map:after{content:"";position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,190,76,.25),transparent 68%)}.h217-map .eyebrow{color:#13998f!important}.h217-map h2{color:#17335a}.h217-map p{color:#5d7081}.h217-map .h217-badge{background:#fff;color:#267d67;border:1px solid #d7ece4}.h217-map .h217-chips span{background:#fff;border-color:#dbeae5;color:#375f5a}.h217-map-art{background:linear-gradient(145deg,#dff6e7,#e7f7ff 60%,#fff5dd);box-shadow:0 18px 45px rgba(35,94,78,.12)}
.h217-appearance{background:linear-gradient(120deg,#fff,#f8fffb 52%,#fff8ec);box-shadow:0 14px 40px rgba(45,72,66,.05)}
#preserve .h217-grid{grid-template-columns:repeat(3,1fr)}#preserve .h217-card{min-height:190px}#preserve .h217-card:nth-child(3n+1){background:linear-gradient(145deg,#fff8eb,#fff)}#preserve .h217-card:nth-child(3n+2){background:linear-gradient(145deg,#eef8ff,#fff)}#preserve .h217-card:nth-child(3n){background:linear-gradient(145deg,#f4efff,#fff)}
.h217-archive{background:linear-gradient(125deg,#fff7e9 0,#fff 48%,#ecfbf6 100%);box-shadow:0 22px 60px rgba(92,72,44,.07)}.h217-memory-grid span:nth-child(1){background:#fff6eb}.h217-memory-grid span:nth-child(2){background:#f4f0ff}.h217-memory-grid span:nth-child(3){background:#eef8ff}.h217-memory-grid span:nth-child(4){background:#ecfbf8}.h217-memory-grid span:nth-child(5){background:#fff1f7}.h217-memory-grid span:nth-child(6){background:#fff8e7}
.h217-collaboration{background:linear-gradient(180deg,transparent,#f7fffb 50%,transparent);border-radius:38px}.h217-roles article:nth-child(1){background:linear-gradient(145deg,#eef8ff,#fff)}.h217-roles article:nth-child(2){background:linear-gradient(145deg,#ecfbf4,#fff)}.h217-roles article:nth-child(3){background:linear-gradient(145deg,#fff0f7,#fff)}
.h217-plans>article:first-child{background:linear-gradient(160deg,#fff,#f3f8ff)}.h217-plans>article:nth-child(2){background:linear-gradient(160deg,#f4fff9,#fff)}.h217-plans>article:nth-child(3){background:linear-gradient(160deg,#fff8ff,#fff)}.h217-plans .h217-plan-featured{border-color:#43b98d}.h217-plans>article:nth-child(3) .button{border-color:#d7b8ee!important;color:#7538a6!important}
.h217-faq{background:linear-gradient(135deg,#fffaf0,#fff 40%,#f3fbff);border-radius:34px;padding-left:54px;padding-right:54px}.h217-questions details{background:rgba(255,255,255,.72);padding:18px 20px;border:1px solid #e9ece8;border-radius:14px;margin-bottom:8px}.h217-questions details[open]{box-shadow:0 10px 28px rgba(35,65,75,.06)}
.landing-support{background:linear-gradient(135deg,#edf8f4,#f2f8ff 58%,#fff7ee)}
.h217-final{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(13,64,78,.20),rgba(13,50,73,.80)),linear-gradient(120deg,#f5b55d,#3f8f75 50%,#405a8f);min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center}.h217-final:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 90%,rgba(255,203,100,.45),transparent 28%),radial-gradient(circle at 80% 70%,rgba(71,192,154,.32),transparent 30%)}.h217-final>*{position:relative;z-index:1}.h217-final h2{font-size:clamp(42px,4vw,64px)}
@media(max-width:1100px){.landing-feature-ribbon{grid-template-columns:repeat(3,1fr);margin-left:20px;margin-right:20px}.ribbon-card{min-height:170px}}
@media(max-width:700px){.public-nav .brand-logo{height:50px;max-width:145px}.landing-feature-ribbon{grid-template-columns:1fr 1fr;margin:0 14px 24px;padding:7px}.ribbon-card{min-height:170px;padding:18px 15px}.ribbon-card h3{font-size:16px}.ribbon-card a{left:15px}.h217-faq{margin:0 14px;padding-left:22px;padding-right:22px}.h217-map{margin-top:20px}.h217-hero:after{display:none}}

/* v249 — landing page mobile responsiveness hardening */
@media (max-width: 820px){
  html,body{max-width:100%;overflow-x:hidden}
  .home217 img,.home217 svg{max-width:100%;height:auto}
  .public-nav{grid-template-columns:auto 1fr;gap:10px;padding:8px 14px;border-radius:0 0 22px 22px}
  .public-links{display:none}
  .public-actions{justify-self:end;gap:4px;min-width:0}
  .public-nav .brand-logo{height:48px;max-width:130px}
  .public-nav .button{padding:9px 11px!important;font-size:11px;white-space:nowrap}
  .h217-hero{display:flex;flex-direction:column;padding:44px 16px 38px;gap:28px;min-height:0}
  .h217-hero-copy{width:100%;text-align:center}
  .h217-hero h1{font-size:clamp(39px,11vw,54px);line-height:1.01;margin:16px 0 18px;overflow-wrap:anywhere}
  .h217-hero-copy>p{font-size:15px;line-height:1.6;max-width:540px}
  .h217-actions{justify-content:center;flex-wrap:wrap;gap:12px;margin-top:25px}
  .h217-actions .button{width:100%;max-width:340px;text-align:center}
  .h217-hero-notes{justify-content:center;gap:7px 12px;margin-top:18px}
  .product-stage{width:100%;min-height:330px;padding:0 2px}
  .product-window{width:100%;max-width:560px;height:315px;border-width:4px;border-radius:17px}
  .tree-canvas{height:268px}
  .landing-feature-ribbon{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 14px 24px;padding:7px;gap:7px;border-radius:18px}
  .ribbon-card{min-width:0;min-height:165px;padding:17px 14px}
  .ribbon-card p{font-size:11.5px}
  .h217-section,.h217-faq{padding:58px 16px}
  .h217-section-title{display:block;margin-bottom:28px}
  .h217-section-title>p{margin-top:16px}
  .h217-section-title h2,.h217-map h2,.h217-archive h2,.h217-faq h2,.h217-final h2{font-size:clamp(34px,9vw,45px)}
  .h217-grid{grid-template-columns:1fr;gap:12px}
  .h217-card{min-height:0;padding:20px}
  .h217-map,.h217-archive,.landing-support{display:grid;grid-template-columns:1fr;gap:28px;margin:18px 12px;padding:34px 20px;border-radius:24px}
  .h217-map-art{min-height:260px;width:100%;overflow:hidden}
  .h217-map-art svg{width:100%;height:100%}
  .h217-appearance{margin:18px 12px;padding:26px 20px;gap:18px}
  .h217-memory-grid{grid-template-columns:1fr 1fr;gap:9px}
  .h217-memory-grid span{min-width:0}
  .h217-roles,.h217-plans{grid-template-columns:1fr!important;gap:14px}
  .h217-plans article{min-width:0}
  .h217-faq{display:grid;grid-template-columns:1fr;gap:24px;margin:18px 12px;padding:34px 20px;border-radius:24px}
  .h217-questions summary{font-size:14px}
  .landing-support-copy,.landing-support-form{min-width:0;width:100%}
  .landing-support-form{padding:20px!important}
  .support-contact-grid{grid-template-columns:1fr!important}
  .landing-support input,.landing-support textarea{width:100%;max-width:100%}
  .h217-final{margin:18px 12px;padding:48px 20px;min-height:260px;border-radius:24px;text-align:center}
  .h217-final .button{width:100%;max-width:320px}
  .public-footer{padding:14px 16px!important;gap:10px;justify-content:center;text-align:center}
  .public-footer nav{width:100%;justify-content:center;display:flex;flex-wrap:wrap}
}
@media (max-width: 480px){
  .public-nav{grid-template-columns:auto 1fr;padding:7px 10px}
  .public-nav .brand-logo{height:43px;max-width:108px}
  .public-actions .secondary{display:none}
  .public-nav .button{font-size:10px;padding:8px 10px!important}
  .h217-hero{padding-left:14px;padding-right:14px}
  .eyebrow{font-size:10px!important;letter-spacing:.12em!important}
  .h217-hero h1{font-size:clamp(36px,12vw,47px)}
  .h217-text-link{font-size:13px}
  .product-stage{min-height:286px}
  .product-window{height:270px}
  .product-window-bar{height:35px;padding:0 10px}
  .product-window-bar b{font-size:10px}
  .tree-canvas{height:231px}
  .person-card{min-width:92px;padding:6px 7px;gap:5px}
  .avatar{width:27px;height:27px}
  .person-card div{display:none}
  .pc-left{left:9px}.pc-right{right:9px}.pc-top,.pc-bottom{left:calc(50% - 21px);min-width:42px}
  .line-h{width:180px;left:calc(50% - 90px)}
  .float-card{display:none}.h217-art-caption{display:none}
  .landing-feature-ribbon{grid-template-columns:1fr;margin-left:12px;margin-right:12px}
  .ribbon-card{min-height:145px}
  .ribbon-card p{padding-right:20px}
  .h217-section{padding-left:14px;padding-right:14px}
  .h217-map,.h217-archive,.h217-appearance,.h217-faq,.landing-support,.h217-final{margin-left:10px;margin-right:10px}
  .h217-memory-grid{grid-template-columns:1fr}
  .h217-chips{gap:6px}.h217-chips span{font-size:9px}
  .h217-map-art{min-height:220px}
  .h217-plan-note{font-size:10px;line-height:1.5}
}

/* v250 — true mobile grids + real landing Family Map */
.landing-real-map-shell{position:relative;padding:0!important;overflow:hidden;background:#eaf4ef!important;isolation:isolate}
.landing-real-map{width:100%;height:100%;min-height:360px;z-index:1}
.landing-real-map .leaflet-control-container{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.landing-map-note{position:absolute;z-index:500;right:12px;bottom:12px;background:rgba(255,255,255,.92);border:1px solid rgba(20,50,60,.12);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:750;color:#49665d;box-shadow:0 6px 18px rgba(20,50,60,.10);pointer-events:none}
@media(max-width:820px){
  .build-tools .h217-grid,#preserve .h217-grid{grid-template-columns:1fr!important;width:100%;min-width:0}
  .build-tools .h217-card,#preserve .h217-card{width:100%;min-width:0;max-width:100%}
  .h217-card-top{gap:10px;flex-wrap:wrap}
  .h217-card h3,.h217-card p{overflow-wrap:anywhere}
  .h217-map-copy{min-width:0;width:100%}
  .h217-map .hero-primary{display:inline-flex;max-width:100%;white-space:normal;text-align:center;justify-content:center}
  .landing-real-map-shell{width:100%;min-width:0;min-height:300px!important;border-radius:20px}
  .landing-real-map{min-height:300px}
}
@media(max-width:480px){
  .build-tools .h217-grid,#preserve .h217-grid{grid-template-columns:minmax(0,1fr)!important}
  .h217-map{padding:28px 14px!important;gap:22px}
  .h217-chips{display:grid;grid-template-columns:1fr;align-items:start}
  .h217-chips span{width:max-content;max-width:100%;font-size:10px;padding:7px 9px}
  .landing-real-map-shell,.landing-real-map{min-height:260px!important}
  .landing-real-map .leaflet-control-zoom{margin-left:8px;margin-top:8px}
  .landing-real-map .leaflet-control-attribution{font-size:8px;max-width:78%;white-space:normal;text-align:right}
}

/* v252 — static landing Family Map preview (interactive map remains signed-in only) */
.landing-static-map-shell{position:relative;padding:0!important;overflow:hidden;background:#eaf4ef!important;isolation:isolate}
.landing-static-map{display:block;width:100%;height:100%;min-height:360px;object-fit:cover;object-position:center;border-radius:inherit}
@media(max-width:820px){
  .landing-static-map-shell{width:100%;min-width:0;min-height:300px!important;border-radius:20px}
  .landing-static-map{min-height:300px;aspect-ratio:16/9;object-fit:cover}
}
@media(max-width:480px){
  .landing-static-map-shell{min-height:220px!important}
  .landing-static-map{min-height:220px;aspect-ratio:16/10}
}

/* v254 — active free-trial promotion on public landing page */
.landing-trial-pill{display:inline-flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin:0 0 18px;padding:9px 14px 9px 10px;border:1px solid #efc95f;border-radius:999px;background:linear-gradient(135deg,#fff8d9 0%,#ffedab 100%);box-shadow:0 8px 24px rgba(210,159,35,.18),0 0 0 3px rgba(255,225,119,.14);color:#17345f;text-decoration:none;font-size:13px;font-weight:700;line-height:1.25;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.landing-trial-pill:hover{transform:translateY(-1px);background:linear-gradient(135deg,#fff3c1 0%,#ffe28a 100%);box-shadow:0 11px 30px rgba(210,159,35,.25),0 0 0 4px rgba(255,225,119,.18)}.landing-trial-gift{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,#18a48f,#08769b);color:#fff;font-size:12px}.landing-trial-arrow{font-size:17px;transition:transform .18s ease}.landing-trial-pill:hover .landing-trial-arrow{transform:translateX(3px)}.landing-trial-notes span:first-child{color:#4d6b63}.landing-plan-trial{display:flex;flex-direction:column;gap:2px;margin:-8px 0 18px;padding:12px 14px;border:1px solid #a7e4ca;border-radius:15px;background:linear-gradient(135deg,#edfff7,#f4fbff);color:#12664f}.landing-plan-trial span{font-size:9px;font-weight:900;letter-spacing:.13em}.landing-plan-trial strong{font-size:18px;color:#0d624c}.landing-plan-trial small{font-size:10px;color:#607a70}.landing-plan-trial.family{border-color:#d8c4ef;background:linear-gradient(135deg,#fbf6ff,#f1fbff);color:#70429b}.landing-plan-trial.family strong{color:#653594}
@media(max-width:1000px){.landing-trial-pill{margin-left:auto;margin-right:auto}}
@media(max-width:640px){.landing-trial-pill{font-size:11.5px;padding:8px 11px 8px 8px;gap:7px;white-space:normal;text-align:left}.landing-trial-gift{flex-basis:24px;width:24px;height:24px}.landing-trial-arrow{font-size:15px}.landing-plan-trial{margin-top:0}}

/* v257 — unified landing-page content width and tighter section rhythm.
   All primary landing blocks align to the feature ribbon's 1450px content frame. */
@media (min-width: 1101px){
  .h217-section,
  .h217-map,
  .h217-archive,
  .landing-support,
  .h217-final,
  .h217-faq,
  .h217-collaboration,
  .h217-plans,
  .h217-jump{
    width:calc(100% - 48px);
    max-width:1450px;
  }

  /* Sections already carry their own internal padding, so use a consistent
     vertical rhythm instead of stacking 100px section padding + 40px margins. */
  .h217-section{padding:72px 28px;}
  .build-tools{padding-top:64px;padding-bottom:56px;}
  .h217-map{max-width:1450px;margin-top:12px;margin-bottom:28px;padding:70px;}
  .h217-archive{padding-top:72px;padding-bottom:72px;}
  .landing-support,.h217-final{padding-top:72px;padding-bottom:72px;}
}

/* Keep adjacent landing sections visually connected instead of leaving a
   large empty band between the Build & Explore cards and Family Map. */
.build-tools + .h217-map{margin-top:0;}

/* v260 — one consistent content rail for every public landing-page block.
   The feature ribbon is the reference width requested for all sections below the hero. */
@media (min-width:1101px){
  .landing-feature-ribbon,
  .h217-section,
  .h217-map,
  .h217-archive,
  .h217-appearance,
  .landing-support,
  .h217-final,
  .h217-faq,
  .h217-collaboration,
  .h217-plans,
  .h217-jump{
    width:calc(100% - 48px)!important;
    max-width:1450px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box;
  }
}

/* v261: compact legal footer */
.public-footer{display:block!important;}
.public-footer-main,.public-footer-legal{display:flex;align-items:center;gap:18px;width:100%;}
.public-footer-main nav,.public-footer-legal nav{margin-left:auto;display:flex;gap:18px;}
.public-footer-legal{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;color:#94a5b7;}
.public-footer-legal a{font-size:10px!important;}
@media(max-width:640px){.public-footer-main,.public-footer-legal{flex-direction:column;align-items:center;gap:8px}.public-footer-main nav,.public-footer-legal nav{margin-left:0;width:auto!important;justify-content:center}.public-footer-legal{margin-top:8px;padding-top:10px}}

/* v262 — consistent landing-page vertical rhythm.
   Keep the existing content rail, but remove accumulated section padding/margins
   that created large blank bands between otherwise adjacent content blocks. */
.home217 .landing-feature-ribbon{margin-bottom:20px!important;}
.home217 .h217-section{padding-top:44px!important;padding-bottom:44px!important;}
.home217 .build-tools{padding-top:44px!important;padding-bottom:44px!important;}
.home217 .h217-map,
.home217 .h217-archive,
.home217 .landing-support,
.home217 .h217-final{margin-top:20px!important;margin-bottom:20px!important;}
.home217 .h217-map{padding-top:56px!important;padding-bottom:56px!important;}
.home217 .h217-archive{padding-top:56px!important;padding-bottom:56px!important;}
.home217 .h217-collaboration{padding-top:44px!important;padding-bottom:44px!important;}
.home217 .h217-faq{padding-top:44px!important;padding-bottom:44px!important;}

/* When two major blocks touch in document order, avoid adding the bottom space
   from one block to the top space of the next. */
.home217 .build-tools + .h217-map{margin-top:0!important;}
.home217 .h217-map + .h217-section{padding-top:24px!important;}
.home217 .h217-section + .h217-archive{margin-top:0!important;}
.home217 .h217-archive + .h217-section{padding-top:24px!important;}
.home217 .h217-collaboration + .h217-section{padding-top:24px!important;}
.home217 #plans + .h217-faq{padding-top:24px!important;}
.home217 .h217-faq + .landing-support{margin-top:0!important;}
.home217 .landing-support + .h217-final{margin-top:20px!important;}

@media(max-width:820px){
  .home217 .landing-feature-ribbon{margin-bottom:12px!important;}
  .home217 .h217-section,
  .home217 .build-tools,
  .home217 .h217-collaboration,
  .home217 .h217-faq{padding-top:30px!important;padding-bottom:30px!important;}
  .home217 .h217-map,
  .home217 .h217-archive,
  .home217 .landing-support,
  .home217 .h217-final{margin-top:12px!important;margin-bottom:12px!important;}
  .home217 .h217-map,
  .home217 .h217-archive{padding-top:34px!important;padding-bottom:34px!important;}
  .home217 .h217-map + .h217-section,
  .home217 .h217-archive + .h217-section,
  .home217 .h217-collaboration + .h217-section,
  .home217 #plans + .h217-faq{padding-top:18px!important;}
}


/* v263 — footer contains only copyright/legal links. */
.public-footer .public-footer-legal{
  margin-top:0!important;
  padding-top:0!important;
  border-top:0!important;
}
\n\n/* v269 — restore the complete public footer and keep every footer row visible on phones. */
.public-footer .public-footer-main{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
}
.public-footer .public-footer-brand{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.public-footer .public-footer-brand strong{color:#fff!important;white-space:nowrap;}
.public-footer .public-footer-brand span{display:inline!important;color:#94a5b7!important;font-size:11px!important;}
.public-footer .public-footer-main nav,
.public-footer .public-footer-legal nav{display:flex!important;align-items:center;gap:18px;}
.public-footer .public-footer-main nav{margin-left:auto!important;}
.public-footer .public-footer-legal{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  margin-top:12px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
.public-footer .public-footer-legal>span{display:inline!important;}
.public-footer .public-footer-legal nav{margin-left:auto!important;}

@media(max-width:640px){
  .public-footer{
    margin:0 14px!important;
    padding:16px 18px!important;
    min-height:0!important;
    box-sizing:border-box!important;
  }
  .public-footer .public-footer-main,
  .public-footer .public-footer-legal{
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    text-align:center!important;
  }
  .public-footer .public-footer-brand{
    flex-direction:column!important;
    align-items:center!important;
    gap:5px!important;
    width:100%!important;
  }
  .public-footer .public-footer-brand span,
  .public-footer .public-footer-legal>span{
    display:block!important;
    width:100%!important;
    text-align:center!important;
  }
  .public-footer .public-footer-main nav,
  .public-footer .public-footer-legal nav{
    margin-left:0!important;
    width:100%!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:8px 16px!important;
  }
  .public-footer .public-footer-legal{
    margin-top:11px!important;
    padding-top:11px!important;
  }
  .public-footer a{font-size:10px!important;}
}


/* v270 — legal-only public footer. Keep the single bottom bar on every viewport. */
.public-footer{
  display:block!important;
  min-height:0!important;
  padding:14px 24px!important;
}
.public-footer-legal{
  margin:0!important;
  padding:0!important;
  border-top:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  width:100%!important;
}
.public-footer-legal span{display:inline!important;}
.public-footer-legal nav{
  margin-left:auto!important;
  width:auto!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:16px!important;
}
@media(max-width:640px){
  .public-footer{padding:12px 14px!important;}
  .public-footer-legal{
    flex-direction:column!important;
    justify-content:center!important;
    gap:7px!important;
    text-align:center!important;
  }
  .public-footer-legal span{display:block!important;font-size:10px!important;}
  .public-footer-legal nav{
    margin-left:0!important;
    justify-content:center!important;
    gap:14px!important;
  }
}

/* v271 — compact legal footer; remove every legacy divider/line. */
.public-footer{
  min-height:0!important;
  height:auto!important;
  margin-top:10px!important;
  padding:8px 18px!important;
  border:0!important;
  border-top:0!important;
  box-shadow:none!important;
  background-image:none!important;
}
.public-footer::before,
.public-footer::after,
.public-footer-legal::before,
.public-footer-legal::after{
  content:none!important;
  display:none!important;
  border:0!important;
}
.public-footer .public-footer-legal{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-top:0!important;
  box-shadow:none!important;
  background-image:none!important;
  line-height:1.2!important;
}
@media(max-width:640px){
  .public-footer{
    margin:6px 14px 0!important;
    padding:7px 10px!important;
  }
  .public-footer .public-footer-legal{
    gap:4px!important;
  }
  .public-footer .public-footer-legal>span{
    font-size:9px!important;
    line-height:1.2!important;
  }
  .public-footer .public-footer-legal nav{
    gap:12px!important;
    line-height:1.2!important;
  }
  .public-footer .public-footer-legal a{
    font-size:9px!important;
    line-height:1.2!important;
  }
}

/* v276 — mobile hero preview: keep the actual FamilyTree mockup visible.
   The hero becomes a vertical flow on mobile, so use a normal responsive window
   instead of an absolutely-positioned/scaled desktop canvas. This prevents the
   preview from collapsing while keeping every tree card inside the viewport. */
@media (max-width: 820px){
  .home217 .h217-hero{
    gap:28px!important;
    padding-bottom:28px!important;
    overflow:visible!important;
  }
  .h217-hero-art.product-stage{
    width:100%!important;
    max-width:650px!important;
    height:auto!important;
    min-height:0!important;
    flex:0 0 auto!important;
    padding:0!important;
    margin:0 auto!important;
    position:relative!important;
    overflow:visible!important;
    display:block!important;
  }
  .h217-hero-art.product-stage .product-window{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:650px!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto!important;
    transform:none!important;
    transform-origin:center!important;
    overflow:hidden!important;
    border-width:4px!important;
    border-radius:18px!important;
  }
  .h217-hero-art.product-stage .product-window-bar{height:42px!important;padding:0 14px!important}
  .h217-hero-art.product-stage .product-window-bar b{font-size:11px!important}
  .h217-hero-art.product-stage .product-toolbar{display:flex!important;height:40px!important;padding:0 12px!important;gap:5px!important}
  .h217-hero-art.product-stage .product-toolbar span{font-size:8px!important;padding:6px 7px!important;white-space:nowrap!important}
  .h217-hero-art.product-stage .tree-canvas{height:260px!important}
  .h217-hero-art.product-stage .person-card{min-width:112px!important;padding:7px 9px!important;gap:7px!important}
  .h217-hero-art.product-stage .person-card div{display:block!important}
  .h217-hero-art.product-stage .person-card b{font-size:9px!important}
  .h217-hero-art.product-stage .person-card small{font-size:8px!important}
  .h217-hero-art.product-stage .avatar{width:28px!important;height:28px!important;font-size:8px!important}
  .h217-hero-art.product-stage .pc-top{left:calc(50% - 56px)!important;top:20px!important}
  .h217-hero-art.product-stage .pc-left{left:7%!important;top:112px!important}
  .h217-hero-art.product-stage .pc-right{right:7%!important;top:112px!important}
  .h217-hero-art.product-stage .pc-bottom{left:calc(50% - 56px)!important;bottom:18px!important}
  .h217-hero-art.product-stage .line-h{width:54%!important;left:23%!important;top:135px!important}
  .h217-hero-art.product-stage .line-v{height:145px!important;left:50%!important;top:48px!important}
  .h217-hero-art.product-stage .product-glow,
  .h217-hero-art.product-stage .float-card,
  .h217-hero-art.product-stage .h217-art-caption{display:none!important}
  .home217 .landing-feature-ribbon{position:relative!important;z-index:1!important;margin-top:0!important;clear:both!important}
}
@media (max-width: 480px){
  .h217-hero-art.product-stage .product-window-bar{height:38px!important}
  .h217-hero-art.product-stage .product-toolbar{height:36px!important;padding:0 7px!important}
  .h217-hero-art.product-stage .product-toolbar span{font-size:7px!important;padding:5px 4px!important}
  .h217-hero-art.product-stage .tree-canvas{height:230px!important}
  .h217-hero-art.product-stage .person-card{min-width:96px!important;padding:6px 7px!important;gap:5px!important}
  .h217-hero-art.product-stage .person-card b{font-size:8px!important}
  .h217-hero-art.product-stage .person-card small{font-size:7px!important}
  .h217-hero-art.product-stage .avatar{width:25px!important;height:25px!important}
  .h217-hero-art.product-stage .pc-top{left:calc(50% - 48px)!important;top:17px!important}
  .h217-hero-art.product-stage .pc-left{left:4%!important;top:96px!important}
  .h217-hero-art.product-stage .pc-right{right:4%!important;top:96px!important}
  .h217-hero-art.product-stage .pc-bottom{left:calc(50% - 48px)!important;bottom:15px!important}
  .h217-hero-art.product-stage .line-h{top:116px!important}
  .h217-hero-art.product-stage .line-v{height:128px!important;top:42px!important}
}
