/* Fonts: self-hosted, SIL Open Font License 1.1 (see fonts/LICENSE.txt) */
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/hanken-grotesk-latin-ext-325f42.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/hanken-grotesk-latin-e9265a.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/hanken-grotesk-latin-ext-325f42.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/hanken-grotesk-latin-e9265a.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/hanken-grotesk-latin-ext-325f42.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/hanken-grotesk-latin-e9265a.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/ibm-plex-mono-latin-ext-1969f6.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/ibm-plex-mono-latin-e2661b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/ibm-plex-mono-latin-ext-93cfae.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/ibm-plex-mono-latin-0bc96c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/unbounded-latin-ext-770696.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/unbounded-latin-f2b2b2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/unbounded-latin-ext-770696.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/unbounded-latin-f2b2b2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/unbounded-latin-ext-770696.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/unbounded-latin-f2b2b2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  color-scheme:light;
  --bg:#ECEEED; --surface:#F7F8F7; --surface-2:#E1E6E3;
  --ink:#0C1310; --ink-2:#434F49; --ink-3:#6A7670; --line:#CFD6D1;
  --accent:#0C8A52; --accent-2:#1FBF77; --accent-soft:#D2ECDF; --dot-off:#D3DAD5;
  --grad:linear-gradient(100deg,#0C1310 0%,#0C1310 38%,#0C8A52 78%,#1FBF77 100%);
  --display:"Unbounded","Arial Rounded MT Bold","Segoe UI",sans-serif;
  --body:"Hanken Grotesk","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:1140px;margin:0 auto;padding-inline:24px;position:relative}
@media (max-width:520px){.wrap{padding-inline:16px}}
h1,h2,h3{font-family:var(--display);font-weight:500;text-wrap:balance;margin:0;letter-spacing:-.01em}
p{margin:0}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.num{font-variant-numeric:tabular-nums}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.btn{display:inline-flex;align-items:center;gap:10px;font:500 14px var(--body);text-decoration:none;color:#F7F8F7;background:linear-gradient(100deg,#0C1310,#0C6B41 70%,#0C8A52);padding:11px 18px;border-radius:999px;transition:transform .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px -10px rgba(12,138,82,.6)}
.btn svg{width:16px;height:16px;fill:currentColor}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}

/* top bar */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:rgba(236,238,237,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.mark{font-family:var(--display);font-weight:600;font-size:15px;display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.mark i{width:10px;height:10px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 4px var(--accent-soft),0 0 12px var(--accent-2)}
.top nav{display:flex;gap:22px;align-items:center}
.top nav a:not(.btn){font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);text-decoration:none}
.top nav a:not(.btn):hover{color:var(--accent)}
.top .btn{padding:8px 14px;font-size:13px}
@media (max-width:760px){.top nav a:not(.btn){display:none}}

/* hero */
.hero{position:relative;overflow:hidden;padding-block:72px 64px;border-bottom:1px solid var(--line)}
#net{position:absolute;inset:0;width:100%;height:100%;opacity:.9;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%,#000 100%)}
.hero .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
@media (max-width:920px){.hero .wrap{grid-template-columns:1fr;gap:40px}#net{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 60%);mask-image:linear-gradient(180deg,transparent 0%,#000 60%)}}
.status{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 10px}
.status i{width:8px;height:8px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 0 rgba(31,191,119,.6);animation:ping 2.4s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(31,191,119,.55)}70%{box-shadow:0 0 0 10px rgba(31,191,119,0)}100%{box-shadow:0 0 0 0 rgba(31,191,119,0)}}
.hero h1{font-size:clamp(44px,7vw,84px);line-height:1;font-weight:600;margin-top:22px;padding-bottom:.06em}
.lede{font-family:var(--body);font-weight:600;font-size:clamp(19px,2vw,23px);line-height:1.35;margin-top:20px;max-width:30ch}
.thesis{font-size:17px;line-height:1.6;max-width:52ch;margin-top:14px;color:var(--ink-2)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.glance{margin:36px 0 0;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
@media (max-width:520px){.glance{grid-template-columns:1fr}}
.glance div{padding:13px 16px 13px 0;border-bottom:1px solid var(--line)}
.glance dt{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.glance dd{margin:4px 0 0;font-size:15px;line-height:1.4}

/* HUD panel */
.hud{position:relative;background:rgba(247,248,247,.86);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:6px;padding:26px;overflow:hidden}
.hud::before,.hud::after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--accent)}
.hud::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.hud::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.scan{position:absolute;left:0;right:0;height:60px;top:-60px;background:linear-gradient(180deg,transparent,rgba(31,191,119,.10),transparent);animation:scan 5s linear infinite;pointer-events:none}
@keyframes scan{to{top:100%}}
.meter-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.meter h2{font-family:var(--body);font-weight:600;font-size:15px;letter-spacing:0;line-height:1.35;max-width:24ch}
.toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;flex-shrink:0;background:var(--surface)}
.toggle button{font:500 12px var(--mono);border:0;background:transparent;color:var(--ink-2);padding:5px 11px;border-radius:999px;cursor:pointer}
.toggle button[aria-pressed="true"]{background:var(--ink);color:#F7F8F7}
.dots{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin-top:22px}
.dots span{aspect-ratio:1;border-radius:50%;background:var(--dot-off);transition:background .35s ease,box-shadow .35s ease}
.dots span.on{background:radial-gradient(circle at 35% 35%,var(--accent-2),var(--accent));box-shadow:0 0 8px rgba(31,191,119,.45)}
.meter-foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:22px;flex-wrap:wrap}
.big{font-family:var(--display);font-weight:600;font-size:46px;line-height:1}
.meter-foot p{font-size:14px;color:var(--ink-2);max-width:26ch}

/* sections */
section{padding-block:80px;border-bottom:1px solid var(--line)}
.sec-head{display:grid;grid-template-columns:220px 1fr;gap:32px;margin-bottom:44px}
@media (max-width:820px){.sec-head{grid-template-columns:1fr;gap:10px}}
.sec-head .label::before{content:"";display:inline-block;width:18px;height:2px;background:var(--accent);vertical-align:middle;margin-right:10px}
.sec-head h2{font-size:clamp(28px,3.4vw,40px);line-height:1.12;max-width:22ch;padding-bottom:.08em}
.sec-head p{color:var(--ink-2);max-width:60ch;margin-top:14px}

.profile{padding-block:56px}
.profile .sec-head{margin-bottom:0}
.profile .sec-head p{font-size:18px;max-width:68ch}
.profile strong{color:var(--ink);font-weight:600}

.hud{margin:0}
.kicker{display:block;margin-bottom:6px}
.gap-top{margin-top:10px}
.d3{animation-delay:.3s}.d4{animation-delay:.4s}.d6{animation-delay:.6s}.d7{animation-delay:.7s}.d8{animation-delay:.8s}.d9{animation-delay:.9s}.d12{animation-delay:1.2s}.d14{animation-delay:1.4s}.d21{animation-delay:2.1s}

/* ledger */
.ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:880px){.ledger{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.ledger{grid-template-columns:1fr}}
.cell{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s ease,transform .2s ease}
.cell:hover{border-color:var(--accent);transform:translateY(-2px)}
.cell .v{font-family:var(--display);font-weight:600;font-size:clamp(28px,3vw,36px);line-height:1.1}
.cell .v small{font-size:.5em;color:var(--ink-3);margin-inline:.3em;vertical-align:middle;-webkit-text-fill-color:var(--ink-3)}
.cell p{color:var(--ink-2);font-size:15px;line-height:1.5}
.viz{height:44px;display:flex;align-items:flex-end}
.viz svg{width:100%;height:44px;display:block}

/* why */
.threads{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media (max-width:760px){.threads{grid-template-columns:1fr}}
.thread:first-child{border-color:var(--accent);box-shadow:0 18px 40px -28px rgba(12,138,82,.55)}
.chip-group{display:flex;flex-direction:column;gap:14px}
.chip-group+.chip-group{margin-top:28px}
.thread{padding:28px;border-radius:6px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.thread .ill{height:120px;border-radius:4px;background:
  linear-gradient(var(--line) 1px,transparent 1px) 0 0/20px 20px,
  linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/20px 20px,var(--surface-2);display:grid;place-items:center}
.thread .ill svg{height:96px;width:auto;overflow:visible}
.thread h3{font-size:20px;line-height:1.25}
.thread p{color:var(--ink-2);font-size:16px}
.thread ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px}
.thread li{padding-left:18px;position:relative}
.thread li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;background:var(--accent);transform:rotate(45deg)}
.pulse{animation:pulse 3s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.flow{stroke-dasharray:4 6;animation:flow 1.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-20}}
.rise{animation:rise 4s ease-in-out infinite;transform-box:fill-box;transform-origin:bottom}
@keyframes rise{0%,100%{transform:scaleY(.85)}50%{transform:scaleY(1)}}

/* arc */
.arc{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:24px 24px 12px;margin-bottom:48px}
.arc svg{min-width:760px;width:100%;height:auto;display:block}
.arc text{font-family:var(--mono)}

/* timeline */
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:148px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--accent-2),var(--accent) 30%,var(--line))}
.tl>li{display:grid;grid-template-columns:128px 1fr;gap:42px;padding-bottom:40px;position:relative}
.tl>li::after{content:"";position:absolute;left:143px;top:7px;width:12px;height:12px;transform:rotate(45deg);background:var(--bg);border:2px solid var(--accent)}
.tl>li.now::after{background:var(--accent-2);box-shadow:0 0 12px var(--accent-2)}
.tl .when{font-family:var(--mono);font-size:13px;color:var(--ink-2);text-align:right;padding-top:2px}
.tl h3{font-family:var(--body);font-weight:600;font-size:20px;letter-spacing:0}
.tl .org{font-family:var(--mono);font-size:13px;color:var(--accent);margin-top:4px}
.tl ul{margin:12px 0 0;padding-left:18px;color:var(--ink-2);display:flex;flex-direction:column;gap:6px;max-width:68ch}
.tl .sub{margin-top:10px;color:var(--ink-2);font-size:15px;max-width:68ch}
@media (max-width:640px){
  .tl::before{left:5px}
  .tl>li{grid-template-columns:1fr;gap:6px;padding-left:30px}
  .tl>li::after{left:0}
  .tl .when{text-align:left}
}

