/* ============================================================
   Cur8 Capital — Careers
   Editorial / typographic system. Archia display set light,
   asymmetric numbered grid, hairline rules, the green caret as
   the recurring growth marker. Ink on light, one blue block.
   ============================================================ */

/* ---------- Fonts ---------- */
@font-face { font-family:"Archia"; src:url("fonts/archia-light-webfont.woff2") format("woff2"),url("fonts/archia-light-webfont.woff") format("woff"); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:"Archia"; src:url("fonts/archia-regular-webfont.woff2") format("woff2"),url("fonts/archia-regular-webfont.woff") format("woff"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Archia"; src:url("fonts/archia-medium-webfont.woff2") format("woff2"),url("fonts/archia-medium-webfont.woff") format("woff"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"Archia"; src:url("fonts/archia-semibold-webfont.woff2") format("woff2"),url("fonts/archia-semibold-webfont.woff") format("woff"); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:"Archia"; src:url("fonts/archia-bold-webfont.woff2") format("woff2"),url("fonts/archia-bold-webfont.woff") format("woff"); font-weight:700; font-style:normal; font-display:swap; }

/* ---------- Tokens ---------- */
:root {
  --ink: #192A36;        /* SLATE900 */
  --ink-soft: #435D70;   /* SLATE700 */
  --faint: #7C8F9C;      /* SLATE500 */
  --line: #DFE4E8;       /* hairline */
  --line-soft: #EAEEF1;
  --paper: #F4F6F8;      /* cool light ground */
  --paper-2: #FFFFFF;
  --blue: #305CFF;       /* BLUE600 — action */
  --blue-deep: #01114C;  /* BLUE900 — the block */
  --blue-999: #010C34;
  --caret: #46DA2F;      /* the logo caret green */
  --green: #36B580;      /* G300 */
  --green-on-dark: #59D9A4;

  --maxw: 1240px;
  --gutter: clamp(20px, 5vw, 80px);
  --rail: clamp(72px, 16vw, 220px);  /* numbered rail width */

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ---------- Reset ---------- */
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;} }
body {
  margin:0;
  font-family:"Archia",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:18px; line-height:1.6; font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{ margin:0; font-weight:600; line-height:1.0; letter-spacing:-0.03em; }
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
img,svg{ display:block; max-width:100%; }
ul{ margin:0; padding:0; list-style:none; }
strong{ font-weight:600; }
::selection{ background:var(--caret); color:var(--ink); }

/* ---------- Primitives ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }

/* small-caps editorial label */
.kicker{
  display:inline-flex; align-items:center; gap:10px;
  font-size:12px; font-weight:600; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--ink);
}
.kicker::before{ /* green caret */
  content:""; width:0;height:0;
  border-left:5px solid transparent; border-right:5px solid transparent;
  border-bottom:8px solid var(--caret);
}
.kicker--faint{ color:var(--faint); }

/* caret glyph utility */
.car{ display:inline-block; width:0;height:0; vertical-align:middle;
  border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:7px solid var(--caret); }

/* link with moving caret */
.go{ display:inline-flex; align-items:center; gap:10px; font-weight:600; font-size:16px; color:var(--ink);
  padding-bottom:4px; border-bottom:2px solid var(--ink); transition:color .2s var(--ease),border-color .2s var(--ease); }
.go .ar{ transition:transform .2s var(--ease); }
.go:hover{ color:var(--blue); border-color:var(--blue); }
.go:hover .ar{ transform:translateX(4px); }
.go--blue{ color:var(--blue); border-color:var(--blue); }
.go--blue:hover{ color:var(--blue-deep); border-color:var(--blue-deep); }

/* solid button (reserved, used sparingly) */
.btn{ display:inline-flex; align-items:center; gap:.55em; font:inherit; font-size:15px; font-weight:600;
  padding:15px 26px; border:1px solid var(--ink); background:var(--ink); color:var(--paper-2);
  cursor:pointer; transition:background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease); }
