/* Scoped homepage design; project pages retain their existing presentation. */
.homepage{--h-blue:#2045b8;--h-surface:#f4f6f7}
.homepage header{min-height:90px;padding-top:20px;padding-bottom:20px}
.homepage .h-kicker{display:block;font:500 .75rem/1.65 var(--mono);letter-spacing:.06em;color:var(--muted)}
.homepage .h-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:54px;padding:54px 5.6% 48px;align-items:center}
.homepage .h-hero h1{font-size:clamp(2.75rem,4.4vw,4.7rem);line-height:1.04;letter-spacing:-.05em;font-weight:500;margin:21px 0 23px}
.homepage .h-hero h1 span{color:#617077}
.homepage .h-intro{font-size:1.125rem;line-height:1.7;max-width:530px;color:var(--muted)}
.homepage .h-degree{font-size:.875rem;line-height:1.7;margin-top:21px;color:var(--muted)}
.homepage .h-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:26px}
.homepage .h-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 20px;color:white;background:var(--ink);font-size:.875rem;min-height:48px}
.homepage .h-button:hover{background:var(--h-blue)}
.homepage .h-link{font-size:.875rem;line-height:1.5;display:inline-flex;align-items:center;gap:20px;padding:10px 0;border-bottom:1px solid #b9c3c7;min-height:42px}
.homepage .h-hero-email{display:inline-block;margin-top:20px;font-size:.875rem;color:var(--muted)}
.homepage .h-hero-email:hover{color:var(--h-blue)}
.homepage .h-hero-evidence{background:var(--h-surface);border:1px solid var(--line);min-width:0}
.homepage .h-evidence-top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid var(--line)}
.homepage .h-evidence-top .h-kicker:last-child{color:var(--h-blue)}
.homepage .h-hero-evidence>a{display:block;padding:26px 20px 12px}
.homepage .h-hero-evidence img{display:block;width:100%;height:auto;aspect-ratio:2.15;object-fit:contain;mix-blend-mode:multiply}
.homepage .h-hero-evidence figcaption{padding:5px 22px 23px;margin:0;font-family:inherit}
.homepage .h-hero-evidence figcaption>span{display:block;font-size:.875rem;line-height:1.6}
.homepage .h-hero-evidence figcaption strong{display:block;margin-top:9px;color:var(--ink);font-size:1.0625rem;line-height:1.5;font-weight:500}
.homepage .h-evidence-metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.homepage .h-evidence-metrics>div{padding:21px 22px}
.homepage .h-evidence-metrics>div+div{border-left:1px solid var(--line)}
.homepage .h-evidence-metrics strong{display:block;font-size:1.875rem;font-weight:500;letter-spacing:-.04em}
.homepage .h-evidence-metrics span{display:block;font-size:.8125rem;color:var(--muted);line-height:1.5;margin-top:6px}
.homepage .h-section{padding:58px 5.6%;border-top:1px solid var(--line)}
.homepage .h-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:32px}
.homepage .h-heading h2{font-size:clamp(1.85rem,2.9vw,2.75rem);line-height:1.13;letter-spacing:-.04em;margin-top:12px}
.homepage .h-heading>p{font-size:1rem;color:var(--muted);line-height:1.7;max-width:310px}
.homepage .h-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.homepage .h-project{display:flex;flex-direction:column;min-width:0}
.homepage .h-image{display:block;position:relative;border:1px solid var(--line);background:var(--h-surface);overflow:hidden;flex-shrink:0}
.homepage .h-image img{display:block;width:100%;height:250px;object-fit:contain;padding:25px 16px;mix-blend-mode:multiply;transition:transform .2s ease}
.homepage .h-image:hover img{transform:scale(1.02)}
.homepage .h-index{position:absolute;top:12px;left:15px;font:400 .75rem/1 var(--mono);color:var(--muted)}
.homepage .h-image-arrow{position:absolute;bottom:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;background:white;border:1px solid var(--line)}
.homepage .h-project-content{padding-top:20px;display:flex;flex:1;flex-direction:column}
.homepage .h-project h3{font-size:1.45rem;line-height:1.2;margin:11px 0 14px;letter-spacing:-.03em;min-height:2.4em}
.homepage .h-project-problem{font-size:1rem;line-height:1.65;color:var(--muted)}
.homepage .h-contribution{font-size:.9375rem;line-height:1.6;margin:17px 0 22px;color:#3e4e54}
.homepage .h-contribution>span{display:block;font-size:.75rem;font-family:var(--mono);color:var(--muted);margin-bottom:5px}
.homepage .h-result{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}
.homepage .h-result strong{display:block;font-weight:500;font-size:1.875rem;letter-spacing:-.04em;line-height:1.2}
.homepage .h-result>span{display:block;font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:6px;max-width:320px}
.homepage .h-method{font-size:.75rem;line-height:1.6;font-family:var(--mono);color:var(--muted);margin-top:17px}
.homepage .h-research{margin-top:36px;padding:28px 30px;border:1px solid var(--line);border-left:3px solid var(--h-blue);display:grid;grid-template-columns:1.25fr 1fr;gap:35px;background:#fafbfc}
.homepage .h-research h3{font-size:1.375rem;margin:10px 0}
.homepage .h-research p{font-size:.9375rem;color:var(--muted);line-height:1.7;max-width:550px}
.homepage .h-research .h-link{margin-top:10px}
.homepage .h-research dl{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;margin:0}
.homepage .h-research dl>div{display:flex;flex-direction:column-reverse;gap:8px}
.homepage .h-research dt{font-size:.8125rem;color:var(--muted);line-height:1.6}
.homepage .h-research dd{margin:0;font-size:1.8rem;letter-spacing:-.04em}
.homepage .h-hardware{background:var(--h-surface)}
.homepage .h-project-compact .h-image{background:white}
.homepage .h-project-compact .h-image img{height:210px}
.homepage .h-project-compact h3{font-size:1.3rem}
.homepage .h-project-compact .h-result strong{font-size:1.55rem}
.homepage .h-gallery-link{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:18px 30px;margin-top:30px}
.homepage .h-experience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;border-top:1px solid var(--line);padding-top:25px}
.homepage .h-experience-grid article{min-width:0}
.homepage .h-experience-grid h3{font-size:1.2rem;margin:17px 0 12px}
.homepage .h-experience-grid p{font-size:.875rem;color:var(--muted);line-height:1.7;margin-top:6px}
.homepage .h-experience-grid .h-role{color:var(--ink)}
.homepage .h-capabilities{background:#1d292e;color:#f8fafb}
.homepage .h-capabilities .h-kicker{color:#bbc8cf}
.homepage .h-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.homepage .h-capability-grid article{display:flex;flex-direction:column;align-items:flex-start}
.homepage .h-capability-grid h3{font-size:1.25rem}
.homepage .h-capability-grid p{color:#c6d0d5;line-height:1.7;font-size:1rem;margin:16px 0 20px}
.homepage .h-capability-grid .h-link{margin-top:auto;border-color:#71838d}
.homepage .h-capability-grid a:hover{color:white;border-color:white}
.homepage .h-capability-grid a:focus-visible{outline-color:#a9c2ff}
.homepage .h-contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.homepage .h-contact h2{margin:13px 0 20px;font-size:2.5rem}
.homepage .h-contact p{font-size:1rem;color:var(--muted);line-height:1.75;max-width:540px}
.homepage .h-contact .h-link{margin-top:15px}
.homepage .h-contact-email{display:flex;justify-content:space-between;gap:20px;font-size:clamp(1.125rem,2.1vw,1.9rem);letter-spacing:-.03em;line-height:1.5;padding:18px 0;border-bottom:1px solid var(--ink);overflow-wrap:anywhere}
.homepage .h-contact-details .h-actions{margin-top:10px}
.homepage .h-contact-details .h-kicker{line-height:1.9}
.homepage section[id]{scroll-margin-top:24px}
@media(max-width:1100px){.homepage .h-hero{gap:28px}.homepage .h-hero h1{font-size:3.2rem}.homepage .h-project-grid{gap:20px}.homepage .h-image img{height:210px}.homepage .h-project h3{font-size:1.3rem}.homepage .h-experience-grid{grid-template-columns:1fr 1fr;gap:30px}.homepage .h-research{grid-template-columns:1.15fr 1fr;gap:25px}.homepage .h-contact{gap:35px}}
@media(max-width:800px){.homepage .h-hero{grid-template-columns:1fr;padding-top:38px;gap:30px}.homepage .h-title-break{display:none}.homepage .h-hero h1{font-size:clamp(2.4rem,6.3vw,3.8rem);max-width:650px}.homepage .h-hero-evidence{max-width:100%}.homepage .h-hero-evidence>a{padding:20px 30px 10px}.homepage .h-hero-evidence img{max-height:230px}.homepage .h-project-grid{grid-template-columns:1fr}.homepage .h-project{display:grid;grid-template-columns:1fr 1.1fr;gap:25px;border-top:1px solid var(--line);padding-top:25px}.homepage .h-image{align-self:start}.homepage .h-image img{height:245px}.homepage .h-project-content{padding-top:0}.homepage .h-project h3{min-height:0;font-size:1.4rem}.homepage .h-result{padding-top:13px}.homepage .h-research{grid-template-columns:1fr;gap:25px}.homepage .h-research dl{max-width:430px}.homepage .h-heading{align-items:flex-start}.homepage .h-heading>p{max-width:230px}.homepage .h-capability-grid{gap:25px}.homepage .h-contact{grid-template-columns:1fr;gap:35px}}
@media(max-width:560px){.homepage .h-hero{padding:32px 5.6% 34px}.homepage .h-hero h1{font-size:clamp(2rem,8.5vw,2.95rem);line-height:1.08;margin:17px 0 20px}.homepage .h-intro{font-size:1rem}.homepage .h-degree{font-size:.8125rem;margin-top:17px}.homepage .h-actions{gap:18px;margin-top:22px}.homepage .h-hero-email{margin-top:18px}.homepage .h-evidence-top{gap:7px;padding:14px 17px}.homepage .h-hero-evidence>a{padding:15px 10px 10px}.homepage .h-hero-evidence figcaption{padding:4px 17px 17px}.homepage .h-hero-evidence figcaption strong{font-size:1rem}.homepage .h-evidence-metrics>div{padding:17px}.homepage .h-evidence-metrics strong{font-size:1.65rem}.homepage .h-evidence-metrics span{font-size:.75rem}.homepage .h-section{padding:38px 5.6%}.homepage .h-heading{flex-direction:column;gap:17px;margin-bottom:25px}.homepage .h-heading h2{font-size:2rem}.homepage .h-heading>p{max-width:100%}.homepage .h-project-grid{gap:30px}.homepage .h-project{display:flex;gap:0;padding-top:0;border-top:0}.homepage .h-image{align-self:stretch}.homepage .h-image img{height:245px}.homepage .h-project-content{padding-top:18px}.homepage .h-project h3{font-size:1.5rem}.homepage .h-contribution{margin-bottom:18px}.homepage .h-result strong{font-size:1.75rem}.homepage .h-research{padding:23px 20px;margin-top:30px}.homepage .h-research dd{font-size:1.5rem}.homepage .h-research dl{gap:18px}.homepage .h-project-compact .h-image img{height:210px}.homepage .h-project-compact h3{font-size:1.4rem}.homepage .h-gallery-link{justify-content:flex-start;margin-top:25px}.homepage .h-experience-grid{grid-template-columns:1fr;gap:22px}.homepage .h-experience-grid article+article{border-top:1px solid var(--line);padding-top:22px}.homepage .h-experience-grid h3{margin-top:10px}.homepage .h-capability-grid{grid-template-columns:1fr;gap:28px}.homepage .h-capability-grid article+article{border-top:1px solid #465960;padding-top:26px}.homepage .h-contact-email{font-size:clamp(1.1rem,5.3vw,1.5rem)}.homepage .h-contact h2{font-size:2.1rem}.homepage .h-contact-details .h-actions{gap:25px}}
@media(prefers-reduced-motion:reduce){.homepage .h-image img{transition:none}}

/* Portrait uses the existing hero grid and original photograph. */
.homepage .h-hero{grid-template-columns:1.2fr .85fr;gap:clamp(36px,6vw,90px)}
.homepage .h-hero h1{font-size:clamp(3.7rem,6.2vw,6rem);margin:20px 0 25px}
.homepage .h-positioning{font-size:clamp(1.15rem,1.65vw,1.5rem);line-height:1.5;letter-spacing:-.02em;max-width:590px}
.homepage .h-hero-details{margin-top:24px}
.homepage .h-portrait{width:100%;max-width:440px;justify-self:end;border:1px solid var(--line);padding:10px;background:var(--h-surface)}
.homepage .h-portrait img{display:block;width:100%;height:450px;object-fit:cover;object-position:53% 42%}
@media(max-width:1000px) and (min-width:801px){.homepage .h-hero{gap:30px}.homepage .h-portrait img{height:420px}}
@media(max-width:800px){.homepage .h-hero{grid-template-columns:1fr;gap:24px}.homepage .h-hero-copy{display:contents}.homepage .h-hero-heading{grid-row:1}.homepage .h-portrait{grid-row:2;justify-self:start;max-width:440px}.homepage .h-hero-details{grid-row:3;margin:0}.homepage .h-portrait img{height:340px;object-position:53% 42%}.homepage .h-hero h1{font-size:clamp(3.6rem,10vw,5rem);margin:12px 0 18px}.homepage .h-positioning{font-size:1.15rem}.homepage .h-portrait{padding:7px}}
@media(max-width:560px){.homepage .h-portrait{max-width:100%}.homepage .h-portrait img{height:300px}.homepage .h-hero .h-kicker{font-size:.7rem}.homepage .h-positioning{font-size:1.0625rem}}

/* Unified home/gallery hierarchy and mechatronics introduction. */
.homepage .h-hero{grid-template-columns:1.4fr .85fr;padding-top:42px;padding-bottom:36px;gap:60px}
.homepage .h-hero h1{font-size:clamp(3rem,4.5vw,4.4rem);margin:15px 0 22px}
.homepage .h-positioning{font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.2;letter-spacing:-.035em}
.homepage .h-focus{font-size:1rem;line-height:1.65;color:var(--muted);margin-top:16px;max-width:590px}
.homepage .h-hero-details{margin-top:16px}.homepage .h-intro{font-size:1.0625rem;line-height:1.65;max-width:570px}
.homepage .h-portrait{max-width:360px;padding:0;border:0;background:none}.homepage .h-portrait img{height:390px;object-position:53% 43%}
.homepage .h-education{padding:0 5.6% 36px}.homepage .h-education h2{font-size:.875rem;margin:0 0 18px;letter-spacing:.06em}
.homepage .h-education-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--line);padding-top:22px}
.homepage .h-education h3{font-size:1.45rem;line-height:1.3}.homepage .h-education p{font-size:1.0625rem;margin-top:9px;line-height:1.5}
.homepage .h-education article>span{display:block;font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:7px}
.homepage .h-selected .h-heading h2{max-width:840px}.homepage .h-selected .h-heading>.h-link{flex-shrink:0}
.homepage .h-project-grid{row-gap:48px}.homepage .h-image-pair{display:grid;grid-template-columns:1fr 1fr}.homepage .h-image-pair img{min-width:0;padding:24px 5px}
.homepage .h-kicker,.homepage .h-contribution>span{font-size:.875rem}
@media(max-width:1000px){.homepage .h-hero{gap:30px}.homepage .h-education h3{font-size:1.3rem}}
@media(max-width:800px){.homepage .h-hero{grid-template-columns:1fr 220px;gap:24px}.homepage .h-hero-copy{display:block}.homepage .h-portrait{grid-row:auto}.homepage .h-portrait img{height:330px}.homepage .h-hero h1{font-size:3rem}.homepage .h-positioning{font-size:1.7rem}.homepage .h-selected .h-heading{flex-direction:column;align-items:flex-start;gap:12px}.homepage .h-education-grid{gap:25px}}
@media(max-width:560px){.homepage .h-hero{display:flex;flex-direction:column;align-items:stretch;padding-top:30px;gap:28px}.homepage .h-hero-copy{display:block}.homepage .h-hero h1{font-size:3rem}.homepage .h-positioning{font-size:1.75rem}.homepage .h-focus{font-size:.9375rem}.homepage .h-portrait{width:100%;max-width:none}.homepage .h-portrait img{height:290px;object-position:53% 40%}.homepage .h-education{padding-bottom:30px}.homepage .h-education-grid{grid-template-columns:1fr;gap:24px}.homepage .h-education article+article{border-top:1px solid var(--line);padding-top:24px}.homepage .h-education h3{font-size:1.4rem}.homepage .h-selected .h-heading h2{font-size:1.85rem}.homepage .h-hero .h-kicker{font-size:.8125rem}}

/* Professional experience and education brand marks. */
.homepage .h-experience-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}.homepage .h-experience-grid h3{font-size:1.125rem;line-height:1.35;margin:12px 0}.homepage .company-logo{height:42px;display:flex;align-items:center;margin:18px 0 16px}.homepage .company-logo img{display:block;max-width:145px;max-height:42px;width:auto;height:auto;object-fit:contain}.homepage .company-logo .private-company{font:400 .75rem/1.5 var(--mono);letter-spacing:.035em;color:var(--muted)}
.homepage .h-school-logo{display:block;max-width:170px;height:38px;object-fit:contain;object-position:left center;margin-bottom:15px}
@media(max-width:1100px){.homepage .h-experience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}}
@media(max-width:800px){.homepage .h-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.homepage .h-experience-grid{grid-template-columns:1fr}.homepage .company-logo{margin-top:14px}.homepage .h-school-logo{height:34px}}
.homepage .h-education-grid article{display:grid;grid-template-columns:64px 1fr;column-gap:20px;align-content:start}.homepage .h-education-grid .h-school-logo{width:64px;height:64px;grid-row:1/4;grid-column:1;object-fit:contain;margin:0}.homepage .h-education-grid h3,.homepage .h-education-grid p,.homepage .h-education-grid article>span{grid-column:2}.homepage .h-education-grid .michigan-logo{background:#00274c;padding:10px}

.homepage .company-logo.joint-company-logos>img:first-child{max-width:100px;height:auto}.homepage .company-logo.joint-company-logos .michigan-logo{width:38px;height:38px;background:#00274c;padding:6px}

/* Compact closing sections: one approach statement and direct contact. */
.homepage .h-approach{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:44px;padding-bottom:44px}
.homepage .h-approach h2{font-size:clamp(1.85rem,2.9vw,2.75rem);line-height:1.15;margin-top:12px}
.homepage .h-approach p{font-size:1.0625rem;line-height:1.65;color:#c6d0d5;max-width:440px}
.homepage .h-approach .h-link{margin-top:12px;border-color:#71838d}
.homepage .h-approach .h-link:hover{color:white;border-color:white}
.homepage .h-approach .h-link:focus-visible{outline-color:#a9c2ff}
.homepage .h-contact{padding-top:40px;padding-bottom:40px}
.homepage .h-contact h2{margin-bottom:0}
@media(max-width:800px){.homepage .h-approach{grid-template-columns:1fr;gap:22px}.homepage .h-contact{gap:22px}}
@media(max-width:560px){.homepage .h-approach,.homepage .h-contact{padding-top:32px;padding-bottom:32px}.homepage .h-approach h2{font-size:2rem}}

/* Keep the selected-project heading together at desktop widths. */
.homepage .h-selected .h-heading{display:block;position:relative}
.homepage .h-selected .h-heading h2{max-width:none;font-size:clamp(1.65rem,2.5vw,2.65rem);white-space:nowrap}
.homepage .h-selected .h-heading>.h-link{position:absolute;right:0;top:-10px}
@media(max-width:800px){.homepage .h-selected .h-heading h2{font-size:1.85rem;white-space:normal}.homepage .h-selected .h-heading>.h-link{position:static;margin-top:12px}}

.homepage .h-project-content>h3{margin-top:0}
.homepage .h-keywords{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:auto 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
.homepage .h-keywords li{font:400 .75rem/1.4 var(--mono);color:#43545a;padding:6px 9px;border:1px solid #cfd6d8;background:#f8f9f9}
