:root{--navy:#2B2D42;--navy2:#414459;--accent:#D90429;--silver:#8D99AE;--ink:#2B2D42;--light:#EDF2F4;--muted:#697589}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.75 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.wrap{max-width:1100px;margin:auto;padding:0 28px}.header{background:var(--navy);color:white}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-size:1.08rem;font-weight:800;letter-spacing:.13em}.nav{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.nav a{font-size:.89rem;color:#d8e4ee;text-decoration:none;border-bottom:2px solid transparent;padding:6px 0}.nav a:hover,.nav a[aria-current=page]{color:white;border-color:var(--accent)}.hero{padding:110px 0 122px;background:linear-gradient(120deg,#2B2D42,#414459);color:#fff}.eyebrow{font-size:.78rem;color:#EDF2F4;letter-spacing:.19em;text-transform:uppercase;font-weight:800}.hero h1,.page-hero h1,.section-title{font-family:Georgia,serif;font-weight:500;line-height:1.15;letter-spacing:-.035em}.hero h1{font-size:clamp(2.75rem,6vw,5rem);margin:20px 0 26px}.hero p{font-size:1.22rem;max-width:745px;color:#EDF2F4}.page-hero{padding:72px 0;background:linear-gradient(120deg,#2B2D42,#414459);color:white}.page-hero h1{font-size:clamp(2.4rem,5vw,3.7rem);margin:14px 0}.page-hero p{max-width:760px;color:#EDF2F4;font-size:1.12rem}.btn{display:inline-block;text-decoration:none;font-weight:800;font-size:.94rem;background:var(--accent);color:#FFFFFF;padding:13px 22px;margin:23px 12px 0 0;border:1px solid var(--accent)}.btn-outline{background:transparent;color:white}main section{padding:75px 0}.section-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#B00022}.section-title{font-size:clamp(2rem,4vw,2.9rem);color:var(--navy);margin:12px 0 23px}.intro{max-width:850px;color:#4D5868;font-size:1.14rem}.soft{background:var(--light)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.card{background:white;padding:26px;border:1px solid var(--silver);border-top:4px solid var(--accent)}.card h2,.card h3{font-size:1.14rem;line-height:1.4;color:var(--navy);margin:0 0 12px}.card p{margin:0;color:#4D5868}.timeline{display:grid;gap:16px;margin-top:26px}.role{background:#fff;border-left:4px solid var(--accent);padding:23px 26px;box-shadow:0 5px 20px #2B2D420a}.role h2{margin:0;color:var(--navy);font-size:1.18rem}.role p{margin:7px 0 0;color:#566174}.feature{background:var(--navy);color:white}.feature .section-title{color:white}.feature p{font-family:Georgia,serif;font-size:1.45rem;max-width:900px;color:#EDF2F4}.links{display:flex;flex-wrap:wrap;gap:15px;margin-top:25px}.text-link{color:#B00022;font-weight:700;text-underline-offset:4px}.footer{background:#202230;color:#CCD3DE;padding:27px 0;font-size:.89rem}.footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.footer a{color:#EDF2F4}.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:38px}.aside{background:var(--light);border-left:4px solid var(--accent);padding:28px}.aside h2{font-size:1.15rem;color:var(--navy)}@media(max-width:750px){.header-inner{flex-direction:column;align-items:flex-start;padding-top:19px;padding-bottom:19px}.nav{gap:12px 18px}.hero{padding:75px 0 85px}.cards,.two-col{grid-template-columns:1fr}.page-hero{padding:60px 0}main section{padding:58px 0}}
/* Single-screen homepage only; interior pages retain normal scrolling. */
body:has(.landing-main){min-height:100svh;display:flex;flex-direction:column}
body:has(.landing-main) .landing-main{flex:1;display:flex;min-height:0}
.landing-hero{width:100%;background:linear-gradient(120deg,#2B2D42,#414459);color:#fff;display:flex;align-items:center}
.landing-inner{width:100%;padding-top:42px;padding-bottom:42px}
.landing-hero h1{font:500 clamp(2.4rem,5.2vw,4.8rem)/1.12 Georgia,serif;letter-spacing:-.035em;margin:20px 0 22px}
.landing-intro{font-size:clamp(1rem,1.45vw,1.2rem);max-width:820px;color:#EDF2F4;line-height:1.65;margin:0}
.landing-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:23px}
.landing-actions .btn{margin:0}
.landing-text-link{color:#fff;font-weight:700;text-underline-offset:4px}
@media(min-width:850px) and (min-height:620px){body:has(.landing-main){height:100svh;overflow:hidden}}
@media(max-height:700px){.landing-inner{padding-top:25px;padding-bottom:25px}.landing-hero h1{font-size:clamp(2rem,4.6vw,3.7rem);margin:12px 0}.landing-actions{margin-top:15px}}
@media(max-width:849px){.landing-inner{padding-top:65px;padding-bottom:65px}}

/* Accessibility and clearer navigation */
.skip-link{position:absolute;z-index:1000;top:-80px;left:12px;padding:10px 18px;background:#fff;color:#2B2D42;font-weight:800;border:2px solid #D90429;text-decoration:none}
.skip-link:focus{top:12px}
.nav a{white-space:nowrap}
.card,.role,.aside{overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:560px){.header-inner{gap:8px}.brand{font-size:.96rem}.nav{gap:8px 14px}.nav a{font-size:.85rem}.landing-hero h1{font-size:clamp(2.15rem,8vw,3.2rem)}.landing-actions{align-items:stretch}.landing-actions .btn{margin:0}.wrap{padding-left:20px;padding-right:20px}}

.landing-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,270px);gap:45px;align-items:center}.landing-copy{min-width:0}.landing-layout h1{font-size:clamp(2.1rem,4.4vw,4.2rem)}.landing-photo{width:100%;aspect-ratio:1;border:5px solid #8D99AE;box-shadow:12px 12px 0 #D90429;overflow:hidden}.landing-photo img{display:block;width:100%;height:100%;object-fit:cover}.about-photo-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:42px;align-items:start}.about-headshot{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;margin:0 auto 20px;border:3px solid #8D99AE}@media(max-width:780px){.landing-layout{grid-template-columns:1fr;gap:20px}.landing-photo{grid-row:1;justify-self:center;max-width:150px;box-shadow:7px 7px 0 #D90429}.landing-layout h1{font-size:clamp(2.1rem,7.5vw,3.2rem)}.about-photo-layout{grid-template-columns:1fr}.about-photo-aside{max-width:420px}}@media(min-width:781px) and (max-height:700px){.landing-photo{max-width:195px}.landing-layout h1{font-size:clamp(2rem,3.8vw,3.3rem)}}

/* Frontline leadership gallery */
.field-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:30px}.field-gallery figure{margin:0;background:#EDF2F4;border:1px solid #8D99AE;padding:16px}.field-gallery img{display:block;width:100%;height:300px;object-fit:contain;background:#2B2D42}.field-gallery figcaption{font-size:.94rem;color:#394457;margin-top:12px}.field-section{background:#fff}@media(max-width:650px){.field-gallery{grid-template-columns:1fr}.field-gallery img{height:260px}}

/* Go West team pride feature */
.team-pride-sticker{max-width:580px;margin:28px 0 26px;padding:16px;background:#fff;border:1px solid #8D99AE}.team-pride-sticker img{display:block;width:100%;height:auto;object-fit:contain}.team-pride-sticker figcaption{font-size:.92rem;color:#566174;margin-top:12px}

/* Compact field-photo cards: never enlarge the uploaded image pixels. */
.field-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,270px));gap:20px;justify-content:start;align-items:start;margin-top:26px}
.field-gallery figure{margin:0;padding:15px;background:#EDF2F4;border:1px solid #8D99AE}
.field-gallery img{display:block;width:auto;max-width:100%;height:auto;max-height:215px;margin:0 auto;object-fit:contain;background:transparent}
.field-gallery figcaption{font-size:.9rem;color:#394457;margin-top:12px;line-height:1.55}
@media(max-width:600px){.field-gallery{grid-template-columns:1fr;max-width:270px}}

/* Frame the original safety portrait around Steve while retaining the source photo. */
.field-gallery .safety-photo-crop{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:#EDF2F4}
.field-gallery .safety-photo-crop img{position:absolute;display:block;width:160%;max-width:none;height:auto;max-height:none;top:-25%;left:-31%;margin:0}

/* LinkedIn colleague recommendations */
.recommendations-section{background:#fff}.recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;align-items:stretch}.recommendation-card{margin:0;padding:30px;background:#EDF2F4;border-top:4px solid #D90429;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.recommendation-card blockquote{margin:0;color:#2B2D42;font:1.08rem/1.72 Georgia,serif}.recommendation-card figcaption{border-top:1px solid #C4CCD6;padding-top:15px;display:flex;flex-direction:column;gap:2px;font-size:.91rem;line-height:1.55;color:#566174}.recommendation-card figcaption strong{color:#2B2D42;font-size:1rem}@media(max-width:750px){.recommendation-grid{grid-template-columns:1fr}.recommendation-card{padding:23px}}

/* Personal website cross-link on contact page */
.personal-site-link{margin-top:32px;padding:24px 26px;background:#EDF2F4;border-left:4px solid #D90429;border-radius:3px}.personal-site-link h3{font:500 1.5rem/1.3 Georgia,serif;margin:9px 0 12px;color:#2B2D42}.personal-site-link p{margin:0 0 13px;color:#4D5868;line-height:1.7}.personal-site-link .text-link{display:inline-block;margin-top:3px}

/* Compact contact page: desktop fits within a typical viewport; mobile scrolls naturally. */
.contact-page{min-height:100svh;display:flex;flex-direction:column}
.contact-page main{flex:1}
.contact-page .page-hero{padding:30px 0 26px}
.contact-page .page-hero h1{font-size:clamp(2.1rem,4vw,3.1rem);margin:6px 0}
.contact-page .page-hero p{font-size:1rem;margin:0}
.contact-page .contact-content{padding:36px 0 42px}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.contact-primary .section-title{font-size:clamp(1.8rem,3vw,2.4rem);margin:7px 0 13px}
.contact-primary>p{margin:0 0 19px;color:#4D5868;line-height:1.6;max-width:570px}
.contact-actions{display:grid;gap:10px}
.contact-action{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 17px;background:#EDF2F4;border-left:4px solid #D90429;text-decoration:none;font-weight:750;color:#2B2D42}
.contact-action span{font-weight:550;font-size:.93rem;color:#B00022;text-align:right}
.contact-action:hover span,.contact-action:focus-visible span{text-decoration:underline}
.contact-secondary{background:#EDF2F4;padding:24px;border-top:4px solid #D90429}
.contact-secondary h2{font:500 1.52rem/1.26 Georgia,serif;color:#2B2D42;margin:8px 0 10px}
.contact-secondary>p{line-height:1.6;color:#4D5868;margin:0 0 10px}
.contact-topics{border-top:1px solid #cbd4dc;margin-top:18px;padding-top:12px;font-size:.9rem;color:#4D5868}
.contact-topics strong{color:#2B2D42}.contact-topics p{margin:4px 0 0;line-height:1.5}
@media(max-width:750px){.contact-grid{grid-template-columns:1fr;gap:20px}.contact-page .contact-content{padding:28px 0 34px}.contact-action{flex-wrap:wrap}.contact-action span{text-align:left}}
@media(max-width:430px){.contact-action{display:block}.contact-action span{display:block;margin-top:3px;overflow-wrap:anywhere}}

/* Restore original contact design, reduce only vertical whitespace. */
.contact-page .page-hero{padding:22px 0 19px}
.contact-page .page-hero h1{font-size:clamp(2rem,3.5vw,2.9rem);margin:4px 0 6px}
.contact-page .page-hero p{font-size:.98rem;line-height:1.45;margin:0}
.contact-page .contact-content{padding:24px 0 28px}
.contact-page .contact-content .two-col{grid-template-columns:1.25fr .75fr;gap:30px;align-items:start}
.contact-page .contact-content .section-title{font-size:clamp(1.7rem,2.65vw,2.2rem);margin:5px 0 12px}
.contact-page .contact-content p.intro{font-size:1rem;line-height:1.55;margin:0 0 11px}
.contact-page .personal-site-link{margin-top:16px;padding:15px 20px}
.contact-page .personal-site-link h3{font-size:1.26rem;margin:4px 0 7px}
.contact-page .personal-site-link p{font-size:.94rem;line-height:1.5;margin:0 0 7px}
.contact-page .contact-content .aside{padding:19px 22px}
.contact-page .contact-content .aside h2{margin:0 0 10px}
.contact-page .contact-content .aside p{margin:0;line-height:1.8}
@media(max-width:750px){.contact-page .contact-content .two-col{grid-template-columns:1fr;gap:20px}.contact-page .contact-content{padding:25px 0}}

/* Contact final polish: natural-height sidebar and single-line-friendly heading. */
.contact-page .contact-content .two-col{align-items:start}
.contact-page .contact-content .aside{align-self:start}
.contact-page .contact-content .section-title{font-size:clamp(1.55rem,2.2vw,1.95rem);line-height:1.18;letter-spacing:-.025em}

/* Vertically center topics card beside the contact content; retain left-aligned text. */
@media(min-width:751px){.contact-page .contact-content .aside{align-self:center}}

/* Ongoing mentorship feature on Leadership page */
.mentor-influence{background:#fff}.mentor-influence-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.75fr);gap:35px;align-items:center}.mentor-influence .intro{font-size:1.04rem;line-height:1.65;margin:0 0 16px}.mentor-influence-photo{margin:0;padding:12px;background:#EDF2F4;border:1px solid #8D99AE}.mentor-influence-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#2B2D42}.mentor-influence-photo figcaption{font-size:.88rem;color:#566174;margin-top:10px}@media(max-width:750px){.mentor-influence-grid{grid-template-columns:1fr}.mentor-influence-photo{max-width:430px}}

/* Mentor photo: contain within a modest right column even if the grid is overridden. */
.mentor-influence .mentor-influence-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:32px}
.mentor-influence .mentor-influence-photo{width:100%;max-width:320px;justify-self:end;margin:0}
.mentor-influence .mentor-influence-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:750px){.mentor-influence .mentor-influence-grid{grid-template-columns:minmax(0,1fr)}.mentor-influence .mentor-influence-photo{justify-self:start;max-width:300px}}