.btn .ar{ transition:transform .18s var(--ease); }
.btn:hover{ background:var(--blue); border-color:var(--blue); }
.btn:hover .ar{ transform:translateX(3px); }
.btn:active{ transform:translateY(1px); }
.btn--ghost{ background:transparent; color:var(--ink); }
.btn--ghost:hover{ background:var(--ink); color:var(--paper-2); }
.btn--onblue{ background:var(--paper-2); color:var(--blue-deep); border-color:var(--paper-2); }
.btn--onblue:hover{ background:var(--caret); border-color:var(--caret); color:var(--ink); }

/* ---------- Masthead ---------- */
.mast{ position:sticky; top:0; z-index:50; background:color-mix(in srgb, var(--paper) 86%, transparent);
  backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid transparent; transition:border-color .2s var(--ease); }
.mast.is-stuck{ border-bottom-color:var(--line); }
.mast__row{ display:flex; align-items:center; justify-content:space-between; height:84px; }
.mast__logo img{ height:46px; width:auto; display:block; }
.mast__nav{ display:flex; align-items:center; gap:34px; }
.mast__nav a{ font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-soft); position:relative; transition:color .18s var(--ease); }
.mast__nav a:hover{ color:var(--ink); }
.mast__nav a.now{ color:var(--blue); }
@media (max-width:760px){ .mast__nav a:not(.now){ display:none; } .mast__logo img{ height:40px; } .mast__row{ height:72px; } }

/* ============================================================
   HERO — oversized type, asymmetric, caret motif
   ============================================================ */
.hero{ border-bottom:1px solid var(--line); }
.hero__in{ padding-top:clamp(40px,8vw,96px); padding-bottom:0; }
.hero__kicker{ margin-bottom:clamp(28px,5vw,52px); }
.hero h1{
  font-weight:300;
  font-size:clamp(44px,9.2vw,140px);
  line-height:0.92;
  letter-spacing:-0.045em;
  max-width:14ch;
}
.hero h1 b{ font-weight:600; }
.hero h1 .em{ font-weight:600; }
.hero h1 .car-xl{
  display:inline-block; width:0;height:0; margin-left:.12em;
  border-left:0.16em solid transparent; border-right:0.16em solid transparent;
  border-bottom:0.26em solid var(--caret);
  transform:translateY(-0.06em);
}
.hero__lower{
  display:grid; grid-template-columns: 1.1fr 0.9fr; gap:clamp(24px,5vw,64px);
  align-items:end;
  margin-top:clamp(36px,6vw,72px);
  padding-bottom:clamp(28px,4vw,44px);
}
.hero__stand{ font-size:clamp(17px,1.5vw,20px); line-height:1.55; color:var(--ink-soft); max-width:46ch; }
.hero__stand b{ color:var(--ink); font-weight:500; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:16px 28px; align-items:center; justify-self:end; }
@media (max-width:820px){
  .hero__lower{ grid-template-columns:1fr; align-items:start; gap:28px; }
  .hero__cta{ justify-self:start; }
}

/* facts ledger line */
.ledger{ border-top:1px solid var(--ink); display:flex; flex-wrap:wrap; }
.ledger__item{ flex:1 1 auto; padding:22px clamp(14px,2vw,28px) 22px 0; display:flex; align-items:baseline; gap:14px; }
.ledger__item + .ledger__item{ border-left:1px solid var(--line); padding-left:clamp(16px,2vw,28px); }
.ledger__n{ font-size:clamp(22px,2.6vw,30px); font-weight:600; letter-spacing:-0.03em; font-variant-numeric:tabular-nums; }
.ledger__n .u{ color:var(--green); }
.ledger__l{ font-size:12.5px; letter-spacing:0.04em; color:var(--faint); }
@media (max-width:680px){ .ledger{ flex-direction:column; } .ledger__item+.ledger__item{ border-left:0; border-top:1px solid var(--line); padding-left:0; } }

/* ============================================================
   Editorial sections — numbered rail + main
   ============================================================ */
