@font-face{font-family:Newsreader;src:url('/assets/newsreader-italic.ttf') format('truetype');font-style:italic;font-weight:500;font-display:swap}
:root{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',Arial,sans-serif;color:#2c2c2c;background:#f5f5f5;font-synthesis:none;--blue:#1f8fff;--muted:#979797;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}body{margin:0;overflow-x:clip}main{width:100vw}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}button{border:0}p,h1,h2,h3{margin:0}img{display:block}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth}section{position:relative;scroll-margin-top:24px}.content-width{width:88.7109375vw;margin-left:5.1953125vw}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:12px;background:white;transform:translateY(-150%)}.skip-link:focus{transform:none}.page-rails{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}.rail{position:absolute;top:0;bottom:0;width:1px;overflow:visible}.rail-left{left:5.1953125vw}.rail-right{left:93.9062500vw}.intrinsic-line{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;pointer-events:none}.section-rule{position:relative;width:100%;height:1px;pointer-events:none;z-index:4}.rule-dot{position:absolute;top:50%;transform:translateY(-50%) scale(.5);transform-origin:center}.left-dot{left:calc(5.1953125% - 9px)}.right-dot{left:calc(93.90625% - 9px)}
.hero{height:77.1484375vw;overflow:hidden;color:white;background-image:linear-gradient(180deg,#000018 0%,#010039 19.288%,#0023a0 44.065%,#0082ec 67.236%,#6dcafe 84.442%,white 100%);background-size:100% 92.0312500vw;background-repeat:no-repeat}.hero-hand{position:absolute;width:27.5781250vw;height:28.0078125vw;object-fit:fill;pointer-events:none}.hand-left{left:0;top:26.7187500vw}.hand-right{left:72.8125000vw;top:7.4218750vw}.hero-copy{position:relative;padding-top:20.7031250vw;text-align:center;z-index:1}.hero h1{font-size:5.0000000vw;line-height:1.1953;font-weight:400;letter-spacing:normal}.hero em{font-family:Newsreader,Georgia,serif;font-weight:500;letter-spacing:normal;line-height:0}.hero-copy>p{font-size:1.5625000vw;line-height:1.2;width:47.9687500vw;margin:3.0078125vw auto 0}.hero-actions{display:flex;justify-content:center;gap:2.2265625vw;margin-top:6.7968750vw;transform:translateX(1.6406250vw)}.pill{padding:1.9531250vw;line-height:1.0937500vw;font-size:1.5625000vw;font-weight:590;letter-spacing:-0.0101563vw;border-radius:5.2734375vw;transition:transform .35s var(--ease),background .25s,box-shadow .35s;white-space:nowrap}.pill-primary{background:white;color:black}.pill-secondary{background:#ffffff3b;backdrop-filter:blur(7px);color:white}.pill:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00134225}.pill-secondary:hover{background:#ffffff50}.pill:active{transform:translateY(-1px)}.partners{position:absolute;top:63.1640625vw;left:0;right:0}.partner-row{height:8.5546875vw;margin-left:7.7343750vw;margin-right:8.5937500vw;display:grid;grid-template-columns:8.8281250vw repeat(5,1fr);align-items:center;gap:5.4687500vw}.partner-row>p{font-size:1.5625000vw;line-height:1.2}.partner-logo{position:relative;width:11.8359375vw;height:4.0234375vw;overflow:hidden}.partner-logo img{width:100%;height:100%;object-fit:cover}.partner-0{width:12.0703125vw}.partner-1{width:11.0156250vw;height:3.3593750vw}.partner-1 img{position:absolute;width:108%;height:117.29%;left:-.33%;top:-4.34%}.partner-3 img{height:110.81%;position:absolute;top:-.35%}.partner-4{height:3.7500000vw}.partner-4 img{position:absolute;width:105.57%;height:111.11%;left:-5.52%;top:-5.98%}.partner-row{grid-template-columns:8.8281250vw 12.0703125vw 11.0156250vw 11.8359375vw 11.7968750vw 11.8359375vw;gap:0;justify-content:space-between}
.section-heading{text-align:center}.section-heading h2{font-weight:590;line-height:1.2;letter-spacing:-.035em}.section-heading p{color:var(--muted);font-size:1.8750000vw;line-height:1.2}.overview{padding-top:4.4921875vw;padding-bottom:7.1875000vw;overflow:hidden}.overview-heading h2{font-size:3.9062500vw}.overview-heading p{margin-top:2.2656250vw}.lab-collage{position:relative;height:48.2812500vw;margin-top:7.2656250vw}.lab-collage img{position:absolute;object-fit:cover}.lab-building{left:5.3515625vw;top:0;width:49.4531250vw;height:37.1093750vw}.lab-interior{left:44.6875000vw;top:30.1953125vw;width:28.1640625vw;height:18.1640625vw}.lab-team{left:72.8515625vw;top:18.5546875vw;width:21.0546875vw;height:11.2109375vw}.program-strip{display:grid;grid-template-columns:repeat(4,1fr)}.program-strip button{background:transparent;min-height:9.2968750vw;padding:1.5625000vw 1.1718750vw;font-size:1.5625000vw;font-weight:500;line-height:1.2;color:#727272;transition:background .25s,color .25s;position:relative}.program-strip button:nth-child(even){background:#eee}.program-strip button:hover{background:#e3edfa;color:#167ede}.program-strip button::after{content:'';position:absolute;bottom:0;left:15%;right:15%;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .35s var(--ease)}.program-strip button:hover::after{transform:scaleX(1)}.overview .program-strip{margin-top:4.6875000vw}.program-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:0;row-gap:4.6093750vw;margin-top:5.1562500vw;position:relative}.program-grid:before{content:'';position:absolute;left:50%;top:2.3437500vw;bottom:0;background:url('/assets/1-imgLine102.svg') center/1px 100% no-repeat}.program-grid:after{content:'';position:absolute;left:2.7343750vw;right:2.3437500vw;top:33.5937500vw;height:1px;background:url('/assets/1-imgLine103.svg') center/100% 1px no-repeat}.program-card{display:grid;grid-template-columns:24.8046875vw 1fr;gap:2.5390625vw;padding-right:2.8906250vw;min-height:31.2890625vw;transition:background .4s}.program-card:nth-child(even){padding-right:3.5156250vw;margin-left:0.4296875vw}.program-art{position:relative;isolation:isolate;display:block;text-align:left;height:31.2890625vw;overflow:hidden;padding:0;background:#14191e;color:white;transition:transform .55s var(--ease),box-shadow .55s var(--ease)}.program-art .art-layers{position:absolute;inset:0;display:block;transition:transform .8s var(--ease)}.art-layers img{position:absolute;object-fit:cover;max-width:none}.art-ra img{width:170.718%;height:206.866%;left:-39.4%;top:-16.48%}.art-irp img{width:234.33%;height:107.99%;left:-77.9%;top:0}.art-isef img,.art-pp img:first-child{width:226.14%;height:100%;left:-60.315%;top:0}.art-pp img:last-child{width:182.05%;height:180.4%;left:-42.52%;top:-72.78%}.art-shade{position:absolute;inset:0;background:linear-gradient(180deg,#000 0%,transparent 19%,transparent 46%,#000 100%)}.program-art h3{position:absolute;bottom:2.9296875vw;left:2.0703125vw;right:1.5625000vw;font-size:2.5000000vw;font-weight:500;line-height:1.18;letter-spacing:-.02em}.art-ra h3,.art-isef h3{max-width:16.4453125vw}.art-irp h3{max-width:20.1562500vw}.art-pp h3{max-width:11.2890625vw}.program-art:hover .art-layers,.program-art:focus-visible .art-layers{transform:scale(1.04)}.program-art:hover{transform:translateY(-5px);box-shadow:0 14px 32px #00000020}.program-summary{display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding-top:2.5390625vw;padding-bottom:3.0078125vw}.program-tag{padding:0.5859375vw 0.9765625vw;background:white;color:#111;font-size:1.2500000vw;font-weight:590;line-height:1.0937500vw}.program-summary p{font-size:1.4062500vw;font-weight:500;color:var(--muted);line-height:1.2;margin-top:3.1640625vw}.outline-button{border:1px solid var(--blue);background:white;color:var(--blue);font-size:1.2500000vw;font-weight:500;line-height:1.0937500vw;padding:0.5859375vw 0.9765625vw;white-space:nowrap;transition:background .25s,color .25s,transform .25s}.outline-button:hover{background:var(--blue);color:white;transform:translateY(-2px)}.program-summary .outline-button{margin-top:auto}.overview>.section-rule{margin-top:3.0078125vw}.program-card.highlighted{background:transparent}
.details{padding-top:10.5468750vw;padding-bottom:12.7343750vw;overflow:hidden}.details-heading{position:relative}.details-heading h2{font-size:4.2968750vw}.details-heading>p{margin-top:1.9140625vw}.floating-icon{position:absolute;pointer-events:none;width:6.6796875vw;height:6.6796875vw}.floating-icon .detail-icon{width:100%;height:100%;margin:0}.floating-star{left:19.9218750vw;top:-1.4062500vw;transform:rotate(8.68deg)}.floating-timer{left:23.9843750vw;top:2.9296875vw}.floating-person{left:67.2265625vw;top:0.0781250vw}.floating-check{left:71.8750000vw;top:2.2265625vw;transform:rotate(11.28deg)}.heading-apply{position:absolute;left:75.6250000vw;top:2.5781250vw;font-size:1.0005469vw;line-height:0.8754687vw;padding:0.4687500vw 0.7812500vw}.details .program-strip{margin-top:8.5546875vw}.details .program-strip button{font-size:1.4062500vw;min-height:4.5703125vw;padding:1.1718750vw 0.7812500vw}.detail-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4.1406250vw 5.6640625vw;width:82.1484375vw;margin:7.0312500vw 0 0 8.9843750vw}.detail-grid::before{content:'';position:absolute;left:50%;top:6.6406250vw;bottom:12.1093750vw;width:1px;background:url('/assets/2-imgLine102.svg') center/1px 100% no-repeat}.detail-card{display:flex;flex-direction:column;text-align:left;padding:0;background:white;border-radius:0.3906250vw;overflow:hidden;position:relative;transition:transform .55s var(--ease),box-shadow .55s var(--ease)}.detail-photo{height:16.9921875vw;position:relative;overflow:hidden;display:block;width:100%}.detail-photo img{position:absolute;max-width:none;object-fit:cover;transition:transform .85s var(--ease)}.detail-photo::after{content:'';position:absolute;inset:auto 0 0;height:8.6718750vw;background:linear-gradient(transparent,white)}.duration .detail-photo img{width:141.79%;height:239.34%;left:-22.06%;top:-69.3%}.match .detail-photo img{width:109.19%;height:347.36%;left:-3.064%;top:-46.2%}.outcomes .detail-photo img{width:103.88%;height:330.575%;left:-3.064%;top:-91.26%}.services .detail-photo img{width:120.83%;height:203.96%;left:-11.09%;top:-44.59%}.detail-body{display:flex;flex-direction:column;justify-content:space-between;min-height:20.0781250vw;padding:2.3437500vw 2.5781250vw}.detail-heading{display:flex;align-items:center;justify-content:space-between;position:relative}.detail-title{display:block;font-size:2.1484375vw;font-weight:500;line-height:1.2;letter-spacing:-.03em}.detail-subtitle{display:block;color:var(--muted);font-size:1.4062500vw;line-height:1.2;margin-top:0.3125000vw}.detail-icon{width:9.6875000vw;height:9.6875000vw;object-fit:contain;margin:-1.6992188vw;flex-shrink:0}.detail-features{display:flex;align-items:flex-start;justify-content:space-between;margin-top:3.1250000vw}.detail-features>span{flex:1;text-align:center;color:var(--muted);font-size:1.4062500vw;line-height:1.2;position:relative;padding:0 0.5859375vw}.detail-features>span+span{border-left:1px solid #ddd}.detail-card:hover,.detail-card:focus-visible{transform:translateY(-7px);box-shadow:0 18px 50px #192e4812}.detail-card:hover .detail-photo img{transform:scale(1.025)}.micro-brand{position:absolute;top:0.4296875vw;left:1.1718750vw;transform:scale(.5);transform-origin:0 0}
.research{overflow:hidden}.research-intro{height:74.6875000vw;position:relative;padding-top:9.8046875vw}.research-heading h2{font-size:4.2968750vw}.research-heading p{width:56.0937500vw;margin:4.6093750vw auto 0}.research-tags a{position:absolute;padding:0.7031250vw 1.1718750vw;background:white;border:1px solid var(--blue);color:var(--blue);font-size:1.4843750vw;font-weight:590;line-height:1;transition:transform .4s var(--ease),box-shadow .4s}.tag-social{left:18.3203125vw;top:7.8125000vw;transform:rotate(-8.99deg)}.tag-computer{left:13.4375000vw;top:12.6171875vw;transform:rotate(5.03deg)}.tag-natural{left:67.7343750vw;top:8.2812500vw;transform:rotate(3.05deg)}.tag-emerging{left:69.5312500vw;top:12.6562500vw;transform:rotate(-4.01deg)}.research-tags a:hover{transform:rotate(0) translateY(-3px);box-shadow:0 5px 15px #1f8fff15}.research-covers{position:absolute;left:13.0859375vw;right:13.4765625vw;top:37.2265625vw;display:flex;justify-content:space-between;align-items:flex-start;gap:0}.research-cover{display:block;position:relative;width:18.6718750vw;height:24.5703125vw;border:1px solid black;flex:none;transition:transform .6s var(--ease),box-shadow .6s var(--ease);transform-origin:center 65%}.research-cover img{width:100%;height:100%;object-fit:cover}.cover-0{transform:rotate(-8.21deg);z-index:2}.cover-1{transform:translate(-0.3906250vw,4.6875000vw) rotate(-.82deg)}.cover-2{transform:translate(-0.1953125vw,-0.4296875vw) rotate(10.97deg);z-index:2}.cover-3{transform:translate(-0.2343750vw,4.6875000vw) rotate(-2.02deg)}.research-cover>span{position:absolute;left:0;right:0;top:6.1328125vw;padding:0.8984375vw 0.5859375vw;background:white;font-size:1.8750000vw;line-height:1.3}.research-cover:hover,.research-cover:focus-visible{transform:translateY(-12px) rotate(0);z-index:5;box-shadow:0 24px 40px #00000020}.research-area{height:78.8281250vw}.area-inner{margin-left:5.2343750vw;width:88.6718750vw;height:100%;padding-top:3.4765625vw;position:relative}.area-0 .area-inner,.area-2 .area-inner{background:white}.area-inner>h3{font-size:3.7500000vw;font-weight:500;line-height:1.18;margin-left:5.7812500vw;letter-spacing:-.025em}.area-1 .area-inner>h3,.area-3 .area-inner>h3{text-align:right;margin-right:3.7890625vw;margin-left:auto}.field-grid{display:grid;grid-template-columns:repeat(4,18.0578125vw);justify-content:space-between;gap:3.1250000vw;margin:7.0312500vw 0 0 6.2109375vw;width:82.4609375vw;position:relative}.field-card{display:flex;flex-direction:column;gap:4.1406250vw;text-align:left;padding:0;background:transparent;min-width:0;position:relative}.field-image{display:block;width:100%;height:27.1037109vw;overflow:hidden;position:relative;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}.field-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.field-copy{width:14.2578125vw;display:flex;flex-direction:column;gap:0.9375000vw;min-height:13.1640625vw}.field-title{font-size:1.4062500vw;line-height:1.2;font-weight:500}.field-description{font-size:1.4062500vw;line-height:1.2;color:var(--muted);font-weight:500}.field-card:nth-child(even){flex-direction:column-reverse;justify-content:flex-end;gap:4.0625000vw}.field-card:nth-child(even) .field-copy{min-height:17.5781250vw}.field-card+.field-card::before{content:'';position:absolute;left:-1.6406250vw;top:0.1562500vw;height:48.5546875vw;border-left:1px solid #d8d8d8}.field-card:hover .field-image,.field-card:focus-visible .field-image{transform:translateY(-5px);box-shadow:0 12px 24px #0002}.field-card:hover img{transform:scale(1.045)}.field-card:hover .field-title{color:var(--blue)}.area-1 .field-grid,.area-3 .field-grid{margin-left:0;margin-top:7.0312500vw;width:82.4609375vw}.area-1 .field-copy,.area-3 .field-copy{text-align:right;align-self:flex-end}.area-1 .field-0 img{position:absolute;width:121.7%;height:158.12%;left:-8.11%;top:-3.32%}.area-2 .field-grid{grid-template-columns:repeat(3,18.0578125vw);width:60.4687500vw;margin-left:28.1250000vw}.area-2 .field-card:nth-child(odd){flex-direction:column-reverse;justify-content:flex-end;gap:4.0625000vw}.area-2 .field-card:nth-child(odd) .field-copy{min-height:17.5781250vw}.area-2 .field-card:nth-child(even){flex-direction:column;gap:4.1406250vw}.area-3 .field-grid{grid-template-columns:repeat(4,18.0578125vw)}.research-tail{height:63.2031250vw}
.dialog-open{overflow:hidden}dialog{border:1px solid #e7e7e7;border-radius:12px;width:min(540px,calc(100% - 32px));padding:44px;color:#2c2c2c;max-height:85dvh;overflow:auto;box-shadow:0 24px 100px #00153630}dialog::backdrop{background:#000a1b77;backdrop-filter:blur(6px)}dialog[open]{animation:dialog-in .25s var(--ease)}@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.dialog-close{position:absolute;top:8px;right:12px;padding:4px 10px;font-size:28px;background:none;color:#737373}.dialog-eyebrow{font-size:12px!important;text-transform:uppercase;letter-spacing:.08em;color:#1688ed!important;margin-bottom:16px!important}dialog h2{font-size:30px;line-height:1.15;letter-spacing:-.03em;font-weight:550;margin-bottom:20px}dialog p{font-size:16px;line-height:1.6;color:#727272;margin-bottom:24px}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px}.dialog-primary,.dialog-secondary{padding:13px 18px;font-size:14px;border-radius:4px;line-height:1.25;transition:background .2s}.dialog-primary{background:var(--blue);color:white}.dialog-primary:hover{background:#0779e8}.dialog-secondary{background:#eef5fc;color:#1688ed}.dialog-features{padding-left:20px;color:#727272;font-size:15px;line-height:1.8;margin:0 0 28px}.application-label{display:block;font-size:13px;margin-bottom:10px}select{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;background:white;font-size:14px;color:#333}.integration-notice{font-size:13px!important;margin-top:20px;padding:15px;background:#f5f7f9}.dialog-content{overflow-wrap:anywhere}
@media(min-width:2000px){.rule-dot{transform:translateY(-50%) scale(.8)}}
@media(max-width:1000px){
 .content-width{width:auto;margin:0 24px}.rail-left{left:20px}.rail-right{left:auto;right:20px}.left-dot{left:11px}.right-dot{left:auto;right:11px}.hero{height:auto;min-height:800px;background-size:100% 1050px;padding-bottom:54px}.hero-copy{padding:160px 30px 0}.hero h1{font-size:clamp(30px,7.4vw,48px);line-height:1.17;letter-spacing:-.04em}.hero h1 br{display:none}.hero-copy>p{width:auto;max-width:370px;font-size:15px;line-height:1.5;margin-top:32px}.hero-actions{margin-top:40px;gap:12px;transform:none;flex-direction:column;align-items:center}.pill{font-size:14px;padding:18px 25px;line-height:20px;border-radius:40px;min-width:220px}.hero-hand{width:240px;height:244px;opacity:.65}.hand-left{top:260px;left:-135px}.hand-right{top:62px;left:auto;right:-100px}.partners{position:relative;top:auto;margin-top:85px}.partner-row{height:auto;margin:0;padding:25px 38px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.partner-row>p{font-size:12px}.partner-logo,.partner-0{width:100%;height:31px}.partner-1{height:27px}.partner-4{height:29px}.overview{padding:70px 0 64px}.section-heading h2,.overview-heading h2{font-size:32px;letter-spacing:-.04em}.section-heading p{font-size:15px;line-height:1.45}.overview-heading{padding:0 30px}.overview-heading p{margin-top:20px}.desktop-break{display:none}.lab-collage{margin-top:50px;height:350px}.lab-building{left:20px;width:70%;height:250px}.lab-interior{top:235px;left:42%;width:43%;height:115px}.lab-team{left:auto;right:20px;top:155px;width:26%;height:82px}.overview .program-strip{margin-top:40px}.program-strip{grid-template-columns:repeat(2,1fr)}.program-strip button{font-size:13px;padding:16px;min-height:74px}.program-grid{margin-top:30px;grid-template-columns:1fr;row-gap:32px}.program-grid::before,.program-grid::after{display:none}.program-card,.program-card:nth-child(even){grid-template-columns:55% minmax(0,1fr);gap:16px;padding:0;margin:0;min-height:270px}.program-art{height:270px}.program-art h3{max-width:none;font-size:22px;bottom:24px;left:18px;right:12px}.program-summary{padding:10px 0 12px}.program-tag{font-size:12px;line-height:14px;padding:7px 10px}.program-summary p{font-size:12px;line-height:1.4;margin-top:18px}.outline-button{font-size:12px;line-height:16px;padding:7px 10px}.overview>.section-rule{margin-top:40px}.details{padding:64px 0 76px}.details-heading h2{font-size:32px}.details-heading>p{margin-top:16px}.floating-icon{width:50px;height:50px}.floating-star{left:27px;top:-40px}.floating-timer{left:60px;top:-10px;opacity:.35}.floating-person{display:none}.floating-check{left:auto;right:28px;top:-30px;opacity:.5}.heading-apply{position:static;margin-top:22px;font-size:12px;line-height:16px;padding:7px 12px}.details .program-strip{margin-top:34px}.details .program-strip button{font-size:12px;padding:15px;min-height:65px}.detail-grid{width:auto;margin:34px 32px 0;grid-template-columns:1fr;gap:24px}.detail-grid::before{display:none}.detail-card{border-radius:5px}.detail-photo{height:170px}.detail-photo:after{height:80px}.detail-body{min-height:180px;padding:20px 22px 26px}.detail-title{font-size:21px}.detail-subtitle{font-size:13px;margin-top:5px}.detail-icon{width:76px;height:76px;margin:-8px}.detail-features{margin-top:30px}.detail-features>span{font-size:12px;padding:0 8px}.micro-brand{display:none}.research-intro{height:530px;padding-top:60px}.research-heading h2{font-size:32px}.research-heading p{width:auto;margin:24px 42px 0}.research-tags a{font-size:10px;padding:7px 10px;line-height:1.15}.tag-social{left:35px;top:20px}.tag-natural{left:auto;right:30px;top:20px}.tag-computer{left:34px;top:205px}.tag-emerging{left:auto;right:30px;top:207px}.research-covers{left:35px;right:35px;top:300px}.research-cover{width:27%;height:145px}.cover-1{transform:translate(-3px,25px) rotate(-.82deg)}.cover-2{transform:translate(-5px,-4px) rotate(10.97deg)}.cover-3{transform:translate(-7px,25px) rotate(-2.02deg)}.research-cover>span{top:38px;font-size:10px;padding:9px 5px}.research-area{height:auto}.area-inner{margin:0 20px;width:auto;padding:32px 16px 42px}.area-inner>h3{font-size:30px;margin:0;line-height:1.1}.area-1 .area-inner>h3,.area-3 .area-inner>h3{margin-right:0}.field-grid,.area-1 .field-grid,.area-2 .field-grid,.area-3 .field-grid{width:auto;margin:32px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.field-card,.field-card:nth-child(even),.area-2 .field-card:nth-child(odd),.area-2 .field-card:nth-child(even){flex-direction:column;gap:14px;justify-content:flex-start}.field-image{height:195px}.field-copy,.field-card:nth-child(even) .field-copy,.area-2 .field-card:nth-child(odd) .field-copy{width:auto;min-height:0;gap:8px}.field-title{font-size:13px}.field-description{font-size:12px}.area-1 .field-copy,.area-3 .field-copy{text-align:left;align-self:flex-start}.field-card+.field-card::before{display:none}.research-tail{height:100px}dialog{padding:36px 24px}dialog h2{font-size:27px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.pill:hover,.program-art:hover,.detail-card:hover,.field-card:hover .field-image{transform:none}}
/* Keep structural rules and their intersection dots a consistent light gray. */
.rail>.intrinsic-line,.section-rule>.intrinsic-line,.program-row-divider>.intrinsic-line,.rule-dot{filter:brightness(0) invert(.82)}
/* Intrinsic Figma vector dividers, fitted by ResizeObserver. */
.program-grid::before,.program-grid::after,.detail-grid::before,.field-card+.field-card::before{display:none}
.program-divider{left:50%;top:2.3437500vw;bottom:0;pointer-events:none}.program-row-divider{position:absolute;left:2.7343750vw;right:2.3437500vw;top:33.5937500vw;height:1px;pointer-events:none}.detail-divider{left:50%;top:6.6406250vw;bottom:12.1093750vw;pointer-events:none}.field-divider{left:-1.6406250vw;top:0.1562500vw;height:48.5546875vw;pointer-events:none}
@media(max-width:1000px){.program-divider,.program-row-divider,.detail-divider,.field-divider{display:none}}

/* Blend the exported white mattes into the section without changing the icon artwork. */
.details-heading .floating-icon{mix-blend-mode:multiply}
.details-heading .floating-star .detail-icon,.details-heading .floating-check .detail-icon{clip-path:inset(17.4% round 9.25%)}
.details-heading .floating-person{clip-path:inset(17.6% round 8.85%)}
.details-heading .floating-timer{clip-path:inset(20.3% round 8.1%);transform:rotate(-13.24deg)}
.details-heading .floating-timer .detail-icon{transform:rotate(13.24deg)}

/* Two identical, equally spaced groups make the wrap seamless. */
.partner-row{grid-template-columns:8.8281250vw minmax(0,1fr);gap:5.8203125vw}
.partner-marquee{min-width:0;overflow:hidden}
.partner-marquee:focus-visible{outline:2px solid #ffffffb3;outline-offset:6px}
.partner-track{display:flex;width:max-content;animation:partner-flow 32s linear infinite;will-change:transform}
.partner-group{display:flex;align-items:center;flex-shrink:0;gap:2.6171875vw;padding-right:2.6171875vw}
.partner-group .partner-logo{flex-shrink:0}
.partner-marquee:hover .partner-track,.partner-marquee:focus-within .partner-track{animation-play-state:paused}
@keyframes partner-flow{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:1000px){
 .partner-row{grid-template-columns:76px minmax(0,1fr);gap:18px;padding:25px 32px}
 .partner-group{gap:26px;padding-right:26px}
 .partner-group .partner-logo{width:115px;height:38px}
 .partner-group .partner-1{width:107px;height:33px}
 .partner-group .partner-4{height:36px}
}
@media(prefers-reduced-motion:reduce){
 .partner-track{animation:none;will-change:auto}
 .partner-marquee{overflow-x:auto;scrollbar-width:thin}
 .partner-group[aria-hidden]{display:none}
}

/* Scroll entrance uses translate, leaving each original rotation and crop intact. */
.details-heading .floating-icon{pointer-events:auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;z-index:2}
.details-heading .floating-icon img{pointer-events:none;-webkit-user-drag:none}
.details-heading .heading-apply{z-index:4}
.icons-ready .floating-icon{opacity:0;translate:0 -90px}
.icons-ready.icons-revealed .floating-icon{animation:icon-drop 950ms var(--drop-delay,0ms) both}
.icons-ready .floating-icon.icon-landed{animation:none;opacity:var(--icon-opacity,1);translate:0 0}
.details-heading .floating-icon.icon-dragging{cursor:grabbing;z-index:5}
.details-heading .floating-icon:focus-visible{outline:2px solid #1f8fff;outline-offset:3px}
@keyframes icon-drop{
  0%{opacity:0;translate:0 -90px;animation-timing-function:cubic-bezier(.45,0,.75,.45)}
  65%{opacity:var(--icon-opacity,1);translate:0 9px;animation-timing-function:cubic-bezier(.2,.65,.3,1)}
  83%{opacity:var(--icon-opacity,1);translate:0 -5px;animation-timing-function:ease-in-out}
  100%{opacity:var(--icon-opacity,1);translate:0 0}
}
@media(max-width:1000px){.floating-timer{--icon-opacity:.35}.floating-check{--icon-opacity:.5}}
@media(prefers-reduced-motion:reduce){.icons-ready .floating-icon{opacity:var(--icon-opacity,1);translate:0 0;animation:none}}

.covers-ready .research-cover{opacity:0;translate:0 -110px}
.covers-ready.covers-revealed .research-cover{animation:research-cover-drop 1100ms var(--cover-delay,0ms) both}
.covers-ready .research-cover.cover-landed{animation:none;opacity:1;translate:0 0}
@keyframes research-cover-drop{
  0%{opacity:0;translate:0 -110px;animation-timing-function:cubic-bezier(.32,0,.55,.7)}
  68%{opacity:1;translate:0 8px;animation-timing-function:cubic-bezier(.2,.65,.3,1)}
  85%{opacity:1;translate:0 -3px;animation-timing-function:ease-in-out}
  100%{opacity:1;translate:0 0}
}
@media(prefers-reduced-motion:reduce){.covers-ready .research-cover{opacity:1;translate:0 0;animation:none}}

/* Opacity-only entrance preserves all existing hover and layout transforms. */
.scroll-reveal{opacity:0}
.scroll-reveal.scroll-visible{animation:page-fade-in 900ms cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms) both}
.scroll-reveal.scroll-focused{opacity:1;animation:none}
@keyframes page-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;animation:none}}
@media print{.scroll-reveal{opacity:1;animation:none}}

/* Give the program grid consistent gutters and quieter, aligned dividers. */
.program-grid{column-gap:3.7500000vw;row-gap:4.3750000vw;padding:0 1.8750000vw}
.program-card,.program-card:nth-child(even){grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:1.8750000vw;padding:0;margin:0;min-height:28.9062500vw}
.program-art{height:28.9062500vw;border-radius:0.6250000vw}
.program-art h3{left:1.5625000vw;right:1.2500000vw;bottom:1.8750000vw;font-size:2.1875000vw;line-height:1.16;text-wrap:balance}
.program-summary{align-items:flex-start;text-align:left;padding:1.5625000vw 0}
.program-tag{font-size:1.0937500vw;line-height:1.2;padding:0.4687500vw 0.7031250vw;border-radius:0.2343750vw;letter-spacing:.025em}
.program-summary p{font-size:1.3281250vw;line-height:1.42;font-weight:400;margin-top:1.8750000vw;color:#777;text-wrap:pretty}
.program-summary .outline-button{border-radius:0.2343750vw;padding:0.6640625vw 0.9375000vw}
.program-grid>.program-divider,.program-grid>.program-row-divider{display:none}
.program-grid::before,.program-grid::after{display:none}
.program-card{position:relative;isolation:isolate}
.program-card::before{content:'';position:absolute;inset:-0.9375000vw;z-index:-1;border-radius:0.9375000vw;background:#ebebeb;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
@media(hover:hover){.program-card:hover::before{opacity:1}}
.program-card:has(:focus-visible)::before{opacity:1}
@media(max-width:1000px){
  .program-grid{padding:0;row-gap:28px;column-gap:0}
  .program-grid::before,.program-grid::after{display:none}
  .program-card,.program-card:nth-child(even){grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;min-height:270px}
  .program-card+.program-card{padding-top:0}
  .program-card::before{inset:-10px;border-radius:12px}
  .program-art{height:280px;border-radius:7px}
  .program-art h3{font-size:21px;left:16px;right:12px;bottom:22px}
  .program-summary{padding:8px 0}
  .program-tag{font-size:11px;padding:6px 9px;border-radius:3px}
  .program-summary p{font-size:12px;line-height:1.5;margin-top:18px}
  .program-summary .outline-button{padding:7px 10px;border-radius:3px}
}

/* Subtle ColorBends behind the content; the blue hero keeps its own background. */
.details-heading{top:-3.1250000vw}
@media(max-width:1000px){.details-heading{top:-16px}}
.research-intro{top:-3.1250000vw}
@media(max-width:1000px){.research-intro{top:-16px}}
body{isolation:isolate}
.color-bends-container{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.16}
.color-bends-container canvas{display:block;width:100%;height:100%}
@media print{.color-bends-container{display:none}}

/* Figma 465:2840 — student stories and project achievements. */
.student-stories{height:136.0937500vw;overflow:hidden}
.stories-brand{position:absolute;left:1.1718750vw;top:0.4687500vw;width:1.5625000vw;height:0.3515625vw;transform:scaleX(-1)}
.stories-heading{padding-top:7.6953125vw}
.stories-heading h2{font-size:4.2968750vw;letter-spacing:-.025em;font-weight:590;line-height:1.2}
.stories-heading p{font-size:1.8750000vw;margin-top:2.9296875vw;line-height:1.2}
.stories-layout{margin:11.0156250vw 5.3125000vw 0;display:grid;grid-template-columns:44.2968750vw 42.7734375vw;column-gap:1.5234375vw;align-items:start}
.student-story{position:relative;min-width:0;height:42.8125000vw;background:#ffffff80;color:var(--muted)}
.story-aiko{margin-top:43.2812500vw;height:41.5625000vw;background:#ffffff91}
.student-profile{position:relative;height:8.7109375vw;display:flex;gap:3.0078125vw;margin:4.9609375vw 0 0 6.6015625vw;align-items:flex-start}
.student-avatar{width:8.7109375vw;height:8.7109375vw;object-fit:contain;flex:none}
.student-identity{width:14.2578125vw}
.student-identity h3{font-size:2.1484375vw;font-weight:510;color:#2c2c2c;line-height:1.2}
.student-identity p{font-size:1.4062500vw;line-height:1.2;font-weight:510;margin-top:0.3125000vw}
.student-lab{display:table;white-space:nowrap;font-size:1.2500000vw;line-height:1.0937500vw;font-weight:590;letter-spacing:-0.0101563vw;color:var(--blue);border:1px solid var(--blue);border-radius:5.2734375vw;padding:0.5859375vw 0.9765625vw;background:white;margin:1.3281250vw 0 0 -0.4687500vw}
.student-achievements{margin:5.8984375vw 0 0 6.6015625vw}
.student-achievements h4{font-size:1.8750000vw;line-height:1.2;font-weight:510;color:#2c2c2c;width:17.4218750vw;margin:0}
.student-achievements ul{list-style:none;padding:0;margin:2.1484375vw 0 0 8.9453125vw;width:27.0703125vw;font-size:1.4062500vw;font-weight:510;line-height:1.9921875vw}
.student-story blockquote{position:absolute;box-sizing:border-box;margin:0;background:white;border:1px solid #979797;width:34.4531250vw;font-size:1.4062500vw;line-height:1.2;font-style:italic;font-weight:400}
.story-timmy blockquote{left:35.8984375vw;top:4.4140625vw;min-height:11.3671875vw;padding:2.1484375vw 3.8281250vw 2.5000000vw 3.9062500vw}
.story-aiko .student-profile{margin:3.7890625vw 0 0 6.5234375vw}
.story-aiko .student-identity{padding-top:0.5859375vw}
.story-aiko .student-lab{margin-top:1.3281250vw}
.story-aiko .student-achievements{margin:8.6718750vw 0 0 7.3046875vw}
.story-aiko .student-achievements ul{margin:0.7031250vw 0 0 3.3593750vw;width:28.3203125vw}
.story-aiko blockquote{left:-30.5078125vw;top:14.5703125vw;min-height:12.0312500vw;padding:1.9140625vw 1.6796875vw 1.7187500vw 2.9296875vw}
.student-stories>.section-rule{position:absolute;top:124.7656250vw}
@media(max-width:1000px){
 .student-stories{height:auto;padding:58px 0 64px}
 .stories-brand{display:none}
 .stories-heading{padding:0 32px}
 .stories-heading h2{font-size:32px;line-height:1.15;text-wrap:balance}
 .stories-heading p{font-size:16px;line-height:1.45;margin-top:20px}
 .stories-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin:44px 32px 40px}
 .student-story,.story-aiko{height:auto;margin:0;padding:26px 22px}
 .student-profile,.story-aiko .student-profile{height:auto;margin:0;gap:20px}
 .student-avatar{width:72px;height:72px}
 .student-identity{width:auto;min-width:0}
 .student-identity h3{font-size:22px}
 .student-identity p{font-size:13px;margin-top:7px}
 .story-aiko .student-identity{padding:0}
 .student-lab,.story-aiko .student-lab{font-size:11px;line-height:14px;padding:5px 9px;margin:13px 0 0}
 .student-achievements,.story-aiko .student-achievements{margin:30px 0 0}
 .student-achievements h4{font-size:20px;width:auto}
 .student-achievements ul,.story-aiko .student-achievements ul{font-size:13px;line-height:1.6;width:auto;margin:16px 0 0}
 .student-achievements li+li{margin-top:5px}
 .student-story blockquote,.story-timmy blockquote,.story-aiko blockquote{position:relative;left:auto;top:auto;width:auto;min-height:0;margin:26px 0 0;padding:20px;font-size:14px;line-height:1.5}
 .student-stories>.section-rule{position:relative;top:auto}
}
@media(min-width:1001px){.student-achievements li{white-space:nowrap;letter-spacing:-.02em}}

/* Lower the Program Details card group without shifting the next section. */
.detail-grid{top:3.1250000vw}
@media(max-width:1000px){.detail-grid{top:16px}}

/* Figma 465:2885 — application timeline and academic network. */
.process-section{min-height:172.7734375vw;overflow:hidden}
.process-heading{padding-top:9.2187500vw;position:relative;left:1.0546875vw}
.process-heading h2,.network-heading h2{font-size:4.2968750vw;line-height:1.2;font-weight:590;letter-spacing:-.025em}
.process-heading p{width:56.0937500vw;margin:1.9921875vw auto 0;font-size:1.8750000vw;line-height:1.2}
.process-timeline{position:relative;width:71.8359375vw;height:61.8750000vw;margin:9.9609375vw 0 0 14.2187500vw}
.process-line{width:0.4296875vw;left:35.7812500vw;top:11.0156250vw;bottom:auto;height:41.9921875vw}
.process-steps{list-style:none;margin:0;padding:0}
.process-step{height:14.7656250vw;position:relative;border-radius:0.3906250vw}
.process-step::before{content:'';position:absolute;inset:0 0 auto;height:11.0156250vw;background:#ffffffb3;border-radius:0.3906250vw;opacity:0;transition:opacity .35s}
.process-step.step-active::before{opacity:1}
.step-copy{position:absolute;top:1.9531250vw;left:42.3046875vw;width:25.9765625vw}
.step-copy h3{font-size:1.8750000vw;line-height:1.2;font-weight:590;color:#2c2c2c;margin:0}
.step-copy p{font-size:1.2500000vw;line-height:1.2;color:var(--muted);margin-top:0.6250000vw;font-weight:400}
.process-step:nth-child(even) .step-copy{left:2.7343750vw;text-align:right;top:2.1875000vw}
.step-3 .step-copy{top:1.6015625vw}
.step-4 .step-copy{top:2.6171875vw!important}
.process-step-select{position:absolute;left:18.7890625vw;top:3.0859375vw;width:10.4687500vw;height:5.1953125vw;background:none;padding:0}
.process-step-select .process-icon{position:absolute;left:0;top:0}
.process-icon{display:block;position:relative;width:5.1953125vw;height:5.1953125vw;flex:none}
.icon-export{position:absolute;left:-1.3940234vw;top:-1.3940234vw;width:8.0078125vw;height:8.0078125vw;pointer-events:none}
.step-1 .icon-export{height:7.8125000vw}
.step-number{position:absolute;left:7.5390625vw;top:1.0156250vw;width:2.9296875vw;height:2.9296875vw;border-radius:50%;display:grid;place-items:center;font-size:1.2500000vw;font-weight:590;background:#f3f3f3;color:#2c2c2c}
.step-1 .step-number{background:white}
.process-step:nth-child(even) .process-step-select{left:42.3046875vw;top:2.1875000vw;width:9.6484375vw}
.process-step:nth-child(even) .process-icon{left:4.4531250vw}
.process-step:nth-child(even) .step-number{left:0;top:1.1328125vw}
.step-3 .process-step-select{top:2.1875000vw}
.step-4 .process-step-select{top:4.4531250vw!important}
.step-marker{position:absolute;left:34.7265625vw;top:3.5937500vw;width:2.3828125vw;height:2.3828125vw;pointer-events:none}
.step-1 .step-marker{left:34.1406250vw;top:3.8671875vw;width:3.2812500vw;height:3.2812500vw}
.step-center{position:absolute;left:35.4296875vw;top:5.1562500vw;width:0.7421875vw;height:0.7421875vw}
.step-4 .step-marker{top:5.8593750vw}
.process-network{margin-top:12.5390625vw}
.network-heading h2{position:relative;left:1.0546875vw}
.network-heading p{font-size:1.8750000vw;line-height:1.2;margin-top:4.1015625vw}
.network-grid{display:grid;grid-template-columns:36.1718750vw 36.1718750vw;gap:5.0781250vw 5.3906250vw;margin:7.6171875vw 0 0 11.6015625vw}
.network-card{height:9.8437500vw;border-radius:0.7812500vw;background:white;display:flex;align-items:center;gap:3.5546875vw;padding:1.7578125vw 1.5625000vw 1.7578125vw 2.1875000vw;transition:background .35s,transform .35s var(--ease)}
.network-card:hover{background:#fafafa;transform:translateY(-3px)}
.network-card .process-icon{width:6.2890625vw;height:6.2890625vw}
.network-card .icon-export{width:9.6875000vw;height:9.6875000vw;left:-1.6875000vw;top:-1.6875000vw}
.network-card h3{font-size:2.1484375vw;line-height:1.2;font-weight:510;margin:0;white-space:nowrap}
.network-card p{font-size:1.4062500vw;line-height:1.2;font-weight:510;color:var(--muted);margin-top:0.3125000vw;white-space:nowrap}
@media(max-width:1000px){
 .process-section{min-height:0;padding:50px 24px 70px}
 .process-heading{padding:0;left:0}
 .process-heading h2,.network-heading h2{font-size:32px;line-height:1.2;left:0;text-wrap:balance}
 .process-heading p{width:auto;font-size:16px;margin-top:20px;line-height:1.5}
 .process-timeline{width:auto;height:auto;margin:42px 0 0}
 .process-line{width:3px;left:26px;top:48px;bottom:55px;height:auto}
 .process-step{height:auto;min-height:150px;padding:20px 10px 28px 76px}
 .process-step::before{height:100%;border-radius:8px}
 .step-copy,.process-step:nth-child(even) .step-copy,.step-3 .step-copy,.step-4 .step-copy{position:relative;left:auto;top:auto!important;width:auto;text-align:left}
 .step-copy h3{font-size:19px;line-height:1.25}
 .step-copy p{font-size:13px;line-height:1.5;margin-top:12px}
 .process-step-select,.process-step:nth-child(even) .process-step-select,.step-3 .process-step-select,.step-4 .process-step-select{left:7px;top:20px!important;width:40px;height:76px}
 .process-icon{width:40px;height:40px}
 .icon-export{width:61.65px;height:61.65px;left:-10.73px;top:-10.73px}
 .step-1 .icon-export{height:60.15px}
 .process-step:nth-child(even) .process-icon{left:0}
 .step-number,.process-step:nth-child(even) .step-number{left:9px;top:49px;width:23px;height:23px;font-size:10px}
 .step-marker,.step-1 .step-marker,.step-4 .step-marker,.step-center{display:none}
 .process-network{margin-top:65px}
 .network-heading p{font-size:16px;margin-top:22px;line-height:1.5}
 .network-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin:32px 0 0}
 .network-card{height:auto;min-height:100px;padding:22px 18px;gap:22px;border-radius:8px}
 .network-card .process-icon{width:48px;height:48px}
 .network-card .icon-export{width:73.94px;height:73.94px;left:-12.88px;top:-12.88px}
 .network-card h3{font-size:19px;white-space:normal}
 .network-card p{font-size:13px;white-space:normal;margin-top:7px;line-height:1.4}
}

/* Interactive particles sit behind hero copy and never intercept controls. */
.pixel-blast-container{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.38;z-index:0}
.pixel-blast-container canvas{display:block;width:100%;height:100%}
.hero .partners{z-index:1}
@media(max-width:1000px){.pixel-blast-container{opacity:.28}}
@media print{.pixel-blast-container{display:none}}

/* Shared, mutually exclusive timeline selection with crossfaded original icons. */
.step-icon-idle,.step-icon-active,.marker-idle,.marker-active{transition:opacity .28s ease}
.step-icon-active,.marker-active{opacity:0}
.step-active .step-icon-active,.step-active .marker-active{opacity:1}
.step-active .step-icon-idle,.step-active .marker-idle{opacity:0}
.step-marker .marker-idle{position:absolute;inset:0;width:100%;height:100%}
.step-marker .marker-active{position:absolute;left:50%;top:50%;width:3.2812500vw;height:3.2812500vw;transform:translate(-50%,-50%)}
.marker-ring{position:absolute;inset:0}
.marker-dot{position:absolute;left:1.2890625vw;top:1.2890625vw;width:0.7421875vw;height:0.7421875vw}
.step-1 .step-marker{left:34.7265625vw;top:4.3164063vw;width:2.3828125vw;height:2.3828125vw}
.step-number{transition:background .28s ease}
.step-active .step-number{background:white}
@media(prefers-reduced-motion:reduce){.step-icon-idle,.step-icon-active,.marker-idle,.marker-active{transition:none}}

/* Content-sized timeline rows: the hit area and highlight share one box. */
.process-timeline{height:auto}
.process-steps{display:grid;gap:1.4062500vw}
.process-step::before{inset:0;height:auto;border-radius:0.6250000vw}
.step-copy p{text-wrap:pretty}
@media(min-width:1001px){
 .process-step{display:grid;grid-template-columns:minmax(0,1fr) 6.2500000vw minmax(0,1fr);column-gap:2.3437500vw;align-items:center;min-height:11.7187500vw;height:auto;padding:2.1093750vw 2.7343750vw;border-radius:0.6250000vw}
 .step-copy,.process-step:nth-child(even) .step-copy,.step-3 .step-copy,.step-4 .step-copy{position:relative;left:auto;top:auto!important;width:auto;grid-column:3;grid-row:1}
 .process-step:nth-child(even) .step-copy{grid-column:1}
 .step-copy h3{font-size:1.7968750vw;line-height:1.25;text-wrap:balance}
 .step-copy p{font-size:1.2500000vw;line-height:1.5;margin-top:0.7812500vw}
 .process-step-select,.process-step:nth-child(even) .process-step-select,.step-3 .process-step-select,.step-4 .process-step-select{position:relative;left:auto;top:auto!important;width:auto;height:5.1953125vw;display:flex;align-items:center;gap:2.3437500vw;grid-column:1;grid-row:1;justify-self:end}
 .process-step:nth-child(even) .process-step-select{grid-column:3;justify-self:start;flex-direction:row-reverse}
 .process-step-select .process-icon,.process-step:nth-child(even) .process-icon{position:relative;left:auto;top:auto}
 .step-number,.process-step:nth-child(even) .step-number{position:relative;left:auto;top:auto;flex:none}
 .step-marker,.step-1 .step-marker,.step-4 .step-marker{left:50%;top:50%;width:2.3828125vw;height:2.3828125vw;transform:translate(-50%,-50%)}
 .process-line{left:50%}
}
@media(max-width:1000px){
 .process-steps{gap:12px}
 .process-step{padding-top:24px;padding-bottom:24px}
}

/* Reading-first spacing and typography across laptop, tablet and phone. */
:root{--muted:#666}
.hero-copy{padding-top:clamp(110px,14vw,230px)}
.hero-actions{margin-top:clamp(36px,4vw,72px)}
.program-summary p,.field-description{color:#666;line-height:1.5}
.field-image{border-radius:8px;overflow:hidden}
@media(min-width:1001px){
 .hero{height:clamp(760px,65vw,1100px)}
 .partners{top:auto;bottom:48px}
 .program-summary p,.field-description,.student-identity p,.student-achievements ul,.student-story blockquote,.step-copy p{font-size:clamp(16px,1.4vw,22px)}
 .research-area{height:auto}
 .area-inner{height:auto;padding:64px 4% 80px}
 .area-inner>h3,.area-1 .area-inner>h3,.area-3 .area-inner>h3{margin:0;text-align:left}
 .field-grid,.area-1 .field-grid,.area-2 .field-grid,.area-3 .field-grid{width:100%;margin:56px 0 0;gap:36px;grid-template-columns:repeat(4,minmax(0,1fr))}
 .area-2 .field-grid,.area-3 .field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .field-copy,.field-card:nth-child(even) .field-copy,.area-2 .field-card:nth-child(odd) .field-copy{width:auto;min-height:170px}
 .field-card,.field-card:nth-child(even),.area-2 .field-card:nth-child(odd),.area-2 .field-card:nth-child(even){gap:28px}
 .field-divider{left:-18px;height:100%}
 .area-1 .field-copy,.area-3 .field-copy{text-align:left;align-self:stretch}
}
.student-stories{height:auto;padding:80px 0}
.stories-heading{padding:0 7%}
.stories-heading p{margin-top:24px}
.stories-layout{margin:56px auto 64px;width:82%;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.student-story,.story-aiko{height:auto;margin:0;padding:32px;background:#ffffffb3;border-radius:8px}
.student-profile,.story-aiko .student-profile{height:auto;margin:0;gap:24px;align-items:center}
.student-avatar{width:88px;height:88px}
.student-identity{width:auto;min-width:0}
.student-identity h3{font-size:28px}
.story-aiko .student-identity{padding:0}
.student-lab,.story-aiko .student-lab{font-size:14px;line-height:1.3;margin:14px 0 0;padding:6px 12px}
.student-achievements,.story-aiko .student-achievements{margin:32px 0 0}
.student-achievements h4{width:auto;font-size:24px}
.student-achievements ul,.story-aiko .student-achievements ul{width:auto;margin:16px 0 0;line-height:1.6}
.student-achievements li{white-space:normal;letter-spacing:normal}
.student-story blockquote,.story-timmy blockquote,.story-aiko blockquote{position:static;width:auto;min-height:0;margin:28px 0 0;padding:24px 0 0;border:0;border-top:1px solid #d1d1d1;background:transparent;line-height:1.6}
.student-stories>.section-rule{position:relative;top:auto}
@media(max-width:1000px){
 .hero-copy{padding-top:110px}
 .hero-actions{margin-top:32px}
 .hero{min-height:740px}
 .program-card,.program-card:nth-child(even){grid-template-columns:minmax(0,1fr);gap:20px}
 .program-art{height:320px}
 .program-summary{padding:0 0 24px;align-items:flex-start;text-align:left}
 .program-summary p{font-size:16px;line-height:1.6;margin-top:16px}
 .program-summary .outline-button{margin-top:24px;font-size:14px;padding:12px 18px}
 .program-grid{gap:32px}
 .field-title{font-size:16px;line-height:1.35}
 .field-description{font-size:15px;line-height:1.5}
 .detail-subtitle,.detail-features>span{font-size:14px;line-height:1.45}
 .step-copy p{font-size:15px;line-height:1.6}
 .stories-layout{grid-template-columns:minmax(0,1fr);width:auto;margin:40px 32px}
 .student-identity p,.student-achievements ul,.student-story blockquote{font-size:15px;line-height:1.6}
 .student-story,.story-aiko{padding:26px}
 .student-avatar{width:72px;height:72px}
 .student-profile,.story-aiko .student-profile{gap:18px}
}
@media(min-width:601px) and (max-width:1000px){
 .program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .lab-collage{max-width:720px;margin-left:auto;margin-right:auto}
 .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
}
@media(max-width:450px){
 .field-grid,.area-1 .field-grid,.area-2 .field-grid,.area-3 .field-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .field-image{height:260px}
 .student-story,.story-aiko{padding:22px}
}

/* LogoLoop: transparent edge masks preserve the blue gradient underneath. */
.partner-marquee.logo-loop{padding:8px 0;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
.logo-loop .partner-track{animation:none;user-select:none}
.logo-loop .partner-group{gap:40px;padding-right:40px}
.logo-loop .partner-logo{transition:transform .3s cubic-bezier(.4,0,.2,1);transform-origin:center}
.logo-loop .partner-logo:hover{transform:scale(1.12)}
@media(prefers-reduced-motion:reduce){
 .partner-marquee.logo-loop{mask-image:none}
 .logo-loop .partner-track{transform:none!important}
 .logo-loop .partner-logo{transition:none}
 .logo-loop .partner-logo:hover{transform:none}
}

/* Subtle cool-blue MagicBento lighting, independent of existing reveal transforms. */
.glow-surface{position:relative;isolation:isolate}
.card-glow{position:absolute;inset:0;display:block;border-radius:inherit;pointer-events:none;z-index:5;opacity:0;transition:opacity .35s ease;background:radial-gradient(300px circle at var(--glow-x,50%) var(--glow-y,50%),rgba(60,160,255,.17),transparent 72%)}
.card-glow::after{content:'';position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:radial-gradient(225px circle at var(--glow-x,50%) var(--glow-y,50%),rgba(74,170,255,.85),rgba(74,170,255,.05) 75%,transparent);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.program-art>.card-glow,.field-image>.card-glow,.research-cover>.card-glow{background:radial-gradient(300px circle at var(--glow-x,50%) var(--glow-y,50%),rgba(185,225,255,.24),transparent 72%)}
.glow-active>.card-glow{opacity:1}
@media(hover:none),(prefers-reduced-motion:reduce){.card-glow{display:none}}
.research-cover>.card-glow{inset:0;padding:0;transform:none}

/* A centered CSS connector avoids the rotated SVG's sideways offset. */
.process-line{width:2px;background:#d1d1d1;transform:translateX(-50%);pointer-events:none}
.process-line>.intrinsic-line{display:none}
@media(max-width:1000px){
 .process-line{left:27px}
 .step-number,.process-step:nth-child(even) .step-number{left:50%;transform:translateX(-50%)}
}

/* Keep the zooming photo below a stationary fade; overlap the body by one
   pixel to avoid fractional-pixel seams during the card's hover translation. */
.detail-card{--detail-surface:#fff;background:var(--detail-surface)}
.detail-photo{flex-shrink:0;isolation:isolate;background:var(--detail-surface)}
.detail-photo img{z-index:0;backface-visibility:hidden}
.detail-photo::after{z-index:1;inset:auto -1px -1px;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,var(--detail-surface) 96%,var(--detail-surface) 100%)}
.detail-body{position:relative;z-index:1;background:var(--detail-surface);margin-top:-1px}

/* Adapted from the supplied DitheredFooter. */

.df-field { position: absolute; inset: 0; }
.df-field.df-lit {
  -webkit-mask-image: radial-gradient(circle 190px at var(--df-x, 50%) var(--df-y, 50%), #000 35%, rgb(0 0 0 / .22) 100%);
  mask-image: radial-gradient(circle 190px at var(--df-x, 50%) var(--df-y, 50%), #000 35%, rgb(0 0 0 / .22) 100%);
}
.df-dots {
  position: absolute; top: 0; bottom: 0; left: 0;
  width: calc(100% + 360px);
  background: var(--df-accent);
  -webkit-mask-image: radial-gradient(circle, #000 0.9px, transparent 1.3px), url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27360%27%20height%3D%27240%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27g%27%20x1%3D%270%27%20y1%3D%270%27%20x2%3D%270%27%20y2%3D%271%27%3E%3Cstop%20offset%3D%270.04%27%20stop-color%3D%27%23000%27%2F%3E%3Cstop%20offset%3D%270.96%27%20stop-color%3D%27%23fff%27%2F%3E%3C%2FlinearGradient%3E%3Cfilter%20id%3D%27f%27%20x%3D%270%27%20y%3D%270%27%20width%3D%27100%25%27%20height%3D%27100%25%27%20color-interpolation-filters%3D%27sRGB%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.45%27%20numOctaves%3D%272%27%20seed%3D%277%27%20stitchTiles%3D%27stitch%27%20result%3D%27n%27%2F%3E%3CfeColorMatrix%20in%3D%27n%27%20type%3D%27matrix%27%20values%3D%271%200%200%200%200%201%200%200%200%200%201%200%200%200%200%200%200%200%200%201%27%20result%3D%27ng%27%2F%3E%3CfeComposite%20in%3D%27SourceGraphic%27%20in2%3D%27ng%27%20operator%3D%27arithmetic%27%20k2%3D%270.5%27%20k3%3D%270.5%27%20result%3D%27s%27%2F%3E%3CfeComponentTransfer%20in%3D%27s%27%20result%3D%27t%27%3E%3CfeFuncR%20type%3D%27discrete%27%20tableValues%3D%270%201%27%2F%3E%3C%2FfeComponentTransfer%3E%3CfeColorMatrix%20in%3D%27t%27%20type%3D%27matrix%27%20values%3D%270%200%200%200%201%200%200%200%200%200.5%200%200%200%200%200%201%200%200%200%200%27%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20fill%3D%27url%28%23g%29%27%20filter%3D%27url%28%23f%29%27%2F%3E%3C%2Fsvg%3E');
  mask-image: radial-gradient(circle, #000 0.9px, transparent 1.3px), url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27360%27%20height%3D%27240%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27g%27%20x1%3D%270%27%20y1%3D%270%27%20x2%3D%270%27%20y2%3D%271%27%3E%3Cstop%20offset%3D%270.04%27%20stop-color%3D%27%23000%27%2F%3E%3Cstop%20offset%3D%270.96%27%20stop-color%3D%27%23fff%27%2F%3E%3C%2FlinearGradient%3E%3Cfilter%20id%3D%27f%27%20x%3D%270%27%20y%3D%270%27%20width%3D%27100%25%27%20height%3D%27100%25%27%20color-interpolation-filters%3D%27sRGB%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.45%27%20numOctaves%3D%272%27%20seed%3D%277%27%20stitchTiles%3D%27stitch%27%20result%3D%27n%27%2F%3E%3CfeColorMatrix%20in%3D%27n%27%20type%3D%27matrix%27%20values%3D%271%200%200%200%200%201%200%200%200%200%201%200%200%200%200%200%200%200%200%201%27%20result%3D%27ng%27%2F%3E%3CfeComposite%20in%3D%27SourceGraphic%27%20in2%3D%27ng%27%20operator%3D%27arithmetic%27%20k2%3D%270.5%27%20k3%3D%270.5%27%20result%3D%27s%27%2F%3E%3CfeComponentTransfer%20in%3D%27s%27%20result%3D%27t%27%3E%3CfeFuncR%20type%3D%27discrete%27%20tableValues%3D%270%201%27%2F%3E%3C%2FfeComponentTransfer%3E%3CfeColorMatrix%20in%3D%27t%27%20type%3D%27matrix%27%20values%3D%270%200%200%200%201%200%200%200%200%200.5%200%200%200%200%200%201%200%200%200%200%27%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20fill%3D%27url%28%23g%29%27%20filter%3D%27url%28%23f%29%27%2F%3E%3C%2Fsvg%3E');
  -webkit-mask-size: 4px 4px, 360px 240px;
  mask-size: 4px 4px, 360px 240px;
  -webkit-mask-repeat: repeat, repeat-x;
  mask-repeat: repeat, repeat-x;
  -webkit-mask-position: 0 0, left bottom;
  mask-position: 0 0, left bottom;
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
@media (prefers-reduced-motion: no-preference) {
  .df-dots { animation: df-drift 40s linear infinite; }
  @supports (animation-timeline: view()) {
    .df-band { view-timeline: --df-band; }
    .df-mark { animation: df-rise linear both; animation-timeline: --df-band; animation-range: entry 20% entry 100%; }
  }
}
@keyframes df-drift { to { translate: -360px 0; } }
@keyframes df-rise { from { translate: 0 30%; } }

.site-footer{--df-accent:#008dea;background:#f5f6f8;border-top:1px solid #d1d1d1;overflow:hidden;color:#2c2c2c}
.footer-content{max-width:1400px;margin:auto;padding:80px 6% 64px;display:grid;grid-template-columns:1.6fr 1.1fr 1.1fr .9fr;gap:40px}
.footer-brand{font-size:20px;font-weight:600;letter-spacing:-.04em}
.footer-intro h2{font-size:clamp(28px,2.7vw,40px);line-height:1.15;letter-spacing:-.04em;margin:24px 0 16px;font-weight:550}
.footer-intro p{max-width:290px;font-size:16px;line-height:1.6;color:#666}
.footer-apply{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;margin-top:28px;padding:16px 24px;border-radius:40px;background:#0878cd;color:#fff;font-size:16px;font-weight:600;transition:background .25s,transform .25s}
.footer-apply:hover{background:#005faa;transform:translateY(-2px)}
.footer-apply:active{transform:translateY(0)}
.footer-content nav h3{font-size:16px;line-height:1.4;font-weight:600;margin:4px 0 24px}
.footer-content ul{padding:0;margin:0;list-style:none;display:grid;gap:16px}
.footer-content li a{display:inline-block;font-size:14px;line-height:1.6;color:#666;transition:color .2s}
.footer-content li a:hover{color:#0878cd;text-decoration:underline;text-underline-offset:4px}
.site-footer .df-band{height:clamp(150px,20vw,270px);position:relative;overflow:hidden}
.site-footer .df-mark{position:absolute;bottom:-.05em;left:5%;margin:0;pointer-events:none;user-select:none;color:#f5f6f8;font-size:clamp(64px,17vw,240px);font-weight:700;line-height:.8;letter-spacing:-.06em;white-space:nowrap}
.footer-bottom{border-top:1px solid #d1d1d1;padding:24px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;color:#666}
.footer-bottom a{min-height:44px;display:inline-flex;align-items:center;gap:12px}
.process-section{min-height:0;padding-bottom:100px}
@media(max-width:1000px){.footer-content{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding-top:56px}.footer-intro{grid-column:1/-1}.footer-intro p{max-width:400px}.process-section{padding-bottom:64px}}
@media(max-width:600px){.footer-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;padding:48px 28px}.footer-content nav h3{margin-bottom:14px}.footer-content ul{gap:6px}.footer-content li a{padding:8px 0;min-height:44px}.footer-bottom{padding:18px 28px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.footer-apply{transition:none}.footer-apply:hover{transform:none}html{scroll-behavior:auto}}

/* Specular rim: two opposing highlights follow cursor proximity. */
.hero-actions .specular-button{--specular-angle:315deg;--specular-level:.35;position:relative;isolation:isolate;overflow:visible;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s;box-shadow:inset 0 0 0 1px #ffffff25,0 10px 24px -14px #00134270}
.specular-label{position:relative;z-index:2;pointer-events:none}
.specular-light{position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;z-index:1;opacity:var(--specular-level);background:radial-gradient(ellipse at 25% 15%,#ffffff16,transparent 70%)}
.specular-light::before,.specular-light::after{content:'';position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--specular-angle),#fff 0deg,transparent 44deg,transparent 136deg,#ffffff80 180deg,transparent 224deg,transparent 316deg,#fff 360deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.specular-light::after{inset:-2px;filter:blur(4px);opacity:.65}
.hero-actions .pill-primary.specular-button{background:#edf5ff;color:#102b4d}
.hero-actions .pill-primary .specular-light::before{background:conic-gradient(from var(--specular-angle),#fff,#68bdff 10deg,transparent 44deg,transparent 136deg,#89caff 180deg,transparent 224deg,transparent 316deg,#fff)}
.hero-actions .pill-secondary.specular-button{background:#ffffff14;backdrop-filter:blur(8px);color:#fff}
.hero-actions .specular-button:hover{transform:translateY(-2px)}
.hero-actions .specular-button:active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){.hero-actions .specular-button{transition:none}.specular-light{opacity:.35}.hero-actions .specular-button:hover,.hero-actions .specular-button:active{transform:none}}

/* Compact floating navigation, revealed by an upward scroll. */
.site-nav{position:fixed;z-index:80;top:18px;left:5.2%;right:5.2%;color:#fff;transition:transform .32s ease,opacity .25s ease}
.nav-shell{min-height:70px;display:flex;align-items:center;gap:28px;padding:10px 18px 10px 22px;border:1px solid #ffffff26;border-radius:20px;background:linear-gradient(110deg,rgba(12,37,100,.3),rgba(50,151,238,.14));-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:inset 0 1px 0 #ffffff30,0 8px 28px #001b4d12}
.site-nav.nav-scrolled .nav-shell{background:linear-gradient(110deg,rgba(244,249,255,.68),rgba(227,241,255,.5));border-color:#ffffffa6;color:#12324f;box-shadow:inset 0 1px 0 #ffffffbf,0 8px 28px #17395512}
.site-nav.nav-scrolled .nav-links a{color:#29465e}
.site-nav.nav-scrolled .nav-links a:hover{color:#0079cf}
.site-nav.nav-scrolled .nav-apply{background:#0878cd;color:#fff}
.site-nav.nav-scrolled .nav-toggle{color:#12324f}
.site-nav.nav-scrolled .nav-links{border-top-color:#163c6020}
.site-nav.nav-hidden{transform:translateY(calc(-100% - 24px));opacity:0;pointer-events:none}
.site-nav:focus-within{transform:none;opacity:1;pointer-events:auto}
.nav-brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:16px;font-weight:600;letter-spacing:-.03em;min-height:44px}
.nav-brand img{width:32px;height:auto;object-fit:contain}
.nav-links{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2vw,32px);margin-left:auto}
.nav-links a{font-size:14px;color:#dce6f4;padding:14px 0;white-space:nowrap;transition:color .2s}
.nav-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}
.nav-apply{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:20px;flex-shrink:0;border-radius:30px;background:#ffffff12;color:#fff;padding:14px 22px;font-size:14px;font-weight:600;box-shadow:inset 0 0 0 1px #ffffff40;transition:transform .2s}
.nav-apply:hover{transform:translateY(-1px)}
.nav-apply:active{transform:scale(.97)}
.nav-apply .specular-label{gap:20px;display:inline-flex;align-items:center}
.nav-toggle{display:none}
section[id],#network-title{scroll-margin-top:112px}
@media(max-width:1000px){
 .site-nav{left:20px;right:20px;top:12px}
 .nav-shell{min-height:64px;padding:10px 16px;gap:16px;flex-wrap:wrap;border-radius:18px}
 .nav-brand{margin-right:auto;font-size:15px}.nav-brand img{width:30px}
 .nav-apply{padding:12px 18px}
 .nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:40px;height:40px;background:transparent;color:white}
 .nav-toggle span{display:block;width:20px;height:1px;background:currentColor;transition:transform .2s}
 .menu-open .nav-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .menu-open .nav-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .nav-links{display:none;order:4;width:100%;margin:0;align-items:stretch;padding:8px 0 10px;border-top:1px solid #ffffff22;gap:0}
 .menu-open .nav-links{display:flex;flex-direction:column}.nav-links a{padding:16px 8px;font-size:16px}
}
@media(max-width:420px){.site-nav{left:12px;right:12px}.nav-shell{gap:8px;padding:8px 12px}.nav-brand{gap:8px;font-size:15px}.nav-apply{padding:12px 14px}.nav-apply .specular-label{gap:8px}}
@media(prefers-reduced-motion:reduce){.site-nav,.nav-apply,.nav-toggle span{transition:none}}

.footer-apply.specular-button{--specular-angle:315deg;--specular-level:.35;position:relative;isolation:isolate;overflow:visible;background:#0878cd;box-shadow:inset 0 0 0 1px #ffffff30,0 10px 24px -14px #0054b550;transition:background .25s,transform .25s}
.footer-apply .specular-label{display:inline-flex;align-items:center;justify-content:space-between;gap:40px}
.footer-apply.specular-button:hover{background:#0878cd;transform:translateY(-2px)}
.footer-apply.specular-button:active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){.footer-apply.specular-button{transition:none}.footer-apply.specular-button:hover,.footer-apply.specular-button:active{transform:none}}

/* Original Figma logo variants, matched to the navigation surface. */
.nav-brand .nav-logo-dark{display:none}
.site-nav.nav-scrolled .nav-logo-light{display:none}
.site-nav.nav-scrolled .nav-logo-dark{display:block}

/* Shared vertical rhythm: section edges, heading groups, and content blocks. */
:root{--section-space:clamp(112px,11.25vw,168px);--content-space:clamp(72px,7.5vw,112px);--heading-space:clamp(28px,3vw,40px)}
.overview,.details,.student-stories,.process-section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.details-heading,.research-intro{top:auto}
.overview-heading p,.details-heading>p,.research-heading p,.stories-heading p,.process-heading p,.network-heading p{margin-top:var(--heading-space)}
.lab-collage,.overview .program-strip,.program-grid,.details .program-strip,.detail-grid,.stories-layout,.process-timeline,.network-grid{margin-top:var(--content-space)}
.overview>.section-rule{margin-top:var(--section-space)}
.overview:has(>.section-rule){padding-bottom:0}
.stories-layout{margin-bottom:0}
.process-heading{padding-top:0}
.process-network{margin-top:calc(var(--section-space) * 1.5)}
.area-inner{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.field-grid,.area-1 .field-grid,.area-2 .field-grid,.area-3 .field-grid{margin-top:var(--content-space)}
.research-intro{height:auto;padding-top:var(--section-space);padding-bottom:calc(var(--section-space) + 70px)}
.research-covers{position:relative;left:auto;right:auto;top:auto;width:74%;margin:calc(var(--content-space) + 48px) auto 0}
.research-heading p{max-width:720px}
.footer-content{padding-top:var(--section-space);padding-bottom:var(--content-space)}
@media(max-width:1000px){
 :root{--section-space:96px;--content-space:64px;--heading-space:28px}
 .research-intro{padding-top:80px;padding-bottom:88px}
 .research-covers{width:calc(100% - 70px);margin-top:112px}
 .research-heading p{margin-left:42px;margin-right:42px}
 .process-network{margin-top:80px}
}
@media(max-width:600px){
 :root{--section-space:80px;--content-space:56px;--heading-space:24px}
 .area-inner{padding-top:var(--section-space);padding-bottom:var(--section-space)}
 .process-network{margin-top:72px}
}
/* Let the research links participate in flow so labels never collide with copy. */
.research-tags{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:20px;margin:var(--content-space) auto 0;padding:0 32px;max-width:1100px}
.research-tags a{position:relative;inset:auto;font-size:clamp(12px,1.3vw,18px);padding:12px 16px}
.research-covers{margin-top:var(--content-space)}
@media(max-width:1000px){.research-intro{padding-top:var(--section-space)}.research-tags{gap:16px}.research-covers{margin-top:48px}}

/* Taste spacing pass: airy chapter openings, tighter groups within a chapter. */
.overview .program-strip,.program-grid,.details .program-strip{margin-top:clamp(48px,5vw,72px)}
.process-network{margin-top:var(--section-space)}
.research-intro{padding-bottom:calc(var(--section-space) + 70px)}
@media(max-width:1000px){
 .research-intro{padding-bottom:calc(var(--section-space) + 32px)}
 .research-covers{margin-top:var(--content-space)}
 .process-network{margin-top:var(--section-space)}
}

/* Give the research labels room to read as individual floating signposts. */
.research-tags{max-width:1140px;justify-content:space-between;gap:40px 48px;padding:12px 48px 28px;align-items:center}
.research-tags .tag-social{translate:0 12px}
.research-tags .tag-natural{translate:0 18px}
@media(max-width:1000px){
 .research-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;gap:40px 56px;padding:12px 40px 28px;justify-items:center}
 .research-tags a{max-width:100%;font-size:14px}
}
@media(max-width:480px){
 .research-tags{gap:32px 24px;padding:8px 32px 24px}
 .research-tags a{font-size:12px;padding:12px 10px}
}

/* A lighter hero content scale, without scaling the text rendering or hit areas. */
@media(min-width:1001px){
 .hero h1{font-size:clamp(46px,4.3vw,88px);line-height:1.2}
 .hero-copy>p{font-size:clamp(17px,1.4vw,24px);width:48%;max-width:760px;margin-top:clamp(28px,2.6vw,44px);line-height:1.4}
 .hero-actions{gap:24px;margin-top:clamp(32px,3.3vw,52px);transform:none}
 .hero-actions .pill{font-size:clamp(16px,1.4vw,22px);padding:19px 26px;line-height:1.2;min-height:54px}
}
@media(max-width:1000px){
 .hero h1{font-size:clamp(28px,6.5vw,42px)}
 .hero-copy>p{max-width:350px}
 .hero-actions .pill{min-width:210px;padding:16px 24px}
}

.hero-copy>p{color:rgba(255,255,255,.75)}

/* Keep the hero's two thoughts intact at tablet widths; balance them on phones. */
.hero-title-line{display:block;text-wrap:balance}
.hero-title-phrase{white-space:nowrap}
@media(min-width:601px) and (max-width:1000px){
 .hero h1{font-size:clamp(30px,4.3vw,42px);line-height:1.22;letter-spacing:-.025em}
}
@media(max-width:600px){
 .hero h1{max-width:480px;margin-inline:auto;line-height:1.22}
}

/* Audit fixes: avoid double padding at unruled chapter transitions. */
.details{padding-bottom:calc(var(--section-space) * .5)}
.research-intro{padding-top:calc(var(--section-space) * .5)}
.student-stories{padding-bottom:calc(var(--section-space) * .5)}
.process-section{padding-top:calc(var(--section-space) * .5)}
@media(max-width:600px){
 .detail-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;align-items:start}
 .detail-features>span{min-width:0;overflow-wrap:anywhere;padding:0 8px;line-height:1.45}
 .detail-features>span+span{border-left:0}
 .detail-features>span:nth-child(even){border-left:1px solid #ddd}
 .detail-body{gap:24px}
 .research-tags{padding-inline:28px;gap:36px 24px}
 .research-tags a{font-size:14px;line-height:1.3}
 .research-covers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;width:calc(100% - 88px)}
 .research-cover{width:100%;height:auto;aspect-ratio:478/629}
 .research-cover.cover-0{transform:rotate(-5deg)}
 .research-cover.cover-1{transform:translateY(12px) rotate(3deg)}
 .research-cover.cover-2{transform:rotate(4deg)}
 .research-cover.cover-3{transform:translateY(12px) rotate(-3deg)}
 .research-cover>span{font-size:12px}
}

/* Avoid CSS hover transitions fighting GSAP's one-time entrance transforms. */
.motion-revealing{transition:none!important;will-change:transform,opacity}
@media print{.motion-revealing{opacity:1!important;transform:none!important}}

/* Compact navigation keeps its primary row intact on narrow phones. */
@media(max-width:360px){
 .nav-shell{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:0 8px}
 .nav-brand{grid-column:1;grid-row:1;margin:0}
 .nav-toggle{grid-column:2;grid-row:1}
 .nav-apply{display:none}
 .menu-open .nav-apply{display:inline-flex;grid-column:1 / -1;grid-row:3;margin:4px 0 8px;justify-self:stretch}
 .nav-links{grid-column:1 / -1;grid-row:2}
}
@media(max-width:420px){
 .research-tags{grid-template-columns:minmax(0,1fr);gap:16px;padding:0 28px}
 .research-tags a{width:100%;max-width:300px;justify-self:center;text-align:center;transform:none;translate:none;overflow-wrap:anywhere;padding:14px 16px;min-height:48px}
}

/* Readable blue labels and comfortable touch targets. */
:root{--blue-ink:#0869bd}
.research-tags a,.outline-button{color:var(--blue-ink)}
.outline-button:hover{color:#fff;background:var(--blue-ink)}
.outline-button{min-height:44px;min-width:44px}
@media(max-width:1000px){
 .nav-toggle{width:44px;height:44px;flex-shrink:0}
 .nav-apply{min-height:44px}
 .detail-subtitle,.detail-features>span,.field-description{font-size:16px;line-height:1.5}
}
@media(max-width:360px){.nav-shell{grid-template-columns:minmax(0,1fr) 44px}}

/* Research labels flank the title like landed paper slips. */
.research-title-stage{position:relative;min-height:150px;display:flex;align-items:center;justify-content:center;margin:0 auto;width:90%;max-width:1320px}
.research-title-stage h2{font-size:clamp(36px,4vw,58px);max-width:48%;margin:0}
.research-title-stage .research-tags{position:absolute;inset:0;display:block;width:100%;max-width:none;margin:0;padding:0;pointer-events:none}
.research-title-stage .research-tags a{position:absolute;pointer-events:auto;width:auto;max-width:23%;font-size:clamp(13px,1.4vw,18px);line-height:1.2;padding:12px 14px;translate:none;text-align:left;min-height:0}
.research-title-stage .tag-social{left:5%;top:0;right:auto;transform:rotate(-9deg)}
.research-title-stage .tag-computer{left:0;top:74px;right:auto;transform:rotate(5deg)}
.research-title-stage .tag-natural{left:auto;right:5%;top:4px;transform:rotate(3deg)}
.research-title-stage .tag-emerging{left:auto;right:0;top:78px;transform:rotate(-4deg)}
.research-title-stage .research-tags a:hover{transform:rotate(0) translateY(-3px)}
@media(max-width:1000px){
 .research-title-stage{display:flex;flex-direction:column;gap:36px;min-height:0}
 .research-title-stage h2{max-width:100%;font-size:clamp(32px,5vw,44px)}
 .research-title-stage .research-tags{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px;max-width:640px}
 .research-title-stage .research-tags a{position:relative;inset:auto;max-width:100%;width:auto;justify-self:center;font-size:14px;overflow-wrap:anywhere}
}
@media(max-width:420px){
 .research-title-stage .research-tags{gap:20px 12px}
 .research-title-stage .research-tags a{font-size:13px;padding:10px;transform:none;min-height:44px;display:flex;align-items:center}
}

@media(min-width:1001px){
 .research-title-stage{width:78%;max-width:1080px;min-height:140px}
 .research-title-stage .research-tags a{font-size:clamp(12px,1.2vw,16px);padding:9px 11px;max-width:23%}
 .research-title-stage .tag-social{left:4%;top:8px}
 .research-title-stage .tag-computer{left:0;top:76px}
 .research-title-stage .tag-natural{right:4%;top:12px}
 .research-title-stage .tag-emerging{right:0;top:78px}
}

/* Selected Research Labs — Figma 479:4256, original staggered collage. */
.selected-labs{position:relative;padding:var(--section-space) 0;isolation:isolate}
.selected-labs::before,.selected-labs::after{content:'';position:absolute;top:0;bottom:0;width:1px;background:#d2d2d2;z-index:-1}
.selected-labs::before{left:5.2%}.selected-labs::after{right:5.2%}
.selected-labs-mark{position:absolute;left:1.17%;top:14px;transform:scaleX(-1);max-width:1.55%;height:auto}
.selected-labs-heading{position:relative;width:89.6%;margin:auto;min-height:clamp(240px,25vw,380px);padding-top:clamp(30px,4vw,64px)}
.selected-labs-heading h2{font-size:clamp(32px,3.9vw,56px);position:relative;z-index:1}
.selected-labs-heading p{margin-top:var(--heading-space);font-size:clamp(16px,1.875vw,24px);color:#666}
.selected-labs-logos{position:absolute;inset:0;pointer-events:none}
.lab-emblem{position:absolute;display:block}
.lab-emblem img{width:100%;height:100%;object-fit:contain}
.emblem-24{left:11%;top:4%;width:14.4%;aspect-ratio:330/146;overflow:hidden}
.emblem-24 img,.logo-24 img{height:169.52%;position:absolute;top:-34.67%;left:0;width:100%;object-fit:fill}
.emblem-23{left:4%;top:34%;width:12.2%;aspect-ratio:280/122;transform:rotate(-12.28deg)}
.emblem-77{left:15%;top:64%;width:7%;aspect-ratio:160/87;transform:rotate(5.17deg)}
.emblem-70{right:20%;top:-8%;width:7.2%;aspect-ratio:165/154}
.emblem-28{right:10%;top:11%;width:7.1%;aspect-ratio:1;transform:rotate(10.04deg)}
.emblem-69{right:9%;top:41%;width:6.3%;aspect-ratio:145/146}
.emblem-66{right:17%;top:67%;width:11.9%;aspect-ratio:273/106}
.selected-labs-grid{position:relative;width:89.6%;max-width:1600px;margin:var(--content-space) auto 0;aspect-ratio:2292/2283}
.selected-lab{position:absolute;width:27.9232%;height:33.3333%;display:flex;flex-direction:column;background:#f5f5f5;outline:1px solid #d2d2d2}
.selected-lab-photo{position:relative;flex:none;height:61.1038%;overflow:hidden}
.selected-lab-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.selected-lab-copy{height:38.8962%;position:relative;padding:5.94% 5.31%;background:#fff}
.lab-copy-first .selected-lab-copy{order:-1}
.selected-lab h3{font-size:clamp(17px,1.95vw,31px);font-weight:510;line-height:1.18;max-width:90%;letter-spacing:-.02em}
.lab-card-logo{position:absolute;right:4.8%;bottom:5.5%;width:28.75%;height:27%;display:block}
.lab-card-logo img{width:100%;height:100%;object-fit:contain}
.logo-28{width:19.375%;height:42%}.logo-77{width:19.7%;height:23.3%}.logo-70{width:15.625%;height:31.4%}.logo-24{width:30.5%;height:29%;overflow:hidden}
.lab-urban{left:0;top:0}.lab-bio{left:16.19%;top:33.3333%}.lab-media{left:44.11%;top:20.3679%}.lab-haas{right:0;top:0}.lab-earth{left:0;top:66.6667%}.lab-lids{right:0;top:53.7%}
@media(max-width:1000px){
 .selected-labs-heading{min-height:260px;padding-top:65px}
 .selected-labs-heading h2{font-size:clamp(28px,4vw,40px)}
 .selected-labs-heading p{margin-top:24px}
 .selected-labs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;aspect-ratio:auto}
 .selected-lab{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:640/761}
 .selected-lab h3{font-size:clamp(17px,2.5vw,24px)}
 .emblem-23{top:64%;left:2%}.emblem-77{top:77%;left:25%}.emblem-69{top:70%;right:2%}.emblem-66{top:80%;right:20%}
 .emblem-24{top:0;left:7%}.emblem-70{top:0;right:22%}.emblem-28{top:9%;right:3%}
}
@media(max-width:600px){
 .selected-labs-heading{min-height:255px;width:86%;padding-top:62px}
 .selected-labs-heading h2{font-size:30px}
 .selected-labs-heading p{font-size:16px}
 .selected-labs-grid{width:82%;grid-template-columns:minmax(0,1fr);gap:32px;margin-top:32px}
 .selected-lab h3{font-size:22px}
 .lab-emblem{min-width:34px}.emblem-24,.emblem-23,.emblem-66{min-width:65px}
}
.selected-labs::before{background: url('/assets/selected-labs/line-left.svg') center/1px 100% no-repeat;opacity:.25}
.selected-labs::after{background: url('/assets/selected-labs/line-right.svg') center/1px 100% no-repeat;opacity:.25}
.lab-card-logo.logo-24 img{height:169.52%;top:-34.67%;object-fit:fill}
@media(max-width:600px){
 .selected-lab{aspect-ratio:auto}
 .selected-lab-photo{height:auto;aspect-ratio:640/465}
 .selected-lab-copy{height:auto;min-height:170px;padding:18px 16px 65px}
 .lab-card-logo{height:36px;bottom:12px}
 .logo-28{height:48px}.logo-70{height:44px}.logo-24{height:36px}
}

/* Give program navigation more breathing room before the cards. */
.overview .program-grid{margin-top:clamp(88px,8vw,120px)}
@media(max-width:600px){.overview .program-grid{margin-top:64px}}

/* One light-gray boundary per major section; keep existing spacing intact. */
#app>section>.section-rule{visibility:hidden}
.section-boundary{position:absolute;left:0;right:0;bottom:0;height:1px;background:#d2d2d2;pointer-events:none;z-index:4}
.section-boundary::before,.section-boundary::after{content:'';position:absolute;top:50%;width:8px;height:8px;border-radius:50%;background:#d2d2d2;transform:translate(-50%,-50%)}
.section-boundary::before{left:5.1953125%}.section-boundary::after{left:93.90625%}
.process-network{position:relative;padding-top:var(--content-space)}
.network-boundary{top:0;bottom:auto}
.site-footer{border-top:0}

/* Shared rail coordinates keep every section and divider junction aligned. */
:root{--rail-left:5.1953125%;--rail-right:6.09375%}
.rail-left,.selected-labs::before{left:var(--rail-left)}
.rail-right,.selected-labs::after{left:auto;right:var(--rail-right)}
.section-boundary::before{left:var(--rail-left)}
.section-boundary::after{left:calc(100% - var(--rail-right))}
.left-dot{left:calc(var(--rail-left) - 9px)}
.right-dot{left:calc(100% - var(--rail-right) - 9px);right:auto}
@media(max-width:1000px){:root{--rail-left:20px;--rail-right:20px}}

/* Use the exact same rail renderer as adjacent sections. */
.selected-labs::before,.selected-labs::after{display:none}

/* Lab collage cards share the established spotlight and photo hover treatment. */
.selected-lab{transition:transform .55s var(--ease),box-shadow .55s var(--ease)}
.selected-lab-photo img{transition:transform .85s var(--ease)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .selected-lab:hover{transform:translateY(-7px);box-shadow:0 18px 50px #192e4812;z-index:5}
 .selected-lab:hover .selected-lab-photo img{transform:scale(1.025)}
}

/* Restore breathing room around the stories-to-process transition. */
.student-stories{padding-bottom:var(--section-space)}
.process-section{padding-top:var(--section-space)}
.process-timeline{margin-top:clamp(88px,8vw,120px)}
@media(max-width:600px){.process-timeline{margin-top:72px}}

/* Give the lifetime network heading the same generous section rhythm. */
.process-network{padding-top:var(--section-space)}
.network-grid{margin-top:clamp(88px,8vw,120px)}
@media(max-width:600px){.network-grid{margin-top:72px}}

/* The nested network divider must use the outer section's rail coordinates. */
@media(max-width:1000px){
 .process-network>.network-boundary{left:-24px;right:-24px}
}

/* Keep the compact flanking composition on tablet-sized screens too. */
@media(min-width:601px) and (max-width:1000px){
 .research-title-stage{display:flex;flex-direction:row;width:90%;min-height:140px;gap:0}
 .research-title-stage h2{max-width:46%;font-size:clamp(26px,3.5vw,35px)}
 .research-title-stage .research-tags{position:absolute;inset:0;display:block;max-width:none;width:100%;margin:0;padding:0}
 .research-title-stage .research-tags a{position:absolute;width:auto;max-width:25%;font-size:clamp(11px,1.4vw,14px);padding:8px 10px;line-height:1.2}
 .research-title-stage .tag-social{left:3%;right:auto;top:6px;transform:rotate(-9deg)}
 .research-title-stage .tag-computer{left:0;right:auto;top:78px;transform:rotate(5deg)}
 .research-title-stage .tag-natural{left:auto;right:3%;top:10px;transform:rotate(3deg)}
 .research-title-stage .tag-emerging{left:auto;right:0;top:80px;transform:rotate(-4deg)}
}

/* Keep the decorative icons grouped around the Program Details title. */
.details-heading .floating-star{left:calc(50% - clamp(220px,24vw,340px) - 48px);top:-24px}
.details-heading .floating-timer{left:calc(50% - clamp(180px,19vw,270px) - 48px);top:28px}
.details-heading .floating-person{left:calc(50% + clamp(140px,16vw,230px));top:-12px}
.details-heading .floating-check{left:calc(50% + clamp(180px,21vw,300px));right:auto;top:30px}
@media(min-width:601px) and (max-width:1000px){
 .details-heading .floating-star{left:calc(50% - 243px);top:-18px}
 .details-heading .floating-timer{left:calc(50% - 208px);top:18px}
 .details-heading .floating-check{left:calc(50% + 140px);top:0}
}
@media(max-width:600px){
 .details-heading .floating-star{left:calc(50% - 135px);top:-46px}
 .details-heading .floating-timer{left:calc(50% - 105px);top:-30px}
 .details-heading .floating-check{left:calc(50% + 85px);top:-42px}
}

@font-face{font-family:'Hero Variable';src:url('/assets/roboto-variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
#hero-title{font-family:'Hero Variable',-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500}
#hero-title em{font-family:Newsreader,serif}
.proximity-word{display:inline-block;white-space:nowrap}
.proximity-letter{display:inline-block;font-variation-settings:'wght' 500;transition:font-variation-settings .16s ease-out}
@media(prefers-reduced-motion:reduce){.proximity-letter{transition:none}}
@font-face{font-family:'Hero Newsreader';src:url('/assets/newsreader-italic-variable.ttf') format('truetype');font-weight:200 800;font-style:italic;font-display:swap}
#hero-title em{font-family:'Hero Newsreader',Newsreader,serif}

/* Whole-page audit: shared hierarchy, reading sizes and spacing rhythm. */
:root{
 --section-title-size:clamp(40px,4vw,64px);
 --subsection-title-size:clamp(32px,3.4vw,52px);
 --card-gap:32px;
}
.overview-heading h2,.details-heading h2,.selected-labs-heading h2,
.research-title-stage h2,.stories-heading h2,.process-heading h2,.network-heading h2{
 font-size:var(--section-title-size);line-height:1.2;letter-spacing:-.04em;text-wrap:balance;
}
.area-inner>h3{font-size:var(--subsection-title-size);line-height:1.2;text-wrap:balance}
.details{padding-bottom:var(--section-space)}
.research-intro{padding-top:var(--section-space)}
.program-grid,.detail-grid,.stories-layout{gap:var(--card-gap)}
.network-grid{gap:var(--card-gap)}
.network-card p,.detail-subtitle{line-height:1.5}
@media(min-width:1001px){
 .network-card{height:auto;min-height:126px}
 .network-card h3,.network-card p{white-space:normal}
 .field-grid,.area-1 .field-grid,.area-2 .field-grid,.area-3 .field-grid{gap:32px}
 .field-divider{left:-16px}
 .field-card,.field-card:nth-child(even),.area-2 .field-card:nth-child(odd),.area-2 .field-card:nth-child(even){gap:24px}
}
@media(max-width:1000px){
 :root{--section-title-size:32px;--subsection-title-size:28px;--card-gap:24px}
 .hero-copy>p,.section-heading p,.selected-labs-heading p,
 .program-summary p,.detail-subtitle,.detail-features>span,.field-description,
 .student-identity p,.student-achievements ul,.student-story blockquote,
 .step-copy p,.network-card p{font-size:16px;line-height:1.5}
 .program-strip button,.details .program-strip button{font-size:14px;line-height:1.4}
 .selected-labs-grid{gap:var(--card-gap)}
 .program-card,.program-card:nth-child(even){gap:24px}
}

/* Explicit anchor selectors override the shared link inset reset. */
@media(min-width:601px){
 .research-title-stage .research-tags a.tag-social{left:calc(3% + 24px);right:auto;top:6px;bottom:auto}
 .research-title-stage .research-tags a.tag-computer{left:24px;right:auto;top:78px;bottom:auto}
 .research-title-stage .research-tags a.tag-natural{left:auto;right:calc(3% + 24px);top:10px;bottom:auto}
 .research-title-stage .research-tags a.tag-emerging{left:auto;right:24px;top:80px;bottom:auto}
}

/* Center the research description itself, not just the text inside it. */
.research-heading>p{width:calc(100% - 64px);max-width:720px;margin-inline:auto;text-align:center;text-wrap:pretty}
@media(max-width:600px){.research-heading>p{width:calc(100% - 48px)}}

.selected-labs-heading .drag-rebound{pointer-events:auto;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.selected-labs-heading .rebound-dragging{cursor:grabbing;z-index:5}

/* Research labels retain their link action while supporting drag and rebound. */
.research-title-stage .research-tags a.drag-rebound{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.research-title-stage .research-tags a.rebound-dragging{cursor:grabbing;z-index:5}

/* More breathing room between the details introduction and program navigation. */
.details .program-strip{margin-top:calc(var(--content-space) + 32px)}
@media(max-width:600px){.details .program-strip{margin-top:calc(var(--content-space) + 24px)}}

/* Exactly one collage photo is enhanced; its original image remains the fallback. */
.lab-collage>.halftone-photo{position:absolute;overflow:hidden}
.lab-collage .halftone-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.halftone-reveal-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none}
.halftone-reveal-canvas.is-ready{opacity:1}

.research-cover .halftone-reveal-canvas{z-index:1}
.research-cover>span:not(.card-glow){z-index:2}

/* Fit the staggered lab cards inside the shared rails, including their outline. */
.selected-labs-grid{
 width:calc(100% - var(--rail-left) - var(--rail-right) - 32px);
 margin-left:calc(var(--rail-left) + 16px);
 margin-right:auto;
}
@media(min-width:1001px){
 .selected-lab h3{font-size:clamp(17px,1.8vw,29px)}
}
@media(max-width:600px){
 .selected-labs-grid{width:calc(100% - var(--rail-left) - var(--rail-right) - 24px);margin-left:calc(var(--rail-left) + 12px)}
}

/* Fade both ends of the process spine into the page background. */
.process-line{background:linear-gradient(to bottom,transparent 0%,#d1d1d1 14%,#d1d1d1 86%,transparent 100%)}

@media(min-width:601px) and (max-width:1000px){
 .research-title-stage .research-tags a{font-size:13px;max-width:24%;padding:9px 10px}
}

/* Align both outer collage photos to the same rails as the page. */
.lab-collage>.lab-building{left:var(--rail-left)}
.lab-collage>.lab-team{left:auto;right:var(--rail-right)}

/* Silver-blue brand signature in the collage's upper-right negative space. */
.collage-brand{position:absolute;left:62%;right:var(--rail-right);top:2%;height:29%;display:flex;align-items:center;justify-content:center;gap:18px;color:#123555;pointer-events:auto}
.collage-brand-mark{position:relative;width:clamp(120px,17vw,240px);max-width:100%;opacity:.42;aspect-ratio:71.3546/54;flex:none}
.lab-collage .collage-brand-mark .metallic-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.metallic-paint-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
.metallic-ready .metallic-fallback{visibility:hidden}
@media(max-width:1000px){
 .collage-brand{left:75%;right:var(--rail-right);top:0;height:140px;flex-direction:column;gap:8px}
 .collage-brand-mark{width:96px}
}
@media(max-width:420px){
 .collage-brand{left:76%;right:20px;height:140px}
 .collage-brand-mark{width:64px}
}

/* Lift the Figma exports' pale gray matte to white without changing their geometry. */
.detail-card .detail-icon{filter:brightness(1.06);background:#fff}

/* Reuse the detail-card artwork with the heading's original blue/gray palette. */
.details-heading .floating-icon{mix-blend-mode:normal;clip-path:none}
.details-heading .floating-icon .detail-icon{clip-path:inset(17.4% round 9.25%)}
.details-heading .floating-star .detail-icon,
.details-heading .floating-check .detail-icon{filter:url(#heading-blue-tile)}
.details-heading .floating-timer .detail-icon{filter:url(#heading-blue-ink);transform:none}
.details-heading .floating-person .detail-icon{filter:brightness(1.02)}

/* Figma 650:222 contains the blue treatment, glow, and tilt in the exported asset. */
.details-heading .floating-star{transform:none;mix-blend-mode:multiply}
.details-heading .floating-star .detail-icon{filter:brightness(1.06);clip-path:none}

/* Mask the export matte to the tilted rounded tile, keeping the artwork intact. */
.details-heading .floating-star{mix-blend-mode:normal}
.details-heading .floating-star .detail-icon{
 filter:none;
 background:transparent;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 211 212'%3E%3Crect x='41.5' y='42' width='128' height='128' rx='17.6' fill='white' transform='rotate(8.68 105.5 106)'/%3E%3C/svg%3E") center/100% 100% no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 211 212'%3E%3Crect x='41.5' y='42' width='128' height='128' rx='17.6' fill='white' transform='rotate(8.68 105.5 106)'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}

/* Figma 650:211: original blue artwork, with only the outer matte masked out. */
.details-heading .floating-check{transform:none;mix-blend-mode:normal}
.details-heading .floating-check .detail-icon{
 filter:none;clip-path:none;background:transparent;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 215 215'%3E%3Crect x='43.5' y='43.5' width='128' height='128' rx='17.6' fill='white' transform='rotate(11.28 107.5 107.5)'/%3E%3C/svg%3E") center/100% 100% no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 215 215'%3E%3Crect x='43.5' y='43.5' width='128' height='128' rx='17.6' fill='white' transform='rotate(11.28 107.5 107.5)'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}

/* One clean tile frame: omit the export's matte and duplicate edge around the symbol. */
.details-heading .floating-person::before{
 content:'';position:absolute;inset:17.4%;border:1px solid rgba(44,44,44,.16);
 border-radius:14%;background:rgba(255,255,255,.55);pointer-events:none;
}
.details-heading .floating-person .detail-icon{
 position:relative;clip-path:inset(23%);filter:brightness(1.06);mix-blend-mode:multiply;
}
