@font-face{font-family:'Bricolage Grotesque';src:url('/assets/fonts/bricolage-grotesque-latin-500-normal.woff2');font-weight:500;font-display:swap}@font-face{font-family:'Bricolage Grotesque';src:url('/assets/fonts/bricolage-grotesque-latin-600-normal.woff2');font-weight:600;font-display:swap}@font-face{font-family:'Bricolage Grotesque';src:url('/assets/fonts/bricolage-grotesque-latin-700-normal.woff2');font-weight:700;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/ibm-plex-sans-latin-400-normal.woff2');font-weight:400;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/ibm-plex-sans-latin-500-normal.woff2');font-weight:500;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/ibm-plex-sans-latin-600-normal.woff2');font-weight:600;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/ibm-plex-mono-latin-400-normal.woff2');font-weight:400;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/ibm-plex-mono-latin-500-normal.woff2');font-weight:500;font-display:swap}
.fk{--mist:#EEF0F3;--paper:#FFFFFF;--paper2:#F7F8FA;--ink:#151922;--ink2:#2A303C;--slate:#596273;--slate2:#8A92A0;--line:#D9DDE3;--line2:#C3C9D2;--maroon:#8A1538;--maroon2:#6E0F2C;--maroonT:#F6E7EC;--aqua:#2EC4B6;--aquaT:#DCF4F1;--dline:rgba(255,255,255,.12);--ddim:rgba(255,255,255,.62);
--fd:'Bricolage Grotesque',ui-sans-serif,system-ui,sans-serif;--fb:'IBM Plex Sans',ui-sans-serif,system-ui,sans-serif;--fm:'IBM Plex Mono',ui-monospace,monospace;
position:relative;width:100%;background:var(--mist);color:var(--ink);font:400 16px/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow:hidden;text-align:left}
.fk *{box-sizing:border-box}
:where(.fk) a{color:inherit;text-decoration:none}
:where(.fk) :where(h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd){margin:0;padding:0}
:where(.fk) :where(ul,ol){list-style:none}
:where(.fk) :where(button,input,select,textarea){font:inherit;color:inherit}
.fk :focus-visible{outline:2px solid var(--aqua);outline-offset:3px}
:where(.fk) svg{display:block}
.fk-wrap{width:1120px;margin:0 auto;position:relative}

/* ---------- type ---------- */
.fk-display{font:600 80px/.96 var(--fd);letter-spacing:-.04em}
.fk-h1{font:600 64px/1 var(--fd);letter-spacing:-.035em}
.fk-h2{font:600 46px/1.04 var(--fd);letter-spacing:-.03em}
.fk-h3{font:600 26px/1.15 var(--fd);letter-spacing:-.02em}
.fk-h4{font:600 19px/1.3 var(--fd);letter-spacing:-.01em}
.fk-lead{font-size:20px;line-height:1.55;color:var(--ink2)}
.fk-body{font-size:16px;line-height:1.65;color:var(--slate)}
.fk-small{font-size:14px;line-height:1.55;color:var(--slate)}
.fk-mono{font:500 12px/1.4 var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.fk-accent{color:var(--maroon)}
.fk-eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.fk-eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;border:1.5px solid var(--maroon);flex-shrink:0}
.fk-dark .fk-eyebrow{color:var(--ddim)}
.fk-dark .fk-eyebrow::before{border-color:var(--aqua)}

