/* Grantkin. Two zones, one token block each. Never hard code a hex in a component. */

:root {
  /* People Tech Revolution brand, zone A */
  --c-paper:#FFFFFF;
  --c-mist:#F8FAFB;
  --c-ink:#1F2124;
  --c-ink-soft:#4B4F54;
  --c-accent:#01B5CA;
  --c-accent-2:#6EC1E4;
  --c-accent-3:#A57DC3;
  --c-accent-soft:#E1F5F8;
  --c-lift:#EDF6FB;
  --c-line:#E3E1E1;

  /* GDIN brand, zone B */
  --brand:#814884;
  --brand-soft:#F1E9F2;
  --ink:#08064B;
  --ink-alt:#091540;
  --sand:#F4F1E6;
  --paper-g:#FFFFFF;
  --lime:#97C93B; /* GDIN second accent, used sparingly */
  --muted:#5A5A5A; /* darkened from #707070 so body copy clears 4.5:1 on sand */
  --line-g:#E2DED4;
  --ok:#16795A;
  --warn:#B06018;

  /* Semantic aliases, remapped per zone */
  --bg:var(--c-paper);
  --band:var(--c-mist);
  --surface:var(--c-paper);
  --text:var(--c-ink);
  --text-soft:var(--c-ink-soft);
  --accent:var(--c-accent);
  --accent-soft:var(--c-accent-soft);
  --line:var(--c-line);
  --radius:12px;
  --radius-sm:8px;
  --font:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --header-h:64px;
  --strip-h:0px;
  --maxw:1440px;
  --gutter:clamp(16px,3vw,48px);
  --measure:75ch;
}

body[data-zone="gdin"] {
  /* GDIN look: white page, sand bands, purple actions, ink headings, lime as a thin accent */
  --bg:var(--paper-g);
  --band:var(--sand);
  --surface:var(--paper-g);
  --text:var(--ink);
  --text-soft:var(--muted);
  --accent:var(--brand);
  --accent-soft:var(--brand-soft);
  --line:var(--line-g);
  --font:'Work Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --strip-h:0px;
}
body[data-zone="gdin"]{font-weight:500}
body[data-zone="gdin"] #zoneStrip .strip{border-bottom:3px solid var(--lime)}
/* zero specificity so dark sections and the footer keep their own heading colours */
:where(body[data-zone="gdin"]) :where(h1,h2,h3,h4){color:var(--ink)}
body[data-zone="gdin"] header{border-bottom:3px solid var(--lime)}
body[data-zone="gdin"] section.section{padding-block:56px}
body[data-zone="gdin"] .section--band{background:var(--band)}
body[data-zone="gdin"] .section--band .card,body[data-zone="gdin"] .section--band .item,body[data-zone="gdin"] .section--band .step{background:var(--paper-g)}
body[data-zone="gdin"] .card,body[data-zone="gdin"] .item,body[data-zone="gdin"] .prop,body[data-zone="gdin"] .step{box-shadow:0 1px 2px rgba(8,6,75,.04),0 6px 20px rgba(8,6,75,.05)}
body[data-zone="gdin"] .eyebrow{color:var(--brand)}
body[data-zone="gdin"] .eyebrow::before{content:"";display:inline-block;width:24px;height:3px;border-radius:2px;background:var(--lime);vertical-align:middle;margin-right:10px}
body[data-zone="gdin"] .btn{font-weight:600}
body[data-zone="gdin"] .grid > div > .ph{border-radius:var(--radius)}
:where(body[data-zone="gdin"]) .lead{color:var(--ink-alt)}
@media (min-width:768px){
  body[data-zone="gdin"] section.section{padding-block:80px}
  body[data-zone="gdin"] .wrap.section{padding-block:48px}
  body[data-zone="gdin"] h1{font-size:44px}
  body[data-zone="gdin"] section.section h1{font-size:50px}
  body[data-zone="gdin"] h2{font-size:36px}
  body[data-zone="gdin"] h3{font-size:21px}
}
@media (min-width:1280px){
  body[data-zone="gdin"] section.section{padding-block:96px}
  body[data-zone="gdin"] section.section h1{font-size:58px}
  body[data-zone="gdin"] h2{font-size:40px}
}
/* the acknowledgement sits in the dark footer, so it sets its own ink-on-sand colours */
.ack{border-left:4px solid var(--lime);padding:14px 16px;background:var(--sand);color:var(--ink);margin:0 0 24px;font-size:16px;line-height:1.55;border-radius:var(--radius-sm)}
.ack strong{color:var(--ink)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--text);font-family:var(--font);
  font-size:16px;line-height:1.55;font-weight:400;overflow-x:hidden;
}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.15;font-weight:700;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:34px}
h2{font-size:26px}
h3{font-size:19px}
h4{font-size:16px}
p{margin:0 0 1em;text-wrap:pretty;max-width:var(--measure)}
a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--text)}
ul,ol{margin:0 0 1em;padding-left:1.2em}
li{margin-bottom:.35em}
img{max-width:100%;display:block}
small{font-size:14px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
body[data-zone="gdin"] :focus-visible{outline-color:var(--ink)}
.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}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--text);color:#fff;padding:12px 16px}
.skip:focus{left:8px;top:8px}
.num{font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}

