:root {
  --white:#fff;
  --off:#f5f5f7;
  --ink:#1d1d1f;
  --grey:#6e6e73;
  --mid:#a1a1a6;
  --line:#d2d2d7;
  --black:#050505;
  --radius:34px;
  --max:1240px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  overflow-x:hidden;
  color:var(--ink);
  background:var(--white);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { font:inherit; }
.skip-link { position:fixed; z-index:9999; top:-70px; left:18px; padding:11px 16px; border-radius:999px; color:#fff; background:#000; }
.skip-link:focus { top:18px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.site-header { position:fixed; z-index:1000; inset:12px 0 auto; padding:0 18px; pointer-events:none; }
.nav-shell {
  width:min(1040px,calc(100% - 20px));
  height:52px;
  margin:auto;
  padding:0 12px 0 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:rgba(248,248,250,.7);
  box-shadow:0 14px 45px rgba(0,0,0,.08);
  backdrop-filter:blur(24px) saturate(150%);
  pointer-events:auto;
  transition:.3s ease;
}
.site-header[data-tone="dark"] .nav-shell { color:#fff; background:rgba(18,15,41,.72); border-color:rgba(255,255,255,.16); }
.wordmark { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#111; font-size:11px; font-weight:700; }
.site-header[data-tone="dark"] .wordmark { color:#111; background:#fff; }
.nav-links { display:flex; align-items:center; gap:clamp(15px,2vw,28px); }
.nav-links a { font-size:12px; opacity:.74; }
.nav-links a:hover,.nav-links a:focus-visible { opacity:1; }
.nav-toggle { display:none; padding:8px; border:0; color:inherit; background:none; }
.nav-toggle span:not(.sr-only) { display:block; width:17px; height:1px; margin:5px 0; background:currentColor; }

.eyebrow { margin:0 0 20px; color:var(--grey); font-size:13px; font-weight:600; letter-spacing:.045em; }
h1,h2,h3,p { text-wrap:pretty; }
h1,h2,h3 { margin:0; font-weight:600; letter-spacing:-.055em; }
h1 { font-size:clamp(64px,8.7vw,126px); line-height:.92; }
h2 { font-size:clamp(48px,6vw,82px); line-height:.98; }
h3 { font-size:clamp(28px,3.2vw,43px); line-height:1.03; }
p { margin:0; }
.actions,.section-actions { display:flex; flex-wrap:wrap; gap:22px 32px; margin-top:32px; }
.actions a,.section-actions a { font-size:17px; font-weight:500; transition:opacity .2s ease; }
.actions a:hover,.section-actions a:hover { opacity:.58; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }

.hero {
  min-height:95svh;
  padding:145px max(32px,calc((100vw - var(--max))/2)) 100px;
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(280px,.72fr);
  align-items:center;
  gap:clamp(60px,9vw,145px);
  background:
    radial-gradient(circle at 83% 16%,rgba(255,142,61,.46),transparent 28%),
    radial-gradient(circle at 8% 78%,rgba(126,78,255,.32),transparent 32%),
    linear-gradient(135deg,#fff 12%,#f7f2ff 54%,#fff5ed);
}
.hero-copy { max-width:850px; }
.hero-subhead { max-width:710px; margin-top:34px; color:var(--grey); font-size:clamp(20px,2vw,27px); line-height:1.4; letter-spacing:-.025em; }
.hero-profile {
  min-height:440px;
  padding:32px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.7);
  border-radius:var(--radius);
  background:rgba(255,255,255,.5);
  box-shadow:0 35px 90px rgba(61,39,105,.13),inset 0 1px rgba(255,255,255,.9);
  backdrop-filter:blur(24px);
}
.hero-profile img { width:76px; height:76px; border-radius:50%; object-fit:cover; filter:saturate(.78); }
.hero-profile > div { margin-top:22px; }
.hero-profile strong,.hero-profile span { display:block; }
.hero-profile strong { font-size:20px; letter-spacing:-.035em; }
.hero-profile span { margin-top:4px; color:var(--grey); font-size:12px; }
.hero-profile p { margin-top:auto; font-size:clamp(27px,3vw,40px); line-height:1.08; font-weight:600; letter-spacing:-.05em; }
.hero-profile ul { margin:25px 0 0; padding:22px 0 0; display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid var(--line); list-style:none; }
.hero-profile li { padding:7px 10px; border-radius:999px; color:var(--grey); background:rgba(0,0,0,.04); font-size:10px; }

.section-shell { padding:130px max(32px,calc((100vw - var(--max))/2)); }
.section-heading { max-width:880px; }
.section-heading > p:last-child,.split-heading > p { max-width:650px; margin-top:28px; color:var(--grey); font-size:21px; line-height:1.5; }
.split-heading { max-width:none; display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:70px; }

.expertise { background:linear-gradient(180deg,#fff,#f4f2f7); }
.expertise-grid { margin-top:70px; display:grid; grid-template-columns:1.18fr .82fr; grid-template-rows:repeat(2,1fr); gap:22px; }
.expertise-card {
  min-height:330px;
  padding:34px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius);
  color:#fff;
  box-shadow:0 30px 80px rgba(28,18,59,.16);
}
.architecture-card { grid-row:1/3; min-height:682px; background:radial-gradient(circle at 82% 18%,#b42ba3,transparent 35%),linear-gradient(145deg,#11135e,#32115e); }
.ai-card { background:radial-gradient(circle at 88% 10%,#50d5c4,transparent 34%),linear-gradient(145deg,#0c5d6a,#17347e); }
.leadership-card { background:radial-gradient(circle at 85% 12%,#ff9b49,transparent 36%),linear-gradient(145deg,#7b2c30,#4b164d); }
.card-index { color:rgba(255,255,255,.62); font-size:11px; }
.expertise-card > div { margin-top:auto; }
.expertise-card > div > p { margin-bottom:16px; color:rgba(255,255,255,.7); font-size:12px; }
.expertise-card small { display:block; max-width:520px; margin-top:20px; color:rgba(255,255,255,.7); font-size:14px; line-height:1.5; }
.expertise-card ul { margin:28px 0 0; padding:24px 0 0; display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid rgba(255,255,255,.18); list-style:none; }
.expertise-card li { padding:7px 10px; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(255,255,255,.08); font-size:10px; }

.work { background:#fff; }
.results-grid { margin-top:70px; display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:repeat(2,1fr); gap:22px; }
.result-card { min-height:300px; padding:34px; display:flex; flex-direction:column; border-radius:var(--radius); overflow:hidden; }
.result-feature { grid-row:1/3; min-height:622px; color:#fff; background:radial-gradient(circle at 18% 12%,#b866ff,transparent 36%),linear-gradient(145deg,#451486,#1b124b); }
.result-warm { background:radial-gradient(circle at 88% 12%,rgba(255,120,70,.65),transparent 38%),linear-gradient(145deg,#fff2e8,#ffd9c9); }
.result-mint { background:radial-gradient(circle at 88% 12%,rgba(37,192,176,.48),transparent 38%),linear-gradient(145deg,#effffb,#d9f4f1); }
.result-top { display:flex; justify-content:space-between; color:inherit; opacity:.64; font-size:11px; }
.result-metric { margin:auto 0; display:flex; align-items:center; justify-content:center; gap:25px; }
.result-metric strong { font-size:clamp(130px,15vw,230px); line-height:.8; letter-spacing:-.09em; }
.result-metric strong:first-child { color:rgba(255,255,255,.34); }
.result-metric i { font-size:30px; font-style:normal; opacity:.6; }
.compact-metric { margin:auto 0; font-size:clamp(66px,7vw,100px); line-height:.9; letter-spacing:-.07em; }
.result-bottom { display:grid; grid-template-columns:.75fr 1.25fr; align-items:end; gap:25px; }
.result-warm .result-bottom,.result-mint .result-bottom { grid-template-columns:1fr; }
.result-bottom h3 { font-size:30px; }
.result-bottom p { color:inherit; opacity:.68; font-size:14px; line-height:1.5; }
.evidence-strip { margin-top:22px; padding:34px; display:grid; grid-template-columns:repeat(3,1fr) 2fr; align-items:center; gap:30px; border-radius:var(--radius); background:#f5f5f7; }
.evidence-strip strong,.evidence-strip span { display:block; }
.evidence-strip strong { font-size:34px; letter-spacing:-.05em; }
.evidence-strip span { margin-top:4px; color:var(--grey); font-size:11px; }
.evidence-strip .section-actions { margin:0; justify-content:flex-end; }

.approach { display:grid; grid-template-columns:1fr 1fr; gap:clamp(70px,10vw,160px); align-items:center; background:radial-gradient(circle at 8% 18%,rgba(255,196,74,.38),transparent 28%),radial-gradient(circle at 88% 84%,rgba(144,82,255,.25),transparent 32%),#fff; }
.approach-copy > p:not(.eyebrow) { max-width:600px; margin-top:28px; color:var(--grey); font-size:20px; line-height:1.5; }
.approach-list { margin:0; padding:0; list-style:none; }
.approach-list li { padding:28px 0; display:grid; grid-template-columns:55px 1fr; gap:25px; border-top:1px solid rgba(29,29,31,.16); }
.approach-list li:last-child { border-bottom:1px solid rgba(29,29,31,.16); }
.approach-list li > span { padding-top:7px; color:var(--grey); font-size:11px; }
.approach-list strong { font-size:30px; letter-spacing:-.045em; }
.approach-list p { margin-top:7px; color:var(--grey); line-height:1.45; }

.human-section { padding:130px max(32px,calc((100vw - var(--max))/2)); color:#fff; background:radial-gradient(circle at 15% 22%,rgba(71,94,255,.68),transparent 32%),radial-gradient(circle at 84% 78%,rgba(214,34,170,.43),transparent 35%),linear-gradient(145deg,#10164a,#24104f 58%,#140725); }
.human-section .eyebrow { color:rgba(255,255,255,.6); }
.about-compact { display:grid; grid-template-columns:220px 1fr; gap:65px; align-items:center; }
.about-compact img { width:170px; height:170px; border:7px solid rgba(255,255,255,.15); border-radius:50%; object-fit:cover; filter:saturate(.7); }
.about-compact > div > p:not(.eyebrow) { max-width:740px; margin-top:25px; color:rgba(255,255,255,.66); font-size:20px; line-height:1.5; }
.linkedin-editorial { min-height:570px; margin-top:95px; padding:42px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr auto; gap:35px 70px; border:1px solid rgba(255,255,255,.2); border-radius:var(--radius); background:linear-gradient(90deg,rgba(4,3,32,.78),rgba(5,4,39,.22)),url("assets/linkedin-playful-bg.png") center/cover; box-shadow:0 40px 100px rgba(0,0,0,.32); transition:transform .35s var(--ease); }
.linkedin-editorial:hover { transform:translateY(-5px); }
.linkedin-copy { display:flex; flex-direction:column; align-items:flex-start; }
.linkedin-mark { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; color:#15111f; background:#fff; font-size:16px; font-weight:700; }
.linkedin-copy > p { margin-top:auto; color:rgba(255,255,255,.65); font-size:12px; }
.linkedin-copy h2 { margin-top:14px; font-size:clamp(42px,5vw,68px); }
.linkedin-link { margin-top:28px; font-size:16px; }
.linkedin-editorial blockquote { margin:0; align-self:center; font-size:clamp(28px,3.3vw,45px); line-height:1.15; letter-spacing:-.045em; font-weight:500; }
.linkedin-editorial ul { grid-column:1/-1; margin:0; padding:25px 0 0; display:flex; gap:8px; border-top:1px solid rgba(255,255,255,.18); list-style:none; }
.linkedin-editorial li { padding:8px 12px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.08); font-size:11px; }

.contact-band { padding:145px 32px; display:grid; justify-items:center; text-align:center; color:#fff; background:radial-gradient(circle at 18% 20%,rgba(255,121,41,.68),transparent 34%),radial-gradient(circle at 82% 78%,rgba(223,37,160,.62),transparent 37%),linear-gradient(135deg,#40114e,#141042 58%,#090713); }
.contact-band .eyebrow { color:rgba(255,255,255,.65); }
.contact-band > p:not(.eyebrow) { margin-top:27px; color:rgba(255,255,255,.65); font-size:20px; }
.contact-band .actions { justify-content:center; }

.site-footer { padding:70px max(32px,calc((100vw - var(--max))/2)) 32px; display:grid; grid-template-columns:2fr 1fr 1fr; gap:55px; color:var(--grey); background:linear-gradient(135deg,#f3effb,#fff3e9); font-size:12px; line-height:1.55; }
.site-footer > div:not(.footer-bottom) { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.site-footer strong,.footer-intro a { color:var(--ink); }
.footer-intro a { font-size:18px; font-weight:600; letter-spacing:-.035em; }
.footer-bottom { grid-column:1/-1; margin-top:22px; padding-top:24px; display:flex; justify-content:space-between; gap:35px; border-top:1px solid var(--line); }
.footer-bottom p:last-child { max-width:760px; text-align:right; font-size:10px; }

@media (max-width:820px) {
  .hero { grid-template-columns:1fr; }
  .hero-profile { min-height:360px; max-width:650px; width:100%; }
  .expertise-grid,.results-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .architecture-card,.result-feature { grid-row:auto; min-height:520px; }
  .split-heading,.approach { grid-template-columns:1fr; }
  .evidence-strip { grid-template-columns:repeat(3,1fr); }
  .evidence-strip .section-actions { grid-column:1/-1; justify-content:flex-start; }
}

@media (max-width:760px) {
  :root { --radius:27px; }
  .site-header { inset:8px 0 auto; padding:0 8px; }
  .nav-shell { width:100%; height:48px; }
  .wordmark { width:30px; height:30px; }
  .nav-toggle { display:block; }
  .nav-links { position:absolute; left:8px; right:8px; top:56px; padding:10px; display:grid; gap:0; border:1px solid rgba(255,255,255,.8); border-radius:22px; background:rgba(248,248,250,.94); box-shadow:0 24px 65px rgba(0,0,0,.15); backdrop-filter:blur(24px); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.25s ease; }
  .site-header[data-tone="dark"] .nav-links { background:rgba(20,17,46,.94); border-color:rgba(255,255,255,.14); }
  .nav-links.is-open { opacity:1; visibility:visible; transform:none; }
  .nav-links a { padding:13px; font-size:14px; border-bottom:1px solid rgba(110,110,115,.15); }
  .nav-links a:last-child { border:0; }
  .nav-toggle[aria-expanded="true"] span:nth-of-type(2) { transform:translateY(3px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-of-type(3) { transform:translateY(-3px) rotate(-45deg); }
  h1 { font-size:clamp(56px,16vw,78px); }
  h2 { font-size:clamp(43px,12vw,62px); }
  .hero,.section-shell,.human-section { padding:120px 18px 90px; }
  .hero { min-height:auto; }
  .hero-copy { text-align:center; }
  .hero-subhead { font-size:20px; }
  .hero .actions { justify-content:center; }
  .hero-profile { min-height:340px; padding:26px; }
  .hero-profile img { width:60px; height:60px; }
  .section-heading { text-align:center; }
  .section-heading > p:last-child,.split-heading > p { margin-left:auto; margin-right:auto; font-size:18px; }
  .expertise-grid,.results-grid { margin-top:50px; }
  .expertise-card,.architecture-card { min-height:380px; padding:27px; }
  .results-grid { grid-template-columns:1fr; }
  .result-card,.result-feature { min-height:420px; padding:27px; }
  .result-metric strong { font-size:120px; }
  .result-bottom { grid-template-columns:1fr; }
  .evidence-strip { grid-template-columns:1fr 1fr; padding:27px; }
  .evidence-strip > div:nth-child(3) { grid-column:1/-1; }
  .evidence-strip .section-actions { grid-column:1/-1; }
  .approach { gap:55px; }
  .about-compact { grid-template-columns:1fr; gap:35px; text-align:center; }
  .about-compact img { width:110px; height:110px; margin:auto; }
  .about-compact .actions { justify-content:center; }
  .linkedin-editorial { min-height:650px; margin-top:70px; padding:28px; grid-template-columns:1fr; grid-template-rows:auto; gap:45px; }
  .linkedin-copy > p { margin-top:50px; }
  .linkedin-editorial ul { grid-column:auto; flex-wrap:wrap; }
  .contact-band { padding:120px 18px; }
  .site-footer { grid-template-columns:1fr 1fr; padding:60px 24px 28px; }
  .footer-intro,.footer-bottom { grid-column:1/-1; }
  .footer-bottom { display:block; }
  .footer-bottom p:last-child { margin-top:14px; text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
}
