/* The Ops Layer · The Execution Architect. Builds on tokens/base/components (Home v3 system). */

/* hero: the line, the beat, the person */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.2) 45%,rgba(0,0,0,0) 60%)}
.sentinel{position:absolute;top:120px;left:0;width:1px;height:1px}
.ol.js:not(.is-static) .hero [data-h]{opacity:0;translate:0 24px;filter:blur(6px);transition:opacity 1.3s var(--ex),translate 1.5s var(--ex),filter 1.3s var(--ex);transition-delay:var(--d,0ms)}
.ol.js:not(.is-static).loaded .hero [data-h]{opacity:1;translate:0 0;filter:blur(0)}
.ab-hero{min-height:max(800px,min(100vh,1060px));display:flex}
.ab-in{width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px clamp(48px,7vw,120px);align-items:center;padding-top:140px;padding-bottom:80px}
.ab-h1{font-size:clamp(42px,4.8vw,80px);line-height:1.02}
.beat{margin-top:clamp(32px,3vw,48px);display:flex;gap:7px;height:24px;align-items:flex-end}
.beat i{width:3px;height:10px;background:rgb(255 255 255 / .28);border-radius:1px;animation:beat 3.2s steps(1) infinite;animation-delay:calc(var(--k) * 200ms)}
.beat i.acc{height:22px;background:rgb(255 255 255 / .5)}
@keyframes beat{0%{background:#fff}6%,100%{background:rgb(255 255 255 / .28)}}
.beat i.acc{animation-name:beatacc}
@keyframes beatacc{0%{background:#fff}6%,100%{background:rgb(255 255 255 / .5)}}
.ab-intro{margin-top:clamp(32px,3vw,48px);max-width:40em}
.ab-name{font-family:var(--disp);font-weight:700;font-size:clamp(22px,1.9vw,29px);color:var(--fg)}
.ab-role{margin-top:4px;font-size:14px;color:var(--on-d3)}
.ab-says{margin-top:24px;font-family:var(--disp);font-size:clamp(20px,1.7vw,26px);line-height:1.35;color:var(--on-d2)}
.ab-says em{color:var(--fg)}
.ab-body{margin-top:12px;font-size:15.5px;line-height:1.7;color:var(--on-d3);max-width:52ch}
.ab-pf{margin:0}
.pf{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:#000}
.pf img{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;object-position:50% 18%;transform:translate3d(calc(var(--px,0) * -16px),calc(var(--py,0) * -16px),0);transition:transform 1.1s var(--ex)}
.pf::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.6))}
.ol.js:not(.is-static) .pf{clip-path:inset(100% 0 0 0 round 6px);transition:clip-path 1.8s var(--ex) .4s}
.ol.js:not(.is-static) .pfw.in .pf{clip-path:inset(0 0 0 0 round 6px)}

/* the record */
.rc-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px clamp(48px,7vw,120px);align-items:center}
.rc-lead{margin-top:28px;max-width:46ch}
.vn{display:block;width:100%;max-width:420px;height:auto;overflow:visible;justify-self:end}
.vn circle{fill:none;stroke:rgb(255 255 255 / .45);stroke-width:1;vector-effect:non-scaling-stroke}
.vn-o{fill:#F0EFEE}
.vn text{font-family:var(--disp);font-size:17px;fill:var(--on-d)}
.vn text.s{font-family:var(--sans);font-size:11.5px;fill:var(--on-d3)}
.vn text.o{fill:#0F0F0F;font-weight:700;font-size:15px}
.ol.js:not(.is-static) .vn-a{transform:translateX(-40px);transition:transform 1.4s var(--ex) .2s}
.ol.js:not(.is-static) .vn-b{transform:translateX(40px);transition:transform 1.4s var(--ex) .2s}
.ol.js:not(.is-static) .vn-o,.ol.js:not(.is-static) .vn text.o{opacity:0;transition:opacity .8s var(--ease) 1.2s}
.ol.js:not(.is-static) .vn.in .vn-a,.ol.js:not(.is-static) .vn.in .vn-b{transform:none}
.ol.js:not(.is-static) .vn.in .vn-o,.ol.js:not(.is-static) .vn.in text.o{opacity:1}
.rrs{margin-top:clamp(64px,6vw,104px)}
.rr{display:grid;grid-template-columns:minmax(180px,.36fr) minmax(0,1fr);gap:16px clamp(40px,6vw,96px);padding:clamp(40px,4vw,60px) 0;border-top:1px solid var(--hair2)}
.rr-co{font-family:var(--disp);font-weight:700;font-size:clamp(22px,1.9vw,28px);color:var(--fg)}
.rr-ro{margin-top:6px;font-size:13.5px;line-height:1.5;color:var(--on-d3);max-width:22ch}
.rr-r h3{font-size:clamp(28px,2.8vw,44px);line-height:1.08;letter-spacing:-.018em;color:var(--fg);max-width:17em}
.rr-r ul{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;border-top:1px solid var(--hair)}
.rr-r li{padding:16px 0 0;font-size:15px;line-height:1.5;color:var(--on-d2)}
.rr-more{margin-top:22px}
.rr-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:12px;padding:10px 0;font-size:13.5px;font-weight:700;color:var(--on-d3);transition:color .3s}
.rr-more summary::-webkit-details-marker{display:none}
.rr-more summary:hover,.rr-more[open] summary{color:var(--fg)}
.rr-more[open] .pm{transform:rotate(135deg)}
.rr-more p{padding-top:8px;font-size:15px;line-height:1.7;color:var(--on-d3);max-width:64ch}

/* the decision: a fork */
.dc-h{max-width:14em}
.fk2{position:relative;margin:clamp(56px,5vw,88px) 0 0;height:300px}
.fk2 svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fk2 path{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.fk-a,.fk-run{stroke:#0F0F0F}
.fk-mba{stroke:rgb(0 0 0 / .35)}
.fk2.in .fk-a{stroke-dashoffset:0;transition:stroke-dashoffset 1s var(--ex) .2s}
.fk2.in .fk-mba{stroke-dashoffset:0;stroke-dasharray:.012 .012;transition:stroke-dashoffset 1.2s var(--ex) 1s}
.fk2.in .fk-run{stroke-dashoffset:0;stroke-width:2.5;transition:stroke-dashoffset 1.8s var(--ex) 1s}
.ol:not(.js) .fk2 path,.ol.is-static .fk2 path{stroke-dashoffset:0}
.fk-n{position:absolute;display:flex;flex-direction:column;gap:4px;max-width:30%}
.fk-n b{font-family:var(--disp);font-weight:700;font-size:clamp(19px,1.7vw,26px);color:var(--fg)}
.fk-n span{font-size:14px;line-height:1.5;color:var(--on-d2)}
.fk-n em{font-family:var(--disp);font-size:16px;color:var(--fg);text-decoration:line-through;text-decoration-thickness:1px}
.fk-n0{left:0;top:calc(170 / 300 * 100% + 16px)}
.fk-n1{left:48%;bottom:calc(230 / 300 * 100% + 14px);opacity:.55}
.fk-n2{left:48%;top:calc(230 / 300 * 100% + 14px)}
.fk-n3{right:0;top:calc(230 / 300 * 100% - 40px);text-align:right}
.fk-n3 b{font-size:clamp(22px,2vw,30px)}
.dc-say{margin-top:clamp(72px,7vw,120px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px clamp(40px,7vw,120px);align-items:end}
.dc-big{font-size:clamp(34px,3.8vw,62px);line-height:1.04;color:var(--fg)}
.ed{margin:clamp(56px,5vw,88px) 0 0;border-top:1px solid rgb(0 0 0 / .12)}
.ed div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid rgb(0 0 0 / .07)}
.ed dt{font-size:13px;font-weight:700;color:var(--on-d3)}
.ed dd{margin:0;font-size:15px;line-height:1.55;color:var(--on-d2)}

/* why: the same failure modes at two scales */
.wy-h{max-width:14em}
.wy-lead{margin-top:28px;max-width:30em;font-family:var(--disp);font-size:clamp(21px,1.9vw,29px);line-height:1.3;color:var(--on-d2)}
.sc{margin-top:clamp(56px,5vw,88px)}
.sc-hd,.sc-ft{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:24px}
.sc-hd span{font-size:13px;font-weight:700;color:var(--on-d3)}
.sc-hd span:last-child,.sc-ft p:last-child{text-align:right}
.sc-l{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--hair2)}
.sc-l li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--hair)}
.sc-l li span{grid-column:2;text-align:center;font-family:var(--disp);font-size:clamp(19px,1.6vw,24px);color:var(--fg)}
.sc-l li::before,.sc-l li::after{content:"";align-self:center;height:1px;background:rgb(255 255 255 / .35);transform:scaleX(0);transition:transform 1s var(--ex);transition-delay:calc(var(--k) * 140ms + .2s)}
.sc-l li::before{grid-column:1;grid-row:1;transform-origin:right}
.sc-l li::after{grid-column:3;grid-row:1;transform-origin:left;background:#fff;height:2px}
.sc.in .sc-l li::before,.sc.in .sc-l li::after,.ol:not(.js) .sc-l li::before,.ol:not(.js) .sc-l li::after{transform:scaleX(1)}
.sc-ft{margin-top:20px}
.sc-ft p{font-size:15px;line-height:1.6;color:var(--on-d3)}
.sc-ft p:last-child{color:var(--on-d)}
.sc-ft em{color:var(--fg);font-style:normal}
.wy-b{margin-top:clamp(56px,5vw,88px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px clamp(40px,6vw,96px);padding-top:32px;border-top:1px solid var(--hair)}

/* how to work with Vishnu: the hours */
.wk2-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 48px}
.wk2-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.tz{margin:clamp(56px,5vw,88px) 0 0}
.tz-say{font-size:clamp(26px,2.6vw,40px);line-height:1.15;color:var(--fg);max-width:20em}
.tz-row{margin-top:28px;display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;align-items:center}
.tz-row+.tz-row{margin-top:18px}
.tz-lab{font-size:13px;font-weight:700;color:var(--on-d2)}
.tz-bar{position:relative;height:40px;border-top:1px solid var(--hair2);border-bottom:1px solid var(--hair)}
.tz-bar span{position:absolute;left:calc(var(--h) / 24 * 100%);top:50%;translate:0 -50%;padding-left:6px;font-size:12px;color:var(--on-d3);font-variant-numeric:tabular-nums;border-left:1px solid var(--hair2);line-height:40px}
.tz-on{position:absolute;top:-1px;bottom:-1px;left:calc(var(--a) / 24 * 100%);width:calc((var(--b) - var(--a)) / 24 * 100%);background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .55);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ex) .3s}
.tz.in .tz-on,.ol:not(.js) .tz-on,.ol.is-static .tz-on{transform:none}
.tz-ist .tz-on{background:#F0EFEE;border-color:#F0EFEE}
.tz-ist .tz-on~span{z-index:1}
.tz-ist span{mix-blend-mode:difference;color:#888}
.wk2-links{margin-top:clamp(48px,4.4vw,72px);padding-top:28px;border-top:1px solid var(--hair);display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:16px clamp(32px,4vw,64px);align-items:baseline}
.wk2-links p{font-size:15px;color:var(--on-d2)}
.wk2-links a{color:var(--fg);text-underline-offset:3px}
.wk2-links .lk .ic{font-size:17px;transform:none}
.wk2-rl{max-width:52ch;justify-self:end;text-align:right}
.wk2-rl em{font-family:var(--disp);color:var(--fg)}
.faq-a a{color:var(--fg);text-underline-offset:3px}

@media (max-width:1100px){
.ab-in{grid-template-columns:minmax(0,1fr)}
.ab-pf{max-width:420px}
.rc-head,.dc-say,.wy-b{grid-template-columns:minmax(0,1fr)}
.vn{justify-self:start}
.rr{grid-template-columns:minmax(0,1fr)}
.wk2-links{grid-template-columns:minmax(0,1fr)}
.wk2-rl{justify-self:start;text-align:left}
}
@media (max-width:760px){
.rr-r ul{grid-template-columns:minmax(0,1fr)}
.fk2{height:auto;display:flex;flex-direction:column;gap:24px;padding-left:22px;border-left:2px solid #0F0F0F}
.fk2 svg{display:none}
.fk-n{position:relative;inset:auto!important;max-width:none;text-align:left!important}
.sc-hd{display:none}
.sc-l li{grid-template-columns:minmax(0,1fr)}
.sc-l li::before,.sc-l li::after{display:none}
.sc-l li span{grid-column:1;text-align:left}
.sc-ft{grid-template-columns:minmax(0,1fr)}
.sc-ft p:last-child{text-align:left}
.tz-row{grid-template-columns:minmax(0,1fr);gap:8px}
.tz-bar span:nth-child(odd){display:none}
.ed div{grid-template-columns:minmax(0,1fr);gap:2px}
}
@media (prefers-reduced-motion:reduce){
.ol *,.ol *::before,.ol *::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
}

/* hero v2 (6 Oct 2026): editorial portrait. Full height on the right, its black ground melting into the page;
   it settles in once, then one warm light passes across the rim light at the logo's slant. No canvas. */
.ab-hero.hz{position:relative;overflow:hidden}
.ab-ph{position:absolute;top:clamp(64px,9vh,110px);right:0;bottom:0;width:min(60vw,1100px);margin:0;z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%),linear-gradient(0deg,transparent 0,#000 26%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 34%),linear-gradient(0deg,transparent 0,#000 26%);mask-composite:intersect}
.ab-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 16%;filter:contrast(1.04)}
.ab-sweep{position:absolute;top:-20%;left:0;width:16%;height:140%;background:linear-gradient(90deg,rgb(200 120 70 / 0),rgb(200 120 70 / .35) 75%,rgb(230 160 110 / .7) 96%,rgb(200 120 70 / 0));mix-blend-mode:color-dodge;transform:translateX(-120%) skewX(-28deg);opacity:0}
.ol.js:not(.is-static) .ab-ph img{opacity:0;transform:scale(1.07);transform-origin:60% 30%;transition:opacity 2s var(--ease) .1s,transform 3.2s var(--ex) .1s}
.ol.js:not(.is-static).loaded .ab-ph img{opacity:1;transform:none}
.ol.js:not(.is-static).loaded .ab-sweep{animation:ab-sweep 2.6s cubic-bezier(.45,0,.2,1) 2.5s both}
@keyframes ab-sweep{0%{opacity:0;transform:translateX(-120%) skewX(-28deg)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(720%) skewX(-28deg)}}
.ab-hero .hz-in{z-index:1}
.ab-hero .hz-h1{max-width:13em;text-shadow:0 2px 30px rgb(0 0 0 / .6)}
.ab-cap{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin:0;text-align:right}
.ab-cap b{font-family:var(--disp);font-weight:400;font-size:clamp(19px,1.5vw,23px);letter-spacing:-.01em;color:#fff}
.ab-cap span{font-size:13px;color:var(--on-d3)}
@media (max-width:760px){
.ab-ph{top:64px;left:0;width:auto;bottom:34%;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 34%);mask-image:linear-gradient(0deg,transparent 0,#000 34%)}
.ab-ph img{object-position:62% 10%}
.ab-cap{align-items:flex-start;text-align:left}
}
@media (prefers-reduced-motion:reduce){.ab-ph img{transition:none}.ab-sweep{display:none}}

/* Phone pass (6 Oct 2026): the Venn scales to about 80%, so the small labels fell under 10px */
@media (max-width:760px){.vn{justify-self:center}.vn text{font-size:19px}.vn text.s{font-size:14px}.vn text.o{font-size:16.5px}}
/* tablets: the declined-MBA note sits above the fork and rose into the heading */
@media (min-width:761px) and (max-width:1100px){.fk2{margin-top:150px}}