@media (min-width:768px){
  h1{font-size:43px} h2{font-size:32px}
}
@media (min-width:1280px){
  h1{font-size:50px}
}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
/* views set narrow inline widths on whole pages; widen the app and listing pages to the container.
   Sign-in (520px) and short notices (640px) stay narrow on purpose; paragraphs keep var(--measure). */
#main .wrap[style*="max-width:7"],#main .wrap[style*="max-width:8"],#main .wrap[style*="max-width:9"]{max-width:var(--maxw)!important}
#main .wrap[style*="max-width:7"] > .lead,#main .wrap[style*="max-width:8"] > .lead,#main .wrap[style*="max-width:9"] > .lead{max-width:var(--measure)}
@media (max-width:767px){.wrap{padding-inline:16px}}
.section{padding-block:40px}
@media (min-width:768px){.section{padding-block:64px}}
.section--band{background:var(--band)}
.section--dark{background:var(--c-ink);color:#fff}
.section--dark h1,.section--dark h2,.section--dark h3{color:#fff}
.section--dark p{color:#DEDEE8}
.section--dark a{color:#fff}
.grid{display:grid;gap:20px}
.grid--2{grid-template-columns:1fr}
.grid--3{grid-template-columns:1fr}
.grid--4{grid-template-columns:1fr}
@media (min-width:768px){
  .grid--2{grid-template-columns:1fr 1fr}
  .grid--3{grid-template-columns:1fr 1fr}
  .grid--4{grid-template-columns:1fr 1fr}
}
@media (min-width:1024px){
  .grid--3{grid-template-columns:repeat(3,1fr)}
  .grid--4{grid-template-columns:repeat(4,1fr)}
}
@media (min-width:1280px){.grid{gap:24px}}
/* hero and feature pictures: never taller than most of the screen (ultrawide, 5:4) */
.ph{max-height:70vh}
@media (min-aspect-ratio:2/1){.ph{max-height:62vh}}
.stack{display:flex;flex-direction:column;gap:16px}
.stack--sm{gap:8px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.row--between{justify-content:space-between}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
.lead{font-size:19px;color:var(--text-soft)}
@media (min-width:768px){.lead{font-size:21px}}

/* ---------- zone strip ---------- */
.strip{background:var(--c-ink);color:#fff;font-size:14px}
.strip .wrap{min-height:36px;display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;justify-content:space-between;padding-top:6px;padding-bottom:6px}
.strip a{color:#fff;font-weight:500}
.strip .strip-mark{font-weight:700;color:var(--c-accent-soft)}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line)}
body[data-zone="gdin"] header{background:var(--paper-g)}
.hdr{display:flex;align-items:center;gap:16px;min-height:var(--header-h)}
.logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:19px;color:var(--text);text-decoration:none;letter-spacing:-.02em;padding:6px 0}
.logo-text{display:flex;align-items:center;gap:8px}
.logo-text[hidden]{display:none}
.logo-img{display:block;height:44px;width:auto;max-width:none}
@media (max-width:767px){.logo-img{height:32px}}
.signin-brand{display:flex;justify-content:center;margin:0 0 20px}
.signin-brand img{height:56px;width:auto}
.logo .dot{width:22px;height:22px;border-radius:6px;background:var(--accent);flex:none;display:grid;place-items:center}
.logo .dot span{width:8px;height:8px;border-radius:50%;background:#fff}
.gk-mark{flex:none;display:inline-block;vertical-align:middle}
@media (max-width:767px){.logo small{display:none}.hide-sm{display:none!important}}
.gk-word{font-family:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:-.02em}
.gk-word span{color:var(--c-accent)}
.linkish{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
@media print{
  body.printing-pack *{visibility:hidden}
  body.printing-pack .pack,body.printing-pack .pack *{visibility:visible}
  body.printing-pack .pack{position:absolute;left:0;top:0;width:100%;max-height:none !important;overflow:visible !important;border:0 !important}
}
.logo small{display:block;font-size:11px;font-weight:500;color:var(--text-soft);letter-spacing:0}
.nav{display:none;margin-left:auto;align-items:center;gap:4px}
@media (min-width:1024px){.nav{display:flex}}
.nav a{
  display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;
  color:var(--text);text-decoration:none;font-size:15px;font-weight:500;border:1px solid transparent;
}
.nav a:hover{background:var(--band)}
.nav a[aria-current="page"]{background:var(--accent-soft);border-color:var(--accent);font-weight:600}
.nav a[aria-current="page"]::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px}
@media (min-width:1024px) and (max-width:1319px){
  .nav a{padding:0 8px;font-size:14px}
  .nav a[aria-current="page"]::before{margin-right:6px}
  .logo small{display:none}
}
.hdr-right{margin-left:auto;display:flex;align-items:center;gap:8px}
/* a signed-in coordinator has a long menu: tighten it, and below 1280 use the menu button */
@media (min-width:1280px) and (max-width:1599px){
  .nav--long .nav a{padding:0 7px;font-size:13.5px}
  .nav--long .acct-btn .who{display:none}
}
@media (min-width:1024px) and (max-width:1279px){
  .nav--long .nav{display:none}
  .nav--long .menu-btn{display:inline-flex}
  .nav--long .hdr-right{margin-left:auto}
  .panel.panel--long.open{display:block!important}
}
@media (min-width:1024px){.hdr-right{margin-left:0}}
.menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}
@media (min-width:1024px){.menu-btn{display:none}}
.panel{display:none;border-top:1px solid var(--line);background:var(--surface);padding:12px 0 20px}
.panel.open{display:block}
@media (min-width:1024px){.panel{display:none!important}}
.panel a{display:flex;align-items:center;min-height:48px;padding:0 12px;border-radius:var(--radius-sm);text-decoration:none;color:var(--text);font-weight:500}
.panel a[aria-current="page"]{background:var(--accent-soft);font-weight:700}
.acct{position:relative}
.acct-btn{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;text-align:left}
.acct-btn .who{display:none;line-height:1.15}
@media (min-width:768px){.acct-btn .who{display:block}}
.acct-btn .who b{display:block;font-size:14px;font-weight:600}
.acct-btn .who span{font-size:12px;color:var(--text-soft)}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;flex:none}
.acct-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:6px;display:none;box-shadow:0 8px 24px rgba(0,0,0,.10)}
.acct-menu.open{display:block}
.acct-menu a,.acct-menu button{display:flex;width:100%;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--radius-sm);background:none;border:0;font:inherit;color:var(--text);text-decoration:none;cursor:pointer;text-align:left}
.acct-menu a:hover,.acct-menu button:hover{background:var(--band)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;
  border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:#fff;
  font:inherit;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;
}
body:not([data-zone="gdin"]) .btn,
body:not([data-zone="gdin"]) .btn:hover{color:var(--c-ink)}
body:not([data-zone="gdin"]) .btn--ghost,
body:not([data-zone="gdin"]) .btn--quiet{color:var(--c-ink)}
body:not([data-zone="gdin"]) .section--dark .btn--ghost{color:#fff}
.btn:hover{color:#fff;filter:brightness(.92)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn--ghost:hover{color:var(--text);background:var(--band);filter:none}
.btn--quiet{background:var(--surface);color:var(--accent);border-color:var(--accent)}
.btn--quiet:hover{color:var(--accent);background:var(--accent-soft);filter:none}
.btn--sq{border-radius:var(--radius-sm)}
.btn--sm{min-height:40px;padding:0 14px;font-size:14px}
.btn--lg{min-height:52px;padding:0 26px;font-size:17px}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- cards ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.card--flush{padding:0;overflow:hidden}
.card h3{margin-bottom:6px}
.card--picked{border-color:var(--accent);border-width:2px}
.card__body{padding:18px}
.ph{position:relative;aspect-ratio:16/10;background:var(--accent-soft);overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.ph__fallback{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;background:var(--accent-soft);color:var(--text);font-weight:600;font-size:17px}
.meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px;color:var(--text-soft)}
.quote{background:var(--accent-soft);border-radius:var(--radius);padding:24px}
.quote p{font-size:21px;font-weight:500;line-height:1.4;margin-bottom:12px}
@media (min-width:768px){.quote{padding:36px}.quote p{font-size:26px}}
.quote cite{font-style:normal;font-size:15px;color:var(--text-soft)}

/* ---------- tags, pills, statuses ---------- */
.tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text)}
.tag--ok{border-color:var(--ok);color:var(--ok)}
.tag--warn{border-color:var(--warn);color:var(--warn)}
.tag--accent{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}
body:not([data-zone="gdin"]) a{color:#0C7A87}
body:not([data-zone="gdin"]) .eyebrow{color:#0C7A87}
body:not([data-zone="gdin"]) .section--dark a{color:#fff}
body:not([data-zone="gdin"]) footer a{color:#fff}
.tag--flat{background:var(--band)}
.dot-mark{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}

/* ---------- progress ---------- */
.bar{height:10px;border-radius:999px;background:var(--band);overflow:hidden;border:1px solid var(--line)}
.bar__fill{height:100%;background:var(--accent);border-radius:999px}
.bar--lift .bar__fill{background:var(--ok)}

/* ---------- stats ---------- */
.stats{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
@media (min-width:768px){.stats.stats--3{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat b{display:block;font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
@media (min-width:768px){.stat b{font-size:43px}}
.stat span{font-size:15px;color:var(--text-soft)}

/* ---------- forms ---------- */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;max-width:640px}
.field label{font-weight:600;font-size:15px}
.field .hint{font-size:14px;color:var(--text-soft)}
input[type=text],input[type=email],input[type=number],input[type=password],input[type=date],select,textarea{
  font:inherit;font-size:16px;color:var(--text);background:var(--surface);
  border:1px solid var(--text-soft);border-radius:var(--radius-sm);padding:11px 12px;min-height:44px;width:100%;
}
textarea{min-height:120px;resize:vertical;line-height:1.5}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--warn);border-width:2px}
.err{color:var(--warn);font-size:14px;font-weight:600}
.summary-err{border:2px solid var(--warn);border-radius:var(--radius);padding:16px;margin-bottom:24px;background:var(--surface)}
.summary-err h3{color:var(--warn);margin-bottom:8px}
.summary-err a{color:var(--warn)}
fieldset{border:0;padding:0;margin:0 0 24px}
legend{font-weight:700;font-size:19px;padding:0;margin-bottom:4px}
.choice{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;background:var(--surface);cursor:pointer;min-height:44px}
.choice input{margin-top:4px;width:20px;height:20px;flex:none;accent-color:var(--accent)}
.choice--on{border-color:var(--accent);border-width:2px;background:var(--accent-soft)}
.choice b{display:block}
.choice span{font-size:14px;color:var(--text-soft)}
.toggle{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.switch{position:relative;flex:none;width:52px;height:30px;border-radius:999px;border:1px solid var(--line);background:var(--band);cursor:pointer;padding:0}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--text-soft);transition:left .15s}
.switch[aria-checked="true"]{background:var(--accent-soft);border-color:var(--accent)}
.switch[aria-checked="true"]::after{left:26px;background:var(--accent)}

/* ---------- tables and lists ---------- */
.tbl-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);font-weight:600;background:var(--band)}
tr:last-child td{border-bottom:0}
.list{display:flex;flex-direction:column;gap:12px}
.item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.item h3{font-size:17px;margin-bottom:4px}
.empty{border:1px dashed var(--text-soft);border-radius:var(--radius);padding:24px;background:var(--surface)}
.empty p{margin:0;color:var(--text-soft)}

/* ---------- advice ---------- */
.advice{background:var(--accent-soft);border-radius:var(--radius);padding:16px}
.advice + .advice{margin-top:12px}
.advice__who{font-weight:600;font-size:15px}
.advice__when{font-size:13px;color:var(--text-soft)}
.posture{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
details.disclose{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}
details.disclose > summary{cursor:pointer;padding:12px 14px;font-weight:600;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}
details.disclose > summary::-webkit-details-marker{display:none}
details.disclose > summary::before{content:"+";font-weight:700;color:var(--accent)}
details.disclose[open] > summary::before{content:"-"}
details.disclose > div{padding:0 14px 14px}

/* ---------- allocation room ---------- */
.pool{position:sticky;top:calc(var(--header-h) + 1px);z-index:40;background:var(--surface);border-bottom:2px solid var(--text);padding:10px 0}
.pool__inner{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;max-height:96px}
.pool b{display:block;font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}
.pool span{font-size:13px;color:var(--text-soft)}
.pool--over{border-color:var(--warn);background:var(--warn);color:#fff}
.pool--over span,.pool--over b{color:#fff}
.alloc{display:grid;gap:16px}
@media (min-width:1280px){.alloc{grid-template-columns:1fr 340px;align-items:start}}
.prop{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.prop--locked{background:var(--band)}
.money-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0 8px}
.money-row input[type=range]{flex:1 1 200px;min-width:140px;height:44px;accent-color:var(--accent)}
.money-row .amt{flex:0 0 130px}
.money-row .amt input{font-variant-numeric:tabular-nums;font-weight:600}
.verdict{font-size:15px;font-weight:600}
.verdict--ok{color:var(--ok)}
.verdict--warn{color:var(--warn)}
.verdict--none{color:var(--text-soft)}
.who-row{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- notices ---------- */
.notice{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius-sm);padding:14px 16px;background:var(--surface)}
.notice--ok{border-left-color:var(--ok)}
.notice--warn{border-left-color:var(--warn)}
.notice p:last-child{margin-bottom:0}
.spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}
.pack{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;max-height:460px;overflow:auto}
.pack h4{margin-bottom:2px}
.pack hr{border:0;border-top:1px solid var(--line);margin:18px 0}

/* ---------- steps ---------- */
.steps{counter-reset:s;display:grid;gap:20px}
@media (min-width:768px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1280px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.step::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;margin-bottom:12px}
.lifecycle{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.lifecycle li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-soft)}
.lifecycle li.done{color:var(--ok);border-color:var(--ok)}
.lifecycle li.now{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---------- footer ---------- */
footer{background:var(--c-ink);color:#DEDEE8;padding:40px 0;margin-top:48px}
body[data-zone="gdin"] footer{background:var(--ink-alt)}
footer h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline;color:#fff}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:8px}
.foot-grid{display:grid;gap:28px;grid-template-columns:1fr}
@media (min-width:768px){.foot-grid{grid-template-columns:2fr 1fr 1fr}}
.foot-bottom{border-top:1px solid rgba(255,255,255,.2);margin-top:28px;padding-top:20px;font-size:14px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* funded cards are real links (appended) */
a.card--link{display:block;color:inherit;text-decoration:none;transition:box-shadow .15s}
a.card--link:hover{box-shadow:0 6px 20px rgba(8,6,75,.12)}
a.card--link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.card__more{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}