.ed{ padding-block:clamp(64px,9vw,128px); border-bottom:1px solid var(--line); }
.ed__grid{ display:grid; grid-template-columns:var(--rail) 1fr; gap:clamp(20px,4vw,64px); }
.ed__rail{ position:relative; }
.ed__num{ font-weight:300; font-size:clamp(40px,5vw,64px); line-height:0.8; letter-spacing:-0.04em; color:var(--ink); }
.ed__num .dot{ color:var(--caret); }
.ed__tag{ margin-top:14px; font-size:12px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--faint); }
.ed__main{ min-width:0; }
.ed__lead{ font-weight:300; font-size:clamp(30px,4.4vw,56px); line-height:1.02; letter-spacing:-0.035em; max-width:18ch; }
.ed__lead .em{ font-weight:600; }
.ed__body{ margin-top:24px; font-size:clamp(17px,1.4vw,19px); line-height:1.6; color:var(--ink-soft); max-width:60ch; }
.ed__body b{ color:var(--ink); font-weight:500; }
@media (max-width:820px){
  .ed__grid{ grid-template-columns:1fr; gap:18px; }
  .ed__rail{ display:flex; align-items:baseline; gap:16px; }
  .ed__num{ font-size:40px; }
  .ed__tag{ margin-top:0; }
}

/* mission stat */
.mission{ margin-top:clamp(40px,6vw,72px); display:grid; grid-template-columns:auto 1fr; gap:clamp(24px,4vw,56px); align-items:center; }
.mission__big{ font-weight:300; font-size:clamp(88px,16vw,200px); line-height:0.8; letter-spacing:-0.05em; color:var(--ink); }
.mission__big .pct{ color:var(--caret); font-weight:400; }
.mission__txt{ font-size:clamp(18px,1.7vw,22px); line-height:1.4; color:var(--ink); max-width:30ch; font-weight:500; letter-spacing:-0.01em; }
.mission__txt span{ color:var(--faint); font-weight:400; }
@media (max-width:680px){ .mission{ grid-template-columns:1fr; gap:8px; } }

/* ---------- Principles — editorial numbered list, no cards ---------- */
.vals{ margin-top:8px; }
.val{ display:grid; grid-template-columns:auto 1fr; gap:clamp(20px,4vw,56px); padding:clamp(26px,3vw,40px) 0; border-top:1px solid var(--line); align-items:start; }
.val:last-child{ border-bottom:1px solid var(--line); }
.val__k{ display:flex; align-items:baseline; gap:14px; }
.val__num{ font-weight:300; font-size:clamp(28px,3vw,40px); line-height:0.8; color:var(--faint); letter-spacing:-0.03em; font-variant-numeric:tabular-nums; }
.val h3{ font-weight:600; font-size:clamp(22px,2.6vw,32px); letter-spacing:-0.025em; max-width:16ch; }
.val__d{ font-size:clamp(16px,1.3vw,18px); line-height:1.6; color:var(--ink-soft); max-width:52ch; }
.val:hover h3{ color:var(--blue); transition:color .2s var(--ease); }
@media (max-width:760px){ .val{ grid-template-columns:1fr; gap:14px; } .val__d{ max-width:none; } }

