@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--navy:#0e2f3d;--deep:#092633;--teal:#00a89a;--mint:#00ccb8;--light:#eff7f7;--ink:#183c49;--muted:#667b84}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 52px));margin:auto}.top{position:sticky;top:0;background:#fff;z-index:30;border-bottom:1px solid #e8eeee}.nav{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:25px}.logo{width:205px;height:auto;display:block}.links{display:flex;gap:23px;align-items:center}.links a{font-size:13px;font-weight:600;color:#365361}.links a.active,.links a:hover{color:var(--teal)}.button{display:inline-flex;align-items:center;gap:18px;background:var(--teal);color:#fff;padding:14px 22px;border-radius:6px;font-size:13px;font-weight:700;border:1px solid var(--teal);transition:.2s}.button:hover{background:#008c82}.button.outline{background:transparent;color:var(--navy);border-color:#a3bdc2}.button.white{background:#fff;color:var(--navy);border-color:#fff}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:2.6px;font-weight:800;color:var(--teal)}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.045em}h1{font-size:clamp(43px,5.3vw,74px);line-height:1.12;margin:16px 0 22px}h2{font-size:clamp(29px,3.2vw,43px);line-height:1.2;margin:12px 0 15px}h3{font-size:18px;margin:12px 0}p{line-height:1.7;color:var(--muted)}.hero{background:var(--deep);color:white;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#092633 0%,#092633e8 39%,#09263320 100%),url('assets/hero.png') center/cover}.hero .container{position:relative;padding:100px 0 108px}.hero h1{max-width:730px}.hero h1 em{color:var(--mint);font-style:normal}.hero p{max-width:510px;color:#d0e2e6;font-size:17px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero .outline{border-color:#b8d4d6;color:#fff}.metrics{border-bottom:1px solid #e4eeee}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr)}.metric{padding:30px 20px;border-right:1px solid #e5eded;display:flex;gap:13px;align-items:center}.metric:last-child{border:0}.metric strong{font:800 29px Manrope;color:var(--navy);display:block}.metric span{font-size:12px;color:var(--muted)}.metric img{width:32px;height:32px;object-fit:contain}.section{padding:82px 0}.section.compact{padding:65px 0}.section.pale{background:#f5f9f9}.section.dark{background:var(--navy);color:#fff}.section.dark p{color:#c7dadd}.section.dark h2{color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head p{max-width:540px}.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tile{padding:30px 27px;border:1px solid #e2ebec;border-radius:10px;background:#fff;min-height:180px;transition:.2s}.tile:hover{transform:translateY(-3px);border-color:#8ad9d2;box-shadow:0 12px 30px #0926330a}.tile img{width:38px;height:38px;object-fit:contain}.tile p{font-size:13px;margin:8px 0}.tile .arrow{color:var(--teal);font-weight:800}.icon-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.icon-tile{text-align:center;padding:18px 8px;border-right:1px solid #e1ebec}.icon-tile:last-child{border:0}.icon-tile img{width:50px;height:50px;margin-bottom:12px}.icon-tile strong{font-size:13px;display:block;line-height:1.5}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.feature-img{width:100%;max-height:370px;object-fit:contain}.feature-img.cover{object-fit:cover;border-radius:12px}.mini-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:28px}.mini-list div{padding:16px 0;border-top:1px solid #dce7e9;font-size:14px;font-weight:700}.mini-list span{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:6px}.banner{padding:65px 0;background:var(--deep);color:#fff}.banner p{color:#cbdcdd}.footer{background:#f3f7f7;padding:35px 0;border-top:1px solid #e1ecec}.footer .container{display:flex;justify-content:space-between;gap:15px;align-items:center}.footer img{width:165px}.footer small{color:#6d858c}.page-hero{background:#f0f8f7;padding:75px 0 66px}.page-hero p{max-width:680px;font-size:17px}.page-hero h1{font-size:clamp(40px,4.5vw,61px);max-width:850px;color:var(--navy)}.tag{display:inline-block;padding:8px 12px;background:#e5f5f3;border-radius:20px;font-size:11px;color:#008f83;font-weight:800;margin:4px}.stack{display:grid;gap:16px}.panel{border:1px solid #e0ebec;border-radius:12px;padding:28px;background:#fff}.panel h3{margin-top:0}.wide-image{width:100%;height:auto;border-radius:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{display:grid;gap:8px;font-size:12px;font-weight:700}.form-grid input,.form-grid textarea,.form-grid select{padding:13px;border:1px solid #cbdadb;border-radius:5px;font:inherit;width:100%;background:#fff}.form-grid .full{grid-column:1/-1}.note{font-size:12px;color:#71868b}.mobile-menu{display:none}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{border-top:3px solid var(--teal);padding-top:18px}.step b{font-size:30px;color:#bedad9}.data-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.data-card{background:#fff;border:1px solid #e3ecec;padding:24px;border-radius:10px}.data-card strong{font:800 24px Manrope;color:var(--teal)}.data-card p{font-size:13px;margin:8px 0 0}@media(max-width:900px){.links{gap:11px}.links a{font-size:11px}.nav .button{display:none}.logo{width:160px}.icon-row{grid-template-columns:repeat(3,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}.tile-grid,.data-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.container{width:min(100% - 34px,1160px)}.nav{min-height:72px;flex-wrap:wrap}.links{width:100%;overflow:auto;padding-bottom:12px;white-space:nowrap}.hero .container{padding:68px 0 74px}.hero:before{background:linear-gradient(90deg,#092633ed,#092633a0),url('assets/hero.png') center/cover}.section{padding:55px 0}.metric{padding:20px 8px}.metric strong{font-size:22px}.metric img{width:25px}.icon-row{grid-template-columns:repeat(2,1fr)}.tile-grid,.split,.data-cards,.steps,.form-grid{grid-template-columns:1fr}.section-head{display:block}.footer .container{flex-wrap:wrap}.form-grid .full{grid-column:auto}}
/* Enlarged, accessible model cards on Who We Are */
.model-cards{display:grid;grid-template-columns:1fr;gap:18px;width:100%}
.model-card{display:grid;grid-template-columns:70px 1fr;column-gap:18px;align-items:center;min-height:142px;padding:25px 28px;border-radius:14px;border:1px solid #d7e9e8;background:#f4fafa;box-shadow:0 3px 14px rgba(9,38,51,.04)}
.model-symbol{grid-row:span 2;width:64px;height:64px;display:grid;place-items:center;border-radius:16px;background:#0e2f3d;color:#2be1cd;font:800 24px Manrope,Arial,sans-serif}
.model-card h3{font-size:clamp(21px,2vw,26px);line-height:1.2;margin:0 0 5px;color:#0e2f3d;letter-spacing:-.03em}
.model-card p{font-size:clamp(16px,1.4vw,18px);line-height:1.45;margin:0;color:#375862}
@media(max-width:650px){.model-card{padding:22px 18px;grid-template-columns:56px 1fr;gap:12px;min-height:120px}.model-symbol{width:52px;height:52px;font-size:20px}.model-card h3{font-size:21px}.model-card p{font-size:16px}}

/* Penn State collaboration: larger, high-legibility benefit cards */
.psu-intro{max-width:780px;font-size:1.16rem;line-height:1.65;margin:16px 0 34px}.psu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.psu-card{background:#fff;border:1px solid #d7e6e7;border-radius:20px;padding:32px 28px;min-height:270px;box-shadow:0 10px 30px rgba(14,47,61,.06)}.psu-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#e0f8f4;color:#0e655e;font-weight:800;font-size:1.3rem;margin-bottom:22px}.psu-card h3{font-size:1.5rem;line-height:1.2;margin:0 0 16px;color:#0e2f3d}.psu-card p{font-size:1.05rem;line-height:1.65;margin:0;color:#365765}.psu-bottom{display:flex;justify-content:space-between;align-items:start;gap:42px;border-top:1px solid #cfe1e2;margin-top:32px;padding-top:26px}.psu-bottom>div{max-width:580px}.psu-bottom h3{font-size:1.25rem;margin:0 0 10px}.psu-bottom p{line-height:1.6}.psu-disclaimer{max-width:340px;font-size:.84rem;color:#54717a}@media(max-width:850px){.psu-grid{grid-template-columns:1fr}.psu-card{min-height:0}.psu-bottom{display:block}.psu-disclaimer{max-width:none;margin-top:20px}}

/* Netlify business inquiry form */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--teal);outline-offset:2px}.form-grid button{cursor:pointer;font-family:inherit;font-size:14px}

.form-grid .form-field{display:grid;gap:8px;align-content:start}
.form-grid .form-field>label{display:block;font-size:12px;font-weight:700}

/* Additional data access statement in sitewide footer */
.footer .footer-data-note { max-width: 440px; line-height: 1.5; }

/* RWD-specific note directly beneath data coverage chart */
.rwd-chart-note { margin: 12px 0 0; color: #617e8c; font-size: 0.94rem; line-height: 1.5; }

/* Readability refinements: increase only the smaller text across pages. */
@media (min-width: 901px) {
  .links a { font-size: 14px; }
}
.button { font-size: 14px; }
.kicker { font-size: 12px; }
.metric span, .mini-list span, .note, .form-grid label, .form-grid .form-field > label { font-size: 14px; }
.tile p, .data-card p, .icon-tile strong { font-size: 15px; }
.tag { font-size: 12px; }
.footer small { font-size: 14px; }
.rwd-chart-note { font-size: 1rem; }
@media (max-width: 900px) { .links a { font-size: 12px; } }


/* Page-by-page spacing refinement: tighter section rhythm, same typography and content. */
.section{padding-top:54px;padding-bottom:54px}
.section.compact{padding-top:46px;padding-bottom:46px}
.page-hero{padding-top:48px;padding-bottom:43px}
.hero .container{padding-top:75px;padding-bottom:78px}
.banner{padding-top:46px;padding-bottom:46px}
.section-head{margin-bottom:24px;gap:22px}
.section-head p{margin-bottom:0}
.section h2{margin-bottom:12px}
.section .kicker+h2{margin-top:9px}
.section .container>p:last-child{margin-bottom:0}
.split{gap:36px}
.mini-list{margin-top:18px;gap:10px}
.tile{padding:23px 23px;min-height:0}
.tile-grid{gap:14px}
.icon-tile{padding:12px 8px}
.icon-tile img{margin-bottom:8px}
.metric{padding:22px 16px}
.panel{padding:24px}
.steps{gap:16px}
.model-cards{gap:13px}
.model-card{min-height:0;padding:20px 24px}
.psu-intro{margin-bottom:22px}
.psu-grid{gap:16px}
.psu-card{padding:24px 23px;min-height:0}
.psu-icon{margin-bottom:14px}
.psu-card h3{margin-bottom:10px}
.psu-bottom{margin-top:24px;padding-top:20px}
.data-card{padding:20px}
.footer{padding-top:27px;padding-bottom:27px}
/* Individual page tuning without impacting the inquiry form's behavior. */
body:has(.hero) .section{padding-top:50px;padding-bottom:50px}
body:has(.hero) .banner{padding-top:44px;padding-bottom:44px}
body:has(.psu-section) .psu-section{padding-top:48px;padding-bottom:48px}
body:has(form[name="business-inquiry"]) .section{padding-top:46px;padding-bottom:46px}
@media(max-width:650px){
 .hero .container{padding-top:54px;padding-bottom:58px}
 .page-hero{padding-top:38px;padding-bottom:36px}
 .section,.section.compact,body:has(.hero) .section,body:has(.psu-section) .psu-section,body:has(form[name="business-inquiry"]) .section{padding-top:38px;padding-bottom:38px}
 .banner,body:has(.hero) .banner{padding-top:38px;padding-bottom:38px}
 .split{gap:22px}
 .section-head{margin-bottom:18px}
 .tile{padding:20px}
 .psu-card{padding:22px}
 .metric{padding:17px 8px}
 .model-card{padding:18px}
}
