:root { --navy:#102a43; --blue:#1f5a7a; --teal:#19747e; --ink:#243746; --muted:#667785; --mist:#edf4f6; --line:#d7e1e5; --paper:#fff; }
html { scroll-behavior:smooth; }
body { color:var(--ink); background:var(--paper); line-height:1.65; }
a { color:var(--blue); text-decoration-thickness:1px; text-underline-offset:2px; }
a:hover,a:focus { color:var(--teal); }
h1,h2,h3 { color:var(--navy); }
h1 { letter-spacing:-.025em; }
h2 { margin:0 0 2rem; font-size:clamp(2.65rem,6vw,4.3rem); line-height:.95; }
h3 { font-size:1.7rem; line-height:1.1; }
.bg-primary { background:linear-gradient(170deg,#102a43 0%,#143d59 58%,#19747e 100%) !important; }
#sideNav .nav-link { letter-spacing:.08em; }
#sideNav .img-profile { border-color:rgba(255,255,255,.28); }
section.resume-section { min-height:0 !important; padding-top:4.5rem !important; padding-bottom:4.5rem !important; border-bottom-color:var(--line); }
section.resume-section.hero { padding-top:6rem !important; padding-bottom:5.5rem !important; }
section.resume-section > .my-auto { width:100%; margin-top:0 !important; margin-bottom:0 !important; }
.eyebrow,.section-kicker { margin:0 0 .45rem; color:var(--teal); font-family:"Open Sans",sans-serif; font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.positioning { margin:1rem 0 .35rem; color:var(--teal); font-family:"Saira Extra Condensed",sans-serif; font-size:clamp(1.45rem,3vw,2rem); font-weight:600; letter-spacing:.045em; text-transform:uppercase; }
.contact-line { color:var(--muted); }
.profile-links { display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; margin-top:1.15rem; font-size:.88rem; font-weight:600; letter-spacing:.025em; }
.profile-links a { position:relative; }
.profile-links a:not(:last-child)::after { content:""; position:absolute; top:.35em; right:-.75rem; width:1px; height:.85em; background:var(--line); }
.profile-links .file-type { color:var(--muted); font-size:.78em; font-weight:400; letter-spacing:.04em; }
.executive-summary { max-width:72rem; margin:2.25rem 0; font-size:1.15rem; line-height:1.75; }
.capability-grid,.impact-grid,.venture-grid { display:grid; max-width:76rem; }
.capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:3rem; }
.capability-grid div { padding:1rem 0 1.1rem; border-bottom:1px solid var(--line); }
.capability-grid div:nth-last-child(-n+2) { border-bottom:0; }
.capability-grid strong { display:inline; color:var(--navy); font-family:"Open Sans",sans-serif; font-size:.93rem; font-weight:700; }
.capability-grid strong::after { content:" — "; color:var(--muted); font-weight:400; }
.capability-grid span { display:inline; color:var(--muted); font-size:.93rem; }
.impact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:3rem; row-gap:1.8rem; }
.impact-grid article { min-height:0; padding:1.25rem 0 0; border-top:1px solid var(--line); }
.impact-number { display:block; margin-bottom:.55rem; color:var(--navy); font-family:"Saira Extra Condensed",sans-serif; font-size:2.75rem; font-weight:600; line-height:.8; }
.impact-grid h3 { margin-bottom:.55rem; font-family:"Open Sans",sans-serif; font-size:1rem; text-transform:none; }
.impact-grid p { margin:0; }
.resume-item { max-width:78rem; margin:0 0 3.25rem; padding-bottom:3rem; border-bottom:1px solid var(--line); }
.resume-item:last-child { margin-bottom:0; padding-bottom:0; border:0; }
.role-header { display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; }
.role-header h3 { margin:0; font-size:clamp(1.6rem,3vw,2.05rem); text-transform:uppercase; }
.company { margin-top:.25rem; font-family:"Saira Extra Condensed",sans-serif; font-size:1.55rem; font-weight:600; text-transform:uppercase; }
.resume-date { min-width:12rem; color:var(--teal); font-weight:700; text-align:right; }
.resume-date span { display:block; color:var(--muted); font-size:.85rem; font-weight:400; }
.role-context { margin:.85rem 0; color:var(--muted); font-style:italic; }
.resume-item ul { max-width:72rem; padding-left:1.25rem; }
.resume-item li { margin-bottom:.5rem; }
.venture-grid { grid-template-columns:repeat(3,1fr); column-gap:2rem; row-gap:2.2rem; }
.venture-grid article { padding:1.1rem 0 0; border-top:1px solid var(--line); }
.venture-grid h3 { margin:0; font-family:"Open Sans",sans-serif; font-size:1rem; text-transform:none; }
.venture-role { color:var(--muted); font-size:.76rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.publication-block,.education-card { max-width:72rem; margin-bottom:2rem; }
.publication-block h3 { margin-bottom:.65rem; color:var(--teal); text-transform:uppercase; }
.publication-block li { margin-bottom:.55rem; }
.patent-list,.paper-list { display:grid; gap:0; border-top:1px solid var(--line); }
.patent-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.paper-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.patent-list article,.paper-list article { padding:1.35rem 1.8rem 1.35rem 0; border-bottom:1px solid var(--line); }
.patent-list article+article,.paper-list article+article { padding-left:0; border-left:0; }
.patent-list h4,.paper-list h4 { margin:0 0 .35rem; color:var(--navy); font-size:1.05rem; font-weight:700; line-height:1.35; }
.patent-list p,.paper-list p { margin:0; font-size:.92rem; }
.publication-meta { margin-bottom:.65rem !important; color:var(--teal); font-size:.75rem !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.presentation-intro { margin-bottom:1.2rem; color:var(--muted); }
.presentation-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.15rem; }
.presentation-card { display:block; color:var(--navy); font-family:"Saira Extra Condensed",sans-serif; font-size:1.15rem; font-weight:600; line-height:1.15; text-transform:uppercase; }
.presentation-card img { display:block; width:100%; aspect-ratio:16/9; margin-bottom:.55rem; border:1px solid var(--line); object-fit:cover; filter:saturate(.82) contrast(.98); transition:filter .18s ease,transform .18s ease; }
.presentation-card:hover { text-decoration:none; }
.presentation-card:hover img,.presentation-card:focus img { filter:saturate(1) contrast(1); transform:translateY(-2px); }
.education-card { padding:1.35rem 0 0; border-top:1px solid var(--line); }
.education-card h3 { text-transform:uppercase; }
.closing { max-width:60rem; margin-top:4rem; color:var(--teal); font-family:"Saira Extra Condensed",sans-serif; font-size:2rem; font-weight:600; line-height:1.15; text-transform:uppercase; }
@media(max-width:767px) {
  section.resume-section,section.resume-section.hero { padding-top:3.25rem !important; padding-bottom:3.25rem !important; }
  .profile-links { display:grid; grid-template-columns:1fr 1fr; gap:.55rem 1rem; }
  .profile-links a:not(:last-child)::after { display:none; }
  .capability-grid,.impact-grid,.venture-grid { grid-template-columns:1fr; }
  .capability-grid div:nth-last-child(-n+2) { border-bottom:1px solid var(--line); }
  .capability-grid div:last-child { border-bottom:0; }
  .role-header { display:block; }
  .resume-date { margin-top:.6rem; text-align:left; }
  .patent-list,.paper-list,.presentation-grid { grid-template-columns:1fr; }
  .patent-list article+article,.paper-list article+article { padding-left:0; border-left:0; }
}
