@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--navy:#071827;--blue:#1769aa;--gold:#c49a55;--ink:#122230;--muted:#64717c;--paper:#f5f3ee;--white:#fff;--line:#d9d9d3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif}.nav{height:78px;padding:0 5vw;display:flex;align-items:center;gap:32px;background:rgba(245,243,238,.96);position:sticky;top:0;z-index:9;border-bottom:1px solid #dedbd3}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);white-space:nowrap}.brand span{display:grid;place-items:center;width:38px;height:38px;background:var(--navy);color:white;font-weight:700;letter-spacing:-1px}.brand b{font-size:14px}.nav nav{display:flex;gap:24px;margin:auto}.nav nav a,.resume{font-size:13px;text-decoration:none;color:var(--ink)}.resume{border-bottom:1px solid var(--ink);padding-bottom:4px}.hero{min-height:760px;padding:110px 8vw 70px;background:linear-gradient(115deg,rgba(7,24,39,.97),rgba(7,24,39,.82)),radial-gradient(circle at 80% 20%,#1769aa,transparent 42%);color:white;display:flex;flex-direction:column;justify-content:center}.eyebrow,.section-no{font-size:12px;letter-spacing:.18em;font-weight:700;color:var(--gold)}h1,h2{font-family:Manrope,Arial,sans-serif;letter-spacing:-.045em}h1{font-size:clamp(52px,7vw,96px);line-height:.96;margin:26px 0;max-width:1000px}h1 em{font-style:normal;color:#77a9cf}.lead{font-size:20px;line-height:1.6;max-width:790px;color:#d2dae1}.lead.small{color:var(--muted);font-size:18px}.actions{display:flex;gap:16px;margin:34px 0 70px}.primary,.secondary{display:inline-block;text-decoration:none;padding:15px 22px;font-weight:600;font-size:14px}.primary{background:var(--gold);color:var(--navy)}.secondary{border:1px solid #71808d;color:white}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #49606f;padding-top:30px;max-width:1100px}.stats div{border-right:1px solid #49606f;padding-right:30px;margin-right:30px}.stats strong{display:block;font:600 32px Manrope}.stats span{font-size:13px;color:#aebbc5;line-height:1.5}.intro,.education,.closing{padding:110px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2,.journey h2,.work h2,.publications h2,.education h2,.dark h2,.closing h2{font-size:clamp(38px,5vw,66px);line-height:1.05;margin:20px 0 45px}.intro p{font-size:18px;line-height:1.75;color:#53616c}.quote{border-left:3px solid var(--gold);padding-left:24px!important;color:var(--ink)!important;font-weight:600}.dark{padding:110px 8vw;background:var(--navy);color:white}.dark h2{max-width:850px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#344450}.cards article{background:var(--navy);padding:35px}.cards article>b{color:var(--gold)}.cards h3{font:600 22px Manrope;margin:55px 0 14px}.cards p{color:#aebbc5;line-height:1.65}.journey,.work,.publications{padding:110px 8vw}.timeline{margin-top:40px;border-top:1px solid var(--line)}.timeline>div{display:grid;grid-template-columns:160px 280px 1fr;gap:40px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.timeline time{font-weight:700;color:var(--blue)}.timeline h3{margin:0;font:600 20px Manrope}.timeline p{margin:0;color:var(--muted);line-height:1.6}.work{background:#eae8e2}.workgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.workgrid article{background:white;padding:40px;min-height:260px}.workgrid span{font-size:11px;letter-spacing:.14em;color:var(--blue);font-weight:700}.workgrid h3{font:600 28px Manrope;line-height:1.15}.workgrid p{color:var(--muted);line-height:1.7}.pubs{margin-top:50px;border-top:1px solid var(--line)}.pubs div{display:grid;grid-template-columns:100px 1fr;padding:25px 0;border-bottom:1px solid var(--line)}.pubs time{color:var(--blue);font-weight:700}.pubs p{margin:0;line-height:1.5}.note{color:var(--muted);font-size:13px}.education{background:white}.edu{margin-top:40px}.edu div{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:180px 1fr}.edu span{color:var(--muted);line-height:1.5}.closing{background:var(--blue);color:white}.closing p{font-size:18px;line-height:1.7;max-width:500px}.light{background:white;color:var(--navy);margin-top:18px}footer{padding:38px 5vw;background:#04111c;color:#a9b4bd;display:flex;align-items:center;gap:50px;font-size:12px}footer .brand{color:white}footer p:last-child{margin-left:auto}@media(max-width:950px){.nav nav{display:none}.resume{margin-left:auto}.stats,.cards{grid-template-columns:1fr 1fr;gap:20px}.intro,.education,.closing{grid-template-columns:1fr}.timeline>div{grid-template-columns:120px 1fr}.timeline p{grid-column:2}.workgrid{grid-template-columns:1fr}}@media(max-width:600px){.hero,.intro,.dark,.journey,.work,.publications,.education,.closing{padding-left:6vw;padding-right:6vw}.brand b{display:none}.stats,.cards{grid-template-columns:1fr}.stats div{padding:16px 0;border-right:0;border-bottom:1px solid #49606f}.actions{flex-direction:column}.timeline>div{grid-template-columns:1fr;gap:8px}.timeline p{grid-column:auto}.workgrid{grid-template-columns:1fr}.edu div{grid-template-columns:1fr;gap:6px}footer{flex-wrap:wrap}footer p:last-child{margin-left:0}}

