:root { --ink:#10241f; --green:#0e5f4c; --mint:#c9f0df; --sun:#ffcf5a; --coral:#ff6b55; --blue:#bcd3ff; --violet:#d6d2ff; --paper:#f3f5ef; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid var(--sun); outline-offset:4px; }
.site-header { position:sticky; z-index:20; top:0; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; max-width:1440px; margin:auto; padding:18px 4vw; background:#f3f5efdf; backdrop-filter:blur(18px); }
.logo { display:flex; align-items:center; gap:10px; width:max-content; letter-spacing:.12em; }
.logo span { display:grid; place-items:center; width:40px; height:40px; border:2px solid var(--sun); border-radius:13px; color:#fff; background:var(--green); font-size:13px; font-weight:900; letter-spacing:-.08em; }
.logo b { font-size:13px; }
.site-header nav { display:flex; gap:30px; color:#4d625b; font-size:13px; font-weight:700; }
.site-header nav a:hover { color:var(--green); }
.header-cta { justify-self:end; border:1px solid #b9c7bf; border-radius:24px; padding:11px 17px; font-size:12px; font-weight:800; }
.hero { min-height:760px; display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); align-items:center; gap:5vw; max-width:1440px; margin:auto; padding:70px 5vw 100px; overflow:hidden; }
.kicker { display:flex; align-items:center; gap:9px; margin:0 0 23px; color:#426359; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.kicker i { width:8px; height:8px; border-radius:50%; background:var(--coral); box-shadow:0 0 0 5px #ff6b5520; }
.hero h1 { margin:0; font-size:clamp(55px,6.4vw,104px); line-height:.88; letter-spacing:-.075em; }
.hero h1 em { color:var(--green); font-family:Georgia,serif; font-weight:400; }
.hero-lead { max-width:610px; margin:34px 0 0; color:#52675f; font-size:clamp(17px,1.55vw,22px); line-height:1.52; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; border-radius:27px; padding:0 23px; font-size:13px; font-weight:850; }
.button.primary { color:#fff; background:var(--green); box-shadow:0 13px 32px #0e5f4c32; }
.button.primary:hover { background:#094b3c; transform:translateY(-2px); }
.button.ghost { border:1px solid #bdcac2; background:#ffffff80; }
.hero-note { display:block; margin-top:17px; color:#788b84; font-size:11px; }
.hero-stage { position:relative; min-height:640px; display:grid; place-items:center; }
.hero-stage::before { content:""; position:absolute; width:560px; height:560px; border-radius:48% 52% 54% 46%; background:var(--sun); transform:rotate(-8deg); }
.phone { position:relative; z-index:2; width:340px; min-height:650px; overflow:hidden; border:8px solid var(--ink); border-radius:46px; padding:25px 20px 88px; background:#f7f8f5; box-shadow:0 40px 90px #10241f40; transform:rotate(4deg); }
.phone::before { content:""; position:absolute; top:8px; left:50%; width:84px; height:20px; border-radius:20px; background:var(--ink); transform:translateX(-50%); }
.phone-head { display:flex; align-items:center; gap:11px; margin-top:16px; }
.app-mark { display:grid; place-items:center; width:44px; height:44px; border:2px solid var(--sun); border-radius:14px; color:#fff; background:var(--green); font-size:14px; font-weight:900; letter-spacing:-.08em; }
.phone-head div { display:grid; gap:2px; }.phone-head b { font-size:18px; }.phone-head small { color:#788a83; font-size:9px; }
.focus { margin-top:24px; border:3px solid var(--sun); border-radius:19px; padding:17px; background:#fff; }
.focus span,.mini-title { color:#527267; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.focus h2 { margin:11px 0 17px; font-size:21px; line-height:1.13; letter-spacing:-.04em; }.focus button { width:100%; border:0; border-radius:18px; padding:11px; color:#fff; background:var(--green); font-size:10px; font-weight:800; }
.mini-title { display:flex; justify-content:space-between; margin:24px 2px 10px; }.mini-task { display:grid; grid-template-columns:20px 1fr auto; align-items:center; gap:10px; margin-bottom:8px; border:1px solid #dfe5df; border-radius:14px; padding:13px; background:#fff; }.mini-task i { width:17px; height:17px; border:1px solid #8ba198; border-radius:50%; }.mini-task span { display:grid; gap:3px; font-size:11px; font-weight:800; }.mini-task small { color:#778d84; font-size:8px; font-weight:500; }.phone-nav { position:absolute; right:12px; bottom:12px; left:12px; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #dfe5df; border-radius:20px; padding:6px; background:#fff; box-shadow:0 10px 30px #10241f20; }.phone-nav>* { display:grid; place-items:center; gap:3px; min-height:48px; border-radius:14px; font-size:14px; }.phone-nav b { color:#fff; background:var(--green); }.phone-nav small { font-size:7px; }
.privacy-orbit { position:absolute; z-index:4; right:0; top:66px; display:grid; place-items:center; align-content:center; width:190px; height:190px; border-radius:50%; color:#fff; background:var(--coral); text-align:center; box-shadow:0 20px 45px #c34a3838; transform:rotate(-8deg); }.privacy-orbit::after { content:""; position:absolute; inset:9px; border:1px dashed #fff8; border-radius:50%; }.privacy-orbit span,.privacy-orbit i { font-size:9px; font-weight:800; text-transform:uppercase; }.privacy-orbit b { margin:7px 0; font:400 22px/1.03 Georgia,serif; }.privacy-orbit i { font-style:normal; opacity:.8; }
.manifesto { padding:110px 6vw; color:#fff; background:var(--ink); }.manifesto>p,.manifesto>h2,.privacy-points { max-width:1260px; margin-left:auto; margin-right:auto; }.manifesto>p { color:#9eb9af; font-size:14px; }.manifesto h2 { margin-top:23px; margin-bottom:65px; font-size:clamp(40px,6vw,82px); line-height:1; letter-spacing:-.06em; }.manifesto h2 em { color:var(--sun); font-family:Georgia,serif; font-weight:400; }.privacy-points { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #ffffff2b; }.privacy-points span { display:flex; gap:18px; padding:25px 24px 0 0; color:#c5d8d1; font-size:14px; }.privacy-points b { color:var(--sun); font-size:10px; }
.inside { max-width:1440px; margin:auto; padding:120px 5vw; }.section-intro { display:grid; grid-template-columns:.7fr 1.15fr .8fr; gap:45px; align-items:start; margin-bottom:55px; }.section-intro .kicker { margin-top:9px; }.section-intro h2 { margin:0; font-size:clamp(42px,5vw,72px); line-height:.98; letter-spacing:-.06em; }.section-intro>p:last-child { margin:7px 0 0; color:#61756d; font-size:15px; line-height:1.6; }
.module-wall { display:grid; grid-template-columns:repeat(12,1fr); gap:15px; }.module { min-height:260px; grid-column:span 4; display:flex; flex-direction:column; justify-content:flex-end; border-radius:27px; padding:28px; }.module.big { grid-column:span 8; }.module span { margin-bottom:auto; font-size:10px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }.module h3 { max-width:610px; margin:35px 0 10px; font-size:clamp(23px,2.7vw,39px); line-height:1.04; letter-spacing:-.05em; }.module p { max-width:520px; margin:0; color:#425d54; font-size:13px; line-height:1.5; }.module.green { color:#fff; background:var(--green); }.module.green p { color:#c2ddd3; }.module.blue { background:var(--blue); }.module.yellow { background:var(--sun); }.module.coral { background:#ffd2c9; }.module.violet { background:var(--violet); }.module.mint { background:var(--mint); }
.progress-system { display:grid; grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr); gap:7vw; align-items:center; padding:125px 6vw; color:#fff; background:#17251f; }
.progress-copy { max-width:630px; }.progress-copy .kicker { color:#9bb7ad; }.progress-copy h2 { margin:0 0 34px; font-size:clamp(47px,5.7vw,82px); line-height:.94; letter-spacing:-.07em; }.progress-copy h2 em { color:var(--sun); font-family:Georgia,serif; font-weight:400; }.progress-copy>p:not(.kicker) { max-width:600px; margin:0 0 18px; color:#b9ccc5; font-size:15px; line-height:1.65; }.progress-copy b { color:#fff; }
.life-map { position:relative; min-height:600px; border:1px solid #ffffff22; border-radius:50%; background:radial-gradient(circle,#2d594b 0 21%,transparent 21.5%),radial-gradient(circle,#244138 0 47%,transparent 47.5%); }
.life-map::before,.life-map::after { content:""; position:absolute; inset:50% auto auto 50%; width:76%; height:1px; background:#ffffff2b; transform:translate(-50%,-50%) rotate(35deg); }.life-map::after { transform:translate(-50%,-50%) rotate(-35deg); }
.life-core { position:absolute; z-index:2; left:50%; top:50%; display:grid; place-items:center; width:210px; height:210px; border:2px solid var(--sun); border-radius:50%; color:#fff; background:var(--green); text-align:center; transform:translate(-50%,-50%); box-shadow:0 25px 80px #0007; }.life-core small { margin-top:25px; color:#bdd7ce; font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.life-core strong { font:400 30px/1 Georgia,serif; }.life-core span { margin-bottom:24px; color:var(--sun); font-size:9px; font-weight:800; }
.life-node { position:absolute; z-index:3; display:grid; grid-template-columns:47px 1fr; gap:2px 11px; width:170px; border:1px solid #ffffff2b; border-radius:18px; padding:13px; color:#fff; background:#253a33; box-shadow:0 15px 30px #0003; }.life-node i { grid-row:1/3; display:grid; place-items:center; width:47px; height:47px; border-radius:14px; color:var(--ink); background:var(--sun); font-style:normal; font-weight:900; }.life-node b { align-self:end; font-size:12px; }.life-node small { color:#9fb8af; font-size:8px; }.node-move { left:8%; top:7%; }.node-learn { right:3%; top:18%; }.node-money { right:8%; bottom:8%; }.node-work { left:2%; bottom:19%; }
.progress-examples { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border-radius:20px; overflow:hidden; background:#ffffff18; }.progress-examples span { display:grid; gap:10px; padding:24px; color:#a9beb6; background:#1e302a; font-size:12px; line-height:1.5; }.progress-examples b { color:var(--sun); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.audiences { padding:120px 5vw; background:#fff; }.audience-head { display:grid; grid-template-columns:.7fr 1.15fr .8fr; gap:45px; max-width:1296px; margin:0 auto 55px; }.audience-head h2 { margin:0; font-size:clamp(45px,5vw,74px); line-height:.96; letter-spacing:-.065em; }.audience-head h2 em { color:var(--green); font-family:Georgia,serif; font-weight:400; }.audience-head>p:last-child { margin:8px 0 0; color:#61756d; font-size:15px; line-height:1.6; }
.audience-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; max-width:1296px; margin:auto; }.audience-card { min-height:360px; display:flex; flex-direction:column; border-radius:29px; padding:29px; }.audience-card>span { font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }.audience-card h3 { max-width:520px; margin:60px 0 14px; font-size:clamp(27px,3vw,43px); line-height:1; letter-spacing:-.055em; }.audience-card p { max-width:570px; margin:0; color:#415b52; font-size:14px; line-height:1.55; }.audience-card small { margin-top:auto; border-top:1px solid #10241f28; padding-top:17px; font-size:10px; font-weight:800; }.audience-card.senior { background:#dbeee2; }.audience-card.family { background:#ffd873; }.audience-card.student { background:#cbd7ff; }.audience-card.business { color:#fff; background:var(--green); }.audience-card.business p { color:#c7ddd5; }.audience-card.business small { border-color:#ffffff36; }
.audience-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.audience-card-top>span { max-width:60%; font-size:14px; font-weight:900; letter-spacing:.08em; line-height:1.25; text-transform:uppercase; }
.audience-icon { width:104px; height:104px; flex:0 0 104px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; background:#ffffff52; transform:rotate(3deg); }
.audience-icon svg { width:72px; height:72px; overflow:visible; fill:none; stroke:currentColor; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }
.audience-card:nth-child(even) .audience-icon { transform:rotate(-3deg); }
.audience-card.business .audience-icon { background:#ffffff12; border-color:#ffffff80; }
.audience-card h3 { margin-top:34px; }
.principle { display:grid; grid-template-columns:1.15fr .85fr; gap:8vw; padding:110px 8vw; background:#e3e9e2; }.principle h2 { margin:0; font-size:clamp(37px,4.5vw,67px); line-height:1; letter-spacing:-.055em; }.principle ol { margin:0; padding:0; list-style:none; counter-reset:item; }.principle li { display:grid; grid-template-columns:130px 1fr; gap:18px; border-top:1px solid #b9c6bd; padding:24px 0; }.principle li span { font-weight:850; }.principle li p { margin:0; color:#60736c; line-height:1.5; }
.ecosystem { padding:120px 5vw; color:#fff; background:#132e28; }
.ecosystem-head { display:grid; grid-template-columns:.65fr 1.15fr .8fr; gap:45px; align-items:start; max-width:1296px; margin:0 auto 55px; }
.ecosystem-head .kicker { color:#acd0c2; }
.ecosystem-head h2 { margin:0; font-size:clamp(44px,5vw,76px); line-height:.96; letter-spacing:-.065em; }
.ecosystem-head h2 em { color:var(--sun); font-family:Georgia,serif; font-weight:400; }
.ecosystem-head>p:last-child { margin:8px 0 0; color:#a9c1b8; font-size:15px; line-height:1.6; }
.future-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:1296px; margin:auto; }
.future-card { min-height:650px; display:flex; flex-direction:column; overflow:hidden; border-radius:32px; padding:31px; color:var(--ink); }
.family-card { background:#ffd76e; }.circle-card { background:#cfd3ff; }
.future-top { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.future-top b { border:1px solid #10241f3d; border-radius:20px; padding:8px 11px; font-size:8px; }
.future-card h3 { max-width:560px; margin:70px 0 16px; font-size:clamp(34px,4vw,59px); line-height:.98; letter-spacing:-.06em; }
.future-card>p { max-width:570px; margin:0; color:#3d584f; font-size:15px; line-height:1.55; }
.future-card ul { display:grid; grid-template-columns:1fr 1fr; gap:9px 20px; margin:26px 0 30px; padding:0; list-style:none; }
.future-card li { position:relative; padding-left:17px; font-size:12px; font-weight:750; line-height:1.4; }
.future-card li::before { content:""; position:absolute; left:0; top:6px; width:7px; height:7px; border-radius:50%; background:var(--green); }
.future-visual { display:grid; grid-template-columns:1fr 1.4fr 1fr; align-items:center; gap:9px; min-height:150px; margin-top:auto; border-radius:24px; padding:21px; background:#ffffff7d; text-align:center; }
.future-visual i { display:grid; place-items:center; aspect-ratio:1; border-radius:50%; color:#fff; background:var(--green); font-size:11px; font-style:normal; font-weight:850; }
.future-visual span { color:#496159; font:400 17px/1.12 Georgia,serif; }.circle-visual i { background:#5264c7; }
.ecosystem-note { max-width:950px; margin:35px auto 0; color:#9fbbb0; font-size:12px; line-height:1.6; text-align:center; }
.closing { display:grid; grid-template-columns:160px 1fr auto; align-items:center; gap:42px; max-width:1440px; margin:auto; padding:120px 5vw; }.closing-mark { display:grid; place-items:center; width:145px; height:145px; border:3px solid var(--sun); border-radius:42px; color:#fff; background:var(--green); font-size:48px; font-weight:900; letter-spacing:-.1em; transform:rotate(-6deg); }.closing p { margin:0 0 10px; color:#63766e; }.closing h2 { margin:0; font-size:clamp(38px,4.2vw,64px); line-height:.98; letter-spacing:-.06em; }
footer { border-top:1px solid #ccd5ce; padding:30px 5vw; color:#63766e; font-size:11px; }
.site-footer { display:grid; grid-template-columns:minmax(240px,1.1fr) minmax(200px,.7fr) minmax(310px,1fr); gap:34px 48px; align-items:start; }
.footer-brand { display:grid; gap:16px; }.footer-brand p { max-width:340px; margin:0; line-height:1.55; }
.footer-owner { display:grid; gap:7px; color:var(--ink); }.footer-owner b { font-size:17px; }.footer-owner span { color:#63766e; font-size:15px; line-height:1.45; }
.footer-emails { display:grid; gap:5px; margin-top:5px; }.footer-emails a { width:max-content; color:var(--green); font-size:15px; font-weight:750; text-decoration:underline; text-underline-offset:3px; }.footer-emails a:hover { color:#094b3c; }
.footer-legal { display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; }.footer-legal a { color:#415b52; font-size:15px; font-weight:750; line-height:1.35; }.footer-legal a:hover { color:var(--green); text-decoration:underline; text-underline-offset:4px; }
.footer-copyright { grid-column:1/-1; border-top:1px solid #d6ddd8; padding-top:21px; color:#71837c; font-size:14px; }
@media(max-width:950px){.site-header nav{display:none}.site-header{grid-template-columns:1fr auto}.hero{grid-template-columns:1fr;padding-top:50px}.hero-stage{min-height:690px}.progress-system{grid-template-columns:1fr}.section-intro,.ecosystem-head,.audience-head{grid-template-columns:1fr}.section-intro .kicker{margin:0}.module,.module.big{grid-column:span 6}.audience-grid{grid-template-columns:1fr}.principle{grid-template-columns:1fr}.future-grid{grid-template-columns:1fr}.closing{grid-template-columns:120px 1fr}.closing .button{grid-column:2;width:max-content}.closing-mark{width:110px;height:110px;font-size:70px}.privacy-points{grid-template-columns:1fr}.privacy-points span{border-top:1px solid #ffffff18;padding-bottom:20px}.site-footer{grid-template-columns:1fr 1fr}.footer-legal{grid-column:1/-1}}
@media(max-width:620px){.site-header{padding:13px 17px}.header-cta{padding:10px 13px}.hero{display:block;min-height:0;padding:45px 20px 75px}.hero h1{font-size:54px}.hero-lead{font-size:17px}.hero-actions{display:grid}.hero-stage{min-height:600px;margin-top:40px}.hero-stage::before{width:410px;height:410px}.phone{width:292px;min-height:570px;border-radius:39px;padding:22px 16px 82px;transform:rotate(2deg)}.privacy-orbit{right:-25px;top:18px;width:145px;height:145px}.privacy-orbit b{font-size:18px}.focus h2{font-size:18px}.manifesto{padding:80px 20px}.manifesto h2{font-size:45px}.progress-system{display:block;padding:85px 20px}.progress-copy h2{font-size:48px}.life-map{min-height:460px;margin-top:55px}.life-core{width:155px;height:155px}.life-core strong{font-size:23px}.life-node{width:139px;grid-template-columns:37px 1fr;padding:9px}.life-node i{width:37px;height:37px}.life-node small{display:none}.node-move{left:0}.node-learn{right:0}.node-money{right:0}.node-work{left:0}.progress-examples{grid-template-columns:1fr;margin-top:45px}.inside{padding:80px 18px}.module-wall{display:grid;grid-template-columns:1fr}.module,.module.big{grid-column:auto;min-height:230px}.audiences{padding:80px 18px}.audience-card{min-height:390px;padding:23px}.audience-card h3{margin-top:52px;font-size:35px}.principle{padding:80px 20px}.principle li{grid-template-columns:1fr;gap:7px}.ecosystem{padding:80px 18px}.future-card{min-height:670px;padding:23px}.future-card h3{margin-top:55px;font-size:39px}.future-card ul{grid-template-columns:1fr}.future-visual{grid-template-columns:1fr 1.2fr 1fr;min-height:120px;padding:15px}.future-visual span{font-size:13px}.closing{grid-template-columns:1fr;padding:80px 20px}.closing .button{grid-column:auto;width:100%}.closing-mark{width:90px;height:90px;font-size:58px}footer{padding:30px 20px}.site-footer{grid-template-columns:1fr}.footer-legal{grid-column:auto;grid-template-columns:1fr}.footer-copyright{grid-column:auto}.logo+ p{margin-top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button.primary:hover{transform:none}}

/* Calm editorial pass: larger reading sizes and one clear analytical surface. */
body { font-size:17px; }
.button { font-size:15px; }
.hero-note { font-size:13px; }
.manifesto>p { font-size:18px; }
.privacy-points span { font-size:16px; line-height:1.5; }
.section-intro>p:last-child,.audience-head>p:last-child,.ecosystem-head>p:last-child { font-size:18px; }
.module p { font-size:16px; line-height:1.6; }
.progress-copy>p:not(.kicker) { font-size:18px; line-height:1.65; }
.progress-examples { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid #ffffff28; border-bottom:1px solid #ffffff28; border-radius:0; background:transparent; }
.progress-examples span { padding:28px 28px 28px 0; color:#bed0c9; background:transparent; font-size:15px; line-height:1.6; }
.progress-examples span+span { border-left:1px solid #ffffff28; padding-left:28px; }
.audience-card p { font-size:17px; line-height:1.62; }
.audience-card small { font-size:13px; }
.future-card>p { font-size:17px; }
.future-card li { font-size:15px; }
.ecosystem-note { font-size:14px; }
footer { font-size:13px; }
.life-map { min-height:0; display:block; overflow:hidden; border:1px solid #d2dbd5; border-radius:24px; padding:0 30px 30px; color:var(--ink); background:#f2f5f1; }
.life-map::before,.life-map::after { display:none; }
.analysis-head { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:2px solid var(--ink); padding:25px 0 18px; }
.analysis-head span { color:#647a72; font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.analysis-head b { font-size:15px; }
.analysis-line { display:grid; grid-template-columns:.8fr 1fr 1.2fr; align-items:baseline; gap:20px; border-bottom:1px solid #cfd8d2; padding:22px 0; }
.analysis-line span { color:#536b62; font-size:15px; }
.analysis-line strong { font-size:22px; letter-spacing:-.03em; }
.analysis-line small { color:#71847d; font-size:13px; }
.life-map blockquote { margin:30px 0 0; color:var(--green); font:400 27px/1.3 Georgia,serif; letter-spacing:-.025em; }
.companion-landing { display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; padding:120px 7vw; background:#e7ece7; }
.companion-intro h2 { margin:0; font-size:clamp(44px,5.3vw,76px); line-height:.96; letter-spacing:-.065em; }
.companion-intro h2 em { color:var(--green); font-family:Georgia,serif; font-weight:400; }
.companion-landing>blockquote { margin:0; border-left:3px solid var(--green); padding:10px 0 10px 35px; color:#24443a; font:400 clamp(27px,3.1vw,44px)/1.24 Georgia,serif; letter-spacing:-.035em; }
.companion-landing>blockquote span { display:block; margin-bottom:22px; color:#61766e; font:800 12px/1.3 Inter,Manrope,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.companion-principles { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:35px; border-top:1px solid #b9c6bd; }
.companion-principles p { margin:0; padding:26px 28px 0 0; color:#5b7169; font-size:16px; line-height:1.6; }
.companion-principles p+p { border-left:1px solid #b9c6bd; padding-left:28px; }
.companion-principles b { display:block; margin-bottom:9px; color:var(--ink); font-size:17px; }
.companion-disclaimer { grid-column:1/-1; max-width:920px; margin:30px 0 0; border-left:3px solid var(--green); padding:8px 0 8px 20px; color:#566d64; font-size:16px; line-height:1.6; }

@media(max-width:950px){.companion-landing{grid-template-columns:1fr}.companion-principles{grid-template-columns:1fr}.companion-principles p,.companion-principles p+p{border-left:0;border-bottom:1px solid #b9c6bd;padding:22px 0}.analysis-line{grid-template-columns:1fr auto}.analysis-line small{grid-column:1/-1}}
@media(max-width:620px){body{font-size:16px}.section-intro>p:last-child,.audience-head>p:last-child,.ecosystem-head>p:last-child,.progress-copy>p:not(.kicker){font-size:17px}.progress-examples{grid-template-columns:1fr}.progress-examples span,.progress-examples span+span{border-left:0;border-bottom:1px solid #ffffff28;padding:22px 0}.life-map{margin-top:48px;padding:0 20px 24px;border-radius:19px}.analysis-head{align-items:flex-start;flex-direction:column;gap:7px}.analysis-line{grid-template-columns:1fr}.analysis-line strong{font-size:24px}.analysis-line small{grid-column:auto}.life-map blockquote{font-size:24px}.companion-landing{padding:85px 20px}.companion-landing>blockquote{padding-left:22px;font-size:29px}.companion-principles{margin-top:15px}.module p,.audience-card p,.future-card>p{font-size:16px}}

/* Unified editorial grid: every section starts and ends on the same vertical lines. */
:root { --content-width:1240px; --page-edge:max(20px,calc((100vw - var(--content-width)) / 2)); }
.site-header,.hero,.progress-system,.manifesto,.inside,.audiences,.companion-landing,.principle,.ecosystem,.closing,footer {
  width:100%;
  max-width:none;
  padding-left:var(--page-edge);
  padding-right:var(--page-edge);
}
.manifesto>p,.manifesto>h2,.privacy-points,.audience-head,.audience-grid,.ecosystem-head,.future-grid { max-width:none; }

/* More readable labels in circular and compact elements. */
.kicker { font-size:13px; }
.privacy-orbit span,.privacy-orbit i { max-width:128px; font-size:12px; line-height:1.2; letter-spacing:.03em; }
.privacy-orbit b { margin:10px 0; font-size:27px; }
.phone-head small { font-size:10px; }
.focus span,.mini-title { font-size:10px; }
.phone-nav small { font-size:9px; }
.module span { font-size:12px; }
.future-visual i { font-size:13px; }

/* Quiet translucent rings: decoration, not another layer of interface. */
.module { --ring-color:#ffffff70; position:relative; isolation:isolate; overflow:hidden; }
.module::before,.module::after { content:""; position:absolute; z-index:-1; border:22px solid var(--ring-color); border-radius:50%; pointer-events:none; }
.module::before { width:180px; height:180px; right:-74px; top:-82px; }
.module::after { width:104px; height:104px; right:28px; top:28px; border-width:10px; opacity:.55; }
.module.green { --ring-color:#8ed6bd55; }
.module.blue { --ring-color:#5d74e83b; }
.module.yellow { --ring-color:#ff6b5542; }
.module.coral { --ring-color:#ff755c42; }
.module.violet { --ring-color:#725fd93a; }
.module.mint { --ring-color:#0e5f4c30; }

@media(max-width:950px){
  :root { --page-edge:clamp(24px,5vw,54px); }
  .site-header,.hero,.progress-system,.manifesto,.inside,.audiences,.companion-landing,.principle,.ecosystem,.closing,footer { padding-left:var(--page-edge); padding-right:var(--page-edge); }
}
@media(max-width:620px){
  :root { --page-edge:20px; }
  .site-header { padding-top:13px; padding-bottom:13px; }
  .hero { padding-top:45px; padding-bottom:75px; }
  .manifesto,.inside,.audiences,.principle,.ecosystem,.closing { padding-top:80px; padding-bottom:80px; }
  .progress-system,.companion-landing { padding-top:85px; padding-bottom:85px; }
  footer { padding-top:30px; padding-bottom:30px; }
  .privacy-orbit span,.privacy-orbit i { max-width:104px; font-size:10px; }
  .privacy-orbit b { margin:7px 0; font-size:21px; }
  .module::before { width:150px; height:150px; right:-70px; top:-72px; }
  .module::after { width:84px; height:84px; right:18px; top:20px; }
  .closing-mark { font-size:30px; }
}
@media(min-width:621px) and (max-width:950px){.closing-mark{font-size:36px}}

/* Readability standard: meaningful copy is never treated as microtext. */
.site-header nav,.header-cta { font-size:15px; }
.button { font-size:16px; }
.hero-note { font-size:15px; }
.kicker { font-size:14px; line-height:1.4; }
.manifesto>p { font-size:20px; }
.privacy-points span { font-size:18px; }
.privacy-points b { font-size:14px; }
.section-intro>p:last-child,.audience-head>p:last-child,.ecosystem-head>p:last-child { font-size:20px; line-height:1.65; }
.module span,.audience-card>span,.future-top { font-size:14px; }
.module p { font-size:18px; }
.progress-copy>p:not(.kicker) { font-size:20px; }
.progress-examples span { gap:12px; font-size:20px; line-height:1.55; }
.progress-examples b { font-size:15px; }
.analysis-head span,.analysis-head b { font-size:15px; }
.analysis-line span { font-size:17px; }
.analysis-line strong { font-size:24px; }
.analysis-line small { font-size:16px; }
.audience-card p,.future-card>p { font-size:19px; }
.audience-card small { font-size:15px; }
.future-top b { font-size:13px; }
.future-card li { font-size:17px; }
.future-visual i { font-size:14px; }
.ecosystem-note,footer { font-size:16px; }
.companion-landing>blockquote span { font-size:14px; }
.companion-principles p { font-size:18px; }
.companion-principles b { font-size:20px; }

@media(max-width:950px){
  .progress-examples { grid-template-columns:1fr; }
  .progress-examples span,.progress-examples span+span { border-left:0; border-bottom:1px solid #ffffff28; padding:24px 0; }
}
@media(max-width:620px){
  body { font-size:18px; }
  .section-intro>p:last-child,.audience-head>p:last-child,.ecosystem-head>p:last-child,.progress-copy>p:not(.kicker),.progress-examples span { font-size:18px; }
  .module p,.audience-card p,.future-card>p,.companion-principles p { font-size:18px; }
  .analysis-line span,.analysis-line small { font-size:16px; }
  .privacy-orbit span,.privacy-orbit i { font-size:11px; }
}

/* Hero thesis: four equal product promises — unity, progress, privacy, support. */
.hero { grid-template-columns:minmax(0,.86fr) minmax(430px,1.14fr); grid-template-rows:auto auto; align-items:center; column-gap:6vw; }
.hero-heading { position:relative; z-index:5; grid-column:1; grid-row:1; align-self:end; }
.hero-heading h1 { margin:0; font-size:clamp(34px,2.85vw,42px); line-height:1.08; letter-spacing:-.052em; }
.hero-heading h1 span,.hero-heading h1 em { display:block; white-space:nowrap; }
.hero-heading h1 em { margin:3px 0; }
.hero-heading h1 .hero-data { position:relative; width:max-content; max-width:100%; }
.hero-heading h1 .hero-data::after { content:""; position:absolute; right:0; bottom:-2px; left:0; height:3px; border-radius:3px; background:var(--coral); opacity:.72; }
.hero-copy { grid-column:1; grid-row:2; align-self:start; margin-top:34px; }
.hero-copy .hero-lead { margin-top:0; }
.hero-stage { grid-column:2; grid-row:1/3; min-height:590px; }

/* Pricing is an explanation of value, not a wall of interchangeable plans. */
.pricing { width:100%; max-width:none; padding:120px var(--page-edge); background:#f1ecdf; }
.pricing-head { display:grid; grid-template-columns:.65fr 1.15fr .8fr; gap:45px; align-items:start; margin-bottom:58px; }
.pricing-head h2 { margin:0; font-size:clamp(44px,5vw,74px); line-height:.96; letter-spacing:-.065em; }
.pricing-head h2 em { color:var(--green); font-family:Georgia,serif; font-weight:400; }
.pricing-head>p:last-child { margin:8px 0 0; color:#566d64; font-size:20px; line-height:1.65; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.price-card { position:relative; display:flex; flex-direction:column; min-height:760px; overflow:hidden; border-radius:32px; padding:31px; }
.price-card::after { content:""; position:absolute; right:-80px; top:-90px; width:230px; height:230px; border:30px solid currentColor; border-radius:50%; opacity:.09; pointer-events:none; }
.price-free { border:1px solid #c8d4cb; background:#fff; }
.price-plus { color:#fff; background:var(--green); box-shadow:0 24px 70px #0e5f4c24; }
.price-family { color:#1e302a; border:1px solid #ddc3ba; background:#ffe9e1; }
.price-top { position:relative; z-index:1; display:flex; justify-content:space-between; gap:20px; align-items:center; font-size:15px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.price-top b { border:1px solid currentColor; border-radius:22px; padding:8px 12px; font-size:13px; opacity:.78; }
.price-card h3 { margin:70px 0 15px; font-size:clamp(46px,4vw,68px); line-height:.9; letter-spacing:-.07em; }
.price-card>p { max-width:650px; margin:0; color:#536a61; font-size:18px; line-height:1.6; }
.price-plus>p { color:#c9ddd5; }
.price-family>p { color:#69584f; }
.price-value { display:flex; align-items:flex-end; gap:16px; margin-top:70px; }
.price-value h3 { margin:0; }
.price-value span { margin-bottom:8px; color:var(--sun); font-size:18px; font-weight:850; }
.price-plus .price-equivalent { margin:14px 0 20px; color:var(--sun); font-size:17px; font-weight:850; }
.price-family .price-equivalent { margin:14px 0 20px; color:#a14938; font-size:17px; font-weight:850; }
.price-card ul { display:grid; gap:13px; margin:30px 0 34px; padding:0; list-style:none; }
.price-card li { position:relative; padding-left:27px; font-size:17px; line-height:1.45; }
.price-card li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--green); font-weight:900; }
.price-plus li::before { color:var(--sun); }
.price-family li::before { color:#b34e3a; }
.price-button { width:100%; min-height:58px; margin-top:auto; border:0; color:#fff; background:var(--green); font-size:16px; }
.price-plus .price-button { color:var(--ink); background:var(--sun); }
.price-family .price-button { color:#fff; background:#a94839; }
.price-button:disabled { cursor:not-allowed; opacity:.78; }
.monthly-option { display:grid; grid-template-columns:1fr auto; gap:5px 25px; margin:0 0 24px; border-top:1px solid #ffffff32; border-bottom:1px solid #ffffff32; padding:20px 0; }
.monthly-option span { font-size:16px; }
.monthly-option b { color:var(--sun); font-size:18px; }
.monthly-option small { grid-column:2; color:#b9d3c9; font-size:14px; }
.pricing-note { max-width:900px; margin:32px auto 0; color:#536a61; font-size:16px; line-height:1.6; text-align:center; }
.pricing-note b { color:var(--ink); }

@media(max-width:950px){
  .hero { grid-template-columns:1fr; grid-template-rows:auto auto auto; }
  .hero-heading,.hero-copy,.hero-stage { grid-column:1; grid-row:auto; }
  .hero-heading h1 { max-width:820px; white-space:normal; }
  .hero-heading h1 span,.hero-heading h1 em { white-space:normal; }
  .hero-copy { margin-top:38px; }
  .pricing { padding-left:var(--page-edge); padding-right:var(--page-edge); }
  .pricing-head { grid-template-columns:1fr; }
  .pricing-grid { grid-template-columns:1fr; }
  .price-card { min-height:0; }
}
@media(max-width:620px){
  .hero-heading h1 { font-size:clamp(27px,8vw,34px); line-height:1.12; }
  .hero-heading h1 span,.hero-heading h1 em { margin-bottom:5px; }
  .hero-copy { margin-top:28px; }
  .hero-stage { min-height:600px; }
  .pricing { padding-top:80px; padding-bottom:80px; }
  .pricing-head h2 { font-size:45px; }
  .pricing-head>p:last-child { font-size:18px; }
  .price-card { border-radius:25px; padding:25px; }
  .price-card h3 { margin-top:55px; font-size:62px; }
  .price-value { align-items:flex-start; flex-direction:column; gap:4px; margin-top:55px; }
  .price-value span { margin:0; }
  .price-card>p,.price-card li { font-size:18px; }
  .monthly-option { grid-template-columns:1fr; }
  .monthly-option small { grid-column:1; }
}

/* Modules are individual tools; this final card explains why they belong together. */
.inside .section-intro { grid-template-columns:.55fr 1fr; column-gap:55px; row-gap:24px; }
.inside .section-intro h2 { grid-column:2; font-size:clamp(44px,4.4vw,56px); }
.inside .section-intro>p:last-child { grid-column:2; max-width:800px; margin-top:0; }
.inside .section-intro h2 em { color:var(--green); font-family:Georgia,serif; font-weight:400; }
.module.compact { grid-column:span 3; min-height:300px; }
.module.compact h3 { margin-top:48px; font-size:clamp(25px,2.25vw,32px); }
.module.plan { --ring-color:#0e5f4c30; background:#c9f0df; }
.module.idea { --ring-color:#e95e4934; background:#ffd8cf; }
.module.movement { --ring-color:#4c63cf35; background:#cad8ff; }
.module.rates { --ring-color:#d08c163d; background:#ffe09a; }
.module.habits { --ring-color:#0e5f4c30; background:#d7efe3; }
.module.ethics { --ring-color:#6255b738; background:#e8e2ff; }
.module.share { --ring-color:#be713b32; background:#ffe3bb; }
.module.circle { --ring-color:#ffcf5a30; color:#fff; background:#174f43; }
.module.circle p { color:#c7ddd5; }
.module.future-wide { grid-column:span 6; min-height:360px; padding:34px; }
.module.future-wide h3 { max-width:570px; margin-top:70px; font-size:clamp(32px,3.4vw,49px); }
.module.future-wide p { max-width:620px; }
.module.home-safety { --ring-color:#8ed6bd35; color:#fff; background:#17463b; }
.module.home-safety p { color:#c5dcd4; }
.module.emergency-help { --ring-color:#ffffff4f; color:#fff; background:#e85f4e; }
.module.emergency-help p { color:#fff1ed; }
.module.family-focus { --ring-color:#725fd938; background:#cfd7ff; }
.future-module-icon { position:absolute; z-index:1; top:28px; right:30px; width:96px; height:96px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; background:#ffffff12; }
.future-module-icon svg { width:68px; height:68px; fill:none; stroke:currentColor; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }
.module-unity { position:relative; grid-column:1/-1; display:grid; grid-template-columns:minmax(0,.9fr) minmax(540px,1.1fr); gap:65px; overflow:hidden; border-radius:32px; padding:52px; color:#fff; background:#10241f; }
.module-unity::after { content:""; position:absolute; right:-145px; bottom:-190px; width:430px; height:430px; border:46px solid #ffcf5a17; border-radius:50%; pointer-events:none; }
.unity-copy { position:relative; z-index:1; }
.unity-copy>span { color:#ffcf5a; font-size:14px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.unity-copy h3 { max-width:560px; margin:34px 0 18px; font-size:clamp(38px,4vw,58px); line-height:.97; letter-spacing:-.06em; }
.unity-copy p { max-width:650px; margin:0; color:#c3d6cf; font-size:19px; line-height:1.65; }
.unity-path { position:relative; z-index:1; display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:12px; }
.unity-path div { min-height:190px; display:flex; flex-direction:column; border:1px solid #ffffff2b; border-radius:23px; padding:20px; background:#ffffff09; }
.unity-path b { color:#ffcf5a; font-size:14px; }
.unity-path span { margin:auto 0 10px; font-size:20px; font-weight:850; line-height:1.12; }
.unity-path small { color:#9fb8af; font-size:14px; line-height:1.45; }
.unity-path>i { color:#ffcf5a; font-size:25px; font-style:normal; }

@media(max-width:1100px){
  .module-unity { grid-template-columns:1fr; }
}
@media(max-width:950px){
  .inside .section-intro { grid-template-columns:1fr; }
  .inside .section-intro h2,.inside .section-intro>p:last-child { grid-column:1; }
  .module.compact { grid-column:span 6; }
  .module.future-wide { grid-column:span 12; }
}
@media(max-width:620px){
  .section-intro h2 { font-size:42px; }
  .module.compact { grid-column:auto; min-height:260px; }
  .module.future-wide { grid-column:auto; min-height:390px; padding:25px; }
  .module.future-wide h3 { margin-top:82px; font-size:36px; }
  .future-module-icon { top:22px; right:22px; width:82px; height:82px; }
  .future-module-icon svg { width:58px; height:58px; }
  .module-unity { gap:38px; border-radius:27px; padding:27px; }
  .unity-copy h3 { margin-top:26px; font-size:40px; }
  .unity-copy p { font-size:18px; }
  .unity-path { grid-template-columns:1fr; }
  .unity-path div { min-height:155px; }
  .unity-path>i { justify-self:center; transform:rotate(90deg); }
}

/* The family promise is expressed as one consented route across a border. */
.family-map-landing { max-width:1440px; margin:auto; padding:120px 5vw; }
.family-map-head { display:grid; grid-template-columns:.55fr 1fr .8fr; gap:48px; align-items:start; margin-bottom:52px; }
.family-map-head h2 { margin:0; font-size:clamp(44px,5vw,70px); line-height:.97; letter-spacing:-.062em; }.family-map-head h2 em { color:var(--green); font-family:Georgia,serif; font-weight:400; }.family-map-head>p:last-child { margin:8px 0 0; color:#5f746c; font-size:18px; line-height:1.65; }
.family-border-map { position:relative; min-height:600px; overflow:hidden; color:var(--ink); background:#dce6f4; border-radius:34px; }
.border-map-grid { position:absolute; inset:0; opacity:.55; background-image:linear-gradient(#425f7918 1px,transparent 1px),linear-gradient(90deg,#425f7918 1px,transparent 1px); background-size:58px 58px; }
.family-border-map>svg { position:absolute; inset:5% 4%; width:92%; height:90%; }.landing-russia,.landing-kazakhstan { fill:#f5f7f2; stroke:#7c958b; stroke-width:2; }.landing-kazakhstan { fill:#ffdc82; stroke:#a88437; }.landing-family-route { fill:none; stroke:#d65442; stroke-width:7; stroke-linecap:round; stroke-dasharray:5 17; animation:landing-route-dash 18s linear infinite; }
@keyframes landing-route-dash { to { stroke-dashoffset:-220; } }
.landing-person { position:absolute; z-index:2; display:grid; grid-template-columns:auto 1fr; gap:14px; width:280px; padding:16px; background:#fff; border:1px solid #9cafaa; border-radius:22px; box-shadow:0 18px 42px #29405729; }.landing-person>span { grid-row:1; display:grid; place-items:center; width:58px; height:58px; color:#fff; background:var(--green); border-radius:19px; font-size:20px; font-weight:900; }.landing-person div { display:grid; }.landing-person small { color:#6e827a; font-size:11px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }.landing-person b { margin:3px 0 5px; font-size:22px; }.landing-person p { margin:0; color:#60746c; font-size:13px; line-height:1.45; }.landing-daughter { left:10%; top:19%; }.landing-father { right:11%; bottom:15%; }.landing-father>span { background:#d65442; }
.map-trust-note { position:absolute; z-index:2; left:50%; bottom:7%; display:grid; gap:4px; width:max-content; max-width:70%; padding:13px 17px; color:#d6e9e1; background:#163f36; border-radius:16px; transform:translateX(-50%); }.map-trust-note b { color:#fff; font-size:14px; }.map-trust-note span { font-size:12px; }
.family-map-principles { display:grid; grid-template-columns:repeat(3,1fr); margin-top:18px; border-top:1px solid #bdc9c2; border-bottom:1px solid #bdc9c2; }.family-map-principles article { padding:28px 28px 30px 0; }.family-map-principles article+article { border-left:1px solid #bdc9c2; padding-left:28px; }.family-map-principles span { color:#477064; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.family-map-principles h3 { margin:23px 0 10px; font-size:25px; line-height:1.1; letter-spacing:-.035em; }.family-map-principles p { margin:0; color:#60746c; font-size:16px; line-height:1.58; }
.family-map-release { display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:center; margin-top:25px; padding:22px 25px; color:#c6dbd3; background:#163f36; border-radius:20px; }.family-map-release span { padding:9px 12px; color:#173d34; background:#ffcf5a; border-radius:999px; font-size:12px; font-weight:900; text-transform:uppercase; }.family-map-release p { margin:0; font-size:16px; line-height:1.55; }

@media(max-width:950px){
  .family-map-head { grid-template-columns:1fr; gap:16px; }.family-border-map { min-height:540px; }
}
@media(max-width:620px){
  .family-map-landing { padding:80px 18px; }.family-map-head h2 { font-size:42px; }.family-border-map { min-height:560px; border-radius:27px; }.landing-person { width:235px; padding:13px; }.landing-daughter { left:4%; top:10%; }.landing-father { right:4%; bottom:18%; }.map-trust-note { bottom:4%; max-width:92%; width:calc(100% - 36px); }
  .family-map-principles { grid-template-columns:1fr; }.family-map-principles article { padding:25px 0; }.family-map-principles article+article { border-left:0; border-top:1px solid #bdc9c2; padding-left:0; }.family-map-release { grid-template-columns:1fr; }.family-map-release span { width:max-content; max-width:100%; }
}
@media(prefers-reduced-motion:reduce){.landing-family-route{animation:none}}
