@font-face{font-family:Inter;src:url('/assets/inter-latin.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
:root{color-scheme:light;--bg:#edf7f8;--surface:#fff;--line:#c8dce1;--text:#10243b;--muted:#46617a;--gold:#e7bd77;--accent:#087987;--max:1200px}
*{box-sizing:border-box}html{scroll-padding-top:98px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.17;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5vw,4.3rem);font-weight:600;margin-bottom:28px}h2{font-size:clamp(1.9rem,3.5vw,2.9rem);font-weight:600}h3{font-size:1.55rem;font-weight:600}h4{font-size:1.05rem;letter-spacing:0;margin-bottom:10px}p{color:var(--muted);margin-bottom:20px}.wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:10;background:#eaf6f8;border-bottom:1px solid #d4e6e9}.header-inner{width:min(1360px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px}.brand{display:flex;align-items:center;gap:14px;font-size:1.1rem;font-weight:650;white-space:nowrap}.brand img{border-radius:9px;background:#fff}.brand small{display:block;color:#46617a;font-size:.76rem;font-weight:400;margin-top:1px}#site-nav{display:flex;gap:24px;align-items:center;font-size:.82rem;font-weight:600}#site-nav a{padding:11px 0;border-bottom:2px solid transparent}#site-nav a:hover,#site-nav a[aria-current]{color:#10243b;border-color:#bd7c28}.nav-toggle{display:none;align-items:center;gap:7px;background:transparent;color:var(--text);border:1px solid #abc6cf;padding:8px 12px;border-radius:5px;min-height:44px;white-space:nowrap}.nav-toggle img{width:18px;height:18px}.skip-link{position:fixed;left:20px;top:-100px;background:var(--gold);color:#10243b;padding:12px 18px;z-index:30}.skip-link:focus{top:12px}
.eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-weight:650;margin-bottom:18px}.lead{font-size:clamp(1.08rem,1.65vw,1.2rem);line-height:1.65;max-width:740px}.actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:30px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:12px 21px;gap:10px;border-radius:4px;font-size:.85rem;font-weight:600;border:1px solid var(--line);line-height:1.4}.primary{color:#fff;background:var(--accent);border-color:var(--accent)}.primary:hover{filter:brightness(.91)}.secondary{color:var(--accent);background:transparent;border-color:var(--accent)}.secondary:hover{background:var(--surface)}.text-link{color:var(--accent);font-size:.85rem;font-weight:600}.text-link:hover{text-decoration:underline;text-underline-offset:5px}
/* The hero uses an actual raster flow asset and an isolated portrait. */
.home-hero{color:#f1f9fb;background:#073148 url('/assets/ocean-flow-hero.webp') center/cover no-repeat;overflow:hidden}.home-hero-inner{position:relative;display:grid;grid-template-columns:1.2fr 1fr;min-height:480px;align-items:center;gap:20px}.hero-copy{position:relative;z-index:2;padding:55px 0 43px}.hero-copy h1{font-size:clamp(2.5rem,4vw,3.5rem);font-weight:500;letter-spacing:-.03em;line-height:1.16;margin-bottom:29px}.hero-copy h1 span{color:var(--gold)}.hero-copy .eyebrow{color:#efd3a2;font-size:.68rem}.hero-copy .lead{color:#e2edf3;font-size:1.08rem;line-height:1.6;max-width:590px;margin-bottom:0}.hero-copy .primary{background:var(--gold);border-color:var(--gold);color:#10243b}.hero-copy .primary:hover{background:#f1d096;filter:none}.hero-copy .secondary{border:0;color:#f2f8fc;padding-inline:5px}.hero-copy .secondary:hover{background:transparent;color:var(--gold)}.hero-copy a:focus-visible{outline-color:var(--gold)}.hero-meta{display:flex;flex-wrap:wrap;gap:22px;color:#d3e5eb;font-size:.72rem;margin-top:25px}.hero-portrait{position:relative;align-self:stretch;min-width:0}.hero-portrait>img{position:absolute;bottom:0;right:-40px;width:490px;max-width:none;height:460px;object-fit:contain;object-position:center bottom}.portrait-caption{position:absolute;bottom:35px;left:0;z-index:3;color:#fff;font-size:.74rem;line-height:1.6}.portrait-caption strong{display:block;font-size:.86rem;font-weight:600}.portrait-caption span{display:block;font-size:.63rem;color:#e2edf3}.career-strip{padding-top:28px;padding-bottom:26px}.career-strip .eyebrow{color:#466785;font-size:.65rem;margin-bottom:20px}.company-row{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#183c5b;font-size:1.04rem;font-weight:650}.company-row span{border-right:1px solid var(--line);padding-right:22px}.company-row span:last-child{border:0;padding:0}.section{padding-block:65px}.section-heading{margin-bottom:32px}.section-heading h2{margin:0}.three-grid,.two-grid{display:grid;gap:22px}.three-grid{grid-template-columns:repeat(3,1fr)}.two-grid{grid-template-columns:repeat(2,1fr)}.portfolio-entries{padding-top:13px;padding-bottom:64px}.portfolio-entries .section-heading{margin-bottom:24px}.portfolio-entries .eyebrow{color:#466785;font-size:.65rem}.overview-card{display:flex;gap:20px;align-items:flex-start;padding:0 24px 0 0;border-right:1px solid var(--line);transition:color .15s}.overview-card:last-child{border:0;padding-right:0}.entry-icon{width:38px;height:38px;flex-shrink:0;filter:invert(32%) sepia(49%) saturate(1364%) hue-rotate(152deg) brightness(93%) contrast(93%)}.overview-card:nth-child(2){--accent:#9b541f}.overview-card:nth-child(2) .entry-icon{filter:invert(33%) sepia(60%) saturate(890%) hue-rotate(345deg) brightness(91%) contrast(92%)}.overview-card h3{font-size:1.16rem;letter-spacing:-.025em;margin-bottom:9px}.overview-card p{font-size:.82rem;line-height:1.6;margin-bottom:19px}.overview-card .text-link{font-size:.81rem}.overview-card:hover h3{color:var(--accent)}.about-section{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding:55px 0 75px;border-top:1px solid var(--line)}.about-section p{font-size:1.03rem}
/* Shared light pages, with distinct reading, engineering and contact accents. */
.page-simulations{--bg:#eef7f8;--accent:#087987}.page-publications{--bg:#fbf8f2;--surface:#fffdf9;--accent:#985323;--line:#ddd8cd;--muted:#526173}.page-experience{--bg:#f1f6fa;--accent:#235f86;--line:#cadbe6}.page-contact{--bg:#edf6f2;--accent:#24715b;--line:#c8ddd3}.page-intro{padding:55px 0 42px;background:#e1eef3;margin-bottom:38px}.page-intro h1{max-width:960px;margin-bottom:22px}.page-intro .lead{margin-bottom:0}.page-simulations .page-intro{background:#073148 url('/assets/ocean-flow-hero.webp') center/cover;color:#f3f9fb}.page-simulations .page-intro .lead{color:#e0edf2}.page-simulations .page-intro .eyebrow{color:#e7bd77}.page-publications .page-intro{background:#eee8dd}.page-experience .page-intro{background:#dfeef4}.page-contact .page-intro{background:#dceee5}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.pills span{font-size:.7rem;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:5px 10px}.gallery-section{padding-bottom:75px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 20px}.filters button{color:var(--muted);border:1px solid var(--line);background:var(--surface);padding:9px 17px;min-height:44px;border-radius:30px;font-size:.83rem}.filters button:hover{border-color:var(--accent)}.filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.quiet{color:var(--muted);font-size:.78rem;line-height:1.6}.simulation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:28px}.simulation-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.card-copy{padding:28px 28px 6px}.card-copy h2{font-size:1.6rem}.card-copy p:not(.eyebrow){font-size:.92rem}.embed-shell{background:#fff;min-height:350px;margin-top:auto}.embed-shell iframe{display:block;width:100%;height:380px;border:0}.card-bottom{padding:17px 26px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.card-bottom small{font-size:.68rem;color:var(--muted)}.publication-toolbar{display:flex;gap:25px;align-items:center;justify-content:space-between;margin-bottom:20px}.publication-toolbar>p{font-size:.83rem;margin:0}.search-label{font-size:.72rem;display:grid;gap:5px;min-width:300px}.search-label input{margin:0}.paper-list{border-top:1px solid var(--line)}.paper{display:grid;grid-template-columns:85px 1fr;gap:25px;padding:35px 0;border-bottom:1px solid var(--line)}.paper-year{font-size:1.2rem;color:var(--accent);padding-top:3px}.paper h2{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.35;letter-spacing:-.02em;max-width:960px;margin-bottom:12px}.paper .eyebrow{margin-bottom:12px}.authors{font-size:.82rem;margin-bottom:5px}.journal{font-size:.82rem;font-style:italic;margin-bottom:16px}.paper-links{display:flex;flex-wrap:wrap;gap:22px}.paper-links a,.footer-links a{min-height:44px;display:inline-flex;align-items:center}.card{padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.project-card{display:flex;flex-direction:column;border-top:3px solid var(--accent)}.project-card .text-link{margin-top:auto}.project-card p:not(.eyebrow){font-size:.94rem}.timeline{border-top:1px solid var(--line)}.role{display:grid;grid-template-columns:240px 1fr;gap:45px;padding:38px 0;border-bottom:1px solid var(--line)}.role-date{color:var(--accent);font-size:.88rem}.role-date span{display:block;font-size:.75rem;color:var(--muted);margin-top:8px}.role-body .eyebrow{margin-bottom:14px}.role-body h3{margin-bottom:25px}.role-detail{margin-top:22px}.role-detail p{font-size:.94rem;max-width:790px;margin-bottom:0}.education{border-top:1px solid var(--line);padding-top:25px}.education h3{font-size:1.25rem}.education p:not(.eyebrow){font-size:.9rem}.toolbox{background:var(--surface);padding:32px;margin-top:32px;border:1px solid var(--line);border-radius:6px}.toolbox h3{font-size:1.15rem}.toolbox .pills{margin-bottom:0}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;padding-bottom:85px}.contact-person img{max-width:260px;border-radius:6px;margin-bottom:27px}.contact-person h2{font-size:1.7rem}.contact-person p{font-size:.9rem}.contact-links{display:grid;gap:12px;margin-top:26px}.contact-links>a{color:var(--accent);overflow-wrap:anywhere}.contact-links p{margin:0}.contact-form{padding:34px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.contact-form h2{font-size:1.75rem}.contact-form label{display:block;font-size:.8rem;margin-top:17px}.contact-form input,.contact-form select,.contact-form textarea,.search-label input{display:block;width:100%;padding:11px 13px;background:var(--surface);border:1px solid #9eb6c2;border-radius:4px;color:var(--text);min-height:46px;font-size:1rem}.contact-form input,.contact-form textarea,.contact-form select{margin-top:7px}.contact-form textarea{resize:vertical}.contact-form button{margin:23px 0 15px}.contact-form .quiet{margin-bottom:0}footer{border-top:1px solid #24485c;background:#0c2d42;color:#eef8fa}.footer-inner{width:min(var(--max),calc(100% - 80px));margin:auto;display:flex;justify-content:space-between;gap:35px;padding:35px 0}.footer-inner strong{font-weight:500}.footer-inner p{font-size:.78rem;margin:9px 0;color:#bcd4de}.footer-inner small{font-size:.68rem;color:#bcd4de}.footer-links{display:flex;gap:24px;align-items:center;font-size:.8rem}.footer-links .text-link{color:#d7c296}.footer-links a:focus-visible{outline-color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}
@media(max-width:1100px){.header-inner{width:calc(100% - 48px);gap:16px}#site-nav{gap:16px;font-size:.75rem}.brand{font-size:1rem}.wrap{width:calc(100% - 56px)}.home-hero-inner{grid-template-columns:1.3fr 1fr}.hero-copy h1{font-size:2.7rem}.hero-copy .lead{font-size:1rem}.hero-portrait>img{right:-45px;width:450px;height:440px}.portrait-caption{left:-20px}.company-row{font-size:.86rem;gap:15px}.company-row span{padding-right:16px}.overview-card{gap:13px;padding-right:16px}.overview-card h3{font-size:1.06rem}.entry-icon{width:32px;height:32px}.card{padding:25px}.footer-links{gap:15px}}
@media(max-width:860px){.header-inner{min-height:74px}.nav-toggle{display:inline-flex}#site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#eaf6f8;border-bottom:1px solid #abc6cf;padding:16px 28px;font-size:.95rem;flex-direction:column;align-items:stretch;gap:4px}#site-nav.is-open{display:flex}.home-hero-inner{grid-template-columns:1.2fr 1fr;min-height:500px}.hero-copy{padding:43px 0}.hero-copy h1{font-size:2.4rem}.hero-copy .eyebrow{font-size:.58rem}.hero-copy .lead{font-size:.94rem}.hero-portrait>img{right:-85px;width:400px;height:410px}.portrait-caption{bottom:18px;left:0;font-size:.7rem}.portrait-caption strong{font-size:.76rem}.hero-meta{gap:10px}.hero-copy .actions{gap:9px}.hero-copy .button{font-size:.74rem;padding:12px 15px}.company-row{flex-wrap:wrap;justify-content:flex-start;gap:12px 20px}.company-row span{padding-right:20px}.company-row span:last-child{border:0}.three-grid{grid-template-columns:1fr}.overview-card{border-right:0;border-bottom:1px solid var(--line);padding:0 0 24px;gap:20px}.overview-card h3{font-size:1.2rem}.overview-card p{font-size:.9rem}.overview-card .text-link{font-size:.85rem}.entry-icon{width:38px;height:38px}.about-section{gap:35px}.contact-grid{gap:30px}.role{grid-template-columns:190px 1fr;gap:25px}.footer-inner{width:calc(100% - 56px)}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:13px}.simulation-grid{gap:20px}.card-copy{padding:22px 22px 4px}.card-copy h2{font-size:1.4rem}.publication-toolbar{align-items:flex-start}.search-label{min-width:260px}}
@media(max-width:600px){.wrap,.header-inner{width:calc(100% - 36px)}.brand{font-size:.96rem;gap:10px}.brand small{font-size:.63rem}.brand img{width:39px;height:39px}.home-hero{background-position:58% center}.home-hero-inner{grid-template-columns:1fr;gap:0;min-height:0}.hero-copy{padding:38px 0 12px}.hero-copy h1{font-size:clamp(2.1rem,8vw,2.8rem);margin-bottom:22px}.hero-copy .eyebrow{font-size:.6rem;letter-spacing:.14em}.hero-copy .lead{font-size:1.03rem;line-height:1.6}.hero-copy .button{font-size:.81rem;padding:12px 15px}.actions,.hero-copy .actions{margin-top:24px;gap:10px}.hero-copy .secondary{padding:10px 0}.hero-meta{margin-top:20px;font-size:.7rem}.hero-portrait{height:335px;margin-top:8px}.hero-portrait>img{width:350px;height:335px;right:-18px}.portrait-caption{left:0;bottom:25px;max-width:105px}.portrait-caption strong{font-size:.76rem}.portrait-caption span{font-size:.62rem}.career-strip{padding-top:26px;padding-bottom:25px}.company-row{gap:12px 17px;font-size:.87rem}.company-row span{padding-right:17px}.portfolio-entries{padding-top:8px;padding-bottom:43px}.section{padding-block:45px}.section-heading{margin-bottom:24px}.two-grid,.simulation-grid,.contact-grid,.about-section{grid-template-columns:1fr}.about-section{gap:12px;padding:36px 0 48px}.page-intro{padding:38px 0 32px;margin-bottom:28px}.page-intro h1{font-size:2.45rem}.page-intro .lead{font-size:1.03rem}.paper{grid-template-columns:1fr;gap:8px;padding:26px 0}.paper-year{font-size:.95rem}.paper h2{font-size:1.25rem}.paper-links{gap:15px}.publication-toolbar{display:block}.publication-toolbar p{margin-bottom:18px}.search-label{min-width:0}.role{grid-template-columns:1fr;gap:19px;padding:28px 0}.role-date span{margin-top:2px}.role-body h3{font-size:1.45rem}.contact-grid{padding-bottom:45px}.contact-person img{max-width:210px}.contact-form{padding:24px}.footer-inner{width:calc(100% - 36px);display:block;padding:28px 0}.footer-links{margin-top:25px;display:flex;flex-wrap:wrap;gap:16px}.embed-shell iframe{height:340px}.embed-shell{min-height:340px}.filters button{font-size:.77rem;padding:8px 13px}}
@media(max-width:360px){.header-inner{gap:10px}.brand{gap:8px;font-size:.85rem}.brand small{font-size:.56rem}.nav-toggle{font-size:.8rem;padding:8px 9px;gap:5px}.nav-toggle img{width:16px;height:16px}.hero-copy h1{font-size:2.12rem}.hero-copy .eyebrow{font-size:.54rem}.hero-portrait>img{right:-32px;width:330px}.hero-portrait{height:320px}.portrait-caption{max-width:90px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Refinements against the chosen desktop visual. */
@media(min-width:1101px){.wrap{width:min(1170px,calc(100% - 110px))}.header-inner{width:min(1360px,calc(100% - 110px))}.hero-copy{padding:35px 0 27px}.hero-copy h1{font-size:clamp(2.5rem,4.2vw,3.5rem);font-weight:600}.hero-portrait>img{height:530px;width:530px;right:-20px;bottom:-45px}}
.page-index{--bg:#e7f5f8}.brand{font-weight:700}.site-header{background:#e6f5f8}
/* Keep the phone's text over quiet navy, with flow artwork behind the portrait. */
@media(max-width:600px){.home-hero{background-size:auto 400px;background-position:65% bottom}.page-simulations .page-intro{background-position:left center}.portrait-caption{max-width:125px}.portrait-caption strong{font-size:.7rem}}
@media(max-width:600px){.home-hero{background-image:none}.hero-portrait{background:#073148 url('/assets/ocean-flow-hero.webp') 65% center/cover no-repeat;width:calc(100% + 36px);margin-left:-18px;overflow:hidden}.portrait-caption{left:18px}}
@media(min-width:601px) and (max-width:860px){.portrait-caption{display:none}}

/* Fluid Overview: the outer content follows the viewport, while copy stays readable. */
.page-index { --page-gutter: clamp(18px, 3vw, 80px); }
.page-index .wrap,
.page-index .header-inner,
.page-index .footer-inner { width: calc(100% - var(--page-gutter) * 2); }
.page-index .home-hero-inner { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 4vw; min-height: 500px; }
.page-index .hero-copy { max-width: 760px; padding: 45px 0; }
.page-index .hero-copy h1 { font-size: clamp(2.5rem, 3.3vw, 4.25rem); }
.page-index .hero-copy .lead { max-width: 650px; font-size: clamp(1rem, 1.05vw, 1.2rem); }
.page-index .hero-portrait > img { width: min(780px, 65vw); height: 500px; right: -5%; bottom: 0; object-fit: contain; object-position: right bottom; }
.page-index .portrait-caption { left: 0; bottom: 28px; text-shadow: 0 1px 4px #073148, 0 1px 2px #073148; }
.page-index .company-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; background: #fff; border: 1px solid #d4e6e9; padding: 12px 0; }
.company-logo { min-width: 0; display: flex; align-items: center; justify-content: center; min-height: 68px; padding: 8px 24px; border-right: 1px solid var(--line); }
.company-logo:last-child { border-right: 0; }
.company-logo img { width: 100%; max-width: 180px; height: 52px; object-fit: contain; }
.company-logo.wisk img { max-width: 160px; }
.company-logo.alcyone img { max-width: 200px; height: 60px; }
.company-logo.university-idaho img { height: 64px; width: 100px; }
.page-index .career-strip { padding-bottom: 32px; }
.page-index .portfolio-entries .three-grid { gap: clamp(24px, 3vw, 80px); }
.page-index .overview-card { padding-right: clamp(20px, 3vw, 65px); }
.page-index .overview-card p { font-size: .95rem; max-width: 560px; }
.page-index .overview-card h3 { font-size: clamp(1.16rem, 1.35vw, 1.5rem); }
.page-index .about-section { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 7vw; }
.page-index .about-section > div:last-child { max-width: 760px; justify-self: end; }
@media (min-width: 1800px) {
 .page-index .home-hero-inner { min-height: 560px; }
 .page-index .hero-portrait > img { height: 560px; width: 840px; right: 0; }
 .page-index .portrait-caption { left: auto; right: 560px; }
}
@media (max-width: 1100px) {
 .page-index .home-hero-inner { gap: 12px; }
 .page-index .hero-copy h1 { font-size: 2.7rem; }
 .page-index .hero-portrait > img { width: min(720px, 65vw); height: 450px; right: -5%; }
 .company-logo { padding: 8px 16px; }
 .company-logo img { height: 40px; }
}
@media (max-width: 860px) {
 .page-index .home-hero-inner { grid-template-columns: 1.1fr 1fr; }
 .page-index .hero-copy h1 { font-size: 2.35rem; }
 .page-index .hero-portrait > img { width: min(580px, 70vw); height: 410px; right: -5%; }
 .page-index .company-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 0; }
 .company-logo:nth-child(3n) { border-right: 0; }
 .page-index .portfolio-entries .three-grid { gap: 24px; }
 .page-index .overview-card { padding-right: 0; }
}
@media (max-width: 600px) {
 .page-index .home-hero-inner { grid-template-columns: 1fr; min-height: 0; gap: 0; }
 .page-index .hero-copy { padding: 38px 0 12px; }
 .page-index .hero-copy h1 { font-size: clamp(2.1rem, 8vw, 2.8rem); }
 .page-index .hero-copy .lead { font-size: 1.03rem; }
 .page-index .hero-portrait { width: calc(100% + var(--page-gutter) * 2); margin-left: calc(var(--page-gutter) * -1); height: auto; aspect-ratio: 3 / 2; }
 .page-index .hero-portrait > img { width: 100%; height: 100%; right: 0; object-position: center bottom; }
 .page-index .portrait-caption { left: var(--page-gutter); bottom: 16px; max-width: 100px; }
 .page-index .company-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 0; padding: 16px 0; }
 .company-logo { padding: 8px 18px; border-right: 1px solid var(--line); }
 .company-logo:nth-child(3n) { border-right: 1px solid var(--line); }
 .company-logo:nth-child(2n) { border-right: 0; }
 .company-logo img { height: 40px; }
 .company-logo.alcyone img { height: 52px; }
 .company-logo.university-idaho img { height: 72px; }
 .page-index .about-section { grid-template-columns: 1fr; gap: 12px; }
 .page-index .about-section > div:last-child { max-width: none; }
}

/* Use the original photograph. Caption stays in document flow below the photo. */
.page-index .hero-portrait {
 width: min(430px, 100%); margin: 28px 0; height: auto; aspect-ratio: auto;
 align-self: center; justify-self: end; background: none; overflow: visible;
}
.hero-photo { height: 430px; overflow: hidden; border-radius: 10px 10px 0 0; background: #d9c69f; }
.hero-photo > img { display: block; width: 100%; max-width: 100%; height: auto; }
.page-index .portrait-caption {
 display: block; position: static; max-width: none; padding: 14px 16px;
 background: #073148; border-radius: 0 0 10px 10px;
 text-shadow: none; line-height: 1.6;
}
.page-index .portrait-caption strong { font-size: 1rem; }
.page-index .portrait-caption span { font-size: .8rem; }
@media (min-width: 1800px) {
 .page-index .hero-portrait { width: 460px; }
 .hero-photo { height: 455px; }
}
@media (min-width: 601px) and (max-width: 860px) {
 .hero-photo { height: 350px; }
}
@media (max-width: 600px) {
 .page-index .hero-portrait { width: min(360px, 100%); margin: 24px 0 28px; justify-self: center; }
 .hero-photo { height: 380px; }
}

/* Extend the original portrait's golden woodland backdrop across Overview. */
.page-index .home-hero {
 color: #10243b; background-color: #f3dfb5;
 background-image: linear-gradient(90deg, rgba(255, 249, 234, .6), rgba(255, 249, 234, .12) 55%, rgba(255, 249, 234, .55) 78%, rgba(255, 249, 234, .4)), url('/assets/portrait-warm-background.webp');
 background-position: center; background-size: cover;
}
.page-index .hero-copy .eyebrow { color: #62441c; }
.page-index .hero-copy h1 span { color: #80501d; }
.page-index .hero-copy .lead { color: #233a4a; }
.page-index .hero-copy .primary { color: #fff; background: #10243b; border-color: #10243b; }
.page-index .hero-copy .primary:hover { background: #263e51; }
.page-index .hero-copy .secondary { color: #10243b; }
.page-index .hero-copy .secondary:hover { color: #80501d; }
.page-index .hero-copy a:focus-visible { outline-color: #10243b; }
.page-index .hero-meta { color: #344655; }
.page-index .portrait-caption { background: #fbf4e6; color: #10243b; }
.page-index .portrait-caption span { color: #344655; }
@media (max-width: 600px) {
 .page-index .home-hero { background-position: 35% center; background-size: auto 100%; }
}

/* Overview shares the portrait's warm palette from header through footer. */
.page-index {
 --bg: #faf6ec; --surface: #fffdf8; --line: #e3d6bb;
 --text: #172638; --muted: #4c514a; --accent: #82531f;
}
.page-index .site-header { background: #fbf7ee; border-color: var(--line); }
.page-index .brand small { color: var(--muted); }
.page-index #site-nav a:hover,
.page-index #site-nav a[aria-current] { color: var(--accent); border-color: var(--accent); }
.page-index .nav-toggle { border-color: #bbaa87; }
.page-index .career-strip .eyebrow,
.page-index .portfolio-entries .eyebrow { color: #745c37; }
.page-index .company-row { background: var(--surface); border-color: var(--line); }
.page-index .overview-card:nth-child(2) { --accent: #82531f; }
.page-index .entry-icon {
 filter: invert(34%) sepia(39%) saturate(1033%) hue-rotate(354deg) brightness(90%) contrast(87%);
}
.page-index footer { background: #302b22; border-color: #51442f; color: #fbf7ee; }
.page-index .footer-inner p,
.page-index .footer-inner small { color: #ded1b8; }
/* Keep the original photo and its scenery; extend the setting to the left. */
.page-index .home-hero {
 --portrait-width: clamp(500px, 36vw, 560px);
 position: relative; isolation: isolate;
 background: #f6ecd8 url('/assets/woodland-extension-v2.webp') center / cover no-repeat;
}
.page-index .home-hero::before {
 content: ''; position: absolute; inset: 0 auto 52px 0; z-index: 1;
 width: calc(100% - var(--portrait-width) + 100px);
 background: radial-gradient(ellipse 95% 125% at 8% 48%, rgba(240, 247, 250, .99) 0%, rgba(251, 247, 235, .98) 58%, rgba(251, 247, 235, .94) 72%, rgba(251, 247, 235, .68) 84%, rgba(251, 247, 235, .18) 96%, transparent 100%);
}
.page-index .home-hero::after {
 content: ''; position: absolute; inset: auto 0 0; height: 52px;
 background: var(--bg); z-index: -1;
}
.page-index .home-hero-inner.wrap {
 width: 100%; max-width: none; margin: 0;
 padding-left: clamp(18px, 3vw, 80px); padding-right: 0;
 grid-template-columns: minmax(0, 1fr) var(--portrait-width);
 min-height: 0; align-items: center;
}
.page-index .hero-copy { margin-bottom: 52px; padding: 48px 0; }
.page-index .hero-copy h1 { color: #172b3e; }
.page-index .hero-copy h1 span { color: #795323; }
.page-index .hero-copy .eyebrow { color: #5e4d32; }
.page-index .hero-copy .lead { color: #294353; max-width: min(650px, calc(100vw - var(--portrait-width) - 220px)); }
.page-index .hero-copy .primary { background: #17364b; border-color: #17364b; color: #fff; }
.page-index .hero-copy .primary:hover { background: #264c63; }
.page-index .hero-copy .secondary { color: #17364b; }
.page-index .hero-copy .secondary:hover { color: #795323; }
.page-index .hero-copy .linkedin-cta {
 color: #fff; border-color: #0a66c2; background: #0a66c2;
 font-size: .84rem; padding: 12px 14px;
}
.page-index .hero-copy .linkedin-cta:hover { color: #fff; border-color: #004182; background: #004182; }
.linkedin-link { display: inline-flex; align-items: center; gap: 8px; }
.linkedin-icon { display: block; flex: 0 0 20px; color: #0a66c2; }
.linkedin-cta .linkedin-icon { color: inherit; }
.icon-action { display: inline-flex; align-items: center; gap: 8px; }
.action-icon { display: block; width: 20px; height: 20px; flex: 0 0 20px; }
.action-label { min-width: 0; }
#site-nav .action-icon { width: 17px; height: 17px; flex-basis: 17px; }
#site-nav .icon-action { gap: 6px; }
.filters .icon-action { display: inline-flex; align-items: center; gap: 7px; }
.filters .action-icon { width: 18px; height: 18px; flex-basis: 18px; }
.contact-links .icon-action { align-items: flex-start; }
.contact-links .action-icon { margin-top: 3px; }
.page-index .hero-copy a:focus-visible { outline-color: #17364b; }
.page-index .hero-meta { color: #395361; }
.page-index .hero-portrait {
 width: var(--portrait-width); margin: 0; align-self: stretch; justify-self: end;
}
.page-index .hero-portrait::before {
 display: none;
}
.page-index .hero-photo {
 position: relative; z-index: 1; height: 560px; background: transparent; border-radius: 0;
 -webkit-mask-image: none; mask-image: none;
}
.page-index .hero-photo > img {
 -webkit-mask-image: url('/assets/portrait-background-blend.svg?v=2');
 mask-image: url('/assets/portrait-background-blend.svg?v=2');
 -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
 -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
.page-index .portrait-caption {
 background: var(--bg); border-radius: 0; text-align: center;
 height: 52px; padding: 2px 12px 0; color: var(--text);
}
.page-index .portrait-caption span { color: #344039; }
@media (max-width: 1100px) {
 .page-index .home-hero { background: #fbf4e6; }
 .page-index .home-hero-inner.wrap { grid-template-columns: 1fr; gap: 0; padding: 0; }
 .page-index .hero-copy { width: calc(100% - 2 * clamp(18px, 3vw, 80px)); margin: 0 auto; padding: 42px 0; max-width: 760px; }
 .page-index .hero-copy .lead { max-width: 650px; }
 .page-index .hero-copy::before {
  content: ''; position: absolute; inset: 0 auto 0 50%; width: 100vw; transform: translateX(-50%); z-index: -1;
  background: linear-gradient(rgba(240, 247, 250, .98), rgba(251, 247, 235, .96)), url('/assets/woodland-extension-v2.webp') center / cover;
 }
 .page-index .hero-copy::after {
  content: ''; position: absolute; top: 100%; left: 50%; width: 100vw; transform: translateX(-50%); height: 64px; z-index: -1;
  background: linear-gradient(#fcf7eb, #fbf4e6);
 }
 .page-index .hero-portrait { width: min(560px, 100%); margin-top: 64px; }
 .page-index .hero-portrait::before { display: none; }
 .page-index .hero-photo { height: auto; aspect-ratio: 1; }
 .page-index .hero-photo > img { -webkit-mask-image: none; mask-image: none; }
 .page-index .home-hero::before { display: none; }
 .page-index .hero-photo {
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 3%);
  mask-image: linear-gradient(180deg, transparent, #000 3%);
 }
}
@media (max-width: 860px) {
 .page-index #site-nav { background: #fbf7ee; border-color: var(--line); }
}

/* Hosted simulation video: keep the scientific frame visible at every width. */
.simulation-media{margin-top:auto;aspect-ratio:16/9;background:#081126}
.simulation-media video{display:block;width:100%;height:100%;object-fit:contain}
.card-copy .study-note{font-size:.78rem;line-height:1.6;color:var(--muted);margin-bottom:20px}
#battery-module-series{scroll-margin-top:100px}

/* Technical study details remain readable below the video. */
.study-details{border-top:1px solid var(--line);padding:0 26px;font-size:.9rem;line-height:1.65}
.study-details summary{cursor:pointer;color:var(--accent);padding:17px 0;font-weight:500;min-height:44px}
.study-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.study-details-body{padding:4px 0 8px}
.study-details-body p{font-size:.9rem;margin:0 0 18px}
.study-details-body ul{padding-left:22px;margin:0 0 18px}
.study-details-body li+li{margin-top:8px}
.simulation-grid:has(.study-details[open]){align-items:start}

/* Independent studies: shared video cards, long-form details and direct routes. */
#wisk-experience,#aircraft-tr-plume,.experience-studies{scroll-margin-top:110px}
.experience-studies{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.experience-studies>.simulation-grid{margin-top:24px}
.experience-studies .simulation-card{min-width:0}
.experience-studies .card-copy h2{font-size:1.3rem;line-height:1.3}
.study-details .less-label{display:none}
.study-details[open] .more-label{display:none}
.study-details[open] .less-label{display:inline}
.study-details-body h2{font-size:1.3rem;line-height:1.35;margin:30px 0 14px}
.study-details-body h2:first-child{margin-top:10px}
.study-details-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.study-details-body code{overflow-wrap:anywhere;font-size:.86em}
.table-scroll{overflow-x:auto;margin-bottom:22px}
.case-table{border-collapse:collapse;width:100%;font-size:.85rem;line-height:1.55}
.case-table caption{text-align:left;color:var(--muted);padding:0 0 12px}
.case-table th,.case-table td{padding:12px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.case-table th{font-weight:600}
.case-table tbody th{width:32%}
.case-figure{margin:24px 0}
.case-figure img{display:block;max-width:100%;height:auto;background:white}
.case-figure figcaption{font-size:.8rem;color:var(--muted);margin-top:10px}
.case-study{max-width:1040px;padding-bottom:64px}
.case-study>.simulation-media{margin:24px 0 18px;background:white}
.case-study>.study-details{padding:0 0 12px;margin-top:28px;border-bottom:1px solid var(--line)}
.case-study>.actions{margin-top:28px}
.simulation-card .card-bottom{flex-wrap:wrap;gap:12px}
@media(max-width:680px){
 .experience-studies .simulation-grid{grid-template-columns:1fr}
 .study-details{padding-left:18px;padding-right:18px}
 .case-table th,.case-table td{padding:10px 6px;font-size:.8rem;overflow-wrap:anywhere}
 .case-study>.actions{align-items:stretch;flex-direction:column}
}

/* Compact overview actions keep four clear destinations together. */
.page-index .hero-copy .actions{gap:10px}
.page-index .hero-copy .button{width:auto;min-height:44px;padding:10px 12px;gap:7px;font-size:.8rem;white-space:nowrap}
.page-index .hero-copy .button .action-icon,.page-index .hero-copy .button .linkedin-icon{width:17px;height:17px}
/* Match each action to its destination while retaining readable text. */
.page-index .hero-copy .simulation-cta{--cta-focus:#087987;color:#fff;background:#087987;border:1px solid #087987}
.page-index .hero-copy .simulation-cta:hover{color:#fff;background:#06646f;border-color:#06646f;filter:none}
.page-index .hero-copy .experience-cta{--cta-focus:#235f86;color:#235f86;background:#e7f0f6;border:1px solid #235f86}
.page-index .hero-copy .experience-cta:hover{color:#173f5a;background:#d5e6f1;border-color:#173f5a}
.page-index .hero-copy .linkedin-cta{--cta-focus:#0a66c2}
.page-index .hero-copy .scholar-cta{--cta-focus:#1a73e8;color:#174ea6;background:#e8f0fe;border:1px solid #4285f4;border-radius:4px}
.page-index .hero-copy .scholar-cta .action-icon{color:#4285f4}
.page-index .hero-copy .scholar-cta:hover{color:#174ea6;background:#d2e3fc;border-color:#1a73e8}
.page-index .hero-copy .scholar-cta:hover .action-icon{color:#1a73e8}
.page-index .hero-copy .button:focus-visible{outline:3px solid var(--cta-focus);outline-offset:4px}
.page-index .portrait-caption{height:auto;min-height:52px}
.page-index .portrait-caption span{max-width:100%;line-height:1.4}

/* Individual logo actions and previews sourced from the Experience page. */
.company-strip-hint{font-size:.85rem;margin:0 0 18px}
.page-index .company-logo.wisk-boeing{gap:4px}
.page-index .company-logo.wisk-boeing > img{width:min(160px,100%);height:40px;object-fit:contain}
.company-logo-relationship{font-size:.7rem;color:#5b5040;line-height:1.3;text-align:center}
.midnight-study{padding-bottom:64px}
.midnight-technical{max-width:100%;overflow-wrap:anywhere}
.midnight-technical h2{margin:42px 0 16px;font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.25}
.midnight-technical p,.midnight-technical li{line-height:1.8}
.study-toc{display:flex;flex-wrap:wrap;gap:10px 22px;padding:20px 0;margin:24px 0;border-block:1px solid var(--line)}
.study-toc a{font-size:.85rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.study-table{max-width:100%;overflow-x:auto;margin:24px 0}
.study-table table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}
.study-table th,.study-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.study-table th{background:var(--surface);font-weight:700}
.study-figure{margin:28px 0}
.study-figure img{display:block;width:100%;max-height:780px;object-fit:contain;background:#edf2f5;border:1px solid var(--line);border-radius:8px}
.study-figure figcaption{font-size:.82rem;color:var(--muted);line-height:1.6;margin-top:10px}
.midnight-technical section{scroll-margin-top:110px}
.page-index .career-strip>.eyebrow{margin-bottom:8px}
.page-index .company-row{gap:12px;padding:0;border:0;background:transparent}
.page-index .company-logo{flex-direction:column;gap:10px;padding:16px 12px 12px;min-height:116px;background:var(--surface);border:1px solid #d4c09b;border-radius:8px;box-shadow:0 2px 5px rgba(48,43,34,.04);transition:transform .15s,box-shadow .15s,border-color .15s}
.page-index .company-logo:hover{border-color:#82531f;box-shadow:0 6px 16px rgba(48,43,34,.12);transform:translateY(-2px)}
.page-index .company-logo:focus-visible{outline:3px solid #82531f;outline-offset:4px}
.page-index .company-logo img{height:54px;max-width:160px}
.page-index .company-logo.university-idaho img{width:100px}
.page-index .company-logo .company-logo-action{border:0;padding:0;color:#74501f;font-size:.72rem;font-weight:600;display:flex;gap:8px;align-items:center}
.company-modal-open{overflow:hidden}
.company-dialog{--bg:#f1f6fa;--surface:#fff;--line:#cadbe6;--text:#10243b;--muted:#46617a;--accent:#235f86;width:min(1080px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);box-shadow:0 20px 70px rgba(12,32,49,.3);overflow:auto;overscroll-behavior:contain}
.company-dialog::backdrop{background:rgba(12,29,43,.6);backdrop-filter:blur(4px)}
.company-dialog-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;background:#e3eef4;border-bottom:1px solid var(--line)}
.company-dialog-toolbar .eyebrow{font-size:.62rem;margin:0 0 6px}
.company-dialog-toolbar h2{font-size:1.35rem;line-height:1.35;margin:0}
.company-dialog-close,.company-dialog-retry{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 14px;color:var(--accent);border:1px solid var(--accent);border-radius:6px;background:#fff;font-size:.85rem;font-weight:600}
.company-dialog-close:hover,.company-dialog-retry:hover{background:#d5e6f1}
.company-dialog-close span{font-size:1.4rem;line-height:1}
.company-dialog .company-experience{padding:24px 28px 32px;border:0}
.company-dialog .company-heading{margin-bottom:18px}
.company-dialog .experience-logos{margin-bottom:0}
.company-dialog .company-demos{margin:0 0 30px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.company-dialog .company-demos-body{padding-top:10px}
.company-dialog .company-dialog-work{margin-bottom:18px}
.company-dialog .company-position{margin-top:0}
.company-dialog .company-position+.company-position{margin-top:28px}
.company-dialog-status{padding:28px;margin:0}
.page-index .company-dialog-footer{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px;background:#e3eef4;color:var(--text);border-top:1px solid var(--line)}
.company-dialog-footer .text-link{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:860px){.page-index .company-row{gap:12px}}
@media(max-width:600px){
 .page-index .company-row{gap:12px;padding:0}
 .page-index .company-logo{padding:14px 10px 12px;min-height:112px}
 .page-index .company-logo img,.page-index .company-logo.university-idaho img{height:54px}
 .page-index .company-logo-relationship{font-size:clamp(.5rem,2.4vw,.62rem);letter-spacing:0;white-space:nowrap}
 .company-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:10px}
 .company-dialog-toolbar{padding:14px 16px;gap:12px}
 .company-dialog-toolbar h2{font-size:1.13rem}
 .company-dialog-close{padding:8px 10px}
 .company-dialog .company-experience{padding:22px 16px 26px}
 .page-index .company-dialog-footer{padding:10px 16px;flex-wrap:wrap;gap:6px 12px}
 .company-dialog .company-demo-grid,.company-dialog .position-work{grid-template-columns:1fr}
 .company-dialog .experience-logos{gap:20px}
 .company-dialog .experience-logos img{max-width:140px;max-height:54px}
 .company-dialog-status{padding:22px 16px}
}

/* Company-first experience: identity, roles, work, then optional videos. */
.page-experience .page-intro{margin-bottom:0;padding-bottom:32px}
.experience-content{max-width:1040px;padding-bottom:70px}
.company-jump{display:flex;flex-wrap:wrap;gap:8px 24px;padding:22px 0;border-block:1px solid var(--line)}
.company-jump a{font-size:.85rem;color:var(--accent);min-height:44px;display:flex;align-items:center}
.company-jump a:hover{text-decoration:underline;text-underline-offset:5px}
.experience-hint{font-size:.85rem;margin:20px 0 0}
.company-experience{padding:44px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.company-heading{margin-bottom:28px}
.experience-logos{display:flex;align-items:center;gap:30px;margin-bottom:20px;min-height:64px}
.experience-logos img{width:auto;max-width:180px;max-height:64px;object-fit:contain}
.company-heading h2{font-size:1.5rem;margin-bottom:8px}
.company-heading>p{font-size:.85rem;margin-bottom:0}
.company-position+.company-position{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.company-position h3{font-size:1.2rem;line-height:1.35;margin-bottom:8px}
.position-meta{font-size:.82rem;margin-bottom:22px;color:var(--accent)}
.position-work{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.position-work h4{font-size:.9rem;line-height:1.4;margin-bottom:8px}
.position-work p{font-size:.9rem;line-height:1.7;margin-bottom:0}
.company-demos{margin-top:24px}
.company-demos summary,.experience-extra summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--accent);font-size:.9rem;font-weight:600;width:fit-content}
.company-demos summary:focus-visible,.experience-extra summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.demo-count{margin-left:12px;font-size:.75rem;font-weight:400;color:var(--muted)}
.demos-open,.company-demos[open] .demos-closed{display:none}
.company-demos[open] .demos-open{display:inline}
.company-demos-body{padding-top:14px}
.demo-context{font-size:.78rem;max-width:760px;margin-bottom:22px}
.company-demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.company-demo{min-width:0}
.company-demo h4{font-size:1.05rem;line-height:1.4;margin-bottom:8px}
.company-demo>p{font-size:.85rem;margin-bottom:16px}
.company-demo .simulation-media,.company-demo .embed-shell{margin:0 0 14px;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.company-demo .embed-shell,.company-demo .embed-shell iframe{height:360px;min-height:360px;width:100%;border:0;background:var(--surface)}
.company-demo .text-link{display:inline-flex;align-items:center;min-height:44px}
.all-demos,.company-research{display:inline-block;margin-top:16px;min-height:44px;align-content:center}
.experience-extra{border-bottom:1px solid var(--line);padding:18px 0}
.experience-extra>.two-grid,.experience-extra>.three-grid{padding-top:24px}
.company-research-group{margin-top:12px}
.company-research-group summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--accent);font-size:.9rem;font-weight:600;width:fit-content}
.company-research-group summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.research-open,.company-research-group[open] .research-closed{display:none}
.company-research-group[open] .research-open{display:inline}
.company-research-body{padding-top:14px}
.research-list{border-top:1px solid var(--line)}
.research-item{padding:22px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px;min-width:0}
.research-item .eyebrow{margin-bottom:10px;font-size:.65rem}
.research-item h4{font-size:1.02rem;line-height:1.45;letter-spacing:-.015em;max-width:850px;margin-bottom:10px}
.research-meta{font-size:.8rem;line-height:1.6;margin-bottom:5px}
.research-item .paper-links{margin-top:10px;gap:10px 22px}
.research-item .paper-links a{font-size:.8rem}
.paper[id]{scroll-margin-top:110px}
.ip-list{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.company-position:last-child .position-meta{margin-bottom:0}
@media(max-width:600px){
 .company-experience{padding:32px 0}
 .position-work,.company-demo-grid{grid-template-columns:1fr;gap:22px}
 .company-jump{gap:4px 18px}
 .experience-logos{gap:24px}
 .experience-logos img{max-width:140px;max-height:54px}
 .company-position h3{font-size:1.15rem}
 .company-demo .embed-shell,.company-demo .embed-shell iframe{height:340px;min-height:340px}
 .ip-list{grid-template-columns:1fr}
 .company-research-group summary{max-width:100%;line-height:1.6}
 .company-research-group .demo-count{display:inline-block;margin-left:8px}
}

/* Original research figures and published application drawings. */
.publication-ip{padding-top:8px}
.ip-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px}
.ip-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;scroll-margin-top:100px}
.publication-figure{margin:0;min-width:0}
.figure-preview{display:block;position:relative;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;color:var(--accent)}
.figure-preview img{width:100%;height:245px;display:block;object-fit:contain;padding:18px;background:#fff;transition:opacity .2s}
.figure-preview span{display:block;text-align:right;padding:5px 12px 8px;font-size:.65rem;background:#f5f1e8;border-top:1px solid var(--line)}
.figure-preview:hover{border-color:var(--accent)}
.figure-preview:hover img{opacity:.87}
.publication-figure figcaption{padding:12px 0;font-size:.68rem;line-height:1.6;color:var(--muted)}
.publication-figure figcaption strong{font-weight:600;color:var(--text)}
.figure-credit{display:flex;flex-wrap:wrap;gap:2px 15px;margin-top:5px;font-size:.6rem}
.figure-credit a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;min-height:28px;display:inline-flex;align-items:center}
.figure-credit>span{display:inline-flex;align-items:center}
.ip-card .figure-preview{border:0;border-bottom:1px solid var(--line);border-radius:0}
.ip-card .figure-preview img{height:280px;padding:20px}
.ip-card figcaption{padding:13px 25px;border-bottom:1px solid var(--line)}
.ip-copy{padding:24px 25px 27px}
.ip-copy h3,.ip-copy h4{font-size:1.3rem;line-height:1.4;letter-spacing:-.02em;margin-bottom:14px}
.ip-copy .research-meta{font-size:.76rem;line-height:1.6;margin-bottom:8px}
.publication-code{display:inline-block;background:#f0e7d8;color:#76431e;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.83rem;border-radius:3px;margin-bottom:16px;overflow-wrap:anywhere}
.ip-copy .paper-links{margin-top:12px;gap:10px 20px;font-size:.76rem}
.research-item .ip-copy{padding:0}
.research-item .publication-code{font-size:.72rem;margin-bottom:10px}
.disclosure-heading{margin-top:55px;max-width:820px}
.disclosure-heading h3{font-size:1.8rem;margin-bottom:15px}
.disclosure-showcase .figure-preview img{height:230px}
.publication-library{padding-bottom:70px}
.publication-group{margin-top:45px;scroll-margin-top:100px}
.publication-group .section-heading{margin-bottom:22px}
.paper.illustrated-paper{grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:35px;align-items:start}
.paper.text-paper{grid-template-columns:1fr}
.paper h3{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.35;letter-spacing:-.02em;margin-bottom:12px}
.paper-copy{min-width:0}
.paper-copy .paper-year{font-size:inherit;padding:0}
.paper-copy .paper-links{gap:8px 22px;font-size:.78rem}
@media(max-width:850px){.paper.illustrated-paper{grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:25px}.ip-copy{padding:20px}.ip-card figcaption{padding-inline:20px}}
@media(max-width:650px){.ip-showcase{grid-template-columns:1fr;gap:22px}.paper.illustrated-paper{grid-template-columns:1fr;gap:18px}.figure-preview img{height:235px}.ip-card .figure-preview img{height:255px}.paper h3{font-size:1.25rem}.publication-ip{padding-top:5px}.disclosure-heading{margin-top:35px}.publication-group{margin-top:35px}.publication-code{font-size:.8rem}}
.page-publications .page-intro .scholar-cta{color:#174ea6;background:#e8f0fe;border:1px solid #4285f4;border-radius:4px}
.page-publications .page-intro .scholar-cta .action-icon{color:#4285f4}
.page-publications .page-intro .scholar-cta:hover{background:#d2e3fc;border-color:#1a73e8}
.page-publications .page-intro .scholar-cta:focus-visible{outline-color:#1a73e8}

/* Scholar shares the portfolio typography, with Google's research blue. */
.scholar-section{padding-top:64px;padding-bottom:64px;scroll-margin-top:100px;border-top:1px solid #d8dfe8;color:#172d4b}
.scholar-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:16px}.scholar-heading h2{margin:0}.scholar-heading .eyebrow{color:#37629b}.scholar-heading .actions{margin:0;flex-wrap:wrap}
.scholar-section .scholar-follow{background:#1a5cc0;color:#fff;border:1px solid #1a5cc0;box-shadow:none}.scholar-section .scholar-follow:hover{background:#174ea6;border-color:#174ea6;color:#fff}.scholar-section .scholar-follow:focus-visible{outline:3px solid #4285f4;outline-offset:4px}.scholar-section .text-link{color:#245aa5}.scholar-follow-hint{margin:0 0 26px;font-size:.9rem}
.scholar-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.scholar-metric{background:#f2f6fd;border:1px solid #d7e2f3;border-radius:16px;padding:24px 28px}.scholar-metric h3{font-size:1rem;color:#35567f;margin:0 0 10px}.scholar-metric>div{display:flex;align-items:baseline;gap:12px}.scholar-metric>div>strong{font-size:clamp(2.3rem,4vw,3.6rem);font-weight:650;letter-spacing:-.045em;line-height:1.15;color:#1a5cc0}.scholar-metric span{font-size:.85rem;color:#4c6381}.scholar-metric p{display:flex;gap:10px;align-items:baseline;margin:16px 0 0;padding-top:14px;border-top:1px solid #d8e3f4}.scholar-metric p strong{font-size:1.2rem;color:#284c79}
.scholar-details{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:24px;margin-top:24px}.scholar-chart-card,.scholar-access{background:#fff;border:1px solid #d8dfe8;border-radius:16px;padding:26px;min-width:0}.scholar-chart-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.scholar-chart-heading h3,.scholar-access h3{font-size:1.25rem;margin:0}.scholar-periods{display:flex;gap:4px;background:#f0f4fa;border-radius:9px;padding:4px}.scholar-periods button{border:0;border-radius:6px;background:transparent;color:#3b577b;padding:8px 10px;font:inherit;font-size:.8rem;cursor:pointer}.scholar-periods button[aria-pressed=true]{background:#1a5cc0;color:#fff}.scholar-periods button:focus-visible,.scholar-bar:focus-visible{outline:3px solid #4285f4;outline-offset:3px}
.scholar-chart-scroll{overflow-x:auto;margin-top:22px;padding:6px 4px 0}.scholar-chart{display:flex;align-items:end;gap:10px;list-style:none;margin:0;padding:0;min-width:480px;height:220px}.scholar-chart li{flex:1;min-width:30px;height:100%}.scholar-bar{display:grid;grid-template-rows:24px minmax(0,1fr) 27px;align-items:end;justify-items:center;border:0;background:transparent;color:#35567f;padding:0;width:100%;height:100%;font:inherit;cursor:pointer}.scholar-bar-count{font-size:.8rem;align-self:start}.scholar-bar-fill{display:block;width:min(100%,38px);height:var(--bar-height);background:#4285f4;border-radius:4px 4px 0 0;transition:background .15s}.scholar-bar:hover .scholar-bar-fill,.scholar-bar[aria-pressed=true] .scholar-bar-fill{background:#174ea6}.scholar-bar-year{font-size:.75rem;align-self:end}.scholar-chart-card [role=status]{min-height:2.5em;font-size:.8rem;margin:18px 0 0}
.scholar-access .eyebrow{color:#37629b}.scholar-access-counts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}.scholar-access-counts div{display:flex;flex-direction:column;gap:5px}.scholar-access-counts strong{font-size:2.6rem;line-height:1.15;color:#287445}.scholar-access-counts div+div strong{color:#946213}.scholar-access-counts span{font-size:.85rem}.scholar-access-bar{height:9px;background:#e6b86b;border-radius:9px;overflow:hidden;margin:20px 0}.scholar-access-bar span{display:block;height:100%;background:#3e965e}.scholar-access .quiet{font-size:.85rem}.scholar-access .text-link{font-size:.85rem}
.scholar-coauthors{margin-top:36px}.scholar-coauthors h3{font-size:1.25rem;margin-bottom:18px}.scholar-coauthors ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;list-style:none;padding:0;margin:0}.scholar-coauthors li{min-width:0;border-top:1px solid #d8dfe8}.scholar-coauthors a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;padding:16px 0;text-decoration:none;color:#254e85;overflow-wrap:anywhere}.scholar-coauthors strong{font-size:.94rem;grid-column:1}.scholar-coauthors a>span:not(.coauthor-arrow){font-size:.8rem;line-height:1.5;color:#58677a;grid-column:1}.scholar-coauthors .coauthor-arrow{grid-column:2;grid-row:1/3;align-self:center}.scholar-coauthors a:hover strong{text-decoration:underline}.scholar-freshness{font-size:.8rem;color:#64718a;margin:26px 0 0}.scholar-citation{color:#245aa5!important}
.scholar-compact .scholar-metrics{max-width:100%}.scholar-compact .scholar-metric{background:#f4f7fc}.scholar-compact .scholar-heading h2{font-size:clamp(1.8rem,3vw,2.8rem)}
@media(max-width:850px){.scholar-heading{align-items:flex-start;flex-direction:column;gap:20px}.scholar-details{grid-template-columns:1fr}.scholar-metric{padding:20px}.scholar-chart-heading{flex-wrap:wrap;gap:14px}}
@media(max-width:550px){.scholar-section{padding-top:40px;padding-bottom:40px}.scholar-metrics{gap:8px}.scholar-metric{padding:16px 10px;border-radius:10px}.scholar-metric h3{font-size:.85rem}.scholar-metric>div{flex-direction:column;gap:5px}.scholar-metric>div>strong{font-size:2rem}.scholar-metric span{font-size:.7rem}.scholar-metric p{flex-direction:column;gap:3px;margin-top:12px;padding-top:10px}.scholar-metric p strong{font-size:1rem}.scholar-coauthors ul{grid-template-columns:1fr}.scholar-chart-card,.scholar-access{padding:20px}.scholar-heading .actions{gap:14px}.scholar-heading .text-link{font-size:.85rem}}

/* Analysis & modeling: a quiet reading surface, method filters, and source context. */
.page-simulations{--bg:#f5f8f9;--surface:#fff;--line:#d5e0e4;--accent:#116d79;--muted:#4b6374}
.page-simulations .page-intro{background:#e4f0f2;color:var(--text);padding:48px 0 44px;margin-bottom:0;border-bottom:1px solid var(--line)}.page-simulations .page-intro .eyebrow{color:#287080}.page-simulations .page-intro h1{font-size:clamp(2.5rem,4.4vw,3.9rem);max-width:1000px;margin-bottom:18px}.page-simulations .page-intro .lead{color:#3c5b6e;max-width:750px}.page-simulations .page-intro .actions{margin-top:24px;gap:24px}
.page-simulations .gallery-section{padding-top:42px;padding-bottom:52px;scroll-margin-top:100px}.analysis-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.analysis-section-heading .eyebrow{margin-bottom:10px}.analysis-section-heading h2{font-size:1.7rem;margin:0}.analysis-section-heading>p{font-size:.85rem;max-width:300px;margin:0}.analysis-controls{display:flex;align-items:center;justify-content:space-between;gap:24px}.analysis-method-filter{display:flex;flex-wrap:wrap;gap:6px}.analysis-method-filter button{padding:10px 15px;background:transparent;border:1px solid transparent;border-radius:6px;color:#3c596d;font-size:.85rem;min-height:44px}.analysis-method-filter button:hover{background:#e8f0f2}.analysis-method-filter button[aria-pressed=true]{color:#fff;background:#116d79;border-color:#116d79}.analysis-company-filter{display:flex;gap:10px;align-items:center;font-size:.75rem;color:var(--muted)}.analysis-company-filter select{min-height:44px;background:#fff;color:#25495e;border:1px solid var(--line);border-radius:6px;padding:8px 30px 8px 12px;max-width:255px;font-size:.8rem}.analysis-gallery-note{font-size:.78rem;max-width:850px;margin:18px 0 8px}.page-simulations [data-analysis-status]{margin:0}
.page-simulations .simulation-grid{gap:24px;margin-top:24px;align-items:start}.page-simulations .simulation-card{border:1px solid var(--line);border-radius:10px;min-width:0;box-shadow:none}.page-simulations .card-copy{padding:24px}.page-simulations .card-copy .eyebrow{font-size:.64rem;letter-spacing:.12em;margin-bottom:12px}.page-simulations .card-copy h2{font-size:1.45rem;line-height:1.24;margin-bottom:12px}.page-simulations .card-copy>p:not(.eyebrow){font-size:.88rem;line-height:1.6;margin-bottom:16px}.analysis-tools{display:flex;flex-wrap:wrap;gap:9px 16px;margin:18px 0 10px;align-items:center}.analysis-tools a{display:inline-flex;gap:7px;align-items:center;min-height:30px;color:#254b61;font-size:.76rem;font-weight:600}.analysis-tools a:hover span{text-decoration:underline;text-underline-offset:4px}.analysis-tools img{max-width:48px;height:20px;object-fit:contain}.analysis-tools img[src*="openfoam"]{max-width:85px;height:17px}.page-simulations .analysis-keywords{font-size:.73rem!important;line-height:1.5!important;color:#587283;margin:0 0 16px!important}.page-simulations .card-copy .study-note{font-size:.72rem!important;line-height:1.55!important;border:0;margin:0!important;padding:0;background:none;color:#5a6c78}
.analysis-context{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding-top:14px;margin-top:14px;border-top:1px solid #e2eaed}.analysis-context>span{font-size:.65rem;color:#667c8b}.analysis-company{display:inline-flex;align-items:center;justify-content:center;min-height:36px;max-width:140px;gap:8px;padding:4px 6px;border-radius:4px}.analysis-company:hover{background:#e8f0f2}.analysis-company img{height:24px;max-width:106px;object-fit:contain}.analysis-company img[src*="wisk"]{height:19px}.analysis-company img[src*="khani-solutions"]{height:30px}.analysis-company>span:not(.sr-only){font-size:.75rem}.page-simulations .simulation-card .card-bottom{padding:16px 24px;border-top:1px solid #e2eaed;gap:10px 20px}.page-simulations .card-bottom a{font-size:.8rem}.page-simulations .card-bottom small{font-size:.68rem}.page-simulations .simulation-media{background:#f0f4f5}.page-simulations .simulation-media video{aspect-ratio:16/9;object-fit:contain;max-height:none}.page-simulations .study-details{margin:0;border-top:1px solid var(--line);border-bottom:0;background:#fff}.page-simulations .study-details>summary{font-size:.78rem;padding:15px 24px}.page-simulations .study-details-body{padding:20px 24px}.analysis-video{border-top:1px solid #e2eaed}.analysis-video>summary{display:flex;justify-content:space-between;gap:20px;list-style:none;padding:16px 24px;cursor:pointer;color:#116d79;font-size:.83rem;font-weight:600;min-height:48px}.analysis-video>summary::-webkit-details-marker{display:none}.analysis-video>summary:hover{background:#f0f6f7}.analysis-video[open]>summary span{transform:rotate(45deg)}.analysis-video .embed-shell{min-height:0}.analysis-video iframe{height:400px}.analysis-video>summary:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}.analysis-summary .card-copy .quiet{font-size:.72rem!important;margin-top:12px;margin-bottom:0!important}.analysis-status{color:#316674!important;font-size:.76rem!important;border-left:2px solid #75a7ae;padding-left:12px}.analysis-research-image{display:block;background:#fff;padding:0 24px 20px}.analysis-research-image img{width:100%;height:250px;object-fit:contain}.analysis-research-image:hover{background:#f5f9fa}.analysis-empty{padding:40px 24px;text-align:center;border-top:1px solid var(--line);margin-top:24px}.analysis-empty h3{font-size:1.35rem}
.analysis-software-section{border-top:1px solid var(--line);padding-top:44px;padding-bottom:64px;scroll-margin-top:100px}.analysis-software-section .section-heading{margin-bottom:28px}.analysis-software-section h2{font-size:1.9rem;margin-bottom:12px}.analysis-software-section .section-heading>p{font-size:.85rem}.analysis-software-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.analysis-software{min-width:0;padding-top:20px;border-top:1px solid var(--line)}.software-heading{display:flex;gap:16px;align-items:center;margin-bottom:18px;min-height:40px}.software-heading a{display:flex;align-items:center;justify-content:center;min-height:40px}.software-heading img{width:64px;height:32px;object-fit:contain}.software-heading img[src*="openfoam"]{width:106px;height:32px}.software-heading img[src*="freecad"],.software-heading img[src*="python"],.software-heading img[src*="dassault"]{width:36px;height:36px}.software-heading h3{font-size:1.04rem;letter-spacing:-.02em;margin:0}.analysis-software p{font-size:.82rem;line-height:1.6;margin-bottom:12px}.analysis-software .software-keywords{font-size:.77rem;font-weight:600;color:#285c6d}.analysis-software .analysis-context{padding-top:10px;margin-top:16px}.analysis-software .analysis-company img{max-width:85px;height:21px}
@media(max-width:1050px){.analysis-controls{align-items:flex-start;flex-direction:column;gap:14px}.analysis-software-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.page-simulations .page-intro{padding:36px 0 32px}.page-simulations .page-intro h1{font-size:2.5rem}.analysis-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.analysis-section-heading>p{max-width:none}.analysis-method-filter{gap:4px}.analysis-method-filter button{padding:9px 11px;font-size:.77rem}.analysis-company-filter{flex-wrap:wrap}.analysis-company-filter select{max-width:100%}.page-simulations .simulation-grid{grid-template-columns:1fr}.page-simulations .card-copy{padding:22px}.analysis-software-grid{grid-template-columns:1fr;gap:24px}.analysis-software-section{padding-top:36px;padding-bottom:44px}.analysis-research-image img{height:auto;max-height:300px}.analysis-video iframe{height:350px}.page-simulations .card-copy h2{font-size:1.35rem}}
/* Square source SVGs include generous whitespace around the wordmarks. */
.software-heading img[src*="ansys"],.software-heading img[src*="siemens"]{width:108px;height:30px;object-fit:cover;max-width:none}.analysis-tools img[src*="ansys"]{width:48px;height:16px;object-fit:cover}.analysis-context a[data-company-preview]{border:1px solid transparent}.analysis-context a[data-company-preview]:hover{border-color:#a8c5cc}.analysis-context a[data-company-preview]:focus-visible{outline-offset:1px}

/* Portfolio evidence entry and room for the automation navigation item. */
.automation-teaser { margin-block: 8px 36px; }
.automation-teaser > a { display:grid; grid-template-columns:1fr 360px; gap:30px; align-items:center; background:#fff; border:1px solid #d4e6e9; border-radius:12px; overflow:hidden; padding:0 0 0 30px; }
.automation-teaser h2 { font-size:clamp(1.45rem,2.4vw,2rem); margin:0 0 12px; }
.automation-teaser p { font-size:.8rem; margin-bottom:12px; }
.automation-teaser .eyebrow { color:#17685f; font-size:.65rem; margin-bottom:12px; }
.automation-teaser img { width:100%; height:auto; object-fit:contain; }
.automation-teaser .text-link { color:#17685f; }
.automation-teaser > a:hover { border-color:#17685f; }
@media(min-width:1181px){#site-nav{gap:18px;font-size:.78rem}}
@media(max-width:1180px){.nav-toggle{display:inline-flex}#site-nav{display:none;position:absolute;top:74px;left:0;right:0;padding:18px 28px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}#site-nav.is-open{display:flex}#site-nav a{min-height:44px}.page-index #site-nav{background:#fbf7ee}}
@media(max-width:600px){.automation-teaser>a{grid-template-columns:1fr;padding:0;gap:0}.automation-teaser>a>div{padding:25px}.automation-teaser img{height:auto}.automation-teaser h2{font-size:1.55rem}}

@media(min-width:601px) and (max-width:900px){.automation-teaser>a{grid-template-columns:1fr 42%;gap:20px;padding-left:24px}.automation-teaser h2{font-size:1.35rem}}

/* Independent rocket study: square native film and readable technical detail. */
.engineering-technical{max-width:100%;overflow-wrap:anywhere}.engineering-technical h2{margin:42px 0 16px;font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.25}.engineering-technical p,.engineering-technical li{line-height:1.8}.engineering-technical section{scroll-margin-top:110px}
.rocket-case>.rocket-media{max-width:720px;margin:24px auto;aspect-ratio:1;background:#050f17}.rocket-demo .rocket-media,.page-simulations .rocket-demo .rocket-media{aspect-ratio:1;background:#050f17}.rocket-demo .rocket-media video,.page-simulations .rocket-demo .rocket-media video{aspect-ratio:1;object-fit:contain}
.equation-block{background:#eff5f6;border-left:3px solid #167b88;padding:18px 22px;margin:22px 0;line-height:2;overflow-x:auto;font-family:monospace;font-size:.92rem}
.rocket-connections{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:28px 0}.rocket-connections a{background:#eff5f6;border:1px solid #cfdde1;padding:16px 12px;text-decoration:none;font-size:.8rem}.rocket-connections strong,.rocket-connections span{display:block}.rocket-connections span{margin-top:10px;line-height:1.6;color:#4c6572}.rocket-connections a:hover{border-color:#167b88;background:#e1eff1}
@media(max-width:720px){.rocket-connections{grid-template-columns:1fr 1fr}.rocket-case>.rocket-media{max-width:100%}.equation-block{font-size:.8rem;padding:14px}.engineering-technical h2{margin-top:32px}}
@media(prefers-reduced-motion:reduce){.rocket-demo video,.rocket-case video{scroll-behavior:auto}}

/* Crisp, selectable branding leads; the engineering tagline stays secondary. */
.page-index .hero-copy h1.hero-wordmark{display:block;width:auto;max-width:100%;margin:0 0 9px;font-size:clamp(2.4rem,4.8vw,4.2rem);font-weight:400;line-height:1.12;letter-spacing:.015em;text-transform:uppercase;white-space:nowrap;color:#172b3e}
.page-index .hero-copy .hero-tagline{margin:0 0 28px;font-size:clamp(1rem,1.5vw,1.2rem);font-weight:400;line-height:1.55;letter-spacing:.005em;color:#715e43}
@media(max-width:600px){.page-index .hero-copy h1.hero-wordmark{font-size:clamp(1.65rem,8.7vw,2.6rem)}.page-index .hero-copy .hero-tagline{font-size:.98rem;margin-bottom:24px}}