/* v03 hero typography refinement */
.hero h1 .hero-line{display:block}.hero h1 .hero-line-second{margin-top:.18em}

/* v05 technical-contribution and research expansion */
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:50px 0 30px}.feature{background:#fff;padding:38px;border-top:4px solid var(--blue);box-shadow:0 12px 30px rgba(7,24,39,.06)}.feature>span,.research-grid span{font-size:11px;letter-spacing:.14em;color:var(--blue);font-weight:700}.feature h3,.research-grid h3{font:600 27px Manrope;line-height:1.18;margin:18px 0}.feature p,.research-grid p{color:var(--muted);line-height:1.7}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tags b{font-size:11px;letter-spacing:.04em;padding:7px 10px;background:#edf1f3;color:var(--navy)}.research{padding:110px 8vw;background:#0d2435;color:white}.research h2{font-size:clamp(38px,5vw,66px);line-height:1.05;margin:20px 0 45px}.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#425462}.research-grid>div{background:#0d2435;padding:40px}.research-grid span{color:var(--gold)}.research-grid p{color:#bdc8d0}@media(max-width:950px){.feature-grid,.research-grid{grid-template-columns:1fr}}

/* v06 authentic portrait integration */
.hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:5vw;align-items:center;justify-content:initial}
.hero-content{min-width:0}.hero-portrait{align-self:center;justify-self:end;width:min(31vw,420px);position:relative}.hero-portrait:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid rgba(196,154,85,.55);z-index:0}.hero-portrait img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center;background:#555;position:relative;z-index:1;box-shadow:0 28px 70px rgba(0,0,0,.32)}
@media(max-width:950px){.hero{grid-template-columns:1fr}.hero-portrait{width:min(60vw,360px);justify-self:start;order:-1;margin-bottom:15px}.hero{padding-top:70px}.hero-content{width:100%}}
@media(max-width:600px){.hero-portrait{width:min(78vw,320px)}}