/* ---------- Stack ticker (marquee) ---------- */
.ticker{ border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); overflow:hidden; }
.ticker__track{ display:flex; gap:0; width:max-content; animation:scrollx 34s linear infinite; }
.ticker:hover .ticker__track{ animation-play-state:paused; }
.ticker__item{ display:inline-flex; align-items:center; gap:clamp(28px,4vw,56px); padding:18px clamp(14px,2vw,28px); font-size:clamp(20px,2.4vw,30px); font-weight:500; letter-spacing:-0.02em; color:var(--ink); white-space:nowrap; }
.ticker__item::after{ content:""; width:0;height:0; border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid var(--caret); }
@keyframes scrollx{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ---------- Roles — table-of-contents rows ---------- */
.roles{ margin-top:8px; border-top:1px solid var(--ink); }
.role-row{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(16px,3vw,40px);
  padding:clamp(28px,4vw,46px) clamp(14px,2vw,20px); margin-inline:calc(-1 * clamp(14px,2vw,20px));
  border-bottom:1px solid var(--line); border-radius:6px; transition:background-color .2s var(--ease); }
.role-row:hover{ background:rgba(48,92,255,0.05); }
.role-row__no{ font-weight:300; font-size:clamp(22px,2.4vw,30px); color:var(--faint); font-variant-numeric:tabular-nums; }
.role-row__main{ min-width:0; }
.role-row__t{ font-weight:600; font-size:clamp(26px,4vw,48px); letter-spacing:-0.03em; line-height:1; }
.role-row:hover .role-row__t{ color:var(--blue); transition:color .2s var(--ease); }
.role-row__m{ margin-top:14px; display:flex; flex-wrap:wrap; gap:10px 22px; font-size:14px; color:var(--faint); letter-spacing:0.02em; }
.role-row__m span{ display:inline-flex; align-items:center; gap:8px; }
.role-row__m .car{ } /* caret separator handled inline */
.role-row__go{ display:inline-flex; align-items:center; gap:10px; font-weight:600; color:var(--ink); white-space:nowrap; }
.role-row__go .ar{ transition:transform .2s var(--ease); }
.role-row:hover .role-row__go{ color:var(--blue); }
.role-row:hover .role-row__go .ar{ transform:translateX(5px); }
@media (max-width:680px){
  .role-row{ grid-template-columns:auto 1fr; gap:14px 16px; }
  .role-row__go{ grid-column:1 / -1; }
}

/* ---------- The blue block (single bold moment) ---------- */
.block{ background:var(--blue); color:#fff; position:relative; overflow:hidden; border-bottom:1px solid var(--blue); }
.block__in{ padding-block:clamp(72px,11vw,160px); position:relative; z-index:1; }
.block__kicker{ color:var(--green-on-dark); }
.block__kicker::before{ border-bottom-color:var(--green-on-dark); }
.block h2{ font-weight:300; font-size:clamp(38px,7vw,104px); line-height:0.94; letter-spacing:-0.04em; color:#fff; max-width:15ch; margin-top:28px; }
.block h2 .em{ font-weight:600; }
.block h2 .car-xl{ display:inline-block;width:0;height:0;margin-left:.1em;border-left:.15em solid transparent;border-right:.15em solid transparent;border-bottom:.24em solid var(--green-on-dark);transform:translateY(-.05em); }
.block__cta{ margin-top:clamp(36px,5vw,56px); display:flex; flex-wrap:wrap; gap:18px 28px; align-items:center; }
.block__cta a.go{ color:#fff; border-color:#fff; }
.block__cta a.go:hover{ color:var(--green-on-dark); border-color:var(--green-on-dark); }
.block::after{ content:""; position:absolute; right:-6vw; bottom:-12vw; width:46vw; height:46vw;
  background:radial-gradient(circle at center, rgba(89,217,164,.16), rgba(89,217,164,0) 62%); pointer-events:none; }

/* ---------- Footer ---------- */
.foot{ background:var(--paper); padding-block:clamp(48px,7vw,80px); }
.foot__top{ display:grid; grid-template-columns:var(--rail) 1fr; gap:clamp(20px,4vw,64px); }
.foot__logo img{ height:44px; width:auto; }
.foot__cols{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:32px; }
.foot__cols nav{ display:flex; flex-wrap:wrap; gap:26px; }
.foot__cols a{ font-size:13px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); transition:color .18s var(--ease); }
.foot__cols a:hover{ color:var(--blue); }
.foot__legal{ margin-top:clamp(36px,5vw,56px); padding-top:28px; border-top:1px solid var(--line); font-size:12.5px; line-height:1.7; color:var(--faint); max-width:90ch; }
.foot__legal a{ color:var(--ink-soft); text-decoration:underline; }
@media (max-width:760px){ .foot__top{ grid-template-columns:1fr; gap:24px; } }

/* ============================================================
   ROLE PAGE
   ============================================================ */
.rhero{ border-bottom:1px solid var(--line); }
.rhero__in{ padding-top:clamp(36px,5vw,64px); padding-bottom:clamp(40px,6vw,72px); }
.back{ display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--faint); transition:color .18s var(--ease); }
.back:hover{ color:var(--ink); }
.back .ar{ transform:rotate(180deg); }
.rhero h1{ font-weight:300; font-size:clamp(40px,7.5vw,104px); line-height:0.92; letter-spacing:-0.04em; margin-top:24px; max-width:14ch; }
.rhero h1 .em{ font-weight:600; }
.rhero__meta{ margin-top:clamp(24px,3vw,36px); display:flex; flex-wrap:wrap; gap:10px 18px; font-size:14px; color:var(--ink-soft); letter-spacing:0.02em; }
.rhero__meta span{ display:inline-flex; align-items:center; gap:9px; }
.rhero__cta{ margin-top:clamp(30px,4vw,44px); display:flex; flex-wrap:wrap; gap:16px 28px; align-items:center; }

.rbody{ padding-block:clamp(56px,8vw,104px); border-bottom:1px solid var(--line); }
.rgrid{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:clamp(36px,6vw,96px); align-items:start; }
@media (max-width:940px){ .rgrid{ grid-template-columns:1fr; } }

.sec{ display:grid; grid-template-columns:var(--rail) 1fr; gap:clamp(18px,3vw,48px); }
.sec + .sec{ margin-top:clamp(44px,6vw,72px); padding-top:clamp(44px,6vw,72px); border-top:1px solid var(--line); }
.sec__h{ font-size:13px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--faint); padding-top:8px; }
.sec__c{ min-width:0; max-width:62ch; }
.sec__c h2{ font-weight:300; font-size:clamp(26px,3.4vw,40px); letter-spacing:-0.03em; line-height:1.02; }
.sec__c h2 + *{ margin-top:18px; }
.sec__c p{ font-size:clamp(17px,1.4vw,18.5px); line-height:1.68; color:var(--ink-soft); }
.sec__c p + p{ margin-top:16px; }
.sec__c strong{ color:var(--ink); }
@media (max-width:820px){ .sec{ grid-template-columns:1fr; gap:14px; } .sec__h{ padding-top:0; } }

/* numbered duties */
.duties{ counter-reset:d; }
.duties li{ position:relative; padding:22px 0 22px 60px; border-top:1px solid var(--line); font-size:clamp(16px,1.3vw,18px); line-height:1.6; color:var(--ink-soft); }
.duties li:last-child{ border-bottom:1px solid var(--line); }
.duties li::before{ counter-increment:d; content:counter(d,decimal-leading-zero); position:absolute; left:0; top:22px; font-weight:300; font-size:22px; color:var(--caret); font-variant-numeric:tabular-nums; }
.duties li strong{ display:block; color:var(--ink); font-weight:600; font-size:clamp(17px,1.4vw,19px); margin-bottom:4px; letter-spacing:-0.01em; }

/* checklist with caret */
.checks li{ position:relative; padding-left:30px; font-size:clamp(16px,1.35vw,18px); line-height:1.6; color:var(--ink-soft); }
.checks li + li{ margin-top:15px; }
.checks li::before{ content:""; position:absolute; left:0; top:9px; width:0;height:0;
  border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:9px solid var(--caret); }

/* level note */
.note{ margin-top:30px; border-left:2px solid var(--caret); padding:6px 0 6px 22px; }
.note h4{ font-size:13px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--faint); }
.note p{ margin-top:10px; font-size:16px; line-height:1.6; color:var(--ink-soft); }

