/* 2026 experience layer: progressive, evidence-first, and intentionally framework-free. */
:root{--motion-fast:160ms;--motion-medium:360ms;--motion-slow:720ms;--ease-out:cubic-bezier(.2,.8,.2,1);--ease-spring:cubic-bezier(.2,1.1,.3,1);--experience-glow:color-mix(in srgb,var(--cat-blue) 18%,transparent)}
html{scroll-behavior:smooth;scroll-padding-top:8rem}body{overflow-x:hidden;background-image:radial-gradient(circle at 10% 0,color-mix(in srgb,var(--cat-blue) 5%,transparent),transparent 30rem),linear-gradient(90deg,transparent 0,transparent calc(50% - .5px),color-mix(in srgb,var(--border-hairline) 30%,transparent) 50%,transparent calc(50% + .5px));background-size:auto,72px 72px}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.3;background:linear-gradient(120deg,transparent 0 48%,color-mix(in srgb,var(--cat-aqua) 5%,transparent) 48% 52%,transparent 52%)}
.site-header{backdrop-filter:blur(18px) saturate(135%);background:color-mix(in srgb,var(--surface-1) 88%,transparent);box-shadow:0 1px 0 var(--border-hairline);transition:box-shadow var(--motion-medium),transform var(--motion-medium)}.site-header.is-scrolled{box-shadow:0 16px 40px rgba(15,34,48,.1)}.site-header__bar{padding-block:.8rem}.site-header__name{font-size:clamp(1.05rem,2vw,1.35rem);letter-spacing:-.035em}.site-header__name::before{content:"";display:inline-block;width:.65rem;height:.65rem;margin-right:.55rem;border-radius:50%;background:var(--cat-blue);box-shadow:0 0 0 5px var(--experience-glow)}.site-header__disclaimer{max-height:3rem;overflow:hidden;transition:max-height var(--motion-medium),opacity var(--motion-medium)}.site-header.is-scrolled .site-header__disclaimer{max-height:0;opacity:0;padding-bottom:0}.site-nav ul{gap:clamp(.8rem,2vw,1.5rem);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.site-nav ul::-webkit-scrollbar{display:none}.site-nav a{position:relative;white-space:nowrap;transition:color var(--motion-fast),transform var(--motion-fast)}.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--cat-blue);transform:scaleX(0);transform-origin:right;transition:transform var(--motion-medium) var(--ease-out)}.site-nav a:hover::after,.site-nav a:focus-visible::after,.site-nav a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}.site-nav a:hover{transform:translateY(-1px)}
.page,.account-page{position:relative}.page>h1,.account-hero h1,.dept-header h1{font-size:clamp(2.5rem,6vw,5.5rem);letter-spacing:-.055em;line-height:.98;text-wrap:balance}.account-hero{min-height:min(72vh,740px);display:flex;flex-direction:column;justify-content:center;position:relative;isolation:isolate;overflow:hidden}.account-hero::after{content:"";position:absolute;width:min(42vw,520px);aspect-ratio:1;right:-8%;top:5%;border-radius:50%;z-index:-1;background:radial-gradient(circle,color-mix(in srgb,var(--cat-blue) 14%,transparent),transparent 68%);filter:blur(4px)}.eyebrow{font-variant-numeric:tabular-nums}.lede{text-wrap:pretty}.finding{background:linear-gradient(90deg,color-mix(in srgb,var(--cat-blue) 8%,var(--surface-1)),transparent);padding-block:.8rem}
.card,.goal,.goal-card,.initiative,.rec-card,.action-row{transition:transform var(--motion-medium) var(--ease-out),box-shadow var(--motion-medium),border-color var(--motion-medium),background var(--motion-medium)}@media(hover:hover){.card:hover,.goal:hover,.goal-card:hover,.initiative:hover,.rec-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--cat-blue) 35%,var(--border-hairline));box-shadow:0 18px 48px rgba(15,34,48,.1)}.metric:hover{background:color-mix(in srgb,var(--cat-blue) 6%,var(--surface-1));transform:translateY(-2px)}}
.button,.button-secondary,button,.chip{transition:transform var(--motion-fast) var(--ease-spring),box-shadow var(--motion-fast),background var(--motion-fast),color var(--motion-fast)}.button:hover,.button-secondary:hover,button:hover{transform:translateY(-2px)}.button:active,.button-secondary:active,button:active{transform:translateY(0) scale(.98)}
.metric{transition:transform var(--motion-medium),background var(--motion-medium)}.metric strong,.dept-stat__value{letter-spacing:-.045em;font-variant-numeric:tabular-nums}.status-badge__dot{transition:transform var(--motion-fast),box-shadow var(--motion-fast)}.status-badge:hover .status-badge__dot{transform:scale(1.5);box-shadow:0 0 0 4px currentColor}.cite{transition:transform var(--motion-fast),box-shadow var(--motion-fast)}.cite:hover,.cite:focus-visible{transform:translateY(-2px);box-shadow:0 5px 14px rgba(0,0,0,.12)}
.scroll-context{position:fixed;right:1rem;top:50%;transform:translateY(-50%);z-index:15;display:grid;gap:.45rem;padding:.65rem;border:1px solid var(--border-hairline);background:color-mix(in srgb,var(--surface-1) 90%,transparent);backdrop-filter:blur(14px);border-radius:999px;box-shadow:0 10px 30px rgba(15,34,48,.1)}.scroll-context__dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;min-height:0;background:var(--ink-muted);opacity:.35}.scroll-context__dot.is-active{opacity:1;background:var(--cat-blue);transform:scale(1.45);box-shadow:0 0 0 4px var(--experience-glow)}.scroll-progress{position:fixed;z-index:100;left:0;top:0;height:3px;width:var(--scroll-progress,0%);background:linear-gradient(90deg,var(--cat-blue),var(--cat-aqua));pointer-events:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity var(--motion-slow) var(--ease-out),transform var(--motion-slow) var(--ease-out)}.reveal.is-visible{opacity:1;transform:none}.stagger>*{opacity:0;transform:translateY(18px);transition:opacity var(--motion-medium) var(--ease-out),transform var(--motion-medium) var(--ease-out)}.stagger.is-visible>*{opacity:1;transform:none}.stagger.is-visible>*:nth-child(2){transition-delay:70ms}.stagger.is-visible>*:nth-child(3){transition-delay:140ms}.stagger.is-visible>*:nth-child(4){transition-delay:210ms}.stagger.is-visible>*:nth-child(5){transition-delay:280ms}.stagger.is-visible>*:nth-child(n+6){transition-delay:340ms}
.account-page .account-hero~.section{min-height:52vh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(4rem,10vw,9rem)}.account-page .account-hero~.section>h2{font-size:clamp(2rem,4.5vw,4rem);letter-spacing:-.045em;line-height:1.05;text-wrap:balance}.account-page .account-hero~.section>.eyebrow{position:sticky;top:7.5rem;align-self:flex-start;background:var(--page);z-index:2;padding:.3rem .5rem;margin-left:-.5rem}
.constellation-shell{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:1rem;margin:1.5rem 0 2.5rem}.constellation{min-height:520px;border:1px solid var(--line);background:radial-gradient(circle at center,color-mix(in srgb,var(--external) 8%,var(--surface)),var(--surface) 62%);position:relative;overflow:hidden}.constellation svg{display:block;width:100%;height:100%}.constellation line{stroke:var(--line);stroke-width:1.2;transition:opacity var(--motion-medium),stroke var(--motion-medium),stroke-width var(--motion-medium)}.constellation g{cursor:pointer;outline:none}.constellation circle{fill:var(--surface);stroke:var(--accent);stroke-width:2;transition:r var(--motion-medium),fill var(--motion-medium),filter var(--motion-medium)}.constellation g.external circle{stroke:var(--external);stroke-dasharray:4 3}.constellation text{fill:var(--ink);font:600 11px var(--font-sans);pointer-events:none;text-anchor:middle}.constellation g:hover circle,.constellation g:focus circle,.constellation g.is-active circle{fill:color-mix(in srgb,var(--accent) 12%,var(--surface));filter:drop-shadow(0 8px 10px rgba(0,0,0,.18))}.constellation line.is-muted,.constellation g.is-muted{opacity:.12}.constellation line.is-active{stroke:var(--accent);stroke-width:3}.constellation-detail{border:1px solid var(--line);padding:1.2rem;background:var(--surface);align-self:stretch}.constellation-detail h3{font-size:1.4rem}.constellation-key{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}.constellation-key span::before{content:"";display:inline-block;width:.65rem;height:.65rem;border:2px solid var(--accent);border-radius:50%;margin-right:.35rem}.constellation-key span:last-child::before{border-color:var(--external);border-style:dashed}
@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:260ms;animation-timing-function:var(--ease-out)}
@media(max-width:900px){.scroll-context{display:none}.constellation-shell{grid-template-columns:1fr}.constellation{min-height:430px}.account-page .account-hero~.section>.eyebrow{position:static}.account-hero{min-height:auto;padding-block:4rem}.account-page .account-hero~.section{min-height:auto;padding-block:4rem}}
@media(max-width:600px){body{background-size:auto,48px 48px}.site-header__tagline{display:none}.header-tools{overflow-x:auto}.page>h1,.account-hero h1,.dept-header h1{font-size:clamp(2.35rem,13vw,3.8rem)}.constellation{display:none}.constellation-detail{display:none}.constellation-shell{display:block;margin-bottom:1rem}.collab-summary{overflow-x:auto;grid-template-columns:repeat(4,minmax(150px,1fr))!important}.initiative{padding:1rem}.account-page .account-hero~.section{padding-block:3.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}.reveal,.stagger>*,.stagger.is-visible>*{opacity:1!important;transform:none!important}.card:hover,.goal:hover,.goal-card:hover,.initiative:hover,.rec-card:hover,.button:hover,.button-secondary:hover,button:hover{transform:none!important}.scroll-progress{display:none}}
.experience-menu{display:none;align-items:center;gap:.45rem;min-height:44px;border:1px solid var(--border-hairline);background:var(--surface-1);color:var(--ink-primary);padding:.5rem .75rem}
@media(max-width:720px){.experience-menu{display:inline-flex}.site-header__bar{flex-wrap:nowrap}.site-header__disclaimer{display:none}.site-nav{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--motion-medium),opacity var(--motion-medium);padding-inline:1rem}.site-nav>ul{overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:0;border:0;padding:0}.site-nav a{display:block;padding:.7rem;border-bottom:1px solid var(--border-hairline)}.site-header.nav-open .site-nav{grid-template-rows:1fr;opacity:1;padding-bottom:.75rem}.header-tools{padding-inline:1rem;border-top:1px solid var(--border-hairline)}}
@media print{.scroll-context,.scroll-progress,.constellation-shell{display:none!important}.reveal,.stagger>*{opacity:1!important;transform:none!important}}
.canopy-hero{overflow:hidden}.canopy-hero:before{content:"2012 / 2022";position:absolute;right:-.03em;bottom:.05em;font-size:clamp(4rem,15vw,13rem);font-weight:900;letter-spacing:-.08em;color:color-mix(in srgb,var(--cat-blue) 7%,transparent);z-index:-1}.hero-actions,.download-row{display:flex;gap:.75rem;flex-wrap:wrap}.canopy-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}.canopy-metrics .metric{padding:clamp(1rem,3vw,2rem);border-right:1px solid var(--line)}.canopy-metrics .metric:last-child{border-right:0}.canopy-metrics strong{display:block;font-size:clamp(1.8rem,4vw,3.7rem);line-height:1}.canopy-metrics span{display:block;margin-top:.65rem;color:var(--muted)}.source-note{font-size:.86rem;color:var(--muted);max-width:75ch}.canopy-bars{display:grid;gap:1.25rem;margin-top:2rem}.canopy-bar__label{display:flex;justify-content:space-between;gap:1rem}.canopy-bar__track{height:.7rem;background:var(--line);overflow:hidden;margin:.45rem 0}.canopy-bar__track span{display:block;width:var(--bar);height:100%;animation:bar-grow 900ms var(--ease-out) both}.canopy-bar__track .gain{background:linear-gradient(90deg,var(--cat-aqua),var(--cat-blue))}.canopy-bar__track .loss{background:var(--danger)}@keyframes bar-grow{from{width:0}}.canopy-bar small{color:var(--muted)}.priority-meter{display:block;min-width:7rem;padding:.28rem .45rem;background:linear-gradient(90deg,color-mix(in srgb,var(--cat-blue) 26%,transparent) var(--priority),transparent var(--priority))}.evidence-split{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:clamp(1.5rem,5vw,5rem);align-items:center}.journey-nav{display:grid;grid-template-columns:repeat(5,1fr);max-width:var(--content-width);margin:1rem auto 0;border:1px solid var(--line);background:var(--surface)}.journey-nav a{padding:1rem;border-right:1px solid var(--line);text-decoration:none}.journey-nav a:last-child{border:0}.journey-nav small{display:block;color:var(--muted);margin-bottom:.2rem}
@media(max-width:760px){.canopy-metrics{grid-template-columns:1fr 1fr}.canopy-metrics .metric:nth-child(2){border-right:0}.evidence-split{grid-template-columns:1fr}.journey-nav{grid-template-columns:1fr 1fr}.journey-nav a{border-bottom:1px solid var(--line)}}
.year-ribbon{display:flex;align-items:center;gap:clamp(.55rem,2vw,1.4rem);margin:0 0 1.5rem;font-size:clamp(.82rem,1.5vw,1rem);font-weight:750;letter-spacing:.08em;color:var(--muted)}.year-ribbon span{display:inline-grid;place-items:center;min-width:3.4rem;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;background:var(--surface);transition:transform var(--motion-medium),background var(--motion-medium),color var(--motion-medium)}.year-ribbon span:last-of-type{background:var(--accent);color:var(--surface);border-color:var(--accent);box-shadow:0 0 0 8px var(--experience-glow)}.year-ribbon i{height:1px;width:clamp(1.2rem,4vw,4rem);background:linear-gradient(90deg,var(--line),var(--accent));transform-origin:left;animation:ribbon-draw 1s var(--ease-out) both}@keyframes ribbon-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.goal,.goal-card,.initiative,.metric{background-image:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,0),color-mix(in srgb,var(--cat-blue) 8%,transparent),transparent 38%)}.table-wrap,table{scrollbar-color:var(--accent) transparent}tbody tr{transition:background var(--motion-fast),transform var(--motion-fast)}tbody tr:hover{background:color-mix(in srgb,var(--cat-blue) 6%,transparent)}svg [role=button],svg circle,svg rect,svg path{transition:opacity var(--motion-medium),filter var(--motion-medium),transform var(--motion-medium);transform-box:fill-box;transform-origin:center}svg [role=button]:hover,svg [role=button]:focus{filter:drop-shadow(0 6px 10px rgba(0,0,0,.2))}svg [role=button]:hover circle,svg [role=button]:hover rect{transform:scale(1.05)}.source-drawer{animation:drawer-in var(--motion-medium) var(--ease-out)}.drawer-backdrop{animation:fade-in var(--motion-fast) linear}@keyframes drawer-in{from{transform:translateX(100%);opacity:.6}to{transform:none;opacity:1}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
