/* Direction 6 refinement: one continuous thread, with interaction where it explains. */
/* One editorial composition: message, a shared action/credibility row, then the weave. */
.hero{padding-top:24px}
.hero-intro{align-items:start}
.hero-aside{align-self:center;padding:0;min-width:0}
.hero-aside>p{line-height:1.65}
.hero-actions{display:flex;justify-content:space-between;align-items:center;gap:36px;margin-top:16px;border-top:1px solid #cdd0c2}
.hero-primary-action{display:flex;align-items:center;flex-wrap:wrap;gap:16px 30px;min-width:0;padding:22px 0}
.hero-primary-action .button{font-size:14px;min-height:56px;max-width:100%;margin:0}
.hero-secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:12px 0;font-size:16px;font-weight:500;line-height:1.5;border-bottom:1px solid #a47858;transition:color .25s,border-color .25s}
.hero-secondary:hover{color:var(--copper);border-color:var(--copper)}
.hero-secondary .strand-arrow{font-size:22px;line-height:1;transition:transform .25s}
.hero-secondary:hover .strand-arrow{transform:translateY(3px)}
/* At 192px artwork width, 28px clear space exceeds twice the Partner cap height. */
.hero-partner{flex:none;width:248px;max-width:100%;padding:28px;margin:0 -28px 0 0;order:0}
.hero-partner img{display:block;width:192px;max-width:100%;height:auto;object-fit:contain}
.hero-strand{position:relative;display:block;width:100%;height:132px;margin:0 auto;pointer-events:none;isolation:isolate}
#hero-strand-art{position:absolute;inset:0;display:block}
#hero-strand-art .thread-path{transition:opacity .5s}
#hero-strand-art .continuity-thread{stroke:var(--copper);stroke-width:2;opacity:.8;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.25s var(--ease);fill:none;vector-effect:non-scaling-stroke}
.hero:has(.hero-secondary:is(:hover,:focus-visible)) .continuity-thread{stroke-dashoffset:0}
/* The lifecycle is part of the normal document flow. Exploration is optional. */
.lifecycle-section{height:auto}
.life-pin{position:relative;min-height:0;overflow:visible;padding:32px 0}
.life-header{gap:60px}
.life-header h2{font-size:clamp(40px,3.45vw,49px)}
.life-header>p{font-size:17px;line-height:1.65;color:#d0d9c8;max-width:490px}
.life-experience{margin-top:25px;gap:70px;align-items:center}
.continuity-instrument{width:min(100%,530px);min-width:0;margin:auto;touch-action:pan-y}
.activity-orbit{position:absolute;inset:0}
.activity-ring button{min-height:48px}
.context-core{border-color:#8c9873;box-shadow:inset 0 0 45px #14281a44,0 0 0 9px #14291e44}
.stage-readout{min-width:0;align-items:stretch}
#stage-readout{min-width:0}
.lifecycle-instrument-panel{min-width:0;width:100%;max-width:100%}
.lifecycle-transport{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px auto 0;width:min(360px,100%);max-width:100%}
.lifecycle-transport button{min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid #8a9b7c;color:#f0e8d5;border-radius:50%;font-size:23px;transition:background .25s,border-color .25s}
.lifecycle-transport button:hover{background:#3b5540;border-color:#dab58c}
.lifecycle-transport #play-lifecycle{gap:10px;min-height:48px;font-size:15px;border:0;border-radius:0;padding:8px 16px;line-height:1.4}
.play-icon{font-size:23px;color:#efc593}
#play-lifecycle[aria-pressed=true] .play-icon{font-size:16px}
.stage-meta{font-size:13px;line-height:1.5;margin-bottom:13px;gap:16px}
.stage-meta>span:last-child{white-space:nowrap}
.stage-meta b{color:#f0cda2;font-weight:500}
.stage-text h3{font-size:15px;line-height:1.4;margin-bottom:11px}
.stage-text>p{font-size:clamp(26px,2.15vw,30px);line-height:1.35;min-height:var(--stage-copy-height,0px)}
.stage-example{margin-top:19px;min-height:0}
.stage-example>span{font-size:13px;line-height:1.5;color:#d5c6af}
.stage-example>p{font-size:18px;line-height:1.6;margin-top:7px;min-height:var(--stage-example-height,0px);color:#d9e1ce}
.persistent-context{margin-top:22px;padding-top:17px;border-color:#82906b80}
.persistent-context strong{font-size:16px;line-height:1.5}
.persistent-context p span{font-size:14px;line-height:1.5;margin-top:4px}
.life-instruction{font-size:13px;line-height:1.5;text-align:center;margin-top:13px;color:#c3d0b6}
/* The delivery thread accumulates from discovery through support. Text never hides. */
.delivery-capabilities li{--cap-progress:0}
.delivery-capabilities li:after{content:'';position:absolute;left:-1px;top:0;width:2px;height:100%;background:var(--copper);transform:scaleY(var(--cap-progress));transform-origin:top;pointer-events:none}
.delivery-capabilities li:before{z-index:1;transition:background .25s,box-shadow .25s}
.delivery-capabilities li.is-reached:before{background:var(--copper);box-shadow:0 0 0 4px var(--paper)}
.delivery-capabilities li>span{transition:color .3s}
.delivery-capabilities li.is-reached>span{color:var(--copper)}
.embedded-heading .team-symbol{--embed-progress:1;position:relative}
.embedded-heading .team-symbol>span:nth-child(3){transform:translateY(calc((1 - var(--embed-progress))*-32px)) rotate(30deg);background:#dec5a5;border-color:var(--copper)}
.embedded-heading .team-symbol:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#b47d52,transparent);opacity:var(--embed-progress);transform:scaleX(var(--embed-progress));transform-origin:center}
@media(min-width:1051px){
 .continuity-instrument{width:min(100%,clamp(390px,calc(100svh - 350px),510px))}
}
@media(min-width:761px) and (max-width:1250px){
 .life-header,.life-experience{gap:40px}
 .stage-example>p{font-size:17px}
}
@media(min-width:761px) and (max-width:1050px){
 .life-pin{padding:54px 0}
 .life-header{display:block}
 .life-header>p{margin:24px 0 0;max-width:710px}
 .life-experience{margin-top:32px;gap:28px}
 .continuity-instrument{width:100%}
 .activity-ring button{min-width:44px;width:44px;padding:5px;font-size:15px;border-radius:50%}
 .activity-ring button .stage-name{display:none}
 .activity-ring button>span{font-size:15px;margin:0}
 .activity-ring button[aria-pressed=true]{background:#506042;box-shadow:0 0 0 1px #d0ab7c}
 .instrument-caption{top:calc(100% + 12px);bottom:auto;left:0;right:0}
 .stage-text>p{font-size:27px}
 .lifecycle-transport{margin-top:46px}
}
@media(min-width:761px) and (max-width:950px){
 .hero-aside{padding-top:28px;align-self:stretch}
 .hero-actions{margin-top:24px;gap:24px}
 .hero-primary-action{gap:14px 24px}
}
@media(max-width:760px){
 .hero{padding-top:25px}
 .hero-aside{align-self:stretch;padding-top:25px}
 .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:24px;border-top:0}
 .hero-primary-action{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:0}
 .hero-primary-action .button{display:flex;width:100%;font-size:14px;padding:16px 17px;gap:12px;min-height:56px}
 .hero-secondary{min-height:48px;font-size:16px;padding:10px 0;gap:20px}
 .hero-partner{width:248px;padding:28px;margin:8px auto 0;order:0}
 .hero-strand{height:116px;margin-top:0}
 .life-pin{padding:52px 0}
 .life-header{display:block}
 .life-header h2{font-size:40px;line-height:1.1}
 .life-header>p{font-size:17px;line-height:1.7;margin-top:24px}
 .life-experience{gap:24px;margin-top:29px}
 .continuity-instrument{width:100%;max-width:390px;margin:0 auto 25px}
 .activity-orbit{overflow:clip}
 .stage-readout{width:100%;margin:0;padding:0}
 .mobile-stage-select{gap:8px;margin-top:22px}
 .mobile-stage-select label{font-size:14px}
 .lifecycle-transport{margin:43px auto 0;gap:12px}
 .lifecycle-transport button{min-width:50px;min-height:50px}
 .lifecycle-transport #play-lifecycle{font-size:15px;min-width:0;flex:1;padding:8px}
 .stage-meta{font-size:12px;gap:12px;margin-bottom:16px}
 .stage-text h3{font-size:16px;line-height:1.4;margin-bottom:12px}
 .stage-text>p{font-size:27px;line-height:1.35}
 .stage-example{margin-top:24px}
 .stage-example>p{font-size:18px;line-height:1.65;margin-top:9px}
 .persistent-context{margin-top:23px;padding-top:22px}
 .life-instruction{display:block;font-size:14px;margin-top:16px}
 #previous-stage:after,#next-stage:before{content:none}
 .embedded-heading .team-symbol{margin-top:8px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .activity-ring,.activity-ring button,.continuity-thread,.strand-arrow,.delivery-capabilities li:before{transition:none!important}
 #hero-strand-art .continuity-thread{stroke-dashoffset:0}
 .life-instruction:after{content:none}
}