/* ---------- logo (placeholder until the real mark arrives) ---------- */
.fk-logo{display:inline-flex;align-items:center;gap:10px;font:700 24px/1 var(--fd);letter-spacing:-.04em;color:var(--ink)}
.fk-logo span b{font-weight:700}
.fk-logo svg{color:var(--maroon)}
.fk-dark .fk-logo svg,.fk-logo--light svg{color:#fff}
.fk-logo span i{font-style:normal;font-weight:500;color:var(--slate)}
.fk-dark .fk-logo,.fk-logo--light{color:#fff}
.fk-dark .fk-logo span i,.fk-logo--light span i{color:var(--ddim)}
.fk-logo svg .lg-ring{transform-origin:16px 16px;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.fk-logo:hover svg .lg-ring{transform:rotate(-200deg)}

/* ---------- nav ---------- */
.fk-nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 80px;position:relative;z-index:3}
.fk-nav__links{display:flex;gap:4px;padding:5px;border-radius:999px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px var(--line)}
.fk-nav__links a{padding:9px 16px;border-radius:999px;font:500 15px/1 var(--fb);color:var(--ink2);transition:background .2s,color .2s}
.fk-nav__links a:hover{background:rgba(21,25,34,.06)}
.fk-nav__links a[aria-current]{background:var(--ink);color:#fff}

/* ---------- buttons ---------- */
.fk-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;border:0;font:600 15px/1 var(--fb);white-space:nowrap;cursor:pointer;transition:transform .25s cubic-bezier(.2,.7,.2,1),background .25s,box-shadow .25s,color .25s}
.fk-btn svg{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.fk-btn:hover svg{transform:translateX(4px)}
.fk-btn--primary{background:var(--maroon);color:#fff}
.fk-btn--primary:hover{background:var(--maroon2);transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(138,21,56,.7)}
.fk-btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.fk-btn--ghost:hover{background:var(--ink);color:#fff}
.fk-btn--light{background:#fff;color:var(--maroon)}
.fk-btn--light:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(0,0,0,.5)}
.fk-btn--onDark{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.fk-btn--onDark:hover{background:#fff;color:var(--ink)}
.fk-btn--sm{height:42px;padding:0 18px;font-size:14px}
.fk-btn--block{width:100%}
.fk-link{display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--fb);color:var(--maroon)}
.fk-link svg{transition:transform .25s}
.fk-link:hover svg{transform:translateX(4px)}
.fk-dark .fk-link{color:var(--aqua)}

/* ---------- sections ---------- */
.fk-sec{padding:120px 0;position:relative}
.fk-sec--t{padding-top:0}
.fk-sec--line{border-top:1px solid var(--line)}
.fk-dark{background:var(--ink);color:#fff}
.fk-dark .fk-body,.fk-dark .fk-small,.fk-dark .fk-lead{color:var(--ddim)}
.fk-dark .fk-mono{color:var(--ddim)}
.fk-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:56px}
.fk-head__text{max-width:640px;display:grid;gap:18px}
.fk-pagehead{padding:64px 0 72px;display:grid;gap:22px;max-width:820px}
.fk-crumbs{display:flex;gap:10px;align-items:center;font:500 13px/1 var(--fm);color:var(--slate);letter-spacing:.04em}
.fk-crumbs a:hover{color:var(--maroon)}

/* ---------- hero ---------- */
.fk-hero{display:grid;grid-template-columns:470px 1fr;gap:28px;align-items:center;padding:28px 0 88px}
.fk-hero__text{display:grid;gap:28px;align-content:center}
.fk-hero__ctas{display:flex;gap:12px;flex-wrap:wrap}
.fk-hero__note{display:flex;gap:18px;align-items:center;padding-top:8px;border-top:1px solid var(--line)}
.fk-hero__note p{font-size:14px;line-height:1.5;color:var(--slate)}

/* ---------- causal loop diagram (signature) ---------- */
.fk-cld{position:relative}
.fk-cld svg{width:100%;height:auto;overflow:visible}
.fk-cld .c-arc{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round}
.fk-cld .c-arc--b{stroke:var(--maroon);stroke-dasharray:5 6}
.fk-cld .c-head{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fk-cld .c-head--b{stroke:var(--maroon)}
.fk-cld .c-sign{font:600 15px/1 var(--fm);fill:var(--ink);text-anchor:middle;dominant-baseline:central}
.fk-cld .c-sign--neg{fill:var(--maroon)}
.fk-cld .c-node rect{fill:#fff;stroke:var(--line2);stroke-width:1.2}
.fk-cld .c-node text{font:500 13px/1 var(--fb);fill:var(--ink);text-anchor:middle}
.fk-cld .c-node--b rect{fill:var(--maroonT);stroke:var(--maroon);stroke-dasharray:3 3}
.fk-cld .c-node--b text{fill:var(--maroon2)}
.fk-cld .c-glow{fill:none;stroke:var(--aqua);stroke-width:2.4;opacity:0;animation:fk-flash 8s linear infinite;animation-delay:var(--t)}
.fk-cld .c-loop{transform-box:fill-box;transform-origin:center;animation:fk-spin 14s linear infinite}
.fk-cld .c-loop--b{animation-direction:reverse;animation-duration:20s}
.fk-cld .c-loopring{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round}
.fk-cld .c-loopring--b{stroke:var(--maroon)}
.fk-cld .c-looptxt{font:600 15px/1 var(--fd);fill:var(--ink);text-anchor:middle;dominant-baseline:central}
.fk-cld .c-looptxt--b{fill:var(--maroon)}
.fk-cld .c-looplab{font:500 10.5px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase;fill:var(--slate);text-anchor:middle}
.fk-cld .c-pulse circle:first-of-type{fill:var(--aqua);opacity:.22}
.fk-cld .c-pulse circle:last-of-type{fill:var(--aqua)}
.fk-cld .c-bflow{animation:fk-march 1.2s linear infinite}
.fk-in .fk-cld .c-arc,.fk-in .fk-cld .c-head{stroke-dasharray:1 1;animation:fk-draw .9s cubic-bezier(.4,0,.2,1) both;animation-delay:var(--d)}
.fk-in .fk-cld .c-arc--b{stroke-dasharray:5 6;animation:fk-fade .6s ease both,fk-march 1.2s linear infinite;animation-delay:var(--d),0s}
.fk-in .fk-cld .c-node,.fk-in .fk-cld .c-sign,.fk-in .fk-cld .c-loopwrap{animation:fk-pop .6s cubic-bezier(.2,.8,.2,1.2) both;animation-delay:var(--d);transform-box:fill-box;transform-origin:center}
.fk-cld__cap{display:grid;grid-template-columns:auto 1fr;gap:14px;margin-top:6px;padding-left:24px;font-size:13.5px;line-height:1.55;color:var(--slate)}
.fk-cld__cap b{font:500 12px/1.55 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.fk-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;padding-left:24px}
.fk-legend span{display:inline-flex;align-items:center;gap:7px;font:500 12px/1 var(--fm);color:var(--slate)}
.fk-legend b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.2px solid var(--line2);font:600 11px/1 var(--fm);color:var(--ink);background:#fff}
.fk-legend b.neg{color:var(--maroon);border-color:var(--maroon)}

/* ---------- marquee ---------- */
.fk-marquee{display:flex;align-items:center;gap:32px;height:76px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--paper2)}
.fk-marquee__label{flex-shrink:0;padding-left:80px;font:500 12px/1 var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--maroon);position:relative;z-index:1;background:var(--paper2);padding-right:24px;height:100%;display:flex;align-items:center;box-shadow:24px 0 24px -6px var(--paper2)}
.fk-marquee__track{display:flex;gap:0;white-space:nowrap;animation:fk-marquee 48s linear infinite}
.fk-marquee__track span{display:inline-flex;align-items:center;gap:22px;padding-right:22px;font:500 22px/1 var(--fd);letter-spacing:-.02em;color:var(--ink2)}
.fk-marquee__track span::after{content:"";width:34px;height:1.5px;background:var(--line2);box-shadow:none}
.fk-marquee__track span i{display:none}

/* ---------- lenses ---------- */
.fk-lenses{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fk-lens{background:#fff;border-radius:22px;padding:28px 28px 32px;display:grid;gap:14px;align-content:start;box-shadow:0 0 0 1px var(--line);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.fk-lens:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line2),0 24px 40px -28px rgba(21,25,34,.4)}
.fk-lens__fig{height:170px;border-radius:14px;background:var(--paper2);display:grid;place-items:center;margin-bottom:10px;overflow:hidden}
.fk-lens__q{margin-top:6px;padding-top:16px;border-top:1px dashed var(--line2);font:500 12.5px/1.5 var(--fm);color:var(--ink2)}
.fk-lens__q b{display:block;font-weight:500;color:var(--maroon);letter-spacing:.1em;text-transform:uppercase;font-size:11px;margin-bottom:4px}
.fk-fig text{font:500 10.5px/1 var(--fm);fill:var(--slate)}
.fk-fig .ring{fill:none;stroke:var(--line2);stroke-width:1.2}
.fk-fig .ring-a{stroke:var(--maroon)}
.fk-fig .stroke{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fk-fig .ripple{fill:none;stroke:var(--aqua);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:fk-ripple 4s ease-out infinite}
.fk-fig .ripple:nth-of-type(2){animation-delay:1.3s}
.fk-fig .ripple:nth-of-type(3){animation-delay:2.6s}
.fk-fig .orbit{transform-box:view-box;transform-origin:140px 85px;animation:fk-spin 16s linear infinite}
.fk-fig .slide-l{animation:fk-nudge-l 5s ease-in-out infinite}
.fk-fig .slide-r{animation:fk-nudge-r 5s ease-in-out infinite}

/* ---------- focus areas ---------- */
.fk-areas{display:grid;gap:18px}
.fk-group{display:grid;grid-template-columns:250px 1fr;gap:28px;padding:30px 0;border-top:1px solid var(--line)}
.fk-group:first-child{border-top:0;padding-top:0}
.fk-group__label{display:grid;gap:10px;align-content:start;padding-top:6px}
.fk-group__label .fk-h4{font-size:21px}
.fk-group__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fk-card{position:relative;background:#fff;border-radius:18px;padding:24px;display:grid;gap:10px;align-content:start;box-shadow:0 0 0 1px var(--line);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;min-height:196px}
.fk-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1.5px var(--maroon),0 22px 40px -26px rgba(138,21,56,.45)}
.fk-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.fk-card__more{margin-top:auto;padding-top:8px;font:600 14px/1 var(--fb);color:var(--maroon);display:inline-flex;gap:6px;align-items:center;opacity:.0;transform:translateY(4px);transition:opacity .3s,transform .3s}
.fk-card:hover .fk-card__more{opacity:1;transform:none}
.fk-glyph{width:46px;height:46px;border-radius:14px;background:var(--paper2);display:grid;place-items:center;color:var(--ink);transition:background .3s,color .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
.fk-glyph svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fk-card:hover .fk-glyph{background:var(--maroon);color:#fff;transform:rotate(-6deg)}
.fk-glyph .caret{animation:fk-blink 1.1s steps(1) infinite}
.fk-glyph .layer{animation:fk-layer 2.4s ease-in-out infinite}
.fk-glyph .layer:nth-child(3){animation-delay:.2s}
.fk-glyph .layer:nth-child(4){animation-delay:.4s}
.fk-tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--paper2);font:500 11px/1 var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--slate);white-space:nowrap}
.fk-tag--maroon{background:var(--maroonT);color:var(--maroon2)}
.fk-tag--aqua{background:var(--aquaT);color:#0E6B62}
.fk-tag--ink{background:var(--ink);color:#fff}
.fk-dark .fk-tag{background:rgba(255,255,255,.08);color:var(--ddim)}

/* ---------- process (a real sequence) ---------- */
.fk-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:52px}
.fk-steps__line{position:absolute;left:22px;right:22px;top:21px;height:1.5px;background:var(--line2);overflow:hidden}
.fk-steps__line::after{content:"";position:absolute;top:-1px;left:0;width:120px;height:3.5px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--aqua),transparent);animation:fk-travel 4.5s cubic-bezier(.5,0,.5,1) infinite}
.fk-step{position:relative;display:grid;gap:12px;align-content:start}
.fk-step__dot{position:absolute;top:-52px;left:0;width:44px;height:44px;border-radius:50%;background:var(--mist);box-shadow:inset 0 0 0 1.5px var(--ink);display:grid;place-items:center;font:600 15px/1 var(--fm);color:var(--ink)}
.fk-step:first-child .fk-step__dot{background:var(--ink);color:#fff}
.fk-step__out{margin-top:6px;display:flex;gap:8px;align-items:center;font:500 12px/1.4 var(--fm);color:var(--slate)}
.fk-step__out b{font-weight:500;color:var(--maroon);letter-spacing:.1em;text-transform:uppercase;font-size:11px}

/* ---------- idea lab ---------- */
.fk-lab{display:grid;grid-template-columns:400px 1fr;gap:64px;align-items:center}
.fk-lab__stack{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.fk-lab__stack > div{display:grid;gap:16px}
.fk-lab__stack > div:last-child{margin-top:64px}
.fk-idea{background:#fff;color:var(--ink);border-radius:18px;padding:22px 22px 18px;display:grid;gap:12px;box-shadow:0 0 0 1px var(--line);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.fk-idea:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line2),0 22px 40px -26px rgba(21,25,34,.45)}
.fk-dark .fk-idea{box-shadow:none}
.fk-dark .fk-idea .fk-small{color:var(--slate)}
.fk-dark .fk-idea .fk-tag{background:var(--paper2);color:var(--slate)}
.fk-in .fk-lab__stack .fk-idea{animation:fk-float 7s ease-in-out infinite}
.fk-lab__stack > div:last-child .fk-idea{animation-delay:-3.5s}
.fk-idea__top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fk-idea__foot{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--line);font:500 12px/1 var(--fm);color:var(--slate)}
.fk-idea__need{font-size:13px;color:var(--slate)}
.fk-idea__need b{font-weight:600;color:var(--ink)}
.fk-stage{display:inline-flex;align-items:center;gap:7px;font:500 11px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.fk-stage::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--slate2)}
.fk-stage--explore::before{background:var(--slate2)}
.fk-stage--proto::before{background:var(--aqua);box-shadow:0 0 0 0 var(--aqua);animation:fk-live 2s ease-out infinite}
.fk-stage--pilot::before{background:var(--maroon)}
.fk-avs{display:flex}
.fk-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:600 10px/1 var(--fm);letter-spacing:.02em;margin-left:-7px;box-shadow:0 0 0 2px #fff}
.fk-av:first-child{margin-left:0}
.fk-av--1{background:var(--maroonT);color:var(--maroon2)}
.fk-av--2{background:var(--aquaT);color:#0E6B62}
.fk-av--3{background:#E4E7EC;color:var(--ink2)}
.fk-av--4{background:var(--ink);color:#fff}
.fk-av--more{background:#fff;color:var(--slate);box-shadow:0 0 0 2px #fff,inset 0 0 0 1px var(--line2)}

/* ---------- articles ---------- */
.fk-arts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fk-art{display:grid;gap:14px;align-content:start}
.fk-art__cover{position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:var(--ink)}
.fk-art__cover svg{width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.fk-art:hover .fk-art__cover svg{transform:scale(1.05)}
.fk-art__cover .fk-tag{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.92);color:var(--ink)}
.fk-art__title{font:600 21px/1.22 var(--fd);letter-spacing:-.015em;transition:color .2s}
.fk-art:hover .fk-art__title{color:var(--maroon)}
.fk-art__meta{display:flex;gap:10px;align-items:center;font:500 12px/1.4 var(--fm);color:var(--slate)}
.fk-art__meta i{width:3px;height:3px;border-radius:50%;background:var(--slate2)}
.fk-art__by{font-size:14px;color:var(--slate)}
.fk-art--feat{grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;padding:24px;border-radius:26px;background:#fff;box-shadow:0 0 0 1px var(--line)}
.fk-art--feat .fk-art__title{font-size:36px;line-height:1.08;letter-spacing:-.025em}
.fk-art--feat .fk-art__cover{aspect-ratio:16/11}
.fk-art--row{grid-template-columns:120px 1fr;gap:16px;align-items:center}
.fk-art--row .fk-art__cover{aspect-ratio:1;border-radius:14px}
.fk-art--row .fk-art__title{font-size:17px}

/* ---------- filters ---------- */
.fk-filters{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:40px}
.fk-chips{display:flex;gap:8px;flex-wrap:wrap}
.fk-chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;font:500 14px/1 var(--fb);color:var(--ink2);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;white-space:nowrap}
.fk-chip:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.fk-chip[aria-pressed="true"],.fk-chip[aria-checked="true"]{background:var(--ink);color:#fff;box-shadow:none}
.fk-chip[aria-pressed="true"]::before,.fk-chip[aria-checked="true"]::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--aqua)}
.fk-chip small{font:500 11px/1 var(--fm);color:var(--slate2)}
.fk-filters .fk-chip{height:36px;padding:0 13px;font-size:13.5px}
.fk-search{display:flex;align-items:center;gap:10px;height:44px;width:280px;padding:0 16px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--slate)}
.fk-search input{border:0;outline:0;background:none;width:100%;font-size:14px}
.fk-tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.fk-tabs button{height:34px;padding:0 14px;border:0;border-radius:999px;background:none;font:500 13px/1 var(--fb);color:var(--slate);cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.fk-tabs button[aria-pressed="true"]{background:var(--mist);color:var(--ink)}

/* ---------- forms ---------- */
.fk-form{display:grid;gap:36px}
.fk-fieldset{display:grid;gap:18px;padding:32px;border-radius:22px;background:#fff;box-shadow:0 0 0 1px var(--line);border:0;margin:0}
.fk-fieldset__head{display:flex;gap:14px;align-items:baseline}
.fk-fieldset__head b{font:500 12px/1 var(--fm);color:var(--maroon);letter-spacing:.08em}
.fk-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fk-field{display:grid;gap:8px;align-content:start}
.fk-label{font:600 14px/1.3 var(--fb);color:var(--ink)}
.fk-label i{font-style:normal;font-weight:400;color:var(--slate2);margin-left:4px}
.fk-input{width:100%;height:50px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper2);padding:0 16px;font:400 15px/1 var(--fb);color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none}
.fk-input::placeholder{color:var(--slate2)}
.fk-input:hover{border-color:var(--line2)}
.fk-input:focus,.fk-input.is-focus{outline:none;border-color:var(--maroon);background:#fff;box-shadow:0 0 0 4px var(--maroonT)}
.fk-input.is-error{border-color:#C2410C;background:#fff}
.fk-textarea{height:136px;padding:14px 16px;line-height:1.55;resize:none}
.fk-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23596273' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.fk-hint{font-size:13px;line-height:1.45;color:var(--slate)}
.fk-err{font-size:13px;color:#C2410C}
.fk-count{font:500 11px/1 var(--fm);color:var(--slate2);text-align:right}
.fk-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fk-option{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:16px 18px;border-radius:14px;border:0;background:var(--paper2);box-shadow:inset 0 0 0 1.5px var(--line);text-align:left;cursor:pointer;transition:box-shadow .2s,background .2s}
.fk-option:hover{box-shadow:inset 0 0 0 1.5px var(--line2)}
.fk-option__dot{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line2);background:#fff;margin-top:1px;transition:box-shadow .2s}
.fk-option b{display:block;font:600 15px/1.3 var(--fb);color:var(--ink)}
.fk-option span{display:block;font-size:13px;line-height:1.45;color:var(--slate);margin-top:3px}
.fk-option[aria-checked="true"]{background:#fff;box-shadow:inset 0 0 0 2px var(--maroon)}
.fk-option[aria-checked="true"] .fk-option__dot{box-shadow:inset 0 0 0 6px var(--maroon)}
.fk-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--slate);cursor:pointer}
.fk-check__box{width:20px;height:20px;border-radius:6px;flex-shrink:0;margin-top:1px;background:var(--maroon);display:grid;place-items:center}
.fk-check__box svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* ---------- side panels ---------- */
.fk-split{display:grid;grid-template-columns:1fr 352px;gap:48px;align-items:start}
.fk-panel{background:#fff;border-radius:22px;padding:28px;box-shadow:0 0 0 1px var(--line);display:grid;gap:18px}
.fk-panel--dark{background:var(--ink);color:#fff;box-shadow:none}
.fk-panel--dark .fk-small{color:var(--ddim)}
.fk-panel--dark .fk-eyebrow{color:var(--ddim)}
.fk-panel--dark .fk-eyebrow::before{border-color:var(--aqua)}
.fk-next{display:grid;gap:0}
.fk-next li{position:relative;display:grid;grid-template-columns:32px 1fr;gap:14px;padding-bottom:22px}
.fk-next li:last-child{padding-bottom:0}
.fk-next li::before{content:"";position:absolute;left:15.5px;top:32px;bottom:2px;width:1px;background:var(--dline)}
.fk-next li:last-child::before{display:none}
.fk-next__n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:500 13px/1 var(--fm);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3);color:#fff}
.fk-next li:first-child .fk-next__n{background:var(--aqua);color:var(--ink);box-shadow:none}
.fk-next li > div > b{display:block;font:600 15px/1.35 var(--fb)}
.fk-next li > div > span{display:block;font-size:13.5px;line-height:1.5;color:var(--ddim);margin-top:2px}
.fk-next--light li::before{background:var(--line)}
.fk-next--light .fk-next__n{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line2)}
.fk-next--light li:first-child .fk-next__n{background:var(--ink);color:#fff}
.fk-next--light li > div > span{color:var(--slate)}

/* ---------- CTA band + footer ---------- */
.fk-cta{position:relative;overflow:hidden;background:var(--maroon);color:#fff;border-radius:32px;padding:72px 72px 76px;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:end}
.fk-cta .fk-h2{max-width:640px}
.fk-cta p{max-width:560px;margin-top:20px;font-size:18px;line-height:1.55;color:rgba(255,255,255,.78)}
.fk-cta__art{position:absolute;right:-90px;top:-120px;width:520px;height:520px;opacity:.22;pointer-events:none}
.fk-cta__art circle,.fk-cta__art path{fill:none;stroke:#fff;stroke-width:1.2}
.fk-cta__art .spin{transform-box:view-box;transform-origin:260px 260px;animation:fk-spin 40s linear infinite}
.fk-cta__art .spin2{transform-box:view-box;transform-origin:260px 260px;animation:fk-spin 60s linear infinite reverse}
.fk-cta__btns{display:flex;gap:12px;position:relative}
.fk-foot{background:var(--ink);color:#fff;padding:88px 0 40px}
.fk-foot__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:64px;border-bottom:1px solid var(--dline)}
.fk-foot__top p{margin-top:18px;max-width:300px;font-size:14px;line-height:1.6;color:var(--ddim)}
.fk-foot h4{font:500 12px/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--ddim);margin-bottom:18px}
.fk-foot li{margin-bottom:12px}
.fk-foot li a{font-size:15px;color:#fff;opacity:.88;transition:opacity .2s,color .2s}
.fk-foot li a:hover{color:var(--aqua);opacity:1}
.fk-foot__bot{display:flex;justify-content:space-between;padding-top:28px;font:500 12px/1 var(--fm);color:var(--ddim)}

/* ---------- article body ---------- */
.fk-read{display:grid;grid-template-columns:190px 1fr 250px;gap:48px;align-items:start}
.fk-toc{position:sticky;top:24px;display:grid;gap:4px}
.fk-toc a{display:block;padding:8px 0 8px 14px;border-left:1.5px solid var(--line);font-size:14px;line-height:1.4;color:var(--slate)}
.fk-toc a[aria-current]{border-left-color:var(--maroon);color:var(--ink);font-weight:500}
.fk-prose{display:grid;gap:24px;font-size:18px;line-height:1.75;color:var(--ink2)}
.fk-prose h2{font:600 30px/1.15 var(--fd);letter-spacing:-.02em;color:var(--ink);margin-top:20px}
.fk-prose > p:first-child::first-letter{font:600 64px/.8 var(--fd);float:left;margin:8px 10px 0 0;color:var(--maroon)}
.fk-prose ol{display:grid;gap:14px;counter-reset:s}
.fk-prose ol li{position:relative;padding-left:48px;counter-increment:s}
.fk-prose ol li::before{content:counter(s);position:absolute;left:0;top:2px;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink);display:grid;place-items:center;font:500 13px/1 var(--fm)}
.fk-prose ol li b{color:var(--ink)}
.fk-quote{padding:8px 0 8px 28px;border-left:3px solid var(--maroon);font:500 26px/1.35 var(--fd);letter-spacing:-.015em;color:var(--ink)}
.fk-quote cite{display:block;margin-top:12px;font:500 12px/1 var(--fm);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.fk-figure{display:grid;gap:12px}
.fk-figure > div{border-radius:18px;background:#fff;box-shadow:0 0 0 1px var(--line);padding:28px}
.fk-figure figcaption{font-size:13.5px;line-height:1.5;color:var(--slate)}
.fk-figure figcaption b{font:500 12px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-right:8px}
.fk-take{border-radius:20px;background:var(--ink);color:#fff;padding:28px 32px;display:grid;gap:14px}
.fk-take li{position:relative;padding-left:26px;font-size:16px;line-height:1.55;color:rgba(255,255,255,.85)}
.fk-take li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--aqua)}
.fk-share{display:flex;gap:8px}
.fk-share a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink2);font:600 12px/1 var(--fm)}
.fk-share a:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.fk-progress{position:absolute;left:0;top:0;height:3px;width:34%;background:var(--maroon);z-index:4}

/* ---------- confirmation ---------- */
.fk-done{display:grid;justify-items:center;text-align:center;gap:22px;max-width:640px;margin:0 auto;padding:72px 0 40px}
.fk-done__mark{width:112px;height:112px}
.fk-done__mark circle{fill:none;stroke:var(--line2);stroke-width:2}
.fk-done__mark .ring{stroke:var(--maroon);stroke-width:3;stroke-linecap:round;stroke-dasharray:1 1;transform-origin:56px 56px;transform:rotate(-90deg)}
.fk-done__mark .tick{fill:none;stroke:var(--maroon);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1}
.fk-in .fk-done__mark .ring{animation:fk-draw 1.1s cubic-bezier(.6,0,.2,1) both .1s}
.fk-in .fk-done__mark .tick{animation:fk-draw .5s cubic-bezier(.4,0,.2,1) both 1.05s}
.fk-ref{display:inline-flex;gap:10px;align-items:center;height:36px;padding:0 16px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font:500 13px/1 var(--fm);color:var(--ink2)}
.fk-sum{width:100%;text-align:left;display:grid;gap:0;border-radius:20px;background:#fff;box-shadow:0 0 0 1px var(--line);padding:6px 28px}
.fk-sum div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line);font-size:15px}
.fk-sum div:first-child{border-top:0}
.fk-sum dt{font:500 12px/1.6 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.fk-sum dd{margin:0;color:var(--ink)}

/* ---------- mobile ---------- */
.fk--m{font-size:15px}
.fk--m .fk-wrap{width:auto;padding:0 20px}
.fk-status{height:50px;display:flex;justify-content:space-between;align-items:center;padding:6px 30px 0 34px;font:600 15px/1 var(--fb);color:var(--ink)}
.fk-status svg{fill:currentColor}
.fk-dark .fk-status,.fk-status--light{color:#fff}
.fk-mnav{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:relative;z-index:3}
.fk-mnav .fk-logo{font-size:21px}
.fk-burger{width:44px;height:44px;border-radius:50%;border:0;background:#fff;box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;cursor:pointer}
.fk-burger svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round}
.fk--m .fk-display{font-size:46px;line-height:.98}
.fk--m .fk-h1{font-size:40px}
.fk--m .fk-h2{font-size:32px;line-height:1.06}
.fk--m .fk-h3{font-size:22px}
.fk--m .fk-lead{font-size:17px}
.fk--m .fk-sec{padding:72px 0}
.fk--m .fk-sec--t{padding-top:0}
.fk--m .fk-marquee{height:60px}
.fk--m .fk-marquee__label{display:none}
.fk--m .fk-marquee__track span{font-size:18px;padding-right:18px;gap:18px}
.fk--m .fk-marquee__track span::after{width:22px}
.fk--m .fk-cld__cap{padding-left:0;font-size:13px}
.fk--m .fk-legend{padding-left:0;gap:12px}
.fk--m .fk-lens__fig{height:150px}
.fk--m .fk-card{min-height:0;grid-template-columns:46px 1fr;gap:4px 16px;padding:18px}
.fk--m .fk-card .fk-glyph{grid-row:span 2}
.fk--m .fk-steps{grid-template-columns:1fr;gap:28px;padding:0 0 0 60px}
.fk--m .fk-steps__line{left:21px;right:auto;top:20px;bottom:20px;width:1.5px;height:auto}
.fk--m .fk-steps__line::after{width:3.5px;height:90px;left:-1px;top:0;background:linear-gradient(180deg,transparent,var(--aqua),transparent);animation:fk-travel-y 4.5s cubic-bezier(.5,0,.5,1) infinite}
.fk--m .fk-step__dot{top:0;left:-60px}
.fk--m .fk-cta{grid-template-columns:1fr;padding:40px 24px 28px;border-radius:24px;gap:28px}
.fk--m .fk-cta p{font-size:16px}
.fk--m .fk-foot{padding:56px 0 32px}
.fk-hscroll{display:flex;gap:14px;overflow:hidden;padding:0 20px}
.fk-hscroll > *{flex:0 0 290px}
.fk-mmenu{min-height:844px;background:var(--ink);color:#fff;display:flex;flex-direction:column}
.fk-mmenu__links{padding:28px 20px 0;display:grid}
.fk-mmenu__links a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--dline);font:600 32px/1 var(--fd);letter-spacing:-.03em}
.fk-mmenu__links a small{font:500 12px/1 var(--fm);letter-spacing:.08em;color:var(--ddim)}
.fk-mmenu__links a[aria-current]{color:var(--aqua)}
.fk-in .fk-mmenu__links a{animation:fk-slide .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--d,0) * 60ms + 80ms)}
.fk-mbar{position:sticky;bottom:0;padding:14px 20px 30px;background:linear-gradient(180deg,rgba(238,240,243,0),var(--mist) 28%);}
.fk--m .fk-fieldset{padding:22px 18px;border-radius:18px}
.fk--m .fk-row,.fk--m .fk-options{grid-template-columns:1fr}
.fk-mstep{display:flex;gap:6px;padding:0 20px}
.fk-mstep i{flex:1;height:4px;border-radius:2px;background:var(--line)}
.fk-mstep i.on{background:var(--maroon)}

/* ---------- style guide ---------- */
.fk-sg{padding:72px}
.fk-sg__row{display:grid;gap:24px;padding:40px 0;border-top:1px solid var(--line)}
.fk-sg__row:first-of-type{border-top:0}
.fk-sw{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.fk-sw div{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line)}
.fk-sw i{display:block;height:96px}
.fk-sw p{padding:12px 14px;font:500 12px/1.5 var(--fm);color:var(--slate)}
.fk-sw p b{display:block;font:600 14px/1.3 var(--fb);color:var(--ink)}
.fk-type{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:baseline;padding:14px 0;border-top:1px dashed var(--line)}
.fk-type:first-child{border-top:0}

/* ---------- motion ---------- */
.fk-in .fk-r{animation:fk-rise .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--rd,0) * 70ms)}
.fk-d0{--rd:0}.fk-d1{--rd:1}.fk-d2{--rd:2}.fk-d3{--rd:3}.fk-d4{--rd:4}.fk-d5{--rd:5}.fk-d6{--rd:6}.fk-d7{--rd:7}.fk-d8{--rd:8}.fk-d9{--rd:9}
@keyframes fk-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes fk-slide{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes fk-fade{from{opacity:0}to{opacity:1}}
@keyframes fk-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes fk-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fk-march{to{stroke-dashoffset:-22}}
@keyframes fk-spin{to{transform:rotate(360deg)}}
@keyframes fk-flash{0%{opacity:0}3%{opacity:1}14%{opacity:0}100%{opacity:0}}
@keyframes fk-marquee{to{transform:translateX(-50%)}}
@keyframes fk-travel{0%{left:-120px}100%{left:100%}}
@keyframes fk-travel-y{0%{top:-90px}100%{top:100%}}
@keyframes fk-blink{50%{opacity:0}}
@keyframes fk-layer{0%,100%{transform:translateX(0)}50%{transform:translateX(1.5px)}}
@keyframes fk-ripple{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.5);opacity:0}}
@keyframes fk-nudge-l{0%,100%{transform:translateX(0)}50%{transform:translateX(9px)}}
@keyframes fk-nudge-r{0%,100%{transform:translateX(0)}50%{transform:translateX(-9px)}}
@keyframes fk-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes fk-live{0%{box-shadow:0 0 0 0 rgba(46,196,182,.6)}100%{box-shadow:0 0 0 8px rgba(46,196,182,0)}}
@media (prefers-reduced-motion:reduce){
  .fk *,.fk *::before,.fk *::after{animation:none!important;transition:none!important}
  .fk .c-pulse{display:none}
}