/* aside */
.aside{ position:sticky; top:104px; border-top:2px solid var(--ink); padding-top:26px; }
.aside h3{ font-size:13px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--faint); }
.aside dl{ margin:18px 0 0; }
.aside .row{ padding:14px 0; border-top:1px solid var(--line); }
.aside .row:first-of-type{ border-top:0; padding-top:6px; }
.aside dt{ font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--faint); }
.aside dd{ margin:5px 0 0; font-size:17px; font-weight:500; color:var(--ink); letter-spacing:-0.01em; }
.aside .btn{ width:100%; justify-content:center; margin-top:26px; }
.aside__note{ margin-top:14px; font-size:13px; line-height:1.55; color:var(--faint); }
@media (max-width:940px){ .aside{ position:static; margin-top:8px; } }

/* ---------- Reveal (progressive enhancement) ---------- */
.js .reveal{ opacity:0; transform:translateY(20px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
.js .reveal.vis{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.07s; }
.reveal[data-d="2"]{ transition-delay:.14s; }
.reveal[data-d="3"]{ transition-delay:.21s; }
.reveal[data-d="4"]{ transition-delay:.28s; }
/* hero caret draw-in */
.js .hero h1 .car-xl{ opacity:0; transform:translateY(0.4em) scale(.6); transition:opacity .6s var(--ease) .5s, transform .6s var(--ease) .5s; }
.js .hero.vis h1 .car-xl{ opacity:1; transform:translateY(-0.06em) scale(1); }
