/* Laurel R3: one presentation system. Historical override layers removed. */
/* Image-only crop: retain hair at the source top and reserve breathing room inside the unchanged rings. */
.resume-scene .resume-portrait img{object-position:50% -50%;transform:scale(.94);transform-origin:50% 50%;background:radial-gradient(ellipse at 50% 35%,#1a123c,#100b2b)}
@media(max-width:999px){.resume-scene .resume-portrait img{object-position:50% -42%;transform:scale(.92)}}
:root{color-scheme:dark;--bg:#08051b;--text:#f5f4ff;--muted:#a7a0d8;--cyan:#65d5ff;--violet:#7750d6;--surface:#1a123c;--surface-raised:#251650;--border:#a7a0d84d;--page-inset:clamp(24px,5vw,96px);--space:clamp(20px,2.5vw,40px)}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 ui-sans-serif,system-ui,sans-serif}main{position:relative;z-index:1}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}a,button{-webkit-tap-highlight-color:transparent}button{min-height:44px}h1,h2,h3,h4,p{overflow-wrap:break-word}h1,h2,h3{font-weight:500}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;inset:12px auto auto 12px;z-index:50;background:#1a123c;padding:14px;border:1px solid #a7a0d8}
.eyebrow{font-size:12px;letter-spacing:1.5px;color:var(--muted)}
.journey-environment{position:fixed;inset:0;z-index:0;isolation:isolate;overflow:hidden;pointer-events:none;background:linear-gradient(140deg,#08051b,#100b2b 60%,#08051b);opacity:0;transition:opacity .35s ease}
.journey-environment[data-active="true"]{opacity:1}
.environment-fields{position:absolute;inset:-12%;transform:translate3d(var(--environment-x,0px),0,0);will-change:transform}
.environment-field{position:absolute;inset:0;pointer-events:none}
.environment-violet{background:radial-gradient(ellipse at var(--environment-light-x,64%) var(--environment-light-y,48%),#7750d6 0,#442ba2 30%,transparent 67%);opacity:var(--environment-violet-opacity,.24)}
.environment-cyan{background:radial-gradient(ellipse at calc(100% - var(--environment-light-x,64%)) calc(100% - var(--environment-light-y,48%)),#65d5ff,transparent 40%);opacity:var(--environment-cyan-opacity,.065)}
.waves{position:absolute;inset:0;width:100%;height:100%;fill:none;pointer-events:none}
.environment-waves{opacity:.75;overflow:visible;transform:translate3d(var(--environment-x,0px),var(--environment-wave-y,0px),0);will-change:transform}
.wave-ribbon{transform-origin:60% 50%}.wave-thread{stroke-width:.65;opacity:.35}.wave-dot{stroke-width:1.1;stroke-dasharray:.5 7;stroke-linecap:round;opacity:.65}.wave-bloom{stroke-width:16;opacity:.2}
.wave-traveler,.wave-pulse-tail{stroke-dashoffset:calc(var(--environment-signal-offset,1000) * 1px + var(--pulse-lag,0px));stroke-linecap:round}
.wave-traveler{stroke:#9ae3ff;stroke-width:1.8;stroke-dasharray:1.6 998.4;opacity:.7;filter:drop-shadow(0 0 2px #65d5ff55)}
.wave-pulse-tail{stroke:#9ae3ff;stroke-width:1.3;stroke-dasharray:2.4 997.6}
.wave-pulse-tail-near{--pulse-lag:2px;opacity:.30}.wave-pulse-tail-mid{--pulse-lag:4px;opacity:.17}.wave-pulse-tail-far{--pulse-lag:6px;opacity:.07}

.wave-particles{stroke-linecap:round;fill:none;opacity:var(--environment-particle-opacity,.6)}.particle-far{stroke:#a18bdf;stroke-width:1.1;opacity:.32}.particle-mid{stroke:#65d5ff;stroke-width:1.6;opacity:.46}.particle-near{stroke:#eae8fd;stroke-width:2.4;opacity:.65}
.journey-environment,.journey-environment *{animation:none!important}

/* Authentic logo: preserve source pixels and center the visible composition. */
.brand-plaque{display:inline-block;flex:none;line-height:0;border-radius:16px;text-decoration:none}
.brand-glass{display:block;padding:9px 16px;border:1px solid #c5adfa52;border-radius:16px;background:linear-gradient(125deg,#251542ba,#100b25b8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 28px #03011166,inset 1px 0 #b18aff28,inset -1px 0 #73deee20,0 0 18px #8c4eea13;transition:transform .3s ease,border-color .3s ease}
.brand-art{position:relative;display:block;width:clamp(180px,17vw,240px);aspect-ratio:1693/530;overflow:visible}
.brand-art img{position:absolute;width:113.5854%;max-width:none;height:auto;left:-3.9575%;top:-27.3585%;transform:translate(-3.484139%,-1.161369%)}
.brand-plaque:hover .brand-glass{transform:translateY(-2px);border-color:#dbc4ffa6}.brand-plaque--footer .brand-art{width:180px}.brand-plaque--footer .brand-glass{background:#1b112b7a;border-color:#baa5df33;box-shadow:0 6px 18px #03011144}
/* Scene document mode is the accessible baseline. JS enhances only desktop. */
.scene{position:relative;isolation:isolate;min-width:0;padding:clamp(56px,8vh,104px) var(--page-inset);background:transparent}
.scene.topic{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(32px,4vw,76px)}
.scene-copy{position:relative;min-width:0;max-width:540px}.scene h2{font-size:clamp(34px,3.4vw,62px);line-height:1.08;letter-spacing:-1.4px;margin:0 0 18px;text-wrap:balance}.topic-dek{font-size:clamp(14px,1.1vw,17px);line-height:1.45;color:#e1d8f8;margin:0 0 14px}.overview{font-size:clamp(14px,1.05vw,17px);line-height:1.6;color:#d2cbe4;margin:0 0 18px}.benefit{border-top:1px solid #a7a0d833;padding-top:14px;margin:0;color:#c4bee0;font-size:clamp(13px,.95vw,15px);line-height:1.5}.benefit-label{display:block;margin-bottom:5px;color:#f5f4ff;font-size:12px;letter-spacing:.4px}
.topic-page-link,.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;padding:9px 0;font-size:13px;line-height:1.4;border-bottom:1px solid #7750d670}.topic-page-link:hover,.text-link:hover{border-color:var(--cyan)}
.cards{position:relative;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,4vw,64px);align-items:start;align-content:center}
.glass{background:linear-gradient(132deg,#7750d61f,transparent 48%),linear-gradient(132deg,#100b2bda,#1a123cf5 42%,#100b2bf2);border:1px solid #b8a5f54d;box-shadow:inset 0 1px 0 #f5f4ff19,0 22px 56px #0005,0 0 30px #7750d60d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:clamp(18px,1.65vw,28px)}
.card{position:relative;min-width:0;isolation:isolate;animation:none;transform:translate3d(var(--card-x,0px),0,0);transition:border-color .25s,box-shadow .25s;--card-x:0px}
.cards>.card-0{grid-column:1;grid-row:1}.cards>.card-1{grid-column:2;grid-row:1;margin-top:clamp(40px,7vh,86px)}.cards>.card-2{grid-column:1/-1;grid-row:2;width:72%;justify-self:center}
.card-heading{display:flex;gap:12px;align-items:center;min-width:0}.card-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid #a7a0d84d;border-radius:9px;background:linear-gradient(145deg,#7750d64d,#442ba22b);color:#c4d5ff}.card-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.card h3{font-size:clamp(16px,1.2vw,20px);line-height:1.25;margin:0;text-wrap:balance;min-width:0}.card p{font-size:clamp(14px,1vw,16px);line-height:1.55;color:#dad4e9;margin:14px 0 0}.card:hover,.card:focus-within{z-index:2;border-color:#b5a4edaa;box-shadow:inset 0 1px 0 #f5f4ff20,0 24px 58px #0007,0 0 30px #7750d61a}
/* The pin clips the moving track at scene boundaries, not a reading panel. */
.enhanced .pin{position:sticky;top:0;height:var(--journey-stage-height,100svh);overflow:clip}
.enhanced .track{display:flex;width:100%;height:var(--journey-stage-height,100svh);will-change:transform}
.enhanced .scene{width:100vw;max-width:100vw;min-width:0;flex:0 0 100vw;height:100%;padding:clamp(24px,4vh,50px) var(--page-inset)}
.scene.specialist{display:flex;align-items:center}
footer{position:relative;z-index:1;--footer-reserve:170px;--footer-chrome:max(var(--footer-reserve),var(--footer-measured-chrome,0px));display:grid;grid-template-rows:minmax(var(--footer-chrome),1fr) auto minmax(max-content,1fr);row-gap:24px;min-height:max(100vh,100dvh,var(--journey-stage-height,0px));padding:32px var(--page-inset)}.footer-message{grid-row:2;text-align:center;justify-self:center;width:100%;max-width:1000px}footer h2{max-width:1000px;font-size:clamp(34px,4.3vw,68px);line-height:1.13;letter-spacing:-1.3px;margin:0 auto}.footer-message>p{color:#c4bee0;margin:18px auto 0;max-width:65ch}.footer-bottom{grid-row:3;align-self:end;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px 40px}.footer-brand{min-width:0;max-width:520px}.footer-brand .brand-plaque,.footer-brand .brand-glass,.footer-brand .brand-art{max-width:100%}.footer-bottom>a:not(.brand-plaque){display:inline-flex;min-height:44px;align-items:center;gap:10px;padding:10px 0;font-size:14px;border-bottom:1px solid #a7a0d84d}.footer-bottom>a:not(.brand-plaque):hover{border-color:#65d5ff99}.footer-bottom>a>span[aria-hidden]{font-size:17px;color:#c4bee0}.footer-copyright{margin:12px 0 0;font-size:13px;line-height:1.6;color:#c4bee0;max-width:65ch}
/* Supplementary researched topic pages share this typography and glass. */
.topic-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px var(--page-inset)}.topic-page-header>a:not(.brand-plaque){min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid #7750d670;font-size:14px}.topic-article{max-width:1280px;margin:48px auto 0;padding:0 var(--page-inset)}.topic-article h1{font-size:clamp(36px,5vw,72px);line-height:1.08;letter-spacing:-1.5px;margin:0 0 22px}.topic-article>.overview{max-width:65ch;font-size:18px}.topic-page-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}.topic-page-card h2{font-size:24px;line-height:1.2;margin:18px 0}.topic-page-card p{font-size:16px;line-height:1.7;color:#dad4e9}.topic-page-context{max-width:75ch;margin:40px 0;font-size:17px;line-height:1.7;color:#d2cbe4}.topic-page-next{display:flex;gap:24px;flex-wrap:wrap;margin-top:32px}
@media(min-width:1000px) and (max-width:1199px){.scene.topic{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:28px}.scene h2{font-size:36px}.card-heading{gap:8px}.card-icon{width:28px;height:28px}.card h3{font-size:16px}.glass{padding:17px}}
@media(min-width:1000px) and (max-height:700px){.enhanced .scene{padding-block:20px}.scene h2{font-size:clamp(32px,3vw,44px);margin-bottom:12px}.topic-dek{margin-bottom:10px}.overview{line-height:1.45;margin-bottom:12px}.benefit{padding-top:10px}.cards{gap:clamp(48px,4vw,64px)}.cards>.card-1{margin-top:32px}.glass{padding:16px}.card p{font-size:14px;line-height:1.4;margin-top:10px}.card h3{font-size:16px}}
@media(max-width:999px){.scene.topic{grid-template-columns:1fr;gap:36px}.scene-copy{max-width:700px}.scene h2{font-size:clamp(34px,5.4vw,50px)}.cards{max-width:860px;width:100%;gap:26px}.overview{font-size:16px}.topic-dek{font-size:16px}.benefit{font-size:15px}.card p{font-size:16px}.card h3{font-size:19px}.topic-page-cards{grid-template-columns:1fr}.topic-page-header{align-items:flex-start}}
@media(max-width:600px){.brand-art{width:180px}.brand-glass{padding:8px 12px;border-radius:13px}.scene{padding:56px var(--page-inset)}.cards{grid-template-columns:minmax(0,1fr);gap:26px}.cards>.card-0,.cards>.card-1,.cards>.card-2{grid-column:1;grid-row:auto;width:100%;margin:0}.cards>.card-1{width:95%;justify-self:end}.cards>.card-2{width:97%;justify-self:start}.glass{padding:22px}.card h3{font-size:20px}.topic-page-header{gap:16px}.topic-page-header .brand-art{width:155px}.topic-page-header>a:not(.brand-plaque){font-size:12px}.topic-article{margin-top:28px}.footer-bottom{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.card{transform:none!important}.brand-plaque:hover .brand-glass{transform:none}.environment-fields,.environment-waves{transform:none!important;will-change:auto}}
@supports not (backdrop-filter:blur(1px)){.glass{background:#1a123c}}

/* Isolated text-separation review: static feather, never a card surface.
   Closest-side ellipse reaches transparency before the copy's right edge. */
.scene.topic>.scene-copy{isolation:isolate}
.scene.topic>.scene-copy::before{content:"";position:absolute;z-index:-1;inset:-24% -10% -24% -20%;pointer-events:none;background:radial-gradient(ellipse closest-side at 46% 50%,#08051b61 0%,#08051b3d 48%,#08051b14 78%,#08051b00 100%)}
.scene.topic>.scene-copy h2,.scene.topic>.scene-copy .topic-dek,.scene.topic>.scene-copy .overview{color:#f5f4ff}
.scene.topic>.scene-copy .benefit{color:#ddd8ef}
@media(max-width:999px){.scene.topic>.scene-copy::before{inset:-32px -8% -16px -12%}}

/* Footer stays in document flow; compact screens retain full-size touch targets. */
@media(max-width:600px){footer{--footer-reserve:170px;padding:24px var(--page-inset)}footer h2{font-size:clamp(32px,8.5vw,44px);letter-spacing:-.8px}.footer-bottom{align-items:end;gap:12px}.brand-plaque--footer .brand-art{width:155px}.footer-copyright{margin-top:12px;font-size:13px;line-height:1.5}.footer-bottom>a:not(.brand-plaque){font-size:13px;gap:6px}}
@media(max-width:360px){footer{padding-inline:16px;--footer-reserve:170px}.brand-plaque--footer .brand-art{width:132px}}

/* Native mobile chapter rail: only horizontal overflow belongs to the rail.
   Its height follows the whole selected topic, so vertical reading uses the
   document rather than a nested panel. No viewport-height card miniature. */
.mobile-rail #journey{height:auto;overflow-anchor:none}
.mobile-rail .pin{position:relative;width:100%;height:var(--mobile-chapter-height,auto);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a7a0d84d transparent;touch-action:pan-x pan-y pinch-zoom}
.mobile-rail .track{display:flex;align-items:flex-start;width:100%;height:auto;transform:none;will-change:auto}
.mobile-rail .scene.topic{grid-template-columns:1fr;gap:36px;flex:0 0 100%;width:100%;max-width:100%;height:auto;scroll-snap-align:start;scroll-snap-stop:always}
.mobile-chapter-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px 24px;padding:8px var(--page-inset) 36px}
.mobile-chapter-controls button,.mobile-profile-back{display:inline-flex;align-items:center;min-width:44px;min-height:44px;padding:10px 0;background:transparent;border:0;border-bottom:1px solid #a7a0d84d;color:#f5f4ff;font-size:14px;line-height:1.5}
.mobile-chapter-controls button:hover,.mobile-profile-back:hover{border-bottom-color:#65d5ff99}
.mobile-profile-back{align-self:flex-start;margin-bottom:28px}
.mobile-rail .scene.specialist{flex-direction:column;align-items:stretch}
/* A few pixels of touch response affect only the shared decorative layer. */
.environment-fields{transform:translate3d(calc(var(--environment-x,0px) + var(--environment-touch-x,0px) * .4),calc(var(--environment-touch-y,0px) * .4),0)}
.environment-waves{transform:translate3d(calc(var(--environment-x,0px) + var(--environment-touch-x,0px)),calc(var(--environment-wave-y,0px) + var(--environment-touch-y,0px)),0)}

@media(min-width:601px) and (max-height:600px){footer{--footer-reserve:110px;padding-block:24px}footer h2{font-size:clamp(32px,4vw,48px)}}

/* Executive profile: intrinsic editorial composition within the shared scene. */
.resume-scene .resume-layout{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(36px,5vw,96px);width:100%;max-width:1320px;margin-inline:auto;height:auto;min-height:0}
.resume-portrait{position:relative;isolation:isolate;justify-self:center;width:clamp(230px,23vw,350px);aspect-ratio:1;padding:9px;border:1px solid #a99ae070;border-radius:50%;background:linear-gradient(135deg,#7750d638,#100b2b80 58%,#65d5ff12);box-shadow:0 16px 60px #03011066,0 0 70px #7750d629}
.resume-portrait::before{content:"";position:absolute;inset:-7px;border:1px solid #7750d64d;border-top-color:#65d5ff66;border-right-color:#65d5ff33;border-radius:inherit;pointer-events:none}
.resume-portrait::after{content:"";position:absolute;inset:-7px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#7750d629,transparent 68%);pointer-events:none;animation:profile-halo 9s ease-in-out infinite alternate}
.resume-portrait img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;object-position:50% 36%;border-radius:50%;filter:none;opacity:1}
.resume-portrait-overlay{position:absolute;inset:9px;border-radius:50%;pointer-events:none;background:#7750d6;opacity:.22;mix-blend-mode:color}
.resume-editorial{min-width:0;position:relative;z-index:1}
.resume-heading h2,.specialist .resume-heading h2{font-size:clamp(36px,3.5vw,58px);font-weight:500;line-height:1.08;letter-spacing:-1.5px;margin:0;max-width:none}
.resume-role{margin:10px 0 0;font-size:clamp(16px,1.4vw,20px);line-height:1.4;color:#e6dff3}
.resume-location{margin:5px 0 0;font-size:13px;line-height:1.4;color:#c4bee0}
.resume-bio{margin-top:22px}
.resume-bio p{margin:0;max-width:65ch;font-size:16px;line-height:1.6;color:#d2cbe4}
.resume-expertise{margin-top:22px}
.resume-expertise h3{margin:0 0 10px;color:#f5f4ff;font-size:14px;font-weight:500;line-height:1.4}
.resume-expertise .areas-list{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none}
.resume-expertise .areas-list li{font-size:14px;line-height:1.5;color:#d2cbe4}
.resume-scene .profile-focus.card{position:relative;inset:auto;width:auto;height:auto;max-width:none;min-height:0;margin:22px 0 0;padding:0;border:0;border-radius:0;box-shadow:none;background:none;backdrop-filter:none;transform:none!important;opacity:1;overflow:visible}
.resume-scene .profile-focus .card-focus-trigger{position:relative;inset:auto;display:inline-flex;align-items:center;gap:24px;min-height:44px;padding:8px 0;border:0;border-bottom:1px solid #9f8bd47a;border-radius:0;background:transparent;box-shadow:none;color:#f5f4ff;font-size:14px;line-height:1.4;text-align:left;cursor:pointer}
.resume-scene .profile-focus .card-focus-trigger::before,.resume-scene .profile-focus .card-focus-trigger::after{content:none}
.resume-scene .profile-focus .card-focus-trigger:hover{border-color:#65d5ff;color:#fff}
.resume-scene .profile-focus .card-focus-trigger:focus-visible{outline:2px solid #65d5ff;outline-offset:5px}
.resume-contact{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 22px;margin-top:18px;padding-top:14px;border-top:1px solid #a7a0d833}
.resume-contact-item{display:flex;flex-direction:column;justify-content:center;min-height:44px;max-width:100%;padding:3px 0;gap:3px}
.resume-contact-label{font-size:11px;line-height:1.3;color:#c4bee0}
.resume-contact-value{font-size:13px;line-height:1.4;color:#e6dff3;overflow-wrap:anywhere}
.resume-contact-item:hover .resume-contact-value{text-decoration:underline;text-underline-offset:4px}
.profile-reading-organizations{display:grid;gap:24px;list-style:none;margin:22px 0;padding:0}
.profile-reading-organizations>li{margin:0;padding:0}
.profile-reading-organizations h4{margin:0 0 8px;color:#f5f4ff;font-size:18px;line-height:1.4;font-weight:500}
.profile-reading-organizations p{margin:8px 0;color:#d2cbe4}
.card-focus-copy .resume-contact{margin-top:16px}
.card-focus-copy .resume-contact-value{font-size:15px}
/* Reveal only once the scene is actually visible; no autonomous portrait travel. */
@media(prefers-reduced-motion:no-preference){.resume-scene.visible .resume-portrait{animation:profile-reveal .65s ease-out both}.resume-scene.visible .resume-editorial{animation:profile-copy-reveal .6s .08s ease-out both}}
@keyframes profile-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes profile-copy-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes profile-halo{from{opacity:.65}to{opacity:1}}
@media(min-width:1000px) and (max-height:820px){.resume-scene .resume-layout{gap:clamp(32px,4vw,64px)}.resume-portrait{width:clamp(230px,23vw,290px)}.resume-heading h2,.specialist .resume-heading h2{font-size:clamp(36px,3.4vw,46px)}.resume-bio,.resume-expertise{margin-top:18px}.resume-bio p{font-size:15px;line-height:1.5}.resume-scene .profile-focus.card{margin-top:16px}.resume-contact{margin-top:14px;padding-top:10px}}
/* Document mode, tablet and mobile keep the entire resting profile in flow. */
@media(max-width:999px){.resume-scene .resume-layout{grid-template-columns:1fr;gap:34px;max-width:680px}.resume-portrait{width:clamp(210px,45vw,290px)}.resume-editorial{width:100%}.resume-heading h2,.specialist .resume-heading h2{font-size:clamp(34px,7vw,48px)}.resume-bio p{font-size:16px}.resume-contact{gap:10px 22px}.resume-expertise .areas-list{gap:7px 18px}}
@media(prefers-reduced-motion:reduce){.resume-portrait,.resume-portrait::after,.resume-editorial{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}