/* frameworks */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{font-family:var(--mono);font-size:13px;padding:9px 14px;border-radius:4px;background:var(--surface);border:1px solid var(--line);transition:border-color .2s}
.chip:hover{border-color:var(--accent)}
.chip b{font-weight:500;color:var(--accent);margin-right:8px}

/* learning */
.learn{display:grid;grid-template-columns:1fr 2fr;gap:40px}
@media (max-width:860px){.learn{grid-template-columns:1fr}}
.degrees{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.degrees li{display:flex;flex-direction:column;gap:2px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.degrees b{font-weight:600}
.degrees span{color:var(--ink-2);font-size:15px}
.certs{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 32px}
@media (max-width:600px){.certs{grid-template-columns:1fr}}
.certs h3{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.certs ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:15px;color:var(--ink-2)}
.certs li b{color:var(--ink);font-weight:500}
.progress{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:1px 7px;border-radius:4px;background:var(--accent-soft);color:var(--ink);margin-left:6px;vertical-align:1px}

/* beyond */
.beyond{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:900px){.beyond{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.beyond{grid-template-columns:1fr}}
.beyond div{border-top:2px solid var(--ink);padding-top:16px;display:flex;flex-direction:column;gap:8px}
.beyond svg{width:28px;height:28px;stroke:var(--accent);fill:none;stroke-width:1.6}
.beyond h3{font-family:var(--body);font-weight:600;font-size:17px;letter-spacing:0}
.beyond p{color:var(--ink-2);font-size:15px}

/* next role */
.next{background:#0C1310;color:#E8EEEA;border-bottom:0;position:relative;overflow:hidden}
.next .label{color:#8FA398}
.next .sec-head p{color:#AFC0B6}
.next .sec-head h2{background:linear-gradient(100deg,#F4F7F5 0%,#F4F7F5 40%,#5BE0A0 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.next::before{content:"";position:absolute;inset:0;background:
  linear-gradient(rgba(91,224,160,.07) 1px,transparent 1px) 0 0/32px 32px,
  linear-gradient(90deg,rgba(91,224,160,.07) 1px,transparent 1px) 0 0/32px 32px;
  -webkit-mask-image:radial-gradient(ellipse at 80% 20%,#000,transparent 70%);mask-image:radial-gradient(ellipse at 80% 20%,#000,transparent 70%)}
.targets{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:760px){.targets{grid-template-columns:1fr}}
.targets div{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:2px solid #5BE0A0}
.targets p{font-size:18px;line-height:1.45}
.next .cta{margin-top:40px}
.next .btn{background:linear-gradient(100deg,#1FBF77,#5BE0A0);color:#06140D}

footer{background:#0C1310;color:#8FA398;border-top:1px solid #1E2A24;padding-block:28px 40px;font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:12px 32px;flex-wrap:wrap}
footer a{color:#5BE0A0}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
