
:root{
  --bg:#0b1020;
  --bg2:#11182a;
  --panel:#151d31;
  --panel2:#1a243b;
  --text:#f6f1e8;
  --muted:#a7afc0;
  --line:#2c3854;
  --acid:#176b45;
  --acid-dark:#0d4d32;
  --mint:#8fc9ad;
  --cream:#f4eadb;
  --ink:#111525;
  --shadow:0 24px 80px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:
linear-gradient(rgba(124,199,255,.025) 1px,transparent 1px),
linear-gradient(90deg,rgba(124,199,255,.025) 1px,transparent 1px),
var(--bg);background-size:32px 32px;color:var(--text);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:1320px;margin:auto;padding:0 28px}
.mono{font-family:"DM Mono",monospace;text-transform:uppercase;letter-spacing:.09em;font-size:11px}
.serif,h1,h2,h3{font-family:Inter,Arial,sans-serif}
header{position:sticky;top:0;z-index:40;background:rgba(11,16,32,.90);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{font-size:22px;font-weight:700;letter-spacing:-.04em}.brand span{color:var(--acid)}
.navlinks{display:flex;gap:24px;font-size:12px;color:#d8dbe4}.navlinks a:hover{color:var(--acid)}
.navcta,.btn{border:1px solid #53617f;border-radius:8px;padding:12px 16px;font-size:12px;display:inline-flex;align-items:center;gap:8px;transition:.2s}
.navcta:hover,.btn:hover{border-color:var(--acid);color:var(--acid);box-shadow:0 0 0 3px rgba(105,168,120,.10)}
.btn.primary{background:var(--acid);color:var(--ink);border-color:var(--acid);font-weight:700}
.hero{padding:90px 0 64px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-90px;top:50px;width:480px;height:480px;border:1px solid rgba(183,255,100,.2);border-radius:30px;transform:rotate(14deg);box-shadow:0 0 0 80px rgba(183,255,100,.02),0 0 0 160px rgba(183,255,100,.01)}
.eyebrow{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:28px;position:relative;z-index:1}
.hero h1{font-size:clamp(58px,7.4vw,108px);line-height:.94;letter-spacing:-.06em;max-width:1100px;margin:0 0 30px;font-weight:600;position:relative;z-index:1}
.hero .sub{font-size:19px;line-height:1.65;max-width:760px;color:#c4c9d6;position:relative;z-index:1}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;position:relative;z-index:1}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(12,27,20,.72);border-bottom:1px solid var(--line)}
.stat{padding:24px 28px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat b{display:block;font-size:24px;margin-top:8px;color:var(--acid)}
section{padding:86px 0;border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:170px 1fr;gap:34px;margin-bottom:42px}
.section-head h2{font-size:clamp(40px,5vw,70px);line-height:1;letter-spacing:-.05em;margin:0;max-width:900px}
.section-head p{max-width:780px;color:var(--muted);line-height:1.65}
.grid2,.grid3{display:grid;gap:16px}.grid2{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}
.card,.panel,.person,.insight{background:linear-gradient(180deg,rgba(19,41,31,.96),rgba(13,29,22,.96));border:1px solid var(--line);border-radius:14px;padding:26px;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:.25s}
.card:before,.panel:before,.person:before,.insight:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(124,199,255,.05),transparent 40%);pointer-events:none}
.card:hover,.panel:hover,.person:hover,.insight:hover{transform:translateY(-3px);border-color:#4b5d86}
.card .num{color:var(--mint);margin-bottom:36px}.card h3,.panel h3,.person h3,.insight h3{font-size:28px;margin:0 0 12px;letter-spacing:-.03em}
.card p,.panel p,.person p,.insight p{color:var(--muted);line-height:1.65}.link,.insight a{color:var(--acid);font-weight:600}
.alt{background:#0e1425}.dark{background:#080d1a}
.subhero{padding:74px 0 52px;background:
radial-gradient(circle at 85% 20%,rgba(124,199,255,.12),transparent 28%),
linear-gradient(180deg,#10172a,#0b1120);border-bottom:1px solid var(--line)}
.subhero h1{font-size:clamp(56px,7vw,96px);line-height:.95;letter-spacing:-.055em;margin:18px 0 22px;max-width:980px}
.subhero p,.lead{font-size:18px;line-height:1.7;color:#c2c7d3;max-width:860px}
.breadcrumb{font-family:"DM Mono",monospace;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--mint)}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.portrait{height:220px;background:
radial-gradient(circle at 50% 35%,rgba(124,199,255,.13),transparent 25%),
linear-gradient(145deg,#1d2944,#111a2d 65%,#243354);display:grid;place-items:center;font-size:52px;font-weight:700;color:var(--acid);margin:-26px -26px 18px;border-bottom:1px solid var(--line)}
.role,.kicker{font-family:"DM Mono",monospace;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--mint)}
.table{width:100%;border-collapse:collapse;background:#121a2c;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.table th,.table td{text-align:left;padding:14px;border-bottom:1px solid var(--line);font-size:13px}.table th{width:28%;font-family:"DM Mono";font-size:10px;text-transform:uppercase;color:var(--muted)}
.profile{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.profile h2{font-size:48px;margin:0 0 16px}.profile p{color:var(--muted);line-height:1.7}
.insights{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.article{max-width:860px;margin:auto}.article h2{font-size:42px;margin-top:46px}.article h3{font-size:28px;margin-top:32px}.article p,.article li{font-size:17px;line-height:1.82;color:#c6cad5}.article blockquote{border-left:3px solid var(--acid);padding:18px 24px;background:#151d31;font-size:24px;line-height:1.5;color:#f6f1e8}
.content-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:64px;align-items:start}
.prose h2{font-size:46px;line-height:1.05;margin:0 0 22px}.prose h3{font-size:28px;margin:38px 0 12px}.prose p,.prose li{font-size:16px;line-height:1.8;color:#c4c9d5}
.sidebox{background:#141d31;border:1px solid var(--line);border-radius:14px;padding:24px;position:sticky;top:105px}.sidebox h3{font-size:25px;margin:8px 0 16px}.sidebox p,.sidebox li{font-size:13px;line-height:1.65;color:var(--muted)}
.band{padding:48px 0;background:linear-gradient(90deg,#202c4b,#29385d);color:white;border-bottom:1px solid var(--line)}
.band-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:32px;align-items:end}.band h2{font-size:42px;margin:0}.band b{font-size:38px;display:block;color:var(--acid)}.band span{font-size:12px;color:#d5d9e3}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.tag{border:1px solid #3a496c;border-radius:999px;padding:7px 10px;font:500 10px "DM Mono";text-transform:uppercase;color:#d6dae4;background:#11192b}
.search{margin-top:22px}.search input{width:100%;max-width:520px;background:#11192b;border:1px solid var(--line);color:white;padding:14px;border-radius:8px}
.listrows{border-top:1px solid var(--line)}.listrow{display:grid;grid-template-columns:70px 1fr 1.2fr 40px;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);align-items:center}.listrow h3{font-size:27px;margin:0}.listrow p{margin:0;color:var(--muted)}
.quote{font-size:38px;line-height:1.2;max-width:900px}.quote-by{margin-top:18px;color:var(--muted);font-size:13px}
.contact-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden}.contact-panel>div{padding:32px;background:#121a2c}.contact-panel>div+div{border-left:1px solid var(--line)}
footer{padding:48px 0 26px;background:#070b15}.footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:38px}.footer-grid h4{font:500 11px "DM Mono";text-transform:uppercase;letter-spacing:.09em;color:var(--mint)}.footer-grid a{display:block;color:var(--muted);font-size:13px;margin:10px 0}.fine{margin-top:38px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between}
@media(max-width:900px){.navlinks{display:none}.stats{grid-template-columns:1fr 1fr}.section-head,.profile,.content-grid,.band-grid,.contact-panel{grid-template-columns:1fr}.grid3,.people,.insights{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.sidebox{position:static}}
@media(max-width:600px){.wrap{padding:0 18px}.hero h1{font-size:52px}.stats,.grid2,.grid3,.people,.insights,.footer-grid{grid-template-columns:1fr}.eyebrow{display:block}.eyebrow span{display:block;margin-bottom:7px}.fine{display:block}.listrow{grid-template-columns:45px 1fr}.listrow p{grid-column:2}}

.person-photo{width:calc(100% + 52px);height:250px;object-fit:cover;display:block;margin:-26px -26px 18px;border-bottom:1px solid var(--line);filter:none}
.profile-photo{width:100%;max-height:540px;object-fit:cover;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.office-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);margin-top:24px;filter:saturate(.8) contrast(1.03)}
.office-card-photo{width:calc(100% + 52px);height:190px;object-fit:cover;display:block;margin:-26px -26px 18px;border-bottom:1px solid var(--line);filter:saturate(.78)}

/* v2 visual refinement — cleaner photos, stronger hierarchy */
.wrap{max-width:1240px}
.hero{padding:74px 0 58px}
.hero:after{display:none}
.hero-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:58px;align-items:center}
.hero-copy{min-width:0}
.hero-visual{position:relative;min-height:520px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#111a2d;box-shadow:var(--shadow)}
.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08) brightness(.78)}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(4,12,8,.78))}
.hero-visual-meta{position:absolute;left:26px;right:26px;bottom:24px;z-index:2;display:flex;justify-content:space-between;align-items:end;color:white}
.hero-visual-meta strong{display:block;font-size:24px;margin-top:5px}
.hero-visual-meta span{font:500 10px "DM Mono";text-transform:uppercase;letter-spacing:.1em;color:var(--acid)}
.hero h1{font-size:clamp(54px,6.3vw,88px);max-width:760px}
.hero .sub{max-width:700px}
.stats-shell{border-bottom:1px solid var(--line);background:rgba(10,25,18,.72)}
.stats{max-width:1240px;margin:0 auto;border-bottom:0;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.stat{padding:23px 26px}
.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.office-card{display:block;background:linear-gradient(180deg,#151d31,#11192b);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.22s}
.office-card:hover{transform:translateY(-3px);border-color:#586d9b}
.office-card img{width:100%;height:220px;object-fit:cover;display:block;filter:saturate(.7) contrast(1.08) brightness(.85)}
.office-card-body{padding:23px 24px 26px}
.office-card h3{font-size:29px;margin:13px 0 12px}
.office-card p{color:var(--muted);line-height:1.6}
.office-card .link{position:static;display:inline-block;margin-top:14px}
.person-photo{width:calc(100% + 52px);height:280px;object-fit:cover;object-position:center 28%;display:block;margin:-26px -26px 18px;border-bottom:1px solid var(--line);filter:none}
.profile-photo{width:100%;height:510px;object-fit:cover;object-position:center 28%;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.office-photo{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow);filter:saturate(.72) contrast(1.05) brightness(.88)}
.office-photo-wrap{position:relative}
.office-photo-wrap:after{content:"";position:absolute;inset:auto 0 0 0;height:38%;border-radius:0 0 16px 16px;background:linear-gradient(transparent,rgba(5,14,9,.66));pointer-events:none}
@media(max-width:1000px){.hero-shell{grid-template-columns:1fr}.hero-visual{min-height:420px}.office-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.office-grid{grid-template-columns:1fr}.hero-visual{min-height:340px}.stats{border-left:0;border-right:0}}

/* v3 People + About refinement */
.people-hero,.about-hero{padding:72px 0 58px;background:linear-gradient(180deg,#0f1728,#0b1020);border-bottom:1px solid var(--line)}
.people-hero-grid,.about-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:56px;align-items:center}
.people-hero h1,.about-hero h1{font-size:clamp(52px,6vw,82px);line-height:.98;letter-spacing:-.055em;margin:18px 0 22px}
.people-hero-photo,.about-hero-photo,.hq-photo{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#11192b}
.people-hero-photo{min-height:430px}.people-hero-photo img,.about-hero-photo img,.hq-photo img{width:100%;height:100%;object-fit:cover;display:block}
.people-hero-photo img{position:absolute;inset:0;filter:saturate(.72) contrast(1.06) brightness(.78)}
.people-hero-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(4,10,18,.88))}
.people-hero-caption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.people-hero-caption span{font:500 10px "DM Mono";letter-spacing:.09em;text-transform:uppercase;color:var(--acid)}.people-hero-caption strong{display:block;margin-top:8px;font-size:20px}
.about-hero-photo{height:440px}.about-hero-photo img{filter:saturate(.75) contrast(1.06) brightness(.82)}
.hq-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:54px;align-items:center}.hq-grid h2{font-size:clamp(40px,5vw,64px);line-height:1.02;margin:12px 0 22px}.hq-grid p{font-size:16px;line-height:1.8;color:var(--muted)}.hq-photo{height:430px}.hq-photo img{filter:saturate(.8) contrast(1.05) brightness(.9)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.value-card{background:linear-gradient(180deg,#151d31,#11192b);border:1px solid var(--line);border-radius:14px;padding:24px}.value-card span{font:500 10px "DM Mono";color:var(--acid)}.value-card h3{font-size:24px;margin:14px 0 10px}.value-card p{color:var(--muted);line-height:1.65;font-size:14px}.about-commit{background:linear-gradient(120deg,rgba(0,98,65,.72),#0b1020 70%)}
.person-photo{height:300px;object-position:center 30%;filter:none brightness(.96)}
@media(max-width:1000px){.people-hero-grid,.about-hero-grid,.hq-grid{grid-template-columns:1fr}.people-hero-photo,.about-hero-photo,.hq-photo{min-height:360px;height:360px}.grid4{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.grid4{grid-template-columns:1fr}.people-hero-photo,.about-hero-photo,.hq-photo{min-height:300px;height:300px}}

/* 2026-08 polish: sharper portrait rendering and richer long-form pages */
.person-photo,.profile-photo{image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}
.person-photo{object-position:center 22%;background:#0c111d}
.person[data-searchable]:nth-child(1) .person-photo{object-position:center 20%}
.person[data-searchable]:nth-child(2) .person-photo{object-position:center 18%}
.person[data-searchable]:nth-child(3) .person-photo{object-position:center 19%}
.person[data-searchable]:nth-child(4) .person-photo{object-position:center 18%}
.person[data-searchable]:nth-child(5) .person-photo{object-position:center 20%}
.person[data-searchable]:nth-child(6) .person-photo{object-position:center 18%}
.prose h3,.article h2{margin-top:38px}.prose h4,.article h3{margin-top:26px}
.prose ul,.article ul{color:var(--muted);line-height:1.75;padding-left:22px}
.prose li,.article li{margin:7px 0}
.long-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}
.long-grid .panel{padding:22px}
.article{max-width:900px}.article p{font-size:17px;line-height:1.8}.article h2{font-size:34px}.article h3{font-size:23px}
@media(max-width:800px){.long-grid{grid-template-columns:1fr}}

/* Final portrait quality/crop pass: portraits are pre-cropped to 4:3 and should not be re-cropped off-centre. */
.person-photo{
  width:calc(100% + 52px);
  height:300px;
  object-fit:cover;
  object-position:50% 50% !important;
  display:block;
  margin:-26px -26px 18px;
  filter:none !important;
  image-rendering:auto;
  transform:none;
  backface-visibility:visible;
}
.profile-photo{
  width:100%;
  height:auto;
  max-height:none;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:50% 50% !important;
  filter:none !important;
  image-rendering:auto;
  transform:none;
}
