/* Homepage v2, 2026-10-24 */
.top{position:sticky;top:0}
section[id],#contact-form textarea{scroll-margin-top:96px}
.home .pptd-left{top:100px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* the four areas */
.areas4{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center;margin-top:8px}
.bld{margin:0}.bld-svg{display:block;width:100%;height:auto;max-width:520px}
.acards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.acard{background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--c);padding:16px 18px 18px}
.acard h3{font:400 21px/1.25 var(--serif);margin:0}
.acard .r{font-size:14px;font-weight:600;color:var(--muted);margin:2px 0 10px}
.acard p{font-size:15.5px;line-height:1.5;margin:0}
/* ticks as cards */
@media (min-width:901px){.home .pptd{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.home .tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.home .tick{border:1px solid var(--rule)!important;background:var(--paper);padding:14px 16px;min-height:76px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.home .tick:has(input:checked){border-color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--ink)}
.home .tick .t{font-size:16px;line-height:1.4}
.chips{display:flex!important;flex-wrap:wrap;gap:4px 10px;margin-top:6px}
.chips i{font-style:normal;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.chips i::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.js .home .tick .chips{visibility:hidden}
.js .home .tick:has(input:checked) .chips{visibility:visible}
@media (min-width:901px){.home .pptd .lab b,.home .pptd .lab em{font-size:17px}}
.tally{margin-top:14px;font-size:15px;color:var(--muted)}
.to-results{margin-top:26px}
.home .col[data-area=people]{--fill:#A9603F}.home .col[data-area=process]{--fill:#1B2342}.home .col[data-area=technology]{--fill:#56657E}
/* results */
#results .result{margin-top:4px;max-width:none}
#results .result-line{font:400 22px/1.4 var(--serif)}
#results .areas{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px}
#results .areas li{background:var(--paper);border:1px solid var(--rule);padding:14px 16px}
/* invite */
.band.ink{background:var(--ink);color:#fff}
.band.ink h2,.band.ink .intro{color:#fff}
.band.ink .intro{opacity:.88}
.band.ink .link{color:#fff;text-decoration-color:rgba(255,255,255,.6)}
.btn-paper{background:#fff;color:var(--ink);border:1px solid #fff}
.btn-paper:hover{background:var(--mist)}
.invite .send,.invite .alt{margin-top:22px}
.invite .deeper{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px 28px}
.has-ticks .invite .alt{display:none}
/* lenses on a line of sight */
.lens2{margin-top:10px}
.sight{display:block;width:100%;height:auto}
.sight .ray{stroke:var(--line);stroke-width:1.5;stroke-dasharray:4 7}
.sight .ray-on{stroke:var(--ink);stroke-width:2;transition:x2 .25s var(--ease)}
.sight .eye path{fill:#fff;stroke:var(--ink);stroke-width:1.5}.sight .eye circle{fill:var(--ink)}
.sight .ln{cursor:pointer}
.sight .ln path{fill:rgba(255,255,255,.7);stroke:#AEB6C2;stroke-width:1.5;transition:fill .2s,stroke .2s}
.sight .ln text{font:400 17px var(--serif);fill:var(--muted)}
.sight .ln.past path{fill:#F2F4F7;stroke:#7A8494}
.sight .ln.now path{fill:rgba(27,35,66,.12);stroke:var(--ink);stroke-width:2.5}
.sight .ln.now text{fill:var(--ink)}
.ltabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px}
.ltabs button{font:inherit;text-align:left;background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--rule);padding:14px 16px;cursor:pointer;color:var(--ink);min-height:48px}
.ltabs button:hover{border-top-color:var(--line)}
.ltabs button[aria-selected=true]{border-color:var(--ink);border-top-color:var(--ink)}
.ltabs button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.ltabs .n{display:block;font:400 15px/1 var(--serif);color:var(--muted);margin-bottom:6px}
.ltabs b{display:block;font:400 19px/1.3 var(--serif);font-weight:400}
.ltabs .s{display:block;font-size:14.5px;color:var(--muted);margin-top:2px}
.lpanels{margin-top:18px;max-width:44em;min-height:5.5em}
.lpanel p{font-size:17.5px;line-height:1.6;margin:0}
.lpanel .hint{font-size:15px;color:var(--muted);margin-top:8px}
html:not(.js) .lpanel[hidden]{display:block}
html:not(.js) .sight{display:none}
@media (max-width:900px){
 .areas4{grid-template-columns:1fr;gap:28px}.bld-svg{max-width:420px;margin:0 auto}
 .acards,.home .tgrid{grid-template-columns:1fr}
 #results .areas{grid-template-columns:1fr}
 .ltabs{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){.acards{grid-template-columns:1fr}.ltabs{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.sight .ray-on,.sight .ln path,.home .tick{transition:none}}

/* ---------- 2026-10-24: hero portrait pinned to the screen edge, A/B shortcuts, focus panel, door matches ---------- */
.home .hero{background:linear-gradient(180deg,#D1D1D1 0%,#D3D3D3 50%,#D2D2D2 100%)}
.home .hero-photo{right:0;width:min(58vw,900px);aspect-ratio:auto}
.home .hero-photo img{object-position:62% 12%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 48%);mask-image:linear-gradient(to right,transparent 0,#000 48%)}
@media (max-width:1100px){.home .hero-photo{right:0;width:62vw}}
@media (max-width:900px){.home .hero{background:#D3D3D3}.home .hero-photo{width:100%;aspect-ratio:1/1;max-height:560px}.home .hero-photo img{object-position:60% 10%;-webkit-mask-image:none;mask-image:none}}
html:not([data-ab-hero=b]) .shortcuts{display:none}
html[data-ab-hero=b] .hero .see-stuck{display:none}
.shortcuts .sc-h{font:600 14px/1.3 var(--sans);color:#3A4252;margin:0 0 10px}
.shortcuts ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;max-width:46em}
.shortcuts a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--ink);border-radius:999px;background:rgba(255,255,255,.7);color:var(--ink);text-decoration:none;font:500 15.5px/1.2 var(--sans);transition:background .15s var(--ease)}
.shortcuts a:hover{background:#fff}
.shortcuts a[data-focus=check]{border-style:dashed;background:transparent}
.shortcuts a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.focus .focus-body .door{display:block;border:0;padding:0;max-width:46em}
.focus .focus-body .door h3{font:400 28px/1.2 var(--serif)}
.focus-h:focus{outline:none}
.focus-more{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center}
.home .door h3 .match-tag{display:block;width:max-content;margin:10px 0 0;padding:5px 10px;border-radius:999px;background:var(--ink);color:#fff;font:600 12.5px/1.2 var(--sans);letter-spacing:.02em}
.home .door h3 .match-tag[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.shortcuts a{transition:none}}

/* ---------- 2026-10-25 ---------- */
.home .hero{background:linear-gradient(180deg,#E8EBF0 0%,#E9ECF1 50%,#E9ECF0 100%)}
@media (max-width:900px){.home .hero{background:#E9ECF1}}
/* doors: same rhythm with more bullets */
.home .door ul li{margin-bottom:6px}
/* how every engagement runs: four stages, no days */
.home .track4{position:relative;margin-top:62px}
.home .loop4{position:absolute;left:calc(37.5% - 4px);right:calc(12.5% + 4px);top:-44px;height:34px;border:1.5px dashed var(--line);border-bottom:0;border-radius:16px 16px 0 0}
.home .loop4::after{content:"";position:absolute;left:-6.5px;bottom:-1px;width:9px;height:9px;border-right:1.5px solid var(--line);border-bottom:1.5px solid var(--line);transform:rotate(45deg)}
.home .loop4 span{position:absolute;left:50%;top:-10px;transform:translateX(-50%);background:var(--mist);padding:0 10px;font-size:13px;line-height:18px;color:var(--muted);white-space:nowrap}
.home .stages4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px}
.home .stages4 li{border-top:3px solid var(--ink);padding:14px 8px 0 0}
.home .stages4 .sn{display:block;font:400 15px/1 var(--serif);color:var(--muted);margin-bottom:10px}
.home .stages4 b{display:block;font:400 20px/1.25 var(--serif)}
.home .stages4 .sd{display:block;font-size:15.5px;line-height:1.5;color:var(--muted);margin-top:6px;max-width:28ch}
@media (max-width:900px){.home .loop4{display:none}.home .track4{margin-top:8px}.home .stages4{grid-template-columns:1fr;row-gap:18px}.home .stages4 li{border-top:0;border-left:3px solid var(--ink);padding:2px 0 2px 16px}}
/* where your signs land: hidden until the first tick (kept for screen readers so the live result is heard) */
.js #results[data-await]:not(.shown){position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;padding:0;margin:0}
#results.shown{animation:resin .45s var(--ease) both}
@keyframes resin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.to-results{display:flex;justify-content:center;margin:28px 0 0}
.js .to-results{display:none}
.js .has-ticks .to-results{display:flex;position:sticky;bottom:18px;z-index:6;pointer-events:none}
.to-results .cue{pointer-events:auto}
.cue{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font:600 15.5px/1 var(--sans);box-shadow:0 10px 26px rgba(27,35,66,.22)}
.cue:hover{background:var(--accent-deep)}
.cue:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.cue svg{animation:cuebob 1.5s ease-in-out 4}
@keyframes cuebob{0%,100%{transform:translateY(-1px)}50%{transform:translateY(4px)}}
/* rings of reflection */
.rings{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"tabs tabs" "set panels";gap:36px 56px;align-items:center;margin-top:8px}
.rings .rtabs{grid-area:tabs;margin:0}
.rings .rtabs button{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;align-items:start}
.rings .rtabs .mini{grid-row:1/4;margin-top:2px}
.rings .rtabs .mini circle{fill:none;stroke:var(--rule);stroke-width:1.2}
.rings .rtabs button[aria-selected=true] .mini circle{stroke:var(--ink)}
.rings .rtabs button[aria-selected=true] .mini circle:first-child{fill:var(--ink)}
.rings .rtabs .n,.rings .rtabs b,.rings .rtabs .s{grid-column:2}
.rset{grid-area:set;margin:0;display:flex;justify-content:center}
.rsvg{display:block;width:100%;max-width:430px;height:auto;overflow:visible}
.rsvg .h{fill:none;stroke:var(--glow);stroke-width:7;opacity:.3;transition:opacity .35s var(--ease),stroke-width .35s var(--ease)}
.rsvg .c{fill:none;stroke:#9AA6B8;stroke-width:1.4;transition:stroke .35s var(--ease),stroke-width .35s var(--ease)}
.rsvg .c-why{fill:rgba(125,156,216,.10)}
.rsvg .t{font:600 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;fill:var(--muted);text-anchor:middle;transition:fill .35s var(--ease)}
.rsvg .start{font:italic 400 13px var(--serif);fill:var(--muted);text-anchor:middle}
.rsvg[data-on=why] .h-why,.rsvg[data-on=what] .h-what,.rsvg[data-on=where] .h-where,.rsvg[data-on=how] .h-how{opacity:.95;stroke-width:15}
.rsvg[data-on=why] .c-why,.rsvg[data-on=what] .c-what,.rsvg[data-on=where] .c-where,.rsvg[data-on=how] .c-how{stroke:var(--ink);stroke-width:2.2}
.rsvg[data-on=why] .t-why,.rsvg[data-on=what] .t-what,.rsvg[data-on=where] .t-where,.rsvg[data-on=how] .t-how{fill:var(--ink)}
.rsvg:not([data-set="1"]) .start{display:none}
.rpanels{grid-area:panels}
.rp-h{font:400 24px/1.25 var(--serif);margin:0 0 10px}
.rp-h span{display:block;font:500 15px/1.4 var(--sans);color:var(--muted);margin-top:4px}
.rq{list-style:none;margin:0;padding:0}
.rq li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:baseline;padding:15px 8px 15px 0;border-top:1px solid var(--rule);cursor:default;transition:background .2s var(--ease)}
.rq li:last-child{border-bottom:1px solid var(--rule)}
.rq .rl{font:600 12px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rq .q{font:400 19px/1.45 var(--serif);color:var(--ink)}
.rq li.on .rl{color:var(--ink)}
.rnote{font-size:15px;color:var(--muted);margin-top:16px}
html:not(.js) .rpanel[hidden]{display:block;margin-top:28px}
@media (max-width:900px){.rings{grid-template-columns:1fr;grid-template-areas:"tabs" "set" "panels";gap:28px}.rings .rtabs{grid-template-columns:1fr 1fr}.rsvg{max-width:320px}}
@media (max-width:520px){.rings .rtabs{grid-template-columns:1fr 1fr;gap:8px}.rings .rtabs button{padding:10px 12px;grid-template-columns:26px minmax(0,1fr);column-gap:8px}.rings .rtabs .mini{width:26px;height:26px}.rings .rtabs .s{display:none}.rq li{grid-template-columns:1fr;gap:4px}.rq .q{font-size:18px}}
@media (prefers-reduced-motion:reduce){.rsvg .h,.rsvg .c,.rsvg .t,.rq li{transition:none}.cue svg,#results.shown{animation:none}}

/* ---------- 2026-10-25 v5 ---------- */
.home .hero-name{margin:22px 0 0;font-size:14.5px;line-height:1.5;color:var(--muted)}
.home .hero-name b{font:400 17px/1.3 var(--serif);color:var(--ink);margin-right:6px}
.home .hero-name span{white-space:nowrap}
.home .hero-name span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--line);margin:0 9px 3px}
.home .hero-name b+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--line);margin:0 9px 3px 3px}
/* ripples */
.ripple{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px 48px;align-items:center;margin-top:4px}
.rp-fig{margin:0}
.rp-cap{margin:6px 0 0;text-align:center;font:italic 400 14.5px/1.4 var(--serif);color:var(--muted)}
.rp-svg{display:block;width:100%;height:auto;overflow:visible}
.rp-svg .c{fill:none;stroke:#D6DCE4;stroke-width:1.2;stroke-dasharray:3 5;transition:stroke .35s var(--ease),stroke-width .35s var(--ease)}
.rp-svg .h{fill:none;stroke:var(--glow);stroke-width:7;opacity:0;transition:opacity .35s var(--ease),stroke-width .35s var(--ease)}
.rp-svg .t,.rp-svg .num,.rp-svg .start{display:none;pointer-events:none}
.rp-svg .t{font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;fill:var(--muted);text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.rp-svg .num{font:400 17px var(--serif);fill:var(--muted);text-anchor:middle}
.rp-svg .start{font:italic 400 12px var(--serif);fill:var(--muted);text-anchor:middle}
.rp-svg .hit{pointer-events:none}
.rp-svg .set{transform-box:fill-box;transform-origin:center}
.rp-svg .is-seen .c{stroke:#AEB6C2;stroke-dasharray:none}
.rp-svg .is-seen .num,.rp-svg .is-cur .num{display:block}
.rp-svg .is-seen .hit,.rp-svg .is-next .hit,.rp-svg .is-cur .hit{pointer-events:all;cursor:pointer}
.rp-svg .is-next .c{stroke:#AEB6C2}
.rp-svg .is-next:hover .c{stroke:#7A8494}
.rp-svg .is-hidden .c{stroke:#CDD3DC}
.rp-svg .is-cur .c{stroke:var(--ink);stroke-dasharray:none;stroke-width:1.4}
.rp-svg .is-cur .h{opacity:.28}
.rp-svg .is-cur .t{display:block}
.rp-svg .is-cur.s1~.start,.rp-svg[data-cur="1"] .start{display:block}
.rp-svg[data-ring=why] .is-cur .h-why,.rp-svg[data-ring=what] .is-cur .h-what,.rp-svg[data-ring=where] .is-cur .h-where,.rp-svg[data-ring=how] .is-cur .h-how{opacity:.95;stroke-width:15}
.rp-svg[data-ring=why] .is-cur .c-why,.rp-svg[data-ring=what] .is-cur .c-what,.rp-svg[data-ring=where] .is-cur .c-where,.rp-svg[data-ring=how] .is-cur .c-how{stroke-width:2.4}
.rp-svg[data-ring=why] .is-cur .t-why,.rp-svg[data-ring=what] .is-cur .t-what,.rp-svg[data-ring=where] .is-cur .t-where,.rp-svg[data-ring=how] .is-cur .t-how{fill:var(--ink)}
.rp-svg .pulse{fill:none;stroke:var(--glow);stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center}
.rp-svg .pulse.go{animation:rp-pulse .9s var(--ease) both}
.rp-svg .set.grow{animation:rp-grow .9s var(--ease) both}
@keyframes rp-pulse{from{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}
@keyframes rp-grow{from{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}
.rp-step{font:600 12.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.rp-h{font:400 24px/1.25 var(--serif);margin:0 0 12px}
.rp-h .rp-n{display:none}
.rp-h .rp-sub{display:block;font:500 15px/1.4 var(--sans);color:var(--muted);margin-top:4px}
.rp-q{list-style:none;margin:0;padding:0}
.rp-q li{border-top:1px solid var(--rule)}
.rp-q li:last-child{border-bottom:1px solid var(--rule)}
.rp-q button{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:baseline;width:100%;padding:14px 10px 14px 0;background:none;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:4px;transition:background .2s var(--ease)}
.rp-q button:hover{background:var(--mist)}
.rp-q button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.rp-q .rl{font:600 12px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rp-q .q{font:400 19px/1.45 var(--serif);color:var(--ink)}
.rp-q button[aria-pressed=true] .rl{color:var(--ink)}
.rp-q button[aria-pressed=true]{box-shadow:inset 3px 0 0 var(--glow)}
.rp-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:20px}
.rp-nav [hidden]{display:none}
.rp-back{background:none;border:0;padding:8px 0;font:600 15px/1 var(--sans);color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
html:not(.js) .rp-lens[hidden]{display:block;margin-top:26px}
html:not(.js) .rp-nav,html:not(.js) .rp-step{display:none}
@media (max-width:900px){.ripple{grid-template-columns:1fr;gap:18px}}
@media (max-width:520px){.rp-q button{grid-template-columns:1fr;gap:4px}.rp-q .q{font-size:18px}.rp-svg .t{font-size:13px}.rp-svg .num{font-size:20px}}
@media (prefers-reduced-motion:reduce){.rp-svg .c,.rp-svg .h,.rp-q button{transition:none}.rp-svg .pulse.go,.rp-svg .set.grow{animation:none}}

/* ---------- 2026-10-25 v6: hero ---------- */
.home .role .ri{white-space:nowrap}
.home .role .bar{display:inline-block;margin:0 .6em;color:#8C93A1;font-weight:400}
.home .lede .l1,.home .lede .l2{display:block}
.home .lede .l1{white-space:nowrap}
.home .lede{max-width:none}
.home .begin{margin:0}
.home .begin-q{margin:0 0 8px;font:600 15px/1.4 var(--sans);color:#3A4252}
.home .begin-links{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0}
.home .hn4{margin:30px 0 0;padding-top:16px;border-top:1px solid var(--line);width:max-content;max-width:100%}
.home .hn4 .sig{display:block;font:italic 400 22px/1.2 var(--serif);color:var(--ink)}
.home .hn4 .cr span{white-space:nowrap}
.home .hn4 .cr{display:block;margin-top:6px;font:600 12px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
/* phones: the headline sits on the photo, in the open space left of the face */
@media (max-width:900px){
 .home .hero-photo{aspect-ratio:10/11}
 .home .hero-photo img{object-position:0% 12%}
 .home .hook{position:absolute;left:var(--gutter,16px);top:calc(-1 * min(110vw,560px) + 5vw);width:40%;max-width:230px;font-size:clamp(25px,7.2vw,40px);line-height:1.08;z-index:2}
 .home .hook span{display:inline}
 .home .hook .t2{display:block;margin-top:.2em}
 .home .role{margin-bottom:12px}
}
@media (max-width:520px){
 .home .lede{font-size:min(18.5px,calc((100vw - 34px) / 21.6))}
 .home .role{font-size:14.5px}
 .home .role .bar{margin:0 .45em}
 .home .role .b2{display:none}
 .home .role .r3{display:block;margin-top:2px}
 .home .hn4 .cr .dot{display:none}
 .home .hn4 .cr span{display:block}
}
/* the check links to the PPTD page */
.home .pptd-more{display:flex;align-items:center;gap:14px;margin:-8px 0 30px;font-size:16px;color:var(--muted)}
.home .pptd-more .pptd-mini{flex:none;width:44px;height:44px}
.home .pptd-more .link{margin-left:6px;white-space:nowrap}

/* ---------- 2026-10-25 v6: Rings of Reflection, lenses on top joined by a line ---------- */
.rr{margin-top:6px}
.rr-steps{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;position:relative}
.rr-steps::before,.rr-steps::after{content:"";position:absolute;top:21px;left:12.5%;height:1.5px;background:var(--rule);pointer-events:none}
.rr-steps::before{right:12.5%}
.rr-steps::after{width:calc(75% * var(--p));background:var(--ink);transition:width .6s var(--ease)}
.rr-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:4px 6px 10px;background:none;border:0;border-radius:8px;font:inherit;color:inherit;text-align:center;cursor:pointer}
.rr-step:hover{background:var(--mist)}
.rr-step:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.rr-mini{display:block;background:#fff;border-radius:50%;box-shadow:0 0 0 5px #fff;margin-bottom:8px}
.rr-mini circle{fill:none;stroke:#AEB6C2;stroke-width:1.1;transition:stroke .3s var(--ease),fill .3s var(--ease)}
.rr-step .n{font:400 14px/1.2 var(--serif);color:var(--muted)}
.rr-step b{font:400 18px/1.25 var(--serif);color:var(--muted);transition:color .3s var(--ease)}
.rr-step .s{font-size:13.5px;line-height:1.35;color:var(--muted)}
.rr-step.is-done .rr-mini circle{stroke:var(--ink)}
.rr-step.is-done .rr-mini circle:last-child{fill:var(--ink)}
.rr-step.is-cur .rr-mini{box-shadow:0 0 0 5px #fff,0 0 14px 6px rgba(125,156,216,.45)}
.rr-step.is-cur .rr-mini circle{stroke:var(--ink);stroke-width:1.5}
.rr-step.is-cur b,.rr-step.is-done b{color:var(--ink)}
.rr-body{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 56px;align-items:center}
.rr-fig{margin:0;max-width:420px;justify-self:center;width:100%}
.rr-svg{display:block;width:100%;height:auto;overflow:visible}
.rr-svg .rr-set{transform-origin:200px 200px}
.rr-svg .c{fill:none;stroke:#9AA4B4;stroke-width:1.3;transition:stroke .3s var(--ease),stroke-width .3s var(--ease)}
.rr-svg .h{fill:none;stroke:var(--glow);stroke-width:7;opacity:.22;transition:opacity .3s var(--ease),stroke-width .3s var(--ease)}
.rr-svg .t{font:600 11.5px var(--sans);letter-spacing:.14em;fill:var(--muted);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.rr-svg .seed{fill:var(--glow);opacity:0;transition:opacity .5s var(--ease)}
.rr-svg[data-lens="2"] .seed{opacity:.14}.rr-svg[data-lens="3"] .seed{opacity:.22}.rr-svg[data-lens="4"] .seed{opacity:.3}
.rr-svg .start{font:italic 400 12.5px var(--serif);fill:var(--muted);text-anchor:middle;pointer-events:none}
.rr-svg:not([data-lens="1"]) .start{display:none}
.rr-svg .hit{fill:none;stroke:transparent;stroke-width:22;pointer-events:stroke;cursor:pointer}
.rr-svg .hit[data-ring=why]{fill:transparent;pointer-events:all}
.rr-svg[data-ring=why] .h-why,.rr-svg[data-ring=what] .h-what,.rr-svg[data-ring=where] .h-where,.rr-svg[data-ring=how] .h-how{opacity:.95;stroke-width:15}
.rr-svg[data-ring=why] .c-why,.rr-svg[data-ring=what] .c-what,.rr-svg[data-ring=where] .c-where,.rr-svg[data-ring=how] .c-how{stroke:var(--ink);stroke-width:2.4}
.rr-svg[data-ring=why] .t-why,.rr-svg[data-ring=what] .t-what,.rr-svg[data-ring=where] .t-where,.rr-svg[data-ring=how] .t-how{fill:var(--ink)}
.rr-svg .rr-old .c{stroke:var(--ink);stroke-width:2}
.rr-svg .rr-old .h{opacity:.35;stroke-width:8}
.rr-svg .rr-old{pointer-events:none}
.rr .rp-nav .rp-next{white-space:nowrap}
.rr .rp-q button{padding-left:14px}
.rr .rp-nav .rp-back[hidden]{display:inline-block;visibility:hidden}
html:not(.js) .rr-step{cursor:default}
@media (max-width:900px){.rr-body{grid-template-columns:1fr}.rr-fig{max-width:360px}}
@media (max-width:640px){
 .rr-steps{gap:4px;margin-bottom:22px}
 .rr-steps::before,.rr-steps::after{top:17px}
 .rr-mini{width:28px;height:28px}
 .rr-step{padding:2px 2px 8px}
 .rr-step .n{display:none}
 .rr-step b{font-size:13.5px;text-wrap:balance;min-height:2.5em}
 .rr-step .s{display:none}
}
@media (prefers-reduced-motion:reduce){.rr-steps::after,.rr-svg .c,.rr-svg .h,.rr-svg .seed{transition:none}}

/* ---------- 2026-10-25 v7: rings stay still, the questions move ---------- */
.rr-svg .c,.rr-svg .h,.rr-svg .seed{transition:none}
.intro .ror{font-weight:600;color:#3B5FA8;text-shadow:0 0 14px rgba(125,156,216,.55)}
.rr .rp-q{position:relative}
.rr .rp-q .rp-mark{position:absolute;left:0;right:0;top:0;height:60px;border:0!important;background:rgba(125,156,216,.12);box-shadow:inset 3px 0 0 var(--glow);border-radius:4px;pointer-events:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),height .35s cubic-bezier(.2,.7,.2,1)}
.rr .rp-q .rp-mark.no-move{transition:none}
.rr .rp-q li:nth-child(2){border-top:1px solid var(--rule)}
.rr .rp-q button[aria-pressed=true]{box-shadow:none;background:none}
.rr .rp-q button{position:relative}
.rr .rp-lens.rp-in .rp-h,.rr .rp-lens.rp-in .rp-q li:not(.rp-mark){animation:rp-row .45s cubic-bezier(.2,.7,.2,1) both}
.rr .rp-lens.rp-in .rp-q li:nth-child(2){animation-delay:.06s}.rr .rp-lens.rp-in .rp-q li:nth-child(3){animation-delay:.12s}
.rr .rp-lens.rp-in .rp-q li:nth-child(4){animation-delay:.18s}.rr .rp-lens.rp-in .rp-q li:nth-child(5){animation-delay:.24s}
@keyframes rp-row{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rr .rp-nav .rp-next{order:-1}
.rr .rp-nav .rp-back[hidden]{display:none}
html:not(.js) .rr .rp-mark{display:none}
@media (prefers-reduced-motion:reduce){.rr .rp-q .rp-mark{transition:none}.rr .rp-lens.rp-in *{animation:none!important}}

/* ---------- 2026-10-25 v7: homepage ---------- */
.home .btn-check{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;background:#fff;border:1px solid #C9CDD5;color:var(--ink);font:600 16.5px/1.2 var(--sans);text-decoration:none;box-shadow:0 1px 3px rgba(27,35,66,.08);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.home .btn-check:hover{border-color:var(--ink);box-shadow:0 2px 8px rgba(27,35,66,.12)}
.home .btn-check:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.home .begin-q{margin-bottom:12px}
.home #grew{padding-bottom:8px}
.home #grew + #check{padding-top:8px}
.home .pptd-more{margin:-8px 0 30px}

/* ---------- 2026-10-26 v8: homepage step icons ---------- */
.home .stages4 .st-ico{width:44px;height:44px;margin-bottom:10px}

/* ---------- 2026-10-27 v10 ---------- */
/* lens steps: same icon in every state, no center dot anywhere. Upcoming gray, done ink, current ink with a crisp blue ring */
.rr-mini{box-shadow:0 0 0 5px #fff}
.rr-step .rr-mini circle,.rr-step.is-done .rr-mini circle:last-child{fill:none}
.rr-step.is-done .rr-mini circle{stroke:var(--ink);stroke-width:1.3}
.rr-step.is-cur .rr-mini{box-shadow:0 0 0 4px #fff,0 0 0 6px #3B5FA8}
.rr-step.is-cur .rr-mini circle{stroke:var(--ink);stroke-width:1.6}
.rr-step:hover{background:none}
@media (hover:hover){.rr-step:not(.is-cur):hover .rr-mini circle{stroke:var(--ink)}.rr-step:hover b{color:var(--ink)}}
/* About credentials sit in a single column inside the About copy */
.home .cred-about{max-width:560px}
/* phones: name and credentials right under the photo */
@media (max-width:900px){
 .home .hero-copy{display:flex;flex-direction:column}
 .home .hero-copy .hn4{order:-1;margin:18px 0 6px;padding:0 0 14px;border-top:0;border-bottom:1px solid var(--line)}
}

/* ---------- 2026-10-28 v13: one column layouts (900px and under) put the rings above the lens steps, so the steps sit right on top of the questions they change ---------- */
@media (max-width:900px){
 .rr{display:flex;flex-direction:column}
 .rr-body{display:contents}
 .rr-fig{order:-1;align-self:center;margin:0 0 26px}
 .rp-side{order:1}
}

/* ---------- 2026-10-28 v18: hero credential stack (title case, no caps, no tracking, no rule), CTA chevron ---------- */
.home .hn4{margin:22px 0 0;padding:0;border:0;width:auto;max-width:100%}
.home .hn4 .sig{font-size:24px}
.home .hn4 .cr{display:block;margin-top:8px;font:600 16px/1.5 var(--sans);letter-spacing:0;text-transform:none;color:#3A4252}
.home .hn4 .cr .cl{display:block;white-space:nowrap}
.home .hn4 .cr .dot{display:inline;margin:0 .3em;color:#6B7280;font-weight:600}
.home .hn4 .cr .cl3{font-weight:500;font-size:15px;color:var(--muted)}
.home .hero-in .lede{margin-top:20px}
@media (max-width:900px){
 .home .hero-copy .hn4{order:-1;margin:18px 0 6px;padding:0;border:0}
 .home .hero-in .lede{margin-top:14px}
}
@media (max-width:520px){
 .home .hn4 .cr .cl2{font-size:min(16px,calc((100vw - 34px) / 22.5))}
 .home .hn4 .cr .dot{display:inline}
}

/* ---------- 2026-10-28 v19: phones, shorter photo and tighter stack so the CTA sits above the fold ---------- */
@media (max-width:900px){
 .home .hero-in{padding-top:10px;padding-bottom:14px}
 .home .hero-copy .hn4{margin:18px 0 2px}
 .home .hn4 .cr{margin-top:6px}
 .home .hero-in .lede{margin:12px 0 14px}
 .home #check.band{padding-top:8px}
}