/* v06 review update — authentic portrait + complete education timeline */
.hero{grid-template-columns:minmax(0,1.65fr) minmax(300px,.72fr)}
.hero-portrait{width:min(29vw,390px)}
.hero-portrait img{aspect-ratio:1/1;object-fit:cover;object-position:50% 42%;border-radius:2px}
.education{grid-template-columns:.78fr 1.22fr;align-items:start}
.edu{position:relative;margin-top:28px;padding-left:28px}
.edu:before{content:"";position:absolute;left:5px;top:22px;bottom:22px;width:1px;background:var(--line)}
.edu div{position:relative;grid-template-columns:210px 1fr;padding:20px 0 24px}
.edu div:before{content:"";position:absolute;left:-28px;top:26px;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #fff}
.edu b{font-family:Manrope,Arial,sans-serif;font-size:16px;color:var(--ink)}
.edu span{font-size:15px}
@media(max-width:950px){.education{grid-template-columns:1fr}.hero-portrait{width:min(56vw,350px)}.edu div{grid-template-columns:190px 1fr}}
@media(max-width:600px){.edu div{grid-template-columns:1fr;gap:7px}.hero-portrait{width:min(76vw,310px)}}

/* v07 — executive hero implementation */
.hero{min-height:520px;padding:48px 5vw 0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:3vw;align-items:end;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(4,27,49,.99) 0%,rgba(8,46,79,.95) 48%,rgba(15,64,103,.80) 100%);color:#fff}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 58%,rgba(105,169,214,.12) 58.2%,transparent 58.5%),linear-gradient(70deg,transparent 72%,rgba(105,169,214,.10) 72.2%,transparent 72.5%);opacity:.8}
.hero-content{position:relative;z-index:2;padding:30px 0 46px;align-self:center}.hero .eyebrow{color:#2f93df;font-size:11px;letter-spacing:.16em}.hero h1{font-size:clamp(56px,6.2vw,92px);line-height:.95;margin:22px 0 6px;max-width:none}.hero-role{font:700 clamp(20px,2vw,28px) Manrope,Arial,sans-serif;margin:0 0 6px}.hero-specialties{font-size:16px;color:#d9e7f1;margin:0 0 20px}.hero .lead{font-size:17px;line-height:1.5;max-width:690px;color:#e0e8ee}.hero .actions{margin:24px 0 0}.hero .primary{background:#1678e5;color:#fff;padding:14px 26px}.hero .primary span{padding-left:14px}.hero .secondary{border:1px solid rgba(255,255,255,.72);padding:13px 26px}.hero-portrait{position:relative;z-index:2;width:min(28vw,350px);justify-self:center;align-self:end;margin:0}.hero-portrait:before{display:none}.hero-portrait img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center bottom;background:transparent;box-shadow:none;border-radius:0;image-rendering:auto}
.capability-strip{background:#fff;display:grid;grid-template-columns:repeat(6,1fr);padding:20px 3vw;border-bottom:1px solid #e2e7eb}.capability-strip>div{text-align:center;padding:8px 18px;border-right:1px solid #d8e0e6;min-height:86px;display:flex;flex-direction:column;justify-content:center}.capability-strip>div:last-child{border-right:0}.capability-strip b{font:700 15px Manrope,Arial,sans-serif;color:#0b2b4d;margin-bottom:6px}.capability-strip span{font-size:12px;line-height:1.35;color:#53677a}
@media(max-width:1050px){.capability-strip{grid-template-columns:repeat(3,1fr);row-gap:8px}.capability-strip>div:nth-child(3){border-right:0}.hero{grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr)}.hero-portrait{width:min(31vw,300px)}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:35px}.hero-content{padding-bottom:25px}.hero-portrait{width:min(65vw,290px);justify-self:center;order:2}.capability-strip{grid-template-columns:1fr 1fr}.capability-strip>div:nth-child(odd){border-right:1px solid #d8e0e6}.capability-strip>div:nth-child(even){border-right:0}}
@media(max-width:520px){.capability-strip{grid-template-columns:1fr}.capability-strip>div{border-right:0!important;border-bottom:1px solid #d8e0e6}.hero-specialties{font-size:14px}.hero .lead{font-size:16px}}

/* v08 — restore the approved field-built executive hero */
.hero.hero-field{
  min-height:540px;
  padding:64px 7vw 34px;
  display:grid;
  grid-template-columns:minmax(0,1.75fr) minmax(230px,.55fr);
  gap:6vw;
  align-items:end;
  position:relative;
  overflow:hidden;
  background:linear-gradient(105deg,#062541 0%,#0b3b62 58%,#346b91 100%);
  color:#fff;
}
.hero.hero-field:after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.20;
  background:linear-gradient(120deg,transparent 66%,rgba(120,184,226,.55) 66.15%,transparent 66.4%),linear-gradient(65deg,transparent 78%,rgba(120,184,226,.4) 78.15%,transparent 78.4%);
}
.hero-field .hero-content{position:relative;z-index:2;align-self:center;padding:0;max-width:1020px}
.hero-field .eyebrow{font-size:11px;letter-spacing:.16em;color:#2795e8;margin-bottom:22px}
.hero-field h1{font-size:clamp(52px,5.9vw,86px);line-height:1.03;letter-spacing:-.055em;margin:0 0 18px;max-width:980px}
.hero-field h1 .hero-line{display:block}.hero-field h1 .hero-line-second{margin-top:.10em}
.hero-field h1 em{color:#78add5;font-style:normal}
.hero-field .lead{font-size:17px;line-height:1.6;max-width:700px;color:#f2f6f9;margin:0}
.hero-field .actions{margin:24px 0 26px;gap:14px}
.hero-field .primary{background:#1678e5;color:#fff;padding:14px 24px}
.hero-field .secondary{border:1px solid rgba(255,255,255,.75);color:#fff;padding:13px 24px}
.hero-field .stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.28);padding-top:22px;max-width:920px}
.hero-field .stats div{border-right:1px solid rgba(255,255,255,.25);padding:0 24px 0 0;margin-right:24px}
.hero-field .stats div:last-child{border-right:0;margin-right:0}
.hero-field .stats strong{display:block;font:600 29px Manrope,Arial,sans-serif;color:#fff;margin-bottom:4px}
.hero-field .stats span{font-size:12px;color:#b9d0e0;line-height:1.55}
.hero-field .hero-portrait{position:relative;z-index:2;width:min(20vw,300px);justify-self:center;align-self:end;margin:0 0 -34px}
.hero-field .hero-portrait:before{display:none}
.hero-field .hero-portrait img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 42%;background:#57575d;box-shadow:none;border-radius:0}
@media(max-width:1050px){.hero.hero-field{grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);gap:3vw}.hero-field .stats{grid-template-columns:repeat(2,1fr);gap:18px}.hero-field .stats div:nth-child(2){border-right:0}.hero-field .hero-portrait{width:min(26vw,270px)}}
@media(max-width:760px){.hero.hero-field{grid-template-columns:1fr;padding:52px 6vw 0}.hero-field .hero-content{padding-bottom:28px}.hero-field .hero-portrait{width:min(60vw,280px);justify-self:center;margin:0;order:2}.hero-field .stats{grid-template-columns:1fr 1fr}.hero-field h1{font-size:clamp(44px,12vw,70px)}}
@media(max-width:520px){.hero-field .stats{grid-template-columns:1fr}.hero-field .stats div{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:12px}.hero-field .actions{flex-direction:column}.hero-field .hero-portrait{width:min(75vw,270px)}}

/* v09 — approved substation hero direction */
.hero.hero-field.hero-substation{
  min-height:700px;
  padding:64px 5vw 42px;
  grid-template-columns:minmax(0,1.45fr) minmax(360px,.72fr);
  gap:2vw;
  align-items:end;
  background:
    linear-gradient(90deg,rgba(2,24,43,.98) 0%,rgba(3,34,59,.94) 38%,rgba(5,42,70,.70) 64%,rgba(4,27,46,.38) 100%),
    linear-gradient(0deg,rgba(2,20,35,.62),rgba(2,20,35,.08)),
    url('assets/substation-hero-background.png') center center/cover no-repeat;
}
.hero.hero-field.hero-substation:after{display:none}
.hero-substation .hero-content{align-self:center;max-width:1060px;padding-top:22px}
.hero-substation .eyebrow{color:#8bc6ef;font-size:13px;letter-spacing:.16em;margin-bottom:22px}
.hero-substation h1{font-size:clamp(58px,5.65vw,92px);line-height:1.01;max-width:1050px;margin-bottom:20px;text-shadow:0 2px 24px rgba(0,0,0,.18)}
.hero-substation h1 em{color:#78b7e5}
.hero-substation .lead{font-size:19px;line-height:1.55;max-width:820px;color:#f4f8fb;text-shadow:0 1px 12px rgba(0,0,0,.28)}
.hero-substation .actions{margin:26px 0 40px}
.hero-substation .primary{background:#1683f3;padding:16px 28px}
.hero-substation .secondary{background:rgba(4,24,41,.40);backdrop-filter:blur(4px);padding:15px 28px}
.hero-substation .stats{max-width:1040px;border-top:0;padding-top:4px;gap:0}
.hero-substation .stats div{padding:0 30px 0 0;margin-right:30px;min-height:112px;display:flex;flex-direction:column;justify-content:center}
.hero-substation .stats strong{font-size:34px;color:#fff}
.hero-substation .stats span{font-size:13px;color:#e2edf5}
.hero-substation .hero-portrait{width:min(31vw,500px);margin:0 -1vw -42px 0;justify-self:end;filter:drop-shadow(0 22px 24px rgba(0,0,0,.26))}
.hero-substation .hero-portrait img{aspect-ratio:auto;object-fit:contain;object-position:center bottom;background:transparent;box-shadow:none}
@media(max-width:1050px){.hero.hero-field.hero-substation{grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);min-height:650px}.hero-substation .hero-portrait{width:min(34vw,390px)}.hero-substation .stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hero.hero-field.hero-substation{grid-template-columns:1fr;padding:52px 6vw 0;min-height:auto;background-position:58% center}.hero-substation .hero-content{padding-bottom:12px}.hero-substation .hero-portrait{width:min(78vw,360px);margin:0 auto;justify-self:center}.hero-substation .stats{grid-template-columns:1fr 1fr}.hero-substation h1{font-size:clamp(48px,12vw,72px)}}
@media(max-width:520px){.hero-substation .stats{grid-template-columns:1fr}.hero-substation .lead{font-size:16px}}

/* v09 desktop visual lock to the approved hero composition */
@media(min-width:1101px){
  .hero.hero-field.hero-substation{
    min-height:728px;
    height:min(728px,calc(100vw * .3792));
    padding:0;
    display:block;
    background:url('assets/approved-substation-hero.png') center top/cover no-repeat;
    position:relative;
  }
  .hero-substation .hero-content,.hero-substation .hero-portrait{visibility:hidden;pointer-events:none}
  .hero-substation .hero-content{position:absolute;inset:0}
  .hero-substation .actions{visibility:visible;pointer-events:auto;position:absolute;left:4.7vw;top:50.7%;margin:0;display:flex;gap:.9vw}
  .hero-substation .actions a{opacity:0;width:14vw;height:58px;padding:0;display:block}
  .hero-substation .actions a.secondary{width:18vw}
}

/* v10 — desktop hero sizing fix for 100% browser zoom.
   Preserve all non-hero typography and sections unchanged. */
@media (min-width:1101px){
  .hero.hero-field.hero-substation{
    width:100%;
    height:calc(100vw * 0.379506);
    min-height:0;
    max-height:737px;
    padding:0;
    display:block;
    background-image:url('assets/approved-substation-hero.png');
    background-position:center top;
    background-size:100% auto;
    background-repeat:no-repeat;
    overflow:hidden;
  }
  .hero-substation .actions{
    left:4.7%;
    top:50.7%;
  }
  .hero-substation .actions a{
    width:14vw;
    height:clamp(40px,3.02vw,58px);
  }
  .hero-substation .actions a.secondary{width:18vw}
}


/* v11 — OEM / utility / field-service evidence layer */
.evidence{padding:90px 7vw;background:#f4f7f9;color:#122433}
.evidence h2,.capability-matrix h2{font-size:clamp(38px,4.5vw,68px);line-height:1.03;margin:18px 0 20px;letter-spacing:-.045em}
.evidence-intro{max-width:860px;font-size:17px;line-height:1.65;color:#536675;margin:0 0 36px}
.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.evidence-grid article{background:#fff;border:1px solid #dbe3e9;padding:28px;min-height:320px;box-shadow:0 10px 30px rgba(13,42,64,.045)}
.evidence-grid article>span{display:block;font:700 10px Manrope,Arial,sans-serif;letter-spacing:.12em;color:#1678e5;margin-bottom:15px}
.evidence-grid h3{font:700 21px/1.2 Manrope,Arial,sans-serif;color:#0a2a48;margin:0 0 14px}
.evidence-grid p{font-size:14px;line-height:1.62;color:#465b6c;margin:0 0 18px}
.evidence-grid ul{margin:0;padding-left:18px;color:#233d51;font-size:13px;line-height:1.65}
.capability-matrix{padding:90px 7vw;background:#082944;color:#fff}
.capability-matrix .section-no{color:#78b7e5}
.matrix-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);margin-top:34px}
.matrix-grid>div{background:#082944;padding:30px;min-height:210px}
.matrix-grid h3{font:700 20px Manrope,Arial,sans-serif;color:#fff;margin:0 0 12px}
.matrix-grid p{font-size:14px;line-height:1.65;color:#cbdce8;margin:0}
@media(max-width:1000px){.evidence-grid,.matrix-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.evidence,.capability-matrix{padding:65px 6vw}.evidence-grid,.matrix-grid{grid-template-columns:1fr}.evidence-grid article{min-height:0}.matrix-grid>div{min-height:0}}


/* v12 — Books & Authorship */
.books{padding:90px 7vw;background:#fff;color:#122433}
.books h2{font-size:clamp(38px,4.5vw,68px);line-height:1.03;margin:18px 0 18px;letter-spacing:-.045em}
.books-intro{max-width:860px;font-size:17px;line-height:1.65;color:#536675;margin:0 0 38px}
.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.book-card{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);gap:28px;border:1px solid #dbe3e9;background:#f8fafb;padding:28px;position:relative;overflow:hidden}
.book-kicker{grid-column:1/-1;font:700 10px Manrope,Arial,sans-serif;letter-spacing:.14em;color:#1678e5}
.book-cover{aspect-ratio:2/3;background:linear-gradient(160deg,#071f35,#0e4269 70%,#1683f3);color:#fff;padding:24px 20px;display:flex;flex-direction:column;box-shadow:0 18px 38px rgba(7,31,53,.18);min-height:310px}
.book-cover span{font:700 10px Manrope,Arial,sans-serif;letter-spacing:.15em;color:#9bd2ff}
.book-cover strong{font:800 28px/1.02 Manrope,Arial,sans-serif;letter-spacing:-.04em;margin:28px 0 18px}
.book-cover small{font:500 10px/1.45 Manrope,Arial,sans-serif;color:#dbeaf5;margin-top:auto}
.book-cover em{font:700 11px Manrope,Arial,sans-serif;font-style:normal;margin-top:18px}
.book-cover.story{background:linear-gradient(160deg,#173a37,#2d6a5d 62%,#d4a650)}
.book-cover.story span{color:#e9d59d}.book-cover.story strong{font-size:27px}.book-cover.story small{color:#f4efe2}
.book-copy{align-self:center}.book-copy h3{font:750 26px/1.12 Manrope,Arial,sans-serif;color:#0a2a48;margin:12px 0}
.book-copy p{font-size:14px;line-height:1.65;color:#465b6c;margin:0 0 14px}
.book-copy .book-subtitle{font-weight:650;color:#24475f}.book-copy .book-meta{font-weight:700;color:#163a55}.book-copy .book-note{font-size:12px;color:#6a7b87;border-top:1px solid #dbe3e9;padding-top:12px}
.book-status{display:inline-block;font:800 10px Manrope,Arial,sans-serif;letter-spacing:.12em;padding:7px 10px;border-radius:999px}.book-status.upcoming{background:#e5f2ff;color:#086acb}.book-status.published{background:#e6f4eb;color:#267447}
@media(max-width:1000px){.book-grid{grid-template-columns:1fr}.book-card{grid-template-columns:200px 1fr}}
@media(max-width:650px){.books{padding:65px 6vw}.book-card{grid-template-columns:1fr}.book-cover{max-width:230px}.book-copy{align-self:start}}


/* v13 — aligned books + original Shakaani cover */
.books{padding:90px 7vw;background:#fff;color:#122433}
.book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.book-card{display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-rows:auto;gap:28px;align-items:center;border:1px solid #dbe3e9;background:#f8fafb;padding:28px;min-height:430px;position:relative;overflow:hidden}
.book-card .book-kicker{grid-column:auto;margin:0 0 12px;font:700 10px Manrope,Arial,sans-serif;letter-spacing:.14em;color:#1678e5}
.book-visual,.book-image-link{width:210px;justify-self:center;align-self:center}
.technical-cover{aspect-ratio:2/3;background:linear-gradient(160deg,#071f35,#0e4269 70%,#1683f3);color:#fff;padding:24px 20px;display:flex;flex-direction:column;box-shadow:0 18px 38px rgba(7,31,53,.18);box-sizing:border-box}
.technical-cover span{font:700 10px Manrope,Arial,sans-serif;letter-spacing:.15em;color:#9bd2ff}
.technical-cover strong{font:800 28px/1.02 Manrope,Arial,sans-serif;letter-spacing:-.04em;margin:28px 0 18px}
.technical-cover small{font:500 10px/1.45 Manrope,Arial,sans-serif;color:#dbeaf5;margin-top:auto}
.technical-cover em{font:700 11px Manrope,Arial,sans-serif;font-style:normal;margin-top:18px}
.book-image-link{display:block;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.book-image-link:hover{transform:translateY(-3px)}
.book-image{display:block;width:210px;height:210px;object-fit:cover;background:#fff;border:1px solid #d6dde3;box-shadow:0 18px 38px rgba(7,31,53,.18)}
.book-copy{align-self:center;min-width:0}.book-copy h3{font:750 26px/1.12 Manrope,Arial,sans-serif;color:#0a2a48;margin:12px 0}.book-copy p{font-size:14px;line-height:1.65;color:#465b6c;margin:0 0 14px}
.book-copy .book-isbn{font-size:12px;color:#687985;margin-top:-6px}
.amazon-button{display:inline-flex;align-items:center;gap:8px;background:#0b5dbb;color:#fff;text-decoration:none;font:750 13px Manrope,Arial,sans-serif;padding:11px 16px;border-radius:3px;margin-top:4px;transition:background .2s ease,transform .2s ease}.amazon-button:hover{background:#084a96;transform:translateY(-1px)}
@media(max-width:1180px){.book-grid{grid-template-columns:1fr}.book-card{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:650px){.books{padding:65px 6vw}.book-card{grid-template-columns:1fr;min-height:0}.book-visual,.book-image-link{width:min(230px,100%)}.book-image{width:100%;height:auto;aspect-ratio:1/1}.technical-cover{width:100%;max-width:230px;justify-self:center}.book-copy{align-self:start}}


/* v14 — semantic, accessible executive hero and consolidated information architecture */
.hero.hero-field.hero-substation{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)!important;grid-template-rows:auto auto!important;min-height:0!important;height:auto!important;max-height:none!important;padding:0!important;background:#061f34!important;overflow:hidden;position:relative}
.hero-copy{padding:76px 4.8vw 48px;align-self:center;position:relative;z-index:2}
.hero-copy .eyebrow{font:700 12px Manrope,Arial,sans-serif;letter-spacing:.16em;color:#8fc9f3;margin-bottom:24px}
.hero-copy h1{font:800 clamp(48px,4.6vw,82px)/.99 Manrope,Arial,sans-serif;letter-spacing:-.052em;color:#fff;margin:0 0 24px;max-width:900px;text-shadow:none}
.hero-copy h1 em{display:inline;color:#77b9ec;font-style:normal}
.hero-copy .lead{max-width:760px;color:#d8e7f1;font-size:18px;line-height:1.62;margin:0}
.hero-copy .actions{position:static!important;visibility:visible!important;pointer-events:auto!important;margin:30px 0 0!important;display:flex!important;gap:12px!important;flex-wrap:wrap}
.hero-copy .actions a{opacity:1!important;width:auto!important;height:auto!important;display:inline-flex!important;align-items:center;justify-content:center;padding:15px 22px!important;text-decoration:none;font:700 13px Manrope,Arial,sans-serif;border-radius:3px}
.hero-copy .actions .primary{background:#1683f3;color:#fff;border:1px solid #1683f3}
.hero-copy .actions .secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.62)}
.hero-visual{min-height:520px;background-image:linear-gradient(90deg,#061f34 0%,rgba(6,31,52,.12) 22%,rgba(6,31,52,0) 45%),url('assets/hero-professional-substation.png');background-size:cover;background-position:center;align-self:stretch}
.hero-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);background:#071b2c;border-top:1px solid rgba(255,255,255,.14);padding:0 4.8vw}
.hero-stats>div{padding:24px 28px 25px 0;margin-right:28px;border-right:1px solid rgba(255,255,255,.18)}
.hero-stats>div:last-child{border-right:0;margin-right:0}
.hero-stats strong{display:block;color:#fff;font:800 30px Manrope,Arial,sans-serif;margin-bottom:5px}
.hero-stats span{display:block;color:#cbdbe6;font-size:12px;line-height:1.45;max-width:220px}
.contact{padding:90px 7vw;background:#071f35;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.contact .section-no{color:#78b7e5}.contact h2{font-size:clamp(38px,4.5vw,66px);line-height:1.04;letter-spacing:-.045em;margin:18px 0 0}.contact-copy{padding-top:38px}.contact-copy p{color:#cadbe7;font-size:16px;line-height:1.7;max-width:620px}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.contact-actions a{display:inline-flex;padding:14px 20px;text-decoration:none;font:700 13px Manrope,Arial,sans-serif;border-radius:3px}.contact-actions .primary{background:#1683f3;color:#fff}.secondary-dark{border:1px solid rgba(255,255,255,.55);color:#fff}.contact-location{font-size:12px!important;color:#8fa9bb!important}
@media(max-width:1100px){.hero.hero-field.hero-substation{grid-template-columns:1fr!important}.hero-visual{min-height:440px;background-position:center 18%}.hero-stats{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr;gap:10px}.contact-copy{padding-top:0}}
@media(max-width:650px){.hero-copy{padding:54px 6vw 38px}.hero-copy .lead{font-size:16px}.hero-visual{min-height:330px}.hero-stats{grid-template-columns:1fr;padding:0 6vw}.hero-stats>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);margin:0;padding:18px 0}.hero-stats>div:last-child{border-bottom:0}.contact{padding:65px 6vw}.contact-actions{flex-direction:column;align-items:stretch}.contact-actions a{justify-content:center}}

/* v15 — published-book cover fidelity and alignment */
#books .story-book .book-image-link{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  overflow:hidden;
}
#books .story-book .book-image{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:#fff;
}


/* v17 — professional affiliation update */
.affiliations{margin:34px 0 30px;padding:22px 24px;border:1px solid #dbe3e9;background:#f8fafb}
.affiliations>span{display:block;font:800 10px Manrope,Arial,sans-serif;letter-spacing:.14em;color:#1678e5;margin-bottom:14px}
.affiliations>div{display:flex;flex-wrap:wrap;gap:10px}
.affiliations strong{display:inline-flex;align-items:center;padding:10px 14px;background:#fff;border:1px solid #dbe3e9;color:#0a2a48;font:750 13px Manrope,Arial,sans-serif}
@media(max-width:650px){.affiliations{padding:18px}.affiliations>div{flex-direction:column}.affiliations strong{width:100%;box-sizing:border-box}}

/* v20 — unified modern resume selector */
.resume-menu{position:relative;margin:0;font-family:Manrope,Arial,sans-serif}
.resume-menu summary{list-style:none;cursor:pointer;user-select:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;font:700 13px Manrope,Arial,sans-serif;white-space:nowrap}
.resume-menu summary::-webkit-details-marker{display:none}
.resume-menu summary::after{content:"⌄";font-size:15px;line-height:1;transition:transform .18s ease}
.resume-menu[open] summary::after{transform:rotate(180deg)}
.resume-options{position:absolute;z-index:1000;right:0;top:calc(100% + 10px);width:min(360px,calc(100vw - 32px));padding:8px;background:#fff;border:1px solid #d8e1e8;border-radius:8px;box-shadow:0 18px 48px rgba(4,23,39,.22)}
.resume-options a{display:block!important;width:auto!important;height:auto!important;padding:13px 14px!important;border:0!important;border-radius:5px!important;background:#fff!important;color:#0a2a48!important;text-decoration:none!important;text-align:left!important;opacity:1!important}
.resume-options a:hover,.resume-options a:focus{background:#eef5fb!important;outline:none}
.resume-options strong{display:block;font:750 13px/1.3 Manrope,Arial,sans-serif;color:#0a2a48}
.resume-options span{display:block;margin-top:4px;font:500 11px/1.45 Manrope,Arial,sans-serif;color:#607485;white-space:normal}
.nav-resume summary{background:#0b5dbb;color:#fff;padding:11px 15px;border-radius:3px}
.hero-resume summary{color:#fff;border:1px solid rgba(255,255,255,.62);padding:15px 22px;border-radius:3px}
.hero-resume .resume-options{left:0;right:auto}
.contact-resume summary{color:#fff;border:1px solid rgba(255,255,255,.55);padding:14px 20px;border-radius:3px}
.contact-resume .resume-options{left:0;right:auto}
@media(max-width:950px){.nav-resume{margin-left:auto}.nav-resume .resume-options{right:0}}
@media(max-width:650px){.hero-resume,.contact-resume{width:100%}.hero-resume summary,.contact-resume summary{width:100%;box-sizing:border-box}.hero-resume .resume-options,.contact-resume .resume-options{left:0;right:auto;width:100%;box-sizing:border-box}}
