/* Full source-portfolio content, using the existing visual language. */
.site-header{height:auto;min-height:76px;gap:20px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.site-header .brand{display:inline-flex;align-items:center;gap:12px;font-size:1rem;white-space:nowrap}
.site-header .brand span{color:var(--ink)}
.header-portrait{display:block;width:40px;height:40px;flex-shrink:0;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line)}
.header-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}
.header-linkedin{display:inline-flex;align-items:center;gap:5px;min-height:44px;color:var(--blue);font-size:.875rem;font-weight:800;text-decoration:none;white-space:nowrap}
.header-linkedin:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.site-header nav{display:none}}
@media(max-width:600px){.brand-surname{display:none}.header-actions{gap:12px}.site-header{gap:12px}}
@media(max-width:380px){.site-header{padding-left:16px;padding-right:16px}.site-header .brand{gap:9px}.contact-link{padding:10px 13px}.header-actions{gap:10px}}
.skip-link{position:absolute;top:-100px;left:20px;z-index:50;background:#fff;color:var(--ink);padding:14px 20px;border:2px solid var(--blue);border-radius:8px}
.skip-link:focus{top:12px}
.hero h1{font-size:clamp(2.65rem,5.8vw,5.35rem);line-height:1.08;max-width:1100px}
.hero h1 em{display:block;font-style:italic}
.hero-copy{max-width:800px}
.section-content{min-width:0}
.section-content>h2{font-size:clamp(2rem,4.5vw,3.65rem);line-height:1.12;margin-bottom:28px}
.section-intro{font-size:1.125rem;line-height:1.7;color:var(--muted);margin:0 0 38px;max-width:850px}
.section-shell .subheading{font-size:.9rem;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--blue);margin:0 0 16px}
.positioning{margin-top:54px;padding-top:40px;border-top:1px solid var(--line)}
.positioning-copy{font-size:1.125rem;line-height:1.8;max-width:920px;margin:0 0 30px;color:var(--ink)}
.strength-list{padding-left:22px;margin:0}
.strength-list li{padding-left:4px;margin:11px 0;color:var(--muted)}
.strength-list li::marker{color:var(--blue)}
.intro-contact{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:30px;font-size:.95rem}
.intro-contact a{color:var(--ink);text-underline-offset:4px}
.cap-grid article{padding:28px}
.cap-grid article>span{font-size:.875rem}
.cap-grid h3{margin:12px 0 10px}
.stack-panel{margin-top:32px;padding:32px;background:var(--ice);border-radius:16px}
.stack-panel p{margin:0;line-height:1.8}
.platform-stack{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 30px;list-style:none}
.platform-stack li{font-size:.875rem;font-weight:700;border:1px solid #c1d5f1;border-radius:8px;background:#fff;padding:8px 12px}
.complete-cases{grid-template-columns:minmax(0,1fr);gap:30px}
.complete-cases .case{min-height:0;padding:36px}
.case-meta{font-size:.875rem;gap:10px;flex-wrap:wrap}
.complete-cases .case>h3{font-size:clamp(1.65rem,3.1vw,2.4rem);line-height:1.2;letter-spacing:-.025em;margin:24px 0 18px}
.complete-cases .case-lead{font-size:1.125rem;line-height:1.7}
.complete-cases .case p,.complete-cases .case li{line-height:1.75}
.complete-cases .case li{margin:14px 0}
.complete-cases .subheading{margin-top:32px}
.complete-cases .featured .subheading{color:#a8c9ff}
.case.featured p{color:#cfdae8}
.case-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:30px 0 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.case-facts>div{padding:23px 15px;border-right:1px solid var(--line);min-width:0}
.case-facts>div:first-child{padding-left:0}
.case-facts>div:last-child{border-right:0}
.case-facts strong,.case-facts span{display:block}
.case-facts strong{font-size:clamp(1.125rem,2vw,1.5rem);letter-spacing:-.025em}
.case-facts span{font-size:.875rem;color:var(--muted);margin-top:6px}
.featured .case-facts,.featured .case-facts>div{border-color:#39506d}
.featured .case-facts span{color:#b9c9dd}
.tags span{font-size:.875rem}
.operating-model{margin:0}
.operating-model>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.operating-model dt{font-weight:800;color:var(--ink)}
.operating-model dd{margin:0;color:var(--muted);line-height:1.75}
.callout{margin-top:34px;padding:28px 30px;border-left:4px solid var(--blue);border-radius:0 14px 14px 0;background:var(--ice)}
.callout p{margin:0;line-height:1.8}
.callout p+p{margin-top:14px}
.callout .subheading{margin:0 0 12px}
.content-section{display:grid;grid-template-columns:70px minmax(0,1fr);gap:32px;border-top:1px solid var(--line)}
.qa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.qa-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px}
.qa-grid h3{font-size:1.125rem;color:var(--blue);margin:0 0 12px}
.qa-grid p{color:var(--muted);line-height:1.75;margin:0}
.issue-sequence{font-weight:700}
.table-scroll{max-width:100%;overflow-x:auto;border-radius:12px}
.table-scroll:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.performance-table{border-collapse:collapse;width:100%;min-width:640px;background:#fff;font-size:1rem;line-height:1.6}
.performance-table caption{text-align:left;font-size:.9rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);padding-bottom:16px}
.performance-table th,.performance-table td{text-align:left;vertical-align:top;padding:20px 18px;border-bottom:1px solid var(--line)}
.performance-table thead{background:var(--ink);color:#fff}
.performance-table tbody th{width:26%;font-weight:800}
.performance-table td{color:var(--muted)}
.performance-table tbody tr:nth-child(even){background:var(--ice)}
.executive-update{margin-top:34px;padding:32px;border-radius:16px;background:var(--ink);color:#fff}
.executive-update .subheading{color:#a8c9ff;margin-bottom:18px}
.executive-update blockquote{margin:0;font-size:1.0625rem;line-height:1.85;color:#e0e9f5}
.timeline time{font-size:.875rem}
.timeline .employer{color:var(--blue);font-weight:700;margin:7px 0}
.timeline p{line-height:1.7}
.degree-card{padding:28px 30px;background:#fff;border:1px solid var(--line);border-radius:14px}
.degree-card h3{margin:0 0 10px;font-size:1.2rem}
.degree-card p{margin:0;color:var(--muted)}
.section-shell .credentials-label{margin-top:32px}
.credential-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.credential-grid article{padding:26px}
.credential-grid span{font-size:.8125rem}
.credential-grid h3{font-size:1.1rem;line-height:1.4}
.credential-grid p{font-size:1rem;line-height:1.65}
.ramp-plan{margin-top:40px;padding:32px;border-radius:16px;background:var(--ice)}
.ramp-plan h3{font-size:1.5rem;margin:0 0 24px;letter-spacing:-.02em}
.ramp-plan ol{list-style:none;counter-reset:ramp;margin:0;padding:0}
.ramp-plan li{counter-increment:ramp;position:relative;padding:0 0 0 50px;line-height:1.75;margin:0 0 24px}
.ramp-plan li:last-child{margin-bottom:0}
.ramp-plan li::before{content:counter(ramp,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--blue);font-weight:800}
.metrics span{font-size:.875rem}
footer{gap:16px;flex-wrap:wrap;font-size:.875rem}
@media(max-width:1000px){.credential-grid{grid-template-columns:minmax(0,1fr)}.operating-model>div{grid-template-columns:150px minmax(0,1fr);gap:15px}}
@media(max-width:760px){
  .content-section{grid-template-columns:minmax(0,1fr);gap:10px}
  .hero h1{font-size:clamp(2.5rem,9vw,4rem);line-height:1.12}
  .section-content>h2{font-size:clamp(2rem,7vw,3rem);line-height:1.15}
  .section-shell{padding-top:64px;padding-bottom:64px}
  .positioning{margin-top:34px;padding-top:30px}
  .complete-cases .case{padding:24px}
  .case-meta{font-size:.8125rem}
  .case-facts{grid-template-columns:minmax(0,1fr);margin-top:24px;margin-bottom:28px}
  .case-facts>div,.case-facts>div:first-child{padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}
  .case-facts>div:last-child{border-bottom:0}
  .featured .case-facts>div{border-bottom-color:#39506d}
  .case-facts strong{font-size:1.25rem}
  .qa-grid{grid-template-columns:minmax(0,1fr)}
  .operating-model>div{grid-template-columns:minmax(0,1fr);gap:8px}
  .stack-panel,.callout,.executive-update,.ramp-plan{padding:24px}
  .timeline article{gap:10px}
  .timeline time{font-weight:800}
  .contact-row a{overflow-wrap:anywhere}
  .ramp-plan li{padding-left:38px}
}
