:root{
  --ink:#122433;
  --ink-2:#314554;
  --muted:#5d6a73;
  --navy:#0c3756;
  --navy-dark:#071f33;
  --green:#466553;
  --gold:#a97828;
  --gold-soft:#d4bd91;
  --paper:#f7f2e9;
  --paper-2:#fffaf2;
  --card:#ffffff;
  --line:#d8cbbb;
  --line-soft:rgba(216,203,187,.68);
  --shadow:0 18px 46px rgba(18,36,51,.08);
  --radius:1.2rem;
  --radius-lg:1.65rem;
  --max:1160px;
  --display:"Fraunces", Georgia, "Times New Roman", serif;
  --sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{
  margin:0;
  max-width:100%;
  overflow-x:hidden;
  color:var(--ink);
  background:linear-gradient(180deg,#f8f4ed 0%,#fffaf2 42%,#f4eee4 100%);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.58;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img,svg,video,iframe,object,embed{max-width:100%}
img{height:auto}
a{color:var(--navy);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--navy-dark)}
p{margin:0 0 1rem;color:var(--ink-2)}
ul{margin:.35rem 0 0;padding-left:1.25rem}
li{margin:.33rem 0;color:var(--ink-2)}
p,li{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:pretty}
h1,h2,h3{margin:0;color:var(--navy-dark);text-wrap:balance}
strong{font-weight:700;color:var(--ink)}

.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--navy);padding:.75rem 1rem;border-radius:999px;z-index:999;text-decoration:none;box-shadow:var(--shadow)}
.skip:focus{left:1rem;top:1rem}
.container{width:min(var(--max), calc(100% - 2.5rem));margin-inline:auto}
.section{padding:clamp(3.1rem,6vw,5.8rem) 0;border-top:1px solid var(--line-soft)}
.section-alt{background:rgba(255,255,255,.35)}
.section-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:2rem;align-items:end;margin-bottom:2rem}
.section h2,.case-section h2,.quote-card h2,.case-hero h1,.resume-sidebar h1,.resume-web-header h2{
  font-family:var(--display);
  font-weight:500;
  line-height:1.03;
  letter-spacing:-.03em;
}
.section h2{font-size:clamp(2.35rem,5vw,4.35rem)}
.section-intro{font-size:1.08rem;line-height:1.58;color:var(--ink-2);margin:0;max-width:820px}
.eyebrow,.kicker,.tag{
  color:var(--green);
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.eyebrow,.kicker{font-size:.78rem;margin:0 0 .85rem}
.display-italic{font-family:var(--display);font-style:italic;color:var(--gold);font-weight:500}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(248,244,237,.93);
  backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.nav{
  width:min(var(--max), calc(100% - 2.5rem));
  margin-inline:auto;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.brand{
  color:var(--navy);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:850;
  white-space:nowrap;
}
.nav-links{display:flex;align-items:center;gap:1rem;font-size:.93rem}
.nav-links a{color:var(--ink);text-decoration:none;white-space:nowrap}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--navy)}
.mobile-only{display:none}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.85rem;
  padding:.74rem 1.25rem;
  border-radius:999px;
  border:1px solid var(--navy);
  background:var(--navy);
  color:#fff!important;
  text-decoration:none;
  text-align:center;
  line-height:1.2;
  font-weight:760;
  box-shadow:0 12px 26px rgba(12,55,86,.16);
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
}
.btn:hover{background:var(--navy-dark);border-color:var(--navy-dark);transform:translateY(-1px);box-shadow:0 14px 30px rgba(12,55,86,.2)}
.btn.secondary{background:var(--gold);border-color:var(--gold);color:#fff!important;box-shadow:0 10px 24px rgba(169,120,40,.16)}
.btn.secondary:hover{background:#8f6320;border-color:#8f6320}
.btn.ghost{background:transparent;color:var(--navy)!important;border-color:rgba(12,55,86,.28);box-shadow:none}
.btn.ghost:hover{background:rgba(12,55,86,.07)}
.btn.disabled{pointer-events:none;background:#eef3f5;color:#526471!important;border-color:#d5dde2;box-shadow:none}
.link-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}

.hero{padding:clamp(3rem,6vw,5.2rem) 0 clamp(2.2rem,4vw,3.6rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.hero h1{font-family:var(--display);font-size:clamp(4.2rem,8vw,7.1rem);line-height:.92;font-weight:500;letter-spacing:-.025em;color:var(--navy-dark);margin:0 0 1rem}
.hero-name-line{display:block}
.hero-name-line-first{white-space:nowrap}
.hero .lede{font-family:var(--display);font-size:clamp(1.55rem,2.45vw,2.25rem);font-weight:500;line-height:1.19;letter-spacing:-.025em;color:var(--navy-dark);max-width:820px;margin:0 0 1rem}
.hero .body-copy{max-width:820px;font-size:1.08rem;line-height:1.62;color:var(--ink-2);margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.35rem}
.portrait-card{margin:0;justify-self:end;width:min(100%,340px);background:#fff;border:1px solid var(--line-soft);border-radius:1.5rem;padding:.65rem;box-shadow:var(--shadow)}
.portrait-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 18%;border-radius:1.05rem}
.portrait-caption{display:none}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:2rem}
.stat{background:#fff;border:1px solid var(--line-soft);border-radius:1rem;padding:1rem;box-shadow:0 8px 22px rgba(18,36,51,.045);min-height:112px}
.stat strong{display:block;color:var(--navy);font-size:clamp(1.85rem,3vw,2.35rem);letter-spacing:-.04em;line-height:1}
.stat span{display:block;margin-top:.45rem;color:#4a5964;font-size:.93rem;line-height:1.28}

.grid{display:grid;gap:1rem}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three,.cards-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card,.process-preview-card,.mini-metric,.proof-pill,.sidebar,.asset-card,.artifact-preview-card,.system-step,.experience-item{
  background:#fff;
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  box-shadow:0 10px 24px rgba(18,36,51,.045);
}
.card{padding:1.2rem;display:flex;flex-direction:column;min-width:0}
.card.featured{padding:1.35rem}
.card h3{font-size:1.24rem;line-height:1.18;letter-spacing:-.02em;color:var(--navy);margin:.15rem 0 .55rem}
.card p{margin:.35rem 0;color:#415361}
.card .link-row{margin-top:auto;padding-top:.5rem}
.tag{display:inline-flex;width:max-content;max-width:100%;align-items:center;border:1px solid #d9e3e8;background:#f5f9fa;color:#365d6c;border-radius:999px;padding:.24rem .6rem;font-size:.71rem;line-height:1.2;margin-bottom:.55rem}

#best-work .section-inner{width:min(var(--max), calc(100% - 2.5rem));margin-inline:auto}
#best-work .cards-grid{display:grid;gap:1rem;margin-top:1.6rem}

.process-preview-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.4rem;align-items:center;padding:clamp(1.25rem,2.4vw,1.8rem)}
.process-preview-card h3{font-size:clamp(1.4rem,2.6vw,2.05rem);line-height:1.15;letter-spacing:-.025em;color:var(--navy);margin:0 0 .6rem}
.process-preview-card p{margin:0;color:var(--ink-2)}
.process-preview-card .link-row{margin:0;justify-content:flex-end}

.proof-flagship{margin-top:1rem;background:linear-gradient(135deg,var(--navy) 0%,#174b70 100%);border-radius:1.45rem;padding:clamp(1.35rem,3vw,2.25rem);box-shadow:0 22px 55px rgba(12,55,86,.22);color:#eef5f8}
.proof-flagship .tag{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.32);color:#eaf3f8}
.proof-flagship h3{color:#fff;font-size:clamp(1.45rem,2.4vw,2rem);margin:.45rem 0 .65rem}
.proof-flagship p{color:#e2edf3;max-width:850px;font-size:1.05rem;margin:0}
.proof-flagship .btn{margin-top:1.1rem;background:#fff;color:var(--navy)!important;border-color:#fff}

.stack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.stack-item{background:#fff;border:1px solid var(--line-soft);border-left:4px solid var(--navy);border-radius:.8rem;padding:1rem;color:#405260}
.stack-item strong{display:block;color:var(--navy);margin-bottom:.25rem}
.experience-list{display:grid;gap:1rem}
.experience-item{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.2rem;padding:1.2rem}
.experience-item h3{font-size:1.18rem;color:var(--navy);margin:0}
.experience-item p{margin:.2rem 0;color:#405260}
.quote-card{background:#123f61;color:#fff;border-radius:1.45rem;padding:clamp(1.5rem,3.2vw,2.45rem);box-shadow:var(--shadow)}
.quote-card h2{font-size:clamp(2rem,4vw,3.6rem);color:#fffaf2!important;margin:.4rem 0 1rem}
.quote-card p,.quote-card .kicker{color:rgba(255,255,255,.94)}
.quote-card .display-italic{color:#d5a04a}
.quote-card a:not(.btn){color:#fff}
.quote-card .btn.secondary{background:#fff;color:var(--navy)!important;border-color:#fff}

.footer,.site-footer{background:#102f48;color:#e8f0f5;padding:2.2rem 0}
.footer a,.site-footer a{color:#fff}
.footer-grid{display:flex;justify-content:space-between;gap:1rem;align-items:center;color:#e8f0f5}
.footer-grid div{max-width:740px}
.footer-grid strong{color:#fff}

.case-hero{padding:clamp(2.8rem,5vw,4.5rem) 0 2rem;background:linear-gradient(135deg,#f8f4ed,#edf4f6)}
.case-hero h1{font-size:clamp(2.65rem,5.6vw,5.25rem);margin:.3rem 0 .8rem;color:var(--navy-dark)}
.case-hero .lede{font-size:clamp(1.1rem,1.8vw,1.32rem);line-height:1.48;color:var(--ink-2);max-width:900px}
.breadcrumb{font-size:.92rem;color:#60717d;margin-bottom:.65rem}
.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:2rem;align-items:start}
.sidebar{position:sticky;top:94px;padding:1rem}
.sidebar h3{font-size:1rem;color:var(--navy);margin:.1rem 0 .5rem}
.sidebar ul{font-size:.94rem}
.case-section{padding:2rem 0;border-top:1px solid var(--line-soft)}
.case-section h2{font-size:clamp(1.65rem,3vw,2.45rem);margin:0 0 .7rem;color:var(--navy-dark)}
.case-section p{color:var(--ink-2)}
.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.mini-metric{padding:1rem}
.mini-metric strong{display:block;color:var(--navy);font-size:1.85rem;line-height:1}
.artifact-note,.callout{background:#fff;border:1px dashed #b8c7d0;border-radius:1rem;padding:1rem;margin:1rem 0;color:#405260}
.callout{border-left:5px solid var(--gold);border-style:solid}
.before-after-grid,.system-map{display:grid;gap:.85rem;margin-top:1rem}
.before-after-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.system-map{grid-template-columns:repeat(3,minmax(0,1fr))}
.system-step{padding:1rem}
.system-step strong{display:block;color:var(--navy);margin-bottom:.3rem}
.system-step span{display:block;color:#44515b;font-size:.94rem;line-height:1.42}
.proof-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.proof-pill{padding:.85rem;color:#344756}
.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1rem 0}
.asset-card{display:block;text-decoration:none;color:var(--ink);padding:1rem}
.asset-card strong{display:block;color:var(--navy);font-size:1.05rem;margin:.1rem 0 .35rem}
.asset-card span:not(.tag){display:block;color:#465766;line-height:1.38}
.artifact-disclaimer{color:#4f5b64;font-size:.98rem}
.video-feature{padding-top:1.2rem;padding-bottom:1.8rem}
.video-feature .container{max-width:980px}
.video-lead{border-top:0;padding-top:0}
.video-embed{position:relative;width:min(100%,920px);margin:0 auto;aspect-ratio:16/9;border-radius:1rem;overflow:hidden;box-shadow:0 14px 34px rgba(18,36,50,.16);background:#062f32}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-caption,.video-link-row{max-width:900px;margin:.75rem auto 0;color:#5a6670;font-size:.9rem;line-height:1.45}
.artifact-preview-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(220px,.8fr);gap:1.25rem;align-items:center;margin-top:1rem;padding:1.2rem}
.artifact-preview-kicker{margin:0 0 .3rem;color:#315456;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.artifact-preview-card h3{margin:0 0 .55rem;color:var(--navy)}
.artifact-preview-thumb{display:block;border:1px solid var(--line-soft);border-radius:.85rem;overflow:hidden;background:#fff;box-shadow:0 10px 24px rgba(18,36,50,.08)}
.capture-page .container{max-width:1040px}
.capture-note{max-width:760px;margin:0 auto 1rem;color:#58636c;text-align:center;font-size:.95rem}
.capture-frame{margin:0 auto;width:min(100%,740px);background:#fff}
.capture-frame img{display:block;width:100%;height:auto;border:1px solid var(--line-soft);border-radius:.85rem;box-shadow:0 16px 34px rgba(18,36,50,.12)}
.capture-toolbar{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:.75rem;padding:.75rem;background:#102f48;color:#fff}
.capture-image{display:block;max-width:1100px;width:100%;margin:0 auto;background:#fff}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.process-hero h1{max-width:820px}
.process-intro{max-width:930px}
.process-intro p{font-size:1.08rem;line-height:1.58;color:#3f5261}
.process-intro .process-deck{font-family:var(--display);font-size:clamp(1.28rem,2vw,1.65rem);line-height:1.38;color:var(--navy);font-weight:500;letter-spacing:-.02em}
.process-flow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem}
.process-step{background:#fff;border:1px solid var(--line-soft);border-radius:1rem;padding:.95rem;box-shadow:0 8px 20px rgba(18,36,50,.045)}
.process-step span{display:inline-flex;color:var(--green);font-weight:850;font-size:.78rem;letter-spacing:.06em;margin-bottom:.35rem}
.process-step h3{font-size:1.02rem;color:var(--navy);margin:0 0 .4rem}
.process-step p{margin:0;font-size:.91rem;line-height:1.42;color:#465766}

.resume-page{padding-top:clamp(3rem,6vw,5.3rem)}
.resume-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.35fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.resume-sidebar{position:sticky;top:6rem}
.resume-sidebar h1{font-size:clamp(2.45rem,5.2vw,4.6rem);margin:0 0 1rem;color:var(--navy-dark)}
.resume-sidebar p{font-size:1.06rem;line-height:1.56;margin:0 0 1rem}
.resume-downloads{display:grid;gap:.8rem;margin:1.5rem 0 1rem;max-width:380px}

.resume-pdf-preview{margin:1rem 0 1.15rem}
.resume-pdf-preview h2{font-family:var(--sans);font-size:.78rem;letter-spacing:.075em;text-transform:uppercase;color:var(--green);margin:0 0 .55rem}
.resume-pdf-frame{display:block;width:100%;height:420px;border:1px solid rgba(12,55,86,.16);border-radius:1rem;background:#fff;box-shadow:0 12px 30px rgba(9,29,44,.08)}
.resume-note{font-size:.95rem!important;color:var(--muted)!important}
.resume-web{background:rgba(255,255,255,.82);border:1px solid rgba(12,55,86,.14);border-radius:var(--radius-lg);padding:clamp(1.35rem,3.5vw,2.35rem);box-shadow:0 20px 50px rgba(9,29,44,.07)}
.resume-web-header{border-bottom:1px solid rgba(12,55,86,.14);padding-bottom:1.15rem;margin-bottom:1.2rem}
.resume-web-header h2{font-size:clamp(1.55rem,3vw,2.35rem);margin:0 0 .4rem;color:var(--navy-dark)}
.resume-title-line{font-weight:700;color:var(--navy)!important;margin:0 0 .7rem!important;line-height:1.35!important}
.resume-web section+section{border-top:1px solid rgba(12,55,86,.12);margin-top:1.25rem;padding-top:1.25rem}
.resume-web h3{font-size:.98rem;text-transform:uppercase;letter-spacing:.09em;color:var(--navy);margin:0 0 .55rem}
.resume-web h4{font-size:1.05rem;line-height:1.3;color:var(--ink);margin:.95rem 0 .15rem}
.resume-web p,.resume-web li{font-size:1rem;line-height:1.58}
.resume-date{font-size:.95rem!important;color:var(--gold)!important;font-weight:700;margin:.1rem 0 .35rem!important}
.resume-role+ .resume-role{margin-top:.75rem}

@media (min-width:901px){
  .proof-wide,.case-wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,auto);gap:.8rem 1.5rem;align-items:center;padding:1.45rem 1.55rem}
  .proof-wide .tag,.case-wide .tag{grid-column:1;grid-row:1;justify-self:start;align-self:start;white-space:nowrap}
  .proof-wide h3,.case-wide h3{grid-column:1;grid-row:2;margin:0}
  .proof-wide p,.case-wide p{grid-column:1;grid-row:3;max-width:820px;margin:0}
  .proof-wide .link-row,.case-wide .link-row{grid-column:2;grid-row:1/span 3;align-self:center;justify-self:end;margin-top:0}
}

@media (max-width:1100px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-flow{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .site-header{position:sticky}
  .nav{width:100%;min-height:auto;padding:.65rem 1rem .7rem;display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .8rem}
  .brand{font-size:.92rem;letter-spacing:.08em}
  .nav-links{order:3;width:100%;display:flex;gap:.55rem;overflow-x:auto;padding:.18rem 0 .08rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a{font-size:.82rem;line-height:1;border:1px solid rgba(12,55,86,.14);background:rgba(255,255,255,.55);border-radius:999px;padding:.46rem .62rem}
  .mobile-only{display:inline-flex}
  .mobile-only.btn{min-height:2.35rem;padding:.58rem .82rem;font-size:.8rem;box-shadow:none}
  .container,#best-work .section-inner{width:auto;margin-inline:0;padding-inline:1rem}
  .section{padding:2.9rem 0}
  .section-head,.hero-grid,.case-layout,.experience-item,.resume-layout{grid-template-columns:1fr;gap:1.25rem}
  .section h2{font-size:clamp(2rem,9.5vw,3rem);line-height:1.06}
  .hero{padding:2rem 0 2.35rem}
  .hero h1{font-size:clamp(3.15rem,15vw,5rem);line-height:.95;margin-bottom:.85rem}
  .hero .lede{font-size:clamp(1.35rem,6vw,1.95rem);line-height:1.18}
  .hero .body-copy{font-size:1rem;line-height:1.5}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:.7rem}
  .hero-actions .btn{width:100%}
  .portrait-card{justify-self:center;width:min(78vw,300px);margin-top:.4rem}
  .grid.two,.grid.three,.grid.four,.cards-grid.three,.stack-grid,.proof-list,.asset-grid,.metric-row,.before-after-grid,.system-map,.artifact-preview-card{grid-template-columns:1fr}
  .process-preview-card{grid-template-columns:1fr;gap:1rem}
  .process-preview-card .link-row{justify-content:flex-start}
  .sidebar,.resume-sidebar{position:static}
  .footer-grid{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .nav{width:100%;padding:.58rem .85rem .65rem}
  .brand{font-size:.84rem;letter-spacing:.07em}
  .nav-links{gap:.45rem}
  .nav-links a{font-size:.78rem;padding:.43rem .56rem}
  .mobile-only.btn{font-size:.74rem;padding:.52rem .66rem}
  .eyebrow,.kicker{font-size:.68rem;line-height:1.4;letter-spacing:.07em}
  .hero{padding-top:1.55rem}
  .hero h1{font-size:clamp(2.85rem,14.6vw,3.85rem);letter-spacing:-.03em}
  .hero .lede{font-size:clamp(1.28rem,6.2vw,1.62rem);line-height:1.2}
  .section h2,.case-hero h1,.quote-card h2,.resume-sidebar h1{font-size:clamp(2.05rem,9.5vw,2.8rem);line-height:1.06}
  .section-head{margin-bottom:1.25rem}
  .stats{grid-template-columns:1fr;gap:.65rem}
  .stat{min-height:auto;padding:.9rem}
  .card,.process-preview-card,.quote-card,.resume-web{border-radius:1.1rem;padding:1.15rem}
  .case-hero{padding:2rem 0 1.4rem}
  .case-section{padding:1.55rem 0}
  .process-flow{grid-template-columns:1fr}
  .video-feature .container{padding-inline:0}
  .video-embed{border-radius:0;width:100%;max-width:none;box-shadow:none}
  .video-caption,.video-link-row{padding-inline:1rem;font-size:.84rem}
  .resume-downloads{max-width:none}
  .resume-downloads .btn{width:100%}
  .resume-pdf-frame{height:330px}
  .resume-web p,.resume-web li{font-size:.97rem;line-height:1.55}
  .footer,.site-footer{padding:1.65rem 0}
}
@media (hover:none){.btn:hover,.card:hover{transform:none}}

/* Executive QA polish: tighter spacing, stronger modules, cleaner link treatment */
.section{padding:clamp(2.8rem,4.8vw,4.6rem) 0}
.section-head{align-items:start;margin-bottom:1.45rem;gap:clamp(1rem,3vw,2rem)}
.section-intro{max-width:780px}
#proof{padding-top:clamp(2.6rem,4.2vw,4.2rem)}
#field-work{background:linear-gradient(180deg,rgba(233,243,247,.62),rgba(255,250,242,.72));}
#about,#process-preview,#leadership,#case-studies,#stack,#experience{scroll-margin-top:92px}

.tag{display:block;width:auto;max-width:none;border:0;background:transparent;border-radius:0;padding:0;margin:0 0 .42rem;color:#466553;font-size:.7rem;line-height:1.25;box-shadow:none}
.proof-flagship .tag,.quote-card .tag{background:transparent;border:0;color:#dbeaf0;padding:0}
.card,.process-preview-card,.mini-metric,.proof-pill,.sidebar,.asset-card,.artifact-preview-card,.system-step,.experience-item{background:linear-gradient(180deg,#fff 0%,#f6fbfd 100%);border-color:rgba(12,55,86,.16)}
.card{border-top:3px solid rgba(12,55,86,.52);box-shadow:0 12px 30px rgba(12,55,86,.065)}
.card.featured{background:linear-gradient(180deg,#ffffff 0%,#eef7fb 100%);border-top-color:#0c3756}
.grid.four .card:nth-child(even),.grid.three .card:nth-child(even),.cards-grid.three .card:nth-child(even){background:linear-gradient(180deg,#ffffff 0%,#f0f7fa 100%)}
.card h3{margin:.05rem 0 .5rem}.card p{line-height:1.5}
.link-row a:not(.btn){display:inline-flex;align-items:center;justify-content:center;min-height:2.55rem;padding:.62rem 1.05rem;border-radius:999px;border:1px solid var(--gold);background:var(--gold);color:#fff!important;text-decoration:none;font-weight:760;line-height:1.15;box-shadow:0 9px 20px rgba(169,120,40,.14)}
.link-row a:not(.btn):hover{background:#8f6320;border-color:#8f6320;color:#fff!important}
.proof-flagship{margin-top:.45rem;margin-bottom:.95rem;background:linear-gradient(135deg,#0b3553 0%,#155075 100%)}
.proof-flagship h3{font-size:clamp(1.45rem,2.15vw,1.9rem)}
.proof-flagship p{line-height:1.52;max-width:900px}
.stack-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.stack-item{background:linear-gradient(180deg,#ffffff,#edf7fb);border-color:rgba(12,55,86,.18);border-left:4px solid var(--navy);box-shadow:0 10px 22px rgba(12,55,86,.055)}
.experience-item{grid-template-columns:220px minmax(0,1fr);background:linear-gradient(180deg,#ffffff,#f5fbfd)}
.process-preview-card{background:linear-gradient(135deg,#ffffff 0%,#eef7fb 100%);border-left:5px solid var(--navy)}
.stats{margin-top:1.65rem}.stat{background:linear-gradient(180deg,#fff,#f3f9fc);border-color:rgba(12,55,86,.14)}
.resume-page{padding-top:clamp(2.6rem,5vw,4.2rem)}
.resume-downloads{gap:.68rem;margin:1.1rem 0 .9rem}.resume-pdf-frame{height:480px}.resume-web{background:linear-gradient(180deg,#fff,#f6fbfd);border-color:rgba(12,55,86,.18)}

@media (max-width:1100px){.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .section{padding:2.45rem 0}.section-head{gap:.7rem;margin-bottom:1rem}.section-intro{font-size:1rem;line-height:1.52}
  .hero-actions{grid-template-columns:1fr 1fr}.hero-actions .btn{width:100%}.hero-actions .btn:nth-child(2){grid-column:auto}
  .stack-grid{grid-template-columns:1fr}.experience-item{grid-template-columns:1fr}.proof-flagship{border-radius:1.2rem;padding:1.2rem}.resume-pdf-frame{height:390px}
}
@media (max-width:640px){
  .container,#best-work .section-inner{padding-inline:1.05rem}.section{padding:2.15rem 0}.hero{padding-bottom:2rem}.hero-actions{grid-template-columns:1fr}.section h2{font-size:clamp(2rem,9vw,2.55rem)}
  .card,.process-preview-card,.quote-card,.resume-web,.experience-item{padding:1rem;border-radius:1rem}.grid{gap:.85rem}.proof-flagship{margin-bottom:.8rem}.resume-pdf-frame{height:310px}
}


/* Final executive visual QA pass: stronger blue modules, cleaner spacing, and no blank PDF well */
:root{--module-blue:#edf7fb;--module-blue-strong:#dceef6;--module-blue-deep:#0c3756;}
.section{padding:clamp(2.65rem,4.5vw,4.35rem) 0;}
.section-head{grid-template-columns:minmax(0,.78fr) minmax(320px,1fr);align-items:start;margin-bottom:1.2rem;}
.section-head h2{max-width:760px;}
.section-intro{line-height:1.52;}
.card,.process-preview-card,.mini-metric,.proof-pill,.sidebar,.asset-card,.artifact-preview-card,.system-step,.experience-item{background:linear-gradient(180deg,#ffffff 0%,var(--module-blue) 100%);border:1px solid rgba(12,55,86,.20);}
.card,.stack-item,.experience-item,.stat{box-shadow:0 14px 32px rgba(12,55,86,.075);}
.card{border-top:4px solid rgba(12,55,86,.62);}
.card.featured{background:linear-gradient(180deg,#ffffff 0%,var(--module-blue-strong) 100%);border-top-color:var(--module-blue-deep);}
.grid.four .card:nth-child(odd),.grid.three .card:nth-child(odd),.cards-grid.three .card:nth-child(odd){background:linear-gradient(180deg,#ffffff 0%,#e6f3f8 100%);}
.proof-flagship{background:linear-gradient(135deg,#082f4b 0%,#0c4266 54%,#155b80 100%);}
.stack-item{background:linear-gradient(180deg,#ffffff 0%,#e4f3f8 100%);border:1px solid rgba(12,55,86,.20);border-left:5px solid var(--module-blue-deep);}
.stack-item strong{margin-bottom:.32rem;}
#field-work,#leadership,#experience{background:linear-gradient(180deg,#edf7fb 0%,#fbf7f0 100%);}
#case-studies,#stack,#contact{background:linear-gradient(180deg,#fffaf2 0%,#f8fbfc 100%);}
.link-row a:not(.btn),.breadcrumb a,.case-section a:not(.asset-card):not(.btn),.resume-format-options a:not(.btn){display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:.55rem .95rem;border-radius:999px;border:1px solid var(--gold);background:var(--gold);color:#fff!important;text-decoration:none;font-weight:760;line-height:1.15;box-shadow:0 9px 20px rgba(169,120,40,.14);}
.breadcrumb{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;}
.breadcrumb a{font-size:.82rem;min-height:2rem;padding:.42rem .78rem;}
.resume-web-header a{color:var(--navy);text-decoration-color:rgba(12,55,86,.24);text-underline-offset:3px;}
.resume-pdf-preview{display:none!important;}
.resume-downloads{max-width:360px;}
.resume-format-options{margin-top:1.35rem;padding-top:1.25rem;border-top:1px solid rgba(12,55,86,.14);}
.resume-format-options p{margin-bottom:.6rem;}
@media (min-width:901px){
  #leadership .section-head,#experience .section-head{align-items:start;}
  #leadership .section-intro,#experience .section-intro{padding-top:.35rem;}
}
@media (max-width:900px){
  .section-head{grid-template-columns:1fr;gap:.75rem;}
  .hero-actions{grid-template-columns:1fr 1fr;}
  .resume-downloads{max-width:none;}
}
@media (max-width:640px){
  .hero-actions{grid-template-columns:1fr;}
  .section{padding:2.05rem 0;}
  .resume-page{padding-top:2.1rem;}
  .resume-sidebar .eyebrow{font-size:.74rem;line-height:1.45;}
}

/* Resume contact links: pill treatment instead of underlined text */
.resume-web-header p:last-child{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;line-height:1.7!important;}
.resume-web-header p:last-child a{display:inline-flex;align-items:center;justify-content:center;min-height:1.85rem;padding:.34rem .64rem;border-radius:999px;background:#e8f3f7;border:1px solid rgba(12,55,86,.18);color:var(--navy)!important;text-decoration:none;font-weight:720;line-height:1.1;}
.resume-web-header p:last-child a:hover{background:#d9edf5;border-color:rgba(12,55,86,.3);}

/* Final voice/polish pass: keep the long resume readable without leaving a blank sidebar on desktop. */
@media (min-width: 901px){
  .resume-page .container{max-width:1050px;}
  .resume-layout{grid-template-columns:1fr;max-width:920px;margin:0 auto;gap:1.25rem;}
  .resume-sidebar{position:static;max-width:680px;margin:0 auto .65rem;text-align:center;}
  .resume-sidebar .eyebrow,.resume-sidebar p{max-width:620px;margin-left:auto;margin-right:auto;}
  .resume-downloads{margin-left:auto;margin-right:auto;}
  .resume-web{max-width:840px;margin:0 auto;}
}


/* Final cream-only surface override: remove all cool casting from site backgrounds/cards.
   Navy remains text/accent only; gold remains accent only. */
:root{
  --cream-0:#fffaf3;
  --cream-1:#fbf4ea;
  --cream-2:#f6edde;
  --cream-3:#efe2cf;
  --warm-line:#d9c8af;
  --warm-line-soft:rgba(173,133,74,.18);
  --warm-shadow:0 14px 30px rgba(92,63,28,.08);
}
html,body{
  background:linear-gradient(180deg,var(--cream-0) 0%,var(--cream-1) 44%,var(--cream-2) 100%) !important;
}
.section-alt,
#field-work,
#leadership,
#experience,
#case-studies,
#stack,
#contact,
.case-hero{
  background:linear-gradient(180deg,var(--cream-0) 0%,var(--cream-1) 100%) !important;
}
.section,
.case-section{
  border-top:1px solid var(--warm-line-soft) !important;
}
.card,
.process-preview-card,
.mini-metric,
.proof-pill,
.sidebar,
.asset-card,
.artifact-preview-card,
.system-step,
.experience-item,
.process-step,
.resume-web,
.stat,
.stack-item,
.resume-web-header p:last-child a,
.tag,
.callout,
.artifact-note{
  background:linear-gradient(180deg,var(--cream-0) 0%,var(--cream-1) 100%) !important;
}
.card,
.process-preview-card,
.mini-metric,
.proof-pill,
.sidebar,
.asset-card,
.artifact-preview-card,
.system-step,
.experience-item,
.process-step,
.resume-web,
.stat,
.stack-item,
.resume-pdf-frame,
.resume-web-header p:last-child a,
.callout,
.artifact-note{
  border-color:var(--warm-line) !important;
  box-shadow:var(--warm-shadow) !important;
}
.card.featured,
.grid.four .card:nth-child(odd),
.grid.four .card:nth-child(even),
.grid.three .card:nth-child(odd),
.grid.three .card:nth-child(even),
.cards-grid.three .card:nth-child(odd),
.cards-grid.three .card:nth-child(even),
.experience-item,
.stack-item,
.process-preview-card,
.stat,
.resume-web,
.resume-web-header p:last-child a{
  background:linear-gradient(180deg,var(--cream-0) 0%,var(--cream-1) 100%) !important;
}
.card,
.stack-item,
.process-preview-card{
  border-top-color:rgba(12,55,86,.45) !important;
  border-left-color:rgba(12,55,86,.45) !important;
}
.proof-flagship,
.quote-card,
.footer,
.site-footer{
  background:#0c3756 !important;
}
.proof-flagship,
.quote-card{
  color:#fff7eb !important;
  box-shadow:0 18px 36px rgba(8,28,44,.18) !important;
}
.proof-flagship .tag,
.quote-card .tag,
.proof-flagship p,
.quote-card p,
.quote-card a:not(.btn){
  color:#fff3e0 !important;
}
.proof-flagship h3,
.quote-card h2,
.quote-card strong,
.footer strong,
.site-footer strong{
  color:#fffaf2 !important;
}
.proof-flagship .btn,
.quote-card .btn.secondary{
  background:#fff7eb !important;
  border-color:#fff7eb !important;
  color:var(--navy) !important;
  box-shadow:none !important;
}
.proof-flagship .btn:hover,
.quote-card .btn.secondary:hover{
  background:#f4ead7 !important;
  border-color:#f4ead7 !important;
}
.resume-web-header,
.resume-web section+section,
.resume-format-options,
.resume-pdf-frame{
  border-color:var(--warm-line-soft) !important;
}
.resume-web-header p:last-child a:hover{
  background:var(--cream-2) !important;
  border-color:#c9b08a !important;
}
/* Keep links/buttons readable without adding cool backgrounds */
.btn.ghost{
  background:transparent !important;
  color:var(--navy) !important;
  border-color:rgba(12,55,86,.28) !important;
  box-shadow:none !important;
}
.btn.ghost:hover{background:rgba(169,120,40,.08) !important;}
