:root{--ink:#111827;--mute:#6b7280;--line:#e5e7eb;--bg:#faf8f5;--acc:#6366f1;--acc2:#a5b4fc}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);line-height:1.6;background:#fff}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.sec{padding:88px 24px}.narrow{max-width:760px}
h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.08;letter-spacing:-.03em;margin:.3em 0}
h2{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.02em;margin:0 0 .3em}h3{margin:0 0 .3em;font-size:1.1rem}
.sub,.fine{color:var(--mute)}.fine{font-size:.9rem}.lead{font-size:1.15rem;color:#334155}
.eyebrow{color:var(--acc);font-weight:600;font-size:.9rem;letter-spacing:.01em}
.nav{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:9}
.navin{display:flex;align-items:center;justify-content:space-between;height:68px;gap:24px}
.logo{display:flex;gap:10px;align-items:center;font-weight:800;font-size:1.25rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
nav a{margin:0 14px;color:#334155;text-decoration:none;font-size:.95rem}nav a:hover{color:var(--acc)}
.btn{display:inline-block;background:var(--ink);color:#fff;padding:14px 24px;border-radius:999px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--acc)}.btn.sm{padding:10px 18px;font-size:.9rem}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.burger{display:none;background:none;border:0;font-size:1.5rem}
.hero{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%23e0e7ff' d='M44 -8C63 6 86 18 92 40 98 62 86 94 62 108 38 122 2 118 -22 102 -46 86 -58 58 -50 32 -42 6 -14 -18 10 -24 26 -28 32 -18 44 -8Z' transform='translate(100 90)'/%3E%3C/svg%3E") right -60px top -40px/420px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='3' cy='3' r='2.2' fill='%23a5b4fc'/%3E%3C/svg%3E") left 24px bottom 24px/22px repeat-x,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='38' fill='none' stroke='%23fde2e4' stroke-width='14'/%3E%3C/svg%3E") left -50px top 40%/180px no-repeat,var(--bg);background-size:420px,22px,180px;padding:96px 0}
.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.ctas{display:flex;gap:12px;margin:28px 0 12px;flex-wrap:wrap}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 20px 50px -20px rgba(15,23,42,.18)}
.tag{font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--mute);margin:0 0 10px}
.row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line)}.row span{color:var(--mute)}
hr{border:0;border-top:1px solid var(--line);margin:18px 0}.checks{list-style:none;padding:0;margin:0}.checks li{padding:6px 0 6px 28px;position:relative}
.checks li:before{content:"✓";position:absolute;left:0;color:var(--acc);font-weight:700}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}.step{padding:24px;border:1px solid var(--line);border-radius:16px}
.step i{font-style:normal;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--ink);color:var(--acc2);font-weight:700;margin-bottom:14px}
.step p,.role p,.why p{color:var(--mute);margin:0}.band{background:var(--bg)}
.roles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}.role{background:#fff;padding:24px;border-radius:16px;border:1px solid var(--line)}
.role.hl{background:var(--ink);color:#fff}.role.hl p{color:#cbd5e1}
.why{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.cmp{width:100%;border-collapse:collapse;margin-top:28px;background:#fff;border-radius:16px;overflow:hidden}.cmp th,.cmp td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line)}
.cmp th:last-child,.cmp td:last-child{background:#eef2ff;font-weight:600}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.price{border:1px solid var(--line);border-radius:18px;padding:32px}
.price.pop{border:2px solid var(--acc);box-shadow:0 20px 50px -25px rgba(99,102,241,.5)}.amt{font-size:2rem;font-weight:800;margin:.2em 0}
.testi{margin-top:48px;padding:32px;border-left:4px solid var(--acc);background:var(--bg);font-size:1.2rem;border-radius:0 12px 12px 0}.testi span{display:block;font-size:.9rem;color:var(--mute);margin-top:8px}
details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:600;font-size:1.05rem}details p{color:var(--mute)}
form label{display:block;font-size:.9rem;font-weight:600;margin-bottom:14px}input,textarea{width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit}
footer{border-top:1px solid var(--line);color:var(--mute);font-size:.9rem}
@media(max-width:900px){.grid2,.why{grid-template-columns:1fr}.steps,.roles{grid-template-columns:1fr 1fr}.prices{grid-template-columns:1fr}
nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;padding:12px;border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{padding:10px}.burger{display:block}.nav .btn.sm{display:none}}
@media(max-width:560px){.steps,.roles{grid-template-columns:1fr}.sec{padding:64px 20px}.hero{padding:64px 0}.cmp th,.cmp td{padding:12px 10px;font-size:.9rem}footer .navin{flex-direction:column;height:auto;padding:20px}}

.row{gap:16px}.row b{text-align:right}.tblwrap{overflow-x:auto}body{overflow-x:hidden}
@media(max-width:560px){.row{flex-direction:column;gap:2px}.row b{text-align:left}}
nav a.active{color:var(--acc);font-weight:600}
.page-hero{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M10 90A80 80 0 0 1 90 10' fill='none' stroke='%23c7d2fe' stroke-width='12' stroke-linecap='round'/%3E%3C/svg%3E") right 6% top 24px/150px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 30'%3E%3Cpath d='M4 15c16-16 24 16 40 0s24 16 40 0 24 16 40 0 24 16 32 4' fill='none' stroke='%236366f1' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") left 5% bottom 22px/150px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 60'%3E%3Crect x='4' y='4' width='112' height='52' rx='26' fill='%23fde2e4'/%3E%3C/svg%3E") right 22% bottom -18px/110px no-repeat,var(--bg);padding:80px 0 56px}
.page-hero h1{font-size:clamp(2.2rem,4.5vw,3.2rem)}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}.detail .role ul{color:var(--mute);padding-left:18px;margin:10px 0 0}
.prose{max-width:760px}.prose h2{font-size:1.4rem;margin-top:1.6em}.prose p,.prose li{color:#374151}
.note{background:#fef3c7;border:1px solid #fcd34d;padding:14px 18px;border-radius:12px;font-weight:600}
.cta-band{background:var(--ink);color:#fff;border-radius:24px;padding:48px;text-align:center;margin:0 auto}.cta-band p{color:#cbd5e1}.cta-band .btn{background:#fff;color:var(--ink)}
.links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.links a{text-decoration:none;color:inherit}.links a .role:hover{border-color:var(--acc)}
footer .flinks a{color:var(--mute);margin-left:14px;text-decoration:none}
@media(max-width:900px){.detail,.links{grid-template-columns:1fr}.cta-band{padding:32px 20px}footer .navin{flex-direction:column;height:auto;padding:20px;gap:8px}footer .flinks a{margin:0 8px}}
.mobile-only{display:none}@media(max-width:900px){nav .mobile-only{display:block}}
.detail .role.hl ul{color:#cbd5e1}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.amt small{font-size:1rem;font-weight:600;color:var(--mute)}
/* v4 */
img{max-width:100%;height:auto;display:block}
.photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;box-shadow:0 24px 50px -24px rgba(17,24,39,.35)}
.herophoto{position:relative}.herophoto .float{position:absolute;left:-28px;bottom:-28px;padding:18px 22px;max-width:270px}
.trust{border-bottom:1px solid var(--line);background:#fff}.trustin{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;padding:18px 24px;font-weight:600;font-size:.95rem}
.links.two{grid-template-columns:1fr 1fr}
.week{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:32px}.day{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}.day b{display:inline-block;background:#eef2ff;color:var(--acc);border-radius:999px;padding:2px 12px;margin-bottom:10px}.day p{margin:0;color:var(--mute)}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.bacard{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.bacard img{aspect-ratio:16/9;object-fit:cover;width:100%}.bacard .pad{padding:24px}
.xs{list-style:none;padding:0;margin:0}.xs li{padding:6px 0 6px 28px;position:relative;color:var(--mute)}.xs li:before{content:"✕";position:absolute;left:0;color:#ef4444;font-weight:700}
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.tool{border:1px solid var(--line);border-radius:16px;padding:22px}.tool p{color:var(--mute);margin:0}
.tag.mt{margin-top:16px}
.walk{display:grid;gap:16px;margin-top:32px}.phase{display:grid;grid-template-columns:52px 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.phase i{font-style:normal;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--ink);color:var(--acc2);font-weight:700}.phase p{margin:.2em 0;color:var(--mute)}.phase .tag{margin-top:10px;color:var(--acc)}
.ctas.center{justify-content:center}.btn.ghost.light{color:#fff;border-color:#374151;background:transparent}
.calc label{display:block;margin-bottom:22px}.calc input[type=range]{width:100%;height:44px;accent-color:var(--acc)}.calc output{float:right;font-weight:800;color:var(--acc)}
.result .row.big{font-size:1.25rem;border-bottom:0;padding-top:16px}.result .row.big b{color:var(--acc)}
.ck{list-style:none;padding:0}.ck li{border-bottom:1px solid var(--line)}.ck label{display:flex;gap:12px;align-items:flex-start;padding:12px 0;min-height:44px;font-weight:400;cursor:pointer}.ck input{width:22px;height:22px;margin:2px 0 0;flex:none}
.credits{font-size:.78rem;color:var(--mute);padding-bottom:20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.stickybar{display:none}
.capture{position:fixed;right:20px;bottom:20px;z-index:20;width:min(360px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 30px 60px -20px rgba(17,24,39,.35)}
.capture[hidden]{display:none}.capture h3{margin-bottom:6px}.capture p{color:var(--mute);margin:0 0 12px;font-size:.95rem}.capture form{display:flex;gap:8px}.capture input{margin:0;min-height:44px}.capture .btn{padding:10px 16px;white-space:nowrap}.capture .fine{display:inline-block;margin-top:10px;min-height:44px;line-height:44px}
.capture .x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:none;font-size:1.6rem;cursor:pointer;color:var(--mute)}
nav a,footer .flinks a{min-height:44px;display:inline-flex;align-items:center}summary{min-height:44px;display:flex;align-items:center}.burger{min-width:44px;min-height:44px}
@media(max-width:900px){.week{grid-template-columns:1fr 1fr}.ba,.links.two,.tools{grid-template-columns:1fr}.herophoto .float{position:static;margin-top:-40px;margin-left:16px;margin-right:16px;max-width:none}
.stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:15;background:rgba(17,24,39,.96);color:#fff;padding:10px 16px calc(10px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px;font-weight:600;font-size:.95rem}
.stickybar .btn{background:#fff;color:var(--ink);padding:12px 20px;min-height:44px}body{padding-bottom:72px}.capture{bottom:84px;left:16px;right:16px;width:auto}footer .flinks{display:flex;flex-wrap:wrap;justify-content:center}}
@media(max-width:560px){.week{grid-template-columns:1fr}.phase{grid-template-columns:1fr;gap:10px}.capture form{flex-direction:column}}
@media print{.nav,footer,.cta-band,.noprint,.stickybar,.capture{display:none!important}.page-hero{padding:20px 0}}
.logo{min-height:44px}
.stickybar[hidden]{display:none!important}
@media(max-width:900px){input,textarea,button,.btn{scroll-margin-bottom:96px}}
/* v5 */
.logo svg{flex:none}.logo span{font-weight:700;letter-spacing:-.04em}
footer .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;padding:48px 24px 16px}
footer .fgrid .flinks{display:flex;flex-direction:column;align-items:flex-start}footer .fgrid .flinks a{margin:0;min-height:36px}
footer .fbot{border-top:1px solid var(--line);padding-top:8px}
.role.path{padding:0;overflow:hidden;height:100%}.role.path img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;margin-bottom:18px}.role.path h3,.role.path p{padding:0 24px}.role.path p{padding-bottom:24px}
.role.path h3{font-size:1.5rem}
select{width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;min-height:46px}
@media(max-width:900px){footer .fgrid{grid-template-columns:1fr 1fr}footer .fgrid>div:first-child{grid-column:1/-1}}
address{font-style:normal}footer address{margin-top:6px}.addr{margin-bottom:20px}

/* playful decorative shapes on bands (pure CSS, ignored by screen readers) */
.band{position:relative;overflow:hidden}
.band:nth-of-type(odd){background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='3' cy='3' r='2.2' fill='%23a5b4fc'/%3E%3C/svg%3E") right 32px top 32px/22px,var(--bg);background-size:22px;background-repeat:repeat-y}
.band:nth-of-type(even){background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='38' fill='none' stroke='%23fde2e4' stroke-width='14'/%3E%3C/svg%3E") left -40px bottom -40px/200px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 30'%3E%3Cpath d='M4 15c16-16 24 16 40 0s24 16 40 0 24 16 40 0 24 16 32 4' fill='none' stroke='%236366f1' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") right 4% top 26px/130px no-repeat,var(--bg)}
.cta-band{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='38' fill='none' stroke='%23374151' stroke-width='14'/%3E%3C/svg%3E") right -30px top -30px/170px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='3' cy='3' r='2.2' fill='%234b5563'/%3E%3C/svg%3E") left 24px bottom 20px/22px repeat-x,var(--ink)}
@media(max-width:560px){.hero,.page-hero{background-size:220px,22px,110px}}
/* accessibility */
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px;font-weight:700}.skip:focus{top:12px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--acc);outline-offset:3px;border-radius:6px}
.cta-band a:focus-visible,footer a:focus-visible,.stickybar a:focus-visible{outline-color:#fff}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
nav a.active{color:#4f46e5}
.disc{padding:8px 24px 28px}.disc p{font-size:.8rem;color:#4b5563;max-width:760px;margin:0}.disc a{color:#4338ca}.ast{text-decoration:none;color:inherit}
