@font-face{font-family:"Noto Sans";src:url('/assets/fonts/noto-sans-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Noto Sans";src:url('/assets/fonts/noto-sans-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#17242a;--graphite:#243239;--graphite-2:#34434a;--mist:#eef1f0;--paper:#f7f8f7;--line:#cfd7d6;--sage:#718b82;--green:#365c50;--white:#f9fbfa;--danger:#8a352d;--display:"Noto Sans","Segoe UI",sans-serif;--body:"Noto Sans","Segoe UI",sans-serif;--measure:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--body);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}button,input,textarea,select{font:inherit}.skip-link{position:absolute;left:-999px;top:0}.skip-link:focus{left:16px;top:16px;z-index:100;background:#fff;padding:10px 14px}
.site-header{height:88px;position:relative;z-index:20;background:rgba(29,42,48,.97);color:var(--white);border-bottom:1px solid rgba(255,255,255,.18)}.header-inner{height:100%;max-width:var(--measure);margin:auto;padding:0 28px;display:flex;align-items:center;gap:48px}.brand{width:204px;flex:0 0 204px;display:flex;align-items:center}.brand img{display:block;width:100%;height:auto;max-height:42px;object-fit:contain;object-position:left center}.nav-toggle{display:none}.primary-nav{display:flex;align-items:stretch;gap:clamp(18px,2.2vw,32px);margin-left:auto;height:100%}.primary-nav a{display:flex;align-items:center;font-family:var(--display);font-size:11px;letter-spacing:.075em;text-decoration:none;padding:3px 0 0;border-bottom:2px solid transparent;white-space:nowrap}.primary-nav a:hover,.primary-nav a:focus-visible,.primary-nav a[aria-current=page]{border-color:var(--white)}
.hero{min-height:640px;display:grid;align-items:end;position:relative;color:var(--white);overflow:hidden;background:#1b292e url('/assets/ridge-research-campus.webp') center 48%/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,18,21,.91) 0%,rgba(11,25,28,.54) 48%,rgba(16,27,31,.27) 75%,rgba(14,25,29,.58) 100%)}.hero-inner{position:relative;z-index:2;width:100%;max-width:var(--measure);margin:auto;padding:116px 28px 76px}.hero-copy{max-width:660px}.hero-copy:before{content:"";display:block;width:50px;border-top:2px solid rgba(255,255,255,.8);margin-bottom:26px}.hero h1,.page-hero h1{font:700 clamp(38px,5.2vw,67px)/1.03 var(--display);letter-spacing:.045em;text-transform:uppercase;margin:0 0 24px}.hero h1 span{color:#b7c0c0}.hero p{font-size:19px;line-height:1.55;max-width:570px;margin:0 0 34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:168px;border:1px solid currentColor;padding:13px 18px;font:600 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;background:transparent;color:inherit;border-radius:0;cursor:pointer}.button:after{content:"→";font:16px/1 sans-serif}.button:hover,.button:focus-visible{background:var(--white);color:var(--ink)}
.hero h1{font-weight:700;font-size:clamp(42px,5.5vw,70px);line-height:.96;letter-spacing:.025em;text-wrap:balance}.hero h1 span{color:inherit}
.section{padding:80px 28px}.section-inner{max-width:var(--measure);margin:auto}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:70px;margin-bottom:48px}.section-heading h2,.content-title{font:700 clamp(28px,3vw,43px)/1.12 var(--display);letter-spacing:.04em;text-transform:uppercase;margin:0}.section-heading p{font-size:18px;max-width:680px;margin:0}.feature-grid{display:grid;grid-template-columns:1.05fr 1.05fr 1.2fr;border:1px solid var(--line)}.feature{min-height:330px;padding:42px;border-right:1px solid var(--line);position:relative}.feature:last-child{border:0}.feature h3{font:600 21px/1.3 var(--display);letter-spacing:.05em;text-transform:uppercase;margin:0 0 18px}.feature p{color:#4b5b61;max-width:34ch}.feature-number{font:600 12px var(--display);letter-spacing:.1em;color:var(--sage);display:block;margin-bottom:46px}.feature-dark{color:var(--white);background:linear-gradient(rgba(23,36,42,.7),rgba(23,36,42,.85)),url('/assets/field-research-team.webp') center/cover}.feature-dark p{color:#edf1ef}.text-link{font:600 11px var(--display);letter-spacing:.08em;text-transform:uppercase;text-underline-offset:5px}.program-list{margin:22px 0 27px;padding:0;list-style:none}.program-list li{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.image-band{min-height:500px;background:linear-gradient(90deg,rgba(27,41,46,.75),rgba(27,41,46,.25)),url('/assets/field-research-team.webp') center 40%/cover;color:#fff;display:flex;align-items:end}.image-band .section-inner{width:100%;padding:74px 0}.image-band-copy{max-width:520px}.image-band h2{font:700 36px/1.12 var(--display);letter-spacing:.04em;text-transform:uppercase}.image-band p{font-size:18px}
.page-hero{background:var(--graphite);color:var(--white);padding:92px 28px 65px;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:400px;height:400px;border:1px solid rgba(255,255,255,.12);right:-80px;top:-190px;transform:rotate(30deg)}.page-hero-inner{max-width:var(--measure);margin:auto;position:relative;z-index:1}.page-hero h1{font-size:clamp(36px,5vw,60px);max-width:850px}.page-hero p{font-size:19px;max-width:720px;margin:0}.breadcrumb{display:block;font:600 11px var(--display);letter-spacing:.1em;text-transform:uppercase;margin-bottom:32px;color:#c7d2cf}.content-grid{display:grid;grid-template-columns:1fr 2fr;gap:85px}.content-grid aside{font:600 12px/1.8 var(--display);letter-spacing:.06em;text-transform:uppercase}.content-grid aside a{display:block;border-bottom:1px solid var(--line);padding:9px 0;text-decoration:none}.prose{max-width:780px}.prose h2,.prose h3{font-family:var(--display);letter-spacing:.045em;text-transform:uppercase;line-height:1.2}.prose h2{font-size:30px;margin:0 0 22px}.prose h3{font-size:18px;margin:44px 0 14px}.prose p{color:#425158}.prose .lead{font-size:21px;line-height:1.5;color:var(--ink)}.fact-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:42px 0}.fact{padding:23px 20px;border-right:1px solid var(--line)}.fact:last-child{border:0}.fact strong{display:block;font:500 26px var(--display);margin-bottom:5px}.fact span{font-size:13px;color:#59686d}.listing{border-top:1px solid var(--ink)}.listing article{display:grid;grid-template-columns:170px 1fr;gap:32px;padding:28px 0;border-bottom:1px solid var(--line)}.listing time,.listing .meta{font:600 11px var(--display);letter-spacing:.08em;text-transform:uppercase;color:#66757a}.listing h2,.listing h3{font:500 21px/1.3 var(--display);letter-spacing:.04em;margin:0 0 10px}.listing p{margin:0;color:#4e5d62}.people-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line)}.person{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:220px}.person:nth-child(even){border-right:0}.person h2{font:500 20px var(--display);letter-spacing:.05em;margin:0 0 6px}.person .role{color:var(--green);font-weight:600;font-size:13px}.person p{color:#4e5d62}.contact-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:70px}.contact-detail{border-top:1px solid var(--ink);padding:20px 0}.contact-detail h2{font:500 16px var(--display);text-transform:uppercase;letter-spacing:.05em}.form label{display:block;font-weight:600;font-size:13px;margin-bottom:7px}.form input,.form textarea,.form select{width:100%;border:1px solid #aeb8b6;background:#fff;border-radius:0;padding:12px;color:var(--ink)}.form textarea{min-height:150px;resize:vertical}.form-row{margin-bottom:20px}.form .button{background:var(--graphite);color:#fff}.form .button:hover{background:var(--green)}
.site-footer{background:#1e2b31;color:#dbe2e0;padding:52px 28px 25px}.footer-inner{max-width:var(--measure);margin:auto}.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:48px;padding-bottom:44px}.footer-brand img{width:220px}.footer-brand p{font-size:13px;max-width:300px;color:#aebbb8}.footer-col h2{font:600 11px var(--display);letter-spacing:.1em;text-transform:uppercase;color:#fff}.footer-col a{display:block;font-size:13px;color:#b9c4c2;text-decoration:none;margin:8px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:21px;display:flex;justify-content:space-between;font-size:11px;color:#98a7a4}.footer-bottom:not(:has(>div)){display:block}.footer-bottom a{margin-left:24px}
.service-page{min-height:100vh;display:grid;place-items:center;background:var(--mist)}.service-message{width:min(520px,calc(100% - 32px));background:#fff;border:1px solid var(--line);padding:42px}.service-logo img{width:230px;margin-bottom:44px}.service-message h1{font:500 26px var(--display);letter-spacing:.05em;text-transform:uppercase}.service-message p{color:#526166}
@media(max-width:1050px){.primary-nav{gap:17px}.primary-nav a{font-size:10px}.brand{width:200px;flex-basis:200px}.feature{padding:31px}.content-grid{grid-template-columns:210px 1fr;gap:45px}}
@media(max-width:780px){.site-header{height:74px}.header-inner{padding:0 20px}.brand{width:190px;flex-basis:190px}.brand img{max-height:36px}.nav-toggle{display:block;margin-left:auto;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;padding:9px 11px;font:600 11px var(--display);letter-spacing:.08em;text-transform:uppercase}.primary-nav{display:none;position:absolute;top:74px;left:0;right:0;height:auto;background:#223139;padding:15px 20px 25px;align-items:stretch}.primary-nav.is-open{display:grid}.primary-nav a{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.15)}.hero{min-height:690px}.hero-inner{padding:85px 22px 42px}.hero h1{font-size:36px}.hero p{font-size:17px}.section{padding:58px 22px}.section-heading,.content-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.feature-grid{grid-template-columns:1fr}.feature{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.feature:last-child{border-bottom:0}.image-band .section-inner{padding:55px 22px}.content-grid aside{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.fact-row{grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid var(--line)}.fact:last-child{border-bottom:0}.listing article{grid-template-columns:1fr;gap:8px}.people-grid{grid-template-columns:1fr}.person,.person:nth-child(even){border-right:0}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom div:last-child{margin-top:12px}.footer-bottom a{margin:0 20px 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
.site-header{height:90px}.header-inner{gap:28px}.brand{width:145px;flex:0 0 145px}.brand img{width:145px;height:74px;max-height:none;object-fit:contain;object-position:left center}.primary-nav{gap:clamp(16px,1.8vw,26px)}
@media(max-width:1050px){.site-header{height:86px}.brand{width:140px;flex-basis:140px}.brand img{width:140px;height:71px;max-height:none}.primary-nav{gap:16px}}
@media(max-width:980px){.site-header{height:78px}.header-inner{padding:0 20px}.brand{width:125px;flex-basis:125px}.brand img{width:125px;height:64px;max-height:none}.nav-toggle{display:block;margin-left:auto;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;padding:9px 11px;font:600 11px var(--display);letter-spacing:.08em;text-transform:uppercase}.primary-nav{display:none;position:absolute;top:78px;left:0;right:0;height:auto;background:#223139;padding:15px 20px 25px;align-items:stretch}.primary-nav.is-open{display:grid}.primary-nav a{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.15)}}
:root{--display:"Gill Sans","Candara","Noto Sans",sans-serif;--body:"Noto Sans",sans-serif}
body{font-size:16px;line-height:1.65}
.primary-nav a{font-size:14px;font-weight:600;letter-spacing:.015em}.nav-toggle{font-family:var(--display);font-size:13px;letter-spacing:.02em}
.hero h1,.page-hero h1{font-family:var(--display);font-weight:600;letter-spacing:.005em;text-transform:none;line-height:1.04}
.section-heading h2,.content-title,.image-band h2{font-family:var(--display);font-weight:600;letter-spacing:.005em;text-transform:none}
.feature h3,.prose h2,.prose h3,.listing h2,.listing h3,.contact-detail h2{font-family:var(--display);letter-spacing:0;text-transform:none}
.breadcrumb,.feature-number,.text-link,.content-grid aside,.footer-col h2{font-family:var(--display);letter-spacing:.035em}
@media(max-width:980px){.primary-nav a{font-size:15px}}
