:root{--navy:#0b2447;--blue:#1d5ca8;--ink:#182231;--muted:#5b6675;--paper:#fff;--soft:#f4f7fb;--line:#dbe3ee}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}a{color:var(--blue)}img{max-width:100%;display:block}.wrap{width:min(1120px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:800;color:var(--navy);text-decoration:none;font-size:1.18rem;letter-spacing:.02em}.navlinks{display:flex;gap:22px;align-items:center}.navlinks a{text-decoration:none;color:var(--ink);font-weight:700}.navlinks .cta,.btn{background:var(--navy);color:white;border-radius:8px;padding:11px 16px;text-decoration:none;display:inline-block;font-weight:800;border:1px solid var(--navy)}.btn.secondary{background:white;color:var(--navy)}.menu-btn{display:none;background:none;border:0;font-size:1.7rem;color:var(--navy)}.hero{background:var(--soft)}.hero picture img{width:100%;height:auto}.mobile-hero-copy{display:none;padding:28px 0 34px}.mobile-hero-copy h1{font-size:2.4rem;line-height:1;margin:0 0 14px;color:var(--navy)}.mobile-hero-copy h2{font-size:1.25rem;margin:0 0 12px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.section{padding:64px 0}.section.alt{background:var(--soft)}h1,h2,h3{color:var(--navy);line-height:1.2}h1{font-size:2.7rem}h2{font-size:2rem;margin-top:0}.lead{font-size:1.18rem;color:#344153;max-width:820px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 8px 24px rgba(25,45,75,.06)}.resume-layout{display:grid;grid-template-columns:280px 1fr;gap:36px}.sidebar{background:var(--soft);border-radius:14px;padding:24px;height:max-content}.job{padding:0 0 25px;margin:0 0 25px;border-bottom:1px solid var(--line)}.job:last-child{border-bottom:0}.job h3{margin-bottom:4px}.meta{font-weight:700;color:var(--muted);margin:0 0 10px}.job ul{margin:8px 0 0;padding-left:20px}.notice{padding:15px 18px;background:#fff7df;border-left:4px solid #d59a00;border-radius:6px}.contact-box{max-width:720px;background:white;border:1px solid var(--line);padding:30px;border-radius:14px}.footer{background:var(--navy);color:white;padding:28px 0;margin-top:0}.footer a{color:white}.small{font-size:.92rem;color:var(--muted)}
@media(max-width:800px){.menu-btn{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:68px;background:white;border-bottom:1px solid var(--line);padding:18px 4%;flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.hero .desktop-image{display:none}.mobile-hero-copy{display:block}.hero .mobile-image{display:block}.grid{grid-template-columns:1fr}.resume-layout{grid-template-columns:1fr}.sidebar{order:2}.section{padding:44px 0}h1{font-size:2.15rem}h2{font-size:1.65rem}}
@media(min-width:801px){.hero .mobile-image{display:none}}
@media print{.site-header,.footer,.button-row,.notice{display:none}.section{padding:18px 0}.resume-layout{grid-template-columns:220px 1fr}.job{break-inside:avoid}}

/* Homepage hero navigation: invisible click targets align with the buttons built into the desktop artwork. */
.hero-media{position:relative;width:100%}
.hero-media .desktop-image,.hero-media .mobile-image{width:100%;height:auto}
.hero-hotspots{position:absolute;inset:0;z-index:5;pointer-events:none}
.hero-hotspot{position:absolute;display:block;pointer-events:auto;background:transparent;border:0;border-radius:8px;text-indent:-9999px;overflow:hidden}
.hero-hotspot:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px #0b2447}
.hotspot-resume{left:5.0%;top:65.9%;width:13.3%;height:7.0%}
.hotspot-healthcare{left:19.5%;top:65.9%;width:15.1%;height:7.0%}
.hotspot-contact{left:35.8%;top:65.9%;width:12.5%;height:7.0%}
@media(max-width:800px){.hero-hotspots{display:none}}

/* Mobile homepage button layout */
.mobile-action-buttons{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.mobile-top-buttons{display:flex;gap:12px}
.mobile-top-buttons .btn{flex:1;text-align:center}
.mobile-healthcare-button{width:100%;text-align:center}
@media(min-width:801px){.mobile-action-buttons{display:none}}
@media(max-width:420px){.mobile-top-buttons{gap:8px}.mobile-top-buttons .btn{padding:11px 10px;font-size:.95rem}}

/* Keep all three mobile homepage actions the same compact height. */
@media(max-width:800px){
  .mobile-action-buttons .btn{
    height:46px;
    min-height:46px;
    padding:0 10px;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1.1;
    white-space:nowrap;
  }
}
