/* A personal introduction grounded in the owner's engineering career. */
.linkedin-banner{margin:24px 0 0;width:100%}
.linkedin-banner img{display:block;width:100%;height:auto;object-fit:contain}
.hero .hero-content.banner-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;padding:32px 0 38px;align-items:center;min-height:0}
.banner-intro .hero-copy{padding:0}
.hero .banner-intro h1{font-size:clamp(46px,4.8vw,72px);line-height:1.1;margin:0 0 14px;width:100%}
.banner-intro .hero-copy .hero-role{font-size:21px;margin:0 0 10px}
.hero-experience{display:block;font-size:13px;line-height:1.6;color:var(--muted)}
.hero-summary>p{font-size:17px;line-height:1.75;color:var(--muted);margin:0 0 22px;max-width:610px}
.banner-intro .hero-actions{gap:16px}.banner-intro .hero-actions .pill{gap:24px}
.hero-content{grid-template-columns:minmax(0,1fr) minmax(300px,440px);gap:8%;min-height:0;padding:46px 0}
.hero-copy{padding:20px 0;pointer-events:auto}
.hero h1{font-size:clamp(72px,7.3vw,112px);width:100%;line-height:.98;letter-spacing:-.055em;margin-bottom:25px}
.hero-copy p{max-width:480px;font-size:17px;line-height:1.75;margin:0 0 27px}
.hero-copy .hero-role{font-size:23px;font-weight:500;line-height:1.4;letter-spacing:-.4px;color:var(--ink);margin:0 0 17px}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero-actions .pill{gap:30px}.hero-actions .text-link{font-size:13px;gap:12px}
.hero-profile{margin:0;max-width:440px;width:100%;justify-self:end;animation:appear .7s ease both}
.hero-profile>img{display:block;width:100%;height:auto;aspect-ratio:4/4.8;object-fit:cover;object-position:center 28%;border-radius:3px 3px 0 0}
.hero-profile figcaption{padding:19px 21px;border:1px solid var(--line);border-top:0;background:var(--panel);display:flex;flex-direction:column;gap:7px}
.hero-profile figcaption>span:first-child{font-size:10px;letter-spacing:1.5px;color:var(--accent)}
.hero-profile figcaption strong{font-size:15px;font-weight:450;line-height:1.4}
.hero-profile figcaption>span:last-child{font-size:12px;color:var(--muted);line-height:1.5}
.career-detail-photo{max-width:100%}.career-detail-photo img{height:auto;aspect-ratio:4/3;object-fit:contain;background:#090b0a}
.portrait figcaption{gap:18px;line-height:1.5}.portrait figcaption span:last-child{text-align:right}
.expertise-intro h2{font-size:clamp(38px,3.8vw,57px);line-height:1.12}
.contact{padding-top:65px;padding-bottom:65px}.contact:after{display:none}
.contact h2{font-size:clamp(42px,5.2vw,76px);line-height:1.08;max-width:100%;margin:28px 0 24px}
.contact p{font-size:17px;max-width:730px;margin-bottom:15px}
@media(max-width:1000px){.hero-content{grid-template-columns:minmax(0,1fr) minmax(260px,350px);gap:5%}.hero h1{font-size:clamp(62px,7.5vw,86px)}.hero-copy .hero-role{font-size:20px}.hero-copy p{font-size:16px}}
@media(max-width:700px){.hero-content{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding:35px 0}.hero-copy{padding:0}.hero h1{font-size:clamp(58px,13vw,84px)}.hero-profile{max-width:400px;align-self:center}.hero-profile>img{aspect-ratio:4/4.3}.hero-top .edition{display:none}.hero-copy p{max-width:500px}.hero-bottom{margin-top:0}.hero-actions{gap:16px}.expertise-intro h2{font-size:clamp(36px,7vw,50px)}.contact{padding-top:48px;padding-bottom:48px}.contact h2{font-size:clamp(36px,8.8vw,54px)}.contact p{font-size:16px;max-width:100%}}

@media(max-width:760px){.hero .hero-content.banner-intro{grid-template-columns:1fr;gap:22px;padding:25px 0 30px}.hero .banner-intro h1{font-size:clamp(42px,7vw,60px)}.hero-summary>p{font-size:16px}.banner-home{padding-top:24px}.linkedin-banner{margin-top:20px}.banner-intro .hero-copy .hero-role{font-size:20px}}

/* Name-led introduction without a hero image. */
.hero.text-home .hero-content{display:block;min-height:0;padding:48px 0 44px}
.hero.text-home .hero-copy{padding:0;max-width:880px}
.hero.text-home h1{font-size:clamp(72px,7.3vw,112px);width:100%;line-height:.98;letter-spacing:-.055em;margin:0 0 25px}
.hero.text-home .hero-copy>p{max-width:710px;font-size:18px;line-height:1.75;margin-bottom:24px}
.hero.text-home .hero-copy .hero-role{font-size:24px;color:var(--ink);margin-bottom:16px}
.home-leadership-focus{display:flex;flex-wrap:wrap;gap:8px 23px;max-width:800px;margin:0 0 28px;font-size:14px;line-height:1.6;color:var(--muted)}
@media(max-width:700px){.hero.text-home .hero-content{padding:36px 0 34px}.hero.text-home h1{font-size:clamp(58px,13vw,84px)}.hero.text-home .hero-copy>p{font-size:16px}.hero.text-home .hero-copy .hero-role{font-size:22px}.home-leadership-focus{gap:8px 16px;font-size:13px}}

/* The homepage name uses the original stacked site wordmark. */
.hero.text-home h1.hero-wordmark{font-family:var(--font);font-weight:600;line-height:1.03;letter-spacing:-.05em}
.hero-wordmark>span{display:block;font-family:inherit;font-weight:inherit;font-style:normal;letter-spacing:inherit;color:var(--accent)}

/* One section title, aligned with its supporting introduction. */
.work-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px}
.work-heading h2.eyebrow{font-size:12px;font-weight:400;line-height:1.65;letter-spacing:1.3px;color:var(--muted);margin:0;padding-top:4px}
.work-heading>p{font-size:17px;line-height:1.65;color:var(--muted);max-width:480px;margin:0;justify-self:end}
.work-heading+.featured-projects{margin-top:38px}
@media(max-width:700px){.work-heading{grid-template-columns:1fr;gap:16px}.work-heading>p{justify-self:start;font-size:16px}.work-heading+.featured-projects{margin-top:28px}}
