/* Shared 38 motion and graphic language, composed over existing page templates. */
/* Navigate directly: crossfading whole pages obscured text and caused transient overflow. */
@view-transition{navigation:none}
#l38-scroll-progress{position:fixed;z-index:300;inset:0 0 auto;height:3px;pointer-events:none;opacity:0;transition:opacity .25s}
#l38-scroll-progress.is-visible{opacity:1}
#l38-scroll-progress span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--wine) 0 56%,var(--lime) 56% 78%,var(--apricot) 78%);transform:scaleX(0);transform-origin:left center;will-change:transform}
.site-header{transition:box-shadow .3s,border-color .3s,background .3s}
.site-header.is-scrolled{box-shadow:0 8px 30px #17233012}
.brand .brand-number{transition:transform .3s cubic-bezier(.2,.8,.2,1),border-radius .3s}
.brand:hover .brand-number{transform:rotate(-5deg) scale(1.08);border-radius:14px 3px 14px 3px}
.desktop-nav>a,.desktop-nav__item>a{position:relative}
.desktop-nav>a.nav-top-link::after,.desktop-nav__item>a.nav-top-link::after{content:"";position:absolute;left:9px;right:9px;bottom:4px;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .24s cubic-bezier(.2,.8,.2,1)}
.desktop-nav>a.nav-top-link:hover::after,.desktop-nav>a.nav-top-link[aria-current=page]::after,.desktop-nav__item:hover>a.nav-top-link::after,.desktop-nav__item:focus-within>a.nav-top-link::after{transform:scaleX(1)}
.mega-menu{overflow:hidden}
.mega-menu::after{content:"38";position:absolute;right:-12px;bottom:-.55em;z-index:-1;color:var(--section,#244add);opacity:.055;font:900 190px/.8 Inter,system-ui,sans-serif;letter-spacing:-.12em;pointer-events:none}
.mega-menu__link{transition:background .18s,transform .18s,border-color .18s}
.mega-menu__link:hover{transform:translateX(4px)}
.page-main .page-hero{overflow:hidden;isolation:isolate}
.page-main .page-hero::before{content:"38";display:block;position:absolute;z-index:0;right:-.055em;top:48%;transform:translateY(-50%);font:900 clamp(200px,27vw,390px)/.78 Inter,system-ui,sans-serif;letter-spacing:-.14em;color:var(--section);opacity:.075;pointer-events:none;white-space:nowrap}
.page-main .page-hero::after{content:"";display:block;position:absolute;z-index:0;right:clamp(24px,5vw,76px);top:20%;width:84px;height:84px;border:1px solid color-mix(in srgb,var(--section) 28%,transparent);border-radius:50%;background:radial-gradient(circle,var(--section) 0 2px,transparent 3px) center/12px 12px;opacity:.55;pointer-events:none}
.page-main .page-hero>*{position:relative;z-index:1}
.page-main .page-hero .eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--section) 35%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 58%,transparent)}
.page-main .page-hero .eyebrow::before{content:"38";font-size:11px;line-height:1;font-weight:850;letter-spacing:-.08em;color:var(--section);padding-right:8px;border-right:1px solid currentColor}
.page-main .page-hero h1{max-width:900px}
.page-main .page-hero h1::after{content:"";display:block;width:min(13vw,112px);height:5px;margin-top:18px;background:linear-gradient(90deg,var(--section) 0 68%,var(--lime) 68%);transform-origin:left;transition:width .45s cubic-bezier(.2,.8,.2,1)}
.page-main .page-hero:hover h1::after{width:min(22vw,200px)}
.page-main .page-content{counter-reset:l38-section}
.page-main .page-content>section[id],.page-main .page-content>.content-section[id],.page-main .page-content>.r-section[id]{counter-increment:l38-section}
.page-main .page-content>section[id]>h2:first-child::before,.page-main .page-content>.content-section[id]>h2:first-child::before,.page-main .page-content>.r-section[id]>h2:first-child::before{content:"38 / " counter(l38-section,decimal-leading-zero);display:block;margin-bottom:10px;color:var(--section);font:750 12px/1.4 Inter,system-ui,sans-serif;letter-spacing:.13em}
.page-main .page-content>section[id],.page-main .page-content>.content-section[id],.page-main .page-content>.r-section[id]{position:relative}
.page-main .page-content>section[id]::before,.page-main .page-content>.content-section[id]::before,.page-main .page-content>.r-section[id]::before{content:"";position:absolute;top:0;left:0;width:0;height:3px;background:var(--section);transition:width .45s cubic-bezier(.2,.8,.2,1)}
.page-main .page-content>section[id]:hover::before,.page-main .page-content>.content-section[id]:hover::before,.page-main .page-content>.r-section[id]:hover::before{width:68px}
.breadcrumbs{position:relative}
.breadcrumbs a{transition:color .18s}
.breadcrumbs a:hover{color:var(--section,var(--wine))}
.button,.link-card,.editorial-grid>article,.r-editorial-grid>article,.r-stages article,.current-stack>a,.service-grid>a{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,background-color .22s,border-color .22s}
.button{position:relative;isolation:isolate;overflow:hidden;translate:var(--mag-x,0px) var(--mag-y,0px);will-change:translate}
.button::after{content:"";position:absolute;left:var(--ripple-x,50%);top:var(--ripple-y,50%);width:12px;height:12px;border-radius:50%;background:#ffffff42;opacity:0;transform:translate(-50%,-50%) scale(0);pointer-events:none}
.button.is-rippling::after{animation:l38-ripple 520ms cubic-bezier(.18,.72,.28,1)}
@keyframes l38-ripple{12%{opacity:.8}to{opacity:0;transform:translate(-50%,-50%) scale(22)}}
.button>svg,.button>span[aria-hidden=true]{transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.button:hover>svg,.button:hover>span[aria-hidden=true]{transform:translateX(4px)}
.link-card:hover,.editorial-grid>article:hover,.r-editorial-grid>article:hover,.r-stages article:hover,.current-stack>a:hover{transform:translateY(-5px);box-shadow:0 15px 30px #17233012}
.service-grid>a:hover{transform:translateY(-2px)}
.r-photo img,.editorial-grid img,.r-gallery img,.r-article-media img,.campus-photo img{transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}
.r-photo:hover img,.editorial-grid article:hover img,.r-gallery article:hover img,.r-article-media:hover img,.campus-photo:hover img{transform:scale(1.035);filter:saturate(1.04)}
.r-photo{overflow:hidden}
.page-content .r-photo img{clip-path:inset(0 round 3px);transition:clip-path .7s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.page-content .r-photo:hover img{clip-path:inset(0 round 18px 3px 18px 3px)}
.page-content .r-flow,.page-content .law-explainer,.page-content .editorial-contact{position:relative}
.page-content .r-flow::before,.page-content .law-explainer::before,.page-content .editorial-contact::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--section),var(--lime));transform:scaleY(0);transform-origin:top;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.page-content .r-flow:hover::before,.page-content .law-explainer:hover::before,.page-content .editorial-contact:hover::before{transform:scaleY(1)}
.section-nav a{transition:background .18s,color .18s,transform .18s}
.section-nav a:hover{transform:translateY(-2px)}
.mobile-nav-group>summary,.mobile-nav-children>a,.mobile-menu nav>a{transition:background .2s,padding .2s,color .2s}
.mobile-menu nav>a:hover,.mobile-nav-children>a:hover{padding-left:10px;background:var(--section-soft,#edf0ff)}
.site-footer{position:relative;isolation:isolate;overflow:hidden}
.site-footer::after{content:"38";position:absolute;z-index:0;right:-.08em;bottom:-.56em;color:#fff;opacity:.055;font:900 clamp(220px,36vw,520px)/.8 Inter,system-ui,sans-serif;letter-spacing:-.14em;pointer-events:none}
.site-footer .footer-grid,.site-footer .footer-bottom{position:relative;z-index:1}
.site-footer .footer-bottom{position:relative}
.site-footer .footer-bottom::before{content:"38";display:inline-grid;place-items:center;width:32px;height:32px;margin-right:10px;border:1px solid #ffffff45;border-radius:50%;font-weight:850;letter-spacing:-.08em}
/* Content is always visible; animation must never gate reading. */
.motion-pending,.motion-visible{opacity:1;transform:none;clip-path:none}
.motion-visible{animation:l38-content-enter .32s ease-out both}
@keyframes l38-content-enter{from{transform:translateY(8px)}to{transform:none}}
@media(max-width:767px){
 .page-main .page-hero::before{right:-.16em;top:56%;font-size:clamp(200px,58vw,300px);opacity:.055}
 .page-main .page-hero::after{right:18px;top:12%;width:52px;height:52px}
 .page-main .page-hero h1::after{width:68px}
 .page-main .page-content>section[id]>h2:first-child::before,.page-main .page-content>.content-section[id]>h2:first-child::before,.page-main .page-content>.r-section[id]>h2:first-child::before{font-size:11px}
 .link-card:hover,.editorial-grid>article:hover,.r-editorial-grid>article:hover,.r-stages article:hover,.current-stack>a:hover{transform:none;box-shadow:none}
 .r-photo:hover img,.editorial-grid article:hover img,.r-gallery article:hover img,.r-article-media:hover img,.campus-photo:hover img{transform:none;filter:none}
}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 ::view-transition-old(root),::view-transition-new(root){animation:none}
 #l38-scroll-progress{display:none}
 .motion-pending{opacity:1;transform:none;clip-path:none;transition:none}
 .button{translate:none;will-change:auto}
}
html[data-motion=reduce] #l38-scroll-progress{display:none}
html[data-motion=reduce] .motion-pending{opacity:1;transform:none;clip-path:none;transition:none}
html[data-motion=reduce] .button{translate:none;will-change:auto}
@media print{#l38-scroll-progress,.page-main .page-hero::before,.page-main .page-hero::after,.site-footer::after{display:none!important}.motion-pending{opacity:1;transform:none;clip-path:none}}

/* Search examples, connected content, and an animated route through the site. */
.r-home-search__controls{display:flex;gap:10px;align-items:stretch}
.r-home-search__controls input{min-width:0;flex:1}
.r-search-examples{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;color:var(--muted);font-size:13px}
.r-search-examples a{padding:5px 9px;border:1px solid var(--line);border-radius:999px;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s}
.r-search-examples a:hover{background:var(--section-soft);border-color:var(--section);color:var(--ink);transform:translateY(-2px)}
.r-pathway{position:relative;isolation:isolate;width:min(100% - 48px,1240px);margin:32px auto 54px;padding:clamp(26px,4.5vw,58px);overflow:hidden;border-radius:24px;color:#f7f8f1;background:radial-gradient(ellipse at 100% 0,#6b7f5c40,transparent 42%),linear-gradient(128deg,#162f37,#214345 62%,#314a3b);box-shadow:0 22px 54px #17233022}
.r-pathway::before{content:"38";position:absolute;z-index:-1;right:-.04em;bottom:-.44em;color:#fff;opacity:.045;font:900 clamp(180px,27vw,360px)/.8 Inter,system-ui,sans-serif;letter-spacing:-.14em;pointer-events:none}
.r-pathway__intro{max-width:720px}
.r-pathway .eyebrow{color:#dce8cb;letter-spacing:.09em}
.r-pathway h2{max-width:14ch;margin:12px 0 14px;font:500 clamp(30px,4.4vw,52px)/1.04 Georgia,serif;letter-spacing:-.025em}
.r-pathway__intro p{max-width:60ch;color:#e0e9e2;font-size:17px;line-height:1.65}
.r-pathway__track{position:relative;margin:34px 0 38px}
.r-pathway__track ol{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.r-pathway__track ol::before{content:"";position:absolute;z-index:0;left:12.5%;right:12.5%;top:16px;height:1px;background:linear-gradient(90deg,#d4e1bf99,#e8f3db65 55%,#d4e1bf99)}
.r-pathway__track ol::after{content:"";position:absolute;z-index:2;left:12.5%;top:12px;width:9px;height:9px;border:1px solid #fff;border-radius:50%;background:#c0df8a;box-shadow:0 0 0 5px #c0df8a28,0 0 16px #d5f6a2;animation:l38-node-journey 7s cubic-bezier(.45,0,.55,1) infinite alternate}
.r-pathway__step{position:relative;z-index:1;min-width:0;padding-top:34px}
.r-pathway__marker{position:absolute;z-index:2;top:0;left:50%;display:grid;width:33px;height:33px;place-items:center;transform:translateX(-50%);border:1px solid #dbe8cc9c;border-radius:50%;background:#274849;color:#edf5df;font:750 11px/1 Inter,system-ui,sans-serif;letter-spacing:.04em;transition:background .3s,border-color .3s,box-shadow .3s}
.r-pathway__step>a{display:flex;height:100%;min-height:180px;flex-direction:column;gap:9px;padding:18px 16px;border:1px solid #dce8d52b;border-radius:14px;background:#ffffff0b;color:inherit;text-decoration:none;transition:background .25s,border-color .25s,transform .25s,box-shadow .25s}
.r-pathway__step>a:hover,.r-pathway__step>a:focus-visible{transform:translateY(-4px);border-color:#d8e6bd8a;background:#ffffff15;box-shadow:0 14px 32px #0a1d222e}
.r-pathway__step>a:focus-visible,.r-pathway__facts a:focus-visible,.r-search-examples a:focus-visible,.r-related-card:focus-visible,.r-direction-links a:focus-visible{outline:3px solid #d1ed9a;outline-offset:3px}
.r-pathway__action{color:#d9e6c8;font-size:12px;line-height:1.4;letter-spacing:.04em}
.r-pathway__step strong{font:600 20px/1.15 Georgia,serif}
.r-pathway__summary{color:#e0e9e2c7;font-size:13px;line-height:1.55}
.r-pathway__facts{padding-top:25px;border-top:1px solid #ffffff30}
.r-pathway__facts h3{margin:0 0 16px;color:#e4edda;font:650 12px/1.4 Inter,system-ui,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.r-pathway__facts>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.r-pathway__facts>div>a{display:flex;min-height:88px;align-items:center;gap:14px;padding:13px 15px;border-radius:12px;background:#ffffff10;color:inherit;text-decoration:none;transition:background .2s,transform .2s}
.r-pathway__facts>div>a:hover{transform:translateY(-3px);background:#ffffff1b}
.r-pathway__facts>div strong{font:500 clamp(24px,3.2vw,38px)/1 Georgia,serif;letter-spacing:-.04em}
.r-pathway__facts>div span{color:#e0e9e2d9;font-size:12px;line-height:1.45}
.r-pathway__facts>p{margin:12px 0 0;color:#e0e9e2a6;font-size:11px}
.r-related{margin-top:48px;padding:28px 0 8px;border-top:1px solid var(--line)}
.r-related>h2{margin:8px 0 20px;font:500 clamp(27px,3.4vw,38px)/1.1 Georgia,serif}
.r-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.r-related-card{position:relative;display:flex;min-height:190px;flex-direction:column;gap:9px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}
.r-related-card::after{content:"";position:absolute;top:0;right:0;width:3px;height:0;background:var(--section);transition:height .3s}
.r-related-card:hover{transform:translateY(-3px);border-color:var(--section);box-shadow:0 14px 28px #17233012}
.r-related-card:hover::after{height:100%}
.r-related-card__relation{color:var(--section);font:750 11px/1.4 Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase}
.r-related-card strong{font:600 21px/1.16 Georgia,serif}
.r-related-card__summary{color:var(--muted);font-size:13px;line-height:1.55}
.r-related-card__link{margin-top:auto;padding-top:6px;font-weight:700}
.r-mission{max-width:1050px;padding:30px clamp(20px,3vw,42px);border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#f9f8f1,#f2f4ed)}
.r-mission h2{max-width:18ch}
.r-mission>p:first-of-type{max-width:72ch;font-size:18px;line-height:1.7}
.r-mission__principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0}
.r-mission__principles article{padding:18px 18px 14px;border-top:2px solid var(--section);background:#fff9;border-radius:0 0 10px 10px}
.r-mission__principles article>span{color:var(--section);font:750 11px/1 Inter,system-ui,sans-serif;letter-spacing:.1em}
.r-mission__principles h3{margin:12px 0 7px;font:600 22px/1.1 Georgia,serif}
.r-mission__principles p{margin:0;font-size:14px;line-height:1.5}
.r-project-directions{max-width:none;margin-bottom:34px;padding:28px clamp(20px,3vw,38px);border-left:3px solid var(--section);background:linear-gradient(90deg,var(--section-soft),transparent 85%)}
.r-project-directions h2{max-width:20ch}
.r-project-directions>p:first-of-type{max-width:72ch}
.r-direction-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}
.r-direction-links>a{display:flex;min-height:112px;flex-direction:column;justify-content:space-between;gap:12px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;transition:transform .22s,border-color .22s,box-shadow .22s}
.r-direction-links>a:hover{transform:translateY(-3px);border-color:var(--section);box-shadow:0 10px 24px #17233012}
.r-direction-links>a>span{color:var(--muted);font-size:12px}
.r-direction-links>a>strong{display:flex;justify-content:space-between;gap:8px;font-size:14px}
@keyframes l38-node-journey{to{left:87.5%}}
@media(max-width:1023px){.r-mission__principles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .r-home-search__controls{flex-direction:column}
 .r-home-search__controls .button{align-self:flex-start}
 .r-pathway{width:calc(100% - 32px);margin:24px auto 38px;padding:24px 20px;border-radius:18px}
 .r-pathway__track{margin:26px 0 30px}
 .r-pathway__track ol{grid-template-columns:1fr;gap:9px;padding:0}
 .r-pathway__track ol::before{left:16px;right:auto;top:17px;bottom:17px;width:1px;height:auto;background:linear-gradient(#d4e1bf99,#e8f3db65 55%,#d4e1bf99)}
 .r-pathway__track ol::after{left:12px;top:17px;animation:l38-node-journey-vertical 7s cubic-bezier(.45,0,.55,1) infinite alternate}
 .r-pathway__step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:stretch;padding:0}
 .r-pathway__marker{position:relative;top:auto;left:auto;transform:none;align-self:start;margin-top:18px}
 .r-pathway__step>a{min-height:120px;padding:15px}
 .r-pathway__step strong{font-size:19px}
 .r-pathway__facts>div{grid-template-columns:1fr}
 .r-pathway__facts>div>a{min-height:68px}
 .r-mission__principles,.r-direction-links{grid-template-columns:1fr}
 .r-mission,.r-project-directions{padding:23px 18px}
 .r-direction-links>a{min-height:88px}
}
@keyframes l38-node-journey-vertical{to{top:calc(100% - 26px)}}
@media(prefers-reduced-motion:reduce){
 .r-pathway__track ol::after{animation:none;display:none}
 .r-pathway__step>a,.r-pathway__facts>div>a,.r-related-card,.r-search-examples a,.r-direction-links>a{transition:none}
}
html[data-motion=reduce] .r-pathway__track ol::after{animation:none;display:none}
html[data-motion=reduce] .r-pathway__step>a,html[data-motion=reduce] .r-pathway__facts>div>a,html[data-motion=reduce] .r-related-card,html[data-motion=reduce] .r-search-examples a,html[data-motion=reduce] .r-direction-links>a{transition:none}
