/* JDQPS V2.11 — complete build-goal pass. Approved palette/content only. */
:root{--shell-p:0}body[data-version="v2"]{--ink:#141416;--ivory:#F4EFE6;--teal:#176F73;--amber:#D89A32;--burgundy:#8D243A;--blue:#315F78;--sage:#73806B;--stone:#CFC6B8;background:var(--ivory);color:var(--ink);font-family:"JDQPS Human Text",Arial,sans-serif;font-size:18px;line-height:1.62}body[data-version="v2"] .wrap{width:min(calc(100% - 72px),1320px)}body[data-version="v2"] h1,body[data-version="v2"] h2,body[data-version="v2"] h3{font-family:"JDQPS Human",Arial,sans-serif;letter-spacing:-.018em;color:inherit}body[data-version="v2"] h1{font-size:clamp(44px,4.6vw,62px);line-height:1.02;font-weight:600}body[data-version="v2"] h2{font-size:clamp(31px,2.9vw,43px);line-height:1.09;font-weight:400}body[data-version="v2"] h3{font-size:clamp(22px,2vw,28px);line-height:1.16;font-weight:600}body[data-version="v2"] p,body[data-version="v2"] li{font-size:18px;line-height:1.62}body[data-version="v2"] .lede,body[data-version="v2"] .large-copy{font-size:20px;line-height:1.56}body[data-version="v2"] small{font-size:15px;line-height:1.45}body[data-version="v2"] .kicker{font-size:14px;font-weight:600;letter-spacing:.1em}body[data-version="v2"] .btn,body[data-version="v2"] .text-link,body[data-version="v2"] .inline-link{font-size:14px;font-weight:600}
/* Header and one-time entry. */body[data-version="v2"] .site-header{background:rgba(244,239,230,.97);border-bottom:1px solid rgba(20,20,22,.12);backdrop-filter:blur(10px)}body[data-version="v2"] .header-inner{min-height:calc(96px - 20px*var(--shell-p));transition:min-height .12s linear;gap:30px}body[data-version="v2"] .brand{position:relative;flex:0 0 auto}body[data-version="v2"] .brand img{width:calc(192px - 28px*var(--shell-p));display:block;transition:width .12s linear;transform-origin:left center}body[data-version="v2"] .brand:before{content:"";position:absolute;left:-10px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--teal);opacity:0}body[data-version="v2"] .brand:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:linear-gradient(90deg,var(--teal) 0 20%,var(--amber) 20% 40%,var(--burgundy) 40% 60%,var(--blue) 60% 80%,var(--sage) 80%);opacity:0}body[data-version="v2"].v2-first-entry .brand img{animation:brandReveal .92s cubic-bezier(.2,.75,.2,1) both}body[data-version="v2"].v2-first-entry .brand:before{animation:brandNode 1.05s ease both}body[data-version="v2"].v2-first-entry .brand:after{animation:brandSpectrum 1.05s ease both}@keyframes brandReveal{0%{opacity:0;clip-path:inset(0 100% 0 0)}100%{opacity:1;clip-path:inset(0)}}@keyframes brandNode{0%,15%{opacity:0;transform:translateX(0) scale(.6)}35%{opacity:1}80%{opacity:1;transform:translateX(74px) scale(1)}100%{opacity:0;transform:translateX(88px)}}@keyframes brandSpectrum{0%,25%{width:0;opacity:0}40%{opacity:1}82%{width:72%;opacity:1}100%{width:72%;opacity:0}}body[data-version="v2"] .main-nav{gap:21px}body[data-version="v2"] .nav-top{font-size:14px;font-weight:600;letter-spacing:.05em;color:var(--ink)}body[data-version="v2"] .nav-top:hover,body[data-version="v2"] .nav-top.active{color:var(--teal)}body[data-version="v2"] .nav-menu{background:var(--ivory);border:1px solid rgba(20,20,22,.14);box-shadow:0 18px 42px rgba(20,20,22,.09)}body[data-version="v2"] .nav-menu a{font-size:14.5px;border-color:rgba(20,20,22,.08)}body[data-version="v2"] .start-btn{background:var(--teal);border-color:var(--teal);font-size:14px}body[data-version="v2"] .start-btn:hover{background:var(--ink);border-color:var(--ink)}
/* One useful contextual rail; terminology matches global menu. */.v2-context-nav{position:sticky;top:calc(96px - 20px*var(--shell-p));z-index:840;background:rgba(244,239,230,.98);border-bottom:1px solid rgba(20,20,22,.12)}.v2-context-nav .wrap{display:flex;align-items:center;gap:20px;padding-top:11px;padding-bottom:11px;overflow-x:auto;scrollbar-width:none}.v2-context-nav .wrap::-webkit-scrollbar{display:none}.v2-context-nav .context-label{font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--sage);flex:0 0 auto}.v2-context-nav a{font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none;color:var(--ink);border-bottom:2px solid transparent}.v2-context-nav a:hover{color:var(--teal);border-color:var(--teal)}.v2-context-nav .context-switch{margin-left:auto;color:var(--burgundy)}
/* Shared page grammar. */body[data-version="v2"] .hero{padding:48px 0 44px;background:var(--ivory);border-bottom:1px solid rgba(20,20,22,.12)}body[data-version="v2"] .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:76px;align-items:center}body[data-version="v2"] .hero-copy{max-width:780px;padding:0}body[data-version="v2"] .hero-art{min-height:340px;overflow:visible}body[data-version="v2"] .hero-art-img{width:min(100%,520px);max-height:430px;object-fit:contain}body[data-version="v2"] .v2-profile-hero .hero-grid{display:block}body[data-version="v2"] .v2-profile-hero .hero-copy{max-width:980px}body[data-version="v2"] .editorial-section{padding:66px 0}body[data-version="v2"] .split{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:76px;align-items:start}body[data-version="v2"] .cta-split{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:66px}body[data-version="v2"] .section-intro{max-width:1000px;margin-bottom:34px}body[data-version="v2"] .bg-ivory{background:var(--ivory);color:var(--ink)}body[data-version="v2"] .bg-ink{background:var(--ink);color:var(--ivory)}body[data-version="v2"] .bg-teal{background:var(--teal);color:var(--ivory)}body[data-version="v2"] .bg-amber{background:var(--amber);color:var(--ink)}body[data-version="v2"] .bg-burgundy{background:var(--burgundy);color:var(--ivory)}body[data-version="v2"] .bg-blue{background:var(--blue);color:var(--ivory)}body[data-version="v2"] .bg-sage{background:var(--sage);color:var(--ivory)}body[data-version="v2"] .bg-stone{background:var(--stone);color:var(--ink)}body[data-version="v2"] .teal-text{color:var(--teal)!important}body[data-version="v2"] .amber-text{color:var(--amber)!important}body[data-version="v2"] .burgundy-text{color:var(--burgundy)!important}body[data-version="v2"] .sage-text{color:var(--sage)!important}
/* Readability floors and proportion correction. */body[data-version="v2"] .choice-card span,body[data-version="v2"] .offer-output b,body[data-version="v2"] .offer-invest b,body[data-version="v2"] .evidence-pillar b,body[data-version="v2"] .gap-box b,body[data-version="v2"] .consequence-flow b,body[data-version="v2"] .lifecycle-grid span,body[data-version="v2"] .proof-note,body[data-version="v2"] .note-box,body[data-version="v2"] .form-grid label,body[data-version="v2"] .status,body[data-version="v2"] .topic-band span,body[data-version="v2"] .client-type,body[data-version="v2"] .client-focus{font-size:15px!important;line-height:1.5}body[data-version="v2"] .evidence-pillar span,body[data-version="v2"] .gap-box p,body[data-version="v2"] .exec-grid span,body[data-version="v2"] .engagement-models p,body[data-version="v2"] .offer-copy p,body[data-version="v2"] .offer-output p,body[data-version="v2"] .path-preview-grid span,body[data-version="v2"] .review-list span,body[data-version="v2"] .system-box span,body[data-version="v2"] .humanity-grid span,body[data-version="v2"] .metric-grid span,body[data-version="v2"] .faq-answer p,body[data-version="v2"] .symptom-grid p,body[data-version="v2"] .vantage-card p,body[data-version="v2"] .offer-card p,body[data-version="v2"] .reality-card li,body[data-version="v2"] .decision-card p,body[data-version="v2"] .decision-card li,body[data-version="v2"] .individual-service p{font-size:17px!important;line-height:1.58}body[data-version="v2"] .pillar-number,body[data-version="v2"] .model-stage .stage-number,body[data-version="v2"] .lifecycle-grid b{font-size:18px!important;line-height:1.2}body[data-version="v2"] .icon-disc{width:96px;height:96px}body[data-version="v2"] .icon-disc svg{width:54px;height:54px}body[data-version="v2"] .approved-founder-icon{width:72px!important;height:72px!important;object-fit:contain}
/* Homepage reference-led layout. */.v2-band{padding:64px 0}.v2-home-hero{padding:42px 0 52px;border-bottom:1px solid rgba(20,20,22,.12)}.v2-home-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(460px,.92fr);gap:74px;align-items:center}.v2-home-copy h1{margin:12px 0 24px}.v2-home-intro{max-width:790px}.v2-home-intro p{font-size:18px}.v2-home-intro p+p{margin-top:13px}.v2-home-copy .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.v2-home-copy .actions .btn.outline{padding-left:16px;padding-right:16px}.v2-giving-link{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;margin-top:25px;max-width:600px;text-decoration:none;color:var(--ink);padding-top:15px;border-top:1px solid rgba(20,20,22,.13)}.v2-giving-link b{font-family:"JDQPS Human",Arial,sans-serif;font-size:30px;color:var(--burgundy)}.v2-giving-link span{font-size:14.5px}.v2-home-art{min-height:460px;display:grid;place-items:center;position:relative}.v2-home-art>img{width:min(100%,560px);max-height:430px;object-fit:contain;transform:translateY(calc(var(--parallax,0)*-5px))}.v2-human-centered{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:88px repeat(3,1fr);align-items:center;gap:14px}.v2-human-centered img{width:84px;height:84px}.v2-human-centered span{font-size:14px;font-weight:600;border-top:1px solid rgba(20,20,22,.15);padding-top:9px}.v2-mission{background:rgba(207,198,184,.22)}.v2-mission-grid{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(300px,.75fr);gap:48px;align-items:center}.v2-q-stage{width:132px;height:132px;display:grid;place-items:center;position:relative}.v2-q-stage img{width:104px}.v2-q-stage i{position:absolute;border:1px solid rgba(20,20,22,.12);border-radius:50%;inset:0;transform:scale(.65);opacity:0}.v2-q-stage i:nth-of-type(2){inset:14px}.v2-q-stage i:nth-of-type(3){inset:28px}.v2-q-stage.scene-in i{animation:qRing .85s ease forwards}.v2-q-stage.scene-in i:nth-of-type(2){animation-delay:.1s}.v2-q-stage.scene-in i:nth-of-type(3){animation-delay:.2s}@keyframes qRing{to{transform:scale(1);opacity:1}}.v2-doctrine{border-left:1px solid rgba(20,20,22,.15);padding-left:30px;display:grid;gap:14px}.v2-doctrine small,.v2-doctrine b{display:block}.v2-doctrine small{font-size:13px;letter-spacing:.08em}.v2-doctrine b{font-size:17px}.v2-why{background:var(--ivory)}.v2-split-wide{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(440px,.96fr);gap:78px;align-items:center}.v2-approved-graphic{margin:0;display:grid;place-items:center}.v2-approved-graphic img{width:min(100%,520px);max-height:410px;object-fit:contain}.v2-vantage{background:rgba(207,198,184,.2)}.v2-vantage-heading{max-width:860px;margin-bottom:32px}.v2-vantage-grid{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:stretch}.v2-vantage-card{padding:26px 30px;text-decoration:none;color:var(--ink);border:1px solid rgba(20,20,22,.14);background:rgba(244,239,230,.76)}.v2-vantage-card h3{font-size:24px}.v2-vantage-card small,.v2-vantage-card span{display:block;font-weight:600}.v2-vantage-card.org{border-top:4px solid var(--teal)}.v2-vantage-card.ind{border-top:4px solid var(--burgundy)}.v2-vantage-card.org span{color:var(--teal)}.v2-vantage-card.ind span{color:var(--burgundy)}.v2-vantage-q{display:flex;align-items:center;justify-content:center;gap:8px}.v2-vantage-q i{height:1px;flex:1;background:rgba(20,20,22,.18);transform-origin:center;transform:scaleX(0)}.v2-vantage-q img{width:74px}.v2-vantage-q.motion-in i{animation:lineGrow .75s ease .18s forwards}@keyframes lineGrow{to{transform:scaleX(1)}}.v2-method{background:var(--ivory)}.v2-method-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(600px,1.28fr);gap:64px;align-items:center}.v2-method-steps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(20,20,22,.14)}.v2-method-steps article{padding:27px;opacity:.48;transform:translateY(7px);transition:.55s ease}.v2-method-steps article+article{border-left:1px solid rgba(20,20,22,.14)}.v2-method-steps article:nth-child(1){background:rgba(207,198,184,.26)}.v2-method-steps article:nth-child(2){background:rgba(216,154,50,.1)}.v2-method-steps article:nth-child(3){background:rgba(115,128,107,.12)}.v2-method-steps.scene-in article{opacity:1;transform:none}.v2-method-steps.scene-in article:nth-child(2){transition-delay:.13s}.v2-method-steps.scene-in article:nth-child(3){transition-delay:.26s}.v2-method-steps b{font-size:15px;letter-spacing:.06em}.v2-method-steps h3{font-size:21px;margin-top:13px}.v2-method-steps p{font-size:17px}.v2-free-intake{background:var(--blue);color:var(--ivory)}.v2-free-intake p{color:rgba(244,239,230,.88)}.v2-free-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,.95fr);gap:70px;align-items:center}.v2-intake-actions{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(244,239,230,.27)}.v2-intake-actions a{padding:24px;text-decoration:none}.v2-intake-actions a:nth-child(3){grid-column:1/-1;border-top:1px solid rgba(244,239,230,.27)}.v2-intake-actions a+a:not(:nth-child(3)){border-left:1px solid rgba(244,239,230,.27)}.v2-intake-actions b,.v2-intake-actions span{display:block}.v2-intake-actions b{font-size:21px;font-family:"JDQPS Human",Arial,sans-serif;font-weight:400}.v2-intake-actions span{font-size:14px;color:var(--stone);margin-top:8px}.v2-evidence{background:var(--ink);color:var(--ivory)}.v2-evidence p{color:rgba(244,239,230,.84)}.v2-evidence-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(620px,1.2fr);gap:68px;align-items:center}.v2-evidence-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(244,239,230,.24);border-bottom:1px solid rgba(244,239,230,.24)}.v2-evidence-steps>div{padding:22px 18px}.v2-evidence-steps>div+div{border-left:1px solid rgba(244,239,230,.16)}.v2-evidence-steps b,.v2-evidence-steps span,.v2-evidence-steps small{display:block}.v2-evidence-steps b{font-size:18px;color:var(--amber);margin-bottom:9px}.v2-evidence-steps span{font-size:16.5px;font-weight:600}.v2-route-choice{background:var(--ivory)}.v2-route-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(20,20,22,.13)}.v2-route-grid a{padding:30px;text-decoration:none;color:var(--ink)}.v2-route-grid a+a{border-left:1px solid rgba(20,20,22,.13)}.v2-route-grid a:first-child{border-top:4px solid var(--teal)}.v2-route-grid a:last-child{border-top:4px solid var(--burgundy)}.v2-route-grid small,.v2-route-grid span{font-weight:600}.v2-results{background:rgba(207,198,184,.24)}.v2-results-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(650px,1.28fr);gap:60px}.v2-real-results{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(20,20,22,.14)}.v2-real-results article{padding:28px;background:rgba(244,239,230,.7)}.v2-real-results article+article{border-left:1px solid rgba(20,20,22,.14)}.v2-real-results article:first-child{border-top:4px solid var(--teal)}.v2-real-results article:last-child{border-top:4px solid var(--burgundy)}.v2-site-map{background:rgba(115,128,107,.1)}.v2-site-map-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(20,20,22,.14);border-left:1px solid rgba(20,20,22,.14)}.v2-site-map-grid a{padding:24px;text-decoration:none;color:var(--ink);border-right:1px solid rgba(20,20,22,.14);border-bottom:1px solid rgba(20,20,22,.14)}.v2-site-map-grid b,.v2-site-map-grid span{display:block}.v2-site-map-grid b{font-size:18px}.v2-site-map-grid span{font-size:15.5px;margin-top:6px}
/* Engagement journey: architectural path, not six cards. */.v2-journey-section{background:var(--ivory);padding-top:54px!important}.v2-journey{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid rgba(20,20,22,.15);padding-top:24px}.v2-journey .journey-line{position:absolute;top:-1px;left:0;height:2px;width:100%;background:var(--teal);transform:scaleX(0);transform-origin:left}.ind-journey .v2-journey .journey-line{background:var(--burgundy)}.v2-journey.scene-in .journey-line{animation:journeyDraw 1.25s ease forwards}@keyframes journeyDraw{to{transform:scaleX(1)}}.v2-journey>div{padding:0 22px 0 0;opacity:.42;transform:translateY(6px);transition:.5s ease}.v2-journey.scene-in>div{opacity:1;transform:none}.v2-journey.scene-in>div:nth-of-type(2){transition-delay:.08s}.v2-journey.scene-in>div:nth-of-type(3){transition-delay:.16s}.v2-journey.scene-in>div:nth-of-type(4){transition-delay:.24s}.v2-journey.scene-in>div:nth-of-type(5){transition-delay:.32s}.v2-journey.scene-in>div:nth-of-type(6){transition-delay:.40s}.v2-journey b,.v2-journey span,.v2-journey small{display:block}.v2-journey b{font-size:18px;color:var(--teal);margin-bottom:8px}.ind-journey .v2-journey b{color:var(--burgundy)}.v2-journey span{font-size:16px;font-weight:600;line-height:1.35}.v2-journey small{font-size:14.5px;color:rgba(20,20,22,.72);margin-top:7px}
/* How We Work: changing system state. */body[data-version="v2"] .model-shell[data-method-scene]{position:relative;overflow:hidden}body[data-version="v2"] .model-shell[data-method-scene]:before{content:"";position:absolute;left:6%;right:6%;top:50%;height:2px;background:var(--amber);transform:scaleX(0);transform-origin:left;opacity:.85}body[data-version="v2"] .model-shell[data-method-scene].scene-in:before{animation:journeyDraw 1.25s ease forwards}body[data-version="v2"] .model-shell[data-method-scene] .model-stage{transition:transform .55s ease,opacity .55s ease;opacity:.55}body[data-version="v2"] .model-shell[data-method-scene].scene-in .model-stage{opacity:1;transform:translateY(-2px)}body[data-version="v2"] .model-shell[data-method-scene].scene-in .model-stage:nth-child(3){transition-delay:.15s}body[data-version="v2"] .model-shell[data-method-scene].scene-in .model-stage:nth-child(5){transition-delay:.3s}.v2-dts-scene .path-preview-grid>div{transition:.5s ease;opacity:.55}.v2-dts-scene.scene-in .path-preview-grid>div{opacity:1}.v2-dts-scene.scene-in .path-preview-grid>div:nth-child(2){transition-delay:.15s}.v2-dts-scene.scene-in .path-preview-grid>div:nth-child(3){transition-delay:.3s}
/* Human pages without fake portrait placeholders. */body[data-version="v2"] .people-grid{grid-template-columns:1fr 1fr;gap:0;border:1px solid rgba(244,239,230,.2)}body[data-version="v2"] .v2-person-editorial{display:block!important;padding:32px!important;background:transparent!important}body[data-version="v2"] .v2-person-editorial+article{border-left:1px solid rgba(244,239,230,.2)}body[data-version="v2"] .v2-person-editorial .person-copy{padding:0!important}body[data-version="v2"] .v2-person-editorial .person-title{font-size:16px!important;color:var(--stone)}body[data-version="v2"] .founder-linkedin{display:inline-block;margin-top:18px}
/* Contact and footer social. */.v2-contact-social{width:min(calc(100% - 72px),1320px);margin:0 auto 58px;display:flex;gap:12px}.v2-contact-social a{display:inline-flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;border:1px solid rgba(20,20,22,.16);padding:11px 15px}.v2-contact-social svg{width:21px;height:21px;fill:none;stroke:var(--ink);stroke-width:1.5}.v2-contact-social .fill{fill:var(--ink);stroke:none}body[data-version="v2"] .site-footer{background:var(--ink);color:var(--ivory)}body[data-version="v2"] .logo-plate img{width:194px}.footer-social{display:flex;gap:10px;margin-top:15px}.footer-social[hidden]{display:none}.footer-social-icon{width:38px;height:38px!important;margin:0!important;border:1px solid rgba(244,239,230,.28);display:grid!important;place-items:center;border-radius:50%}.footer-social-icon svg{width:19px;height:19px;fill:none;stroke:var(--ivory);stroke-width:1.6}.footer-social-icon .fill{fill:var(--ivory);stroke:none}.footer-signature-sage{display:block!important;margin-top:22px;padding:17px 0 22px;border-top:1px solid rgba(244,239,230,.14);font-family:"JDQPS Human",Arial,sans-serif;font-size:22px;color:var(--sage)!important}body[data-version="v2"] #footerMission{font-size:21px;color:var(--ivory);margin-top:12px}
/* Insights as editorial publication, not card gallery. */body[data-version="v2"] .v2-featured-insight{border:0!important;padding:0!important;display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}body[data-version="v2"] .v2-editorial-insight-list{display:grid!important;grid-template-columns:1fr!important;gap:0!important;border-top:1px solid rgba(20,20,22,.16)}body[data-version="v2"] .v2-editorial-insight-list .insight-card{display:grid!important;grid-template-columns:150px 1fr auto;gap:28px;align-items:center;padding:26px 0!important;border:0!important;border-bottom:1px solid rgba(20,20,22,.16)!important;background:transparent!important}body[data-version="v2"] .v2-editorial-insight-list .insight-card h3{margin:0}body[data-version="v2"] .topic-band{gap:10px}
/* Remaining production microcopy is lifted to a readable V2 floor. */body[data-version="v2"] .impact-center small,body[data-version="v2"] .impact-node,body[data-version="v2"] .careers-constellation span{font-size:14.5px!important;line-height:1.42}body[data-version="v2"] .v2-insight-icon{width:64px;height:64px;object-fit:contain;grid-row:1/-1}body[data-version="v2"] .v2-insight-route-icon{width:82px;height:82px;object-fit:contain;margin-bottom:20px}.footer-signature-sage{display:none}
/* Motion: selected moments cinematic, everything else refined. */body[data-version="v2"] .motion-item{opacity:0;transform:translateY(9px);transition:opacity .62s ease,transform .62s cubic-bezier(.2,.75,.2,1)}body[data-version="v2"] .motion-item.motion-in{opacity:1;transform:none}body[data-version="v2"] [data-parallax="soft"]{transition:transform .1s linear}
@media(max-width:1100px){body[data-version="v2"] .main-nav{gap:13px}body[data-version="v2"] .nav-top{font-size:13px}.v2-home-hero-grid,.v2-split-wide,.v2-method-grid,.v2-evidence-grid,.v2-results-grid{grid-template-columns:1fr 1fr;gap:44px}.v2-home-art>img{max-width:470px}.v2-human-centered{position:static;grid-template-columns:80px repeat(3,1fr);margin-top:8px}.v2-mission-grid{grid-template-columns:130px 1fr}.v2-doctrine{grid-column:1/-1;border-left:0;border-top:1px solid rgba(20,20,22,.14);padding:18px 0 0;grid-template-columns:repeat(3,1fr);gap:18px}.v2-vantage-grid{grid-template-columns:1fr 90px 1fr}.v2-method-steps{grid-template-columns:1fr}.v2-method-steps article+article{border-left:0;border-top:1px solid rgba(20,20,22,.14)}.v2-evidence-steps{grid-template-columns:1fr 1fr}.v2-journey{grid-template-columns:repeat(3,1fr);row-gap:30px}.v2-journey .journey-line{display:none}.v2-site-map-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){body[data-version="v2"] .wrap{width:calc(100% - 38px)}body[data-version="v2"] .header-inner{min-height:78px}body[data-version="v2"] .brand img{width:166px}.v2-context-nav{top:78px}.v2-home-hero-grid,.v2-split-wide,.v2-method-grid,.v2-evidence-grid,.v2-results-grid,.v2-free-grid,.v2-mission-grid{grid-template-columns:1fr}.v2-home-art{min-height:350px}.v2-human-centered{grid-template-columns:72px 1fr}.v2-human-centered span{grid-column:2}.v2-doctrine{grid-template-columns:1fr}.v2-vantage-grid{grid-template-columns:1fr}.v2-vantage-q{min-height:86px}.v2-route-grid,.v2-real-results,.v2-intake-actions,.v2-site-map-grid,body[data-version="v2"] .people-grid{grid-template-columns:1fr}.v2-route-grid a+a,.v2-real-results article+article,.v2-person-editorial+article{border-left:0;border-top:1px solid rgba(20,20,22,.14)}.v2-intake-actions a+a{border-left:0!important;border-top:1px solid rgba(244,239,230,.27)}body[data-version="v2"] .hero-grid,body[data-version="v2"] .split,body[data-version="v2"] .cta-split{grid-template-columns:1fr;gap:36px}body[data-version="v2"] .hero-art{min-height:270px}.v2-journey{grid-template-columns:1fr 1fr}.v2-contact-social{width:calc(100% - 38px)}body[data-version="v2"] .v2-featured-insight{grid-template-columns:1fr}body[data-version="v2"] .v2-editorial-insight-list .insight-card{grid-template-columns:1fr;gap:10px}}
@media(max-width:540px){body[data-version="v2"]{font-size:17px}body[data-version="v2"] p,body[data-version="v2"] li{font-size:17px}body[data-version="v2"] h1{font-size:40px}body[data-version="v2"] h2{font-size:31px}.v2-band,body[data-version="v2"] .editorial-section{padding:50px 0}.v2-home-copy .actions{display:grid;grid-template-columns:1fr}.v2-home-art{min-height:300px}.v2-human-centered{grid-template-columns:64px 1fr}.v2-journey{grid-template-columns:1fr}.v2-evidence-steps{grid-template-columns:1fr}.v2-evidence-steps>div+div{border-left:0;border-top:1px solid rgba(244,239,230,.16)}body[data-version="v2"] .icon-disc{width:82px;height:82px}body[data-version="v2"] .approved-founder-icon{width:58px!important;height:58px!important}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}


/* ============================================================
   JDQPS V2.12 — cinematic systems layer
   Purpose: bring the approved video language into the website
   without changing the approved content architecture.
   ============================================================ */
body[data-version="v2"] .v2-band,
body[data-version="v2"] .editorial-section,
body[data-version="v2"] .hero{position:relative;isolation:isolate;overflow:clip}
body[data-version="v2"] .v2-band>.wrap,
body[data-version="v2"] .editorial-section>.wrap,
body[data-version="v2"] .hero>.wrap{position:relative;z-index:2}

/* Quiet section architecture: one rule + one signal, not decoration everywhere. */
body[data-version="v2"] .v2-band:after,
body[data-version="v2"] .editorial-section:after{content:"";position:absolute;left:max(18px,calc((100% - min(calc(100% - 72px),1320px))/2));top:0;width:44px;height:1px;background:currentColor;opacity:.16;z-index:1}
body[data-version="v2"] .v2-band:nth-of-type(even):after,
body[data-version="v2"] .editorial-section:nth-of-type(even):after{left:auto;right:max(18px,calc((100% - min(calc(100% - 72px),1320px))/2))}

/* First-entry wordmark: supplied asset always remains whole. */
body[data-version="v2"] .brand{overflow:visible}
body[data-version="v2"] .brand:before,
body[data-version="v2"] .brand:after{display:none!important}
body[data-version="v2"] .brand-signal{position:absolute;inset:-18px -28px;pointer-events:none;opacity:0}
body[data-version="v2"] .brand-signal:before{content:"";position:absolute;left:10px;right:10px;top:50%;height:1px;background:var(--stone);transform:scaleX(.1);transform-origin:center;opacity:.45}
body[data-version="v2"] .brand-signal i{position:absolute;width:7px;height:7px;border-radius:50%;opacity:0;transform:scale(.35)}
body[data-version="v2"] .brand-signal i:nth-child(1){left:1%;top:45%;background:var(--teal)}
body[data-version="v2"] .brand-signal i:nth-child(2){left:26%;top:4%;background:var(--amber)}
body[data-version="v2"] .brand-signal i:nth-child(3){left:54%;bottom:1%;background:var(--burgundy)}
body[data-version="v2"] .brand-signal i:nth-child(4){right:18%;top:1%;background:var(--blue)}
body[data-version="v2"] .brand-signal i:nth-child(5){right:0;top:48%;background:var(--sage)}
body[data-version="v2"].v2-first-entry .brand img{animation:v212WholeMark 1.05s cubic-bezier(.2,.72,.2,1) both!important;clip-path:none!important}
body[data-version="v2"].v2-first-entry .brand-signal{animation:v212SignalField 1.05s ease both}
body[data-version="v2"].v2-first-entry .brand-signal:before{animation:v212SignalLine 1.05s ease both}
body[data-version="v2"].v2-first-entry .brand-signal i{animation:v212SignalNode .62s ease both}
body[data-version="v2"].v2-first-entry .brand-signal i:nth-child(2){animation-delay:.08s}
body[data-version="v2"].v2-first-entry .brand-signal i:nth-child(3){animation-delay:.16s}
body[data-version="v2"].v2-first-entry .brand-signal i:nth-child(4){animation-delay:.24s}
body[data-version="v2"].v2-first-entry .brand-signal i:nth-child(5){animation-delay:.32s}
@keyframes v212WholeMark{0%{opacity:.2;transform:translateY(7px) scale(.985)}52%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:1;transform:none}}
@keyframes v212SignalField{0%{opacity:0}18%{opacity:1}78%{opacity:1}100%{opacity:0}}
@keyframes v212SignalLine{0%{transform:scaleX(.1);opacity:0}28%{transform:scaleX(1);opacity:.45}78%{transform:scaleX(1);opacity:.24}100%{transform:scaleX(.82);opacity:0}}
@keyframes v212SignalNode{0%,18%{opacity:0;transform:scale(.35)}48%,78%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.65)}}

/* Approved graphic framing: motion belongs around the asset, never by redrawing it. */
body[data-version="v2"] .v2-approved-graphic,
body[data-version="v2"] .hero-art{position:relative}
body[data-version="v2"] .v2-approved-graphic:before,
body[data-version="v2"] .hero-art:before{content:"";position:absolute;inset:8% 7%;border:1px solid currentColor;border-radius:50%;opacity:.08;transform:scale(.92)}
body[data-version="v2"] .v2-approved-graphic:after,
body[data-version="v2"] .hero-art:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;right:10%;top:18%;background:var(--amber);box-shadow:-315px 205px 0 var(--teal),-120px -22px 0 var(--blue),-26px 268px 0 var(--sage);opacity:.72}
body[data-version="v2"] .motion-in.v2-approved-graphic:before,
body[data-version="v2"] .motion-in.hero-art:before{animation:v212OrbitBreathe 5.4s ease-in-out infinite alternate}
@keyframes v212OrbitBreathe{from{transform:scale(.94) rotate(-1deg);opacity:.06}to{transform:scale(1) rotate(1deg);opacity:.12}}

/* Homepage Humanity Commitment: 15% becomes a system, not bare type. */
.v2-humanity-mini{margin-top:28px;display:grid;grid-template-columns:142px minmax(0,1fr);gap:22px;align-items:center;max-width:650px;text-decoration:none;color:var(--ink);padding:18px 20px 18px 0;border-top:1px solid rgba(20,20,22,.14);border-bottom:1px solid rgba(20,20,22,.14)}
.v2-humanity-mini-graphic{width:132px;height:132px;position:relative;display:grid;place-items:center}
.v2-humanity-mini-graphic svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}
.v2-humanity-mini-graphic .commitment-track{fill:none;stroke:var(--stone);stroke-width:2;opacity:.55}
.v2-humanity-mini-graphic .commitment-seg{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:28 72;stroke-dashoffset:100;transform-origin:90px 90px}
.v2-humanity-mini-graphic .seg-one{stroke:var(--teal)}
.v2-humanity-mini-graphic .seg-two{stroke:var(--amber);transform:rotate(120deg)}
.v2-humanity-mini-graphic .seg-three{stroke:var(--sage);transform:rotate(240deg)}
.v2-humanity-mini-graphic .commitment-spoke{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-dasharray:28;stroke-dashoffset:28;opacity:.46}
.v2-humanity-mini-graphic .commitment-node{opacity:0}
.v2-humanity-mini-graphic .node-a{fill:var(--teal)}
.v2-humanity-mini-graphic .node-b{fill:var(--amber)}
.v2-humanity-mini-graphic .node-c{fill:var(--sage)}
.v2-humanity-mini-total{position:relative;z-index:2;text-align:center;line-height:1}
.v2-humanity-mini-total b{font-family:"JDQPS Human",Arial,sans-serif;font-size:33px;font-weight:600;color:var(--burgundy)}
.v2-humanity-mini-total small{display:block;margin-top:5px;font-size:10px;letter-spacing:.1em;font-weight:600}
.v2-humanity-mini-copy small,.v2-humanity-mini-copy strong,.v2-humanity-mini-copy span{display:block}
.v2-humanity-mini-copy>small{font-size:11px;letter-spacing:.1em;font-weight:600;color:var(--sage);margin-bottom:5px}
.v2-humanity-mini-copy strong{font-family:"JDQPS Human",Arial,sans-serif;font-size:18px;line-height:1.3;font-weight:600}
.v2-humanity-mini-copy>span{font-size:14px;line-height:1.5;margin-top:5px}
.v2-humanity-mini.scene-in .commitment-seg{animation:v212RingDraw 1.15s cubic-bezier(.2,.72,.2,1) forwards}
.v2-humanity-mini.scene-in .seg-two{animation-delay:.12s}.v2-humanity-mini.scene-in .seg-three{animation-delay:.24s}
.v2-humanity-mini.scene-in .commitment-spoke{animation:v212LineDraw .6s ease .42s forwards}
.v2-humanity-mini.scene-in .commitment-node{animation:v212NodeResolve .45s ease .74s forwards}
@keyframes v212RingDraw{to{stroke-dashoffset:0}}
@keyframes v212LineDraw{to{stroke-dashoffset:0}}
@keyframes v212NodeResolve{from{opacity:0;transform:scale(.3);transform-origin:center}to{opacity:1;transform:scale(1)}}

/* Evidence sequence: a live reading path, not four bare numbers. */
.v2-evidence-steps[data-evidence-sequence]{position:relative;padding-top:26px}
.v2-evidence-steps[data-evidence-sequence]:before{content:"";position:absolute;left:12.5%;right:12.5%;top:41px;height:1px;background:rgba(244,239,230,.25)}
.v2-evidence-steps[data-evidence-sequence]:after{content:"";position:absolute;left:12.5%;top:40px;width:75%;height:2px;background:var(--amber);transform:scaleX(0);transform-origin:left}
.v2-evidence-steps[data-evidence-sequence].motion-in:after{animation:journeyDraw 1.25s ease .15s forwards}
.v2-evidence-steps[data-evidence-sequence]>div{position:relative;padding-top:52px!important}
.v2-evidence-steps[data-evidence-sequence]>div:before{content:"";position:absolute;left:50%;top:29px;width:13px;height:13px;border-radius:50%;background:var(--ink);border:3px solid var(--ivory);transform:translate(-50%,-50%) scale(.35);opacity:.2;z-index:2}
.v2-evidence-steps[data-evidence-sequence].motion-in>div:before{animation:v212EvidenceNode .46s ease forwards}
.v2-evidence-steps[data-evidence-sequence].motion-in>div:nth-child(2):before{animation-delay:.22s}.v2-evidence-steps[data-evidence-sequence].motion-in>div:nth-child(3):before{animation-delay:.42s}.v2-evidence-steps[data-evidence-sequence].motion-in>div:nth-child(4):before{animation-delay:.62s}
.v2-evidence-steps[data-evidence-sequence] b{display:inline-grid!important;place-items:center;width:48px;height:48px;border:1px solid rgba(244,239,230,.28);border-radius:50%;font-size:17px!important;margin-bottom:16px}
@keyframes v212EvidenceNode{to{transform:translate(-50%,-50%) scale(1);opacity:1}}

/* Real client metrics become evidence objects. */
.v2-result-system{position:relative}
.v2-result-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0 18px}
.v2-result-metrics>div{position:relative;padding:18px 16px 16px;border-top:1px solid rgba(20,20,22,.18);min-height:132px}
.v2-result-metrics b{display:block;font-family:"JDQPS Human",Arial,sans-serif;font-size:40px;line-height:1;color:var(--teal)}
.v2-result-metrics i{position:absolute;left:16px;right:16px;top:72px;height:2px;background:var(--stone);overflow:hidden}
.v2-result-metrics i:after{content:"";position:absolute;inset:0;background:var(--teal);transform:scaleX(0);transform-origin:left}
.v2-result-metrics small{display:block;margin-top:28px;font-size:13px!important;line-height:1.35}
.v2-result-metrics.scene-in i:after{animation:journeyDraw 1s ease forwards}
.v2-result-metrics.scene-in>div:nth-child(2) i:after{animation-delay:.2s}

/* Full Humanity Commitment scene. */
.v2-impact-orbit{position:relative;min-height:590px;margin-top:32px;border-top:1px solid rgba(244,239,230,.16);border-bottom:1px solid rgba(244,239,230,.16);overflow:hidden}
.v2-impact-orbit-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.v2-impact-orbit-lines .impact-orbit-track{fill:none;stroke:var(--ivory);stroke-width:1;opacity:.13;stroke-dasharray:7 13}
.v2-impact-orbit-lines .impact-orbit-track.inner{opacity:.08}
.v2-impact-orbit-lines .impact-path{fill:none;stroke:var(--amber);stroke-width:2;stroke-dasharray:420;stroke-dashoffset:420}
.v2-impact-orbit-lines .impact-dot{opacity:0}.v2-impact-orbit-lines .dot-one{fill:var(--teal)}.v2-impact-orbit-lines .dot-two{fill:var(--amber)}.v2-impact-orbit-lines .dot-three{fill:var(--sage)}
.v2-impact-core{position:absolute;left:50%;top:50%;width:232px;height:232px;transform:translate(-50%,-50%);display:grid;place-items:center;text-align:center}
.v2-impact-core:before{content:"";position:absolute;inset:0;border:1px solid rgba(244,239,230,.28);border-radius:50%}
.v2-impact-core img{position:absolute;width:104px;height:104px;object-fit:contain;opacity:.16;transform:rotate(-9deg)}
.v2-impact-core>div{position:relative;z-index:2}.v2-impact-core b{display:block;font-family:"JDQPS Human",Arial,sans-serif;font-size:62px;line-height:.9;color:var(--amber)}.v2-impact-core small{display:block;margin-top:10px;font-size:12px;letter-spacing:.13em;color:var(--ivory)}
.v2-impact-node{position:absolute;width:230px;min-height:108px;padding:18px 18px 16px;border-top:1px solid rgba(244,239,230,.3);opacity:.2;transform:translateY(8px)}
.v2-impact-node b,.v2-impact-node span{display:block}.v2-impact-node b{font-family:"JDQPS Human",Arial,sans-serif;font-size:32px;line-height:1}.v2-impact-node span{font-size:15px;line-height:1.35;margin-top:8px}
.v2-impact-node-one{left:50%;top:10px;transform:translateX(-50%) translateY(8px);text-align:center}.v2-impact-node-one b{color:var(--teal)}
.v2-impact-node-two{right:4%;bottom:38px}.v2-impact-node-two b{color:var(--amber)}
.v2-impact-node-three{left:4%;bottom:38px}.v2-impact-node-three b{color:var(--sage)}
.v2-impact-equation-label{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);font-size:11px;letter-spacing:.12em;color:var(--stone);white-space:nowrap}
.v2-impact-orbit.scene-in .impact-path{animation:v212ImpactPath 1.2s cubic-bezier(.2,.72,.2,1) forwards}.v2-impact-orbit.scene-in .path-two{animation-delay:.18s}.v2-impact-orbit.scene-in .path-three{animation-delay:.34s}
.v2-impact-orbit.scene-in .impact-dot{animation:v212NodeResolve .5s ease .72s forwards}.v2-impact-orbit.scene-in .v2-impact-node{animation:v212ImpactLabel .58s ease .66s forwards}.v2-impact-orbit.scene-in .v2-impact-node-two{animation-delay:.82s}.v2-impact-orbit.scene-in .v2-impact-node-three{animation-delay:.98s}
@keyframes v212ImpactPath{to{stroke-dashoffset:0}}@keyframes v212ImpactLabel{to{opacity:1;transform:translateY(0)}}
.v2-impact-orbit.scene-in .v2-impact-node-one{animation-name:v212ImpactTop}
@keyframes v212ImpactTop{to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* Impact pillars: numbered nodes with continuing architecture. */
.impact-pillar-grid[data-pillar-scene]{position:relative;gap:0!important;border-top:1px solid rgba(20,20,22,.16);border-bottom:1px solid rgba(20,20,22,.16)}
.impact-pillar-grid[data-pillar-scene] .impact-pillar{position:relative;padding:34px 34px 38px!important;border:0!important}
.impact-pillar-grid[data-pillar-scene] .impact-pillar+.impact-pillar{border-left:1px solid rgba(20,20,22,.16)!important}
.impact-pillar-grid[data-pillar-scene] .pillar-number{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;margin-bottom:24px;font-size:18px!important;position:relative}
.impact-pillar-grid[data-pillar-scene] .pillar-number:after{content:"";position:absolute;left:100%;top:50%;width:84px;height:1px;background:currentColor;opacity:.28;transform:scaleX(0);transform-origin:left}
.impact-pillar-grid[data-pillar-scene].scene-in .pillar-number:after{animation:journeyDraw .8s ease .2s forwards}
.planet-pillar .pillar-number{color:var(--teal)}.stability-pillar .pillar-number{color:var(--amber)}.belonging-pillar .pillar-number{color:var(--sage)}

/* Organization + Individual engagement journeys: the Q initiates a connected sequence. */
.v2-journey{padding-left:72px!important}
.v2-journey .journey-origin{position:absolute;left:0;top:-28px;width:58px;height:58px;display:grid;place-items:center;background:var(--ivory);z-index:3}
.v2-journey .journey-origin img{width:52px;height:52px;object-fit:contain;transform:scale(.82);opacity:.4}
.v2-journey.scene-in .journey-origin img{animation:v212QResolve .72s cubic-bezier(.2,.72,.2,1) forwards}
.v2-journey>div:not(.journey-origin){position:relative;padding-top:18px!important}
.v2-journey>div:not(.journey-origin):before{content:"";position:absolute;left:0;top:-30px;width:11px;height:11px;border-radius:50%;background:var(--teal);border:3px solid var(--ivory);transform:scale(.35);opacity:.2}
.ind-journey .v2-journey>div:not(.journey-origin):before{background:var(--burgundy)}
.v2-journey.scene-in>div:not(.journey-origin):before{animation:v212JourneyNode .42s ease forwards}
.v2-journey.scene-in>div:nth-of-type(3):before{animation-delay:.12s}.v2-journey.scene-in>div:nth-of-type(4):before{animation-delay:.24s}.v2-journey.scene-in>div:nth-of-type(5):before{animation-delay:.36s}.v2-journey.scene-in>div:nth-of-type(6):before{animation-delay:.48s}.v2-journey.scene-in>div:nth-of-type(7):before{animation-delay:.60s}
@keyframes v212QResolve{to{transform:scale(1);opacity:1}}@keyframes v212JourneyNode{to{transform:scale(1);opacity:1}}

/* How We Work: make Diagnose → Transform → Sustain behave like a changing system. */
body[data-version="v2"] .model-shell[data-method-scene]{padding-top:32px!important}
.v2-model-system{height:150px;position:relative;margin:10px 0 20px;display:grid;place-items:center}
.v2-model-system svg{position:absolute;inset:0;width:100%;height:100%}.v2-model-system .model-flow{fill:none;stroke:var(--amber);stroke-width:2;stroke-dasharray:420;stroke-dashoffset:420}.v2-model-system .model-node{fill:var(--teal);opacity:0}.v2-model-system img{position:relative;width:112px;height:112px;object-fit:contain;opacity:.48;transform:scale(.86) rotate(-4deg)}
.model-shell.scene-in .v2-model-system .model-flow{animation:v212ImpactPath 1.15s ease forwards}.model-shell.scene-in .v2-model-system .flow-two{animation-delay:.18s}.model-shell.scene-in .v2-model-system .model-node{animation:v212NodeResolve .5s ease .55s forwards}.model-shell.scene-in .v2-model-system img{animation:v212ModelQ .9s cubic-bezier(.2,.72,.2,1) .25s forwards}
@keyframes v212ModelQ{to{opacity:1;transform:scale(1) rotate(0)}}
body[data-version="v2"] .model-stages{position:relative;z-index:2}
body[data-version="v2"] .model-stage{position:relative!important;padding-top:26px!important}
body[data-version="v2"] .model-stage span{display:grid!important;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid currentColor;font-size:17px!important;margin-bottom:17px}
body[data-version="v2"] .model-stage.diagnose span{color:var(--blue)}body[data-version="v2"] .model-stage.transform span{color:var(--amber)}body[data-version="v2"] .model-stage.sustain span{color:var(--sage)}
body[data-version="v2"] .model-connector{opacity:.25;transform:translateX(-6px);transition:.5s ease}
body[data-version="v2"] .model-shell.scene-in .model-connector{opacity:1;transform:none}

/* Behavioral science scene straight from the video's operating logic. */
.v2-practice-path{display:grid;grid-template-columns:170px 1fr minmax(320px,.9fr);gap:26px;align-items:center;margin:38px 0 46px;padding:28px 0;border-top:1px solid rgba(244,239,230,.2);border-bottom:1px solid rgba(244,239,230,.2)}
.practice-origin{display:flex;align-items:center;gap:12px}.practice-origin span{font-size:12px;letter-spacing:.1em;font-weight:600}.practice-origin i{width:13px;height:13px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 8px rgba(23,111,115,.16)}
.practice-line{position:relative;height:2px;background:rgba(244,239,230,.18);overflow:visible}.practice-line:before{content:"";position:absolute;inset:0;background:var(--teal);transform:scaleX(0);transform-origin:left}.practice-line span{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;background:var(--sage);transform:translate(-50%,-50%) scale(.25);opacity:0}.practice-line span:nth-child(1){left:28%}.practice-line span:nth-child(2){left:61%}.practice-line span:nth-child(3){left:100%}.practice-outcomes{display:grid;gap:7px}.practice-outcomes b{font-family:"JDQPS Human",Arial,sans-serif;font-size:19px;font-weight:500;opacity:.28;transform:translateX(-7px)}
.v2-practice-path.scene-in .practice-line:before{animation:journeyDraw 1.15s ease forwards}.v2-practice-path.scene-in .practice-line span{animation:v212NodeResolve .42s ease forwards}.v2-practice-path.scene-in .practice-line span:nth-child(1){animation-delay:.3s}.v2-practice-path.scene-in .practice-line span:nth-child(2){animation-delay:.52s}.v2-practice-path.scene-in .practice-line span:nth-child(3){animation-delay:.74s}.v2-practice-path.scene-in .practice-outcomes b{animation:v212PracticeText .5s ease forwards}.v2-practice-path.scene-in .practice-outcomes b:nth-child(1){animation-delay:.28s}.v2-practice-path.scene-in .practice-outcomes b:nth-child(2){animation-delay:.5s}.v2-practice-path.scene-in .practice-outcomes b:nth-child(3){animation-delay:.72s}@keyframes v212PracticeText{to{opacity:1;transform:none}}

/* Bespoke solutions assemble; outcomes resolve into equilibrium. */
.v2-operating-outcome{margin-top:46px;padding:34px 0 6px;border-top:1px solid rgba(20,20,22,.14)}
.outcome-center{display:flex;justify-content:center;align-items:center;gap:18px}.outcome-center span{font-size:12px;letter-spacing:.11em;font-weight:600}.outcome-center img{width:72px;height:72px;object-fit:contain;opacity:.35;transform:scale(.82)}
.outcome-domains{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin:26px 0 28px;border-top:1px solid rgba(20,20,22,.15)}.outcome-domains:before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--amber);transform:scaleX(0);transform-origin:center}.outcome-domains span{position:relative;padding:22px 10px 0;text-align:center;font-size:13px;font-weight:600;opacity:.25;transform:translateY(6px)}.outcome-domains span:before{content:"";position:absolute;top:-6px;left:50%;width:11px;height:11px;border-radius:50%;background:var(--amber);transform:translateX(-50%) scale(.35)}
.outcome-resolution{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;gap:18px;padding:24px 0;border-top:1px solid rgba(20,20,22,.14);text-align:center}.outcome-resolution b{font-family:"JDQPS Human",Arial,sans-serif;font-size:22px;font-weight:500;opacity:.35}.outcome-resolution i{height:1px;background:var(--sage);transform:scaleX(.1)}.outcome-resolution small{grid-column:1/-1;font-size:13px!important;letter-spacing:.04em;color:var(--sage)}
.v2-operating-outcome.scene-in .outcome-center img{animation:v212QResolve .65s ease forwards}.v2-operating-outcome.scene-in .outcome-domains:before{animation:journeyDraw 1.15s ease .15s forwards}.v2-operating-outcome.scene-in .outcome-domains span{animation:v212PracticeText .46s ease forwards}.v2-operating-outcome.scene-in .outcome-domains span:nth-child(1){animation-delay:.22s}.v2-operating-outcome.scene-in .outcome-domains span:nth-child(2){animation-delay:.30s}.v2-operating-outcome.scene-in .outcome-domains span:nth-child(3){animation-delay:.38s}.v2-operating-outcome.scene-in .outcome-domains span:nth-child(4){animation-delay:.46s}.v2-operating-outcome.scene-in .outcome-domains span:nth-child(5){animation-delay:.54s}.v2-operating-outcome.scene-in .outcome-domains span:nth-child(6){animation-delay:.62s}.v2-operating-outcome.scene-in .outcome-domains span:nth-child(7){animation-delay:.70s}.v2-operating-outcome.scene-in .outcome-domains span:before{animation:v212NodeResolve .4s ease .3s forwards}.v2-operating-outcome.scene-in .outcome-resolution b{animation:v212PracticeText .5s ease .88s forwards}.v2-operating-outcome.scene-in .outcome-resolution i{animation:journeyDraw .6s ease .92s forwards}

/* About and Contact receive authored system moments without fake imagery. */
.v2-about-bridge,.v2-contact-close{padding:36px 0!important}
.v2-about-system{min-height:130px;display:grid;grid-template-columns:1fr 1fr 120px 1fr 1fr;align-items:center;gap:20px}
.v2-about-system>div{text-align:center}.v2-about-system small{display:block;font-size:12px;letter-spacing:.11em;font-weight:600}.v2-about-system i{display:block;height:1px;background:var(--stone);margin-top:12px;transform:scaleX(.15)}.v2-about-system img{width:100px;height:100px;object-fit:contain;opacity:.35;transform:scale(.84)}
.v2-about-system.scene-in i{animation:journeyDraw .8s ease forwards}.v2-about-system.scene-in img{animation:v212QResolve .7s ease .25s forwards}
.v2-contact-system{display:grid;grid-template-columns:1fr minmax(100px,1fr) 100px minmax(100px,1fr) 1fr;align-items:center;gap:18px;min-height:120px}.v2-contact-system span{font-size:13px;letter-spacing:.09em;font-weight:600;text-align:center}.v2-contact-system i{height:1px;background:var(--teal);transform:scaleX(.05)}.v2-contact-system img{width:82px;height:82px;object-fit:contain;opacity:.4;transform:scale(.82)}.v2-contact-system.scene-in i{animation:journeyDraw .8s ease forwards}.v2-contact-system.scene-in img{animation:v212QResolve .65s ease .2s forwards}

/* Footer signature must be visible: this is a protected brand close. */
body[data-version="v2"] .footer-signature-sage{display:block!important;color:var(--sage)!important;opacity:1!important;visibility:visible!important}

/* Slightly richer hover logic: relationships respond, not cards floating. */
body[data-version="v2"] .v2-route-grid a,
body[data-version="v2"] .v2-site-map-grid a,
body[data-version="v2"] .v2-vantage-card{transition:border-color .25s ease,background-color .25s ease,color .25s ease}
body[data-version="v2"] .v2-route-grid a:hover,
body[data-version="v2"] .v2-site-map-grid a:hover{border-color:var(--teal)}
body[data-version="v2"] .v2-vantage-card:hover{border-color:currentColor}

@media(max-width:1000px){
  .v2-impact-orbit{min-height:660px}.v2-impact-node-two{right:0}.v2-impact-node-three{left:0}
  .v2-practice-path{grid-template-columns:150px 1fr}.practice-outcomes{grid-column:1/-1;grid-template-columns:repeat(3,1fr);text-align:center}
  .outcome-domains{grid-template-columns:repeat(4,1fr);row-gap:22px}.outcome-domains span:nth-child(n+5){border-top:1px solid rgba(20,20,22,.1)}
}
@media(max-width:800px){
  .v2-humanity-mini{grid-template-columns:116px 1fr}.v2-humanity-mini-graphic{width:108px;height:108px}
  .v2-impact-orbit{min-height:760px}.v2-impact-orbit-lines{opacity:.7}.v2-impact-core{top:45%;width:190px;height:190px}.v2-impact-core b{font-size:52px}.v2-impact-node{width:44%;}.v2-impact-node-one{width:220px;top:14px}.v2-impact-node-two{right:1%;bottom:48px}.v2-impact-node-three{left:1%;bottom:48px}
  .v2-journey{padding-left:0!important}.v2-journey .journey-origin{display:none}.v2-journey>div:not(.journey-origin):before{top:0;left:0}.v2-journey>div:not(.journey-origin){padding-top:26px!important}
  .v2-model-system{height:120px}.v2-model-system img{width:92px;height:92px}
  .v2-practice-path{grid-template-columns:1fr}.practice-line{height:70px;width:2px;margin-left:7px;background:rgba(244,239,230,.18)}.practice-line:before{transform:scaleY(0);transform-origin:top;background:var(--teal)}.v2-practice-path.scene-in .practice-line:before{animation:v212VerticalDraw .8s ease forwards}.practice-line span{left:50%!important;top:auto}.practice-line span:nth-child(1){top:10%}.practice-line span:nth-child(2){top:52%}.practice-line span:nth-child(3){top:100%}.practice-outcomes{grid-template-columns:1fr;text-align:left}
  @keyframes v212VerticalDraw{to{transform:scaleY(1)}}
  .outcome-domains{grid-template-columns:1fr 1fr}.outcome-resolution{grid-template-columns:1fr 40px 1fr}
  .v2-about-system{grid-template-columns:1fr 1fr}.v2-about-system img{grid-column:1/-1;grid-row:1;justify-self:center}.v2-contact-system{grid-template-columns:1fr}.v2-contact-system i{width:1px;height:46px;justify-self:center;transform:scaleY(.05)}.v2-contact-system.scene-in i{animation:v212VerticalDraw .7s ease forwards}
}
@media(max-width:540px){
  .v2-humanity-mini{grid-template-columns:1fr;padding-right:0}.v2-humanity-mini-graphic{width:126px;height:126px}.v2-humanity-mini-copy{max-width:330px}
  .v2-result-metrics{grid-template-columns:1fr}
  .v2-impact-orbit{min-height:820px}.v2-impact-orbit-lines{display:none}.v2-impact-core{top:260px}.v2-impact-node{position:absolute;width:100%;left:0!important;right:0!important;text-align:left!important}.v2-impact-node-one{top:18px;transform:none}.v2-impact-node-two{bottom:112px}.v2-impact-node-three{bottom:18px}.v2-impact-equation-label{display:none}
  .impact-pillar-grid[data-pillar-scene] .impact-pillar+.impact-pillar{border-left:0!important;border-top:1px solid rgba(20,20,22,.16)!important}
  .outcome-domains{grid-template-columns:1fr}.outcome-resolution{grid-template-columns:1fr}.outcome-resolution i{width:70px;justify-self:center}.outcome-resolution small{grid-column:1}
}


/* Editorial labels gain a small reading-direction signal across every route. */
body[data-version="v2"] .kicker{display:flex;align-items:center;gap:11px;max-width:max-content}
body[data-version="v2"] .kicker:after{content:"";display:block;width:34px;height:1px;background:currentColor;opacity:.34;transform:scaleX(.35);transform-origin:left;transition:transform .65s cubic-bezier(.2,.72,.2,1)}
body[data-version="v2"] .motion-in .kicker:after,
body[data-version="v2"] .kicker.motion-in:after{transform:scaleX(1)}

/* Homepage friction scene: visible symptoms converge before the decision. */
.v2-why-visual{display:grid;gap:22px}.v2-friction-rail{padding:18px 0 4px;border-top:1px solid rgba(20,20,22,.14)}
.friction-signals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.friction-signals span{font-size:11px;letter-spacing:.08em;font-weight:600;color:var(--blue);opacity:.28;transform:translateY(5px)}
.friction-line{height:48px;position:relative}.friction-line:before,.friction-line:after{content:"";position:absolute;top:22px;height:1px;background:var(--teal);transform:scaleX(0)}.friction-line:before{left:2%;width:48%;transform-origin:left}.friction-line:after{right:2%;width:48%;transform-origin:right}.friction-line i{position:absolute;top:18px;width:9px;height:9px;border-radius:50%;background:var(--blue);opacity:0;transform:scale(.35)}.friction-line i:nth-child(1){left:15%}.friction-line i:nth-child(2){left:49%}.friction-line i:nth-child(3){right:15%}.friction-line b{position:absolute;left:50%;top:14px;width:18px;height:18px;border-radius:50%;border:2px solid var(--burgundy);background:var(--ivory);transform:translateX(-50%) scale(.4);opacity:0}
.friction-decision{display:grid;grid-template-columns:1fr 1fr;gap:18px}.friction-decision span,.friction-decision strong{font-size:12px;letter-spacing:.06em;padding-top:10px;border-top:1px solid rgba(20,20,22,.12)}.friction-decision span{color:var(--amber)}.friction-decision strong{color:var(--burgundy);font-weight:600}
.v2-friction-rail.scene-in .friction-signals span{animation:v212PracticeText .45s ease forwards}.v2-friction-rail.scene-in .friction-signals span:nth-child(2){animation-delay:.14s}.v2-friction-rail.scene-in .friction-signals span:nth-child(3){animation-delay:.28s}.v2-friction-rail.scene-in .friction-line:before,.v2-friction-rail.scene-in .friction-line:after{animation:journeyDraw .85s ease .3s forwards}.v2-friction-rail.scene-in .friction-line i{animation:v212NodeResolve .4s ease .5s forwards}.v2-friction-rail.scene-in .friction-line i:nth-child(2){animation-delay:.62s}.v2-friction-rail.scene-in .friction-line i:nth-child(3){animation-delay:.74s}.v2-friction-rail.scene-in .friction-line b{animation:v212NodeResolve .5s ease .82s forwards}.v2-friction-rail.scene-in .friction-decision>*{animation:v212PracticeText .5s ease .9s both}

/* Lived System Method: the gap is the system junction, not a middle card. */
.v2-method-steps{position:relative}.v2-method-steps:before{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;background:var(--stone);opacity:.5;z-index:0;transform:scaleX(.2);transform-origin:center}.v2-method-steps.scene-in:before{animation:journeyDraw .9s ease .16s forwards}.v2-method-steps article{position:relative;z-index:1}.v2-method-gap{padding-top:92px!important}.v2-method-gap-q{position:absolute;left:50%;top:18px;width:64px;height:64px;object-fit:contain;transform:translateX(-50%) scale(.75);opacity:.2}.v2-method-steps.scene-in .v2-method-gap-q{animation:v212GapQ .75s cubic-bezier(.2,.72,.2,1) .22s forwards}@keyframes v212GapQ{to{transform:translateX(-50%) scale(1);opacity:1}}

/* Functional numeric values get architectural support without turning pricing into spectacle. */
body[data-version="v2"] .entry-price,
body[data-version="v2"] .reality-price,
body[data-version="v2"] .offer-price,
body[data-version="v2"] .service-price{position:relative;padding:14px 0 14px 52px!important;border-top:1px solid currentColor;border-bottom:1px solid currentColor;max-width:max-content;min-width:210px}
body[data-version="v2"] .entry-price:before,
body[data-version="v2"] .reality-price:before,
body[data-version="v2"] .offer-price:before,
body[data-version="v2"] .service-price:before{content:"";position:absolute;left:10px;top:50%;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;transform:translateY(-50%)}
body[data-version="v2"] .entry-price:after,
body[data-version="v2"] .reality-price:after,
body[data-version="v2"] .offer-price:after,
body[data-version="v2"] .service-price:after{content:"";position:absolute;left:16px;top:50%;width:10px;height:1px;background:currentColor;transform:translateY(-50%)}

/* Hero rules draw with the page instead of sitting as static decoration. */
body[data-version="v2"] .gold-rule{transform:scaleX(.14);transform-origin:left;transition:transform .85s cubic-bezier(.2,.72,.2,1)}
body[data-version="v2"] .hero-copy.motion-in .gold-rule{transform:scaleX(1)}

@media(max-width:800px){.friction-signals{grid-template-columns:1fr}.friction-line{display:none}.friction-decision{grid-template-columns:1fr}.v2-method-gap{padding-top:76px!important}}

/* Evidence metrics and client outcomes: numbers live inside a visual evidence system. */
body[data-version="v2"] .metric-grid{position:relative;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;border-top:1px solid rgba(20,20,22,.16);border-left:1px solid rgba(20,20,22,.16);overflow:hidden}
body[data-version="v2"] .metric-grid>div{position:relative;min-height:150px;padding:28px 20px 22px 84px!important;border-right:1px solid rgba(20,20,22,.16);border-bottom:1px solid rgba(20,20,22,.16)!important;background:transparent!important}
body[data-version="v2"] .metric-grid>div:before{content:"";position:absolute;left:24px;top:31px;width:36px;height:36px;border:1px solid var(--stone);border-radius:50%;transform:scale(.55);opacity:.35}
body[data-version="v2"] .metric-grid>div:after{content:"";position:absolute;left:42px;top:67px;width:1px;height:48px;background:var(--teal);transform:scaleY(0);transform-origin:top}
body[data-version="v2"] .metric-grid b{display:block;font-family:"JDQPS Human",Arial,sans-serif;font-size:31px!important;line-height:1.02;color:var(--teal);font-weight:600;margin:0 0 10px}
body[data-version="v2"] .metric-grid span{display:block;font-size:15.5px!important;line-height:1.42}
body[data-version="v2"] .metric-grid.scene-in>div:before{animation:v212NodeResolve .46s ease forwards}
body[data-version="v2"] .metric-grid.scene-in>div:after{animation:v212MetricStem .6s ease .2s forwards}
body[data-version="v2"] .metric-grid.scene-in>div:nth-child(2):before,body[data-version="v2"] .metric-grid.scene-in>div:nth-child(2):after{animation-delay:.12s}
body[data-version="v2"] .metric-grid.scene-in>div:nth-child(3):before,body[data-version="v2"] .metric-grid.scene-in>div:nth-child(3):after{animation-delay:.24s}
body[data-version="v2"] .metric-grid.scene-in>div:nth-child(4):before,body[data-version="v2"] .metric-grid.scene-in>div:nth-child(4):after{animation-delay:.36s}
body[data-version="v2"] .metric-grid.scene-in>div:nth-child(5):before,body[data-version="v2"] .metric-grid.scene-in>div:nth-child(5):after{animation-delay:.48s}
body[data-version="v2"] .metric-grid.scene-in>div:nth-child(6):before,body[data-version="v2"] .metric-grid.scene-in>div:nth-child(6):after{animation-delay:.60s}
body[data-version="v2"] .metric-grid.scene-in>div:nth-child(7):before,body[data-version="v2"] .metric-grid.scene-in>div:nth-child(7):after{animation-delay:.72s}
body[data-version="v2"] .metric-grid.scene-in>div:nth-child(8):before,body[data-version="v2"] .metric-grid.scene-in>div:nth-child(8):after{animation-delay:.84s}
@keyframes v212MetricStem{to{transform:scaleY(1)}}

body[data-version="v2"] .client-outcomes{position:relative!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;margin-top:28px!important;border-top:1px solid rgba(20,20,22,.16)!important;border-bottom:1px solid rgba(20,20,22,.16)!important}
body[data-version="v2"] .client-outcomes>div{position:relative;padding:28px 18px 20px!important;border:0!important;background:transparent!important}
body[data-version="v2"] .client-outcomes>div+div{border-left:1px solid rgba(20,20,22,.12)!important}
body[data-version="v2"] .client-outcomes>div:before{content:"";display:block;width:11px;height:11px;border-radius:50%;background:var(--teal);margin-bottom:16px;opacity:.22;transform:scale(.4)}
body[data-version="v2"] .client-outcomes b{display:block!important;font-family:"JDQPS Human",Arial,sans-serif;font-size:29px!important;line-height:1.05;color:var(--teal);font-weight:600;margin-bottom:8px!important}
body[data-version="v2"] .client-outcomes span{font-size:14.5px!important;line-height:1.42}
body[data-version="v2"] .client-outcomes.scene-in>div:before{animation:v212NodeResolve .44s ease forwards}
body[data-version="v2"] .client-outcomes.scene-in>div:nth-child(2):before{animation-delay:.12s}body[data-version="v2"] .client-outcomes.scene-in>div:nth-child(3):before{animation-delay:.24s}body[data-version="v2"] .client-outcomes.scene-in>div:nth-child(4):before{animation-delay:.36s}

/* Dense information grids read as operating systems, not commodity cards. */
body[data-version="v2"] .tax-grid,
body[data-version="v2"] .understory-grid{position:relative;border-top:1px solid currentColor;border-left:1px solid currentColor;gap:0!important;opacity:.96}
body[data-version="v2"] .tax-grid>* ,body[data-version="v2"] .understory-grid>*{position:relative;border-right:1px solid currentColor!important;border-bottom:1px solid currentColor!important;padding-top:30px!important}
body[data-version="v2"] .tax-grid>*:before,body[data-version="v2"] .understory-grid>*:before{content:"";position:absolute;left:18px;top:14px;width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.45}
body[data-version="v2"] .understory-grid:after{content:"";position:absolute;left:50%;top:50%;width:70px;height:70px;transform:translate(-50%,-50%);background:url('jdqps-q.webp') center/contain no-repeat;opacity:.09;pointer-events:none}

@media(max-width:900px){body[data-version="v2"] .metric-grid{grid-template-columns:repeat(2,1fr)!important}body[data-version="v2"] .client-outcomes{grid-template-columns:repeat(2,1fr)!important}body[data-version="v2"] .client-outcomes>div:nth-child(3){border-left:0!important;border-top:1px solid rgba(20,20,22,.12)!important}body[data-version="v2"] .client-outcomes>div:nth-child(4){border-top:1px solid rgba(20,20,22,.12)!important}}
@media(max-width:540px){body[data-version="v2"] .metric-grid{grid-template-columns:1fr!important}body[data-version="v2"] .client-outcomes{grid-template-columns:1fr!important}body[data-version="v2"] .client-outcomes>div+div{border-left:0!important;border-top:1px solid rgba(20,20,22,.12)!important}}


/* ================================================================
   JDQPS V2.13 — COMPETITIVE CALIBER EXPERIENCE LAYER
   Layout/content remain JDQPS. This layer adds the authored system,
   pacing, dimensionality, navigation intelligence and motion craft.
   ================================================================ */
:root{--page-p:0;--experience-ease:cubic-bezier(.22,.78,.2,1)}
body[data-version="v2"]{--route-accent:var(--teal);font-size:18.5px;line-height:1.64;background:var(--ivory)}
body[data-version="v2"][data-route="organizations"],body[data-version="v2"][data-route="organization-offerings"],body[data-version="v2"][data-route="organization-intake"]{--route-accent:var(--teal)}
body[data-version="v2"][data-route="individuals"],body[data-version="v2"][data-route="individual-services"],body[data-version="v2"][data-route="individual-intake"],body[data-version="v2"][data-route="danielle"]{--route-accent:var(--burgundy)}
body[data-version="v2"][data-route="how-we-work"],body[data-version="v2"][data-route="insights"],body[data-version="v2"][data-route^="insight-"]{--route-accent:var(--blue)}
body[data-version="v2"][data-route="about"],body[data-version="v2"][data-route="founder"],body[data-version="v2"][data-route="impact"]{--route-accent:var(--amber)}
body[data-version="v2"][data-route="proof"],body[data-version="v2"][data-route="contact"],body[data-version="v2"][data-route="careers"]{--route-accent:var(--sage)}

/* Page continuity + progress. */
body[data-version="v2"] .site-header:after{content:"";position:absolute;left:0;bottom:-1px;width:calc(var(--page-p)*100%);height:2px;background:var(--route-accent);transform-origin:left;z-index:4;pointer-events:none}
body[data-version="v2"] #app{isolation:isolate}
body[data-version="v2"] #app .v2-page,body[data-version="v2"] #app>section{animation:v213RouteIn .56s var(--experience-ease) both}
@keyframes v213RouteIn{from{opacity:.01;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Header: larger first impression, then settles. Whole logo remains intact. */
body[data-version="v2"] .header-inner{min-height:calc(98px - 22px*var(--shell-p));gap:34px}
body[data-version="v2"] .brand img{width:calc(198px - 30px*var(--shell-p))!important;clip-path:none!important;filter:none!important}
body[data-version="v2"] .site-header{box-shadow:0 calc(8px*var(--shell-p)) calc(26px*var(--shell-p)) rgba(20,20,22,calc(.07*var(--shell-p)))}
.brand-signal{position:absolute;left:-18px;top:50%;width:238px;height:88px;transform:translateY(-50%);pointer-events:none;opacity:0}
.brand-signal:before,.brand-signal:after{content:"";position:absolute;left:10px;right:6px;top:50%;height:1px;background:var(--stone);transform:scaleX(0);transform-origin:left;opacity:.65}
.brand-signal:after{left:74px;right:38px;background:var(--teal);opacity:.8}
.brand-signal i{position:absolute;width:8px;height:8px;border-radius:50%;opacity:0;transform:scale(.25)}
.brand-signal i:nth-child(1){left:8px;top:39px;background:var(--teal)}.brand-signal i:nth-child(2){left:68px;top:18px;background:var(--amber)}.brand-signal i:nth-child(3){left:118px;top:58px;background:var(--burgundy)}.brand-signal i:nth-child(4){left:170px;top:25px;background:var(--blue)}.brand-signal i:nth-child(5){right:4px;top:48px;background:var(--sage)}
body[data-version="v2"].v2-first-entry .brand img{animation:v213BrandResolve 1.05s var(--experience-ease) both!important}
body[data-version="v2"].v2-first-entry .brand-signal{opacity:1;animation:v213SignalFade 1.18s ease both}
body[data-version="v2"].v2-first-entry .brand-signal:before{animation:v213LineResolve .72s var(--experience-ease) .08s forwards}
body[data-version="v2"].v2-first-entry .brand-signal:after{animation:v213LineResolve .58s var(--experience-ease) .28s forwards}
body[data-version="v2"].v2-first-entry .brand-signal i{animation:v213NodeResolve .36s var(--experience-ease) forwards}
body[data-version="v2"].v2-first-entry .brand-signal i:nth-child(2){animation-delay:.12s}body[data-version="v2"].v2-first-entry .brand-signal i:nth-child(3){animation-delay:.22s}body[data-version="v2"].v2-first-entry .brand-signal i:nth-child(4){animation-delay:.32s}body[data-version="v2"].v2-first-entry .brand-signal i:nth-child(5){animation-delay:.42s}
@keyframes v213BrandResolve{0%{opacity:0;transform:translateY(4px) scale(.985)}45%{opacity:1}100%{opacity:1;transform:none}}
@keyframes v213SignalFade{0%,10%{opacity:0}25%,75%{opacity:1}100%{opacity:0}}
@keyframes v213LineResolve{to{transform:scaleX(1)}}
@keyframes v213NodeResolve{to{opacity:1;transform:scale(1)}}

/* Higher clarity nav, without turning social into primary navigation. */
body[data-version="v2"] .main-nav{gap:22px}body[data-version="v2"] .nav-top{font-size:14.2px;letter-spacing:.045em}
body[data-version="v2"] .nav-menu{padding:10px 12px;border-top:2px solid var(--route-accent)}
body[data-version="v2"] .nav-menu a{font-size:14.5px;padding:10px 11px}
body[data-version="v2"] .start-btn{min-height:42px;display:inline-flex;align-items:center;padding:0 18px}

/* Context rail becomes actual in-page wayfinding. */
body[data-version="v2"] .v213-context-nav{top:calc(98px - 22px*var(--shell-p));box-shadow:0 8px 18px rgba(20,20,22,.035)}
body[data-version="v2"] .v213-context-nav .wrap{gap:24px;padding-top:12px;padding-bottom:12px}
body[data-version="v2"] .v213-context-nav a{position:relative;font-size:14.5px;padding:3px 0}
body[data-version="v2"] .v213-context-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--route-accent);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
body[data-version="v2"] .v213-context-nav a:hover:after,body[data-version="v2"] .v213-context-nav a.is-current:after{transform:scaleX(1)}

/* Canvas + type: use the space, but do not become billboard-sized. */
body[data-version="v2"] .wrap{width:min(calc(100% - 84px),1380px)}
body[data-version="v2"] h1{font-size:clamp(46px,4.8vw,64px);line-height:1.04;letter-spacing:-.018em}
body[data-version="v2"] h2{font-size:clamp(33px,3.15vw,46px);line-height:1.08;letter-spacing:-.02em}
body[data-version="v2"] h3{font-size:clamp(23px,2vw,30px);line-height:1.13}
body[data-version="v2"] p,body[data-version="v2"] li{font-size:18.5px;line-height:1.64}
body[data-version="v2"] .lede,body[data-version="v2"] .large-copy{font-size:21px;line-height:1.55}
body[data-version="v2"] small{font-size:15.5px;line-height:1.48}
body[data-version="v2"] .kicker{font-size:14px;letter-spacing:.115em}
body[data-version="v2"] .editorial-section,body[data-version="v2"] .v2-band{position:relative;padding:76px 0}
body[data-version="v2"] .editorial-section:after,body[data-version="v2"] .v2-band:after{content:"";position:absolute;left:50%;bottom:0;width:min(calc(100% - 84px),1380px);height:1px;background:currentColor;opacity:.07;transform:translateX(-50%)}
body[data-version="v2"] .split{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:88px;align-items:start}
body[data-version="v2"] .cta-split{gap:84px}.section-intro{max-width:1040px}

/* Shared hero: every page gets an authored systems stage around the approved asset. */
body[data-version="v2"] .hero{padding:54px 0 52px;overflow:visible}
body[data-version="v2"] .hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(440px,.98fr);gap:82px;align-items:center}
body[data-version="v2"] .hero-copy{max-width:790px}
body[data-version="v2"] .hero-art,body[data-version="v2"] .v2-home-art{position:relative;min-height:430px;isolation:isolate;overflow:visible}
body[data-version="v2"] .hero-art>img,body[data-version="v2"] .v2-home-art>img{position:relative;z-index:3;filter:none}
.v213-stage{position:absolute;inset:-8% -8% -4% -8%;z-index:1;pointer-events:none;color:var(--route-accent)}
.v213-stage svg{width:100%;height:100%;overflow:visible}.v213-stage .ring{fill:none;stroke:currentColor;stroke-width:1;opacity:.12;transform-origin:center}.v213-stage .ring.r2{stroke:var(--stone);opacity:.24}.v213-stage .path{fill:none;stroke:currentColor;stroke-width:1.4;stroke-dasharray:520;stroke-dashoffset:520;opacity:.62}.v213-stage .path.alt{stroke:var(--amber);opacity:.5}.v213-stage .node{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.25)}.v213-stage .n1{fill:var(--teal)}.v213-stage .n2{fill:var(--amber)}.v213-stage .n3{fill:var(--burgundy)}.v213-stage .n4{fill:var(--blue)}.v213-stage .n5{fill:var(--sage)}
.v213-stage-labels{position:absolute;inset:0;font-family:"JDQPS Human Text",Arial,sans-serif;font-size:12.5px;letter-spacing:.09em;font-weight:600;text-transform:uppercase;color:var(--ink)}.v213-stage-labels span{position:absolute;padding:6px 8px;background:rgba(244,239,230,.88);border-top:1px solid currentColor;opacity:0;transform:translateY(5px)}.v213-stage-labels span:nth-child(1){left:2%;top:25%}.v213-stage-labels span:nth-child(2){right:0;top:18%}.v213-stage-labels span:nth-child(3){right:3%;bottom:20%}
.v213-stage.scene-in .path{animation:v213Path 1.15s var(--experience-ease) forwards}.v213-stage.scene-in .path.alt{animation-delay:.18s}.v213-stage.scene-in .node{animation:v213NodeResolve .42s var(--experience-ease) .55s forwards}.v213-stage.scene-in .node.n2{animation-delay:.66s}.v213-stage.scene-in .node.n3{animation-delay:.76s}.v213-stage.scene-in .node.n4{animation-delay:.86s}.v213-stage.scene-in .node.n5{animation-delay:.96s}.v213-stage.scene-in .ring.r1{animation:v213RingBreath 5.8s ease-in-out infinite alternate}.v213-stage.scene-in .ring.r2{animation:v213RingBreath 7.2s ease-in-out .4s infinite alternate-reverse}.v213-stage.scene-in .v213-stage-labels span{animation:v213TextResolve .5s ease .72s forwards}.v213-stage.scene-in .v213-stage-labels span:nth-child(2){animation-delay:.84s}.v213-stage.scene-in .v213-stage-labels span:nth-child(3){animation-delay:.96s}
@keyframes v213Path{to{stroke-dashoffset:0}}@keyframes v213RingBreath{from{transform:rotate(-1deg) scale(.99)}to{transform:rotate(1deg) scale(1.01)}}@keyframes v213TextResolve{to{opacity:1;transform:none}}

/* Home hero: approved graphic is the star; scaffold creates the cinematic environment. */
.v2-home-hero{padding:48px 0 58px;background:linear-gradient(110deg,var(--ivory) 0 69%,rgba(207,198,184,.43) 69% 100%)}
.v2-home-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr);gap:84px}
.v2-home-intro{max-width:820px}.v2-home-intro p{font-size:18.5px;line-height:1.64}.v2-home-copy .actions{margin-top:28px}
.v2-home-art>img{width:min(100%,590px);max-height:455px}.v2-human-centered{bottom:-18px;grid-template-columns:108px repeat(3,1fr);gap:18px;z-index:5}.v2-human-centered img{width:100px;height:100px}.v2-human-centered span{font-size:15.5px;padding-top:11px}

/* Humanity commitment: no bare percentage. Graphic, allocation and meaning move together. */
.v2-humanity-mini{grid-template-columns:160px minmax(0,1fr);gap:24px;max-width:720px;padding:18px 0;border-color:rgba(20,20,22,.18)}
.v2-humanity-mini-graphic{width:148px;height:148px}.v2-humanity-mini-total b{font-size:38px}.v2-humanity-mini-total small{font-size:11px}
.v2-humanity-mini-copy>small{font-size:12px}.v2-humanity-mini-copy strong{font-size:20px}.v2-humanity-mini-copy>span{font-size:15px}
.v213-pillar-key{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:14px;border-top:1px solid rgba(20,20,22,.13)}.v213-pillar-key i{font-style:normal;padding:9px 10px 0 0;opacity:.28;transform:translateY(5px)}.v213-pillar-key b,.v213-pillar-key em{display:block}.v213-pillar-key b{font-family:"JDQPS Human",Arial,sans-serif;font-size:17px;color:var(--route-accent)}.v213-pillar-key i:nth-child(2) b{color:var(--amber)}.v213-pillar-key i:nth-child(3) b{color:var(--sage)}.v213-pillar-key em{font-style:normal;font-size:11.5px;line-height:1.3;margin-top:3px}.v2-humanity-mini.scene-in .v213-pillar-key i{animation:v213TextResolve .45s ease .82s forwards}.v2-humanity-mini.scene-in .v213-pillar-key i:nth-child(2){animation-delay:.94s}.v2-humanity-mini.scene-in .v213-pillar-key i:nth-child(3){animation-delay:1.06s}

/* Mission becomes a compact brand doctrine scene rather than three loose labels. */
.v2-mission{background:rgba(207,198,184,.22)}.v2-mission-grid{grid-template-columns:190px minmax(0,1fr) minmax(390px,.9fr);gap:56px}.v2-q-stage{width:162px;height:162px}.v2-q-stage img{width:122px}.v2-q-stage:after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:-67px -25px 0 var(--teal),62px -10px 0 var(--blue),-36px 64px 0 var(--burgundy),45px 58px 0 var(--sage);transform:translate(-50%,-50%);opacity:.7}.v2-doctrine{padding-left:34px;gap:0}.v2-doctrine>div{padding:13px 0;border-bottom:1px solid rgba(20,20,22,.12)}.v2-doctrine>div:first-child{border-top:1px solid rgba(20,20,22,.12)}.v2-doctrine b{font-size:18.5px}

/* Why: visual remains approved, but evidence becomes an active system. */
.v2-split-wide{grid-template-columns:minmax(0,.9fr) minmax(540px,1.1fr);gap:92px}.v213-system-visual{position:relative}.v2-why-visual{padding:34px 0}.v2-why-visual:before{content:"";position:absolute;inset:3% -4%;border-top:1px solid rgba(20,20,22,.12);border-bottom:1px solid rgba(20,20,22,.12);pointer-events:none}.v2-approved-graphic img{width:min(100%,590px);max-height:440px}.v2-friction-rail{margin-top:18px;padding:20px 0 0}.friction-signals span{font-size:13px}.friction-decision span,.friction-decision strong{font-size:14px;line-height:1.4}

/* Two vantage points read as one architecture, not two cards. */
.v2-vantage{background:rgba(207,198,184,.19)}.v2-vantage-grid{grid-template-columns:minmax(0,1fr) 160px minmax(0,1fr);align-items:stretch;border-top:1px solid rgba(20,20,22,.13);border-bottom:1px solid rgba(20,20,22,.13)}.v2-vantage-card{border:0!important;background:transparent;padding:34px 36px 38px;position:relative}.v2-vantage-card:before{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:var(--teal);transition:width .5s var(--experience-ease)}.v2-vantage-card.ind:before{background:var(--burgundy)}.v2-vantage-card:hover:before{width:100%}.v2-vantage-card.org{border-right:1px solid rgba(20,20,22,.1)!important}.v2-vantage-card.ind{border-left:1px solid rgba(20,20,22,.1)!important}.v2-vantage-card h3{font-size:27px}.v2-vantage-q{position:relative;gap:14px}.v2-vantage-q:before,.v2-vantage-q:after{content:"";position:absolute;border:1px solid rgba(20,20,22,.12);border-radius:50%;width:122px;height:122px}.v2-vantage-q:after{width:92px;height:92px;border-color:rgba(23,111,115,.22)}.v2-vantage-q img{width:90px;position:relative;z-index:2}.v2-vantage-q i{background:var(--route-accent)}

/* Lived System Method becomes one continuum. */
.v2-method-grid{grid-template-columns:minmax(0,.66fr) minmax(680px,1.34fr);gap:78px}.v2-method-steps{border:0!important;border-top:1px solid rgba(20,20,22,.16)!important;border-bottom:1px solid rgba(20,20,22,.16)!important;position:relative;overflow:visible}.v2-method-steps:after{content:"";position:absolute;left:7%;right:7%;top:50%;height:2px;background:linear-gradient(90deg,var(--stone),var(--amber),var(--sage));opacity:.7;transform:scaleX(0);transform-origin:left}.v2-method-steps.scene-in:after{animation:v213LineResolve 1.1s var(--experience-ease) .2s forwards}.v2-method-steps article{background:transparent!important;border:0!important;padding:34px 28px 38px!important}.v2-method-steps article+article{border-left:1px solid rgba(20,20,22,.11)!important}.v2-method-gap{padding-top:108px!important}.v2-method-gap-q{width:76px;height:76px;top:22px}.v2-method-steps h3{font-size:23px}.v2-method-steps b{font-size:16px}

/* Intake is a signal junction, not a CTA box. */
.v2-free-intake{background:var(--blue)}.v2-free-grid{grid-template-columns:minmax(0,.78fr) minmax(640px,1.22fr);gap:82px}.v2-intake-actions{border:0!important;border-top:1px solid rgba(244,239,230,.3)!important;border-bottom:1px solid rgba(244,239,230,.3)!important;position:relative}.v2-intake-actions:before{content:"";position:absolute;left:-54px;top:50%;width:42px;height:42px;background:url('jdqps-q.webp') center/contain no-repeat;filter:none;opacity:.9;transform:translateY(-50%) scale(.8)}.v2-intake-actions:after{content:"";position:absolute;left:-26px;top:50%;width:26px;height:1px;background:var(--amber);transform-origin:left;transform:scaleX(0)}.v2-intake-actions.scene-in:after{animation:v213LineResolve .55s ease .2s forwards}.v2-intake-actions a{padding:28px 26px}.v2-intake-actions b{font-size:23px}.v2-intake-actions span{font-size:15px}

/* Evidence sequence gains an unmistakable visual reading path. */
.v2-evidence-grid{grid-template-columns:minmax(0,.68fr) minmax(700px,1.32fr);gap:86px}.v2-evidence-steps{border-top:0!important;border-bottom:0!important}.v2-evidence-steps[data-evidence-sequence]:before{top:49px}.v2-evidence-steps[data-evidence-sequence]:after{top:48px;height:3px}.v2-evidence-steps[data-evidence-sequence]>div{padding:68px 22px 24px!important}.v2-evidence-steps[data-evidence-sequence]>div+div{border-left:0!important}.v2-evidence-steps[data-evidence-sequence]>div:after{content:"";position:absolute;left:50%;top:48px;width:30px;height:30px;border:1px solid rgba(244,239,230,.22);border-radius:50%;transform:translate(-50%,-50%) scale(.5);opacity:.2}.v2-evidence-steps.motion-in>div:after{animation:v213NodeResolve .45s var(--experience-ease) .4s forwards}.v2-evidence-steps b{font-size:19px!important}.v2-evidence-steps span{font-size:17.5px!important}.v2-evidence-steps small{font-size:15px!important}

/* Real proof: percentages are evidence dials, not bare numerals. */
.v2-results-grid{grid-template-columns:minmax(0,.62fr) minmax(760px,1.38fr);gap:72px}.v2-real-results{border:0!important;border-top:1px solid rgba(20,20,22,.15)!important;border-bottom:1px solid rgba(20,20,22,.15)!important}.v2-real-results article{background:transparent!important;padding:34px 32px}.v2-real-results article+article{border-left:1px solid rgba(20,20,22,.14)}.v2-result-metrics{gap:24px}.v2-result-metrics>div{min-height:170px;padding:18px 0!important;border-top:0!important}.v2-result-metrics b{width:94px;height:94px;border-radius:50%;border:1px solid rgba(23,111,115,.36);display:grid;place-items:center;position:relative;font-size:31px}.v2-result-metrics b:before{content:"";position:absolute;inset:7px;border-radius:50%;border:2px solid var(--route-accent);border-right-color:transparent;transform:rotate(-38deg)}.v2-result-metrics b:after{content:"";position:absolute;right:-9px;top:40px;width:9px;height:9px;border-radius:50%;background:var(--amber)}.v2-result-metrics i{left:110px;right:0;top:64px;height:1px}.v2-result-metrics small{margin:10px 0 0 110px;font-size:14.5px!important;max-width:180px}

/* Generic grids/cards are flattened into editorial systems. */
body[data-version="v2"] .offer-card,body[data-version="v2"] .reality-card,body[data-version="v2"] .individual-service,body[data-version="v2"] .decision-card,body[data-version="v2"] .evidence-pillar,body[data-version="v2"] .choice-card,body[data-version="v2"] .client-story,body[data-version="v2"] .person-card{border-radius:0!important;box-shadow:none!important}
body[data-version="v2"] .offer-preview-grid,body[data-version="v2"] .reality-grid,body[data-version="v2"] .path-preview-grid,body[data-version="v2"] .website-map-grid,body[data-version="v2"] .belief-grid{gap:0!important;border-top:1px solid rgba(20,20,22,.15);border-left:1px solid rgba(20,20,22,.15)}
body[data-version="v2"] .offer-preview-grid>*,body[data-version="v2"] .reality-grid>*,body[data-version="v2"] .path-preview-grid>*,body[data-version="v2"] .website-map-grid>*,body[data-version="v2"] .belief-grid>*{border:0!important;border-right:1px solid rgba(20,20,22,.15)!important;border-bottom:1px solid rgba(20,20,22,.15)!important;background:transparent!important;padding:28px!important;position:relative}
body[data-version="v2"] .offer-preview-grid>*:before,body[data-version="v2"] .reality-grid>*:before,body[data-version="v2"] .path-preview-grid>*:before,body[data-version="v2"] .website-map-grid>*:before,body[data-version="v2"] .belief-grid>*:before{content:"";position:absolute;left:28px;top:0;width:36px;height:3px;background:var(--route-accent)}

/* Journeys: numbers, Q origin and a route-colored path carry the story. */
.v2-journey-section{padding-top:62px!important}.v2-journey{padding-left:88px!important;padding-top:38px;border-top:0!important}.v2-journey .journey-line{top:22px;height:3px;background:var(--route-accent)}.v2-journey .journey-origin{width:70px;height:70px;top:-12px}.v2-journey .journey-origin img{width:62px;height:62px}.v2-journey>div:not(.journey-origin){padding:34px 24px 0 0!important}.v2-journey>div:not(.journey-origin):before{top:16px;width:14px;height:14px;background:var(--route-accent)!important}.v2-journey b{display:inline-grid!important;place-items:center;width:48px;height:48px;border:1px solid currentColor;border-radius:50%;font-size:18px!important;margin-bottom:13px}.v2-journey span{font-size:17px}.v2-journey small{font-size:15px}

/* How We Work: make the model the page's cinematic anchor. */
body[data-version="v2"] .model-section{padding-top:88px;padding-bottom:94px;background:linear-gradient(180deg,var(--ivory),rgba(207,198,184,.16))}
body[data-version="v2"] .model-shell{position:relative;padding:40px 44px 34px!important;border-top:1px solid rgba(20,20,22,.16)!important;border-bottom:1px solid rgba(20,20,22,.16)!important;border-left:0!important;border-right:0!important;background:transparent!important;overflow:hidden}
body[data-version="v2"] .model-shell:before{content:"";position:absolute;left:50%;top:50%;width:470px;height:470px;border:1px solid rgba(49,95,120,.12);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
body[data-version="v2"] .v2-model-system{height:190px}.v2-model-system img{width:124px;height:124px}.v2-model-system:before,.v2-model-system:after{height:2px;background:var(--blue)}.v2-model-system .model-node{width:14px;height:14px}
body[data-version="v2"] .model-stages{gap:0!important;border-top:1px solid rgba(20,20,22,.13)}body[data-version="v2"] .model-stage{padding:30px 28px!important;background:transparent!important}body[data-version="v2"] .model-stage+.model-stage{border-left:1px solid rgba(20,20,22,.13)}body[data-version="v2"] .model-stage span{width:64px;height:64px;font-size:19px!important}.v2-practice-path{padding:34px 0;margin:44px 0 54px}.practice-line{height:3px}.practice-outcomes b{font-size:21px}.outcome-center img{width:88px;height:88px}.outcome-domains span{font-size:14.5px;padding-top:26px}.outcome-resolution b{font-size:25px}

/* All meaningful metrics get an orbit/datum treatment. */
body[data-version="v2"] .metric-grid{border:0!important;border-top:1px solid rgba(20,20,22,.16)!important;border-bottom:1px solid rgba(20,20,22,.16)!important;grid-template-columns:repeat(4,1fr)!important}
body[data-version="v2"] .metric-grid>div{min-height:190px;padding:30px 24px 26px!important;border:0!important;border-right:1px solid rgba(20,20,22,.14)!important;background:transparent!important}
body[data-version="v2"] .metric-grid>div:nth-child(4n){border-right:0!important}
body[data-version="v2"] .metric-grid>div:before{left:24px;top:28px;width:74px;height:74px;border-color:var(--route-accent);opacity:.42}
body[data-version="v2"] .metric-grid>div:after{left:61px;top:102px;height:52px;background:var(--route-accent)}
body[data-version="v2"] .metric-grid b{position:relative;z-index:2;font-size:30px!important;min-height:74px;display:flex;align-items:center;padding-left:14px;color:var(--route-accent)}
body[data-version="v2"] .metric-grid span{font-size:16px!important;padding-left:0;margin-top:18px}
body[data-version="v2"] .client-outcomes{border-top:1px solid rgba(20,20,22,.16)!important;border-bottom:1px solid rgba(20,20,22,.16)!important}.client-outcomes>div{min-height:150px!important}.client-outcomes b{font-size:31px!important;color:var(--route-accent)!important}.client-outcomes>div:before{width:18px!important;height:18px!important;box-shadow:0 0 0 8px rgba(23,111,115,.08)}

/* Impact: the 15% scene now visually explains the fixed allocation. */
.v2-impact-orbit{min-height:680px;margin-top:42px;background:radial-gradient(circle at center,rgba(216,154,50,.08),transparent 36%)}.v2-impact-core{width:260px;height:260px}.v2-impact-core:before{border-width:2px;border-color:rgba(244,239,230,.34)}.v2-impact-core:after{content:"";position:absolute;inset:-20px;border-radius:50%;background:conic-gradient(var(--teal) 0 29deg,transparent 29deg 120deg,var(--amber) 120deg 149deg,transparent 149deg 240deg,var(--sage) 240deg 269deg,transparent 269deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#141416 0);mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#141416 0);opacity:.9;transform:rotate(-18deg)}.v2-impact-core b{font-size:68px}.v2-impact-node{width:260px;padding-top:20px}.v2-impact-node b{font-size:36px}.v2-impact-node span{font-size:16px}.impact-pillar-grid[data-pillar-scene] .pillar-number{width:72px;height:72px;font-size:20px!important}

/* Insights as publication. */
body[data-version="v2"] .v2-featured-insight{grid-template-columns:minmax(0,.8fr) minmax(540px,1.2fr);gap:76px;border-top:1px solid rgba(20,20,22,.14)!important;border-bottom:1px solid rgba(20,20,22,.14)!important;padding:38px 0!important}.v2-featured-insight .insight-art{min-height:350px;display:grid;place-items:center}.v2-featured-insight .insight-art img{width:min(100%,600px)}body[data-version="v2"] .v2-editorial-insight-list .insight-card{grid-template-columns:120px 1fr 180px;gap:34px;padding:34px 0!important}.v2-insight-icon{width:82px!important;height:82px!important}

/* About / people: strong human editorial presentation without fabricated photography. */
body[data-version="v2"] .people-grid{gap:0!important;border-top:1px solid rgba(244,239,230,.22);border-bottom:1px solid rgba(244,239,230,.22)}body[data-version="v2"] .person-card{border:0!important;background:transparent!important;grid-template-columns:1fr!important;padding:34px 34px 38px!important}.person-card+.person-card{border-left:1px solid rgba(244,239,230,.2)!important}.person-copy{padding:0!important}.person-copy h3{font-size:36px}.person-title{font-size:16px!important}.v2-about-system img{width:120px;height:120px}.v2-about-system small{font-size:13.5px}

/* Footer: unmistakable close. */
body[data-version="v2"] .site-footer{padding-top:64px}.footer-grid{gap:42px}.footer-grid b{font-size:14px;letter-spacing:.08em}.footer-grid a{font-size:15px;line-height:1.5}.footer-social-icon{width:44px!important;height:44px!important}.footer-social-icon svg{width:21px;height:21px}.footer-signature-sage{font-size:25px!important;letter-spacing:-.01em;margin-top:28px!important;padding:22px 0 28px!important;color:var(--sage)!important}.logo-plate img{width:208px!important}

/* Meaningful hover: reveal the system, never float generic cards. */
body[data-version="v2"] .v2-site-map-grid a,body[data-version="v2"] .offer-preview-grid>*,body[data-version="v2"] .reality-grid>*{transition:background-color .28s ease,color .28s ease,border-color .28s ease}
body[data-version="v2"] .v2-site-map-grid a:hover,body[data-version="v2"] .offer-preview-grid>*:hover,body[data-version="v2"] .reality-grid>*:hover{background:rgba(23,111,115,.055)!important}

/* Refined reveal: slightly more depth than a basic fade. */
body[data-version="v2"] .motion-item{opacity:0;transform:none;filter:none;transition:opacity .72s ease}
body[data-version="v2"] .motion-item.motion-in{opacity:1;transform:none;filter:none}

@media(max-width:1180px){
 body[data-version="v2"] .main-nav{gap:14px}body[data-version="v2"] .nav-top{font-size:13px}.v2-home-hero-grid,.v2-split-wide,.v2-method-grid,.v2-evidence-grid,.v2-results-grid{gap:48px}.v2-home-hero-grid{grid-template-columns:1fr 1fr}.v2-home-art>img{max-width:500px}.v2-mission-grid{grid-template-columns:150px 1fr}.v2-doctrine{grid-column:1/-1;border-left:0;padding-left:0;grid-template-columns:repeat(3,1fr);display:grid;border-top:1px solid rgba(20,20,22,.13)}.v2-doctrine>div{padding-right:18px}.v2-free-grid{grid-template-columns:1fr 1fr}.v2-evidence-grid{grid-template-columns:.8fr 1.2fr}.v2-results-grid{grid-template-columns:.72fr 1.28fr}
}
@media(max-width:900px){
 body[data-version="v2"] .wrap{width:calc(100% - 42px)}body[data-version="v2"] .header-inner{min-height:80px}.brand-signal{display:none}body[data-version="v2"] .brand img{width:172px!important}.v213-context-nav{top:80px!important}.v2-home-hero{background:var(--ivory)}.v2-home-hero-grid,.v2-split-wide,.v2-method-grid,.v2-evidence-grid,.v2-results-grid,.v2-free-grid,.v2-mission-grid{grid-template-columns:1fr}.v2-home-art,.hero-art{min-height:360px}.v213-stage{inset:-5%}.v213-stage-labels span{display:none}.v2-human-centered{position:static;margin-top:8px;grid-template-columns:96px 1fr}.v2-human-centered span{grid-column:2}.v2-humanity-mini{max-width:none}.v2-vantage-grid{grid-template-columns:1fr}.v2-vantage-card.org,.v2-vantage-card.ind{border:0!important}.v2-vantage-q{min-height:120px}.v2-method-steps{grid-template-columns:1fr}.v2-method-steps article+article{border-left:0!important;border-top:1px solid rgba(20,20,22,.12)!important}.v2-method-steps:after{left:36px;right:auto;top:7%;bottom:7%;width:2px;height:auto;background:linear-gradient(var(--stone),var(--amber),var(--sage));transform:scaleY(0);transform-origin:top}.v2-method-steps.scene-in:after{animation:v213VerticalResolve 1s var(--experience-ease) .2s forwards}.v2-method-gap{padding-top:34px!important}.v2-method-gap-q{position:static;transform:none!important;margin:0 0 16px}.v2-intake-actions:before,.v2-intake-actions:after{display:none}.v2-evidence-steps{grid-template-columns:1fr 1fr}.v2-results-grid{grid-template-columns:1fr}.v2-real-results{grid-template-columns:1fr}.v2-real-results article+article{border-left:0;border-top:1px solid rgba(20,20,22,.14)}.v2-journey{grid-template-columns:1fr 1fr;padding-left:0!important}.v2-journey .journey-origin,.v2-journey .journey-line{display:none}.v2-journey>div:not(.journey-origin):before{top:8px;left:0}.metric-grid{grid-template-columns:repeat(2,1fr)!important}.v2-featured-insight{grid-template-columns:1fr!important}.person-card+.person-card{border-left:0!important;border-top:1px solid rgba(244,239,230,.2)!important}
 @keyframes v213VerticalResolve{to{transform:scaleY(1)}}
}
@media(max-width:560px){
 body[data-version="v2"]{font-size:17.5px}body[data-version="v2"] p,body[data-version="v2"] li{font-size:17.5px}body[data-version="v2"] h1{font-size:40px}body[data-version="v2"] h2{font-size:31px}body[data-version="v2"] .editorial-section,body[data-version="v2"] .v2-band{padding:54px 0}.v2-home-hero{padding-top:36px}.v2-home-art,.hero-art{min-height:300px}.v213-stage{opacity:.82}.v2-humanity-mini{grid-template-columns:132px 1fr;gap:16px}.v2-humanity-mini-graphic{width:124px;height:124px}.v213-pillar-key{grid-template-columns:1fr}.v213-pillar-key i{padding-top:7px}.v2-human-centered{grid-template-columns:80px 1fr}.v2-human-centered img{width:78px;height:78px}.v2-evidence-steps{grid-template-columns:1fr}.v2-journey{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr!important}.v2-result-metrics{grid-template-columns:1fr}.v2-impact-orbit{min-height:840px}.v2-impact-core{width:210px;height:210px}.v2-impact-core b{font-size:56px}.footer-signature-sage{font-size:22px!important}
}


/* ================================================================
   V2.13 FINAL CALIBRATION — readability, brand purity, scroll craft
   ================================================================ */
body[data-version="v2"]{--soft:var(--stone)}
body[data-version="v2"] .brand:before,
body[data-version="v2"] .brand:after{display:none!important}

/* Prevent inherited legacy colors from entering the V2 experience. */
body[data-version="v2"] .lede,
body[data-version="v2"] .hero-orientation p:not(.lede),
body[data-version="v2"] .dark-behavioral span,
body[data-version="v2"] .client-type,
body[data-version="v2"] .careers-form small,
body[data-version="v2"] .faq-item button,
body[data-version="v2"] .form-grid label,
body[data-version="v2"] .page-subnav a{color:rgba(20,20,22,.76)!important}
body[data-version="v2"] .client-logo-plate,
body[data-version="v2"] .inline-client-logo,
body[data-version="v2"] .careers-form input[type=file]{background:var(--ivory)!important}





/* Small support copy remains genuinely readable. */
body[data-version="v2"] .v2-humanity-mini-total small,
body[data-version="v2"] .v2-humanity-mini-copy>small,
body[data-version="v2"] .v213-pillar-key em,
body[data-version="v2"] .v213-stage-labels,
body[data-version="v2"] .v2-impact-core small,
body[data-version="v2"] .v2-impact-equation-label,
body[data-version="v2"] .practice-origin span,
body[data-version="v2"] .outcome-center span,
body[data-version="v2"] .v2-about-system small,
body[data-version="v2"] .v2-contact-system span,
body[data-version="v2"] .friction-signals span{font-size:14px!important;line-height:1.38}
body[data-version="v2"] .v2-humanity-mini-copy>span,
body[data-version="v2"] .v2-journey small,
body[data-version="v2"] .client-outcomes span{font-size:15.5px!important}

/* Approved visual assets receive enough physical presence to matter. */
body[data-version="v2"] .approved-founder-icon{width:86px!important;height:86px!important}
body[data-version="v2"] .icon-disc{width:108px!important;height:108px!important}
body[data-version="v2"] .icon-disc svg{width:60px!important;height:60px!important}
body[data-version="v2"] .v2-insight-icon{width:88px!important;height:88px!important}

/* Scroll choreography: systems evolve as the reader moves through them. */
body[data-version="v2"] .v213-stage .r1{transform-origin:315px 250px;transform:rotate(calc((var(--scene-p,0) - .5)*7deg));transition:transform .12s linear}
body[data-version="v2"] .v213-stage .r2{transform-origin:315px 250px;transform:rotate(calc((.5 - var(--scene-p,0))*10deg));transition:transform .12s linear}
body[data-version="v2"] .v213-stage-labels span:first-child{transform:translateY(calc((1 - var(--scene-p,0))*7px))}
body[data-version="v2"] .v213-stage-labels span:nth-child(2){transform:translateY(calc((1 - var(--scene-p,0))*4px))}
body[data-version="v2"] .v213-stage-labels span:nth-child(3){transform:translateY(calc((1 - var(--scene-p,0))*2px))}
body[data-version="v2"] .v2-vantage-q img{transform:rotate(calc((var(--scene-p,0) - .5)*6deg)) scale(calc(.96 + var(--scene-p,0)*.04))}
body[data-version="v2"] .v2-method-gap-q{transform:translate(-50%,calc(-50% + (1 - var(--scene-p,0))*7px)) rotate(calc((var(--scene-p,0) - .5)*5deg))}
body[data-version="v2"] .v2-impact-core{transform:translate(-50%,-50%) scale(calc(.94 + var(--scene-p,0)*.06))}
body[data-version="v2"] .v2-impact-core:after{transform:rotate(calc(-24deg + var(--scene-p,0)*12deg))}
body[data-version="v2"] .v2-friction-rail .friction-line b{transform:scale(calc(.72 + var(--scene-p,0)*.28))}
body[data-version="v2"] .v2-journey .journey-origin img{transform:scale(calc(.9 + var(--scene-p,0)*.1)) rotate(calc((var(--scene-p,0) - .5)*4deg))}

/* The 15% commitment should read as a living allocation system, not a number badge. */
body[data-version="v2"] .v2-humanity-mini{position:relative;overflow:visible}
body[data-version="v2"] .v2-humanity-mini:after{content:"";position:absolute;left:148px;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--teal),var(--amber),var(--sage));transform:scaleX(var(--scene-p,0));transform-origin:left;opacity:.48}
body[data-version="v2"] .v2-humanity-mini-graphic{filter:drop-shadow(0 10px 22px rgba(20,20,22,.04))}
body[data-version="v2"] .v2-humanity-mini-total b{font-size:42px!important;letter-spacing:-.035em}
body[data-version="v2"] .v213-pillar-key i{border-left:1px solid rgba(20,20,22,.1);padding-left:10px!important}
body[data-version="v2"] .v213-pillar-key i:first-child{border-left:0;padding-left:0!important}

/* Impact allocation stays visually connected after the introductory animation. */
body[data-version="v2"] .v2-impact-orbit-lines{transform:rotate(calc((var(--scene-p,0) - .5)*2deg));transform-origin:50% 50%}
body[data-version="v2"] .v2-impact-node{transform:translateY(calc((1 - var(--scene-p,0))*8px))}
body[data-version="v2"] .v2-impact-node-one{transform:translate(-50%,calc((1 - var(--scene-p,0))*8px))}

/* Fuller use of the canvas without oversized typography. */
body[data-version="v2"] .hero-grid,
body[data-version="v2"] .split,
body[data-version="v2"] .cta-split{column-gap:clamp(48px,6vw,96px)}
body[data-version="v2"] .section-intro{max-width:980px}
body[data-version="v2"] .hero-copy{max-width:760px}
body[data-version="v2"] .v2-copy{max-width:780px}

@media(max-width:900px){
 body[data-version="v2"] .approved-founder-icon{width:76px!important;height:76px!important}
 body[data-version="v2"] .icon-disc{width:96px!important;height:96px!important}
 body[data-version="v2"] .icon-disc svg{width:54px!important;height:54px!important}
 body[data-version="v2"] .v2-humanity-mini:after{left:0}
}


/* Final type hierarchy guardrails: labels support the text instead of disappearing. */
body[data-version="v2"] .offer-top{font-size:16px!important;line-height:1.3}
body[data-version="v2"] .v2-result-metrics small,
body[data-version="v2"] .friction-decision span,
body[data-version="v2"] .friction-decision strong,
body[data-version="v2"] .outcome-domains span,
body[data-version="v2"] .outcome-resolution small{font-size:14.5px!important;line-height:1.42}
body[data-version="v2"] .v2-doctrine small,
body[data-version="v2"] .context-label{font-size:14px!important}


/* ==========================================================
   JDQPS V2.14 — targeted final refinements only
   ========================================================== */

/* 1. Approved graphics remain completely clean. The motion system may reveal the asset,
   but no generated rings, dots, labels, or framing are allowed over approved artwork. */
body[data-version="v2"] .v214-clean-approved:before,
body[data-version="v2"] .v214-clean-approved:after,
body[data-version="v2"] .v2-approved-graphic:before,
body[data-version="v2"] .v2-approved-graphic:after{display:none!important;content:none!important}
body[data-version="v2"] .v214-clean-approved .v213-stage{display:none!important}
body[data-version="v2"] .v214-clean-approved img,
body[data-version="v2"] .v2-approved-graphic img{filter:none!important;box-shadow:none!important}
body[data-version="v2"] .v2-why-visual:before{display:none!important;content:none!important}

/* 3. Remove the former humanity icon without introducing a replacement image. */
body[data-version="v2"] .v214-human-principles{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
body[data-version="v2"] .v214-human-principles span{font-size:14px;font-weight:600;border-top:1px solid rgba(20,20,22,.15);padding-top:9px}
body[data-version="v2"] .v214-text-only-icon-unit{padding-top:18px!important}
body[data-version="v2"] .v214-text-only-icon-unit h4{margin-top:0!important}

/* 2. Insights: retain the editorial system, but bring the reading measure back under control. */
body[data-version="v2"][data-route="insights"] #app .wrap{width:min(calc(100% - 72px),1160px)}
body[data-version="v2"][data-route="insights"] #app .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:54px}
body[data-version="v2"][data-route="insights"] #app .hero-art{min-height:340px}
body[data-version="v2"][data-route="insights"] #app .hero-art-img{width:min(100%,460px)}
body[data-version="v2"][data-route="insights"] #app .topic-band{max-width:1080px;margin-inline:auto}
body[data-version="v2"][data-route="insights"] #app .v2-featured-insight{grid-template-columns:minmax(0,1fr) minmax(400px,.9fr);gap:48px;max-width:1080px;margin-inline:auto}
body[data-version="v2"][data-route="insights"] #app .v2-featured-insight .insight-art{min-height:300px}
body[data-version="v2"][data-route="insights"] #app .v2-featured-insight .insight-art img{width:min(100%,480px)}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list{max-width:1080px;margin:24px auto 0}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card{grid-template-columns:96px minmax(0,1fr) 150px;gap:26px;padding:28px 0!important}
body[data-version="v2"][data-route="insights"] #app .v2-insight-icon{width:70px!important;height:70px!important}

/* 4. Daniel Burke: qualitative growth progression using only approved outcome language. */
.v214-growth-path{position:relative;margin:20px 0 22px;padding:18px 0 0}
.v214-growth-line{position:absolute;left:7%;right:7%;top:27px;height:1px;background:rgba(20,20,22,.16);overflow:visible}
.bg-teal .v214-growth-line,.bg-burgundy .v214-growth-line,.bg-sage .v214-growth-line,.bg-blue .v214-growth-line,.bg-ink .v214-growth-line{background:rgba(244,239,230,.26)}
.v214-growth-line:before{content:"";position:absolute;inset:0;background:currentColor;transform:scaleX(0);transform-origin:left;color:var(--burgundy)}
.v214-growth-line i{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;background:var(--burgundy);transform:translate(-50%,-50%) scale(.35);opacity:.25}
.v214-growth-line i:nth-child(1){left:0}.v214-growth-line i:nth-child(2){left:33.333%}.v214-growth-line i:nth-child(3){left:66.666%}.v214-growth-line i:nth-child(4){left:100%}
.v214-growth-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-top:24px}
.v214-growth-steps>div{padding-top:12px;opacity:.62;transform:translateY(5px)}
.v214-growth-steps b,.v214-growth-steps span,.v214-growth-steps small{display:block}
.v214-growth-steps b{font-family:"JDQPS Human",Arial,sans-serif;font-size:15px;color:var(--burgundy);font-weight:600}
.v214-growth-steps span{font-family:"JDQPS Human",Arial,sans-serif;font-size:17px;font-weight:600;margin-top:5px}
.v214-growth-steps small{font-size:14.5px;line-height:1.4;margin-top:5px;color:inherit;opacity:.78}
.v214-growth-path.scene-in .v214-growth-line:before{animation:v213LineResolve 1s var(--experience-ease) forwards}
.v214-growth-path.scene-in .v214-growth-line i{animation:v213NodeResolve .38s var(--experience-ease) .18s forwards}
.v214-growth-path.scene-in .v214-growth-line i:nth-child(2){animation-delay:.34s}.v214-growth-path.scene-in .v214-growth-line i:nth-child(3){animation-delay:.5s}.v214-growth-path.scene-in .v214-growth-line i:nth-child(4){animation-delay:.66s}
.v214-growth-path.scene-in .v214-growth-steps>div{animation:v213TextResolve .42s ease .28s forwards}.v214-growth-path.scene-in .v214-growth-steps>div:nth-child(2){animation-delay:.42s}.v214-growth-path.scene-in .v214-growth-steps>div:nth-child(3){animation-delay:.56s}.v214-growth-path.scene-in .v214-growth-steps>div:nth-child(4){animation-delay:.7s}
.v2-real-results article .v214-growth-path{margin-top:14px}.v2-real-results article .v214-growth-steps small{font-size:13.5px}.v2-real-results article .v214-growth-steps span{font-size:15.5px}

/* 12. Legacy Lander mark remains until the new Wellness Village logo is supplied. */
.v214-client-logo-inline{width:150px;min-height:62px;display:grid;place-items:center;margin:0 0 14px;background:var(--ivory);border:1px solid rgba(20,20,22,.12);padding:8px 10px}
.v214-client-logo-inline img{max-width:100%;max-height:58px;object-fit:contain}
.v214-inline-lander-logo{display:inline-grid;place-items:center;background:var(--ivory);border:1px solid rgba(20,20,22,.12);padding:10px 12px;margin-bottom:17px}
.v214-inline-lander-logo img{width:180px;max-height:82px;object-fit:contain}

/* 5. Footer doctrine order: signature first, then Humanity by Design. */
body[data-version="v2"] .footer-grid>div:first-child{display:flex;flex-direction:column;align-items:flex-start}
body[data-version="v2"] .footer-signature-sage.footer-signature-inline{order:2;margin:14px 0 2px!important;padding:0!important;border:0!important;font-size:23px!important;color:var(--sage)!important}
body[data-version="v2"] #footerMission{order:3;margin-top:6px!important}
body[data-version="v2"] .footer-social{order:4}
body[data-version="v2"] .logo-plate{order:1}

/* 6 + 10. Page-relative Explore rail: normal in document flow until it reaches the header,
   then sticky while the page continues to scroll; it releases naturally when scrolling back above it. */
body[data-version="v2"][data-route="organizations"] .v2-context-nav,
body[data-version="v2"][data-route="individuals"] .v2-context-nav,
body[data-version="v2"][data-route="how-we-work"] .v2-context-nav{position:sticky!important;top:calc(98px - 22px*var(--shell-p))!important;z-index:900;align-self:start}

/* 7. Price marker is a datum (circle + dot), never a minus / clickable-looking symbol. */
body[data-version="v2"] .entry-price:after,
body[data-version="v2"] .reality-price:after,
body[data-version="v2"] .offer-price:after,
body[data-version="v2"] .service-price:after{left:18px!important;width:6px!important;height:6px!important;border-radius:50%!important;background:currentColor!important}

/* 9. Investment page scale corrections. */
body[data-version="v2"][data-route="pricing"] .pricing-pair strong{font-family:"JDQPS Human",Arial,sans-serif!important;font-size:39px!important;font-weight:400!important;letter-spacing:-.02em}
body[data-version="v2"][data-route="pricing"] .pricing-pair b{font-family:"JDQPS Human",Arial,sans-serif!important;font-size:25px!important;font-weight:500!important}
body[data-version="v2"][data-route="pricing"] .pricing-pair span{font-size:16.5px!important}
body[data-version="v2"][data-route="pricing"] .org-price-grid b{font-family:"JDQPS Human",Arial,sans-serif!important;font-size:24px!important;font-weight:500!important;line-height:1.25}
body[data-version="v2"][data-route="pricing"] .org-price-grid strong{font-family:"JDQPS Human",Arial,sans-serif!important;font-size:20px!important;font-weight:500!important;line-height:1.3;margin-top:8px!important}
body[data-version="v2"][data-route="pricing"] .org-price-grid span{font-size:16px!important;line-height:1.4;margin-top:6px}
body[data-version="v2"][data-route="pricing"] .org-price-grid>div{padding:24px 22px!important}

/* 11. Mission & Impact: simplified 15% allocation graphic. */
body[data-version="v2"][data-route="impact"] #app .humanity-commitment .wrap{width:min(calc(100% - 72px),1180px)}
.v214-impact-allocation{position:relative;margin-top:36px;padding:36px 28px 30px;border-top:1px solid rgba(244,239,230,.2);border-bottom:1px solid rgba(244,239,230,.2)}
.v214-impact-total{display:flex;align-items:center;justify-content:center;gap:22px;min-height:126px}
.v214-impact-total img{width:92px;height:92px;object-fit:contain;filter:brightness(0) invert(1);opacity:.92}
.v214-impact-total b,.v214-impact-total small{display:block}.v214-impact-total b{font-family:"JDQPS Human",Arial,sans-serif;font-size:62px;font-weight:500;line-height:.95;color:var(--amber)}.v214-impact-total small{font-size:14px;letter-spacing:.12em;margin-top:8px;color:var(--stone)}
.v214-impact-branch{position:relative;height:54px;max-width:820px;margin:0 auto}.v214-impact-branch span{position:absolute;left:16.666%;right:16.666%;top:26px;height:1px;background:rgba(244,239,230,.28);transform:scaleX(0);transform-origin:center}.v214-impact-branch:before{content:"";position:absolute;left:50%;top:0;height:26px;width:1px;background:rgba(244,239,230,.28)}.v214-impact-branch i{position:absolute;top:26px;height:28px;width:1px;background:rgba(244,239,230,.28)}.v214-impact-branch i:nth-of-type(1){left:16.666%}.v214-impact-branch i:nth-of-type(2){left:50%}.v214-impact-branch i:nth-of-type(3){left:83.333%}
.v214-impact-points{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:920px;margin:0 auto}.v214-impact-points>div{text-align:center;padding:18px 18px 4px;opacity:.55;transform:translateY(6px)}.v214-impact-points b,.v214-impact-points span{display:block}.v214-impact-points b{font-family:"JDQPS Human",Arial,sans-serif;font-size:31px;font-weight:500}.v214-impact-points>div:nth-child(1) b{color:var(--teal)}.v214-impact-points>div:nth-child(2) b{color:var(--amber)}.v214-impact-points>div:nth-child(3) b{color:var(--sage)}.v214-impact-points span{font-size:16px;line-height:1.35;margin-top:7px}
.v214-impact-equation-label{text-align:center;font-size:13px;letter-spacing:.1em;color:var(--stone);margin-top:30px}
.v214-impact-allocation.scene-in .v214-impact-branch span{animation:v213LineResolve .85s var(--experience-ease) .18s forwards}.v214-impact-allocation.scene-in .v214-impact-points>div{animation:v213TextResolve .42s ease .44s forwards}.v214-impact-allocation.scene-in .v214-impact-points>div:nth-child(2){animation-delay:.58s}.v214-impact-allocation.scene-in .v214-impact-points>div:nth-child(3){animation-delay:.72s}

@media(max-width:900px){
  body[data-version="v2"][data-route="insights"] #app .wrap,body[data-version="v2"][data-route="impact"] #app .humanity-commitment .wrap{width:calc(100% - 42px)}
  body[data-version="v2"][data-route="insights"] #app .hero-grid,body[data-version="v2"][data-route="insights"] #app .v2-featured-insight{grid-template-columns:1fr!important}
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card{grid-template-columns:80px 1fr;gap:18px}
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card>a{grid-column:2}
  .v214-human-principles{position:static!important;margin-top:8px;grid-template-columns:repeat(3,1fr)!important}
  .v214-growth-steps{grid-template-columns:1fr 1fr}.v214-growth-line{display:none}
}
@media(max-width:600px){
  .v214-human-principles{grid-template-columns:1fr!important}
  .v214-growth-steps{grid-template-columns:1fr}.v214-growth-steps>div{border-top:1px solid rgba(20,20,22,.14);padding-top:12px}
  .v214-impact-total{flex-direction:column;gap:12px}.v214-impact-total img{width:78px;height:78px}.v214-impact-total b{font-size:54px}
  .v214-impact-branch{display:none}.v214-impact-points{grid-template-columns:1fr}.v214-impact-points>div{border-top:1px solid rgba(244,239,230,.18)}
}

/* V2.14 post-QA tightening. */
body[data-version="v2"] .footer-signature-sage.footer-signature-inline.wrap{width:auto!important;max-width:none!important;margin:14px 0 2px!important}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list{display:grid!important;grid-template-columns:1fr!important;gap:0!important;border-top:1px solid rgba(20,20,22,.14)}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card{display:grid!important;border:0!important;border-bottom:1px solid rgba(20,20,22,.14)!important;min-height:0!important;align-items:center}
@media(max-width:900px){
  body[data-version="v2"][data-route="organizations"] .v2-context-nav,
  body[data-version="v2"][data-route="individuals"] .v2-context-nav,
  body[data-version="v2"][data-route="how-we-work"] .v2-context-nav{top:80px!important}
}


/* ================================================================
   JDQPS V2.15 — LOCKED REFINEMENTS ONLY
   ================================================================ */

/* 1. Explore bars: normal flow until reached, then lock beneath live header. */
body[data-version="v2"] .v2-context-nav.v215-stick-enabled{position:relative!important;top:auto!important;left:auto;right:auto;width:auto;z-index:840}
body[data-version="v2"] .v215-context-placeholder{height:0;display:none}
body[data-version="v2"] .v215-context-placeholder.is-active{display:block}
body[data-version="v2"] .v2-context-nav.v215-stick-enabled.is-stuck{position:fixed!important;left:0!important;right:0!important;width:100%!important;z-index:990!important;background:rgba(244,239,230,.985);box-shadow:0 10px 24px rgba(20,20,22,.07);backdrop-filter:blur(10px)}

/* 2. Mission & Impact: make each 5% allocation a dominant figure. */
body[data-version="v2"][data-route="impact"] .v214-impact-points b{font-size:clamp(56px,5vw,72px)!important;line-height:.92!important;font-weight:500!important;letter-spacing:-.025em}
body[data-version="v2"][data-route="impact"] .v214-impact-points span:not([data-count]){font-size:17px!important;margin-top:12px!important}

/* 3. Insights: icon | complete editorial story | action. */
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list{max-width:980px!important;margin:30px auto 0!important}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card{grid-template-columns:92px minmax(0,1fr) 132px!important;gap:30px!important;padding:34px 0!important;align-items:center!important}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy{min-width:0;max-width:690px}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy .kicker{margin-bottom:7px}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy h3{margin:0 0 8px!important;font-size:clamp(24px,2.1vw,30px)!important;line-height:1.13!important;overflow-wrap:normal!important;word-break:normal!important}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy p{margin:0!important;max-width:660px;font-size:17px!important;line-height:1.55!important;overflow-wrap:normal!important;word-break:normal!important}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card>a{justify-self:end;align-self:center;margin:0!important;font-size:14px!important;white-space:nowrap}

@media(max-width:800px){
 body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card{grid-template-columns:76px minmax(0,1fr)!important;gap:18px!important}
 body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card>a{grid-column:2!important;justify-self:start!important;margin-top:7px!important}
 body[data-version="v2"][data-route="impact"] .v214-impact-points b{font-size:54px!important}
}
@media(max-width:540px){
 body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list{margin-top:22px!important}
 body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card{grid-template-columns:64px minmax(0,1fr)!important;gap:15px!important;padding:28px 0!important}
 body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v2-insight-icon{width:58px!important;height:58px!important}
 body[data-version="v2"][data-route="impact"] .v214-impact-points b{font-size:52px!important}
}


/* ================================================================
   JDQPS V2.16 — LOCKED: THREE CORRECTIONS ONLY
   1) Explore rail locks to viewport top.
   2) 5% renders as one dominant figure.
   3) Insights rows use a stable editorial flex structure.
   ================================================================ */

/* 1. Explore rail: when reached, pin to the absolute top of the user's viewport. */
body[data-version="v2"] .v2-context-nav.v215-stick-enabled.is-stuck{
  top:0!important;
  z-index:1200!important;
}

/* 2. Mission & Impact: keep the animated 5 and percent sign together at the SAME scale. */
body[data-version="v2"][data-route="impact"] .v214-impact-points b{
  display:inline-flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  font-size:clamp(68px,6.2vw,92px)!important;
  line-height:.9!important;
  font-weight:500!important;
  letter-spacing:-.035em!important;
}
body[data-version="v2"][data-route="impact"] .v214-impact-points b > span[data-count]{
  display:inline!important;
  font:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
  margin:0!important;
}
body[data-version="v2"][data-route="impact"] .v214-impact-points > div > span:not([data-count]){
  display:block!important;
  font-size:17px!important;
  line-height:1.35!important;
  margin-top:16px!important;
}

/* 3. Insights: each perspective is one stable row — icon | complete story | action. */
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list{
  width:min(100%,980px)!important;
  max-width:980px!important;
  margin:30px auto 0!important;
}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:30px!important;
  width:100%!important;
  padding:34px 0!important;
  min-height:0!important;
  border:0!important;
  border-bottom:1px solid rgba(20,20,22,.14)!important;
  background:transparent!important;
}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v2-insight-icon{
  flex:0 0 92px!important;
  width:92px!important;
  height:92px!important;
  object-fit:contain!important;
}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy{
  display:block!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy .kicker,
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy h3,
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy p{
  display:block!important;
  width:auto!important;
  max-width:680px!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy .kicker{
  margin:0 0 7px!important;
}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy h3{
  margin:0 0 8px!important;
  font-size:clamp(24px,2.1vw,30px)!important;
  line-height:1.13!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy p{
  margin:0!important;
  font-size:17px!important;
  line-height:1.55!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card > a{
  flex:0 0 132px!important;
  width:132px!important;
  margin:0!important;
  align-self:center!important;
  text-align:right!important;
  font-size:14px!important;
  white-space:nowrap!important;
}

@media(max-width:800px){
  body[data-version="v2"][data-route="impact"] .v214-impact-points b{font-size:64px!important}
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card{
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:18px!important;
    align-items:start!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v2-insight-icon{
    width:68px!important;height:68px!important;grid-column:1!important;grid-row:1 / span 2!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy{
    grid-column:2!important;grid-row:1!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card > a{
    grid-column:2!important;grid-row:2!important;width:auto!important;text-align:left!important;justify-self:start!important;margin-top:7px!important;
  }
}
@media(max-width:540px){
  body[data-version="v2"][data-route="impact"] .v214-impact-points b{font-size:60px!important}
}

/* ================================================================
   JDQPS V2.17 — LOCKED: RESPONSIVE PARITY ONLY
   1) Motion triggers consistently across desktop, tablet, and mobile.
      (Observer timing lives in app.js; no breakpoint suppresses V2 motion.)
   2) Mobile text/layout guard prevents narrow grid columns from breaking
      words into letter-by-letter stacks while preserving all content/actions.
   3) Home Lived System Method mobile pathway shifts left of the copy.
   ================================================================ */

/* 2. Mobile rendering parity: text must read as normal words and every
   content block must have enough horizontal measure to remain legible. */
@media(max-width:640px){
  body[data-version="v2"] #app *,
  body[data-version="v2"] #app *::before,
  body[data-version="v2"] #app *::after{
    box-sizing:border-box;
    min-width:0;
  }

  body[data-version="v2"] #app :is(h1,h2,h3,h4,h5,h6,p,li,a,span,b,strong,small,label,blockquote){
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
  }

  body[data-version="v2"] #app :is(
    .thesis-layout,.lived-panels,.choice-grid,.offer-preview-grid,.exec-grid,
    .engagement-models,.full-offer,.architecture-grid,.three-evidence,
    .reality-grid,.path-preview-grid,.review-list,.individual-service,
    .understory-grid,.humanity-grid,.consequence-flow,.lifecycle-grid,
    .principle-grid,.metric-grid,.pricing-pair,.org-price-grid,.process-4,
    .contact-color-grid,.topic-band,.brand-doctrine-mini,.belief-grid,
    .model-paths,.impact-pillar-grid,.career-fit-grid,.career-upload-grid,
    .team-growth-note,.v2-evidence-steps,.v2-journey,.v214-growth-steps,
    .v214-impact-points,.outcome-domains,.outcome-resolution,
    .v2-about-system,.v2-contact-system
  ){
    grid-template-columns:minmax(0,1fr)!important;
  }

  body[data-version="v2"] #app :is(.full-offer,.individual-service) > *{
    grid-column:1!important;
    width:100%;
    max-width:none;
  }

  body[data-version="v2"] #app :is(.offer-invest,.service-price){
    grid-column:1!important;
    max-width:100%!important;
  }

  body[data-version="v2"] #app .topic-band span{
    text-align:left;
    border-right:0;
    border-bottom:1px solid rgba(244,239,230,.22);
  }

  /* 3. Lived System Method: keep the animated vertical pathway clear of copy. */
  body[data-version="v2"][data-route="home"] .v2-method-steps:after{
    left:16px!important;
  }
}


/* ================================================================
   JDQPS V2.18 — LOCKED: FOUR CORRECTIONS ONLY
   1) Cross-device motion parity is enforced in app.js.
   2) Final mobile cascade guard prevents late desktop grids from
      collapsing copy into letter-by-letter columns.
   3) Organizations final band now uses Clarity Blue (content source).
   4) Organization/Individual Explore rails stay consistent on child routes.
   ================================================================ */

/* 2. Mobile: final cascade authority. Late desktop composition rules must
   never win over the phone layout. Same content, same actions, readable flow. */
@media(max-width:800px){
  body[data-version="v2"] #app :is(
    .hero-grid,.split,.cta-split,.entry-layout,.thesis-grid,.founder-note,
    .thesis-layout,.choice-grid,.lived-panels,.symptom-grid,.reality-grid,
    .pricing-pair,.featured-insight,.article-layout,.behavioral-intro,
    .scientist-grid,.v2-home-hero-grid,.v2-split-wide,.v2-method-grid,
    .v2-evidence-grid,.v2-results-grid,.v2-free-grid,.v2-mission-grid,
    .v2-route-grid,.v2-real-results,.v2-intake-actions,.v2-site-map-grid,
    .people-grid
  ){
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  body[data-version="v2"] #app .hero-grid{
    display:grid!important;
    gap:30px!important;
    align-items:start!important;
  }
  body[data-version="v2"] #app .hero-copy,
  body[data-version="v2"] #app .hero-art,
  body[data-version="v2"] #app .hero-grid>*{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body[data-version="v2"] #app .hero-copy :is(h1,h2,h3,p,.lede,.kicker,.actions){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  body[data-version="v2"] #app .hero-copy .actions{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:12px!important;
  }
  body[data-version="v2"] #app .hero-copy .actions :is(.btn,.inline-link,.text-link){
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
  }

  /* Explore remains a single, horizontally scrollable page-navigation rail.
     Links never compress into or overlap one another. */
  body[data-version="v2"] .v2-context-nav .wrap{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:11px 20px!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  body[data-version="v2"] .v2-context-nav .context-label,
  body[data-version="v2"] .v2-context-nav a{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    max-width:none!important;
    white-space:nowrap!important;
  }
  body[data-version="v2"] .v2-context-nav .context-switch{
    margin-left:0!important;
  }
}

/* ================================================================
   JDQPS V2.19 — LOCKED: TWO FINAL-NIGHT CORRECTIONS ONLY
   1) Slightly more horizontal breathing room on every device.
   2) Desktop/Mac motion reliability is handled in app.js; no visual
      animation language, timing, content, color, or layout is changed.
   ================================================================ */
body[data-version="v2"] .wrap{
  padding-left:5px;
  padding-right:5px;
}
@media(max-width:900px){
  body[data-version="v2"] .wrap{
    padding-left:4px;
    padding-right:4px;
  }
}
@media(max-width:640px){
  body[data-version="v2"] .wrap{
    padding-left:3px;
    padding-right:3px;
  }
  body[data-version="v2"] .v2-context-nav .wrap{
    padding-left:22px!important;
    padding-right:22px!important;
  }
}

/* ================================================================
   JDQPS V2.20 — LOCKED: TWO MORNING CORRECTIONS ONLY
   1) V2.19 edge buffer reduced to a slight inset so copy retains its
      intended measure on desktop, tablet, and mobile.
   2) Desktop/Mac uses the exact same class-based reveal path as mobile.
      Trigger reliability remains in app.js; animation design is unchanged.
   ================================================================ */

/* ================================================================
   JDQPS V2.22 — LOCKED ART-DIRECTION REFINEMENT
   Baseline: V2.21. No content, page order, pricing, proof facts,
   approved graphics, animation concepts, palette, Explore behavior,
   or route architecture is changed here.
   ================================================================ */

/* Header: brand left, navigation optically centered, social right.
   Social is V2-only; Current remains visually unchanged. */
.header-social{display:none}
@media(min-width:801px){
  body[data-version="v2"] .header-inner{
    display:grid!important;
    grid-template-columns:minmax(190px,220px) minmax(0,1fr) 92px;
    align-items:center;
    column-gap:24px!important;
  }
  body[data-version="v2"] .brand{justify-self:start}
  body[data-version="v2"] .main-nav{
    margin-left:0!important;
    justify-self:center;
    transform:translateX(18px);
  }
  body[data-version="v2"] .header-social{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
  }
  body[data-version="v2"] .header-social-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    color:var(--ink);
    text-decoration:none;
    opacity:.92;
    transition:color .22s ease,opacity .22s ease,transform .22s ease;
  }
  body[data-version="v2"] .header-social-icon:hover,
  body[data-version="v2"] .header-social-icon:focus-visible{
    color:var(--teal);
    opacity:1;
    transform:translateY(-1px);
  }
  body[data-version="v2"] .header-social-icon svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  body[data-version="v2"] .header-social-icon .fill{fill:currentColor;stroke:none}
}
@media(min-width:801px) and (max-width:1180px){
  body[data-version="v2"] .header-inner{
    grid-template-columns:minmax(178px,195px) minmax(0,1fr) 78px;
    column-gap:18px!important;
  }
  body[data-version="v2"] .main-nav{transform:translateX(8px)}
  body[data-version="v2"] .header-social{gap:6px}
}
@media(min-width:801px) and (max-width:1040px){
  body[data-version="v2"] .header-inner{grid-template-columns:auto minmax(0,1fr)}
  body[data-version="v2"] .header-social{display:none}
  body[data-version="v2"] .main-nav{justify-self:end;transform:none}
}
@media(max-width:800px){
  body[data-version="v2"] .header-social{display:none!important}
  /* Mobile only: Start Here becomes the first, primary hamburger action. */
  body[data-version="v2"] #mainNav .start-btn{
    order:-1;
    width:100%;
    margin:0 0 8px;
    text-align:center;
  }
}

/* Editorial rhythm: tighter and more deliberate, without changing page structure. */
@media(min-width:901px){
  body[data-version="v2"] .editorial-section,
  body[data-version="v2"] .v2-band{padding-top:68px;padding-bottom:68px}
  body[data-version="v2"] .section-intro{margin-bottom:28px;max-width:920px}
  body[data-version="v2"] .hero{padding-top:44px;padding-bottom:40px}
  body[data-version="v2"] .split,
  body[data-version="v2"] .cta-split{row-gap:36px}
  body[data-version="v2"] .split>div:first-child{max-width:590px}
  body[data-version="v2"] .split>div:last-child{width:100%;max-width:780px;justify-self:end}
  body[data-version="v2"] .cta-split>.actions{justify-self:end;align-self:center}
}

/* Fine editorial rules read as structure, distinct from animated system pathways. */
body[data-version="v2"] :is(.editorial-section.bg-ivory,.editorial-section.bg-stone,.v2-band.bg-ivory,.v2-band.bg-stone):after{
  opacity:.11;
}
body[data-version="v2"] .section-intro>.kicker{margin-bottom:8px}
body[data-version="v2"] .section-intro h2{max-width:900px}
body[data-version="v2"] .section-intro p{max-width:760px}

/* Quiet tonal containment using only approved palette-derived tints. */
body[data-version="v2"] .v2-vantage-card,
body[data-version="v2"] .choice-card,
body[data-version="v2"] .v2-real-results article{
  background-color:rgba(244,239,230,.58)!important;
}
body[data-version="v2"] .v2-vantage-card.org{background-color:rgba(23,111,115,.055)!important}
body[data-version="v2"] .v2-vantage-card.ind{background-color:rgba(141,36,58,.045)!important}

/* CTAs: one clear primary action; supporting actions stay intentionally quieter. */
body[data-version="v2"] .actions .btn.outline,
body[data-version="v2"] .actions .btn.light+ .btn.light{
  box-shadow:none!important;
}
body[data-version="v2"] .actions .inline-link,
body[data-version="v2"] .actions .text-link{letter-spacing:.035em}

/* Approved icons remain untouched; presentation gains cleaner editorial alignment only. */
body[data-version="v2"] .icon-unit{align-content:start}
body[data-version="v2"] .icon-unit .icon-disc{margin-bottom:16px}
body[data-version="v2"] .icon-unit h4{margin-top:0;margin-bottom:7px}

/* Real proof: context -> evidence -> result reads as one editorial proof system. */
body[data-version="v2"] :is(.home-client-proof,.v2-results) .client-teaser-grid,
body[data-version="v2"] .v2-real-results{
  border-top:1px solid rgba(20,20,22,.15)!important;
  border-bottom:1px solid rgba(20,20,22,.15)!important;
}
body[data-version="v2"] .v2-real-results article{padding-top:30px!important;padding-bottom:30px!important}
body[data-version="v2"] .client-story{border-top:1px solid rgba(20,20,22,.15)!important;border-bottom:1px solid rgba(20,20,22,.15)!important}

/* Insights is the strongest editorial expression: controlled measure, quiet rules. */
body[data-version="v2"][data-route="insights"] #app .wrap{width:min(calc(100% - 72px),1080px)}
body[data-version="v2"][data-route="insights"] #app .v2-featured-insight{max-width:1020px;margin-inline:auto;gap:42px}
body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list{max-width:980px;margin-inline:auto}
@media(min-width:801px){
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card{
    grid-template-columns:88px minmax(0,1fr) 112px!important;
    gap:28px!important;
    padding:30px 0!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v2-insight-icon{
    width:76px!important;height:76px!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy h3{
    max-width:620px!important;
  }
}

/* Approved mobile Insights correction: one full-width reading column.
   This is intentionally the final mobile authority so desktop grid rules
   cannot squeeze titles into narrow vertical fragments again. */
@media(max-width:800px){
  body[data-version="v2"][data-route="insights"] #app .wrap{width:calc(100% - 42px)!important}
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list{
    width:100%!important;
    max-width:none!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    grid-template-columns:none!important;
    padding:30px 0!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v2-insight-icon{
    display:block!important;
    width:72px!important;
    height:72px!important;
    margin:0 0 16px!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy{
    display:block!important;
    width:100%!important;
    max-width:none!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy .kicker,
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy h3,
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy p{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy h3{
    font-size:clamp(28px,8vw,34px)!important;
    line-height:1.12!important;
    margin:0 0 10px!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .v215-insight-copy p{
    font-size:17px!important;
    line-height:1.58!important;
    margin:0!important;
  }
  body[data-version="v2"][data-route="insights"] #app .v2-editorial-insight-list .insight-card>a{
    display:inline-block!important;
    width:auto!important;
    max-width:none!important;
    margin:16px 0 0!important;
    text-align:left!important;
    justify-self:auto!important;
    white-space:nowrap!important;
  }
}

/* ================================================================
   JDQPS V2.23 — LOCKED POLISH PASS
   Baseline: V2.22. No copy, pricing, proof facts, page order,
   Explore behavior, approved graphics, palette, or route changes.
   Changes: logo entry/settle, small mobile breathing room, remove
   floating mobile evidence dots, mobile social links, and page-wide
   presentation refinement only.
   ================================================================ */

/* 1. Brand arrival: slightly larger at first view, then peacefully settles
   into the header as --shell-p progresses. The locked logo stays whole. */
body[data-version="v2"] .header-inner{
  min-height:calc(102px - 24px*var(--shell-p));
}
body[data-version="v2"] .brand img{
  width:calc(210px - 40px*var(--shell-p))!important;
  transform-origin:left center;
  transition:width .18s linear,opacity .25s ease!important;
}
body[data-version="v2"].v2-first-entry .brand img{
  animation:v223BrandWelcome 1.18s cubic-bezier(.18,.76,.2,1) both!important;
}
body[data-version="v2"].v2-first-entry .brand-signal{
  display:block!important;
  opacity:1;
  animation:v213SignalFade 1.24s ease both!important;
}
@keyframes v223BrandWelcome{
  0%{opacity:.08;transform:translateY(7px) scale(.955)}
  42%{opacity:1;transform:translateY(-1px) scale(1.025)}
  68%{transform:translateY(0) scale(.995)}
  100%{opacity:1;transform:none}
}

@media(max-width:800px){
  body[data-version="v2"] .header-inner{
    min-height:calc(90px - 10px*var(--shell-p));
  }
  body[data-version="v2"] .brand img{
    width:calc(190px - 24px*var(--shell-p))!important;
  }
  body[data-version="v2"] .brand-signal{
    display:block!important;
    left:-10px!important;
    width:205px!important;
    height:78px!important;
    transform:translateY(-50%) scale(.88)!important;
    transform-origin:left center!important;
  }
}

/* 2. Mobile: add only a small left-hand editorial inset where copy can
   otherwise feel visually flush. This does not change content measure. */
@media(max-width:800px){
  body[data-version="v2"] #app :is(
    .section-intro,.v2-copy,.center-title,.hero-copy,
    .article-layout article,.legal .article
  ){
    padding-left:6px;
    padding-right:2px;
  }
}

/* 3. Mobile evidence sequence: the desktop node geometry does not translate
   cleanly after stacking. Keep the numbered sequence and line, remove only
   the floating node/ring ornaments visible on phone. */
@media(max-width:800px){
  body[data-version="v2"] .v2-evidence-steps[data-evidence-sequence]>div:before,
  body[data-version="v2"] .v2-evidence-steps[data-evidence-sequence]>div:after{
    display:none!important;
    content:none!important;
  }
}

/* 4. Social links at the end of the mobile hamburger menu only. */
.mobile-nav-social{display:none}
@media(max-width:800px){
  body[data-version="v2"] #mainNav .mobile-nav-social{
    order:100;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-top:12px;
    padding-top:16px;
    border-top:1px solid rgba(20,20,22,.14);
  }
  body[data-version="v2"] #mainNav .mobile-nav-social a{
    width:42px!important;
    height:42px;
    min-width:42px!important;
    display:grid;
    place-items:center;
    color:var(--ink);
    border:1px solid rgba(20,20,22,.15);
    text-decoration:none;
  }
  body[data-version="v2"] #mainNav .mobile-nav-social a:focus-visible,
  body[data-version="v2"] #mainNav .mobile-nav-social a:active{color:var(--teal);border-color:var(--teal)}
  body[data-version="v2"] #mainNav .mobile-nav-social svg{
    width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;
    stroke-linecap:round;stroke-linejoin:round;
  }
  body[data-version="v2"] #mainNav .mobile-nav-social .fill{fill:currentColor;stroke:none}
}

/* 5. Site-wide art-direction refinement: presentation only. Existing color
   fields stay intact; this adds consistency to spacing, rules, and hierarchy. */
body[data-version="v2"] #app :is(.full-offer,.individual-service){
  padding-top:32px;
  padding-bottom:32px;
  column-gap:32px;
}
body[data-version="v2"] #app :is(
  .offer-card,.reality-card,.impact-pillar,.person-card,.aside-card,.intake-form
){
  box-shadow:0 14px 34px rgba(20,20,22,.035);
}
body[data-version="v2"] #app .faq-item button{
  padding-top:20px;
  padding-bottom:20px;
}
body[data-version="v2"] #app .article-layout{
  width:min(100%,1120px);
  margin-inline:auto;
  column-gap:64px;
}
body[data-version="v2"] #app .article-layout aside{
  border-top:2px solid var(--route-accent);
}
body[data-version="v2"] #app .legal .article{
  width:min(calc(100% - 54px),860px);
}
body[data-version="v2"] #app :is(.pricing-pair,.org-price-grid){
  box-shadow:0 12px 30px rgba(20,20,22,.028);
}
body[data-version="v2"] #app .intake-form{
  border-color:rgba(20,20,22,.16);
}
body[data-version="v2"] #app .form-grid :is(input,select,textarea){
  border-color:rgba(20,20,22,.22)!important;
  background:rgba(244,239,230,.78)!important;
}
body[data-version="v2"] #app .form-grid :is(input,select,textarea):focus{
  outline:2px solid var(--route-accent);
  outline-offset:2px;
  border-color:var(--route-accent)!important;
}
@media(min-width:901px){
  body[data-version="v2"] #app :is(.offer-list,.service-list,.faq-full,.form-shell){
    max-width:1180px;
    margin-inline:auto;
  }
}

/* Header fit guard: keep the larger logo graceful at intermediate widths
   without crowding the navigation or changing the tablet breakpoint. */
@media(min-width:1041px) and (max-width:1180px){
  body[data-version="v2"] .header-inner{
    grid-template-columns:minmax(190px,204px) minmax(0,1fr) 74px;
  }
  body[data-version="v2"] .brand img{
    width:calc(204px - 36px*var(--shell-p))!important;
  }
}
@media(min-width:801px) and (max-width:1040px){
  body[data-version="v2"] .brand img{
    width:calc(202px - 34px*var(--shell-p))!important;
  }
}

/* ================================================================
   JDQPS V2.24 — LOCKED FINAL ART-DIRECTION + TYPE PASS
   Baseline: V2.23. Content, colors, approved graphics, proof, pricing,
   navigation, Explore behavior, routes, and page architecture stay locked.
   ================================================================ */

/* 1. Homepage category line: balanced architectural rule on both sides. */
body[data-version="v2"][data-route="home"] .v2-home-copy>.kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
}
body[data-version="v2"][data-route="home"] .v2-home-copy>.kicker:before{
  content:"";
  display:block;
  width:34px;
  height:1px;
  background:currentColor;
  opacity:.34;
  transform:scaleX(.35);
  transform-origin:right;
  transition:transform .65s cubic-bezier(.2,.72,.2,1);
}
body[data-version="v2"][data-route="home"] .v2-home-copy.motion-in>.kicker:before,
body[data-version="v2"][data-route="home"] .v2-home-copy>.kicker.motion-in:before{
  transform:scaleX(1);
}

/* 3. Final art-direction layer: refinement, not redesign. */
body[data-version="v2"]{
  text-rendering:optimizeLegibility;
  font-kerning:normal;
}
body[data-version="v2"] #app :is(h1,h2,h3){
  text-wrap:balance;
}
body[data-version="v2"] #app :is(p,li){
  text-wrap:pretty;
}
body[data-version="v2"] #app .section-intro{
  position:relative;
}
body[data-version="v2"] #app .section-intro:before{
  content:"";
  position:absolute;
  left:0;
  top:-15px;
  width:44px;
  height:1px;
  background:var(--route-accent);
  opacity:.38;
}
body[data-version="v2"] #app :is(.choice-card,.v2-vantage-card,.v2-route-grid a,.v2-site-map-grid a,.website-map-grid a,.v2-intake-actions a,.offer-card,.reality-card,.path-preview-grid>*){
  transition:transform .28s cubic-bezier(.2,.72,.2,1),box-shadow .28s ease,border-color .28s ease,background-color .28s ease;
}
@media(hover:hover) and (pointer:fine){
  body[data-version="v2"] #app :is(.choice-card,.v2-vantage-card,.v2-route-grid a,.v2-site-map-grid a,.website-map-grid a,.v2-intake-actions a,.offer-card,.reality-card,.path-preview-grid>*):hover{
    transform:translateY(-2px);
    box-shadow:0 18px 38px rgba(20,20,22,.055);
  }
  body[data-version="v2"] #app :is(.text-link,.inline-link,.insight-card>a){
    transition:color .2s ease,letter-spacing .2s ease,transform .2s ease;
  }
  body[data-version="v2"] #app :is(.text-link,.inline-link,.insight-card>a):hover{
    letter-spacing:.055em;
  }
  body[data-version="v2"] .btn{
    transition:box-shadow .22s ease,background-color .22s ease,border-color .22s ease,color .22s ease;
  }
  body[data-version="v2"] .btn:hover{
    box-shadow:0 10px 24px rgba(20,20,22,.08);
  }
}
body[data-version="v2"] ::selection{
  background:rgba(216,154,50,.28);
  color:var(--ink);
}

/* Quiet polish for proof and decision moments without flattening color. */
body[data-version="v2"] #app :is(.v2-real-results article,.client-story,.client-outcomes>div,.metric-grid>div){
  position:relative;
}
body[data-version="v2"] #app :is(.v2-real-results article,.client-story,.client-outcomes>div):after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:42px;
  height:2px;
  background:var(--route-accent);
  opacity:.48;
}

/* 4. Type, symbols, and number clarity across device sizes. */
body[data-version="v2"] :is(
  [data-count],.metric-grid b,.client-metric b,.client-outcomes b,
  .v2-result-metrics b,.pillar-number,.v2-impact-core b,
  .v2-humanity-mini-total b,.offer-invest b,.service-price b,
  .v2-journey b,.model-stage>span,.process-4 b,.v214-growth-step b
){
  font-family:"JDQPS Human",Arial,sans-serif;
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
  letter-spacing:-.018em;
}
body[data-version="v2"] .service-price b{font-weight:400!important}
body[data-version="v2"] .offer-invest b{font-size:clamp(25px,2.2vw,32px)!important;line-height:1.08}
body[data-version="v2"] :is(.btn,.text-link,.inline-link){font-size:14.5px}
body[data-version="v2"] .kicker{font-size:14.5px;line-height:1.35}
body[data-version="v2"] small{font-size:15.5px}
body[data-version="v2"] sup{
  font-family:Arial,sans-serif;
  font-size:.62em;
  line-height:0;
  vertical-align:.5em;
  letter-spacing:0;
}
body[data-version="v2"] #app :is(.pillar-number,.v2-journey b,.process-4 b,.model-stage>span){
  min-width:2.4ch;
}

@media(max-width:800px){
  body[data-version="v2"] #app :is(h1,h2,h3){text-wrap:pretty}
  body[data-version="v2"] .kicker{font-size:14px}
  body[data-version="v2"] :is(.btn,.text-link,.inline-link){font-size:14px}
  body[data-version="v2"] small{font-size:15px}
  body[data-version="v2"] #app .section-intro:before{top:-12px;width:36px}
}
@media(max-width:480px){
  body[data-version="v2"][data-route="home"] .v2-home-copy>.kicker{gap:9px}
  body[data-version="v2"][data-route="home"] .v2-home-copy>.kicker:before,
  body[data-version="v2"][data-route="home"] .v2-home-copy>.kicker:after{width:22px}
}

/* ================================================================
   JDQPS V2.25 — CONNECTED-SYSTEM REFINEMENT
   Baseline: V2.24. No copy, pricing, proof facts, navigation,
   approved graphics, palette, Explore behavior, or page order changes.
   Purpose: make the already-approved experience read as one authored
   system through continuity, proof logic, CTA choreography, and
   restrained route transitions.
   ================================================================ */

/* 1. Section-to-section continuity. The handoff is intentionally small:
   one fine pathway + one node, using only the established JDQPS system
   language. It never overlays approved artwork. */
body[data-version="v2"] #app .v225-flow-section{position:relative;overflow:visible}
body[data-version="v2"] #app .v225-handoff{
  position:absolute;
  right:clamp(38px,7vw,118px);
  bottom:-25px;
  width:72px;
  height:50px;
  z-index:8;
  pointer-events:none;
  color:var(--v225-flow-color,var(--route-accent));
  opacity:.9;
}
body[data-version="v2"] #app .v225-handoff i{
  position:absolute;
  right:11px;
  top:0;
  width:1px;
  height:50px;
  background:currentColor;
  transform:scaleY(.12);
  transform-origin:top;
  opacity:.48;
  transition:transform .82s var(--experience-ease),opacity .5s ease;
}
body[data-version="v2"] #app .v225-handoff b{
  position:absolute;
  right:7px;
  top:31px;
  width:9px;
  height:9px;
  border:1px solid currentColor;
  border-radius:50%;
  background:var(--ivory);
  transform:scale(.55);
  opacity:0;
  transition:transform .38s var(--experience-ease) .42s,opacity .38s ease .42s;
}
body[data-version="v2"] #app .v225-flow-section.scene-in>.v225-handoff i{transform:scaleY(1);opacity:.64}
body[data-version="v2"] #app .v225-flow-section.scene-in>.v225-handoff b{transform:scale(1);opacity:1}
body[data-version="v2"] #app .bg-ink>.v225-handoff b,
body[data-version="v2"] #app .bg-teal>.v225-handoff b,
body[data-version="v2"] #app .bg-blue>.v225-handoff b,
body[data-version="v2"] #app .bg-burgundy>.v225-handoff b,
body[data-version="v2"] #app .bg-sage>.v225-handoff b{background:var(--ink)}

/* Homepage reads as one narrative, not a stack of isolated moments. */
body[data-version="v2"][data-route="home"] #app .v2-band{
  scroll-margin-top:108px;
}
body[data-version="v2"][data-route="home"] #app :is(.v2-mission,.v2-why,.v2-vantage,.v2-method,.v2-free-intake,.v2-evidence,.v2-results){
  border-top:1px solid rgba(20,20,22,.08);
}
body[data-version="v2"][data-route="home"] #app :is(.v2-free-intake,.v2-evidence){border-top-color:rgba(244,239,230,.16)}

/* 2. Proof is read through the same evidence logic on both sides of the
   system. No testimonial copy or result data changes. */
body[data-version="v2"] #app .v225-proof-system{--v225-proof-accent:var(--teal)}
body[data-version="v2"] #app .v225-proof-system .client-story-copy{
  position:relative;
  padding-left:34px;
}
body[data-version="v2"] #app .v225-proof-system .client-story-copy:before{
  content:"";
  position:absolute;
  left:5px;
  top:6px;
  bottom:8px;
  width:1px;
  background:var(--v225-proof-accent);
  opacity:.28;
  transform:scaleY(.08);
  transform-origin:top;
  transition:transform 1.05s var(--experience-ease) .12s,opacity .5s ease;
}
body[data-version="v2"] #app .v225-proof-system.motion-in .client-story-copy:before{transform:scaleY(1);opacity:.52}
body[data-version="v2"] #app .v225-proof-system .client-story-copy>h3,
body[data-version="v2"] #app .v225-proof-system .client-outcomes,
body[data-version="v2"] #app .v225-proof-system .individual-result-callout,
body[data-version="v2"] #app .v225-proof-system .model-proof{position:relative}
body[data-version="v2"] #app .v225-proof-system .client-story-copy>h3:before,
body[data-version="v2"] #app .v225-proof-system .client-outcomes:before,
body[data-version="v2"] #app .v225-proof-system .individual-result-callout:before,
body[data-version="v2"] #app .v225-proof-system .model-proof:before{
  content:"";
  position:absolute;
  left:-34px;
  top:.58em;
  width:11px;
  height:11px;
  border:2px solid var(--v225-proof-accent);
  border-radius:50%;
  background:var(--ivory);
  transform:scale(.55);
  opacity:.22;
  transition:transform .4s var(--experience-ease),opacity .4s ease;
}
body[data-version="v2"] #app .v225-proof-system.motion-in .client-story-copy>h3:before,
body[data-version="v2"] #app .v225-proof-system.motion-in .client-outcomes:before,
body[data-version="v2"] #app .v225-proof-system.motion-in .individual-result-callout:before,
body[data-version="v2"] #app .v225-proof-system.motion-in .model-proof:before{transform:scale(1);opacity:.82}
body[data-version="v2"] #app .v225-proof-mini{
  position:relative;
  box-shadow:inset 3px 0 0 var(--v225-proof-accent);
}

/* 3. CTA choreography: existing actions feel like the resolution of the
   section rather than an unrelated button row. No labels or destinations
   change. */
body[data-version="v2"] #app .v225-cta-stage{position:relative}
body[data-version="v2"] #app .v225-cta-stage:not(.v2-intake-actions){padding-top:15px}
body[data-version="v2"] #app .v225-cta-stage:not(.v2-intake-actions):before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:52px;
  height:1px;
  background:var(--route-accent);
  transform:scaleX(.18);
  transform-origin:left;
  opacity:.42;
  transition:transform .68s var(--experience-ease),opacity .4s ease;
}
body[data-version="v2"] #app .v225-cta-stage.scene-in:not(.v2-intake-actions):before{transform:scaleX(1);opacity:.76}
body[data-version="v2"] #app .v225-cta-stage .btn.solid,
body[data-version="v2"] #app .v225-cta-stage .btn.light:first-child{
  position:relative;
  isolation:isolate;
}
body[data-version="v2"] #app .v225-cta-stage .btn.solid:after,
body[data-version="v2"] #app .v225-cta-stage .btn.light:first-child:after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:7px;
  height:1px;
  background:currentColor;
  opacity:.22;
  transform:scaleX(.2);
  transform-origin:left;
  transition:transform .28s ease,opacity .28s ease;
  pointer-events:none;
}
@media(hover:hover) and (pointer:fine){
  body[data-version="v2"] #app .v225-cta-stage .btn.solid:hover:after,
  body[data-version="v2"] #app .v225-cta-stage .btn.light:first-child:hover:after{transform:scaleX(1);opacity:.52}
}

/* 4. Insights becomes the clearest editorial expression of the system while
   preserving every article, icon, category, and word. */
body[data-version="v2"][data-route="insights"] #app .v225-featured-editorial{
  padding:34px 0 38px!important;
  border-top:1px solid rgba(20,20,22,.15)!important;
  border-bottom:1px solid rgba(20,20,22,.15)!important;
}
body[data-version="v2"][data-route="insights"] #app .v225-featured-editorial>div:first-child{max-width:640px}
body[data-version="v2"][data-route="insights"] #app .v225-journal-list .insight-card{
  position:relative;
}
body[data-version="v2"][data-route="insights"] #app .v225-journal-list .insight-card:before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:46px;
  height:2px;
  background:var(--route-accent);
  opacity:.45;
}
body[data-version="v2"][data-route="insights"] #app .v225-journal-list .insight-card:nth-child(1):before{background:var(--teal)}
body[data-version="v2"][data-route="insights"] #app .v225-journal-list .insight-card:nth-child(2):before{background:var(--burgundy)}
body[data-version="v2"][data-route="insights"] #app .v225-journal-list .insight-card:nth-child(3):before{background:var(--blue)}
body[data-version="v2"][data-route="insights"] #app .v225-journal-list .insight-card>a{
  align-self:center;
  padding-bottom:4px;
  border-bottom:1px solid currentColor;
}

/* 5. Secondary-page craft. Existing blocks retain their content and color;
   this only sharpens relationships and text measure. */
body[data-version="v2"] #app :is(.full-offer,.individual-service,.faq-item,.impact-pillar,.person-card,.decision-card,.reality-card){
  position:relative;
}
body[data-version="v2"] #app :is(.full-offer,.individual-service):after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:52px;
  height:1px;
  background:var(--route-accent);
  opacity:.34;
}
body[data-version="v2"] #app :is(.full-offer,.individual-service) :is(h3,h4){max-width:760px}
body[data-version="v2"] #app :is(.full-offer,.individual-service) p{max-width:850px}
body[data-version="v2"] #app .faq-item button{position:relative}
body[data-version="v2"] #app .faq-item button:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:34px;
  height:1px;
  background:var(--route-accent);
  opacity:.32;
}
body[data-version="v2"] #app .article-layout article>h2{max-width:760px}
body[data-version="v2"] #app .article-layout article>p,
body[data-version="v2"] #app .article-layout article>blockquote{max-width:780px}
body[data-version="v2"] #app .contact-color-grid>div{position:relative;overflow:hidden}
body[data-version="v2"] #app .contact-color-grid>div:after{
  content:"";
  position:absolute;
  right:24px;
  bottom:20px;
  width:34px;
  height:1px;
  background:currentColor;
  opacity:.34;
}

/* 6. Existing motion, better directed: section handoffs and action resolves
   receive a slightly later beat than their headline. No new global animation
   system is introduced. */
body[data-version="v2"] #app .v225-flow-section .section-intro.motion-in~.v225-cta-stage{transition-delay:.06s}
body[data-version="v2"] #app .v225-flow-section .split>.motion-item:nth-child(2){transition-delay:.07s}
body[data-version="v2"] #app .v225-flow-section .cta-split>.motion-item:nth-child(2){transition-delay:.08s}

/* 7. Major-route transition: a 170ms Q/pathway resolve with the page still
   visible behind it. No loading screen; same-site anchor navigation is not
   intercepted. */
.v225-route-transition{
  position:fixed;
  inset:0;
  z-index:2200;
  display:grid;
  place-items:center;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  background:rgba(244,239,230,.14);
  transition:opacity .15s ease,visibility 0s linear .22s;
}
.v225-route-transition-mark{
  display:grid;
  grid-template-columns:64px 40px 64px;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  background:rgba(244,239,230,.94);
  border:1px solid rgba(20,20,22,.12);
  transform:translateY(4px) scale(.98);
  transition:transform .22s var(--experience-ease),opacity .18s ease;
  opacity:0;
}
.v225-route-transition-mark i{height:1px;background:var(--route-accent);transform:scaleX(0)}
.v225-route-transition-mark i:first-child{transform-origin:right}
.v225-route-transition-mark i:last-child{transform-origin:left}
.v225-route-transition-mark img{width:40px;height:40px;object-fit:contain;transform:scale(.82) rotate(-2deg)}
.v225-route-transition.is-active{opacity:1;visibility:visible;transition-delay:0s}
.v225-route-transition.is-active .v225-route-transition-mark{opacity:1;transform:none}
.v225-route-transition.is-active .v225-route-transition-mark i{animation:v225RouteLine .22s ease forwards}
.v225-route-transition.is-active .v225-route-transition-mark img{animation:v225RouteQ .24s var(--experience-ease) forwards}
.v225-route-transition.is-settling{opacity:0}
@keyframes v225RouteLine{to{transform:scaleX(1)}}
@keyframes v225RouteQ{to{transform:scale(1) rotate(0)}}

@media(max-width:800px){
  /* Mobile keeps the same story but simplifies cross-section ornaments. */
  body[data-version="v2"] #app .v225-handoff{display:none}
  body[data-version="v2"] #app .v225-proof-system .client-story-copy{padding-left:24px}
  body[data-version="v2"] #app .v225-proof-system .client-story-copy:before{left:3px}
  body[data-version="v2"] #app .v225-proof-system .client-story-copy>h3:before,
  body[data-version="v2"] #app .v225-proof-system .client-outcomes:before,
  body[data-version="v2"] #app .v225-proof-system .individual-result-callout:before,
  body[data-version="v2"] #app .v225-proof-system .model-proof:before{left:-24px;width:9px;height:9px}
  body[data-version="v2"] #app .v225-cta-stage:not(.v2-intake-actions){padding-top:12px}
  body[data-version="v2"][data-route="insights"] #app .v225-featured-editorial{padding-top:28px!important;padding-bottom:30px!important}
  .v225-route-transition-mark{grid-template-columns:44px 34px 44px;gap:8px}
  .v225-route-transition-mark img{width:34px;height:34px}
}




/* ================================================================
   JDQPS V2.26 — LOCKED MOTION PARITY REFINEMENT
   Baseline: V2.25. Only the approved mobile How We Work corrections,
   route/entry transition refinement, and PC/Mac motion reliability.
   ================================================================ */

/* 1. Mobile How We Work: the wide model-state line is a desktop device.
   Remove it after the composition stacks so it can never cross live copy. */
@media(max-width:800px){
  body[data-version="v2"][data-route="how-we-work"] #app .model-shell[data-method-scene]:before{
    display:none!important;
    content:none!important;
  }
}

/* The domain dots keep their precise center when their node animation runs.
   The previous generic node keyframe dropped translateX(-50%), shifting every
   amber node slightly to the right on phone. */
@keyframes v226DomainNodeResolve{
  from{opacity:0;transform:translateX(-50%) scale(.3)}
  to{opacity:1;transform:translateX(-50%) scale(1)}
}
@media(max-width:540px){
  body[data-version="v2"][data-route="how-we-work"] #app .outcome-domains{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body[data-version="v2"][data-route="how-we-work"] #app .outcome-domains span{
    width:100%!important;
    box-sizing:border-box;
    text-align:center!important;
  }
  body[data-version="v2"][data-route="how-we-work"] #app .outcome-domains span:before{
    left:50%!important;
    transform:translateX(-50%) scale(.35);
  }
  body[data-version="v2"][data-route="how-we-work"] #app .v2-operating-outcome.scene-in .outcome-domains span:before{
    animation:v226DomainNodeResolve .4s ease .3s forwards!important;
  }
}

/* 2. The connected-system Q transition is intentionally a little more
   present: slightly larger, longer, and translucent. It also serves as the
   full-load/refresh entry cue rather than only a route-change cue. */
.v225-route-transition{
  background:rgba(244,239,230,.10);
  transition:opacity .22s ease,visibility 0s linear .40s;
}
.v225-route-transition-mark{
  grid-template-columns:76px 48px 76px;
  gap:12px;
  padding:12px 16px;
  background:rgba(244,239,230,.87);
  border-color:rgba(20,20,22,.10);
}
.v225-route-transition-mark img{
  width:48px;
  height:48px;
  opacity:.90;
}
.v225-route-transition.is-active .v225-route-transition-mark{opacity:.92}
.v225-route-transition.is-active .v225-route-transition-mark i{animation-duration:.34s}
.v225-route-transition.is-active .v225-route-transition-mark img{animation-duration:.42s}
.v225-route-transition.is-entry .v225-route-transition-mark{transform:none}

@media(max-width:800px){
  .v225-route-transition-mark{grid-template-columns:54px 40px 54px;gap:9px;padding:10px 13px}
  .v225-route-transition-mark img{width:40px;height:40px}
}

/* Reduced-motion still gets the identity cue, but without moving lines/Q. */


/* 3. PC/Mac reliability: the same scene classes remain the source of truth.
   JavaScript now supplies a small frame-based scene entrance as a browser-
   independent safety layer. These styles simply avoid desktop transition
   conflicts while preserving the existing authored child animations. */
@media(min-width:801px){
  body[data-version="v2"] #app .motion-item{
    will-change:opacity,transform,filter;
  }
  body[data-version="v2"] #app [data-system-scene],
  body[data-version="v2"] #app [data-method-scene],
  body[data-version="v2"] #app [data-journey],
  body[data-version="v2"] #app [data-outcome-scene],
  body[data-version="v2"] #app [data-evidence-sequence],
  body[data-version="v2"] #app [data-friction-scene]{
    will-change:opacity,transform;
  }
}

/* ================================================================
   JDQPS V2.27 — LOCKED DESKTOP MOTION + MOBILE DOMAIN ALIGNMENT
   Baseline: V2.26. Only the three explicitly approved corrections:
   mobile How We Work domain continuity, larger/slower desktop transition,
   and desktop/Mac animation delivery reliability.
   ================================================================ */

/* 1. Mobile How We Work — every Bespoke Solutions domain uses the same
   centered line/node relationship. The parent line supplies Leadership;
   each following row supplies its own line so Work through Operations are
   visually identical and Operations receives its missing node. */
@media(max-width:800px){
  body[data-version="v2"][data-route="how-we-work"] #app .outcome-domains{
    grid-template-columns:1fr!important;
    row-gap:0!important;
    border-top:1px solid rgba(20,20,22,.15)!important;
  }
  body[data-version="v2"][data-route="how-we-work"] #app .outcome-domains span{
    width:100%!important;
    padding:34px 10px 28px!important;
    border-top:0!important;
    text-align:center!important;
  }
  body[data-version="v2"][data-route="how-we-work"] #app .outcome-domains span+span{
    border-top:1px solid rgba(20,20,22,.12)!important;
  }
  body[data-version="v2"][data-route="how-we-work"] #app .outcome-domains span:before{
    top:-6px!important;
    left:50%!important;
    transform:translateX(-50%) scale(.35)!important;
  }
  body[data-version="v2"][data-route="how-we-work"] #app .v2-operating-outcome.scene-in .outcome-domains span:before{
    animation:v226DomainNodeResolve .4s ease .3s forwards!important;
  }
}

/* 2. Desktop/Mac connected-system transition — mobile remains exactly at
   V2.26 scale/timing. Desktop is intentionally >2x the Q size and slower. */
@media(min-width:801px){
  .v225-route-transition{
    transition:opacity .34s ease,visibility 0s linear .62s;
  }
  .v225-route-transition-mark{
    grid-template-columns:152px 104px 152px!important;
    gap:20px!important;
    padding:22px 28px!important;
    background:rgba(244,239,230,.84)!important;
  }
  .v225-route-transition-mark img{
    width:104px!important;
    height:104px!important;
    opacity:.86!important;
  }
  .v225-route-transition.is-active .v225-route-transition-mark i{
    animation-duration:.68s!important;
  }
  .v225-route-transition.is-active .v225-route-transition-mark img{
    animation-duration:.86s!important;
  }
}



/* ================================================================
   JDQPS V2.28 — LOCKED DESKTOP MOTION PARITY
   Baseline: V2.27. Only two approved corrections: slightly faster
   desktop transition timing and deterministic desktop/Mac scene reveals.
   ================================================================ */
@media(min-width:801px){
  .v225-route-transition{transition:opacity .24s ease,visibility 0s linear .48s!important}
  .v225-route-transition.is-active .v225-route-transition-mark i{animation-duration:.50s!important}
  .v225-route-transition.is-active .v225-route-transition-mark img{animation-duration:.64s!important}
  body[data-version="v2"] #app .motion-item{backface-visibility:visible;transform-style:flat}
}


/* ================================================================
   JDQPS V2.29 — LOCKED DESKTOP SCROLL MOTION
   Baseline: V2.28. Desktop only: faster approved route cue and a
   deterministic scroll-position motion layer. Mobile is untouched.
   ================================================================ */
@media(min-width:801px){
  /* Same approved size; only pacing is tightened. */
  .v225-route-transition{transition:opacity .20s ease,visibility 0s linear .40s!important}
  .v225-route-transition.is-active .v225-route-transition-mark i{animation-duration:.42s!important}
  .v225-route-transition.is-active .v225-route-transition-mark img{animation-duration:.54s!important}

  /* Desktop reveal is tied directly to scroll position, so it cannot be
     skipped by observer/event timing differences in Chrome/Safari/Edge. */
  body[data-version="v2"] #app .motion-item{
    opacity:var(--v229-opacity,0)!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
  }

  /* Major visual relationships also follow the same deterministic progress. */
  body[data-version="v2"] #app .v2-journey .journey-line{transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important}
  body[data-version="v2"] #app .model-shell[data-method-scene]:before{transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important}
  body[data-version="v2"] #app .v2-method-steps:after{transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important}
  body[data-version="v2"] #app .v2-vantage-q i{transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important}
  body[data-version="v2"] #app .v2-intake-actions:after{transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important}
  body[data-version="v2"] #app .v225-flow-section>.v225-handoff i{transform:scaleY(var(--v229-scene-p,0))!important;opacity:calc(var(--v229-scene-p,0) * .64)!important;transition:none!important}
  body[data-version="v2"] #app .v225-flow-section>.v225-handoff b{transform:scale(var(--v229-scene-p,0))!important;opacity:var(--v229-scene-p,0)!important;transition:none!important}

  /* Scene containers visibly resolve as they enter the reading zone while
     their existing authored child animations remain intact. */
  body[data-version="v2"] #app [data-system-scene],
  body[data-version="v2"] #app [data-method-scene],
  body[data-version="v2"] #app [data-journey],
  body[data-version="v2"] #app [data-outcome-scene],
  body[data-version="v2"] #app [data-evidence-sequence],
  body[data-version="v2"] #app [data-friction-scene]{
    opacity:var(--v229-scene-opacity,.72);
  }
}


/* ================================================================
   JDQPS V2.30 — LOCKED DESKTOP MOTION PARITY
   Baseline: V2.29. Only two approved corrections: faster desktop
   transition pacing and desktop/Mac motion that remains visibly active
   even when the browser/OS reports a reduced-motion preference.
   Mobile is untouched.
   ================================================================ */
@media(min-width:801px){
  /* Keep the approved 104px Q; only shorten the cue. */
  .v225-route-transition{transition:opacity .16s ease,visibility 0s linear .32s!important}
  .v225-route-transition.is-active .v225-route-transition-mark i{animation-duration:.34s!important}
  .v225-route-transition.is-active .v225-route-transition-mark img{animation-duration:.44s!important}

  /* The desktop renderer owns these values directly from viewport position.
     This layer does not require IntersectionObserver, scroll-event delivery,
     CSS transition completion, or Web Animations support. */
  body[data-version="v2"] #app .motion-item{
    opacity:var(--v229-opacity,.06)!important;
    transform:none!important;
    filter:none!important;
  }

  /* Core systems expose their existing authored motion through the same
     deterministic scene progress. */
  body[data-version="v2"] #app .v213-stage .path{
    stroke-dashoffset:calc(520 * (1 - var(--v229-scene-p,0)))!important;
    animation:none!important;
  }
  body[data-version="v2"] #app .v213-stage .node{
    opacity:var(--v229-scene-p,0)!important;
    transform:scale(calc(.25 + var(--v229-scene-p,0) * .75))!important;
    animation:none!important;
  }
  body[data-version="v2"] #app .v213-stage .v213-stage-labels span{
    opacity:var(--v229-scene-p,0)!important;
    animation:none!important;
  }
  body[data-version="v2"] #app .v2-method-steps article,
  body[data-version="v2"] #app .v2-journey>div:not(.journey-origin),
  body[data-version="v2"] #app .path-preview-grid>div{
    opacity:calc(.42 + var(--v229-scene-p,0) * .58)!important;
    transform:none!important;
  }
}

/* Accessibility-safe desktop fallback: if the OS/browser asks for reduced
   motion, the site still communicates state changes through calm crossfades
   and line progress instead of becoming completely static. No parallax or
   autonomous spatial motion is reintroduced. */



/* ================================================================
   JDQPS V2.33 — LOCKED: TWO CORRECTIONS ONLY
   1) Homepage 15% behavior restored exactly to V2.31.
   2) Desktop Lived System relationship line relocated beneath
      SEE HOW WE WORK so it cannot intersect panel copy.
   ================================================================ */
@media(min-width:1101px){
  body[data-version="v2"][data-route="home"] #app .v2-method-grid > .v2-copy{
    position:relative;
    padding-bottom:34px;
  }
  body[data-version="v2"][data-route="home"] #app .v2-method-grid > .v2-copy::after{
    content:"";
    display:block;
    width:min(100%,420px);
    height:2px;
    margin-top:24px;
    background:linear-gradient(90deg,var(--stone),var(--amber),var(--sage));
    opacity:.72;
    transform:scaleX(var(--v229-scene-p,var(--scene-p,1)));
    transform-origin:left center;
  }
  body[data-version="v2"][data-route="home"] #app .v2-method-steps::before,
  body[data-version="v2"][data-route="home"] #app .v2-method-steps::after{
    display:none!important;
    content:none!important;
  }
}


/* ================================================================
   JDQPS V2.34 — LOCKED: CINEMATIC FIRST-ENTRY REVEAL ONLY
   Baseline: V2.33. The regular route transition, page content, motion,
   layout, and all established styling remain unchanged.
   ================================================================ */
html.v234-entry-pending::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:9998;
  background:#F4EFE6;
  pointer-events:auto;
}
.v225-route-transition.v234-entry-cinematic{
  z-index:10000!important;
  background:#F4EFE6!important;
  opacity:1!important;
  visibility:visible!important;
  transition:none!important;
  pointer-events:auto;
}
.v225-route-transition.v234-entry-cinematic .v225-route-transition-mark{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  transform:none!important;
  will-change:transform,opacity;
}
.v225-route-transition.v234-entry-cinematic .v225-route-transition-mark img{
  will-change:opacity;
}
.v225-route-transition.v234-entry-cinematic.is-expanding{
  animation:v234EntrySurfaceReveal .80s cubic-bezier(.32,.08,.55,1) forwards!important;
}
.v225-route-transition.v234-entry-cinematic.is-expanding .v225-route-transition-mark i{
  animation:v234EntryLineRelease .42s ease forwards!important;
}
.v225-route-transition.v234-entry-cinematic.is-expanding .v225-route-transition-mark img{
  animation:none!important;
}
@keyframes v234EntrySurfaceReveal{
  0%{opacity:1}
  28%{opacity:.96}
  100%{opacity:0}
}
@keyframes v234EntryLineRelease{
  0%{opacity:1;transform:scaleX(1)}
  100%{opacity:0;transform:scaleX(.18)}
}
@keyframes v234EntryQExpand{from{transform:none;opacity:.90;filter:none}to{transform:none;opacity:0;filter:none}}
@media(max-width:800px){
  .v225-route-transition.v234-entry-cinematic.is-expanding .v225-route-transition-mark img{
    animation:none!important;
  }
  @keyframes v234EntryQExpandMobile{from{transform:none;opacity:.90;filter:none}to{transform:none;opacity:0;filter:none}}
}



/* ================================================================
   JDQPS V2.40 — surgical responsive correction
   Preserves the locked design and breakpoint structure.
   ================================================================ */
/* Center metric values inside the existing circles on desktop and mobile. */
body[data-version="v2"] #app .metric-grid b{
  width:74px!important;
  min-height:74px!important;
  padding-left:0!important;
  justify-content:center!important;
  text-align:center!important;
}
body[data-version="v2"] #app .metric-grid>div:nth-child(4) b{
  font-size:21px!important;
  letter-spacing:-.025em;
}
/* End the existing stem before the label begins; do not remove or redesign it. */
body[data-version="v2"] #app .metric-grid>div:after{
  height:14px!important;
}
/* Mobile: preserve the approved single-column composition, only tighten excess visual space. */
@media(max-width:800px){
  body[data-version="v2"] #app .v2-why-visual{padding-top:10px;padding-bottom:10px;gap:12px}
  body[data-version="v2"] #app .v2-friction-rail{margin-top:0;padding-top:14px}
}


/* JDQPS V2.40 — locked footer contact placement only. */
body[data-version="v2"] .footer-contact{
  order:4;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  margin-top:14px;
}
body[data-version="v2"] .footer-contact a{
  margin:0;
}
body[data-version="v2"] .footer-social{order:5}
@media(max-width:800px){
  body[data-version="v2"] #mainNav .mobile-nav-social{
    width:100%;
    box-sizing:border-box;
  }
}

/* ================================================================
   JDQPS V2.40 — locked contact placement surgical edit
   Scope: header contact, mobile menu contact/safe clearance,
   founder direct contact, and phone-number legibility only.
   ================================================================ */
.contact-number{
  font-family:var(--human)!important;
  font-size:1rem;
  line-height:1.3;
  font-variant-numeric:normal;
  font-feature-settings:normal;
  letter-spacing:.015em;
  white-space:nowrap;
}

/* Desktop contact sits between START HERE and the social icons. */
.header-contact{display:none}
@media(min-width:1041px){
  body[data-version="v2"] .header-inner{
    grid-template-columns:minmax(178px,220px) minmax(0,1fr) 214px 82px!important;
    column-gap:14px!important;
  }
  body[data-version="v2"] .main-nav{
    transform:none!important;
    min-width:0;
  }
  body[data-version="v2"] .header-contact{
    display:grid;
    gap:4px;
    align-content:center;
    justify-items:start;
    min-width:0;
  }
  body[data-version="v2"] .header-contact a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    max-width:100%;
    color:var(--ink);
    text-decoration:none;
    font-size:11px;
    line-height:1.2;
    white-space:nowrap;
  }
  body[data-version="v2"] .header-contact a:hover,
  body[data-version="v2"] .header-contact a:focus-visible{color:var(--teal)}
  body[data-version="v2"] .header-contact svg{
    width:14px;
    height:14px;
    flex:0 0 14px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  body[data-version="v2"] .header-contact .contact-number{font-size:1rem}
}
@media(min-width:1041px) and (max-width:1180px){
  body[data-version="v2"] .header-inner{
    grid-template-columns:176px minmax(0,1fr) 192px 70px!important;
    column-gap:10px!important;
  }
  body[data-version="v2"] .brand img{width:166px!important}
  body[data-version="v2"] .main-nav{gap:7px!important}
  body[data-version="v2"] .nav-top{font-size:11.5px!important;letter-spacing:.025em!important}
  body[data-version="v2"] .start-btn{font-size:11.5px!important;padding:0 11px!important;min-height:38px!important}
  body[data-version="v2"] .header-contact a{font-size:10.2px}
  body[data-version="v2"] .header-contact .contact-number{font-size:1rem}
  body[data-version="v2"] .header-social{gap:3px!important}
  body[data-version="v2"] .header-social-icon{width:31px;height:31px}
}

/* Contact information adjacent to the centered social icons in mobile navigation. */
.mobile-nav-contact{display:none}
@media(max-width:800px){
  body[data-version="v2"] #mainNav{
    padding-bottom:98px!important;
  }
  body[data-version="v2"] #mainNav .mobile-nav-contact{
    order:99;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    width:100%;
    box-sizing:border-box;
    margin-top:12px;
    padding-top:16px;
    border-top:1px solid rgba(20,20,22,.14);
    text-align:center;
  }
  body[data-version="v2"] #mainNav .mobile-nav-contact a{
    color:var(--ink);
    text-decoration:none;
    font-size:13px;
    line-height:1.35;
    max-width:100%;
    overflow-wrap:anywhere;
  }
  body[data-version="v2"] #mainNav .mobile-nav-contact .contact-number{
    font-size:1.125rem;
    overflow-wrap:normal;
  }
  body[data-version="v2"] #mainNav .mobile-nav-social{
    margin-top:10px!important;
    padding-top:0!important;
    border-top:0!important;
  }
  body.mobile-menu-open .jdqps-a11y-launcher,
  body.mobile-menu-open .jdqps-chat-launcher{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* Founder-only direct contact. */
body[data-version="v2"][data-route="founder"] .founder-direct-contact{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 14px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(20,20,22,.14);
  max-width:620px;
}
body[data-version="v2"][data-route="founder"] .founder-direct-contact>span{
  width:100%;
  color:var(--teal);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.09em;
}
body[data-version="v2"][data-route="founder"] .founder-direct-contact a{
  color:var(--ink);
  text-decoration:none;
  font-size:13px;
  line-height:1.4;
}
body[data-version="v2"][data-route="founder"] .founder-direct-contact a:hover,
body[data-version="v2"][data-route="founder"] .founder-direct-contact a:focus-visible{color:var(--teal)}
@media(max-width:800px){
  body[data-version="v2"][data-route="founder"] .founder-direct-contact{
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
  }
}

/* Contact-page phone number: preserve layout, improve numeric clarity only. */
body[data-version="v2"][data-route="contact"] .contact-color-grid a[href^="tel:"]{
  font-family:var(--human)!important;
  font-size:1.25rem!important;
  line-height:1.3;
  font-variant-numeric:normal;
  font-feature-settings:normal;
  letter-spacing:.015em;
  white-space:nowrap;
}

/* ================================================================
   JDQPS V2.40 — locked surgical navigation refinement
   Scope only:
   1) Keep accessibility/chat launchers available with the mobile menu
      while reserving clear space so they do not cover menu content.
   2) Give the desktop brand more breathing room before primary navigation.
   ================================================================ */
@media(max-width:800px){
  body[data-version="v2"] #mainNav{
    padding-bottom:128px!important;
  }
  body.mobile-menu-open .jdqps-a11y-launcher,
  body.mobile-menu-open .jdqps-chat-launcher{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}

@media(min-width:1276px){
  body[data-version="v2"] .main-nav{
    justify-self:end!important;
  }
}

/* JDQPS V2.40 Pass 2 — accessibility + motion integrity, no layout redesign. */
body[data-version="v2"] :is(a,button,input,textarea,select):focus-visible{outline:2px solid transparent;outline-offset:3px;box-shadow:0 0 0 2px var(--ivory),0 0 0 4px var(--ink)}
body[data-version="v2"] #app:focus{outline:none;box-shadow:none}




/* JDQPS V2.40 Pass 3 — mobile utility access without content obstruction. */
.mobile-nav-utilities{display:none}
@media(max-width:800px){
  /* On narrow screens, utility access lives in the menu instead of floating
     over body copy and interactive content. Dialog panels remain unchanged. */
  body[data-version="v2"] .jdqps-a11y-launcher,
  body[data-version="v2"] .jdqps-chat-launcher{
    display:none!important;
  }
  body[data-version="v2"] #mainNav{
    padding-bottom:30px!important;
  }
  body[data-version="v2"] #mainNav .mobile-nav-social a{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }
  body[data-version="v2"] #mainNav .mobile-nav-contact a{
    min-height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  body[data-version="v2"] #mainNav .mobile-nav-utilities{
    order:101;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
    box-sizing:border-box;
    margin-top:12px;
    padding-top:16px;
    border-top:1px solid rgba(20,20,22,.14);
  }
  body[data-version="v2"] #mainNav .mobile-nav-utilities button{
    min-width:0;
    min-height:48px;
    padding:8px 9px;
    border:1px solid rgba(20,20,22,.16);
    background:transparent;
    color:var(--ink);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-family:"JDQPS Human Text",Arial,sans-serif;
    font-size:11px;
    line-height:1.2;
    cursor:pointer;
  }
  body[data-version="v2"] #mainNav .mobile-nav-utilities button:focus-visible,
  body[data-version="v2"] #mainNav .mobile-nav-utilities button:active{
    border-color:var(--teal);
    color:var(--teal);
  }
  body[data-version="v2"] #mainNav .mobile-nav-utilities svg,
  body[data-version="v2"] #mainNav .mobile-nav-utilities img{
    width:24px;
    height:24px;
    flex:0 0 24px;
    object-fit:contain;
  }
  body[data-version="v2"] #mainNav .mobile-nav-utilities b{
    font:inherit;
    font-weight:700;
  }
  body[data-version="v2"] .site-footer .footer-col a{
    min-height:28px;
    display:flex;
    align-items:center;
  }
}
@media(max-width:360px){
  body[data-version="v2"] #mainNav .mobile-nav-utilities{
    grid-template-columns:1fr;
  }
}

/* JDQPS V2.40 Pass 5 — intake/trust transparency. */
.intake-submit-note{margin:22px 0 18px;padding:17px 19px;border-left:3px solid var(--teal);background:rgba(23,111,115,.07)}
.intake-submit-note b{display:block;font-family:var(--serif);font-size:19px;line-height:1.1;margin-bottom:5px}
.intake-submit-note p{margin:0;font-size:14px;line-height:1.5}
.founder-evidence-grid b{font-family:var(--human)!important;font-size:14px!important;font-weight:700!important;letter-spacing:.07em;text-transform:uppercase;line-height:1.2}
.founder-evidence-grid span{margin-top:7px!important;line-height:1.42}


/* ================================================================
   JDQPS V2.40 Pass 7 — Pixel + Rendering Perfection
   Fidelity only: no redesign, no graphic reinterpretation.
   ================================================================ */
body[data-version="v2"]{
  font-synthesis:none;
  font-kerning:normal;
  font-variant-ligatures:common-ligatures contextual;
}
/* Raster artwork stays on its own pixel geometry. Motion belongs to the
   surrounding system, not to resampling the approved artwork itself. */
body[data-version="v2"] :is(
  .v2-approved-graphic img,
  .v214-clean-approved img,
  .v2-home-art>img,
  .hero-art-img,
  .insight-art img
){
  image-rendering:auto;
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
  backface-visibility:visible;
  will-change:auto!important;
}
/* Do not translate text-bearing surfaces on hover: whole-card transforms can
   force browser re-rasterization and create the soft/fuzzy state reported in QA. */
body[data-version="v2"] #app :is(
  .choice-card,.v2-vantage-card,.v2-route-grid a,.v2-site-map-grid a,
  .website-map-grid a,.v2-intake-actions a,.offer-card,.reality-card,
  .path-preview-grid>*
){
  transition:box-shadow .28s ease,border-color .28s ease,background-color .28s ease,color .22s ease!important;
}
@media(hover:hover) and (pointer:fine){
  body[data-version="v2"] #app :is(
    .choice-card,.v2-vantage-card,.v2-route-grid a,.v2-site-map-grid a,
    .website-map-grid a,.v2-intake-actions a,.offer-card,.reality-card,
    .path-preview-grid>*
  ):hover{
    transform:none!important;
    box-shadow:0 14px 30px rgba(20,20,22,.052);
  }
  /* Letter-spacing animation visibly changes glyph geometry. Keep the text
     fixed and let color/underline carry the interaction instead. */
  body[data-version="v2"] #app :is(.text-link,.inline-link,.insight-card>a){
    transition:color .2s ease,text-decoration-color .2s ease!important;
    text-underline-offset:.2em;
    text-decoration-thickness:1px;
  }
  body[data-version="v2"] #app :is(.text-link,.inline-link,.insight-card>a):hover{
    letter-spacing:inherit!important;
  }
}
/* Keep the authoritative logo optically crisp during the first-entry moment;
   no scale animation of the raster brand mark. */
@keyframes v223BrandWelcome{
  0%{opacity:.08;transform:none}
  48%{opacity:1;transform:none}
  100%{opacity:1;transform:none}
}
/* Fine rules should sit on explicit one-pixel geometry. */
body[data-version="v2"] :is(.section-intro:before,.v2-humanity-mini:after){
  min-height:1px;
}


/* ================================================================
   JDQPS V2.40 Pass 8 — Interaction + Physiology
   Breath / pulse / circulation / response / recovery.
   Existing approved artwork remains untouched and unscaled.
   ================================================================ */
:root{--v240-breath:8.4s;--v240-circulation:10.8s}

/* BREATH — a nearly imperceptible resting-state shift in the hero field. */
body[data-version="v2"][data-route="home"] .v2-home-hero{
  animation:v240HeroBreath var(--v240-breath) cubic-bezier(.37,0,.23,1) infinite;
}
@keyframes v240HeroBreath{
  0%,100%{background-color:#F4EFE6}
  46%{background-color:#F4EFE6}
  58%{background-color:#F4EFE6}
}

/* CIRCULATION — one tiny signal occasionally travels through the already-
   existing cross-section handoff line. The line itself remains stable. */
body[data-version="v2"] #app .v225-handoff i{overflow:visible}
body[data-version="v2"] #app .v225-handoff i:after{
  content:"";
  position:absolute;
  left:-2px;top:0;
  width:5px;height:5px;
  border-radius:50%;
  background:currentColor;
  opacity:0;
  transform:translateY(0);
  animation:v240Circulate var(--v240-circulation) linear infinite;
  animation-delay:var(--v240-life-delay,0s);
}
@keyframes v240Circulate{
  0%,12%,100%{opacity:0;transform:translateY(0)}
  14%{opacity:.18}
  17%{opacity:.72}
  25%{opacity:.68;transform:translateY(42px)}
  28%{opacity:0;transform:translateY(46px)}
}

/* HEARTBEAT — a restrained double impulse at the connection node, expressed
   with rings rather than scaling the node or nearby text. */
body[data-version="v2"] #app .v225-flow-section.scene-in>.v225-handoff b{
  animation:v240NodeHeartbeat var(--v240-circulation) ease-out infinite;
  animation-delay:calc(var(--v240-life-delay,0s) + .28s);
}
@keyframes v240NodeHeartbeat{
  0%,14%,30%,100%{box-shadow:0 0 0 0 transparent}
  16%{box-shadow:0 0 0 4px color-mix(in srgb,currentColor 16%,transparent)}
  18%{box-shadow:0 0 0 0 transparent}
  21%{box-shadow:0 0 0 2px color-mix(in srgb,currentColor 12%,transparent)}
  23%{box-shadow:0 0 0 0 transparent}
}

/* FIRST ARRIVAL — native-size Q, native pixels, two quiet pulse rings. */
.v225-route-transition.v234-entry-cinematic .v225-route-transition-mark img,
.v225-route-transition.is-active .v225-route-transition-mark img{
  transform:none!important;
  filter:none!important;
  will-change:opacity!important;
}
.v225-route-transition-mark{position:relative}
.v225-route-transition-mark:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:58px;height:58px;
  margin:-29px 0 0 -29px;
  border:1px solid var(--route-accent);
  border-radius:50%;
  opacity:0;
  pointer-events:none;
}
.v225-route-transition-mark.v240-pulse-once:after{animation:v240EntryHeartbeat .72s ease-out 1}
@keyframes v240EntryHeartbeat{
  0%{opacity:0;box-shadow:0 0 0 0 transparent}
  18%{opacity:.24;box-shadow:0 0 0 5px color-mix(in srgb,var(--route-accent) 9%,transparent)}
  35%{opacity:0;box-shadow:0 0 0 0 transparent}
  53%{opacity:.18;box-shadow:0 0 0 3px color-mix(in srgb,var(--route-accent) 7%,transparent)}
  72%,100%{opacity:0;box-shadow:0 0 0 0 transparent}
}
/* Override the former giant-Q blur expansion entirely. */
.v225-route-transition.v234-entry-cinematic.is-expanding .v225-route-transition-mark img{animation:none!important;transform:none!important;filter:none!important}

/* RESPONSE + RECOVERY — stable geometry, richer feedback. */
@media(hover:hover) and (pointer:fine){
  body[data-version="v2"] #app :is(.choice-card,.v2-vantage-card,.offer-card,.reality-card,.v2-route-grid a,.v2-site-map-grid a):hover,
  body[data-version="v2"] #app :is(.choice-card,.v2-vantage-card,.offer-card,.reality-card,.v2-route-grid a,.v2-site-map-grid a):focus-within{
    box-shadow:0 14px 30px rgba(20,20,22,.052),inset 0 1px 0 color-mix(in srgb,var(--route-accent) 24%,transparent);
  }
}

/* Reduced motion is still a complete experience—relationships remain visible,
   but physiology stops. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"][data-route="home"] .v2-home-hero{animation:none!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .v225-handoff i:after{display:none!important;animation:none!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .v225-handoff b{animation:none!important;box-shadow:none!important}
html[data-jdqps-a11y-motion="reduced"] .v225-route-transition-mark:after{display:none!important;animation:none!important}


/* ================================================================
   JDQPS V2.40 Pass 9 — Director's Pass
   Preserve the composition. Remove anything that reads as an effect.
   ================================================================ */
/* Typography stays physically still while it resolves. No blur, no GPU text
   resampling, no soft-focus entrance. */
body[data-version="v2"] #app .motion-item{
  opacity:0!important;
  transform:none!important;
  filter:none!important;
  backface-visibility:visible!important;
  transform-style:flat!important;
  will-change:opacity!important;
  transition:opacity .58s cubic-bezier(.2,.72,.2,1)!important;
}
body[data-version="v2"] #app .motion-item.motion-in{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}
/* The method cards are content, not moving scenery. Let their sequence resolve
   through opacity while the system line/node choreography carries motion. */
body[data-version="v2"] #app .v2-method-steps article{transform:none!important}
body[data-version="v2"] #app .v2-method-steps.scene-in article{transform:none!important}

/* Route identity remains crisp in normal transitions too. */
.v225-route-transition-mark{transform:none!important}
.v225-route-transition-mark img{transform:none!important;filter:none!important;backface-visibility:visible!important}

/* Optical baseline: SVG icons and linework render on their own geometry rather
   than inheriting inline-image baseline gaps. */
body[data-version="v2"] #app svg,
body[data-version="v2"] .site-header svg,
body[data-version="v2"] .site-footer svg{display:block;shape-rendering:geometricPrecision}
body[data-version="v2"] #app img{vertical-align:middle}

/* Premium focus should look authored, not browser-default, while remaining
   unmistakable for keyboard users. */
body[data-version="v2"] :is(a,button,input,select,textarea):focus-visible{
  outline:2px solid var(--route-accent,var(--teal));
  outline-offset:4px;
}
body[data-version="v2"] :is(input,select,textarea):focus-visible{outline-offset:2px}

/* Avoid accidental section-edge collisions when deep links land beneath the
   sticky header/context navigation. */
body[data-version="v2"] #app [id]{scroll-margin-top:clamp(116px,13vh,154px)}


html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item{opacity:1!important;transition:none!important;will-change:auto!important}


/* ================================================================
   JDQPS V2.40 Pass 10 — End-User Immersion / Anti-AI / Cherry on Top
   Final usability finish; no redesign.
   ================================================================ */
body[data-version="v2"] .status[role="status"],
body[data-version="v2"] .careers-form .status{
  min-height:1.5em;
  margin-top:12px;
  font-size:14px;
  line-height:1.45;
  color:var(--teal);
}
body[data-version="v2"] .legal a{
  color:var(--teal);
  text-underline-offset:.16em;
  text-decoration-thickness:1px;
}
body[data-version="v2"] .legal a:hover{color:var(--ink)}
/* Preserve clarity when a user changes input via keyboard or autofill. */
body[data-version="v2"] :is(input,select,textarea){caret-color:var(--teal)}
body[data-version="v2"] :is(input,select,textarea):autofill{
  box-shadow:0 0 0 1000px var(--ivory) inset;
  -webkit-text-fill-color:var(--ink);
}


/* ================================================================
   JDQPS V2.40 Pass 10 — FINAL PREMIUM RENDERING LOCK
   Dormant legacy motion cannot reintroduce soft-focus text or giant
   raster scaling. Text stays physically stable; system geometry moves.
   ================================================================ */
body[data-version="v2"] #app :is(
  .v2-journey>div:not(.journey-origin),
  .path-preview-grid>div,
  .model-stage,
  .practice-outcomes b,
  .outcome-domains span,
  .friction-signals span,
  .v213-stage-labels span,
  .v213-pillar-key i,
  .v214-growth-steps>div,
  .v214-impact-points>div,
  .v2-impact-node-two,
  .v2-impact-node-three
){
  transform:none!important;
  filter:none!important;
  backface-visibility:visible!important;
  transform-style:flat!important;
}
body[data-version="v2"] #app .v2-impact-node-one{
  transform:translateX(-50%)!important;
  filter:none!important;
}
/* Existing text reveal keyframes may change opacity, never glyph geometry. */
body[data-version="v2"] #app :is(
  .v2-journey>div:not(.journey-origin),
  .path-preview-grid>div,
  .model-stage,
  .practice-outcomes b,
  .outcome-domains span,
  .friction-signals span,
  .v213-stage-labels span,
  .v213-pillar-key i,
  .v214-growth-steps>div,
  .v214-impact-points>div
){will-change:opacity!important}
/* The current first-entry mark never scales or blurs, even if an old cached
   class name is applied. */
.v225-route-transition.v234-entry-cinematic .v225-route-transition-mark img,
.v225-route-transition.v234-entry-cinematic.is-expanding .v225-route-transition-mark img{
  animation:none!important;
  transform:none!important;
  filter:none!important;
  will-change:opacity!important;
}


/* ================================================================
   JDQPS V2.40 — REVIEW CORRECTION 3
   User-directed surgical corrections only.
   - Restore authored motion and first-entry presence on every device.
   - Approved artwork remains exactly itself: no generated overlays.
   - Mobile navigation utilities sit immediately under Start Here.
   - Mobile Humanity Commitment, Founder/Evidence, and Contact alignment.
   ================================================================ */

/* APPROVED ARTWORK — no generated system layer may sit over approved art. */
body[data-version="v2"] #app .v225-handoff{display:none!important}
body[data-version="v2"] :is(.v214-clean-approved,.v2-approved-graphic){isolation:isolate}
body[data-version="v2"] :is(.v214-clean-approved,.v2-approved-graphic)>.v213-stage{display:none!important}
body[data-version="v2"] :is(.v214-clean-approved,.v2-approved-graphic):before,
body[data-version="v2"] :is(.v214-clean-approved,.v2-approved-graphic):after,
body[data-version="v2"] .v2-why-visual:before{display:none!important;content:none!important}
body[data-version="v2"] :is(.v214-clean-approved,.v2-approved-graphic) img{
  transform:none!important;filter:none!important;box-shadow:none!important;will-change:auto!important
}

/* OPENING — same emotional arrival on desktop/tablet/mobile, without scaling
   or blurring the approved Q. Expanding CSS rings carry the depth instead. */
.v225-route-transition.v234-entry-cinematic.v240-entry-living{
  display:grid!important;background:#F4EFE6!important;opacity:1;visibility:visible
}
.v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark{
  position:relative!important;background:transparent!important;border:0!important;box-shadow:none!important;
  transform:none!important;overflow:visible!important
}
.v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark:before,
.v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark:after{
  content:"";position:absolute;left:50%;top:50%;width:92px;height:92px;margin:-46px 0 0 -46px;
  border:1px solid var(--route-accent);border-radius:50%;opacity:0;pointer-events:none;transform:scale(.72)
}
.v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark.v240-entry-awake:before{
  animation:v240EntryOrbitA 2.65s cubic-bezier(.16,.72,.18,1) .20s both
}
.v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark.v240-entry-awake:after{
  animation:v240EntryOrbitB 2.55s cubic-bezier(.16,.72,.18,1) .46s both
}
@keyframes v240EntryOrbitA{
  0%{opacity:0;transform:scale(.72)}18%{opacity:.24}48%{opacity:.15}100%{opacity:0;transform:scale(7.4)}
}
@keyframes v240EntryOrbitB{
  0%{opacity:0;transform:scale(.72)}18%{opacity:.18}48%{opacity:.11}100%{opacity:0;transform:scale(5.6)}
}
.v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark img{
  width:104px!important;height:104px!important;transform:none!important;filter:none!important;image-rendering:auto!important
}
.v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark{
  grid-template-columns:150px 104px 150px!important;gap:20px!important
}
@media(max-width:800px){
  .v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark{
    grid-template-columns:86px 72px 86px!important;gap:12px!important;padding:12px!important
  }
  .v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark img{width:72px!important;height:72px!important}
  .v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark:before,
  .v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark:after{
    width:70px;height:70px;margin:-35px 0 0 -35px
  }
}

/* DESKTOP — deterministic motion remains tied to scroll position. Explicitly
   override the later static lock for motion-in so the progress is visible. */
@media(min-width:801px){
  body[data-version="v2"] #app .motion-item,
  body[data-version="v2"] #app .motion-item.motion-in{
    opacity:var(--v229-opacity,.06)!important;
    transform:translate3d(0,var(--v229-y,24px),0)!important;
    filter:none!important;transition:none!important;
    will-change:opacity,transform!important;backface-visibility:hidden!important
  }
  body[data-version="v2"] #app :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div
  ){
    filter:none!important;
    transform:translateY(calc((1 - var(--v229-scene-p,0)) * 10px))!important;
    opacity:calc(.42 + var(--v229-scene-p,0) * .58)!important;
    will-change:opacity,transform!important
  }
  body[data-version="v2"] #app .v2-impact-node-one{transform:translateX(-50%)!important}
  .v225-route-transition{display:grid!important}
}

/* MOBILE/TABLET — not a reduced copy of desktop. Stronger tactile entrance
   and full authored scene choreography, still with zero blur. */
@media(max-width:800px){
  body[data-version="v2"] #app .motion-item{
    opacity:0!important;transform:translateY(20px)!important;filter:none!important;
    transition:opacity .72s cubic-bezier(.2,.72,.2,1),transform .78s cubic-bezier(.18,.76,.18,1)!important;
    will-change:opacity,transform!important
  }
  body[data-version="v2"] #app .motion-item.motion-in{opacity:1!important;transform:none!important;filter:none!important}

  /* Re-enable authored scene resolves that the crispness lock had flattened. */
  body[data-version="v2"] #app .v2-method-steps article{opacity:.48!important;transform:translateY(10px)!important}
  body[data-version="v2"] #app .v2-method-steps.scene-in article{opacity:1!important;transform:none!important}
  body[data-version="v2"] #app .v213-pillar-key i,
  body[data-version="v2"] #app .friction-signals span,
  body[data-version="v2"] #app .v214-growth-steps>div,
  body[data-version="v2"] #app .v214-impact-points>div{opacity:.34!important;transform:translateY(8px)!important;filter:none!important}
  body[data-version="v2"] #app .v2-humanity-mini.scene-in .v213-pillar-key i,
  body[data-version="v2"] #app .v2-friction-rail.scene-in .friction-signals span,
  body[data-version="v2"] #app .v214-growth-path.scene-in .v214-growth-steps>div,
  body[data-version="v2"] #app .v214-impact-allocation.scene-in .v214-impact-points>div{
    animation:v213TextResolve .52s cubic-bezier(.2,.72,.2,1) forwards!important
  }
  body[data-version="v2"] #app .v2-friction-rail.scene-in .friction-signals span:nth-child(2){animation-delay:.14s!important}
  body[data-version="v2"] #app .v2-friction-rail.scene-in .friction-signals span:nth-child(3){animation-delay:.28s!important}
  body[data-version="v2"] #app .v214-growth-path.scene-in .v214-growth-steps>div:nth-child(2){animation-delay:.14s!important}
  body[data-version="v2"] #app .v214-growth-path.scene-in .v214-growth-steps>div:nth-child(3){animation-delay:.28s!important}
  body[data-version="v2"] #app .v214-growth-path.scene-in .v214-growth-steps>div:nth-child(4){animation-delay:.42s!important}
  body[data-version="v2"] #app .v214-impact-allocation.scene-in .v214-impact-points>div:nth-child(2){animation-delay:.16s!important}
  body[data-version="v2"] #app .v214-impact-allocation.scene-in .v214-impact-points>div:nth-child(3){animation-delay:.32s!important}
  .v225-route-transition{display:grid!important}
}

/* MOBILE MENU — Start Here, then Accessibility + Clarity Concierge, then nav. */
@media(max-width:800px){
  body[data-version="v2"] #mainNav .start-btn{order:-2!important;margin-bottom:8px!important}
  body[data-version="v2"] #mainNav .mobile-nav-utilities{
    order:-1!important;margin:0 0 10px!important;padding:10px 0 12px!important;
    border-top:0!important;border-bottom:1px solid rgba(20,20,22,.14)!important
  }
}

/* HOME MOBILE — all three 5% pillar labels share the same left geometry. */
@media(max-width:560px){
  body[data-version="v2"][data-route="home"] #app .v213-pillar-key i{
    border-left:0!important;padding:8px 0 0!important;margin:0!important;text-align:left!important
  }
}

/* FOUNDER + EVIDENCE MOBILE — the Prior Work label is supporting copy, not a
   hero-scale statement. The evidence bubbles themselves stay unchanged. */
@media(max-width:800px){
  body[data-version="v2"] #app #founder-evidence .section-intro h2{
    font-size:27px!important;line-height:1.08!important;letter-spacing:-.012em!important;max-width:18ch
  }
}

/* CONTACT MOBILE — equal line lengths/rows put the Q exactly between the two labels. */
@media(max-width:800px){
  body[data-version="v2"][data-route="contact"] #app .v2-contact-system{
    grid-template-columns:1fr!important;
    grid-template-rows:auto 44px 88px 44px auto!important;
    gap:0!important;place-items:center!important;min-height:0!important;width:100%!important
  }
  body[data-version="v2"][data-route="contact"] #app .v2-contact-system span{
    width:100%!important;text-align:center!important;justify-self:center!important
  }
  body[data-version="v2"][data-route="contact"] #app .v2-contact-system i{
    width:1px!important;height:44px!important;justify-self:center!important;margin:0!important;
    transform:scaleY(.05);transform-origin:center!important
  }
  body[data-version="v2"][data-route="contact"] #app .v2-contact-system img{
    width:82px!important;height:82px!important;justify-self:center!important;align-self:center!important;margin:3px auto!important
  }
}

/* REDUCED MOTION — accessibility preference is the only intentional reduction. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
html[data-jdqps-a11y-motion="reduced"] .v225-route-transition{display:none!important}

/* ================================================================
   JDQPS V2.40 — REVIEW CORRECTION 4
   User-directed scope only:
   1) Founder/Evidence mobile metric-label sizing shown in review captures.
   2) Desktop authored motion must visibly run.
   3) Mobile motion must fully resolve, with no text left faded.
   4) Opening Q again advances toward the viewer while becoming transparent.
   ================================================================ */

/* 1. FOUNDER + EVIDENCE MOBILE — override the higher-specificity generic
   metric typography that was still forcing 30px labels into 74px circles. */
@media(max-width:800px){
  body[data-version="v2"] #app #founder-evidence .founder-evidence-grid b{
    width:74px!important;
    min-height:74px!important;
    padding:0!important;
    margin:0 0 10px -6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-family:var(--human)!important;
    font-size:12px!important;
    line-height:1.08!important;
    font-weight:700!important;
    letter-spacing:.025em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  body[data-version="v2"] #app #founder-evidence .founder-evidence-grid>div:nth-child(7) b{
    font-size:10px!important;
    letter-spacing:0!important;
  }
}

/* 2. DESKTOP — do not rely on `no-preference` to expose the authored motion.
   The reduced-motion rules below remain the explicit accessibility override. */
@media(min-width:801px){
  body[data-version="v2"] #app .motion-item,
  body[data-version="v2"] #app .motion-item.motion-in{
    opacity:var(--v229-opacity,.06)!important;
    transform:translate3d(0,var(--v229-y,24px),0)!important;
    filter:none!important;
    transition:none!important;
    will-change:opacity,transform!important;
    backface-visibility:hidden!important;
  }
  body[data-version="v2"] #app :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div
  ){
    filter:none!important;
    transform:translateY(calc((1 - var(--v229-scene-p,0)) * 12px))!important;
    opacity:calc(.34 + var(--v229-scene-p,0) * .66)!important;
    will-change:opacity,transform!important;
  }
  body[data-version="v2"] #app .v2-impact-node-one{transform:translateX(-50%)!important}
  .v225-route-transition{display:grid!important}
}

/* 3. MOBILE/TABLET — stronger entrance and a deterministic fully-resolved
   end state. Existing lines/nodes retain their authored choreography. */
@media(max-width:800px){
  body[data-version="v2"] #app .motion-item{
    opacity:.02!important;
    transform:translate3d(0,30px,0)!important;
    filter:none!important;
    transition:opacity .78s cubic-bezier(.2,.72,.2,1),transform .86s cubic-bezier(.16,.78,.18,1)!important;
    will-change:opacity,transform!important;
  }
  body[data-version="v2"] #app .motion-item.motion-in{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    filter:none!important;
  }
  body[data-version="v2"] #app :is(
    [data-system-scene],[data-method-scene],[data-method-home],[data-q-scene],
    [data-journey],[data-impact-scene],[data-metric-scene],[data-pillar-scene],
    [data-practice-scene],[data-outcome-scene],[data-evidence-sequence],[data-friction-scene],
    .client-outcomes,.metric-grid,.v213-stage,.v213-system-visual
  ).scene-in{
    opacity:1!important;
  }
  /* Text-bearing scene pieces get a deterministic resolve instead of relying
     on keyframes that can be interrupted by mobile scrolling/compositing. */
  body[data-version="v2"] #app :is(
    [data-system-scene],[data-method-scene],[data-method-home],[data-journey],
    [data-impact-scene],[data-metric-scene],[data-pillar-scene],[data-practice-scene],
    [data-outcome-scene],[data-evidence-sequence],[data-friction-scene]
  ) :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div
  ){
    opacity:.18!important;
    transform:translate3d(0,14px,0)!important;
    filter:none!important;
    animation:none!important;
    transition:opacity .68s cubic-bezier(.2,.72,.2,1),transform .76s cubic-bezier(.16,.78,.18,1)!important;
    will-change:opacity,transform!important;
  }
  body[data-version="v2"] #app :is(
    [data-system-scene],[data-method-scene],[data-method-home],[data-journey],
    [data-impact-scene],[data-metric-scene],[data-pillar-scene],[data-practice-scene],
    [data-outcome-scene],[data-evidence-sequence],[data-friction-scene]
  ).scene-in :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div
  ){
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    filter:none!important;
  }
  body[data-version="v2"] #app .scene-in :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div
  ):nth-child(2){transition-delay:.09s!important}
  body[data-version="v2"] #app .scene-in :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div
  ):nth-child(3){transition-delay:.18s!important}
  body[data-version="v2"] #app .scene-in :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div
  ):nth-child(4){transition-delay:.27s!important}
}

/* 4. OPENING — the Q itself once again advances toward the viewer. JavaScript
   drives the progressive scale + transparency so it remains synchronized
   with the already-approved opening surface and orbit choreography. */
.v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark img{
  transform-origin:50% 50%!important;
  will-change:transform,opacity!important;
  filter:none!important;
}

/* Accessibility remains authoritative. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item.motion-in{
  opacity:1!important;transform:none!important;filter:none!important;transition:none!important;will-change:auto!important
}
html[data-jdqps-a11y-motion="reduced"] .v225-route-transition{display:none!important}

/* ================================================================
   JDQPS V2.40 — REVIEW CORRECTION 5
   Scope frozen to user review notes only:
   - restore slim Human Ink contrast bar (no comparison toggle)
   - align every page start to Organizations / Individuals reference height
   - lock Founder/Evidence mobile metric-label scale
   - make desktop motion visibly authored
   - ensure mobile motion fully resolves with no faded text left behind
   - restore the opening Q's approach/expansion/fade, without blur
   ================================================================ */

/* HUMAN INK CONTRAST BAR — the old development bar's visual role only. */
.jdqps-ink-bar{
  width:100%;
  height:24px;
  background:var(--ink,#141416);
  border:0;
  pointer-events:none;
}
@media(max-width:800px){.jdqps-ink-bar{height:18px}}

/* PAGE-START PARITY — Organizations and Individuals remain the reference.
   Their .hero spacing is untouched. Only variants that previously started
   higher/lower are normalized to the same top rhythm. */
@media(min-width:901px){
  body[data-version="v2"] #app .v2-home-hero,
  body[data-version="v2"] #app .simple-hero{padding-top:44px!important}
}
@media(max-width:900px){
  body[data-version="v2"] #app .v2-home-hero,
  body[data-version="v2"] #app .simple-hero{padding-top:54px!important}
}

/* FOUNDER + EVIDENCE MOBILE — these labels live inside 74px evidence orbits.
   Keep the orbit design; prevent the generic metric type rule from turning
   words such as REPORTING / DASHBOARDS / WORKFLOWS into display headlines. */
@media(max-width:800px){
  body[data-version="v2"][data-route="founder"] #app .founder-evidence-grid b,
  body[data-version="v2"][data-route="proof"] #app .founder-evidence-grid b,
  body[data-version="v2"] #app #founder-evidence .founder-evidence-grid b{
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
    min-height:74px!important;
    height:74px!important;
    padding:0!important;
    margin:0 0 10px -6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-family:var(--human)!important;
    font-size:10px!important;
    line-height:1.05!important;
    font-weight:700!important;
    letter-spacing:.018em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  body[data-version="v2"] #app #founder-evidence .founder-evidence-grid>div:nth-child(7) b{
    font-size:8.5px!important;
    letter-spacing:-.01em!important;
  }
}

/* DESKTOP MOTION — keep it crisp but unmistakably present. The scroll engine
   supplies --v229-* values; these declarations ensure later crispness rules
   cannot flatten the choreography. */
@media(min-width:801px){
  body[data-version="v2"] #app .motion-item,
  body[data-version="v2"] #app .motion-item.motion-in{
    opacity:var(--v229-opacity,.04)!important;
    transform:translate3d(0,var(--v229-y,30px),0)!important;
    filter:none!important;
    transition:none!important;
    will-change:opacity,transform!important;
    backface-visibility:hidden!important;
  }
  body[data-version="v2"] #app :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div
  ){
    filter:none!important;
    transform:translate3d(0,calc((1 - var(--v229-scene-p,0)) * 14px),0)!important;
    opacity:calc(.28 + var(--v229-scene-p,0) * .72)!important;
    will-change:opacity,transform!important;
  }
  body[data-version="v2"] #app .v2-impact-node-one{transform:translateX(-50%)!important}
}

/* MOBILE/TABLET MOTION — fully authored, not a reduced copy. Once a scene has
   completed, the safety state prevents interrupted mobile compositing from
   leaving any text partially transparent. */
@media(max-width:800px){
  body[data-version="v2"] #app .motion-item{
    opacity:.01!important;
    transform:translate3d(0,28px,0)!important;
    filter:none!important;
    transition:opacity .76s cubic-bezier(.2,.72,.2,1),transform .84s cubic-bezier(.16,.78,.18,1)!important;
  }
  body[data-version="v2"] #app .motion-item.motion-in{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    filter:none!important;
  }
  body[data-version="v2"] #app .scene-settled :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
    .metric-grid>div,.client-outcomes>div
  ){
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
}

/* OPENING Q — JavaScript drives the progressive expansion and transparency.
   This keeps the requested approach-to-camera effect while avoiding blur. */
.v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark img{
  transform-origin:50% 50%!important;
  filter:none!important;
  will-change:transform,opacity!important;
}

/* Explicit accessibility settings remain authoritative over every motion rule. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item.motion-in{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;will-change:auto!important}
html[data-jdqps-a11y-motion="reduced"] .v225-route-transition{display:none!important}


/* ================================================================
   JDQPS V2.40 — REVIEW CORRECTION 6
   User-directed surgical corrections only.
   - Founder / Testimonials founder-evidence labels fit their orbits on all devices.
   - Desktop authored motion is visibly present again.
   - Mobile motion resolves fully; animated text cannot remain partially faded.
   - First-entry Q advances toward the viewer and becomes progressively transparent.
   - Slim Human Ink contrast bar restored; page-start rhythm normalized.
   - Explore rail is sticky again on desktop.
   Everything else remains locked.
   ================================================================ */

/* 1 + 6. FOUNDER / TESTIMONIALS — the word is a datum inside the existing
   74px orbit, not display typography. This applies on desktop AND mobile. */
body[data-version="v2"] #app #founder-evidence .founder-evidence-grid>div{
  overflow:visible!important;
}
body[data-version="v2"] #app #founder-evidence .founder-evidence-grid b{
  width:74px!important;
  min-width:74px!important;
  max-width:74px!important;
  height:74px!important;
  min-height:74px!important;
  padding:0!important;
  margin:0 0 12px 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-family:var(--human)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:visible!important;
  color:var(--route-accent)!important;
}
body[data-version="v2"] #app #founder-evidence .founder-evidence-grid>div:nth-child(7) b{
  font-size:10px!important;
  letter-spacing:0!important;
}
@media(max-width:800px){
  body[data-version="v2"] #app #founder-evidence .founder-evidence-grid b{
    font-size:11px!important;
    margin-left:0!important;
    margin-right:0!important;
    letter-spacing:.02em!important;
  }
  body[data-version="v2"] #app #founder-evidence .founder-evidence-grid>div:nth-child(7) b{
    font-size:8.7px!important;
    letter-spacing:-.01em!important;
  }
}

/* 2. DESKTOP MOTION — restore a real arrival, not a static scroll-progress
   state. Existing system-line/node choreography continues underneath. */
@media(min-width:801px){
  body[data-version="v2"] #app .motion-item{
    opacity:.04!important;
    transform:translate3d(0,28px,0)!important;
    filter:none!important;
    transition:opacity .78s cubic-bezier(.2,.72,.2,1),transform .88s cubic-bezier(.16,.78,.18,1)!important;
    will-change:opacity,transform!important;
    backface-visibility:hidden!important;
  }
  body[data-version="v2"] #app .motion-item.motion-in{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    filter:none!important;
  }
  body[data-version="v2"] #app :is(
    [data-system-scene],[data-method-scene],[data-method-home],[data-journey],
    [data-impact-scene],[data-metric-scene],[data-pillar-scene],[data-practice-scene],
    [data-outcome-scene],[data-evidence-sequence],[data-friction-scene],
    .client-outcomes,.metric-grid,.v213-stage,.v213-system-visual
  ).scene-in{
    opacity:1!important;
  }
}

/* 3. MOBILE / TABLET MOTION — full-strength authored entrance plus a hard
   completion state so Safari/Chrome compositing cannot strand copy faded. */
@media(max-width:800px){
  body[data-version="v2"] #app .motion-item{
    opacity:.01!important;
    transform:translate3d(0,30px,0)!important;
    filter:none!important;
    transition:opacity .78s cubic-bezier(.2,.72,.2,1),transform .88s cubic-bezier(.16,.78,.18,1)!important;
    will-change:opacity,transform!important;
  }
  body[data-version="v2"] #app .motion-item.motion-in{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    filter:none!important;
  }
  body[data-version="v2"] #app .scene-settled :is(
    h1,h2,h3,h4,p,li,strong,b,small,span,a,
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
    .metric-grid>div,.client-outcomes>div
  ){
    opacity:1!important;
    filter:none!important;
  }
}

/* 4. OPENING — keep the approved Q crisp, but restore the original emotional
   approach-to-camera behavior. JavaScript drives the scale/opacity directly. */
.v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark img{
  transform-origin:50% 50%!important;
  filter:none!important;
  will-change:transform,opacity!important;
}

/* 5. HUMAN INK BAR + PAGE-START PARITY. Organizations / Individuals are the
   reference rhythm: 44px desktop, 48px tablet/mobile from bar to hero content. */
.jdqps-ink-bar{
  display:block!important;
  width:100%!important;
  height:18px!important;
  min-height:18px!important;
  background:var(--ink,#141416)!important;
  border:0!important;
  pointer-events:none!important;
}
@media(max-width:800px){.jdqps-ink-bar{height:14px!important;min-height:14px!important}}
@media(min-width:901px){
  body[data-version="v2"] #app>.hero,
  body[data-version="v2"] #app>.simple-hero,
  body[data-version="v2"] #app>.v2-page>.v2-home-hero{
    padding-top:44px!important;
  }
}
@media(max-width:900px){
  body[data-version="v2"] #app>.hero,
  body[data-version="v2"] #app>.simple-hero,
  body[data-version="v2"] #app>.v2-page>.v2-home-hero{
    padding-top:48px!important;
  }
}

/* 7. EXPLORE — desktop rail is sticky by CSS again. No dependence on a
   scroll-event class toggle; the existing JS scrollspy remains intact. */
@media(min-width:801px){
  body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled,
  body[data-version="v2"] #app .v2-context-nav{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    z-index:1200!important;
    background:rgba(244,239,230,.985)!important;
  }
  body[data-version="v2"] #app .v215-context-placeholder{
    display:none!important;
    height:0!important;
  }
}

/* Explicit user/OS reduced-motion preferences remain authoritative. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item.motion-in{opacity:1!important;transform:none!important;transition:none!important;filter:none!important}
html[data-jdqps-a11y-motion="reduced"] .v225-route-transition{display:none!important}


/* ================================================================
   JDQPS V2.40 — REVIEW CORRECTION 7
   EXACT USER SCOPE ONLY:
   1) Desktop Explore rail actually remains fixed beneath the sticky header.
   2) Desktop reveal motion is guaranteed to paint a start state before resolve.
   3) Cinematic opening CSS remains crisp; JS owns release/failsafe.
   ================================================================ */

/* 1. DESKTOP EXPLORE — class-driven fixed behavior. This intentionally
   outranks the prior generic sticky override that prevented .is-stuck from
   becoming fixed. The placeholder preserves document flow. */
@media(min-width:801px){
  body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    z-index:840!important;
  }
  body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled.is-stuck{
    position:fixed!important;
    top:var(--v2-explore-top,76px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:990!important;
    background:rgba(244,239,230,.985)!important;
    box-shadow:0 10px 24px rgba(20,20,22,.07)!important;
    backdrop-filter:blur(10px)!important;
  }
  body[data-version="v2"] #app .v215-context-placeholder{
    display:none!important;
    height:0!important;
  }
  body[data-version="v2"] #app .v215-context-placeholder.is-active{
    display:block!important;
  }
}

/* 2. DESKTOP MOTION — independent of the no-preference media-query branch;
   the explicit reduced-motion overrides below remain authoritative. */
@media(min-width:801px){
  body[data-version="v2"] #app .motion-item{
    opacity:.035!important;
    transform:translate3d(0,30px,0)!important;
    filter:none!important;
    transition:opacity .82s cubic-bezier(.2,.72,.2,1),transform .94s cubic-bezier(.16,.78,.18,1)!important;
    will-change:opacity,transform!important;
  }
  body[data-version="v2"] #app .motion-item.motion-in{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    filter:none!important;
  }
  body[data-version="v2"] #app .motion-item.v240-desktop-motion-armed{
    opacity:.035!important;
    transform:translate3d(0,30px,0)!important;
  }
}

/* 3. OPENING — JavaScript performs the requested Q expansion/fade and now
   guarantees cleanup. Keep CSS from substituting its own transform. */
.v225-route-transition.v234-entry-cinematic.v240-entry-living .v225-route-transition-mark img{
  transform-origin:50% 50%!important;
  filter:none!important;
  will-change:transform,opacity!important;
}

/* Explicit accessibility preference still wins over the desktop rule. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item.motion-in,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item.v240-desktop-motion-armed{
  opacity:1!important;transform:none!important;transition:none!important;filter:none!important;will-change:auto!important
}
html[data-jdqps-a11y-motion="reduced"] .v225-route-transition{display:none!important}


/* ================================================================
   JDQPS V2.40 — REVIEW CORRECTION 9
   LOCKED USER SCOPE ONLY:
   1) Restore deterministic desktop motion + opening reliability.
   2) Normalize desktop page-title start to Organizations/Individuals.
   3) Careers / Contact / Mission & Impact use approved Q artwork only.
   ================================================================ */

/* 1. DESKTOP MOTION — restore the locked viewport-driven V2.40 engine.
   The values are continuously written by app.js, so motion does not depend
   on IntersectionObserver timing. Blur remains intentionally removed. */
@media(min-width:801px){
  body[data-version="v2"] #app .motion-item{
    opacity:var(--v229-opacity,.06)!important;
    transform:translate3d(0,var(--v229-y,30px),0)!important;
    filter:none!important;
    transition:none!important;
    will-change:opacity,transform!important;
  }
  body[data-version="v2"] #app .v2-journey .journey-line{
    transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important
  }
  body[data-version="v2"] #app .model-shell[data-method-scene]:before{
    transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important
  }
  body[data-version="v2"] #app .v2-method-steps:after{
    transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important
  }
  body[data-version="v2"] #app .v2-vantage-q i{
    transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important
  }
  body[data-version="v2"] #app .v2-intake-actions:after{
    transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important
  }
  body[data-version="v2"] #app :is(
    [data-system-scene],[data-method-scene],[data-journey],[data-outcome-scene],
    [data-evidence-sequence],[data-friction-scene]
  ){
    opacity:var(--v229-scene-opacity,.72)
  }
  body[data-version="v2"] #app .v213-stage .path{
    stroke-dashoffset:calc(520 * (1 - var(--v229-scene-p,0)))!important;
    animation:none!important
  }
  body[data-version="v2"] #app .v213-stage .node{
    opacity:var(--v229-scene-p,0)!important;
    transform:scale(calc(.25 + var(--v229-scene-p,0) * .75))!important;
    animation:none!important
  }
  body[data-version="v2"] #app .v213-stage .v213-stage-labels span{
    opacity:var(--v229-scene-p,0)!important;animation:none!important
  }
  body[data-version="v2"] #app .v2-method-steps article,
  body[data-version="v2"] #app .v2-journey>div:not(.journey-origin),
  body[data-version="v2"] #app .path-preview-grid>div{
    opacity:calc(.42 + var(--v229-scene-p,0) * .58)!important;
    transform:translateY(calc((1 - var(--v229-scene-p,0)) * 7px))!important
  }
}

/* Reduced-motion visitors still receive state communication without spatial
   translation or blur. The site-level Reduce Motion control remains final. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item{
  opacity:1!important;transform:none!important;filter:none!important;transition:none!important;will-change:auto!important
}

/* 2. PAGE START — the first copy baseline follows the established
   For Organizations / For Individuals hero rhythm. */
@media(min-width:801px){
  body[data-version="v2"] #app .hero-grid>.hero-copy{
    align-self:start!important;
    position:relative!important
  }
  /* Insight icons remain present but no longer push the page title downward. */
  body[data-version="v2"] #app .hero-copy>.v2-insight-route-icon{
    position:absolute!important;
    right:0!important;
    top:0!important;
    margin:0!important
  }
}

/* 3. APPROVED Q HEROES — no generated stage labels, connector paths,
   pseudo-orbits, dots, or other overlays on these three approved graphics. */
body[data-version="v2"][data-route="careers"] #app .hero-art.v214-clean-approved,
body[data-version="v2"][data-route="contact"] #app .hero-art.v214-clean-approved,
body[data-version="v2"][data-route="impact"] #app .hero-art.v214-clean-approved{
  isolation:isolate!important
}
body[data-version="v2"][data-route="careers"] #app .hero-art.v214-clean-approved:before,
body[data-version="v2"][data-route="careers"] #app .hero-art.v214-clean-approved:after,
body[data-version="v2"][data-route="contact"] #app .hero-art.v214-clean-approved:before,
body[data-version="v2"][data-route="contact"] #app .hero-art.v214-clean-approved:after,
body[data-version="v2"][data-route="impact"] #app .hero-art.v214-clean-approved:before,
body[data-version="v2"][data-route="impact"] #app .hero-art.v214-clean-approved:after,
body[data-version="v2"][data-route="careers"] #app .hero-art.v214-clean-approved>.v213-stage,
body[data-version="v2"][data-route="contact"] #app .hero-art.v214-clean-approved>.v213-stage,
body[data-version="v2"][data-route="impact"] #app .hero-art.v214-clean-approved>.v213-stage{
  display:none!important;content:none!important
}

/* Home uses a distinct internal hero composition. This small padding adjustment
   aligns its title baseline with the normalized route-page baseline. */
@media(min-width:901px){
  body[data-version="v2"][data-route="home"] #app>.v2-page>.v2-home-hero{padding-top:22px!important}
}

/* ================================================================
   JDQPS V2.40 — REVIEW CORRECTION 10 — MOTION AUTHORITY
   USER SCOPE ONLY:
   1) Desktop uses the same authored reveal/scene choreography as mobile.
   2) Mobile/tablet motion is materially richer and more alive.
   3) Breath / heartbeat / response / recovery live in existing system geometry.
   No layout, copy, artwork, navigation, pricing, spacing, or route changes.
   ================================================================ */

/* ONE MOTION ENGINE ON EVERY DEVICE. The class-based path is the final
   authority; old desktop --v229 scroll variables may still exist but cannot
   flatten or replace the authored entrance choreography. */
@media all{
  body[data-version="v2"] #app .motion-item,
  body[data-version="v2"] #app .motion-item.v240-motion-armed,
  body[data-version="v2"] #app .motion-item.v240-desktop-motion-armed{
    opacity:.015!important;
    transform:translate3d(0,34px,0)!important;
    filter:none!important;
    transition:
      opacity .84s cubic-bezier(.2,.72,.2,1),
      transform .96s cubic-bezier(.16,.78,.18,1)!important;
    will-change:opacity,transform!important;
    backface-visibility:visible!important;
    transform-style:flat!important;
  }
  body[data-version="v2"] #app .motion-item.motion-in{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    filter:none!important;
  }
  body[data-version="v2"] #app .motion-item.motion-settled{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    will-change:auto!important;
  }

  /* A second column answers the first rather than arriving simultaneously. */
  body[data-version="v2"] #app :is(.split,.cta-split,.hero-grid,.v2-home-hero-grid,.v2-split-wide,.v2-free-grid,.v2-evidence-grid,.v2-results-grid)>.motion-item:nth-child(2){
    transition-delay:.10s!important;
  }

  /* Existing editorial rule becomes part of discovery; no new ornament. */
  body[data-version="v2"] #app .section-intro:before{
    transform:scaleX(.18)!important;
    transform-origin:left center!important;
    opacity:.20!important;
    transition:transform .88s cubic-bezier(.18,.76,.18,1),opacity .72s ease!important;
  }
  body[data-version="v2"] #app .section-intro.motion-in:before{
    transform:scaleX(1)!important;
    opacity:.42!important;
  }

  /* RESTORE EXISTING SYSTEM CHOREOGRAPHY. No synthetic overlay lines are
     created here; only geometry already present in V2.40 is animated. */
  body[data-version="v2"] #app .v2-q-stage i{
    /* Pass 9: these are animation starting values, not permanent overrides. */
    opacity:0;
    transform:scale(.62);
    animation:none!important;
  }
  body[data-version="v2"] #app .v2-q-stage.scene-in i{
    animation:qRing .92s cubic-bezier(.18,.76,.18,1) forwards!important;
  }
  body[data-version="v2"] #app .v2-q-stage.scene-in i:nth-of-type(2){animation-delay:.12s!important}
  body[data-version="v2"] #app .v2-q-stage.scene-in i:nth-of-type(3){animation-delay:.24s!important}

  body[data-version="v2"] #app .v2-vantage-q i{
    /* The authored reveal must be able to resolve this on mobile too. */
    transform:scaleX(0);
    transform-origin:center!important;
    animation:none!important;
  }
  body[data-version="v2"] #app .v2-vantage-q.motion-in i{
    animation:lineGrow .90s cubic-bezier(.18,.76,.18,1) .18s forwards!important;
  }

  body[data-version="v2"] #app .v2-method-steps article,
  body[data-version="v2"] #app .v2-journey>div:not(.journey-origin),
  body[data-version="v2"] #app .path-preview-grid>div,
  body[data-version="v2"] #app .model-stage,
  body[data-version="v2"] #app .practice-outcomes b,
  body[data-version="v2"] #app .outcome-domains span,
  body[data-version="v2"] #app .friction-signals span,
  body[data-version="v2"] #app .v213-stage-labels span,
  body[data-version="v2"] #app .v213-pillar-key i,
  body[data-version="v2"] #app .v214-growth-steps>div,
  body[data-version="v2"] #app .v214-impact-points>div,
  body[data-version="v2"] #app .metric-grid>div,
  body[data-version="v2"] #app .client-outcomes>div,
  body[data-version="v2"] #app .v2-evidence-steps>div{
    opacity:.20!important;
    transform:translate3d(0,14px,0)!important;
    filter:none!important;
    animation:none!important;
    transition:
      opacity .72s cubic-bezier(.2,.72,.2,1),
      transform .84s cubic-bezier(.16,.78,.18,1)!important;
    will-change:opacity,transform!important;
  }
  body[data-version="v2"] #app .scene-in :is(
    .v2-method-steps article,
    .v2-journey>div:not(.journey-origin),
    .path-preview-grid>div,
    .model-stage,
    .practice-outcomes b,
    .outcome-domains span,
    .friction-signals span,
    .v213-stage-labels span,
    .v213-pillar-key i,
    .v214-growth-steps>div,
    .v214-impact-points>div,
    .metric-grid>div,
    .client-outcomes>div,
    .v2-evidence-steps>div
  ){
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    filter:none!important;
  }
  body[data-version="v2"] #app .scene-in :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
    .metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div
  ):nth-child(2){transition-delay:.11s!important}
  body[data-version="v2"] #app .scene-in :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
    .metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div
  ):nth-child(3){transition-delay:.22s!important}
  body[data-version="v2"] #app .scene-in :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
    .metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div
  ):nth-child(4){transition-delay:.33s!important}

  /* Existing desktop horizontal pathways draw again instead of being pinned
     to a scroll variable. Mobile retains its intentional vertical variants. */
  @media(min-width:801px){
    body[data-version="v2"] #app .v2-journey .journey-line{
      transform:scaleX(0)!important;animation:none!important;transform-origin:left!important
    }
    body[data-version="v2"] #app .v2-journey.scene-in .journey-line{
      animation:journeyDraw 1.25s cubic-bezier(.18,.76,.18,1) forwards!important
    }
    body[data-version="v2"] #app .model-shell[data-method-scene]:before{
      transform:scaleX(0)!important;animation:none!important;transform-origin:left!important
    }
    body[data-version="v2"] #app .model-shell[data-method-scene].scene-in:before{
      animation:journeyDraw 1.20s cubic-bezier(.18,.76,.18,1) forwards!important
    }
    body[data-version="v2"] #app .v2-method-steps:after{
      transform:scaleX(0)!important;animation:none!important;transform-origin:left!important
    }
    body[data-version="v2"] #app .v2-method-steps.scene-in:after{
      animation:v213LineResolve 1.10s cubic-bezier(.18,.76,.18,1) .18s forwards!important
    }
    body[data-version="v2"] #app .v2-intake-actions:after{
      transform:scaleX(0)!important;animation:none!important;transform-origin:left!important
    }
    body[data-version="v2"] #app .v2-intake-actions.scene-in:after{
      animation:v213LineResolve .68s ease .16s forwards!important
    }
  }

  /* The existing internal system stage draws and resolves on every device. */
  body[data-version="v2"] #app .v213-stage .path{
    stroke-dashoffset:520!important;
    animation:none!important;
  }
  body[data-version="v2"] #app .v213-stage.scene-in .path{
    animation:v213Path 1.18s cubic-bezier(.18,.76,.18,1) forwards!important;
  }
  body[data-version="v2"] #app .v213-stage.scene-in .path.alt{animation-delay:.16s!important}
  body[data-version="v2"] #app .v213-stage .node{
    opacity:0!important;transform:scale(.25)!important;animation:none!important
  }
  body[data-version="v2"] #app .v213-stage.scene-in .node{
    animation:v213NodeResolve .42s cubic-bezier(.18,.76,.18,1) .34s forwards!important
  }
  body[data-version="v2"] #app .v213-stage.scene-in .node:nth-of-type(2){animation-delay:.43s!important}
  body[data-version="v2"] #app .v213-stage.scene-in .node:nth-of-type(3){animation-delay:.52s!important}

  /* BREATH + HEARTBEAT — only existing Q/orbit geometry. The rhythm is slow,
     asymmetric, and interrupted by a small double impulse rather than looping
     like a loading spinner. */
  body[data-version="v2"] #app .v2-q-stage.scene-settled img{
    animation:v240LivingQBreath 8.6s cubic-bezier(.37,0,.23,1) 1.0s infinite!important;
    transform-origin:center!important;
    will-change:transform!important;
  }
  body[data-version="v2"] #app .v2-q-stage.scene-settled i{
    animation:v240LivingRingPulse 9.4s cubic-bezier(.2,.72,.2,1) infinite!important;
  }
  body[data-version="v2"] #app .v2-q-stage.scene-settled i:nth-of-type(2){animation-delay:.13s!important}
  body[data-version="v2"] #app .v2-q-stage.scene-settled i:nth-of-type(3){animation-delay:.26s!important}
  body[data-version="v2"] #app .v2-vantage-q.motion-settled:before{
    animation:v240ExistingOrbitBreath 9.2s ease-in-out infinite!important;
  }
  body[data-version="v2"] #app .v2-vantage-q.motion-settled:after{
    animation:v240ExistingOrbitBreath 9.2s ease-in-out .22s infinite reverse!important;
  }
}

@keyframes v240LivingQBreath{
  0%,100%{transform:scale(1)}
  41%{transform:scale(1.018)}
  52%{transform:scale(1.008)}
  72%{transform:scale(1)}
}
@keyframes v240LivingRingPulse{
  0%,68%,100%{opacity:.34;transform:scale(1)}
  73%{opacity:.50;transform:scale(1.025)}
  76%{opacity:.34;transform:scale(1)}
  79%{opacity:.45;transform:scale(1.014)}
  82%{opacity:.34;transform:scale(1)}
}
@keyframes v240ExistingOrbitBreath{
  0%,100%{transform:scale(1);opacity:1}
  48%{transform:scale(1.035);opacity:.72}
  58%{transform:scale(1.016);opacity:.86}
}

/* MOBILE/TABLET ENHANCEMENT — same language, more visible amplitude and
   slightly longer stagger so the system feels authored rather than merely
   fading into place. */
@media(max-width:800px){
  body[data-version="v2"] #app .motion-item,
  body[data-version="v2"] #app .motion-item.v240-motion-armed{
    opacity:.005!important;
    transform:translate3d(0,38px,0)!important;
    transition:
      opacity .88s cubic-bezier(.2,.72,.2,1),
      transform 1.02s cubic-bezier(.16,.78,.18,1)!important;
  }
  body[data-version="v2"] #app .motion-item.motion-in{
    opacity:1!important;transform:translate3d(0,0,0)!important
  }
  body[data-version="v2"] #app .scene-in :is(
    .v2-method-steps article,.path-preview-grid>div,.model-stage,
    .practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
    .metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div
  ){
    transition-duration:.82s,.94s!important;
  }
  body[data-version="v2"] #app .v2-method-steps:after{
    transform:scaleY(0)!important;animation:none!important;transform-origin:top!important
  }
  body[data-version="v2"] #app .v2-method-steps.scene-in:after{
    animation:v213VerticalResolve 1.22s cubic-bezier(.18,.76,.18,1) .16s forwards!important
  }
}

/* Recovery guarantee: interrupted scrolling or browser compositing can never
   leave text semi-transparent after the authored scene has settled. */
body[data-version="v2"] #app .scene-settled :is(
  h1,h2,h3,h4,p,li,strong,b,small,span,a,
  .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
  .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
  .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
  .metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div
){
  opacity:1!important;
  filter:none!important;
}

/* Explicit accessibility preferences remain final. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item.motion-in,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item.motion-settled,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item.v240-motion-armed{
  opacity:1!important;transform:none!important;filter:none!important;transition:none!important;animation:none!important;will-change:auto!important
}
html[data-jdqps-a11y-motion="reduced"] .v225-route-transition{display:none!important}

/* ================================================================
   JDQPS V2.40 — REVIEW CORRECTION 11 — PREMIUM LIVING MOTION
   USER-LOCKED SCOPE: MOTION ONLY.
   Desktop and mobile share one authored motion language: discovery, breath,
   heartbeat, circulation, response, and recovery. No layout/artwork/copy edits.
   ================================================================ */

/* Final motion authority. The extra body class makes this layer win over
   accumulated legacy motion declarations without disturbing static design. */
@media all{
  body[data-version="v2"].v241-premium-motion #app .motion-item.v241-motion-pending:not(.v241-hero-choreo):not(.v241-intro-choreo){
    opacity:0!important;
    transform:translate3d(0,44px,0)!important;
    filter:none!important;
    transition:none!important;
    will-change:opacity,transform!important;
  }
  body[data-version="v2"].v241-premium-motion #app .motion-item.v241-motion-in:not(.v241-hero-choreo):not(.v241-intro-choreo){
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    filter:none!important;
    transition:
      opacity .94s cubic-bezier(.18,.72,.18,1) var(--v241-delay,0ms),
      transform 1.14s cubic-bezier(.14,.82,.16,1) var(--v241-delay,0ms)!important;
  }
  body[data-version="v2"].v241-premium-motion #app .motion-item.v241-motion-settled{
    opacity:1!important;transform:none!important;filter:none!important;will-change:auto!important;
  }

  /* Approved raster art reveals without transform, protecting pixel clarity. */
  body[data-version="v2"].v241-premium-motion #app .v214-clean-approved.motion-item.v241-motion-pending{
    opacity:0!important;transform:none!important;clip-path:inset(0 7% 0 0)!important;
  }
  body[data-version="v2"].v241-premium-motion #app .v214-clean-approved.motion-item.v241-motion-in{
    opacity:1!important;transform:none!important;clip-path:inset(0)!important;
    transition:opacity 1.06s cubic-bezier(.18,.72,.18,1) var(--v241-delay,0ms),clip-path 1.28s cubic-bezier(.14,.82,.16,1) var(--v241-delay,0ms)!important;
  }

  /* HERO CHOREOGRAPHY — the page does not simply fade in. The kicker resolves,
     title follows, then context and action. Text never scales or blurs. */
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.motion-item{
    opacity:1!important;transform:none!important;filter:none!important;transition:none!important;
  }
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-pending>:is(.kicker,h1,.gold-rule,.lede,.v2-home-intro,.actions,.v2-humanity-mini,.founder-linkedin,.founder-direct-contact){
    opacity:0!important;transform:translate3d(0,24px,0)!important;filter:none!important;
    transition:none!important;will-change:opacity,transform!important;
  }
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-in>:is(.kicker,h1,.gold-rule,.lede,.v2-home-intro,.actions,.v2-humanity-mini,.founder-linkedin,.founder-direct-contact){
    opacity:1!important;transform:translate3d(0,0,0)!important;filter:none!important;
    transition:opacity .78s cubic-bezier(.2,.72,.2,1),transform .96s cubic-bezier(.14,.82,.16,1)!important;
  }
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-in>.kicker{transition-delay:.04s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-in>h1{transition-delay:.13s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-in>.gold-rule{transition-delay:.22s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-in>:is(.lede,.v2-home-intro){transition-delay:.27s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-in>.actions{transition-delay:.39s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-in>.v2-humanity-mini{transition-delay:.48s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-in>:is(.founder-linkedin,.founder-direct-contact){transition-delay:.46s!important}

  /* SECTION INTRODUCTION — discover the thought in sequence instead of a flat
     block reveal. */
  body[data-version="v2"].v241-premium-motion #app .v241-intro-choreo.motion-item{
    opacity:1!important;transform:none!important;filter:none!important;transition:none!important;
  }
  body[data-version="v2"].v241-premium-motion #app .v241-intro-choreo.v241-motion-pending>:is(.kicker,h2,p){
    opacity:0!important;transform:translate3d(0,20px,0)!important;transition:none!important;filter:none!important;
  }
  body[data-version="v2"].v241-premium-motion #app .v241-intro-choreo.v241-motion-in>:is(.kicker,h2,p){
    opacity:1!important;transform:none!important;filter:none!important;
    transition:opacity .76s cubic-bezier(.2,.72,.2,1),transform .94s cubic-bezier(.14,.82,.16,1)!important;
  }
  body[data-version="v2"].v241-premium-motion #app .v241-intro-choreo.v241-motion-in>.kicker{transition-delay:.03s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-intro-choreo.v241-motion-in>h2{transition-delay:.13s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-intro-choreo.v241-motion-in>p{transition-delay:.26s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-intro-choreo:before{
    transform:scaleX(.10)!important;transform-origin:left center!important;opacity:.10!important;
    transition:transform 1.08s cubic-bezier(.14,.82,.16,1) .18s,opacity .84s ease .18s!important;
  }
  body[data-version="v2"].v241-premium-motion #app .v241-intro-choreo.v241-motion-in:before{transform:scaleX(1)!important;opacity:.42!important}

  /* Two-column systems answer one another rather than landing as one slab. */
  @media(min-width:801px){
    body[data-version="v2"].v241-premium-motion #app :is(.split,.cta-split,.hero-grid,.v2-home-hero-grid,.v2-split-wide,.v2-free-grid,.v2-evidence-grid,.v2-results-grid)>.motion-item.v241-motion-pending:nth-child(2):not(.v214-clean-approved){
      transform:translate3d(28px,12px,0)!important;
    }
    body[data-version="v2"].v241-premium-motion #app :is(.split,.cta-split,.hero-grid,.v2-home-hero-grid,.v2-split-wide,.v2-free-grid,.v2-evidence-grid,.v2-results-grid)>.motion-item.v241-motion-in:nth-child(2):not(.v214-clean-approved){
      transform:translate3d(0,0,0)!important;
      transition-delay:calc(var(--v241-delay,0ms) + 110ms)!important;
    }
  }

  /* SCENE CHOREOGRAPHY — existing system components resolve with visible
     stagger and dimensional depth on every device. */
  body[data-version="v2"].v241-premium-motion #app .v241-scene-pending :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
    .metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div,.impact-pillar
  ){
    opacity:.06!important;transform:translate3d(0,22px,0)!important;filter:none!important;
    animation:none!important;transition:none!important;will-change:opacity,transform!important;
  }
  body[data-version="v2"].v241-premium-motion #app .v241-scene-in :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
    .metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div,.impact-pillar
  ){
    opacity:1!important;transform:translate3d(0,0,0)!important;filter:none!important;
    transition:opacity .84s cubic-bezier(.2,.72,.2,1),transform 1.02s cubic-bezier(.14,.82,.16,1)!important;
  }
  body[data-version="v2"].v241-premium-motion #app .v241-scene-in :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
    .metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div,.impact-pillar
  ):nth-child(2){transition-delay:.12s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-scene-in :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
    .metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div,.impact-pillar
  ):nth-child(3){transition-delay:.24s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-scene-in :is(
    .v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,
    .model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,
    .v213-stage-labels span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,
    .metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div,.impact-pillar
  ):nth-child(4){transition-delay:.36s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-scene-in :is(
    .v2-journey>div:not(.journey-origin),.impact-pillar
  ):nth-child(5){transition-delay:.48s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-scene-in .v2-journey>div:not(.journey-origin):nth-child(6){transition-delay:.60s!important}

  /* Restore the authored micro-sequences that were flattened in earlier
     motion cleanup. */
  body[data-version="v2"].v241-premium-motion #app .v2-humanity-mini.v241-scene-in .v213-pillar-key i{animation:v213TextResolve .58s cubic-bezier(.2,.72,.2,1) .82s forwards!important}
  body[data-version="v2"].v241-premium-motion #app .v2-humanity-mini.v241-scene-in .v213-pillar-key i:nth-child(2){animation-delay:.96s!important}
  body[data-version="v2"].v241-premium-motion #app .v2-humanity-mini.v241-scene-in .v213-pillar-key i:nth-child(3){animation-delay:1.10s!important}
  body[data-version="v2"].v241-premium-motion #app .v2-friction-rail.v241-scene-in .friction-signals span{animation:v213TextResolve .58s cubic-bezier(.2,.72,.2,1) forwards!important}
  body[data-version="v2"].v241-premium-motion #app .v2-friction-rail.v241-scene-in .friction-signals span:nth-child(2){animation-delay:.15s!important}
  body[data-version="v2"].v241-premium-motion #app .v2-friction-rail.v241-scene-in .friction-signals span:nth-child(3){animation-delay:.30s!important}
  body[data-version="v2"].v241-premium-motion #app .v214-growth-path.v241-scene-in .v214-growth-steps>div{animation:v213TextResolve .62s cubic-bezier(.2,.72,.2,1) forwards!important}
  body[data-version="v2"].v241-premium-motion #app .v214-growth-path.v241-scene-in .v214-growth-steps>div:nth-child(2){animation-delay:.14s!important}
  body[data-version="v2"].v241-premium-motion #app .v214-growth-path.v241-scene-in .v214-growth-steps>div:nth-child(3){animation-delay:.28s!important}
  body[data-version="v2"].v241-premium-motion #app .v214-growth-path.v241-scene-in .v214-growth-steps>div:nth-child(4){animation-delay:.42s!important}

  /* Existing line/path geometry draws with intention. */
  body[data-version="v2"].v241-premium-motion #app .v2-journey .journey-line{transform:scaleX(0)!important;animation:none!important;transform-origin:left center!important}
  body[data-version="v2"].v241-premium-motion #app .v2-journey.v241-scene-in .journey-line{animation:journeyDraw 1.42s cubic-bezier(.14,.82,.16,1) .10s forwards!important}
  body[data-version="v2"].v241-premium-motion #app .model-shell[data-method-scene]:before{transform:scaleX(0)!important;animation:none!important;transform-origin:left center!important}
  body[data-version="v2"].v241-premium-motion #app .model-shell[data-method-scene].v241-scene-in:before{animation:journeyDraw 1.34s cubic-bezier(.14,.82,.16,1) .08s forwards!important}
  body[data-version="v2"].v241-premium-motion #app .v2-intake-actions:after{transform:scaleX(0)!important;animation:none!important;transform-origin:left center!important}
  body[data-version="v2"].v241-premium-motion #app .v2-intake-actions.v241-scene-in:after{animation:v213LineResolve .92s cubic-bezier(.14,.82,.16,1) .16s forwards!important}

  body[data-version="v2"].v241-premium-motion #app .v213-stage .path{stroke-dashoffset:520!important;animation:none!important}
  body[data-version="v2"].v241-premium-motion #app .v213-stage.v241-scene-in .path{animation:v213Path 1.38s cubic-bezier(.14,.82,.16,1) .06s forwards!important}
  body[data-version="v2"].v241-premium-motion #app .v213-stage.v241-scene-in .path.alt{animation-delay:.22s!important}
  body[data-version="v2"].v241-premium-motion #app .v213-stage .node{opacity:0!important;transform:scale(.25)!important;animation:none!important}
  body[data-version="v2"].v241-premium-motion #app .v213-stage.v241-scene-in .node{animation:v213NodeResolve .48s cubic-bezier(.14,.82,.16,1) .50s forwards!important}
  body[data-version="v2"].v241-premium-motion #app .v213-stage.v241-scene-in .node.n2{animation-delay:.61s!important}
  body[data-version="v2"].v241-premium-motion #app .v213-stage.v241-scene-in .node.n3{animation-delay:.72s!important}
  body[data-version="v2"].v241-premium-motion #app .v213-stage.v241-scene-in .node.n4{animation-delay:.83s!important}
  body[data-version="v2"].v241-premium-motion #app .v213-stage.v241-scene-in .node.n5{animation-delay:.94s!important}

  /* LIVING SYSTEM PHYSIOLOGY — breathing is slow; heartbeat is a tiny double
     impulse; all movement uses geometry already present in the design. */
  body[data-version="v2"].v241-premium-motion #app .v2-q-stage.v241-scene-settled img{
    animation:v241QBreath 8.2s cubic-bezier(.37,0,.23,1) 1.0s infinite!important;transform-origin:center!important;will-change:transform!important
  }
  body[data-version="v2"].v241-premium-motion #app .v2-q-stage.v241-scene-settled i{
    animation:v241RingHeartbeat 9.8s cubic-bezier(.2,.72,.2,1) infinite!important
  }
  body[data-version="v2"].v241-premium-motion #app .v2-q-stage.v241-scene-settled i:nth-of-type(2){animation-delay:.14s!important}
  body[data-version="v2"].v241-premium-motion #app .v2-q-stage.v241-scene-settled i:nth-of-type(3){animation-delay:.28s!important}
  body[data-version="v2"].v241-premium-motion #app .v2-q-stage.v241-scene-settled:after{
    animation:v241SystemHeartbeat 9.8s ease-out 1.1s infinite!important;transform-origin:center!important
  }
  body[data-version="v2"].v241-premium-motion #app .v2-humanity-mini.v241-scene-settled .v2-humanity-mini-graphic{
    animation:v241FieldBreath 9.2s cubic-bezier(.37,0,.23,1) 1.2s infinite!important;transform-origin:center!important
  }
  body[data-version="v2"].v241-premium-motion #app .v2-humanity-mini.v241-scene-settled .commitment-node{
    animation:v241CommitmentBeat 10.6s ease-out 1.4s infinite!important;transform-origin:center!important
  }
  body[data-version="v2"].v241-premium-motion #app .v2-humanity-mini.v241-scene-settled .node-b{animation-delay:1.55s!important}
  body[data-version="v2"].v241-premium-motion #app .v2-humanity-mini.v241-scene-settled .node-c{animation-delay:1.70s!important}
  body[data-version="v2"].v241-premium-motion #app .v2-vantage-q.v241-motion-settled img{
    animation:v241FieldBreath 9.6s cubic-bezier(.37,0,.23,1) .8s infinite!important;transform-origin:center!important
  }
  body[data-version="v2"].v241-premium-motion #app .v213-stage.v241-scene-settled .ring.r1{animation:v213RingBreath 6.4s ease-in-out infinite alternate!important}
  body[data-version="v2"].v241-premium-motion #app .v213-stage.v241-scene-settled .ring.r2{animation:v213RingBreath 8.1s ease-in-out .45s infinite alternate-reverse!important}
  body[data-version="v2"].v241-premium-motion #app .v213-stage.v241-scene-settled .node.n2{animation:v241SystemNodeBeat 10.2s ease-out 1.2s infinite!important}

  /* Interaction response is dimensional but the clickable geometry never
     moves, preventing hover jitter. */
  body[data-version="v2"].v241-premium-motion :is(.btn,.text-link,.inline-link,.v2-vantage-card,.offer-card,.insight-card){
    transition-property:background-color,border-color,color,box-shadow,opacity,letter-spacing!important;
    transition-duration:.38s!important;transition-timing-function:cubic-bezier(.2,.72,.2,1)!important
  }
  @media(hover:hover) and (pointer:fine){
    body[data-version="v2"].v241-premium-motion .btn:hover{box-shadow:0 12px 26px rgba(20,20,22,.10)!important}
    body[data-version="v2"].v241-premium-motion :is(.text-link,.inline-link):hover{letter-spacing:.018em!important}
  }
}

/* Desktop should feel cinematic, not merely visible. */
@media(min-width:801px){
  body[data-version="v2"].v241-premium-motion #app .motion-item.v241-motion-pending:not(.v241-hero-choreo):not(.v241-intro-choreo):not(.v214-clean-approved){transform:translate3d(0,54px,0)!important}
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-pending>:is(.kicker,h1,.gold-rule,.lede,.v2-home-intro,.actions,.v2-humanity-mini,.founder-linkedin,.founder-direct-contact){transform:translate3d(0,30px,0)!important}
}

/* Mobile gets the same complete language, with enough amplitude and pacing to
   feel deliberate rather than like a reduced desktop fallback. */
@media(max-width:800px){
  body[data-version="v2"].v241-premium-motion #app .motion-item.v241-motion-pending:not(.v241-hero-choreo):not(.v241-intro-choreo):not(.v214-clean-approved){transform:translate3d(0,42px,0)!important}
  body[data-version="v2"].v241-premium-motion #app .motion-item.v241-motion-in:not(.v241-hero-choreo):not(.v241-intro-choreo){
    transition:opacity .96s cubic-bezier(.18,.72,.18,1) var(--v241-delay,0ms),transform 1.16s cubic-bezier(.14,.82,.16,1) var(--v241-delay,0ms)!important
  }
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-pending>:is(.kicker,h1,.gold-rule,.lede,.v2-home-intro,.actions,.v2-humanity-mini,.founder-linkedin,.founder-direct-contact){transform:translate3d(0,28px,0)!important}
  body[data-version="v2"].v241-premium-motion #app .v241-hero-choreo.v241-motion-in>:is(.kicker,h1,.gold-rule,.lede,.v2-home-intro,.actions,.v2-humanity-mini,.founder-linkedin,.founder-direct-contact){transition-duration:.84s,1.02s!important}
  body[data-version="v2"].v241-premium-motion #app .v241-scene-pending :is(.v2-method-steps article,.path-preview-grid>div,.model-stage,.practice-outcomes b,.outcome-domains span,.friction-signals span,.v213-pillar-key i,.v214-growth-steps>div,.v214-impact-points>div,.metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div,.impact-pillar){transform:translate3d(0,26px,0)!important}
  body[data-version="v2"].v241-premium-motion #app .v2-method-steps:after{transform:scaleY(0)!important;animation:none!important;transform-origin:top!important}
  body[data-version="v2"].v241-premium-motion #app .v2-method-steps.v241-scene-in:after{animation:v213VerticalResolve 1.34s cubic-bezier(.14,.82,.16,1) .16s forwards!important}
}

@keyframes v241QBreath{
  0%,100%{transform:scale(1)}
  38%{transform:scale(1.024)}
  51%{transform:scale(1.012)}
  70%{transform:scale(1.003)}
}
@keyframes v241RingHeartbeat{
  0%,66%,100%{opacity:.32;transform:scale(1)}
  72%{opacity:.54;transform:scale(1.035)}
  75%{opacity:.34;transform:scale(1.006)}
  79%{opacity:.47;transform:scale(1.021)}
  83%{opacity:.32;transform:scale(1)}
}
@keyframes v241SystemHeartbeat{
  0%,67%,100%{opacity:.70;transform:translate(-50%,-50%) scale(1)}
  72%{opacity:.92;transform:translate(-50%,-50%) scale(1.18)}
  75%{opacity:.72;transform:translate(-50%,-50%) scale(1.02)}
  79%{opacity:.86;transform:translate(-50%,-50%) scale(1.10)}
  83%{opacity:.70;transform:translate(-50%,-50%) scale(1)}
}
@keyframes v241FieldBreath{
  0%,100%{transform:scale(1)}
  43%{transform:scale(1.014)}
  57%{transform:scale(1.007)}
  74%{transform:scale(1.001)}
}
@keyframes v241CommitmentBeat{
  0%,68%,100%{opacity:1;transform:scale(1)}
  73%{opacity:1;transform:scale(1.32)}
  76%{opacity:1;transform:scale(1.03)}
  80%{opacity:1;transform:scale(1.18)}
  84%{opacity:1;transform:scale(1)}
}
@keyframes v241SystemNodeBeat{
  0%,68%,100%{opacity:1;transform:scale(1)}
  73%{opacity:1;transform:scale(1.40)}
  76%{opacity:1;transform:scale(1.04)}
  80%{opacity:1;transform:scale(1.20)}
  84%{opacity:1;transform:scale(1)}
}

/* Recovery is absolute: no interrupted scroll or background tab can strand
   readable content in a faded state. */
body[data-version="v2"] #app .v241-motion-settled,
body[data-version="v2"] #app .v241-motion-settled :is(h1,h2,h3,h4,p,li,strong,b,small,span,a),
body[data-version="v2"] #app .v241-scene-settled :is(h1,h2,h3,h4,p,li,strong,b,small,span,a){opacity:1!important;filter:none!important}

/* Accessibility remains final. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app :is(.v241-motion-pending,.v241-motion-in,.v241-motion-settled){opacity:1!important;transform:none!important;filter:none!important;transition:none!important;animation:none!important;clip-path:none!important;will-change:auto!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app :is(.v241-scene-pending,.v241-scene-in,.v241-scene-settled) *{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;filter:none!important}


/* ================================================================
   JDQPS V2.40 — REVIEW CORRECTION 11 — PREMIUM MOTION DIRECTOR
   USER-LOCKED SCOPE: MOTION ONLY.
   A single deterministic engine now drives desktop + mobile choreography.
   Static layout, artwork, typography, copy, navigation and spacing untouched.
   ================================================================ */

/* Pseudo-element / line choreography that cannot be driven by inline styles. */
@media all{
  body[data-version="v2"].v242-motion-live #app .v2-method-steps:after{
    transform:scaleY(0)!important;transform-origin:top center!important;animation:none!important
  }
  body[data-version="v2"].v242-motion-live #app .v2-method-steps.v242-scene-in:after{
    animation:v242VerticalDraw 1.46s cubic-bezier(.14,.82,.16,1) .14s forwards!important
  }
  body[data-version="v2"].v242-motion-live #app .v2-journey .journey-line{
    transform:scaleX(0)!important;transform-origin:left center!important;animation:none!important
  }
  body[data-version="v2"].v242-motion-live #app .v2-journey.v242-scene-in .journey-line{
    animation:v242HorizontalDraw 1.56s cubic-bezier(.14,.82,.16,1) .08s forwards!important
  }
  body[data-version="v2"].v242-motion-live #app .model-shell[data-method-scene]:before{
    transform:scaleX(0)!important;transform-origin:left center!important;animation:none!important
  }
  body[data-version="v2"].v242-motion-live #app .model-shell[data-method-scene].v242-scene-in:before{
    animation:v242HorizontalDraw 1.46s cubic-bezier(.14,.82,.16,1) .10s forwards!important
  }
  body[data-version="v2"].v242-motion-live #app .v2-intake-actions:after{
    transform:scaleX(0)!important;transform-origin:left center!important;animation:none!important
  }
  body[data-version="v2"].v242-motion-live #app .v2-intake-actions.v242-scene-in:after{
    animation:v242HorizontalDraw 1.04s cubic-bezier(.14,.82,.16,1) .18s forwards!important
  }

  /* BREATH — slow, quiet, and limited to existing system geometry. */
  body[data-version="v2"].v242-motion-live #app .v2-q-stage.v242-physiology img{
    animation:v242QBreath 8.6s cubic-bezier(.37,0,.23,1) 1.0s infinite!important;
    transform-origin:center!important;will-change:transform!important
  }
  body[data-version="v2"].v242-motion-live #app .v2-humanity-mini.v242-physiology .v2-humanity-mini-graphic{
    animation:v242FieldBreath 9.4s cubic-bezier(.37,0,.23,1) 1.1s infinite!important;
    transform-origin:center!important;will-change:transform!important
  }
  body[data-version="v2"].v242-motion-live #app .v2-vantage-q.v242-physiology img{
    animation:v242FieldBreath 9.8s cubic-bezier(.37,0,.23,1) .9s infinite!important;
    transform-origin:center!important;will-change:transform!important
  }
  body[data-version="v2"].v242-motion-live #app .v213-stage.v242-physiology .ring.r1{
    animation:v242RingBreath 7.1s ease-in-out .5s infinite alternate!important
  }
  body[data-version="v2"].v242-motion-live #app .v213-stage.v242-physiology .ring.r2{
    animation:v242RingBreath 8.7s ease-in-out 1.0s infinite alternate-reverse!important
  }

  /* HEARTBEAT — a double impulse with long recovery, not a looping UI pulse. */
  body[data-version="v2"].v242-motion-live #app .v2-q-stage.v242-physiology:after{
    animation:v242Heartbeat 10.8s ease-out 1.7s infinite!important;transform-origin:center!important
  }
  body[data-version="v2"].v242-motion-live #app .v2-humanity-mini.v242-physiology .commitment-node{
    animation:v242NodeHeartbeat 11.6s ease-out 1.8s infinite!important;transform-origin:center!important
  }
  body[data-version="v2"].v242-motion-live #app .v2-humanity-mini.v242-physiology .node-b{animation-delay:1.96s!important}
  body[data-version="v2"].v242-motion-live #app .v2-humanity-mini.v242-physiology .node-c{animation-delay:2.12s!important}
  body[data-version="v2"].v242-motion-live #app .v213-stage.v242-physiology .node.n2{
    animation:v242NodeHeartbeat 10.9s ease-out 1.6s infinite!important;transform-origin:center!important;transform-box:fill-box!important
  }

  /* CIRCULATION — existing paths remain connected after their reveal. */
  body[data-version="v2"].v242-motion-live #app .v213-stage.v242-physiology .path{
    animation:v242PathAlive 9.6s ease-in-out 2.1s infinite!important
  }
  body[data-version="v2"].v242-motion-live #app .v213-stage.v242-physiology .path.alt{animation-delay:3.0s!important}

  /* RESPONSE / RECOVERY — dimensional feedback without moving hit targets. */
  body[data-version="v2"].v242-motion-live :is(.btn,.text-link,.inline-link,.offer-card,.insight-card,.v2-vantage-card){
    transition-property:background-color,border-color,color,box-shadow,opacity,letter-spacing!important;
    transition-duration:.38s!important;transition-timing-function:cubic-bezier(.2,.72,.2,1)!important
  }
  @media(hover:hover) and (pointer:fine){
    body[data-version="v2"].v242-motion-live .btn:hover{box-shadow:0 13px 30px rgba(20,20,22,.11)!important}
    body[data-version="v2"].v242-motion-live :is(.text-link,.inline-link):hover{letter-spacing:.016em!important}
  }
}

@keyframes v242VerticalDraw{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes v242HorizontalDraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes v242QBreath{
  0%,100%{transform:scale(1)}
  38%{transform:scale(1.022)}
  51%{transform:scale(1.011)}
  69%{transform:scale(1.003)}
}
@keyframes v242FieldBreath{
  0%,100%{transform:scale(1)}
  42%{transform:scale(1.014)}
  56%{transform:scale(1.007)}
  73%{transform:scale(1.001)}
}
@keyframes v242RingBreath{
  from{opacity:.48;transform:scale(.995)}
  to{opacity:.78;transform:scale(1.018)}
}
@keyframes v242Heartbeat{
  0%,68%,100%{opacity:.66;transform:translate(-50%,-50%) scale(1)}
  73%{opacity:.95;transform:translate(-50%,-50%) scale(1.16)}
  76%{opacity:.70;transform:translate(-50%,-50%) scale(1.02)}
  80%{opacity:.88;transform:translate(-50%,-50%) scale(1.09)}
  84%{opacity:.66;transform:translate(-50%,-50%) scale(1)}
}
@keyframes v242NodeHeartbeat{
  0%,68%,100%{opacity:1;transform:scale(1)}
  73%{opacity:1;transform:scale(1.28)}
  76%{opacity:1;transform:scale(1.03)}
  80%{opacity:1;transform:scale(1.14)}
  84%{opacity:1;transform:scale(1)}
}
@keyframes v242PathAlive{
  0%,100%{opacity:.62;stroke-dashoffset:0}
  44%{opacity:.92;stroke-dashoffset:-18}
  64%{opacity:.70;stroke-dashoffset:-8}
}

/* Accessibility remains final and authoritative. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item *{transition:none!important;animation:none!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}


/* ================================================================
   JDQPS V2.40 — REVIEW CORRECTION 12 — ORIGINAL MOTION RESTORATION
   USER-LOCKED SCOPE: MOTION ONLY.
   Restores the working V2.40 desktop viewport engine and original cinematic
   opening. Mobile keeps the same architecture with a stronger authored resolve.
   ================================================================ */

/* Later experimental motion classes are intentionally neutralized. */
body[data-version="v2"].v243-restored-motion #app :is(.v241-motion-pending,.v241-motion-in,.v241-motion-settled,.v242-motion-pending,.v242-motion-in,.v242-motion-settled){
  clip-path:none!important;will-change:auto
}

/* DESKTOP — exact V2.40 viewport-driven contract. */
@media(min-width:801px){
  body[data-version="v2"].v243-restored-motion #app .motion-item{
    opacity:var(--v229-opacity,.06)!important;
    transform:translateY(var(--v229-y,18px))!important;
    filter:none!important;
    transition:none!important;
    backface-visibility:hidden;
    transform-style:preserve-3d
  }
  body[data-version="v2"].v243-restored-motion #app [data-system-scene],
  body[data-version="v2"].v243-restored-motion #app [data-method-scene],
  body[data-version="v2"].v243-restored-motion #app [data-journey],
  body[data-version="v2"].v243-restored-motion #app [data-outcome-scene],
  body[data-version="v2"].v243-restored-motion #app [data-evidence-sequence],
  body[data-version="v2"].v243-restored-motion #app [data-friction-scene]{opacity:var(--v229-scene-opacity,.72)!important}
  body[data-version="v2"].v243-restored-motion #app .v2-journey .journey-line{transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important}
  body[data-version="v2"].v243-restored-motion #app .model-shell[data-method-scene]:before{transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important}
  body[data-version="v2"].v243-restored-motion #app .v2-method-steps:after{transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important}
  body[data-version="v2"].v243-restored-motion #app .v2-vantage-q i{transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important}
  body[data-version="v2"].v243-restored-motion #app .v2-intake-actions:after{transform:scaleX(var(--v229-scene-p,0))!important;animation:none!important}
  body[data-version="v2"].v243-restored-motion #app .v213-stage .path{stroke-dashoffset:calc(520 * (1 - var(--v229-scene-p,0)))!important;animation:none!important}
  body[data-version="v2"].v243-restored-motion #app .v213-stage .node{opacity:var(--v229-scene-p,0)!important;transform:scale(calc(.25 + var(--v229-scene-p,0) * .75))!important;animation:none!important}
  body[data-version="v2"].v243-restored-motion #app .v213-stage .v213-stage-labels span{opacity:var(--v229-scene-p,0)!important;animation:none!important}
  body[data-version="v2"].v243-restored-motion #app .v2-method-steps article,
  body[data-version="v2"].v243-restored-motion #app .v2-journey>div:not(.journey-origin),
  body[data-version="v2"].v243-restored-motion #app .path-preview-grid>div{
    opacity:calc(.42 + var(--v229-scene-p,0) * .58)!important;
    transform:translateY(calc((1 - var(--v229-scene-p,0)) * 7px))!important
  }
}

/* MOBILE/TABLET — restore the original motion classes, then increase amplitude,
   sequencing and visual persistence without leaving readable text faded. */
@media(max-width:800px){
  body[data-version="v2"].v243-restored-motion #app .motion-item{
    opacity:0!important;
    transform:translate3d(0,26px,0)!important;
    filter:none!important;
    transition:opacity .82s cubic-bezier(.18,.72,.18,1),transform 1.02s cubic-bezier(.14,.82,.16,1)!important;
    will-change:opacity,transform
  }
  body[data-version="v2"].v243-restored-motion #app .motion-item.motion-in{opacity:1!important;transform:translate3d(0,0,0)!important}
  body[data-version="v2"].v243-restored-motion #app :is(.split,.cta-split,.v2-home-hero-grid,.v2-split-wide,.v2-free-grid,.v2-evidence-grid,.v2-results-grid)>.motion-item:nth-child(2){transition-delay:.12s!important}
  body[data-version="v2"].v243-restored-motion #app .section-intro.motion-item{transform:translate3d(0,20px,0)!important}
  body[data-version="v2"].v243-restored-motion #app .section-intro.motion-item.motion-in{transform:none!important}

  body[data-version="v2"].v243-restored-motion #app .v2-method-steps article,
  body[data-version="v2"].v243-restored-motion #app .v2-journey>div:not(.journey-origin),
  body[data-version="v2"].v243-restored-motion #app .path-preview-grid>div,
  body[data-version="v2"].v243-restored-motion #app .metric-grid>div,
  body[data-version="v2"].v243-restored-motion #app .client-outcomes>div{
    opacity:.18;transform:translateY(18px);
    transition:opacity .72s ease,transform .86s cubic-bezier(.16,.78,.18,1)
  }
  body[data-version="v2"].v243-restored-motion #app .scene-in :is(.v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,.metric-grid>div,.client-outcomes>div){opacity:1;transform:none}
  body[data-version="v2"].v243-restored-motion #app .scene-in :is(.v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,.metric-grid>div,.client-outcomes>div):nth-child(2){transition-delay:.10s}
  body[data-version="v2"].v243-restored-motion #app .scene-in :is(.v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,.metric-grid>div,.client-outcomes>div):nth-child(3){transition-delay:.20s}
  body[data-version="v2"].v243-restored-motion #app .scene-in :is(.v2-method-steps article,.v2-journey>div:not(.journey-origin),.path-preview-grid>div,.metric-grid>div,.client-outcomes>div):nth-child(4){transition-delay:.30s}
}

/* LIVING SYSTEM — breath, heartbeat and circulation use only existing JDQPS
   geometry. No new artwork, lines or overlays are created. */
body[data-version="v2"].v243-restored-motion #app .v2-q-stage.scene-in img{animation:v243Breath 8.2s cubic-bezier(.37,0,.23,1) 1.0s infinite!important;transform-origin:center}
body[data-version="v2"].v243-restored-motion #app .v2-vantage-q.motion-in img{animation:v243BreathSoft 9.4s cubic-bezier(.37,0,.23,1) 1.2s infinite!important;transform-origin:center}
body[data-version="v2"].v243-restored-motion #app .v213-stage.scene-in .ring.r1{animation:v243RingBreath 7.6s ease-in-out .8s infinite alternate!important}
body[data-version="v2"].v243-restored-motion #app .v213-stage.scene-in .ring.r2{animation:v243RingBreath 9.2s ease-in-out 1.2s infinite alternate-reverse!important}
body[data-version="v2"].v243-restored-motion #app .v213-stage.scene-in .path{animation:v243PathCirculate 8.8s ease-in-out 2.0s infinite!important}
body[data-version="v2"].v243-restored-motion #app .v213-stage.scene-in .path.alt{animation-delay:2.8s!important}
body[data-version="v2"].v243-restored-motion #app .v213-stage.scene-in .node.n2{animation:v243Heartbeat 10.6s ease-out 1.7s infinite!important;transform-box:fill-box;transform-origin:center}
@keyframes v243Breath{0%,100%{transform:scale(1)}40%{transform:scale(1.026)}55%{transform:scale(1.012)}72%{transform:scale(1.003)}}
@keyframes v243BreathSoft{0%,100%{transform:scale(1)}42%{transform:scale(1.016)}58%{transform:scale(1.007)}74%{transform:scale(1.001)}}
@keyframes v243RingBreath{from{opacity:.48;transform:scale(.995)}to{opacity:.82;transform:scale(1.02)}}
@keyframes v243PathCirculate{0%,100%{opacity:.64}44%{opacity:.96}64%{opacity:.72}}
@keyframes v243Heartbeat{0%,68%,100%{opacity:1;transform:scale(1)}73%{transform:scale(1.30)}76%{transform:scale(1.03)}80%{transform:scale(1.15)}84%{transform:scale(1)}}

/* Restore the original cinematic entry authority. The JavaScript owns the large
   Q transform directly; these rules prevent later static locks from flattening it. */
.v225-route-transition.v234-entry-cinematic{z-index:10000!important;background:#F4EFE6!important;opacity:1;visibility:visible;pointer-events:auto}
.v225-route-transition.v234-entry-cinematic .v225-route-transition-mark{background:transparent!important;border-color:transparent!important;box-shadow:none!important;opacity:1!important;transform:none!important}
.v225-route-transition.v234-entry-cinematic .v225-route-transition-mark img{will-change:transform,opacity,filter!important;animation:none!important;transition:none!important}

/* OS-level reduced-motion does not silently flatten the brand experience. The
   JDQPS accessibility control remains the explicit full-motion off switch. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v243-restored-motion #app *,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v243-restored-motion #app *:before,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v243-restored-motion #app *:after{animation:none!important;transition:none!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v243-restored-motion #app .motion-item{opacity:1!important;transform:none!important;filter:none!important}
html[data-jdqps-a11y-motion="reduced"] .v225-route-transition{display:none!important}

/* Correction 12 motion-graphic parity: restore the original authored graphic
   resolves as final authority on both desktop and mobile. */
body[data-version="v2"].v243-restored-motion #app .v2-q-stage.scene-in i{animation:qRing .90s cubic-bezier(.2,.72,.2,1) forwards!important}
body[data-version="v2"].v243-restored-motion #app .v2-q-stage.scene-in i:nth-of-type(2){animation-delay:.11s!important}
body[data-version="v2"].v243-restored-motion #app .v2-q-stage.scene-in i:nth-of-type(3){animation-delay:.22s!important}
body[data-version="v2"].v243-restored-motion #app .v2-vantage-q.motion-in i{animation:lineGrow .90s cubic-bezier(.2,.72,.2,1) .16s forwards!important}
body[data-version="v2"].v243-restored-motion #app .v2-journey.scene-in .journey-line{animation:journeyDraw 1.42s cubic-bezier(.14,.82,.16,1) forwards!important}
body[data-version="v2"].v243-restored-motion #app .v2-journey.scene-in .journey-origin img{animation:v212QResolve .78s cubic-bezier(.2,.72,.2,1) forwards!important}
body[data-version="v2"].v243-restored-motion #app .v2-journey.scene-in>div:not(.journey-origin):before{animation:v212JourneyNode .48s ease forwards!important}
body[data-version="v2"].v243-restored-motion #app .v213-stage.scene-in .v213-stage-labels span{animation:v213TextResolve .58s ease .68s forwards!important}
body[data-version="v2"].v243-restored-motion #app .v213-stage.scene-in .v213-stage-labels span:nth-child(2){animation-delay:.82s!important}
body[data-version="v2"].v243-restored-motion #app .v213-stage.scene-in .v213-stage-labels span:nth-child(3){animation-delay:.96s!important}

/* If an OS/browser reports reduced motion, do not silently make JDQPS static.
   The site's own Accessibility control remains the explicit off switch. */


/* Explicit JDQPS reduced-motion choice is always final. */
html[data-jdqps-a11y-motion="reduced"] .v225-route-transition{display:none!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v243-restored-motion #app .v2-q-stage.scene-in i,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v243-restored-motion #app .v2-vantage-q.motion-in i,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v243-restored-motion #app .v2-journey.scene-in .journey-line,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v243-restored-motion #app .v2-journey.scene-in .journey-origin img,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v243-restored-motion #app .v2-journey.scene-in>div:not(.journey-origin):before,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v243-restored-motion #app .v213-stage.scene-in *{animation:none!important;transition:none!important}


/* ================================================================
   JDQPS V2.40 — REVIEW CORRECTION 13 — MILLION-DOLLAR LIVING MOTION
   USER-LOCKED SCOPE: MOTION ONLY.
   Blend: original V2.40 presence + refined premium choreography.
   ================================================================ */

/* ORIGINAL PRESENCE, REFINED: desktop keeps the deterministic V2.40 viewport
   engine but with more visible depth and absolutely no text blur. */
@media(min-width:801px){
  body[data-version="v2"].v244-million-motion #app .motion-item{
    opacity:var(--v229-opacity,.025)!important;
    transform:translate3d(0,var(--v229-y,46px),0)!important;
    filter:none!important;
    transition:none!important;
    backface-visibility:hidden;
  }
  body[data-version="v2"].v244-million-motion #app [data-system-scene],
  body[data-version="v2"].v244-million-motion #app [data-method-scene],
  body[data-version="v2"].v244-million-motion #app [data-journey],
  body[data-version="v2"].v244-million-motion #app [data-outcome-scene],
  body[data-version="v2"].v244-million-motion #app [data-evidence-sequence],
  body[data-version="v2"].v244-million-motion #app [data-friction-scene]{
    opacity:var(--v229-scene-opacity,.56)!important;
  }

  /* Two-column relationships answer each other as the system resolves. The
     approved artwork itself is never scaled. */
  body[data-version="v2"].v244-million-motion #app :is(.split,.cta-split,.hero-grid,.v2-home-hero-grid,.v2-split-wide,.v2-free-grid,.v2-evidence-grid,.v2-results-grid)>.motion-item:nth-child(2):not(.v214-clean-approved){
    transform:translate3d(calc((1 - var(--v229-opacity,.025))*22px),var(--v229-y,46px),0)!important;
  }
}

/* MOBILE: restore the stronger visual presence, then exceed it. Every readable
   element resolves to full opacity; approved raster art fades only. */
@media(max-width:800px){
  body[data-version="v2"].v244-million-motion #app .motion-item{
    opacity:0!important;
    transform:translate3d(0,54px,0)!important;
    filter:none!important;
    transition:opacity 1.02s cubic-bezier(.18,.72,.18,1),transform 1.28s cubic-bezier(.14,.82,.16,1)!important;
    will-change:opacity,transform;
  }
  body[data-version="v2"].v244-million-motion #app .motion-item.motion-in{opacity:1!important;transform:translate3d(0,0,0)!important}
  body[data-version="v2"].v244-million-motion #app .v214-clean-approved.motion-item{transform:none!important}
  body[data-version="v2"].v244-million-motion #app .v214-clean-approved.motion-item.motion-in{opacity:1!important;transform:none!important}
  body[data-version="v2"].v244-million-motion #app :is(.split,.cta-split,.v2-home-hero-grid,.v2-split-wide,.v2-free-grid,.v2-evidence-grid,.v2-results-grid)>.motion-item:nth-child(2){transition-delay:.14s!important}

  /* Mobile system scenes are visible and sequential rather than flattened. */
  body[data-version="v2"].v244-million-motion #app .v2-method-steps article,
  body[data-version="v2"].v244-million-motion #app .path-preview-grid>div,
  body[data-version="v2"].v244-million-motion #app .model-stage,
  body[data-version="v2"].v244-million-motion #app .practice-outcomes b,
  body[data-version="v2"].v244-million-motion #app .outcome-domains span,
  body[data-version="v2"].v244-million-motion #app .friction-signals span,
  body[data-version="v2"].v244-million-motion #app .v213-pillar-key i,
  body[data-version="v2"].v244-million-motion #app .v214-growth-steps>div,
  body[data-version="v2"].v244-million-motion #app .v214-impact-points>div,
  body[data-version="v2"].v244-million-motion #app .metric-grid>div,
  body[data-version="v2"].v244-million-motion #app .client-outcomes>div,
  body[data-version="v2"].v244-million-motion #app .v2-evidence-steps>div,
  body[data-version="v2"].v244-million-motion #app .impact-pillar{
    transition-duration:.92s,1.08s!important;
    transition-timing-function:cubic-bezier(.18,.72,.18,1),cubic-bezier(.14,.82,.16,1)!important;
  }
}

/* HERO + SECTION RHYTHM. The JS performs the child choreography so it cannot be
   flattened by the parent viewport engine. CSS keeps the gold-rule/system cues alive. */
@media all{
  body[data-version="v2"].v244-million-motion #app .hero-copy.motion-in .gold-rule,
  body[data-version="v2"].v244-million-motion #app .v2-home-copy.motion-in .gold-rule{
    transform-origin:left center;
    animation:v244RuleResolve 1.05s cubic-bezier(.14,.82,.16,1) .18s both;
  }
  body[data-version="v2"].v244-million-motion #app .section-intro.motion-in:before{
    transform-origin:left center;
    animation:v244RuleResolve 1.10s cubic-bezier(.14,.82,.16,1) .22s both;
  }
}
@keyframes v244RuleResolve{from{transform:scaleX(.08);opacity:.16}to{transform:scaleX(1);opacity:1}}

/* EXISTING MOTION GRAPHICS — richer draw/reveal on both desktop and mobile.
   No new lines, labels or overlays are created. */
@media all{
  body[data-version="v2"].v244-million-motion #app .v2-q-stage.scene-in i{animation:v244RingResolve 1.18s cubic-bezier(.14,.82,.16,1) forwards!important}
  body[data-version="v2"].v244-million-motion #app .v2-q-stage.scene-in i:nth-of-type(2){animation-delay:.13s!important}
  body[data-version="v2"].v244-million-motion #app .v2-q-stage.scene-in i:nth-of-type(3){animation-delay:.26s!important}
  body[data-version="v2"].v244-million-motion #app .v2-vantage-q.motion-in i{animation:v244LineResolve 1.12s cubic-bezier(.14,.82,.16,1) .16s forwards!important}
  body[data-version="v2"].v244-million-motion #app .v2-method-steps.scene-in:after{animation:v244SystemDraw 1.46s cubic-bezier(.14,.82,.16,1) .13s forwards!important}
  body[data-version="v2"].v244-million-motion #app .model-shell[data-method-scene].scene-in:before{animation:v244LineResolve 1.52s cubic-bezier(.14,.82,.16,1) .10s forwards!important}
  body[data-version="v2"].v244-million-motion #app .v214-growth-path.scene-in .v214-growth-line:before{animation:v244LineResolve 1.36s cubic-bezier(.14,.82,.16,1) forwards!important}
  body[data-version="v2"].v244-million-motion #app .v214-impact-allocation.scene-in .v214-impact-branch span{animation:v244LineResolve 1.16s cubic-bezier(.14,.82,.16,1) .16s forwards!important}

  /* System map path + nodes reveal, then continue as a living circuit. */
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .path{animation:v213Path 1.52s cubic-bezier(.14,.82,.16,1) .04s forwards!important}
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .path.alt{animation-delay:.22s!important}
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .node{animation:v213NodeResolve .52s cubic-bezier(.14,.82,.16,1) .54s forwards!important}
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .node.n2{animation-delay:.66s!important}
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .node.n3{animation-delay:.78s!important}
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .node.n4{animation-delay:.90s!important}
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .node.n5{animation-delay:1.02s!important}
}
@keyframes v244RingResolve{from{transform:scale(.62);opacity:0}72%{opacity:.78}to{transform:scale(1);opacity:1}}
@keyframes v244LineResolve{from{transform:scaleX(0);opacity:.22}to{transform:scaleX(1);opacity:1}}
@keyframes v244SystemDraw{from{transform:scaleX(0);opacity:.15}to{transform:scaleX(1);opacity:.72}}
@media(max-width:800px){@keyframes v244SystemDraw{from{transform:scaleY(0);opacity:.15}to{transform:scaleY(1);opacity:.72}}}

/* PHYSIOLOGY: breath, heartbeat, circulation, recovery. Only existing geometry
   participates. Approved raster graphics are excluded from continuous scaling. */
@media all{
  body[data-version="v2"].v244-million-motion #app .v2-q-stage.scene-in i:nth-of-type(1){animation:v244RingResolve 1.18s cubic-bezier(.14,.82,.16,1) forwards,v244RingBreath 8.6s ease-in-out 1.6s infinite alternate!important}
  body[data-version="v2"].v244-million-motion #app .v2-q-stage.scene-in i:nth-of-type(2){animation:v244RingResolve 1.18s cubic-bezier(.14,.82,.16,1) .13s forwards,v244RingBreath 10.2s ease-in-out 1.9s infinite alternate-reverse!important}
  body[data-version="v2"].v244-million-motion #app .v2-q-stage.scene-in i:nth-of-type(3){animation:v244RingResolve 1.18s cubic-bezier(.14,.82,.16,1) .26s forwards,v244HeartbeatRing 11.4s ease-out 2.2s infinite!important}
  body[data-version="v2"].v244-million-motion #app .v2-q-stage.scene-in:after{animation:v244HeartbeatDot 11.4s ease-out 2.2s infinite!important}
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .ring.r1{animation:v244StageBreath 8.4s ease-in-out 1.4s infinite alternate!important}
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .ring.r2{animation:v244StageBreath 10.1s ease-in-out 1.9s infinite alternate-reverse!important}
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .node.n2{animation:v213NodeResolve .52s cubic-bezier(.14,.82,.16,1) .66s forwards,v244NodeBeat 10.8s ease-out 2.0s infinite!important}
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .path{animation:v213Path 1.52s cubic-bezier(.14,.82,.16,1) .04s forwards,v244Circulation 9.6s ease-in-out 2.1s infinite!important}
  body[data-version="v2"].v244-million-motion #app .v213-stage.scene-in .path.alt{animation-delay:.22s,3.0s!important}
  body[data-version="v2"].v244-million-motion #app .brand-signal i{animation:v244SignalBeat 9.8s ease-out infinite!important}
  body[data-version="v2"].v244-million-motion #app .brand-signal i:nth-child(2){animation-delay:.08s!important}
  body[data-version="v2"].v244-million-motion #app .brand-signal i:nth-child(3){animation-delay:.16s!important}
  body[data-version="v2"].v244-million-motion #app .brand-signal i:nth-child(4){animation-delay:.24s!important}
  body[data-version="v2"].v244-million-motion #app .brand-signal i:nth-child(5){animation-delay:.32s!important}
}
@keyframes v244RingBreath{from{opacity:.42;transform:scale(.995)}to{opacity:.80;transform:scale(1.018)}}
@keyframes v244StageBreath{from{opacity:.13;transform:scale(.997)}to{opacity:.28;transform:scale(1.012)}}
@keyframes v244HeartbeatRing{0%,68%,100%{opacity:.38;transform:scale(1)}73%{opacity:.84;transform:scale(1.045)}76%{opacity:.46;transform:scale(1.006)}80%{opacity:.68;transform:scale(1.023)}84%{opacity:.38;transform:scale(1)}}
@keyframes v244HeartbeatDot{0%,68%,100%{opacity:.70;transform:translate(-50%,-50%) scale(1)}73%{opacity:1;transform:translate(-50%,-50%) scale(1.26)}76%{opacity:.76;transform:translate(-50%,-50%) scale(1.03)}80%{opacity:.94;transform:translate(-50%,-50%) scale(1.13)}84%{opacity:.70;transform:translate(-50%,-50%) scale(1)}}
@keyframes v244NodeBeat{0%,68%,100%{opacity:1;transform:scale(1)}73%{transform:scale(1.30)}76%{transform:scale(1.03)}80%{transform:scale(1.15)}84%{transform:scale(1)}}
@keyframes v244Circulation{0%,100%{opacity:.58}42%{opacity:.98}58%{opacity:.72}72%{opacity:.90}}
@keyframes v244SignalBeat{0%,70%,100%{opacity:.34;transform:scale(1)}74%{opacity:.86;transform:scale(1.24)}77%{opacity:.42;transform:scale(1.04)}81%{opacity:.68;transform:scale(1.13)}85%{opacity:.34;transform:scale(1)}}

/* INTERACTION RESPONSE WITHOUT HITBOX MOVEMENT. */
@media(hover:hover) and (pointer:fine){
  body[data-version="v2"].v244-million-motion :is(.btn,.offer-card,.insight-card,.v2-vantage-card,.client-story){
    transition:box-shadow .42s cubic-bezier(.2,.72,.2,1),border-color .42s ease,background-color .42s ease,opacity .42s ease!important;
  }
  body[data-version="v2"].v244-million-motion .btn:hover{box-shadow:0 15px 34px rgba(20,20,22,.12)!important}
  body[data-version="v2"].v244-million-motion :is(.offer-card,.insight-card,.v2-vantage-card,.client-story):hover{box-shadow:0 18px 42px rgba(20,20,22,.075)!important}
}

/* REDUCED MOTION: fully readable, no spatial/continuous motion. */

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v244-million-motion #app *,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v244-million-motion #app *:before,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v244-million-motion #app *:after{animation:none!important;transition:none!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].v244-million-motion #app .motion-item{opacity:1!important;transform:none!important;filter:none!important}


/* ================================================================
   JDQPS V2.40 — SECOND 10-PASS CYCLE / PREMIUM REFINEMENT LOCK
   Baseline: Correction 15 (motion verified by user on desktop + mobile).
   HARD RULE: motion must not be flattened by refinement passes.
   ================================================================ */

/* Screenshot-approved refinement: keep the full friction composition, remove only
   the unintended burgundy center ring. The teal line + blue nodes stay intact. */
body[data-version="v2"] #app .v2-friction-rail .friction-line b{display:none!important;animation:none!important}

/* Lived System Method — restore a dedicated authored evidence line without
   repurposing the model shell's atmospheric circle. Desktop line draws once
   when the scene resolves; the existing SVG pathways continue their own motion. */
@media(min-width:801px){
  body[data-version="v2"] #app .model-shell[data-method-scene]::after{
    content:"";position:absolute;left:6%;right:6%;top:50%;height:1px;
    background:linear-gradient(90deg,transparent 0,var(--amber) 8%,var(--amber) 92%,transparent 100%);
    opacity:.78;transform:scaleX(0);transform-origin:left center;pointer-events:none;z-index:0;
  }
  body[data-version="v2"] #app .model-shell[data-method-scene].scene-in::after{
    animation:v260LivedLineDraw 1.72s cubic-bezier(.14,.82,.16,1) .12s forwards!important;
  }
}
@keyframes v260LivedLineDraw{0%{transform:scaleX(0);opacity:.15}72%{opacity:.86}100%{transform:scaleX(1);opacity:.72}}

/* Desktop page handoff: same approved Q/pathway cue, simply allowed to breathe
   slightly longer. Mobile timing remains unchanged. */
@media(min-width:801px){
  .v225-route-transition{transition:opacity .30s ease,visibility 0s linear .78s!important}
  .v225-route-transition.is-active .v225-route-transition-mark i{animation-duration:.60s!important}
  .v225-route-transition.is-active .v225-route-transition-mark img{animation-duration:.74s!important}
}

/* Explicit JDQPS reduced-motion choice remains final for newly restored line. */
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .model-shell[data-method-scene]::after{animation:none!important;transform:scaleX(1)!important;opacity:.50!important}


/* ================================================================
   JDQPS V2.40 — DEEP 10-PASS PRODUCTION REFINEMENT
   Baseline: second 10-pass checkpoint.
   Governing rule: refine alignment/clarity/flow while preserving and
   enhancing the working motion system. Approved graphics are untouched.
   ================================================================ */

/* PASS 2 — OPTICAL ALIGNMENT / RENDERING NORMALIZATION
   Remove browser baseline drift from diagram assets and make key system
   geometry optically exact across desktop, tablet and mobile. */
body[data-version="v2"] #app :is(.v2-approved-graphic,.v214-clean-approved,.v2-home-art,.hero-art) > img,
body[data-version="v2"] #app :is(.v2-q-stage,.v2-vantage-q,.v2-contact-system,.journey-origin) img{
  display:block;
}
body[data-version="v2"] #app [data-system-scene] svg,
body[data-version="v2"] #app [data-friction-scene] svg,
body[data-version="v2"] #app [data-method-scene] svg{
  display:block;
}
/* The three friction labels are equal thirds; place each blue datum exactly
   beneath its label center. The unintended burgundy ring remains removed. */
body[data-version="v2"] #app .v2-friction-rail .friction-line i:nth-child(1){left:calc(16.6667% - 8.5px)!important;margin-left:0!important}
body[data-version="v2"] #app .v2-friction-rail .friction-line i:nth-child(2){left:calc(50% - 4.5px)!important;margin-left:0!important;transform-origin:center!important}
body[data-version="v2"] #app .v2-friction-rail .friction-line i:nth-child(3){right:calc(16.6667% - 8.5px)!important;margin-right:0!important}
body[data-version="v2"] #app .v2-friction-rail .friction-line b{display:none!important;animation:none!important}

/* Diagram text and circular data marks are always centered by geometry rather
   than inherited text metrics. This prevents subtle drift between breakpoints. */
body[data-version="v2"] #app :is(.v2-result-metrics b,.pillar-number,.v2-impact-core,.v2-impact-node b){text-align:center}
body[data-version="v2"] #app .v2-contact-system{justify-items:center}
body[data-version="v2"] #app .v2-contact-system span{justify-self:stretch}

/* PASS 3 — PAGE-SWITCH LOADING CHOREOGRAPHY
   Every true route change gets the authored Q/pathway handoff. It is deliberately
   slower on desktop and always reset in JS so it cannot silently stop replaying. */
.v225-route-transition.is-switch{
  z-index:9998!important;
  pointer-events:auto!important;
  background:rgba(244,239,230,.965)!important;
  opacity:1!important;
  visibility:visible!important;
  transition:opacity .46s cubic-bezier(.2,.72,.2,1),visibility 0s linear .46s!important;
}
.v225-route-transition.is-switch .v225-route-transition-mark{
  opacity:1!important;
  transform:none!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  grid-template-columns:92px 54px 92px!important;
  gap:14px!important;
}
.v225-route-transition.is-switch .v225-route-transition-mark i{
  opacity:.88!important;
  animation:v270SwitchLine .54s cubic-bezier(.14,.82,.16,1) forwards!important;
}
.v225-route-transition.is-switch .v225-route-transition-mark img{
  width:54px!important;height:54px!important;
  opacity:.52!important;
  transform-origin:50% 50%!important;
  animation:v270SwitchQ .68s cubic-bezier(.14,.82,.16,1) forwards!important;
}
.v225-route-transition.is-switch.is-switch-routing .v225-route-transition-mark img{
  animation:v270SwitchHeartbeat .52s ease-out both!important;
}
.v225-route-transition.is-switch.is-settling{opacity:0!important}
@keyframes v270SwitchLine{0%{transform:scaleX(0);opacity:.18}100%{transform:scaleX(1);opacity:.88}}
@keyframes v270SwitchQ{0%{transform:scale(.76) rotate(-2deg);opacity:.28}68%{transform:scale(1.055) rotate(.25deg);opacity:1}100%{transform:scale(1);opacity:.94}}
@keyframes v270SwitchHeartbeat{0%,100%{transform:scale(1);opacity:.94}28%{transform:scale(1.12);opacity:1}43%{transform:scale(1.02)}62%{transform:scale(1.07)}78%{transform:scale(1)}}
@media(max-width:800px){
  .v225-route-transition.is-switch .v225-route-transition-mark{grid-template-columns:68px 46px 68px!important;gap:10px!important}
  .v225-route-transition.is-switch .v225-route-transition-mark img{width:46px!important;height:46px!important}
}

/* PASS 4 / 8 — LIVING-SYSTEM MOTION ENHANCEMENT
   Existing geometry carries the physiology: breath, pulse, heartbeat,
   circulation, response and recovery. No new lines or artwork are created. */
body[data-version="v2"].v244-million-motion #app .v2-friction-rail.scene-in .friction-line i:nth-child(1){animation:v212NodeResolve .48s ease .52s forwards,v270SignalPulse 10.8s ease-out 2.5s infinite!important}
body[data-version="v2"].v244-million-motion #app .v2-friction-rail.scene-in .friction-line i:nth-child(2){animation:v212NodeResolve .48s ease .64s forwards,v270SignalHeartbeat 10.8s ease-out 2.65s infinite!important}
body[data-version="v2"].v244-million-motion #app .v2-friction-rail.scene-in .friction-line i:nth-child(3){animation:v212NodeResolve .48s ease .76s forwards,v270SignalPulse 10.8s ease-out 2.82s infinite!important}

/* Lived System Method: preserve the one-time draw, then let the line breathe
   quietly instead of becoming inert after its reveal. */
@media(min-width:801px){
  body[data-version="v2"] #app .model-shell[data-method-scene].scene-in::after{
    background-size:220% 100%!important;
    animation:v260LivedLineDraw 1.72s cubic-bezier(.14,.82,.16,1) .12s forwards,
              v270LivedCirculation 8.8s ease-in-out 2.1s infinite!important;
  }
}
body[data-version="v2"].v244-million-motion #app .v2-journey.scene-in .journey-line{
  animation:journeyDraw 1.42s cubic-bezier(.14,.82,.16,1) forwards,
            v270LineBreath 9.4s ease-in-out 1.7s infinite!important;
}
body[data-version="v2"].v244-million-motion #app .v2-contact-system.scene-in img{
  animation:v212QResolve .68s cubic-bezier(.2,.72,.2,1) .18s forwards,
            v270QBreath 9.2s ease-in-out 1.4s infinite!important;
}
body[data-version="v2"].v244-million-motion #app .v2-humanity-mini.scene-in :is(.node-a,.node-b,.node-c){
  animation:v212NodeResolve .48s ease .72s forwards,v270SignalPulse 10.2s ease-out 2.2s infinite!important;
}
body[data-version="v2"].v244-million-motion #app .v2-humanity-mini.scene-in .node-b{animation-delay:.82s,2.36s!important}
body[data-version="v2"].v244-million-motion #app .v2-humanity-mini.scene-in .node-c{animation-delay:.92s,2.52s!important}
@keyframes v270SignalPulse{0%,70%,100%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1.18)}82%{transform:scale(1)}}
@keyframes v270SignalHeartbeat{0%,68%,100%{opacity:1;transform:scale(1)}73%{transform:scale(1.28)}76%{transform:scale(1.03)}80%{transform:scale(1.14)}84%{transform:scale(1)}}
@keyframes v270LivedCirculation{0%,100%{opacity:.58;background-position:0 50%}45%{opacity:.86;background-position:70% 50%}70%{opacity:.68;background-position:100% 50%}}
@keyframes v270LineBreath{0%,100%{opacity:.72}44%{opacity:1}68%{opacity:.80}}
@keyframes v270QBreath{0%,100%{transform:scale(1)}42%{transform:scale(1.018)}57%{transform:scale(1.007)}74%{transform:scale(1.001)}}

/* PASS 5 / 6 — MOBILE/TABLET MOTION RECOVERY + GREATER PRESENCE
   Mobile is not a reduced experience. Its entrances remain spatial and its
   final state is forced fully crisp/readable after each scene completes. */
@media(max-width:800px){
  body[data-version="v2"].v244-million-motion #app .motion-item{
    transform:translate3d(0,58px,0)!important;
    transition:opacity 1.08s cubic-bezier(.16,.78,.18,1),transform 1.18s cubic-bezier(.14,.82,.16,1)!important;
  }
  body[data-version="v2"].v244-million-motion #app .motion-item.motion-in{transform:translate3d(0,0,0)!important;opacity:1!important}
  body[data-version="v2"].v244-million-motion #app .scene-settled,
  body[data-version="v2"].v244-million-motion #app .scene-settled :is(.friction-signals span,.friction-decision>*,.v213-stage-labels span,.v214-growth-steps>div,.v214-impact-points>div,.v2-result-metrics>div,.metric-grid>div,.client-outcomes>div,.v2-evidence-steps>div,.v2-contact-system>*,.v2-about-system>*){
    opacity:1!important;filter:none!important;
  }
}

/* PASS 7 / 9 — CRISP PREMIUM SURFACES
   Never animate approved raster artwork with scale; visual response lives in
   surrounding system geometry and surface depth. */
body[data-version="v2"] #app :is(.v214-clean-approved,.v2-approved-graphic) img{transform:none;filter:none}
@media(hover:hover) and (pointer:fine){
  body[data-version="v2"].v244-million-motion #app :is(.offer-card,.individual-service,.insight-card,.client-story,.v2-vantage-card){
    transition:box-shadow .46s cubic-bezier(.2,.72,.2,1),border-color .36s ease,background-color .36s ease!important;
  }
}

/* Explicit JDQPS accessibility choice is still final. */
html[data-jdqps-a11y-motion="reduced"] .v225-route-transition{display:none!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .model-shell[data-method-scene]::after,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .v2-friction-rail .friction-line i,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .v2-contact-system img,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .v2-journey .journey-line{animation:none!important;transition:none!important}

/* DEEP PASS 2B — PAGE-START OPTICAL PARITY
   The For Organizations / For Individuals title position remains the reference.
   Legal/accessibility simple heroes and mobile insight icon heroes now reserve
   the same visual rhythm instead of starting noticeably high/low. */
@media(min-width:901px){
  body[data-version="v2"] #app>.simple-hero{padding-top:88px!important}
}
@media(max-width:900px){
  body[data-version="v2"] #app>.hero .hero-copy>.kicker,
  body[data-version="v2"] #app>.simple-hero>.wrap>.kicker{
    min-height:38px!important;
    display:flex!important;
    align-items:flex-end!important;
  }
  body[data-version="v2"] #app>.simple-hero{padding-top:102px!important}
}
@media(max-width:800px){
  body[data-version="v2"] #app .hero-copy>.v2-insight-route-icon{
    position:absolute!important;
    width:48px!important;height:48px!important;
    right:0!important;top:-10px!important;margin:0!important;
  }
  body[data-version="v2"] #app .hero-copy:has(>.v2-insight-route-icon){position:relative!important}
  body[data-version="v2"] #app .hero-copy:has(>.v2-insight-route-icon)>.kicker{padding-right:62px!important}
}

/* ================================================================
   JDQPS V2.40 — DEVICE PARITY + UNIVERSAL EXPLORE STICKINESS
   Mobile is the experiential quality benchmark. Desktop/tablet retain
   their wide-screen composition while matching its motion presence,
   dimensional response, and living-system pacing.
   ================================================================ */

/* EXPLORE — one deterministic behavior on every viewport. The bar remains
   in normal flow until reached, then fixes immediately beneath the live
   sticky header. The placeholder prevents any layout jump. */
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  z-index:840!important;
}
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled.is-stuck{
  position:fixed!important;
  top:var(--v2-explore-top,78px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:990!important;
  background:rgba(244,239,230,.985)!important;
  box-shadow:0 10px 28px rgba(20,20,22,.075)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
body[data-version="v2"] #app .v215-context-placeholder{
  display:none!important;
  height:0!important;
}
body[data-version="v2"] #app .v215-context-placeholder.is-active{
  display:block!important;
}
@media(max-width:800px){
  body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled.is-stuck{
    box-shadow:0 8px 22px rgba(20,20,22,.065)!important;
  }
  body[data-version="v2"] #app .v2-context-nav .wrap{
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
  }
  body[data-version="v2"] #app .v2-context-nav a,
  body[data-version="v2"] #app .v2-context-nav .context-label{
    scroll-snap-align:start;
  }
}

/* DESKTOP/TABLET EXPERIENCE PARITY — match the mobile site's visible motion
   amplitude and authored presence without turning wide layouts into mobile.
   Approved raster artwork remains unscaled and sharp. */
@media(min-width:801px){
  body[data-version="v2"].v244-million-motion #app .motion-item{
    opacity:var(--v229-opacity,.018)!important;
    transform:translate3d(0,var(--v229-y,54px),0)!important;
    filter:none!important;
    backface-visibility:hidden!important;
  }
  body[data-version="v2"].v244-million-motion #app :is(.split,.cta-split,.hero-grid,.v2-home-hero-grid,.v2-split-wide,.v2-free-grid,.v2-evidence-grid,.v2-results-grid)>.motion-item:nth-child(2):not(.v214-clean-approved){
    transform:translate3d(calc((1 - var(--v229-opacity,.018))*30px),var(--v229-y,54px),0)!important;
  }
  body[data-version="v2"].v244-million-motion #app [data-system-scene],
  body[data-version="v2"].v244-million-motion #app [data-method-scene],
  body[data-version="v2"].v244-million-motion #app [data-journey],
  body[data-version="v2"].v244-million-motion #app [data-outcome-scene],
  body[data-version="v2"].v244-million-motion #app [data-evidence-sequence],
  body[data-version="v2"].v244-million-motion #app [data-friction-scene]{
    opacity:var(--v229-scene-opacity,.46)!important;
  }

  /* Wide-screen surfaces receive the same tactile refinement mobile gets
     through movement, without moving the hitbox or softening text. */
  body[data-version="v2"].v244-million-motion #app :is(.offer-card,.individual-service,.insight-card,.client-story,.v2-vantage-card,.path-preview-grid>div,.metric-grid>div){
    transition:box-shadow .46s cubic-bezier(.2,.72,.2,1),border-color .36s ease,background-color .36s ease!important;
  }
}

/* Tablet is not a halfway-static experience: preserve the richer physiology
   and allow system geometry to breathe at the same cadence as mobile. */
@media(min-width:801px) and (max-width:1180px){
  body[data-version="v2"].v244-million-motion #app .motion-item{
    transform:translate3d(0,var(--v229-y,58px),0)!important;
  }
  body[data-version="v2"].v244-million-motion #app :is(.split,.cta-split,.hero-grid,.v2-home-hero-grid,.v2-split-wide,.v2-free-grid,.v2-evidence-grid,.v2-results-grid)>.motion-item:nth-child(2):not(.v214-clean-approved){
    transform:translate3d(calc((1 - var(--v229-opacity,.018))*24px),var(--v229-y,58px),0)!important;
  }
}

/* Accessibility remains final. */
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item{
  opacity:1!important;transform:none!important;filter:none!important;
}


/* ================================================================
   JDQPS V2.40 — STICKY / HOME SEAM / LOCKED COLOR RESTORATION
   Surgical corrections only:
   - Explore uses native sticky positioning on every eligible device.
   - Home reveals seamlessly beneath the opening without a second hero load.
   - Main canvas returns to locked Warm Ivory; original desktop/tablet diagonal
     Home field is restored. Existing locked accent colors remain authoritative.
   ================================================================ */

/* Locked canvas: prevent transparent/light surfaces from falling through to
   browser white. Colored sections retain their explicit brand backgrounds. */
html{background:#F4EFE6!important}
body[data-version="v2"],
body[data-version="v2"] #app,
body[data-version="v2"] #app>.v2-page{
  background-color:var(--ivory,#F4EFE6)!important;
}
body[data-version="v2"] :is(.hero,.simple-hero,.bg-ivory,.v2-why,.v2-method,.v2-route-choice){
  background-color:var(--ivory,#F4EFE6)!important;
}

/* HOME — restore the locked diagonal Warm Ivory / Human Stone field on wider
   canvases. Mobile keeps the clean Warm Ivory field that is already working. */
@media(min-width:801px){
  body[data-version="v2"][data-route="home"] #app .v2-home-hero{
    background-image:linear-gradient(110deg,var(--ivory,#F4EFE6) 0 69%,rgba(207,198,184,.43) 69% 100%)!important;
    background-color:var(--ivory,#F4EFE6)!important;
  }
}
@media(max-width:800px){
  body[data-version="v2"][data-route="home"] #app .v2-home-hero{
    background-image:none!important;
    background-color:var(--ivory,#F4EFE6)!important;
  }
}

/* EXPLORE — native sticky is the final authority. No fixed-position class,
   placeholder, or scroll threshold is required. */
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled,
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled.is-stuck{
  position:sticky!important;
  top:var(--v2-explore-top,78px)!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  z-index:990!important;
  background:rgba(244,239,230,.985)!important;
  box-shadow:0 8px 20px rgba(20,20,22,.055)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
body[data-version="v2"] #app .v215-context-placeholder,
body[data-version="v2"] #app .v215-context-placeholder.is-active{display:none!important;height:0!important}

/* Explore/header optical lock: follow the same shell-progress variable as the
   shrinking sticky header, so the rail never floats below it after scroll. */
@media(min-width:801px){
  body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled,
  body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled.is-stuck{
    top:calc(103px - 11px * var(--shell-p,0))!important;
    transition:top .12s linear!important;
  }
}
@media(max-width:800px){
  body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled,
  body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled.is-stuck{
    top:calc(91px - 4px * var(--shell-p,0))!important;
    transition:top .12s linear!important;
  }
}

/* HOME OPENING SEAM — once the hero is marked in, it is a fully settled
   underlay for the cinematic surface. This prevents a second perceived hero
   load/fade after the opening releases, especially at tablet widths. */
body[data-version="v2"][data-route="home"] #app .v2-home-hero .motion-item.motion-in{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}


/* ================================================================
   JDQPS V2.40 — LOCKED 3-ITEM REFINEMENT
   Scope only: Explore seam, page-switch choreography, locked Ivory/Stone field.
   ================================================================ */

/* 1. EXPLORE SEAM — use the exact live header bottom supplied by JS.
   The half-pixel overlap prevents anti-aliased daylight between two sticky
   composited layers without changing either layer's visible height. */
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled,
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled.is-stuck{
  position:sticky!important;
  top:calc(var(--v2-explore-top,78px) - .5px)!important;
  margin-top:0!important;
  border-top:0!important;
  background:#F4EFE6!important;
}

/* 2. PAGE-SELECTION HANDOFF — same Q/pathway language, elevated presence. */
.v225-route-transition.is-switch{
  background:#F4EFE6!important;
  transition:opacity .56s cubic-bezier(.16,.78,.18,1),visibility 0s linear .56s!important;
}
.v225-route-transition.is-switch .v225-route-transition-mark{
  grid-template-columns:132px 62px 132px!important;
  gap:18px!important;
}
.v225-route-transition.is-switch .v225-route-transition-mark i{
  height:1px!important;
  background:var(--route-accent)!important;
  animation:v273SwitchLine .72s cubic-bezier(.12,.84,.14,1) forwards!important;
}
.v225-route-transition.is-switch .v225-route-transition-mark img{
  width:62px!important;height:62px!important;
  animation:v273SwitchQ .84s cubic-bezier(.12,.84,.14,1) forwards!important;
}
.v225-route-transition.is-switch.is-switch-routing .v225-route-transition-mark img{
  animation:v273SwitchHeartbeat .68s cubic-bezier(.18,.72,.18,1) both!important;
}
.v225-route-transition.is-switch.is-switch-routing .v225-route-transition-mark i{
  animation:v273SwitchLineHold .68s ease both!important;
}
@keyframes v273SwitchLine{
  0%{transform:scaleX(0);opacity:.08}
  58%{opacity:.92}
  100%{transform:scaleX(1);opacity:.82}
}
@keyframes v273SwitchLineHold{
  0%,100%{opacity:.82}
  38%{opacity:1}
  72%{opacity:.68}
}
@keyframes v273SwitchQ{
  0%{transform:scale(.70) rotate(-2.4deg);opacity:.18}
  52%{transform:scale(1.07) rotate(.35deg);opacity:1}
  72%{transform:scale(.985) rotate(0);opacity:.96}
  100%{transform:scale(1);opacity:1}
}
@keyframes v273SwitchHeartbeat{
  0%,100%{transform:scale(1);opacity:1}
  20%{transform:scale(1.13)}
  34%{transform:scale(1.018)}
  50%{transform:scale(1.075)}
  65%{transform:scale(1)}
  82%{transform:scale(1.018)}
}
@media(max-width:800px){
  .v225-route-transition.is-switch .v225-route-transition-mark{
    grid-template-columns:82px 50px 82px!important;gap:12px!important;
  }
  .v225-route-transition.is-switch .v225-route-transition-mark img{
    width:50px!important;height:50px!important;
  }
}

/* 3. LOCKED COLOR FIELD — literal source colors, no browser-white fallback.
   Warm Ivory owns the canvas. Human Stone owns the Home diagonal accent. */
html,
body[data-version="v2"],
body[data-version="v2"] #app,
body[data-version="v2"] #app>.v2-page{
  background-color:#F4EFE6!important;
}
body[data-version="v2"]{
  --ivory:#F4EFE6!important;
  --stone:#CFC6B8!important;
}
body[data-version="v2"] .site-header,
body[data-version="v2"] #app .v2-context-nav{
  background-color:#F4EFE6!important;
}
@media(min-width:801px){
  body[data-version="v2"][data-route="home"] #app .v2-home-hero{
    background-color:#F4EFE6!important;
    background-image:linear-gradient(110deg,#F4EFE6 0 68.75%,#CFC6B8 68.75% 69.05%,rgba(207,198,184,.43) 69.05% 100%)!important;
  }
}
@media(max-width:800px){
  body[data-version="v2"][data-route="home"] #app .v2-home-hero{
    background-color:#F4EFE6!important;
    background-image:none!important;
  }
}


/* ================================================================
   JDQPS V2.40 — LOCKED REFINEMENT v6.7.4
   Scope ONLY:
   (2) materially elevate the page-selection handoff;
   (3) restore the known-good locked Warm Ivory / Human Stone field.
   Sticky Explore, first-entry opening, layout, content, typography and all
   other motion remain untouched.
   ================================================================ */

/* 2. PAGE SELECTION — a fuller Human Systems handoff.
   Existing Q + pathway language is retained; elevation comes from sequencing,
   destination color, Human Stone orbit geometry, signal travel and recovery. */
.v225-route-transition.is-switch{
  --switch-accent:var(--route-accent,#176F73);
  background:#F4EFE6!important;
  transition:opacity 0.9s cubic-bezier(.16,.78,.18,1),visibility 0s linear 0.9s!important;
  overflow:hidden;
}
.v225-route-transition.is-switch:before{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:min(76vw,980px);height:1px;
  background:linear-gradient(90deg,transparent 0,#CFC6B8 18%,#CFC6B8 82%,transparent 100%);
  opacity:0;
  transform:translate(-50%,-50%) scaleX(.08);
  transform-origin:center;
  animation:v274FieldLine 1.275s cubic-bezier(.12,.84,.14,1) 0.1s both;
}
.v225-route-transition.is-switch:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:min(430px,70vw);aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(207,198,184,.32) 0,rgba(207,198,184,.14) 28%,rgba(244,239,230,0) 70%);
  opacity:0;
  transform:translate(-50%,-50%) scale(.62);
  animation:v274StoneField 1.475s cubic-bezier(.12,.84,.14,1) 0.05s both;
}
.v225-route-transition.is-switch .v225-route-transition-mark{
  position:relative;
  z-index:2;
  grid-template-columns:min(15vw,178px) 74px min(15vw,178px)!important;
  gap:24px!important;
  padding:32px 34px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible;
  opacity:1!important;
  transform:none!important;
}
.v225-route-transition.is-switch .v225-route-transition-mark:before,
.v225-route-transition.is-switch .v225-route-transition-mark:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.52);
  opacity:0;
}
.v225-route-transition.is-switch .v225-route-transition-mark:before{
  width:108px;height:108px;
  border:1px solid var(--switch-accent);
  animation:v274OrbitPrimary 1.3s cubic-bezier(.15,.76,.16,1) 0.225s both;
}
.v225-route-transition.is-switch .v225-route-transition-mark:after{
  width:146px;height:146px;
  border:1px solid #CFC6B8;
  animation:v274OrbitSecondary 1.45s cubic-bezier(.15,.76,.16,1) 0.325s both;
}
.v225-route-transition.is-switch .v225-route-transition-mark i{
  position:relative;
  height:2px!important;
  opacity:0;
  background:linear-gradient(90deg,#CFC6B8 0,var(--switch-accent) 100%)!important;
  box-shadow:0 0 0 1px rgba(244,239,230,.26);
  animation:v274SwitchLine 1.25s cubic-bezier(.12,.84,.14,1) 0.15s both!important;
}
.v225-route-transition.is-switch .v225-route-transition-mark i:last-child{
  background:linear-gradient(90deg,var(--switch-accent) 0,#CFC6B8 100%)!important;
}
.v225-route-transition.is-switch .v225-route-transition-mark i:after{
  content:"";
  position:absolute;
  top:50%;
  width:8px;height:8px;
  border-radius:50%;
  background:var(--switch-accent);
  opacity:0;
  box-shadow:0 0 0 5px rgba(244,239,230,.72);
}
.v225-route-transition.is-switch .v225-route-transition-mark i:first-child:after{
  right:-4px;
  animation:v274NodeFromLeft 1.075s cubic-bezier(.14,.80,.18,1) 0.25s both;
}
.v225-route-transition.is-switch .v225-route-transition-mark i:last-child:after{
  left:-4px;
  animation:v274NodeFromRight 1.075s cubic-bezier(.14,.80,.18,1) 0.25s both;
}
.v225-route-transition.is-switch .v225-route-transition-mark img{
  position:relative;
  z-index:3;
  width:74px!important;height:74px!important;
  filter:none!important;
  opacity:1!important;
  scale:.46;
  rotate:-4deg;
  animation:v274SwitchQArrival 1.325s cubic-bezier(.12,.84,.14,1) 0.1s both!important;
}
.v225-route-transition.is-switch.is-switch-routing .v225-route-transition-mark img{
  animation:v274SwitchHeartbeat 0.975s cubic-bezier(.18,.72,.18,1) both!important;
}
.v225-route-transition.is-switch.is-switch-routing .v225-route-transition-mark:before{
  animation:v274RoutePulse 0.975s cubic-bezier(.18,.72,.18,1) both!important;
}
.v225-route-transition.is-switch.is-switch-routing .v225-route-transition-mark:after{
  animation:v274RoutePulseOuter 0.975s cubic-bezier(.18,.72,.18,1) 0.0625s both!important;
}
.v225-route-transition.is-switch.is-switch-routing .v225-route-transition-mark i{
  animation:v274SwitchLineHold 0.975s ease both!important;
}
.v225-route-transition.is-switch.is-settling .v225-route-transition-mark{
  transition:transform 0.9s cubic-bezier(.16,.78,.18,1),opacity 0.75s ease!important;
  transform:scale(1.035)!important;
  opacity:.78!important;
}
@keyframes v274FieldLine{
  0%{opacity:0;transform:translate(-50%,-50%) scaleX(.08)}
  24%{opacity:.32}
  76%{opacity:.54}
  100%{opacity:.18;transform:translate(-50%,-50%) scaleX(1)}
}
@keyframes v274StoneField{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.62)}
  46%{opacity:.84}
  100%{opacity:.42;transform:translate(-50%,-50%) scale(1.08)}
}
@keyframes v274SwitchLine{
  0%{transform:scaleX(0);opacity:0}
  34%{opacity:.95}
  100%{transform:scaleX(1);opacity:.88}
}
@keyframes v274NodeFromLeft{
  0%{opacity:0;transform:translate(-150px,-50%) scale(.55)}
  22%{opacity:1}
  72%{opacity:1}
  100%{opacity:.65;transform:translate(0,-50%) scale(1)}
}
@keyframes v274NodeFromRight{
  0%{opacity:0;transform:translate(150px,-50%) scale(.55)}
  22%{opacity:1}
  72%{opacity:1}
  100%{opacity:.65;transform:translate(0,-50%) scale(1)}
}
@keyframes v274OrbitPrimary{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.52)}
  34%{opacity:.72}
  68%{opacity:.34}
  100%{opacity:.18;transform:translate(-50%,-50%) scale(1)}
}
@keyframes v274OrbitSecondary{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.50)}
  40%{opacity:.46}
  100%{opacity:.18;transform:translate(-50%,-50%) scale(1)}
}
@keyframes v274SwitchQArrival{
  0%{scale:.46;rotate:-4deg}
  55%{scale:1.12;rotate:.6deg}
  72%{scale:.975;rotate:0deg}
  86%{scale:1.035;rotate:0deg}
  100%{scale:1;rotate:0deg}
}
@keyframes v274SwitchHeartbeat{
  0%,100%{scale:1;rotate:0deg}
  17%{scale:1.16}
  30%{scale:1.015}
  45%{scale:1.095}
  58%{scale:.995}
  76%{scale:1.035}
}
@keyframes v274RoutePulse{
  0%{opacity:.18;transform:translate(-50%,-50%) scale(1)}
  24%{opacity:.68;transform:translate(-50%,-50%) scale(1.10)}
  52%{opacity:.26;transform:translate(-50%,-50%) scale(1.24)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.42)}
}
@keyframes v274RoutePulseOuter{
  0%{opacity:.18;transform:translate(-50%,-50%) scale(1)}
  42%{opacity:.34;transform:translate(-50%,-50%) scale(1.12)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.30)}
}
@keyframes v274SwitchLineHold{
  0%,100%{opacity:.88}
  30%{opacity:1}
  62%{opacity:.56}
}
@media(max-width:800px){
  .v225-route-transition.is-switch .v225-route-transition-mark{
    grid-template-columns:72px 58px 72px!important;
    gap:14px!important;
    padding:24px 18px!important;
  }
  .v225-route-transition.is-switch .v225-route-transition-mark img{width:58px!important;height:58px!important}
  .v225-route-transition.is-switch .v225-route-transition-mark:before{width:90px;height:90px}
  .v225-route-transition.is-switch .v225-route-transition-mark:after{width:120px;height:120px}
  .v225-route-transition.is-switch .v225-route-transition-mark i:after{width:7px;height:7px}
  @keyframes v274NodeFromLeft{
    0%{opacity:0;transform:translate(-68px,-50%) scale(.55)}22%{opacity:1}72%{opacity:1}100%{opacity:.65;transform:translate(0,-50%) scale(1)}
  }
  @keyframes v274NodeFromRight{
    0%{opacity:0;transform:translate(68px,-50%) scale(.55)}22%{opacity:1}72%{opacity:1}100%{opacity:.65;transform:translate(0,-50%) scale(1)}
  }
}

/* 3. LOCKED COLOR RESTORATION — return to the known-good V2.40 color formula.
   The source colors are exactly Warm Ivory #F4EFE6 and Human Stone #CFC6B8.
   The Home diagonal uses a 43% Human Stone wash over Warm Ivory. */
html{background:#F4EFE6!important}
body[data-version="v2"]{
  --ivory:#F4EFE6!important;
  --stone:#CFC6B8!important;
  background:#F4EFE6!important;
}
body[data-version="v2"] #app,
body[data-version="v2"] #app>.v2-page,
body[data-version="v2"] :is(.hero,.simple-hero,.bg-ivory,.v2-why,.v2-method,.v2-route-choice){
  background-color:#F4EFE6!important;
}
body[data-version="v2"] .site-header,
body[data-version="v2"] #app .v2-context-nav{
  background-color:#F4EFE6!important;
}
/* Explicitly restore the original Stone-derived neutral fields so later
   translucent/white utility rules cannot wash the brand palette out. */
body[data-version="v2"] #app .v2-mission{background:rgba(207,198,184,.22)!important}
body[data-version="v2"] #app .v2-vantage{background:rgba(207,198,184,.19)!important}
body[data-version="v2"] #app .v2-results{background:rgba(207,198,184,.24)!important}
body[data-version="v2"] #app .model-section{background:linear-gradient(180deg,#F4EFE6,rgba(207,198,184,.16))!important}
@media(min-width:801px){
  body[data-version="v2"][data-route="home"] #app .v2-home-hero{
    background:#F4EFE6!important;
    background-image:linear-gradient(110deg,#F4EFE6 0 69%,rgba(207,198,184,.43) 69% 100%)!important;
  }
}

/* ================================================================
   JDQPS V2.40 — PRODUCTION QA HARDENING
   Preserve the approved cinematic choreography while making the same
   experience safe at reduced motion and inside mobile safe areas.
   ================================================================ */
@media(max-width:800px){
  body[data-version="v2"] #mainNav .mobile-nav-utilities{
    padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;
  }
  body[data-version="v2"] #mainNav .mobile-nav-utilities button{
    background:#F4EFE6!important;
    background-color:#F4EFE6!important;
    color:#141416!important;
  }
  body[data-version="v2"] .jdqps-chat-panel,
  body[data-version="v2"] .jdqps-a11y-panel{
    max-height:calc(100dvh - 92px);
  }
}

/* Final color authority for the rendered V2 shell and utility surfaces. */
body[data-version="v2"] .site-header,
body[data-version="v2"] #app .v2-context-nav,
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled,
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled.is-stuck,
body[data-version="v2"] .nav-menu,
body[data-version="v2"] .page-subnav{
  background:#F4EFE6!important;
  background-color:#F4EFE6!important;
  background-image:none!important;
}
body[data-version="v2"] #app :is(.lede,.dark-behavioral span,.choice-card p,.light-process p,.faq-answer p,.client-type,.careers-form small,.hero-orientation p:not(.lede)){
  color:rgba(20,20,22,.72)!important;
}
body[data-version="v2"] .page-subnav a{color:rgba(20,20,22,.72)!important}
body[data-version="v2"] #app :is(input,select,textarea){
  border-color:#CFC6B8!important;
}
body[data-version="v2"] #app :is(input,textarea)::placeholder{
  color:rgba(20,20,22,.58)!important;
  opacity:1!important;
}





/* Strict locked-palette shell: every primary site surface is a direct
   palette value. Translucent effects are not used on the header, Explore rail,
   menus, or the main neutral canvas. */
html,
body[data-version="v2"],
body[data-version="v2"] #app,
body[data-version="v2"] #app>.v2-page{
  background:#F4EFE6!important;
  background-color:#F4EFE6!important;
  background-image:none!important;
}
body[data-version="v2"] .site-header,
body[data-version="v2"] #app .v2-context-nav,
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled,
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled.is-stuck,
body[data-version="v2"] .nav-menu,
body[data-version="v2"] .page-subnav{
  background:#F4EFE6!important;
  background-color:#F4EFE6!important;
  background-image:none!important;
}
body[data-version="v2"] #app :is(
  .hero,
  .simple-hero,
  .bg-ivory,
  .v2-why,
  .v2-method,
  .v2-route-choice,
  .v2-journey-section
){
  background:#F4EFE6!important;
  background-color:#F4EFE6!important;
  background-image:none!important;
}
body[data-version="v2"] #app :is(
  .choice-card,
  .intake-form,
  .form-grid input,
  .form-grid select,
  .form-grid textarea,
  .client-story,
  .client-logo-plate,
  .inline-client-logo,
  .careers-form input,
  .careers-form select,
  .careers-form textarea
){
  background:#F4EFE6!important;
  background-color:#F4EFE6!important;
}
body[data-version="v2"] #app :is(
  .choice-card p,
  .light-process p,
  .faq-answer p,
  .client-type,
  .careers-form small,
  .hero-orientation p:not(.lede)
){color:rgba(20,20,22,.72)!important}
body[data-version="v2"] .site-footer a{color:rgba(244,239,230,.82)!important}
body[data-version="v2"] .footer-bottom{color:rgba(244,239,230,.66)!important}
@media(min-width:801px){
  body[data-version="v2"][data-route="home"] #app .v2-home-hero{
    background:#F4EFE6!important;
    background-image:linear-gradient(110deg,#F4EFE6 0 69%,rgba(207,198,184,.43) 69% 100%)!important;
  }
}
@media(max-width:800px){
  body[data-version="v2"][data-route="home"] #app .v2-home-hero{
    background:#F4EFE6!important;
    background-color:#F4EFE6!important;
    background-image:none!important;
  }
}
@media(max-width:800px){
  body[data-version="v2"][data-route="home"] #app .v2-home-hero{
    background:#F4EFE6!important;
    background-image:none!important;
  }
}

/* ================================================================
   ASTRA PASS 2 — palette and material authority.
   Warm Ivory remains the base. Static, Stone-colored grain is painted only
   into existing section backgrounds; it never covers content or artwork.
   No animated noise, extra request, overlay, or new interaction layer.
   ================================================================ */
:root{
  --jdqps-paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='192' viewBox='0 0 192 192'%3E%3Cfilter id='grain' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='2' seed='29' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 .811765 0 0 0 0 .776471 0 0 0 0 .721569 0 0 0 .18 0'/%3E%3C/filter%3E%3Cpath fill='%23CFC6B8' filter='url(%23grain)' d='M0 0h192v192H0z'/%3E%3C/svg%3E");
}
html,
body[data-version="v2"],
body[data-version="v2"] #app,
body[data-version="v2"] #app>.v2-page{
  background:#F4EFE6!important;
  background-color:#F4EFE6!important;
}

body[data-version="v2"] #app :is(
  .hero,
  .simple-hero,
  .bg-ivory,
  .v2-why,
  .v2-method,
  .v2-route-choice,
  .v2-journey-section
){
  background:#F4EFE6!important;
  background-color:#F4EFE6!important;
  background-image:var(--jdqps-paper-grain),radial-gradient(ellipse at 12% 4%,rgba(207,198,184,.16),rgba(207,198,184,0) 66%)!important;
  background-size:192px 192px,100% 100%!important;
}

body[data-version="v2"] .site-header,
body[data-version="v2"] #app .v2-context-nav,
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled,
body[data-version="v2"] #app .v2-context-nav.v215-stick-enabled.is-stuck{
  background:#F4EFE6!important;
  background-color:#F4EFE6!important;
}

/* Neutral Ivory objects stay exact; accent-specific vantage cards remain
   accent-tinted so the six supporting colors retain their signal role. */
body[data-version="v2"] #app :is(
  .v2-vantage-card:not(.org):not(.ind),
  .choice-card,
  .v2-real-results article
){
  background:#F4EFE6!important;
  background-color:#F4EFE6!important;
}
body[data-version="v2"] #app .form-grid :is(input,select,textarea){
  background:#F4EFE6!important;
  background-color:#F4EFE6!important;
}

/* Stone supports the existing section rhythm without introducing color bands. */
body[data-version="v2"] #app .v2-mission{background:rgba(207,198,184,.32)!important}
body[data-version="v2"] #app .v2-vantage{background:rgba(207,198,184,.28)!important}
body[data-version="v2"] #app .v2-results{background:rgba(207,198,184,.34)!important}
body[data-version="v2"] #app .model-section{background:linear-gradient(180deg,#F4EFE6,rgba(207,198,184,.24))!important}
body[data-version="v2"] #app :is(.v2-mission,.v2-vantage,.v2-results){
  background-image:var(--jdqps-paper-grain)!important;
  background-size:192px 192px!important;
}
@media(min-width:801px){
  body[data-version="v2"][data-route="home"] #app .v2-home-hero{
    background:#F4EFE6!important;
    background-image:var(--jdqps-paper-grain),linear-gradient(110deg,#F4EFE6 0 69%,rgba(207,198,184,.43) 69% 100%)!important;
    background-size:192px 192px,100% 100%!important;
  }
}
@media(max-width:800px){
  body[data-version="v2"][data-route="home"] #app .v2-home-hero{
    background:#F4EFE6!important;
    background-image:var(--jdqps-paper-grain),radial-gradient(ellipse at 100% 0,rgba(207,198,184,.18),rgba(207,198,184,0) 64%)!important;
    background-size:192px 192px,100% 100%!important;
  }
}

/* V685: readable mobile insets; retain full-bleed section backgrounds. */
@media(max-width:800px){
 body[data-version="v2"] #app .wrap:not(.v2-context-nav .wrap){
  width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;
  padding-left:clamp(20px,5vw,32px)!important;padding-right:clamp(20px,5vw,32px)!important;
 }
 body[data-version="v2"] #app .wrap .wrap{padding-left:0!important;padding-right:0!important}
}

/* V685: contain grids at their real available width, without clipping content. */
body[data-version="v2"] #app .micro-icon-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))!important}
body[data-version="v2"] #app .micro-icon-grid>*{min-width:0!important;width:auto!important}
body[data-version="v2"] #app .intake-submit-note{min-width:0;max-width:100%;overflow-wrap:anywhere}
body[data-version="v2"] #app .form-grid>*{min-width:0}
body[data-version="v2"] #app .form-grid :is(input,select,textarea){min-width:0;max-width:100%}

/* Keep motion overshoot from creating horizontal document scrollbars. */
body[data-version="v2"] #app{overflow-x:clip}
/* Keep the exact Hope Amber category on the existing hero surface. */
body[data-version="v2"][data-route="home"] .v2-home-hero .kicker{
  color:var(--amber)!important;
  background:transparent;
  width:fit-content;
  max-width:100%;
  padding:.45em .7em;
  font-size:clamp(.8125rem,1.7vw,.875rem);
  line-height:1.45;
}

/* Small labels on Ink use Ivory; brand accents remain in their icons. */
body[data-version="v2"] #app .bg-ink .icon-unit h4{color:#F4EFE6!important;font-size:14px!important}

/* V686: slower reading rhythm and the annual giving commitment. */
body[data-version="v2"].v244-million-motion #app .motion-item{transition-duration:1.15s!important}
body[data-version="v2"] #app .v2-humanity-mini{border-top-color:#176F73;border-bottom-color:#CFC6B8;isolation:isolate}
body[data-version="v2"] #app .v2-humanity-mini-copy>small{color:#141416;font-size:12px}
body[data-version="v2"] #app .v2-humanity-mini-copy strong{font-size:24px;color:#176F73}
body[data-version="v2"] #app .v2-humanity-mini .giving-clarifier{font-size:14px;color:#141416}
body[data-version="v2"] #app .v2-humanity-mini .giving-link{font-size:14px;color:#176F73;font-weight:600;margin-top:9px}
body[data-version="v2"] #app .v2-humanity-mini .v213-pillar-key em{font-size:12px;line-height:1.4}
/* Pass 3: the three equal shares echo their corresponding orbit colors.
   Keep the existing 15% lockup and parent pillar choreography untouched. */
body[data-version="v2"] #app .v2-humanity-mini .v213-pillar-key > i:nth-child(1) > b{color:#176F73}
body[data-version="v2"] #app .v2-humanity-mini .v213-pillar-key > i:nth-child(2) > b{color:#D89A32}
body[data-version="v2"] #app .v2-humanity-mini .v213-pillar-key > i:nth-child(3) > b{color:#73806B}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"] #app .v2-humanity-mini.scene-in .v213-pillar-key > i > b[data-p3-share-visible]{
  animation:jdqpsP3PillarAcknowledge 1.2s cubic-bezier(.22,.7,.22,1) 1.5s both;
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"] #app .v2-humanity-mini.scene-in .v213-pillar-key > i:nth-child(2) > b[data-p3-share-visible]{animation-delay:1.64s}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"] #app .v2-humanity-mini.scene-in .v213-pillar-key > i:nth-child(3) > b[data-p3-share-visible]{animation-delay:1.78s}
@keyframes jdqpsP3PillarAcknowledge{
  0%{transform:translateY(3px)}
  58%{transform:translateY(-1px)}
  100%{transform:translateY(0)}
}
body[data-version="v2"] #app .v2-humanity-mini.scene-in .commitment-seg{animation-duration:1.75s!important}
body[data-version="v2"] #app .v2-humanity-mini.scene-in .v2-humanity-mini-graphic>svg{animation:v686GivingOrbit 3.2s cubic-bezier(.22,.7,.22,1) .12s both!important}
body[data-version="v2"] #app .v2-humanity-mini.scene-in .v2-humanity-mini-total{animation:v686GivingWelcome 1.65s cubic-bezier(.2,.75,.22,1) .25s both!important}
body[data-version="v2"] #app .v2-humanity-mini:where(:hover,:focus-visible) .v2-humanity-mini-graphic>svg{animation:v686GivingHello 1.8s cubic-bezier(.22,.7,.22,1) both!important}
body[data-version="v2"] #app .v2-humanity-mini:where(:hover,:focus-visible) .giving-link{text-decoration:underline;text-underline-offset:4px}
@keyframes v686GivingOrbit{0%{transform:rotate(-145deg) scale(.9)}65%{transform:rotate(-84deg) scale(1.04)}100%{transform:rotate(-90deg) scale(1)}}
@keyframes v686GivingWelcome{0%{transform:scale(.84);opacity:.5}65%{transform:scale(1.1);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes v686GivingHello{0%{transform:rotate(-90deg)}35%{transform:rotate(-75deg)}70%{transform:rotate(-96deg)}100%{transform:rotate(-90deg)}}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .motion-item{transition-duration:0s!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .v2-humanity-mini *{animation:none!important;transition:none!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .v2-humanity-mini :is(.commitment-seg,.commitment-spoke){stroke-dashoffset:0!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"] #app .v2-humanity-mini :is(.commitment-node,.v213-pillar-key i){opacity:1!important;transform:none!important}
/* Giving lockup: keep the percentage inside the orbit and its caption outside. */
body[data-version="v2"] #app .v2-humanity-mini-graphic{width:164px!important;height:190px!important}
body[data-version="v2"] #app .v2-humanity-mini-graphic>svg{width:164px!important;height:164px!important;inset:0!important}
body[data-version="v2"] #app .v2-humanity-mini-total{position:absolute;inset:0 0 auto;height:164px;display:flex;align-items:center;justify-content:center}
body[data-version="v2"] #app .v2-humanity-mini-total b{font-size:44px!important;line-height:1!important;color:#8D243A}
body[data-version="v2"] #app .v2-humanity-mini-total small{position:absolute;top:154px;margin:0!important;max-width:none!important;font-size:12px!important;letter-spacing:.035em;line-height:1.3;white-space:nowrap}
@media(max-width:640px){
 body[data-version="v2"] #app .v2-humanity-mini{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 body[data-version="v2"] #app .v2-humanity-mini-graphic{justify-self:center!important}
 body[data-version="v2"] #app .v2-humanity-mini-copy{max-width:none!important}
}

/* Pass 4 R2: the rendered 768px method cards were too narrow, and the
   390px TRANSFORM label split inside a word. Use the existing stacked
   sequence through tablet width and release the nested side padding.
   Keep the approved type, stage colors, Q artwork and motion unchanged. */
@media(max-width:800px){
  body[data-version="v2"][data-route="how-we-work"] #app .model-shell{
    padding-inline:clamp(16px,4vw,28px)!important;
  }
  body[data-version="v2"][data-route="how-we-work"] #app .model-stages{
    grid-template-columns:minmax(0,1fr);
    padding-inline:0;
  }
  body[data-version="v2"][data-route="how-we-work"] #app .model-stage{
    min-width:0;
    padding-inline:clamp(16px,4vw,28px)!important;
  }
  body[data-version="v2"][data-route="how-we-work"] #app .model-connector{
    height:38px;
    font-size:0;
    transform:none;
  }
  body[data-version="v2"][data-route="how-we-work"] #app .model-connector::before{
    content:"↓";
    font-size:25px;
    line-height:1;
    color:var(--teal);
  }
}

/* Pass 5: group the existing intake questions without changing any field,
   required state, responsive input grid or submission behavior. */
body[data-version="v2"] #app .p5-intake-groups{row-gap:30px}
body[data-version="v2"] #app .p5-intake-group{
  grid-column:1/-1;min-inline-size:0;max-width:100%;
  margin:0;padding:18px 0 0;border:0;border-top:1px solid var(--hair);
}
body[data-version="v2"] #app .p5-intake-group legend{
  max-width:100%;padding:0 12px 0 0;
  font-family:var(--serif);font-size:20px;font-weight:600;
  line-height:1.3;color:var(--ink);
}
/* New group headings follow the existing reading preferences. The readable
   font already reaches them through the approved --serif token override. */
html[data-jdqps-a11y-spacing="wide"] body[data-version="v2"] #app .p5-intake-group legend{
  line-height:1.72!important;letter-spacing:.025em!important;word-spacing:.08em!important;
}
html[data-jdqps-a11y-text="large"] body[data-version="v2"] #app .p5-intake-group legend{font-size:22.8px!important}
html[data-jdqps-a11y-text="xlarge"] body[data-version="v2"] #app .p5-intake-group legend{font-size:25.2px!important}
/* The existing centered grid gives empty desktop connector elements zero
   intrinsic width. Fill their assigned tracks; retain mobile vertical lines
   and every existing motion transform/timing. */
@media(min-width:801px){
  body[data-version="v2"][data-route="contact"] #app .v2-contact-system i{
    width:100%;justify-self:stretch;
  }
}

/* PASS 5 R2 — one material world, distinct chapters, calm continuing life.
   The approved art and giving choreography retain their existing owners. */
body[data-version="v2"].p5-authored{
  --p5-paper:var(--ivory);--p5-rule:rgba(20,20,22,.18);
  --p5-edge:rgba(207,198,184,.72);--p5-ease:cubic-bezier(.32,0,.2,1);
}

/* The shell has the same actual paper surface as the page, not a pale veil. */
body[data-version="v2"].p5-authored .site-header,
body[data-version="v2"].p5-authored .nav-menu,
body[data-version="v2"].p5-authored .page-subnav,
body[data-version="v2"].p5-authored #app .v2-context-nav,
body[data-version="v2"].p5-authored #app .v2-context-nav.v215-stick-enabled.is-stuck{
  background-color:var(--ivory)!important;
  background-image:var(--jdqps-paper-grain)!important;
  background-size:192px 192px!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body[data-version="v2"].p5-authored .site-header{
  box-shadow:0 1px 0 var(--stone),0 8px 24px rgba(20,20,22,.055)!important;
}
body[data-version="v2"].p5-authored .nav-menu{
  border:1px solid var(--stone);border-top:2px solid var(--route-accent,var(--teal));
  box-shadow:0 16px 30px rgba(20,20,22,.09),inset 3px 0 0 rgba(207,198,184,.4);
}
body[data-version="v2"].p5-authored #app .v2-context-nav{
  border-top:1px solid var(--stone)!important;border-bottom:1px solid rgba(20,20,22,.18)!important;
  box-shadow:0 5px 16px rgba(20,20,22,.045)!important;
}
body[data-version="v2"].p5-authored :is(.jdqps-a11y-panel,.jdqps-chat-panel,.jdqps-chat-input){
  background-color:var(--ivory)!important;
  background-image:var(--jdqps-paper-grain);background-size:192px 192px;
}
body[data-version="v2"].p5-authored :is(.jdqps-a11y-panel,.jdqps-chat-panel){
  border-color:var(--stone);box-shadow:0 18px 48px rgba(20,20,22,.15);
}
@media(max-width:800px){
  body[data-version="v2"].p5-authored .main-nav.open{
    background:var(--ivory)!important;background-image:var(--jdqps-paper-grain)!important;
    background-size:192px 192px!important;border-top:1px solid var(--stone);
  }
  body[data-version="v2"].p5-authored .main-nav.open :is(.mobile-nav-contact,.mobile-nav-social,.mobile-nav-utilities){
    background-color:transparent!important;border-color:var(--stone);
  }
}

/* The diagonal is now a shallow fold fading into exactly the next paper.
   Grain, base color and edge tone are continuous at the Home/Mission join. */
body[data-version="v2"].p5-authored[data-route="home"] #app .v2-home-hero{
  background-color:var(--ivory)!important;
  background-image:var(--jdqps-paper-grain),linear-gradient(180deg,rgba(244,239,230,0) 28%,var(--ivory) 100%),linear-gradient(110deg,rgba(207,198,184,0) 0 68.8%,rgba(207,198,184,.20) 69%,rgba(207,198,184,.08) 80%,rgba(207,198,184,0) 100%)!important;
  background-size:192px 192px,100% 100%,100% 100%!important;
}
body[data-version="v2"].p5-authored[data-route="home"] #app .v2-mission{
  background-color:var(--ivory)!important;background-image:var(--jdqps-paper-grain)!important;
  background-size:192px 192px!important;border-top-color:transparent!important;
}
body[data-version="v2"].p5-authored #app :is(.hero,.simple-hero,.bg-ivory,.bg-stone,.v2-why,.v2-method,.v2-route-choice){
  background-image:var(--jdqps-paper-grain)!important;background-size:192px 192px!important;
}
body[data-version="v2"].p5-authored #app .p5-material-chapter{
  box-shadow:inset 0 1px 0 rgba(20,20,22,.16),inset 0 18px 34px -28px rgba(20,20,22,.2);
}

/* Proprietary art sits within an architectural field, not in a floating slot.
   Only its existing layout dimensions change; image pixels are untouched. */
body[data-version="v2"].p5-authored #app .p5-authored-hero{padding-block:clamp(44px,5vw,76px)!important}
body[data-version="v2"].p5-authored #app .p5-hero-stage{
  position:relative;min-width:0;padding:34px 24px 28px!important;
  align-self:stretch;display:flex;flex-direction:column;justify-content:center;
  background:var(--ivory)!important;background-image:var(--jdqps-paper-grain)!important;
  background-size:192px 192px!important;border:1px solid var(--stone);
  border-top:3px solid var(--route-accent,var(--teal));
  box-shadow:9px 10px 0 -1px rgba(207,198,184,.44),0 18px 34px -26px rgba(20,20,22,.3)!important;
  overflow:visible!important;
}
body[data-version="v2"].p5-authored #app .p5-hero-stage>img{
  width:100%!important;max-width:100%!important;height:auto!important;max-height:440px;
  object-fit:contain;align-self:center;margin:0!important;
}
body[data-version="v2"].p5-authored #app .p5-hero-caption{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  margin-top:30px;color:var(--ink);font-family:var(--human);font-size:12px;
  line-height:1.5;letter-spacing:.06em;
}
body[data-version="v2"].p5-authored #app .p5-hero-caption span{max-width:34%;min-width:0}
body[data-version="v2"].p5-authored #app .p5-hero-caption span:last-child{text-align:right}
body[data-version="v2"].p5-authored #app .p5-home-stage .p5-signal-track{margin:26px 0 20px}
@media(min-width:801px){
  body[data-version="v2"].p5-authored[data-route="home"] #app .v2-home-hero-grid{grid-template-columns:minmax(0,1.16fr) minmax(0,1fr)!important;gap:36px!important}
  body[data-version="v2"].p5-authored[data-route="home"] #app .p5-home-stage{align-self:start!important;padding-top:54px!important}
  body[data-version="v2"].p5-authored[data-route="home"] #app .p5-home-stage>img{width:100%!important;max-width:100%!important;height:auto!important}
}

/* A small resolved connection remains visible even when motion is reduced. */
body[data-version="v2"].p5-authored #app [data-p5-scene]{--p5-play:paused;--p5-cycle:25s;--p5-signal:var(--route-accent,var(--teal))}
body[data-version="v2"].p5-authored #app [data-p5-scene].p5-in-view{--p5-play:running}
html[data-p5-document-hidden] body[data-version="v2"].p5-authored #app [data-p5-scene]{--p5-play:paused}
body[data-version="v2"].p5-authored #app .p5-signal-track{
  position:relative;height:20px;margin:15px 0 0;overflow:hidden;flex:none;pointer-events:none;
}
body[data-version="v2"].p5-authored #app .p5-signal-track::before{
  content:"";position:absolute;left:3px;right:3px;top:9px;height:1px;background:var(--stone);
}
body[data-version="v2"].p5-authored #app .p5-trace{
  position:absolute;left:0;top:8px;width:24%;height:2px;background:var(--p5-signal);opacity:0;
}
body[data-version="v2"].p5-authored #app .p5-node{
  position:absolute;top:5px;width:9px;height:9px;border-radius:50%;
  background:var(--ivory);border:1px solid var(--p5-signal);transform:scale(1);
}
body[data-version="v2"].p5-authored #app .p5-node-one{left:2px}
body[data-version="v2"].p5-authored #app .p5-node-two{left:calc(50% - 4px)}
body[data-version="v2"].p5-authored #app .p5-node-three{right:2px}
body[data-version="v2"].p5-authored #app .p5-resolution{
  position:absolute;right:3px;top:9px;width:22%;height:1px;background:var(--p5-signal);opacity:.6;transform-origin:right;
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-trace{
  animation:jdqpsP5SignalTravel var(--p5-cycle) var(--p5-ease) 3.8s infinite;
  animation-play-state:var(--p5-play);
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-node{
  animation:jdqpsP5NodeResponse var(--p5-cycle) var(--p5-ease) 3.8s infinite;
  animation-play-state:var(--p5-play);
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-node-two{animation-delay:7.4s}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-node-three{animation-delay:11s}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-resolution{
  animation:jdqpsP5Resolution var(--p5-cycle) var(--p5-ease) 3.8s infinite;
  animation-play-state:var(--p5-play);
}
@keyframes jdqpsP5SignalTravel{
  0%,7%{opacity:0;transform:translateX(-110%)}
  11%{opacity:.8}33%{opacity:.8;transform:translateX(330%)}
  39%,100%{opacity:0;transform:translateX(430%)}
}
@keyframes jdqpsP5NodeResponse{
  0%,4%,24%,100%{transform:scale(1);background:var(--ivory)}
  11%{transform:scale(1.3);background:var(--p5-signal)}
  18%{transform:scale(.98);background:var(--ivory)}
}
@keyframes jdqpsP5Resolution{
  0%,30%,67%,100%{transform:scaleX(1);opacity:.6}
  40%{transform:scaleX(1.25);opacity:1}52%{transform:scaleX(1);opacity:.8}
}

/* The total's protected entrance has no new animation or transform owner.
   Three independent leaf spans continue after the existing P3 acknowledgement. */
body[data-version="v2"].p5-authored #app .v2-humanity-mini .v213-pillar-key .p5-share-life{
  display:inline-block;font:inherit;line-height:inherit;color:inherit;vertical-align:baseline;
  transform-origin:50% 70%;transform:none;
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .v2-humanity-mini.scene-in .v213-pillar-key>i>b[data-p3-share-visible]>.p5-share-life{
  animation:jdqpsP5ShareLife 23.7s var(--p5-ease) 3.6s infinite;
  animation-play-state:var(--p5-play);
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .v2-humanity-mini.scene-in .v213-pillar-key>i:nth-child(2)>b[data-p3-share-visible]>.p5-share-life{animation-duration:29.3s;animation-delay:6.1s}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .v2-humanity-mini.scene-in .v213-pillar-key>i:nth-child(3)>b[data-p3-share-visible]>.p5-share-life{animation-duration:37.1s;animation-delay:8.8s}
@keyframes jdqpsP5ShareLife{
  0%,4%,25%,100%{transform:translateY(0) scale(1)}
  11%{transform:translateY(-1.5px) scale(1.07)}
  18%{transform:translateY(.35px) scale(.995)}
}

/* Organizations: an operating map and a diagnostic cross-section. */
@media(min-width:801px){
  body[data-version="v2"].p5-authored[data-route="organizations"] #app .hero-grid{grid-template-columns:1.13fr 1fr!important;gap:64px!important;align-items:center}
  body[data-version="v2"].p5-authored[data-route="organizations"] #app .p5-hero-stage{margin-top:30px;--p5-cycle:27s;border-left:8px solid var(--teal)}
  body[data-version="v2"].p5-authored[data-route="organizations"] #app .org-journey .wrap{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.5fr);gap:50px;align-items:start}
  body[data-version="v2"].p5-authored[data-route="organizations"] #app .org-journey .section-intro{margin:0!important}
}
body[data-version="v2"].p5-authored[data-route="organizations"] #app .symptom-grid{
  gap:0!important;border-block:1px solid var(--stone);background:var(--ivory)!important;
}
body[data-version="v2"].p5-authored[data-route="organizations"] #app .symptom-grid>div{
  padding:36px!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;
}
body[data-version="v2"].p5-authored[data-route="organizations"] #app .symptom-grid h3{grid-column:1/-1;margin-bottom:14px}
body[data-version="v2"].p5-authored[data-route="organizations"] #app .symptom-grid p{margin:0!important;padding-block:9px;border-bottom:1px solid rgba(20,20,22,.13);font-size:16px}
body[data-version="v2"].p5-authored[data-route="organizations"] #app .symptom-grid .conditions{
  background:rgba(207,198,184,.32)!important;border-left:3px solid var(--teal)!important;
  box-shadow:inset 14px 0 28px -28px var(--ink)!important;
}
body[data-version="v2"].p5-authored #app .p5-authored-system{position:relative}
body[data-version="v2"].p5-authored #app :is(.symptom-grid,.three-evidence,.client-outcomes,.v2-editorial-insight-list,.impact-pillar-grid,.career-fit-grid,.choice-grid).p5-authored-system::after{
  content:"";position:absolute;inset:0 auto auto 0;width:64px;height:2px;background:var(--p5-signal);transform-origin:left;pointer-events:none;
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app :is(.symptom-grid,.three-evidence,.client-outcomes,.v2-editorial-insight-list,.impact-pillar-grid,.career-fit-grid,.choice-grid).p5-authored-system::after{
  animation:jdqpsP5SectionConnection 31s var(--p5-ease) 4.6s infinite;
  animation-play-state:var(--p5-play);
}
@keyframes jdqpsP5SectionConnection{0%,8%,58%,100%{transform:scaleX(1)}26%{transform:scaleX(2.4)}42%{transform:scaleX(1.05)}}
/* The connection moves through the actual engagement sequence, then rests. */
body[data-version="v2"].p5-authored #app .v2-journey [data-p5-step]{position:relative}
body[data-version="v2"].p5-authored #app [data-p5-step="02"]{--p5-step-delay:7s}
body[data-version="v2"].p5-authored #app [data-p5-step="03"]{--p5-step-delay:10s}
body[data-version="v2"].p5-authored #app [data-p5-step="04"]{--p5-step-delay:13s}
body[data-version="v2"].p5-authored #app [data-p5-step="05"]{--p5-step-delay:16s}
body[data-version="v2"].p5-authored #app [data-p5-step="06"]{--p5-step-delay:19s}
body[data-version="v2"].p5-authored #app .p5-step-response{
  position:absolute;right:16px;bottom:9px;width:28px;height:2px;background:var(--p5-signal);
  transform:scaleX(.5);transform-origin:right;opacity:.5;pointer-events:none;
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-step-response{
  animation:jdqpsP5StepResponse 33s var(--p5-ease) var(--p5-step-delay,4s) infinite;
  animation-play-state:var(--p5-play);
}
@keyframes jdqpsP5StepResponse{0%,3%,22%,100%{transform:scaleX(.5);opacity:.5}10%{transform:scaleX(1.4);opacity:1}16%{transform:scaleX(1);opacity:.75}}
body[data-version="v2"].p5-authored #app .p5-method-trace{
  fill:none;stroke:var(--teal);stroke-width:2.5;stroke-linecap:round;
  stroke-dasharray:8 100;stroke-dashoffset:8;pointer-events:none;
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-method-trace{
  animation:jdqpsP5MethodTrace 29.6s var(--p5-ease) 4.6s infinite;
  animation-play-state:var(--p5-play);
}
@keyframes jdqpsP5MethodTrace{0%,8%{stroke-dashoffset:8}48%,100%{stroke-dashoffset:-100}}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].p5-authored #app .p5-method-trace{display:none}

/* Individuals: begin beside the lived experience, then open a path to agency. */
@media(min-width:1001px){
  body[data-version="v2"].p5-authored[data-route="individuals"] #app .hero-grid{grid-template-columns:.95fr 1.15fr!important;gap:68px!important}
  body[data-version="v2"].p5-authored[data-route="individuals"] #app .hero-copy{grid-column:2;grid-row:1}
  body[data-version="v2"].p5-authored[data-route="individuals"] #app .p5-hero-stage{grid-column:1;grid-row:1;margin-top:64px;align-self:center;border-top-color:var(--burgundy);box-shadow:-10px 12px 0 rgba(207,198,184,.4)!important;--p5-cycle:29s}
}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .three-evidence{display:block!important}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .evidence-pillar{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);gap:18px 44px;
  padding:32px 36px!important;margin-bottom:22px;background:var(--ivory)!important;
  color:var(--ink)!important;border:0;border-left:4px solid var(--teal);border-bottom:1px solid var(--stone);
}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .evidence-pillar:nth-child(2){border-left-color:var(--blue);margin-left:5%}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .evidence-pillar:nth-child(3){border-left-color:var(--amber);margin-left:10%}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .evidence-pillar :is(h3,p,b,span){color:var(--ink)!important;margin:0}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .evidence-pillar h3{font-size:28px;line-height:1.18}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .evidence-pillar b{font-size:14px;align-self:start}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .evidence-pillar span{font-size:16px;line-height:1.65}

/* Methods: the approved model stays intact within a larger working atlas. */
@media(min-width:1001px){
  body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .hero-grid{grid-template-columns:.85fr 1.2fr!important;gap:70px!important}
  body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .p5-hero-stage{padding:34px 38px 22px!important;--p5-cycle:31s;box-shadow:0 12px 0 rgba(207,198,184,.44)!important}
}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .model-section>.wrap>.section-intro{max-width:880px}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed{gap:0!important;border:1px solid var(--stone)}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed .system-box{border:0!important;border-radius:0!important;padding:32px!important;background:var(--ivory)!important}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed .gap-box{
  width:auto;height:auto;aspect-ratio:auto;align-self:stretch;min-width:0;margin:0;padding:30px 22px;
  border:0!important;border-inline:1px solid var(--stone)!important;border-radius:0;
  background:rgba(207,198,184,.38)!important;color:var(--ink);
}

/* Proof: a casebook, with a margin for provenance and an uninterrupted record. */
@media(min-width:1001px){
  body[data-version="v2"].p5-authored[data-route="proof"] #app .hero-grid{grid-template-columns:.9fr 1.1fr!important;gap:64px!important}
  body[data-version="v2"].p5-authored[data-route="proof"] #app .hero-copy{grid-column:2;grid-row:1}
  body[data-version="v2"].p5-authored[data-route="proof"] #app .p5-hero-stage{grid-column:1;grid-row:1;align-self:center;border-top-color:var(--burgundy);--p5-cycle:28s}
}
body[data-version="v2"].p5-authored[data-route="proof"] #app .client-story{
  grid-template-columns:160px minmax(0,1fr)!important;gap:48px!important;
  padding:42px 0!important;border:0!important;border-top:2px solid var(--teal)!important;
  box-shadow:none!important;border-radius:0!important;
}
body[data-version="v2"].p5-authored[data-route="proof"] #app .client-story.individual-story{border-top-color:var(--burgundy)!important}
body[data-version="v2"].p5-authored[data-route="proof"] #app .client-logo-column{padding:6px 0!important;min-width:0;background:transparent;color:var(--ink);justify-content:flex-start}
body[data-version="v2"].p5-authored[data-route="proof"] #app .client-logo-plate{min-width:0;min-height:110px;padding:14px 10px}
body[data-version="v2"].p5-authored[data-route="proof"] #app .individual-client-mark{width:96px;height:96px;font-size:42px;background:var(--burgundy);color:var(--ivory);flex:none}
body[data-version="v2"].p5-authored[data-route="proof"] #app .client-story-copy{border-left:1px solid var(--stone);padding-left:40px}
body[data-version="v2"].p5-authored[data-route="proof"] #app .client-story-copy>h3{max-width:38ch;font-size:clamp(27px,2.8vw,36px);line-height:1.2}
body[data-version="v2"].p5-authored[data-route="proof"] #app .model-proof{background:rgba(207,198,184,.25)!important;border-left:2px solid var(--sage);padding:24px 28px}

/* Insights: an editorial opening and a reading index, not equal article cards. */
body[data-version="v2"].p5-authored[data-route="insights"] #app .p5-authored-hero{border-bottom:1px solid var(--stone)}
@media(min-width:801px){
  body[data-version="v2"].p5-authored[data-route="insights"] #app .hero-grid{grid-template-columns:1fr 1fr!important;gap:70px!important;align-items:end}
  body[data-version="v2"].p5-authored[data-route="insights"] #app .p5-hero-stage{border:0;border-bottom:2px solid var(--blue);padding:0 16px 22px!important;box-shadow:none!important;--p5-cycle:33s}
  body[data-version="v2"].p5-authored[data-route="insights"] #app .featured-insight{grid-template-columns:1.15fr .85fr!important;gap:64px!important;padding:44px!important;border-block:1px solid var(--stone);box-shadow:0 12px 0 rgba(207,198,184,.35)}
}
body[data-version="v2"].p5-authored[data-route="insights"] #app .v2-editorial-insight-list{display:block!important;margin-top:58px}
body[data-version="v2"].p5-authored[data-route="insights"] #app .insight-card{
  display:grid!important;grid-template-columns:72px minmax(0,1.05fr) minmax(0,1fr) 130px!important;
  column-gap:30px!important;row-gap:10px!important;padding:30px 0!important;
  border:0!important;border-top:1px solid var(--stone)!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;
}
body[data-version="v2"].p5-authored[data-route="insights"] #app .insight-card>img{grid-column:1;grid-row:1/3;width:54px;height:54px}
body[data-version="v2"].p5-authored[data-route="insights"] #app .insight-card>.kicker{grid-column:2;grid-row:1}
body[data-version="v2"].p5-authored[data-route="insights"] #app .insight-card>h3{grid-column:2;grid-row:2;margin:0;font-size:25px;line-height:1.22}
body[data-version="v2"].p5-authored[data-route="insights"] #app .insight-card>p{grid-column:3;grid-row:1/3;margin:0;align-self:center}
body[data-version="v2"].p5-authored[data-route="insights"] #app .insight-card>a{grid-column:4;grid-row:1/3;align-self:center}

/* Impact: three expanding fields of consequence, with room for the detail. */
body[data-version="v2"].p5-authored[data-route="impact"] #app .p5-hero-stage{border-top-color:var(--sage);--p5-cycle:32s}
body[data-version="v2"].p5-authored[data-route="impact"] #app .p5-hero-stage>img{max-width:230px!important;max-height:240px}
body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar-grid{display:block!important}
body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar{
  display:grid;grid-template-columns:66px minmax(0,1fr) minmax(0,1.3fr);column-gap:36px;row-gap:15px;
  padding:36px 24px!important;border:0!important;border-top:2px solid var(--teal)!important;
  background:var(--ivory)!important;box-shadow:none!important;border-radius:0!important;margin-bottom:26px;
}
body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar.stability-pillar{margin-left:5%;border-top-color:var(--amber)!important}
body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar.belonging-pillar{margin-left:10%;border-top-color:var(--sage)!important}
body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar .pillar-number{grid-column:1;grid-row:1/3;align-self:start;margin:0;width:48px;height:48px}
body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar .pillar-number::after{display:none}
body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar h3{grid-column:2;grid-row:1;font-size:28px;line-height:1.2;margin:0}
body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar p{grid-column:2;grid-row:2;margin:0}
body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar ul{grid-column:3;grid-row:1/3;margin:0;align-self:start;border-left:1px solid var(--stone);padding-left:30px}

/* Careers: a working manifesto; the existing status and form stay truthful. */
@media(min-width:801px){
  body[data-version="v2"].p5-authored[data-route="careers"] #app .hero-grid{grid-template-columns:1.65fr .7fr!important;gap:64px!important}
  body[data-version="v2"].p5-authored[data-route="careers"] #app .p5-hero-stage{align-self:center;padding:26px!important;border-top-color:var(--sage);--p5-cycle:35s}
}
body[data-version="v2"].p5-authored[data-route="careers"] #app .p5-hero-stage>img{max-width:200px!important}
body[data-version="v2"].p5-authored[data-route="careers"] #app .career-fit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 48px!important}
body[data-version="v2"].p5-authored[data-route="careers"] #app .career-fit-grid>div{background:transparent!important;border:0;border-top:1px solid rgba(244,239,230,.32);padding:28px 0!important;box-shadow:none!important}

/* Founder: an editorial statement and an open register of working practice.
   The four approved icons and the labeled provenance remain the evidence. */
body[data-version="v2"].p5-authored[data-route="founder"] #app .v2-profile-hero{border-bottom:1px solid var(--stone)}
@media(min-width:1001px){
  body[data-version="v2"].p5-authored[data-route="founder"] #app .v2-profile-hero .hero-copy{max-width:none;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px 64px}
  body[data-version="v2"].p5-authored[data-route="founder"] #app .hero-copy>.kicker{grid-column:1/-1;grid-row:1}
  body[data-version="v2"].p5-authored[data-route="founder"] #app .hero-copy>h1{grid-column:1;grid-row:2/5;margin:0}
  body[data-version="v2"].p5-authored[data-route="founder"] #app .hero-copy>.lede{grid-column:2;grid-row:2;margin:0}
  body[data-version="v2"].p5-authored[data-route="founder"] #app .hero-copy>.actions{grid-column:2;grid-row:3;margin:0}
  body[data-version="v2"].p5-authored[data-route="founder"] #app .hero-copy>.founder-linkedin{grid-column:2;grid-row:4;margin:0}
  body[data-version="v2"].p5-authored[data-route="founder"] #app .hero-copy>.gold-rule{grid-column:1;grid-row:5;margin:0;width:38%}
}
body[data-version="v2"].p5-authored[data-route="founder"] #app .p5-founder-practices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 44px!important}
body[data-version="v2"].p5-authored[data-route="founder"] #app .p5-founder-practices>.icon-unit{position:relative;padding:30px 0;border:0;border-top:1px solid rgba(244,239,230,.28);background:transparent;box-shadow:none}
body[data-version="v2"].p5-authored[data-route="founder"] #app .p5-founder-practices .p5-step-response{background:var(--accent);right:0}
body[data-version="v2"].p5-authored[data-route="founder"] #app .founder-evidence-grid{gap:0 28px!important}
body[data-version="v2"].p5-authored[data-route="founder"] #app .founder-evidence-grid>div{padding:26px 16px!important;border:0;border-top:1px solid var(--stone);border-radius:0;box-shadow:none;background:transparent}
@media(max-width:560px){
  body[data-version="v2"].p5-authored[data-route="founder"] #app .p5-founder-practices{grid-template-columns:minmax(0,1fr)!important}
}

/* Start: a visible fork in a shared path, with the two choices kept whole. */
@media(min-width:801px){
  body[data-version="v2"].p5-authored[data-route="start"] #app .hero-grid,
  body[data-version="v2"].p5-authored[data-route="contact"] #app .hero-grid{grid-template-columns:minmax(0,1.7fr) minmax(230px,.65fr)!important;gap:70px!important}
}
body[data-version="v2"].p5-authored[data-route="start"] #app .p5-hero-stage>img,
body[data-version="v2"].p5-authored[data-route="contact"] #app .p5-hero-stage>img{max-width:180px!important}
body[data-version="v2"].p5-authored[data-route="start"] #app .choice-grid{gap:0!important;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone)}
body[data-version="v2"].p5-authored[data-route="start"] #app .choice-card{padding:44px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--ivory)!important}
body[data-version="v2"].p5-authored[data-route="start"] #app .org-choice{border-right:1px solid var(--stone)!important}
body[data-version="v2"].p5-authored[data-route="start"] #app .choice-card h3{font-size:38px;line-height:1.15}
body[data-version="v2"].p5-authored[data-route="start"] #app .choice-card span{display:block;margin-top:32px;border-top:2px solid var(--teal);padding-top:18px}
body[data-version="v2"].p5-authored[data-route="start"] #app .ind-choice span{border-top-color:var(--burgundy)}

/* Contact: a correspondence ledger, rather than four equal colored tiles. */
body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid{
  display:block!important;max-width:1220px;width:calc(100% - 88px);margin:0 auto 40px;
  border-bottom:1px solid var(--stone);
}
body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>div{
  display:grid;grid-template-columns:52px minmax(0,.8fr) minmax(0,1.45fr) minmax(110px,.55fr);
  gap:26px;align-items:center;padding:30px 28px!important;border-top:1px solid var(--stone);
  background:var(--ivory)!important;color:var(--ink)!important;
}
body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>div :is(h3,p,a){color:var(--ink)!important;margin:0;min-width:0}
body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>div>svg{width:42px;height:42px}
body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>div>svg *{stroke:var(--teal)}
body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>.bg-teal{background:var(--teal)!important;padding-block:38px!important}
body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>.bg-teal :is(h3,p,a){color:var(--ivory)!important}
body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>.bg-teal>svg *{stroke:var(--ivory)}
body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>.bg-teal>p{grid-column:3/5;line-height:1.8}
body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>div::after{display:none}
body[data-version="v2"].p5-authored[data-route="contact"] #app .v2-contact-system{padding-block:26px;border-block:1px solid var(--stone)}

/* Catalogs and intakes share the material system without losing their purpose. */
body[data-version="v2"].p5-authored #app :is(.full-offer,.individual-service){border-radius:0!important;box-shadow:none!important;border-bottom:1px solid var(--stone)!important;padding-block:34px!important}
body[data-version="v2"].p5-authored #app .p5-intake-group{padding-top:24px;border-top:2px solid var(--stone)}
body[data-version="v2"].p5-authored #app .p5-intake-group legend{padding-right:22px}

/* Calm readable arrivals: less distance, more time, with the giving parent
   excluded. Owned child animation timing is coordinated in app-v674.js. */
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored.v244-million-motion #app .motion-item:not(.v2-humanity-mini):not(.v2-home-copy){
  transition-timing-function:var(--p5-ease)!important;
  transition-duration:1.7s!important;
}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-authored-system :is([data-p5-step],.v2-method-steps article,.v214-impact-points>div,.impact-pillar){
  transition-duration:1.5s!important;transition-timing-function:var(--p5-ease)!important;
}
@media(min-width:801px){
  html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored.v244-million-motion #app .motion-item:not(.v2-humanity-mini):not(.v2-home-copy):not(.v214-clean-approved){
    transform:translate3d(0,clamp(0px,var(--v229-y,16px),16px),0)!important;
    opacity:max(.45,var(--v229-opacity,.45))!important;
  }
}
@media(max-width:800px){
  html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored.v244-million-motion #app .motion-item:not(.motion-in):not(.v2-humanity-mini):not(.v2-home-copy){transform:translateY(16px)!important}
  body[data-version="v2"].p5-authored #app .p5-hero-stage{
    padding:24px 18px 18px!important;margin:18px 0 0!important;align-self:stretch;
    box-shadow:5px 7px 0 rgba(207,198,184,.4)!important;
  }
  body[data-version="v2"].p5-authored #app .p5-hero-stage>img{max-height:320px}
  body[data-version="v2"].p5-authored #app .p5-hero-caption{font-size:12px;gap:12px;margin-top:22px}
  body[data-version="v2"].p5-authored[data-route="organizations"] #app .symptom-grid>div{padding:24px!important}
  body[data-version="v2"].p5-authored[data-route="individuals"] #app .evidence-pillar{margin-left:0!important;gap:16px 24px;padding:26px 22px!important}
  body[data-version="v2"].p5-authored[data-route="proof"] #app .client-story{grid-template-columns:110px minmax(0,1fr)!important;gap:24px!important}
  body[data-version="v2"].p5-authored[data-route="proof"] #app .client-story-copy{padding-left:24px}
  body[data-version="v2"].p5-authored[data-route="insights"] #app .insight-card{grid-template-columns:56px minmax(0,1fr)!important;gap:12px 20px!important}
  body[data-version="v2"].p5-authored[data-route="insights"] #app .insight-card>p{grid-column:2;grid-row:3}
  body[data-version="v2"].p5-authored[data-route="insights"] #app .insight-card>a{grid-column:2;grid-row:4;margin-top:8px}
  body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar{grid-template-columns:44px minmax(0,1fr);margin-left:0!important;gap:16px 24px;padding:26px 12px!important}
  body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar .pillar-number{width:40px;height:40px}
  body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar ul{grid-column:2;grid-row:3;border-left:0;padding-left:20px}
  body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid{width:calc(100% - 40px)}
  body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>div{grid-template-columns:44px minmax(0,1fr);gap:12px 20px;padding:26px 20px!important}
  body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>div>svg{grid-column:1;grid-row:1/3}
  body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>div>h3{grid-column:2;grid-row:1}
  body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>div>p,
  body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>.bg-teal>p{grid-column:2;grid-row:2}
  body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid>div>a{grid-column:2;grid-row:3}
  body[data-version="v2"].p5-authored[data-route="contact"] #app .contact-color-grid a[href^="mailto:"]{overflow-wrap:anywhere}
  body[data-version="v2"].p5-authored[data-route="start"] #app .choice-card{padding:30px!important}
}
@media(max-width:560px){
  body[data-version="v2"].p5-authored[data-route="organizations"] #app .symptom-grid>div{grid-template-columns:minmax(0,1fr)}
  body[data-version="v2"].p5-authored[data-route="organizations"] #app .symptom-grid .conditions{border-left:0!important;border-top:3px solid var(--teal)!important}
  body[data-version="v2"].p5-authored[data-route="individuals"] #app .evidence-pillar{grid-template-columns:minmax(0,1fr);gap:14px}
  body[data-version="v2"].p5-authored[data-route="individuals"] #app .evidence-pillar h3{font-size:26px}
  body[data-version="v2"].p5-authored[data-route="proof"] #app .client-story{grid-template-columns:minmax(0,1fr)!important}
  body[data-version="v2"].p5-authored[data-route="proof"] #app .client-logo-column{display:flex;flex-direction:row;align-items:center;gap:20px;justify-content:flex-start}
  body[data-version="v2"].p5-authored[data-route="proof"] #app .client-logo-plate{flex:0 1 112px}
  body[data-version="v2"].p5-authored[data-route="proof"] #app .client-type{flex:1;min-width:0;text-align:left}
  body[data-version="v2"].p5-authored[data-route="proof"] #app .client-story-copy{border-left:0;padding-left:0}
  body[data-version="v2"].p5-authored[data-route="impact"] #app .impact-pillar h3{font-size:26px}
  body[data-version="v2"].p5-authored[data-route="careers"] #app .career-fit-grid{grid-template-columns:minmax(0,1fr)!important}
  body[data-version="v2"].p5-authored[data-route="start"] #app .org-choice{border-right:0!important;border-bottom:1px solid var(--stone)!important}
  body[data-version="v2"].p5-authored #app .p5-hero-caption{letter-spacing:.025em}
}

/* PASS 5 R3 — observed director corrections. This owns the affected systems. */

/* Full-width artwork relationships. The legacy grid centering was inherited
   after R2 changed these fields to flex, collapsing the absolute-only track. */
body[data-version="v2"].p5-authored #app .p5-hero-stage{align-items:stretch}
body[data-version="v2"].p5-authored #app .p5-hero-stage>img{align-self:center}
body[data-version="v2"].p5-authored #app :is(.p5-signal-track,.p5-hero-caption){width:100%;min-width:0;box-sizing:border-box}
body[data-version="v2"].p5-authored #app .p5-hero-caption{flex-wrap:wrap;column-gap:16px;row-gap:10px}
body[data-version="v2"].p5-authored #app .p5-hero-caption span{flex:0 1 auto;max-width:100%;min-width:min-content;overflow-wrap:normal;word-break:normal;hyphens:none}

/* Navigation has one explicit owner for hover, focus, Escape and navigation.
   Menu placement uses the actual header edge, not the shorter About link. */
@media(min-width:801px){
  body[data-version="v2"] .main-nav.p5-menu-managed .nav-group .nav-menu{display:none;top:var(--p5-menu-top,100%);left:var(--p5-menu-left,-18px);width:min(300px,calc(100vw - 32px));max-height:var(--p5-menu-height,70vh);overflow-y:auto;overflow-x:visible;overscroll-behavior:contain;box-sizing:border-box;transform:none}
  body[data-version="v2"] .main-nav.p5-menu-managed .nav-group.p5-menu-open .nav-menu{display:block}
  body[data-version="v2"] .main-nav.p5-menu-managed .nav-group.p5-menu-open::after{content:"";position:absolute;top:100%;left:var(--p5-menu-left,-18px);width:min(300px,calc(100vw - 32px));height:var(--p5-menu-gap,0px)}
  body[data-version="v2"] .main-nav.p5-menu-managed .nav-menu a{white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.45}
}
body[data-version="v2"].p5-authored #app .v2-context-nav .wrap{flex-wrap:wrap;overflow:visible;gap:9px 22px;padding-block:13px}
body[data-version="v2"].p5-authored #app .v2-context-nav a{white-space:normal;overflow-wrap:normal;min-width:0;line-height:1.45}
body[data-version="v2"].p5-authored #app .v2-context-nav a:focus-visible,
body[data-version="v2"].p5-authored .nav-menu a:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
body[data-version="v2"].p5-authored #app .v2-context-nav.v215-stick-enabled{top:var(--v2-explore-top,80px)!important;transform:none!important}
@media(max-width:800px){
  body[data-version="v2"].p5-authored #app .v2-context-nav .wrap{gap:8px 18px;padding-block:12px}
  body[data-version="v2"].p5-authored #app .v2-context-nav .context-label{flex-basis:100%}
  body[data-version="v2"].p5-authored #app .v2-context-nav a{font-size:13.5px}
  body[data-version="v2"].p5-authored .main-nav .nav-menu a{white-space:normal;overflow-wrap:break-word}
}

/* The Home Q occupies its own line in the reading flow. No transform from
   the old absolute choreography is allowed to move it into the title. */
body[data-version="v2"].p5-authored #app .v2-method-gap-q{display:block;position:static!important;inset:auto!important;width:52px;height:54px;margin:0 0 22px!important;transform:none!important;animation:none!important;opacity:1!important;object-fit:contain}
body[data-version="v2"].p5-authored #app .v2-method-steps::before,
body[data-version="v2"].p5-authored #app .v2-method-steps::after{display:none;content:none}
body[data-version="v2"].p5-authored #app .v2-method-steps .v2-method-gap{padding-top:28px!important}

/* Remove the four empty rings; the numbered evidence and connecting path
   remain the narrative. Restore space around the actual content. */
body[data-version="v2"].p5-authored #app .v2-evidence-steps[data-evidence-sequence]>div::after{content:none!important;display:none!important;animation:none!important}
body[data-version="v2"].p5-authored #app .v2-evidence-steps[data-evidence-sequence]>div{padding-top:48px!important}

body[data-version="v2"].p5-authored #app .v2-real-results article:last-child::after{background:var(--burgundy)!important}
body[data-version="v2"].p5-authored #app .v2-real-results .v214-growth-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
body[data-version="v2"].p5-authored #app .v2-real-results .v214-growth-steps>div{min-width:0;border-top:1px solid var(--stone);padding-top:14px}
body[data-version="v2"].p5-authored #app .v2-result-metrics b{display:flex!important;align-items:center;justify-content:center;white-space:nowrap;gap:0}
body[data-version="v2"].p5-authored #app .v2-result-metrics b [data-count]{display:inline!important;font:inherit;line-height:inherit}
@media(max-width:540px){body[data-version="v2"].p5-authored #app .v2-real-results .v214-growth-steps{grid-template-columns:minmax(0,1fr)}}

/* Restore the strongest approved comparison geometry, with a material field
   and shared evidence axis. The same approved Q marks the gap, without
   replacing or inventing methodology. */
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed{
  display:grid;grid-template-columns:minmax(0,1fr) 270px minmax(0,1fr);gap:34px!important;align-items:center;
  border:0!important;padding:36px 0;background:transparent;isolation:isolate;
}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed::before{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;background:var(--stone);z-index:-1}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed .system-box{
  position:relative;padding:26px 24px!important;border:1px solid var(--stone)!important;border-left:3px solid var(--teal)!important;
  background:var(--ivory)!important;background-image:var(--jdqps-paper-grain)!important;
  box-shadow:6px 8px 0 rgba(207,198,184,.28);border-radius:0!important;
}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed .system-box.lived{border-left-color:var(--burgundy)!important;box-shadow:-6px 8px 0 rgba(207,198,184,.28)}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed .system-box span{padding-block:8px;border-bottom:1px solid rgba(20,20,22,.1)}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed .gap-box{
  width:270px;min-width:0;height:auto;aspect-ratio:1;align-self:center;margin:0 auto;padding:28px;gap:10px;
  border:1px solid var(--stone)!important;border-radius:50%;background:var(--ivory)!important;color:var(--ink);overflow:visible;position:relative;
  box-shadow:0 0 0 9px rgba(207,198,184,.15),0 14px 25px -22px rgba(20,20,22,.35);
}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .gap-box p{max-width:204px;font-size:15.5px!important;line-height:1.45;margin:0}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .gap-box>img{width:44px;height:45px;object-fit:contain;margin:0}
body[data-version="v2"].p5-authored #app .p5-gap-signal{position:absolute;inset:-10px;border:1px solid transparent;border-inline-color:var(--amber);border-radius:50%;pointer-events:none;opacity:.55}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-gap-signal{animation:jdqpsP5GapConnection 34s var(--p5-ease) 5s infinite;animation-play-state:var(--p5-play)}
@keyframes jdqpsP5GapConnection{0%,8%,72%,100%{transform:scale(1);opacity:.45}24%{transform:scale(1.025);opacity:.85}40%{transform:scale(1);opacity:.6}}
@media(max-width:1000px){
  body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed{grid-template-columns:minmax(0,1fr);gap:32px!important}
  body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed::before{left:50%;right:auto;top:5%;bottom:5%;width:1px;height:auto}
  body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .lived-detailed .gap-box{width:min(270px,76vw)}
}

/* Sage had conflicting legacy reading-surface and V2 background rules. A
   controlled Ink veil gives the unchanged Sage base an accessible light-text
   reading face; it does not recolour the protected 5% value or Sage artwork. */
body[data-version="v2"].p5-authored #app .bg-sage{
  background-color:var(--sage);background-image:linear-gradient(rgba(20,20,22,.26),rgba(20,20,22,.26)),var(--jdqps-paper-grain);
  color:var(--ivory);border-color:var(--sage);
}
body[data-version="v2"].p5-authored #app .bg-sage :is(p,b,span,small,h2,h3,h4,.light){color:var(--ivory)!important;opacity:1}
body[data-version="v2"].p5-authored #app .bg-sage .btn.light{color:var(--ivory)!important;border-color:var(--ivory)}
body[data-version="v2"].p5-authored #app .bg-sage .btn.light:hover{color:var(--ink)!important;background:var(--ivory)}
body[data-version="v2"].p5-authored #app .bg-sage :is(.tax-grid span,.humanity-grid span,.path-preview-grid>div,.org-price-grid>div){border-color:rgba(244,239,230,.3)}
/* The Individuals evidence ledger intentionally uses Ivory reading surfaces. */
body[data-version="v2"].p5-authored[data-route="individuals"] #app .evidence-pillar :is(h3,p,b,span){color:var(--ink)!important}

/* Q integration is transparent, including surfaces formerly painted as tiles. */
body[data-version="v2"].p5-authored #app .v2-journey .journey-origin{background:transparent;box-shadow:none;border:0}
body[data-version="v2"].p5-authored .jdqps-chat-mark{background:transparent;box-shadow:none}
body[data-version="v2"].p5-authored .mobile-nav-utilities button{background:var(--ivory);border:1px solid var(--stone);color:var(--ink)}

/* Content stays readable even during fast arrival. Scene containers do not
   multiply child fades. WAAPI still provides the calm child movement. */
body[data-version="v2"].p5-authored #app [data-p5-entry],
body[data-version="v2"].p5-authored #app [data-p5-readable]{opacity:1!important;filter:none!important}
body[data-version="v2"].p5-authored #app [data-p5-entry-settled]{transform:none!important;transition-delay:0s!important}

/* A fine vertical reading edge connects scope to its outcome. This extends
   the existing authored motion into the successful offering compositions. */
body[data-version="v2"].p5-authored #app .p5-offering-chapter{position:relative;background-image:linear-gradient(90deg,rgba(207,198,184,.15),transparent 24%);isolation:isolate}
body[data-version="v2"].p5-authored #app .p5-offering-chapter::after{content:"";position:absolute;left:0;top:32px;height:64px;width:2px;background:var(--route-accent);transform-origin:top;opacity:.6;pointer-events:none}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-offering-chapter::after{animation:jdqpsP5ScopeConnection 39s var(--p5-ease) var(--p5-step-delay,5s) infinite;animation-play-state:var(--p5-play)}
@keyframes jdqpsP5ScopeConnection{0%,6%,63%,100%{transform:scaleY(.65);opacity:.45}24%{transform:scaleY(2.5);opacity:.85}43%{transform:scaleY(1);opacity:.6}}
body[data-version="v2"].p5-authored #app :is(.p5-material-chapter,.p5-hero-stage){background-blend-mode:multiply,normal}
body[data-version="v2"].p5-authored #app .p5-hero-stage{border-bottom:1px solid rgba(20,20,22,.19);box-shadow:8px 10px 0 rgba(207,198,184,.34),0 22px 28px -28px rgba(20,20,22,.32)!important}
body[data-version="v2"].p5-authored #app :is(.offer-invest b,.service-price b,.offer-top){color:var(--ink);border-color:var(--route-accent)}
body[data-version="v2"].p5-authored #app .p5-founder-practices h4{color:var(--ivory)!important}
body[data-version="v2"].p5-authored .site-footer{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}

html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].p5-authored #app .p5-gap-signal,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].p5-authored #app .p5-offering-chapter::after{animation:none!important;transform:none!important;opacity:.6}

/* PASS 5 R4 — awaken on approach, unfold in view, breathe during reading.
   Text and protected giving keep their own established responsibilities. */
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored.v244-million-motion #app .motion-item[data-p5-entry]:not(.v2-humanity-mini):not(.v2-home-copy),
body[data-version="v2"].p5-authored #app [data-p5-readable]{transform:none!important}

/* An approaching field signals only along its rim. It cannot spend the
   primary sequence below the viewport. This does not select giving. */
body[data-version="v2"].p5-authored #app :is(.p5-hero-stage,.p5-home-stage){--p5-approach:paused}
body[data-version="v2"].p5-authored #app :is(.p5-hero-stage,.p5-home-stage).p5-approaching{--p5-approach:running}
body[data-version="v2"].p5-authored #app .p5-approach-signal{
  display:block;position:absolute;left:-1px;top:12%;height:48px;width:2px;
  background:var(--route-accent);opacity:.25;pointer-events:none;transform-origin:top;
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-approach-signal{
  animation:jdqpsP5Approach 19.7s var(--p5-ease) infinite;animation-play-state:var(--p5-approach);
}
@keyframes jdqpsP5Approach{0%,72%,100%{opacity:.25;transform:scaleY(.7)}22%{opacity:.62;transform:scaleY(1.5)}46%{opacity:.3;transform:scaleY(1)}}

/* R3 repaired the track width; now arrival starts its meaningful journey
   promptly. Separate phases continue, with longer unequal resting intervals. */
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app :is(.p5-hero-stage,.p5-home-stage) .p5-trace{
  animation-name:jdqpsP5ReadingTravel;animation-delay:.45s;
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app :is(.p5-hero-stage,.p5-home-stage) .p5-node{animation-delay:.5s}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app :is(.p5-hero-stage,.p5-home-stage) .p5-node-two{animation-delay:3.2s}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app :is(.p5-hero-stage,.p5-home-stage) .p5-node-three{animation-delay:6.1s}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app :is(.p5-hero-stage,.p5-home-stage) .p5-resolution{animation-delay:.5s}
@keyframes jdqpsP5ReadingTravel{
  0%{opacity:0;transform:translateX(-100%)}
  5%{opacity:.55}30%{opacity:.55;transform:translateX(330%)}
  37%,57%{opacity:0;transform:translateX(430%)}
  60%{opacity:0;transform:translateX(-110%)}65%{opacity:.28}
  87%{opacity:.28;transform:translateX(330%)}94%,100%{opacity:0;transform:translateX(430%)}
}

/* The connected relationship occupies a dedicated edge above the actual
   sequence. No empty rings are restored to No Preset Answer. */
body[data-version="v2"].p5-authored #app .p5-connected-system{position:relative}
body[data-version="v2"].p5-authored #app .p5-reading-link{
  position:absolute;left:0;right:0;top:-16px;height:24px;pointer-events:none;
  color:var(--p5-signal,var(--teal));line-height:0;overflow:visible;
}
body[data-version="v2"].p5-authored #app .p5-connected-system>.p5-reading-link{
  position:absolute!important;inset:-16px 0 auto!important;width:100%!important;height:24px!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:none!important;box-shadow:none!important;transform:none!important;opacity:1!important;animation:none!important;
}
body[data-version="v2"].p5-authored #app .p5-connected-system>.p5-reading-link::before,
body[data-version="v2"].p5-authored #app .p5-connected-system>.p5-reading-link::after{display:none!important;content:none!important}
body[data-version="v2"].p5-authored #app .p5-reading-link svg{width:100%;height:24px;display:block;overflow:visible}
body[data-version="v2"].p5-authored #app .p5-reading-link path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}
body[data-version="v2"].p5-authored #app .p5-reading-base{stroke:var(--stone);stroke-width:1}
body[data-version="v2"].p5-authored #app .p5-reading-trace{stroke:currentColor;stroke-width:1.6;stroke-dasharray:12 100;stroke-dashoffset:12;opacity:0}
body[data-version="v2"].p5-authored #app .p5-reading-node{fill:currentColor;stroke:none;opacity:.35;vector-effect:non-scaling-stroke}
body[data-version="v2"].p5-authored #app .v2-evidence-steps .p5-reading-node{display:none}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app [data-p5-arrived]>.p5-reading-link .p5-reading-trace{
  animation:jdqpsP5Relationship var(--p5-reading-cycle,29s) var(--p5-ease) .3s infinite;animation-play-state:var(--p5-play);
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app [data-p5-arrived]>.p5-reading-link .p5-reading-node{
  animation:jdqpsP5ReadingNode var(--p5-reading-cycle,29s) var(--p5-ease) var(--p5-node-phase,0s) infinite;animation-play-state:var(--p5-play);
}
@keyframes jdqpsP5Relationship{
  0%{stroke-dashoffset:12;opacity:0}4%{opacity:.65}
  37%{stroke-dashoffset:-100;opacity:.65}43%,100%{stroke-dashoffset:-100;opacity:0}
}
@keyframes jdqpsP5ReadingNode{0%,28%,100%{opacity:.28}10%{opacity:.85}20%{opacity:.42}}
body[data-version="v2"].p5-authored #app .p5-response-owner{padding-bottom:38px!important}
body[data-version="v2"].p5-authored #app .p5-response-owner>.p5-step-response{bottom:14px}
/* The previous line across the Q is still disabled. New life is at the
   method's upper boundary, clear of the static approved Q and all its text. */
body[data-version="v2"].p5-authored #app .v2-method-steps>.p5-reading-link{top:-13px}
body[data-version="v2"].p5-authored #app .process-4>.p5-reading-link{top:-14px}
body[data-version="v2"].p5-authored #app .lifecycle-grid>.p5-reading-link{top:-18px}

/* Both operating-evidence grids use the same optical label system.
   Categories express clarity / connection / stability / consequence,
   while body text always uses Ink. SVG rims replace the legacy fixed orbit. */
body[data-version="v2"].p5-authored #app #founder-evidence .founder-evidence-grid.p5-evidence-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0 28px!important;
  border-top:1px solid var(--stone);background:transparent;
  --p5-evidence-color:var(--blue);--p5-evidence-note:var(--amber);
}
body[data-version="v2"].p5-authored #app #founder-evidence .founder-evidence-grid.p5-evidence-grid>div{
  position:relative;min-width:0;padding:28px 12px 32px!important;border:0!important;
  border-bottom:1px solid var(--stone)!important;background:transparent!important;
  box-shadow:none!important;text-align:left;
}
body[data-version="v2"].p5-authored #app #founder-evidence .p5-evidence-grid>[data-p5-evidence="connection"]{--p5-evidence-color:var(--teal);--p5-evidence-note:var(--blue)}
body[data-version="v2"].p5-authored #app #founder-evidence .p5-evidence-grid>[data-p5-evidence="stability"]{--p5-evidence-color:var(--sage);--p5-evidence-note:var(--teal)}
body[data-version="v2"].p5-authored #app #founder-evidence .p5-evidence-grid>[data-p5-evidence="consequence"]{--p5-evidence-color:var(--burgundy);--p5-evidence-note:var(--amber)}
body[data-version="v2"].p5-authored #app #founder-evidence .p5-evidence-grid>[data-p5-evidence="continuity"]{--p5-evidence-color:var(--sage);--p5-evidence-note:var(--amber)}
body[data-version="v2"].p5-authored #app #founder-evidence .founder-evidence-grid.p5-evidence-grid>div>b{
  position:relative;box-sizing:border-box;width:144px!important;min-width:144px!important;max-width:144px!important;
  height:144px!important;min-height:144px!important;flex-shrink:0;display:flex!important;
  align-items:center!important;justify-content:center!important;padding:16px!important;margin:0 0 40px!important;
  border:0!important;border-radius:50%;font-family:var(--human)!important;font-size:14px!important;
  font-weight:700!important;line-height:1.25!important;letter-spacing:.01em!important;white-space:normal!important;
  text-align:center!important;color:var(--ink)!important;background:rgba(244,239,230,.4)!important;
  background-image:var(--jdqps-paper-grain)!important;box-shadow:inset 0 0 22px rgba(207,198,184,.12)!important;
  transform:none!important;animation:none!important;
}
body[data-version="v2"].p5-authored #app #founder-evidence .founder-evidence-grid.p5-evidence-grid>div>b[data-p5-long-label]{font-size:13.5px!important;letter-spacing:0!important}
body[data-version="v2"].p5-authored #app #founder-evidence .p5-evidence-grid>div>b::before,
body[data-version="v2"].p5-authored #app #founder-evidence .p5-evidence-grid>div>b::after,
body[data-version="v2"].p5-authored #app #founder-evidence .p5-evidence-grid>div::before{content:none!important;display:none!important}
body[data-version="v2"].p5-authored #app #founder-evidence .p5-evidence-grid>div::after{
  content:""!important;display:block!important;position:absolute;left:83px;top:172px;width:1px;height:25px;
  border:0;background:var(--p5-evidence-color);opacity:.7;animation:none!important;transform:none!important;
}
body[data-version="v2"].p5-authored #app #founder-evidence .p5-evidence-grid>div>span{
  display:block;margin:0!important;max-width:28ch;font-size:17px!important;line-height:1.55!important;color:var(--ink)!important;
}
body[data-version="v2"].p5-authored #app .p5-evidence-orbit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
body[data-version="v2"].p5-authored #app .p5-evidence-orbit circle{fill:none;stroke-width:1;stroke:var(--p5-evidence-color);vector-effect:non-scaling-stroke}
body[data-version="v2"].p5-authored #app .p5-evidence-orbit .p5-evidence-signal{stroke:var(--p5-evidence-note);stroke-width:2;stroke-dasharray:8 100;stroke-dashoffset:8;opacity:0}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app [data-p5-arrived] .p5-evidence-signal{
  animation:jdqpsP5EvidenceSignal var(--p5-evidence-cycle,29s) var(--p5-ease) var(--p5-evidence-phase,0s) infinite;animation-play-state:var(--p5-play);
}
@keyframes jdqpsP5EvidenceSignal{0%{stroke-dashoffset:8;opacity:0}5%{opacity:.7}35%{stroke-dashoffset:-100;opacity:.7}42%,100%{stroke-dashoffset:-100;opacity:0}}
@media(max-width:1000px){
  body[data-version="v2"].p5-authored #app #founder-evidence .founder-evidence-grid.p5-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 28px!important}
}
@media(max-width:540px){
  body[data-version="v2"].p5-authored #app #founder-evidence .founder-evidence-grid.p5-evidence-grid{grid-template-columns:minmax(0,1fr)!important}
  body[data-version="v2"].p5-authored #app #founder-evidence .p5-evidence-grid>div>span{max-width:32ch}
}

/* Two review depths, two related color systems. Prices and factual copy
   retain their hierarchy; accents explain focus versus consequence. */
body[data-version="v2"].p5-authored[data-route="individuals"] #app .reality-card{
  position:relative;--p5-review-color:var(--teal);--p5-review-response:var(--blue);
  border:1px solid var(--stone)!important;border-top:3px solid var(--p5-review-color)!important;
  padding:32px 30px 38px!important;background-color:var(--ivory)!important;
  background-image:var(--jdqps-paper-grain),linear-gradient(115deg,rgba(24,111,115,.065),transparent 66%)!important;
  box-shadow:inset 4px 0 0 rgba(24,111,115,.12)!important;
}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .reality-card.scan{
  --p5-review-color:var(--burgundy);--p5-review-response:var(--amber);
  background-image:var(--jdqps-paper-grain),linear-gradient(115deg,rgba(141,36,58,.065),transparent 66%)!important;
  box-shadow:inset 4px 0 0 rgba(141,36,58,.12)!important;
}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .reality-card .kicker{color:var(--p5-review-color)!important}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .reality-card li::marker{color:var(--p5-review-color)}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .reality-price{
  color:var(--p5-review-color)!important;border-color:var(--p5-review-color)!important;border-bottom:2px solid var(--p5-review-response)!important;
}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .reality-card::before{content:none!important}
body[data-version="v2"].p5-authored[data-route="individuals"] #app .reality-card::after{
  content:"";position:absolute;left:30px;bottom:15px;height:2px;width:42px;background:var(--p5-review-response);opacity:.55;transform-origin:left;
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored[data-route="individuals"] #app .reality-card::after{
  animation:jdqpsP5SectionConnection 27.7s var(--p5-ease) .5s infinite;animation-play-state:var(--p5-play);
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored[data-route="individuals"] #app .reality-card.scan::after{animation-duration:34.1s;animation-delay:3.2s}
@media(max-width:800px){body[data-version="v2"].p5-authored[data-route="individuals"] #app .reality-card{padding:28px 24px 38px!important}}

/* Native approved artwork plus precisely aligned informational tracers.
   The raster already contains all information in the reduced/static state. */
body[data-version="v2"].p5-authored #app .p5-lens-field{position:relative;display:block;width:100%;min-width:0;aspect-ratio:1672/941;flex:none;background:transparent}
body[data-version="v2"].p5-authored #app .p5-lens-field>img{
  display:block;position:static!important;width:100%!important;max-width:100%!important;height:auto!important;
  max-height:none!important;margin:0!important;object-fit:contain;opacity:1!important;transform:none!important;
}
body[data-version="v2"].p5-authored #app .p5-lens-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;fill:none}
body[data-version="v2"].p5-authored #app .p5-lens-motion path{stroke:var(--teal);stroke-width:3;stroke-linecap:round;stroke-dasharray:14 100;stroke-dashoffset:14;opacity:0}
body[data-version="v2"].p5-authored #app .p5-lens-motion .p5-lens-understanding{stroke:var(--teal);stroke-width:2;opacity:0}
body[data-version="v2"].p5-authored #app .p5-lens-motion .p5-lens-outcomes circle{stroke-width:2;opacity:0}
body[data-version="v2"].p5-authored #app .p5-lens-motion .p5-lens-teal{stroke:var(--teal);--p5-lens-phase:4s;--p5-lens-cycle:23.9s}
body[data-version="v2"].p5-authored #app .p5-lens-motion .p5-lens-amber{stroke:var(--amber);--p5-lens-phase:5.3s;--p5-lens-cycle:29.3s}
body[data-version="v2"].p5-authored #app .p5-lens-motion .p5-lens-blue{stroke:var(--blue);--p5-lens-phase:6.7s;--p5-lens-cycle:31.7s}
body[data-version="v2"].p5-authored #app .p5-lens-motion .p5-lens-sage{stroke:var(--sage);--p5-lens-phase:8.1s;--p5-lens-cycle:37.1s}
body[data-version="v2"].p5-authored #app .p5-lens-motion .p5-lens-burgundy{stroke:var(--burgundy);--p5-lens-phase:9.8s;--p5-lens-cycle:41.3s}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app [data-p5-arrived] .p5-lens-incoming path{
  animation:jdqpsP5LensJourney 26.3s var(--p5-ease) .35s infinite;animation-play-state:var(--p5-play);
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app [data-p5-arrived] .p5-lens-incoming path:nth-child(2){animation-delay:1.8s;animation-duration:31.9s;stroke:var(--blue)}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app [data-p5-arrived] .p5-lens-incoming path:nth-child(3){animation-delay:3.1s;animation-duration:37.3s;stroke:var(--burgundy)}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app [data-p5-arrived] .p5-lens-understanding{
  animation:jdqpsP5LensUnderstanding 28.7s var(--p5-ease) 3.4s infinite;animation-play-state:var(--p5-play);
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app [data-p5-arrived] .p5-lens-outgoing path{
  animation:jdqpsP5LensJourney var(--p5-lens-cycle) var(--p5-ease) var(--p5-lens-phase) infinite;animation-play-state:var(--p5-play);
}
html:not(.v234-entry-pending):not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app [data-p5-arrived] .p5-lens-outcomes circle{
  animation:jdqpsP5LensUnderstanding var(--p5-lens-cycle) var(--p5-ease) calc(var(--p5-lens-phase) + 5s) infinite;animation-play-state:var(--p5-play);
}
@keyframes jdqpsP5LensJourney{0%{stroke-dashoffset:14;opacity:0}4%{opacity:.65}27%{stroke-dashoffset:-100;opacity:.65}33%,100%{stroke-dashoffset:-100;opacity:0}}
@keyframes jdqpsP5LensUnderstanding{0%,30%,100%{opacity:0}10%{opacity:.45}22%{opacity:.12}}

/* A quiet fiber surface is continuous through the newly exposed center.
   The page color and header stay locked; no white lighting overlay. */
body[data-version="v2"].p5-authored #app .p5-lens-field{
  background:transparent;
}
body[data-version="v2"].p5-authored #app .p5-evidence-grid{background-image:var(--jdqps-paper-grain);background-size:192px 192px}
/* Existing HWW stage track and internal lens are one journey, not competing
   loops: retain the resolved track as a static supporting axis here. */
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .p5-hero-stage :is(.p5-trace,.p5-node,.p5-resolution){animation:none!important;transform:none!important}
body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .p5-hero-stage .p5-trace{opacity:0}

html[data-p5-document-hidden] body[data-version="v2"].p5-authored #app :is(.p5-hero-stage,.p5-home-stage){--p5-approach:paused}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].p5-authored #app :is(.p5-lens-motion,.p5-reading-trace,.p5-evidence-signal){display:none!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].p5-authored #app .p5-approach-signal,
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].p5-authored #app .reality-card::after{animation:none!important;transform:none!important;opacity:.4}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].p5-authored #app .p5-reading-node{animation:none!important;opacity:.45}

/* PASS 5 FINAL INTEGRATION — R5
   Keep the compositions. Let their relationships continue quietly.
   Full authored motion is default; only Accessibility Assist reduces it. */

/* Each accurate investment resolves locally. Inline digits retain their
   original font advances, punctuation, selectable text and accessible text. */
body[data-version="v2"].p5-authored #app [data-p5-price] :is(.p5-price-value,.p5-price-digit){
  display:inline!important;position:static!important;float:none!important;
  padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;
  font:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;color:inherit!important;
  transform:none!important;filter:none!important;
}
body[data-version="v2"].p5-authored #app .p5-price-value{white-space:nowrap}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app [data-p5-price][data-p5-arrived] .p5-price-digit{
  animation:jdqpsP5PriceResolve 1.85s cubic-bezier(.32,0,.22,1) calc(var(--p5-price-delay,0s) + var(--p5-digit-delay,0s)) both;
  animation-play-state:var(--p5-play);
}
@keyframes jdqpsP5PriceResolve{0%{opacity:.46}34%{opacity:.68}100%{opacity:1}}

/* The remaining journey axis passes through the signal dots, each centered
   above its numbered circle. No typography is attached to the moving line. */
body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-journey>.p5-reading-link{
  inset:49px auto auto 35px!important;width:calc(100% - (100% - 88px)/6 - 11px)!important;
}
body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-journey .journey-origin{top:26px;padding:0!important}
body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-journey>[data-p5-step]{transform:none!important}
body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-journey>[data-p5-step]::before{
  left:17px;top:16px;border-width:3px;box-sizing:border-box;
}
body[data-version="v2"].p5-authored #app :is(.p5-refined-journey,.p5-refined-growth) .p5-reading-base{stroke-width:1.25}
body[data-version="v2"].p5-authored #app .p5-row-thread{display:none;pointer-events:none}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-refined-journey .p5-step-response{
  animation-duration:27.7s;animation-delay:calc(.7s + var(--p5-handoff,0s));
}

/* Daniel's original marker reveal stays on the same stage axis. Only the
   duplicate dark bar is removed; the thin travelling relationship remains. */
body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-growth .v214-growth-line{
  left:6px;right:auto;top:27px;width:calc(75% + 13.5px);background:none!important;
}
body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-growth .v214-growth-line::before{display:none!important;content:none!important}
body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-growth .v214-growth-steps>.p5-reading-link{
  inset:-3px auto auto 6px!important;width:calc(75% + 13.5px)!important;
}
body[data-version="v2"].p5-authored #app .p5-growth-step{position:relative;transform:none!important}
body[data-version="v2"].p5-authored #app .p5-refined-growth .v214-growth-line i::after{
  content:"";position:absolute;inset:-3px;border:1px solid var(--ivory);border-radius:50%;opacity:0;pointer-events:none;
}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-refined-growth[data-p5-arrived] .v214-growth-line i::after{
  animation:jdqpsP5QuietResponse 28.9s var(--p5-ease) var(--p5-result-phase,1s) infinite;animation-play-state:var(--p5-play);
}
body[data-version="v2"].p5-authored #app .p5-refined-growth .v214-growth-line i:nth-child(2){--p5-result-phase:2.6s}
body[data-version="v2"].p5-authored #app .p5-refined-growth .v214-growth-line i:nth-child(3){--p5-result-phase:4.2s}
body[data-version="v2"].p5-authored #app .p5-refined-growth .v214-growth-line i:nth-child(4){--p5-result-phase:5.8s}
@keyframes jdqpsP5QuietResponse{0%,28%,100%{opacity:0;transform:scale(.92)}10%{opacity:.5;transform:scale(1.16)}20%{opacity:.14;transform:scale(1)}}

/* Wrapped journeys have row-owned threads instead of a single incorrect
   six-column axis. The text layout and original numbered circles remain. */
@media(max-width:1100px){
 body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-journey{padding-left:0!important;grid-template-columns:repeat(3,minmax(0,1fr))}
 body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-journey>.p5-reading-link,
 body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-journey .journey-origin{display:none!important}
 body[data-version="v2"].p5-authored #app .p5-refined-journey .p5-row-thread{display:block;position:absolute;left:24px;top:23px;width:100%;height:1.25px;background:var(--stone)}
 body[data-version="v2"].p5-authored #app .p5-refined-journey :is([data-p5-step="03"],[data-p5-step="06"])>.p5-row-thread{display:none}
 body[data-version="v2"].p5-authored #app .p5-row-thread::after{content:"";position:absolute;left:0;top:0;width:24%;height:100%;background:var(--route-accent);opacity:.3;transform-origin:left}
 html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app [data-p5-arrived]>.p5-row-thread::after{animation:jdqpsP5RuleSignal 25.3s var(--p5-ease) var(--p5-handoff,0s) infinite;animation-play-state:var(--p5-play)}
}
@media(max-width:800px){
 body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-journey{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-version="v2"].p5-authored #app .p5-refined-journey [data-p5-step="03"]>.p5-row-thread{display:block}
 body[data-version="v2"].p5-authored #app .p5-refined-journey :is([data-p5-step="02"],[data-p5-step="04"],[data-p5-step="06"])>.p5-row-thread{display:none}
 body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-growth .v214-growth-steps>.p5-reading-link{display:none!important}
 body[data-version="v2"].p5-authored #app .p5-growth-step::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:rgba(244,239,230,.36)}
 html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-growth-step[data-p5-arrived]::before{animation:jdqpsP5RuleSignal 28.9s var(--p5-ease) var(--p5-handoff,0s) infinite;animation-play-state:var(--p5-play);transform-origin:left}
}
@media(max-width:540px){
 body[data-version="v2"].p5-authored.v244-million-motion #app .p5-refined-journey{grid-template-columns:minmax(0,1fr)}
 body[data-version="v2"].p5-authored #app .p5-refined-journey [data-p5-step]>.p5-row-thread{display:block;width:calc(100% - 48px)}
}

/* Two vantage points retain their independent fields. Signals move inward
   along the unused upper margins and pass through the existing Q connection. */
body[data-version="v2"].p5-authored #app .p5-connected-perspectives .v2-vantage-card{position:relative}
body[data-version="v2"].p5-authored #app .p5-perspective-signal{
  position:absolute;inset:17px 30px auto;height:1px;display:block;overflow:hidden;pointer-events:none;
  color:var(--teal);--p5-perspective-cycle:23.7s;
}
body[data-version="v2"].p5-authored #app .v2-vantage-card.ind .p5-perspective-signal{color:var(--burgundy);transform:scaleX(-1);--p5-perspective-cycle:26.9s}
body[data-version="v2"].p5-authored #app .p5-perspective-signal::after{content:"";display:block;width:17%;height:100%;background:currentColor;opacity:0}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-connected-perspectives[data-p5-arrived] .p5-perspective-signal::after{
  animation:jdqpsP5Converge var(--p5-perspective-cycle) var(--p5-ease) .35s infinite;animation-play-state:var(--p5-play);
}
@keyframes jdqpsP5Converge{0%,4%{transform:translateX(-110%);opacity:0}10%{opacity:.6}30%{transform:translateX(590%);opacity:.6}36%,100%{transform:translateX(590%);opacity:0}}
body[data-version="v2"].p5-authored #app .p5-connected-perspectives .v2-vantage-q>i{position:relative;overflow:visible}
body[data-version="v2"].p5-authored #app .p5-connected-perspectives .v2-vantage-q>i::after{content:"";position:absolute;left:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--teal);opacity:0}
body[data-version="v2"].p5-authored #app .p5-connected-perspectives .v2-vantage-q>i:last-child::after{background:var(--burgundy);left:auto;right:0;--p5-center-direction:-1}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-connected-perspectives[data-p5-arrived] .v2-vantage-q>i::after{animation:jdqpsP5CenterConnection 23.7s var(--p5-ease) 2.8s infinite;animation-play-state:var(--p5-play)}
@keyframes jdqpsP5CenterConnection{0%,26%,100%{opacity:0;transform:translateX(0)}9%{opacity:.75}19%{opacity:.45;transform:translateX(calc(12px * var(--p5-center-direction,1)))}}

/* Mission → philosophy → promise → signature: a quiet recurring exchange
   along existing structural rules; all statements keep a stable baseline. */
body[data-version="v2"].p5-authored #app .p5-doctrine-part{position:relative}
body[data-version="v2"].p5-authored #app .p5-doctrine-signal{position:absolute;left:0;right:22%;top:0;height:1.5px;background:var(--teal);opacity:.2;transform:scaleX(.16);transform-origin:left;pointer-events:none}
body[data-version="v2"].p5-authored #app .p5-doctrine-part:nth-child(2)>.p5-doctrine-signal{background:var(--sage)}
body[data-version="v2"].p5-authored #app .p5-doctrine-part:nth-child(3)>.p5-doctrine-signal{background:var(--burgundy)}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-doctrine-part[data-p5-arrived]>.p5-doctrine-signal{animation:jdqpsP5RuleSignal 18.7s var(--p5-ease) var(--p5-doctrine-phase) infinite;animation-play-state:var(--p5-play)}
@keyframes jdqpsP5RuleSignal{0%,4%,62%,100%{transform:scaleX(.16);opacity:.22}24%{transform:scaleX(.8);opacity:.72}39%{transform:scaleX(.25);opacity:.3}}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored.v244-million-motion #app .p5-living-mission .v2-q-stage.scene-in img{animation-duration:7.4s!important;animation-play-state:var(--p5-play)!important}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored.v244-million-motion #app .p5-living-mission .v2-q-stage.scene-in>i{animation-play-state:var(--p5-play)!important}
body[data-version="v2"].p5-authored #app .p5-philosophy-system>div>i{position:relative;overflow:hidden}
body[data-version="v2"].p5-authored #app .p5-philosophy-system>div>i::after{content:"";position:absolute;inset:0 auto 0 0;width:18%;background:var(--teal);opacity:0}
body[data-version="v2"].p5-authored #app .p5-philosophy-system>div:nth-of-type(2){--p5-philosophy-phase:1.6s}
body[data-version="v2"].p5-authored #app .p5-philosophy-system>div:nth-of-type(3){--p5-philosophy-phase:3.2s}
body[data-version="v2"].p5-authored #app .p5-philosophy-system>div:nth-of-type(4){--p5-philosophy-phase:4.8s}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-philosophy-system[data-p5-arrived]>div>i::after{animation:jdqpsP5Converge 24.1s var(--p5-ease) var(--p5-philosophy-phase,.2s) infinite;animation-play-state:var(--p5-play)}
body[data-version="v2"].p5-authored #app .mission-section.bg-amber .inline-link{color:var(--ink)!important}

/* Method: carry the established signal through both sides of the Q, and let
   each Diagnose / Transform / Sustain stage respond when its own row arrives. */
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-model-flow .p5-method-trace{
  animation:jdqpsP5Relationship 23.7s var(--p5-ease) .35s infinite;animation-play-state:var(--p5-play);
}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-model-flow .p5-method-return{stroke:var(--sage);animation-delay:3.1s}
body[data-version="v2"].p5-authored #app .p5-living-method-stage{position:relative;--p5-method-color:var(--teal)}
body[data-version="v2"].p5-authored #app .p5-living-method-stage.transform{--p5-method-color:var(--burgundy)}
body[data-version="v2"].p5-authored #app .p5-living-method-stage.sustain{--p5-method-color:var(--sage)}
body[data-version="v2"].p5-authored #app .p5-method-response{position:absolute;left:24px;top:0;width:44px;height:2px;background:var(--p5-method-color);transform-origin:left;opacity:.35;pointer-events:none}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-living-method-stage[data-p5-arrived]>.p5-method-response{animation:jdqpsP5RuleSignal 24.7s var(--p5-ease) var(--p5-method-phase) infinite;animation-play-state:var(--p5-play)}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored[data-route="how-we-work"] #app .p5-gap-signal{animation-duration:28.7s;animation-delay:1.2s}

/* Insights: local index signals replace the single list-wide signal, so an
   unseen article cannot spend its motion while another article is being read. */
body[data-version="v2"].p5-authored #app .v2-editorial-insight-list.p5-reading-index::after{content:none!important;display:none!important}
body[data-version="v2"].p5-authored #app .p5-editorial-entry{position:relative;--p5-editorial-color:var(--teal)}
body[data-version="v2"].p5-authored #app .p5-editorial-entry.burgundy-top{--p5-editorial-color:var(--burgundy)}
body[data-version="v2"].p5-authored #app .p5-editorial-entry.blue-top{--p5-editorial-color:var(--blue)}
body[data-version="v2"].p5-authored #app .p5-editorial-thread{position:absolute;left:0;top:0;width:64px;height:1.5px;background:var(--p5-editorial-color);transform-origin:left;pointer-events:none}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-editorial-entry[data-p5-arrived]>.p5-editorial-thread{animation:jdqpsP5SectionConnection var(--p5-editorial-cycle) var(--p5-ease) var(--p5-editorial-phase) infinite;animation-play-state:var(--p5-play)}
body[data-version="v2"].p5-authored #app .p5-topic-signal{position:relative}
body[data-version="v2"].p5-authored #app .p5-topic-signal::after{content:"";position:absolute;bottom:-8px;left:20%;width:60%;height:1px;background:var(--ivory);opacity:.18;transform-origin:left;pointer-events:none}
html:not([data-jdqps-a11y-motion="reduced"]) body[data-version="v2"].p5-authored #app .p5-topic-signal[data-p5-arrived]::after{animation:jdqpsP5RuleSignal 27.1s var(--p5-ease) var(--p5-topic-phase) infinite;animation-play-state:var(--p5-play)}

/* Explicit reduction preserves accurate prices and complete diagrams. */
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].p5-authored #app .p5-price-digit{animation:none!important;opacity:1!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].p5-authored #app :is(.p5-perspective-signal,.p5-doctrine-signal,.p5-method-response){display:none!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].p5-authored #app :is(.p5-refined-growth .v214-growth-line i,.p5-philosophy-system>div>i,.p5-connected-perspectives .v2-vantage-q>i,.p5-row-thread,.p5-topic-signal)::after{display:none!important;animation:none!important}
html[data-jdqps-a11y-motion="reduced"] body[data-version="v2"].p5-authored #app .p5-editorial-thread{animation:none!important;transform:none!important;opacity:.5}

/* Pass 6: evidence-led profiles. The approved Pass 5 motion owners remain. */
body[data-version="v2"].p5-authored[data-route="founder"] #app .hero-copy>.p6-profile-intro{
  grid-column:2;grid-row:2;min-width:0;max-width:100%;
}
body[data-version="v2"] #app .p6-profile-intro>.lede{margin:0}
body[data-version="v2"] #app .p6-profile-intro>.p6-origin{margin:18px 0 0;font-size:18px;line-height:1.65}
body[data-version="v2"].p5-authored[data-route="founder"] #app .p6-founder-practices>.icon-unit{
  display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:24px;row-gap:8px;
  align-content:start;align-items:start;text-align:left;padding:30px 0 42px;
}
body[data-version="v2"] #app .p6-founder-practices .icon-disc{
  grid-column:1;grid-row:1/3;width:112px;height:112px;margin:0;
}
body[data-version="v2"] #app .p6-founder-practices .approved-founder-icon{width:80px!important;height:80px!important}
body[data-version="v2"].p5-authored[data-route="founder"] #app .p6-founder-practices .icon-unit h4{
  grid-column:2;grid-row:1;margin:7px 0 0;font-size:18px!important;line-height:1.35;
  font-weight:600;letter-spacing:0;text-transform:none;color:var(--ivory)!important;
}
body[data-version="v2"] #app .p6-founder-practices .icon-unit>p{grid-column:2;grid-row:2;margin:0}
body[data-version="v2"] #app .p6-evidence-standard{margin:36px 0;padding-top:26px;border-top:1px solid rgba(244,239,230,.3)}
body[data-version="v2"] #app .p6-evidence-standard>h3{margin:0 0 20px;font-size:25px;line-height:1.2}
body[data-version="v2"] #app .p6-evidence-reading{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;list-style:none;padding:0;margin:0;
}
body[data-version="v2"] #app .p6-evidence-reading>li{position:relative;min-width:0;padding:18px 0 38px;border-top:1px solid rgba(244,239,230,.32)}
body[data-version="v2"] #app .p6-evidence-reading b{display:block;font-size:18px;line-height:1.35;margin-bottom:9px;color:inherit}
body[data-version="v2"] #app .p6-evidence-reading p{font-size:17px;line-height:1.6;margin:0;color:inherit}
body[data-version="v2"] #app .p6-evidence-reading .p5-step-response{background:var(--amber);bottom:10px}
body[data-version="v2"] #app .p6-evidence-standard>.p6-evidence-note{max-width:85ch;margin:22px 0 0;font-size:17px;line-height:1.6}
body[data-version="v2"].p5-authored[data-route="danielle"] #app .p6-contribution-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 38px;border:0;
}
body[data-version="v2"].p5-authored[data-route="danielle"] #app .p6-contribution-grid>div{
  min-width:0;padding:26px 0 42px;border:0;border-top:1px solid rgba(244,239,230,.36);background:transparent;
}
body[data-version="v2"] #app .p6-context-note{max-width:80ch;line-height:1.65}
body[data-version="v2"] #app .p6-scope-note{margin-top:22px;padding-top:18px;border-top:1px solid rgba(244,239,230,.28)}
@media(max-width:1000px){
  body[data-version="v2"] #app .p6-evidence-reading{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
}
@media(max-width:900px){
  body[data-version="v2"].p5-authored[data-route="founder"] #app .p6-founder-practices>.icon-unit{grid-template-columns:minmax(0,1fr);row-gap:12px}
  body[data-version="v2"] #app .p6-founder-practices .icon-disc{grid-column:1;grid-row:1;width:96px;height:96px}
  body[data-version="v2"] #app .p6-founder-practices .approved-founder-icon{width:72px!important;height:72px!important}
  body[data-version="v2"].p5-authored[data-route="founder"] #app .p6-founder-practices .icon-unit h4{grid-column:1;grid-row:2;margin:0}
  body[data-version="v2"] #app .p6-founder-practices .icon-unit>p{grid-column:1;grid-row:3}
}
@media(max-width:800px){
  body[data-version="v2"].p5-authored[data-route="founder"] #app .hero-copy>.p6-profile-intro{grid-column:auto;grid-row:auto;max-width:none}
  body[data-version="v2"].p5-authored[data-route="danielle"] #app .p6-contribution-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:540px){
  body[data-version="v2"] #app .p6-evidence-reading{grid-template-columns:minmax(0,1fr);gap:0}
}

/* Pass 7 functional states: preserve the approved page architecture. */
.p7-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.p7-form-errors{border-left:3px solid #8D243A;padding:16px 22px;margin:0 0 24px;color:#141414;background:#F4EFE6}
.p7-form-errors p{margin:0 0 8px}.p7-form-errors a,.p7-field-error{color:#8D243A}.p7-field-error{display:block;font-size:16px;line-height:1.5;margin-top:8px}
.intake-form [aria-invalid="true"]{border-color:#8D243A!important;outline:1px solid #8D243A}.intake-form .status.is-error{color:#8D243A}.intake-form .status{overflow-wrap:anywhere}.intake-form button:disabled{cursor:default;opacity:.7}

/* Pass 9: readable model text; retain the approved ring, artwork and motion. */
body[data-version="v2"] #model .model-stage.transform > span{
  color:var(--ink);
  border-color:var(--amber);
}
body[data-version="v2"] #model .outcome-resolution small{
  color:var(--ink);
}

/* Pass 10 owner closure: the sticky rail follows the actual header edge once.
   Interpolating its measured top a second time creates a trailing seam during
   scroll reversals. Link-color/focus motion and native sticky remain intact. */
body[data-version="v2"].p5-authored #app .v2-context-nav.v215-stick-enabled,
body[data-version="v2"].p5-authored #app .v2-context-nav.v215-stick-enabled.is-stuck{
  transition:none!important;
}
