/* FEDS homepage refinement — first page only.
   Typography, palette, Czech content and mascot assets come from the supplied HTML.
   No framework, stock photography, webfont binaries or other page templates. */
:root {
  --feds-green:#1A3A2E; --feds-green-deep:#142D23; --feds-green-soft:#E8EFEA;
  --feds-orange:#D4622A; --feds-orange-solid:#BC4F1C; --feds-orange-deep:#A34215;
  --feds-orange-soft:#FBEDE4; --feds-ink:#121A16; --feds-body:#4B5563;
  --feds-border:#D5DDD7; --feds-bg:#fff; --feds-container:1200px;
  --feds-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --feds-font-display:"Bricolage Grotesque","Inter",sans-serif;
  --gutter:16px; --edge:clamp(24px,5vw,64px); --section-space:clamp(64px,6.4vw,92px);
  --radius:26px; --nav-height:80px;
  --fc-green:var(--feds-green); --fc-deep:var(--feds-green-deep); --fc-sage:var(--feds-green-soft);
  --fc-action:var(--feds-orange-solid); --fc-action-hover:var(--feds-orange-deep);
  --fc-peach:var(--feds-orange-soft); --fc-ink:var(--feds-ink); --fc-body:var(--feds-body);
  --fc-font:var(--feds-font); --fc-display:var(--feds-font-display);
}
*,*::before,*::after { box-sizing:border-box; }
* { margin:0; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-height) + 18px); }
body { font-family:var(--feds-font); color:var(--feds-ink); background:var(--feds-bg); -webkit-font-smoothing:antialiased; }
button,a,input { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
button,a { touch-action:manipulation; }
button { cursor:pointer; }
img,svg { display:block; }
img { max-width:100%; }
a { color:inherit; }
[hidden] { display:none!important; }
h1,h2,h3,[class*="__num"],[class*="__title"] { font-family:var(--feds-font-display); }
h1,h2,h3 { text-wrap:balance; }
:where(a,button,[tabindex]):focus-visible { outline:3px solid var(--feds-orange-deep); outline-offset:5px; }
:where(.feds-footer,.feds-topbar,.fcta2,.fpr) :focus-visible,.fsc2__card--dark:focus-visible { outline-color:#fff; }
main:focus { outline:none; }
.fc-skip { position:fixed; z-index:1000; top:12px; left:16px; padding:14px 20px; border-radius:8px; background:#fff; color:var(--feds-green); transform:translateY(-170%); }
.fc-skip:focus { transform:none; }
/* Shared alignment line, measured from the available width rather than 100vw. */
.feds-container,.feds-nav__inner,.feds-topbar__inner,.fp2__inner,.fsc2__inner,.fst2__inner,.fkl__inner {
  width:min(var(--feds-container),calc(100% - 2 * var(--edge))); margin-inline:auto;
}
.fh2,.fsi,.fpr,.fcta2 { padding-inline:var(--gutter); }
.fh2 { padding-top:var(--gutter); }
.fh2__scene,.fsi__scene,.fpr__scene,.fcta2__scene { border-radius:var(--radius); overflow:hidden; position:relative; }
.fh2__inner,.fsi__inner,.fpr__inner,.fcta2__inner {
  width:min(var(--feds-container),calc(100% - 2 * (var(--edge) - var(--gutter)))); margin-inline:auto;
}
.fc-eyebrow { font:600 11px/1.5 var(--feds-font); text-transform:uppercase; letter-spacing:.13em; color:var(--feds-green); display:flex; align-items:center; gap:9px; margin-bottom:20px; }
.fc-eyebrow::before { content:""; width:15px; height:15px; border:1px solid currentColor; border-radius:50%; background:radial-gradient(circle,currentColor 0 3px,transparent 3.6px); flex:none; }
.feds-eyebrow { font:600 11px/1.5 var(--feds-font); text-transform:uppercase; letter-spacing:.13em; margin-bottom:14px; color:#617065; }
/* Two circles: a consistent 70% core. Motion is confined to the inner glyph. */
.fc-ring { --ring-size:72px; --core-size:50px; --icon-size:24px; --ring-line:rgba(26,58,46,.25); --core-bg:var(--fc-sage); --core-ink:var(--fc-green);
  width:var(--ring-size); height:var(--ring-size); border:1px solid var(--ring-line); border-radius:50%; display:inline-grid; place-items:center; flex:none; color:var(--core-ink); }
.fc-ring__core { width:var(--core-size); height:var(--core-size); display:grid; place-items:center; border-radius:50%; background:var(--core-bg); color:var(--core-ink); font:700 22px/1 var(--fc-display); transition:background-color 180ms,color 180ms; }
.fc-ring svg { width:var(--icon-size); height:var(--icon-size); fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.fc-ring--sm { --ring-size:56px; --core-size:40px; --icon-size:21px; }
.fc-ring--xs { --ring-size:40px; --core-size:28px; --icon-size:16px; }
/* Dock buttons. Stable labels and hit areas; the motion layer animates only inner glyphs. */
.fc-action { --button-bg:var(--fc-action); --button-ink:#fff; --button-hover:var(--fc-action-hover); --button-core:#fff; --button-core-ink:var(--fc-action); --button-line:transparent;
  display:inline-flex; justify-content:space-between; align-items:center; gap:20px; min-height:56px; max-width:100%;
  padding:7px 7px 7px 22px; border:1px solid var(--button-line); border-radius:16px 32px 32px 16px;
  background:var(--button-bg); color:var(--button-ink); font:700 16px/1.3 var(--fc-font); text-decoration:none; text-align:left;
  transition:background-color 180ms,color 180ms,border-color 180ms; }
.fc-action__label { min-width:0; }
.fc-action__end { display:grid; place-items:center; width:40px; height:40px; flex:none; border:1px solid rgba(255,255,255,.7); border-radius:50%; }
.fc-action__end > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--button-core); color:var(--button-core-ink); }
.fc-action__end svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.fc-action--compact { min-height:48px; padding:7px 7px 7px 18px; font-size:14px; gap:14px; border-radius:14px 26px 26px 14px; }
.fc-action--compact .fc-action__end { width:32px; height:32px; }
.fc-action--compact .fc-action__end>span { width:22px; height:22px; }
.fc-action--compact .fc-action__end svg { width:14px; height:14px; }
.fc-action--large { min-height:64px; font-size:17px; }
.fc-action--large .fc-action__end { width:48px; height:48px; }
.fc-action--large .fc-action__end>span { width:34px; height:34px; }
.fc-action--light { --button-bg:#fff; --button-ink:var(--fc-green); --button-hover:#EDF3ED; --button-core:var(--fc-green); --button-core-ink:#fff; }
.fc-action--light .fc-action__end { border-color:rgba(26,58,46,.35); }
.fc-action:focus-visible { background:var(--button-hover); }
.fc-action:active { background:var(--button-hover); }
.fc-textlink { display:inline-flex; align-items:center; gap:12px; min-height:44px; font:600 15px/1.4 var(--fc-font); text-decoration:none; }
@media(hover:hover) { .fc-action:hover { background:var(--button-hover); } .fc-textlink:hover .fc-ring__core { background:#D6E3D8; } .fc-textlink:hover .fc-textlink__label { text-decoration:underline; text-underline-offset:4px; } }
/* Original header, with navigation confined to this one page. */
.feds-topbar { background:var(--feds-green-deep); color:#D1DBD4; font-size:12px; }
.feds-topbar__inner { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.feds-topbar__links { display:flex; align-items:center; gap:22px; }
.feds-topbar__links a { display:inline-flex; align-items:center; gap:7px; text-decoration:none; font-weight:600; color:#fff; }
.feds-topbar__links svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.feds-nav { position:sticky; top:0; z-index:90; border-bottom:1px solid #E7ECE8; background:#fff; }
.feds-nav__inner { min-height:var(--nav-height); display:flex; align-items:center; gap:24px; }
.feds-nav__logo { display:inline-flex; flex-direction:column; gap:5px; text-decoration:none; line-height:1; margin-right:auto; }
.feds-nav__logo-feds { font-family:var(--feds-font); font-size:26px; font-weight:800; letter-spacing:.3em; margin-right:-.3em; color:var(--feds-green); }
.feds-nav__logo-sub { font-size:7.6px; font-weight:600; letter-spacing:.135em; color:var(--feds-green); white-space:nowrap; }
.feds-nav__menu { display:flex; gap:5px; list-style:none; padding:0; }
.feds-nav__link { display:flex; align-items:center; gap:7px; min-height:44px; padding:8px 12px; font-size:14px; font-weight:600; text-decoration:none; border-radius:8px; }
.feds-nav__link::before { content:""; width:11px; height:11px; border-radius:50%; border:1px solid var(--fc-action); background:radial-gradient(circle,var(--fc-action) 0 2.5px,transparent 3px); opacity:0; flex:none; }
.feds-nav__link.is-active::before { opacity:1; }
.feds-nav__link:hover { background:#F2F5F1; }
.feds-nav__cta { flex:none; }
.feds-nav__burger { display:none; width:44px; height:44px; border:1px solid var(--feds-border); border-radius:50%; background:transparent; padding:11px; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.feds-nav__burger span { display:block; width:19px; height:2px; background:var(--feds-green); }
.feds-nav.menu-open .feds-nav__burger span:first-child { transform:translateY(6px) rotate(45deg); }
.feds-nav.menu-open .feds-nav__burger span:nth-child(2) { opacity:0; }
.feds-nav.menu-open .feds-nav__burger span:last-child { transform:translateY(-6px) rotate(-45deg); }
/* Hero stays close to the original HTML, with the existing circle stage. */
.fh2__scene { background:var(--feds-green-soft); }
.fh2__inner { padding-block:64px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:48px; align-items:center; }
.fh2__title { font-size:clamp(40px,4.8vw,68px); font-weight:800; line-height:1.03; letter-spacing:-.043em; color:var(--feds-green-deep); max-width:660px; margin-bottom:26px; }
.fh2__title span { color:var(--fc-action); }
.fh2__sub { max-width:495px; font-size:18px; line-height:1.65; color:#33463C; margin-bottom:30px; }
.fh2__ctas { display:flex; flex-wrap:wrap; gap:12px; }
.fh2__char-wrap { position:relative; min-width:0; height:100%; min-height:475px; isolation:isolate; display:flex; align-items:center; justify-content:center; }
.fh2__ring { position:absolute; width:min(100%,440px); aspect-ratio:1; border:1px solid rgba(26,58,46,.23); border-radius:50%; z-index:-1; }
.fh2__ring::before { content:""; position:absolute; inset:15%; border-radius:50%; background:rgba(255,255,255,.74); }
.fh2__char { width:auto; height:100%; max-height:510px; object-fit:contain; filter:drop-shadow(0 12px 16px rgba(18,45,35,.09)); }
/* Real partner names from the file, not imitation logos or distorted marks. */
.fp2 { padding-block:28px 34px; }
.fp2__label { text-align:center; color:#637068; font-size:10px; letter-spacing:.12em; font-weight:600; text-transform:uppercase; margin-bottom:21px; }
.fp2__set { list-style:none; padding:0; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); align-items:center; gap:18px; }
.fp2__card { display:flex; align-items:center; justify-content:center; min-height:30px; text-align:center; }
.fp2__name { font:600 15px/1.3 var(--feds-font); color:#5B6D61; }
/* The three tabs: centred, soft, and uniformly outlined — never underlined. */
.fsi__scene { background:var(--feds-orange-soft); }
.fsi__inner { padding-block:64px; }
.fsi__title { font-size:clamp(32px,3.3vw,46px); font-weight:800; line-height:1.08; letter-spacing:-.028em; color:var(--feds-green-deep); text-align:center; margin-bottom:28px; }
.fsi__switch { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin:0 auto 34px; }
.fsi__pill { display:inline-flex; justify-content:flex-start; align-items:center; gap:13px; padding:10px 23px 10px 10px; min-height:76px; border:1px solid transparent; border-radius:999px;
  background:rgba(255,255,255,.42); color:var(--feds-green-deep); font:600 15px/1.3 var(--feds-font); text-align:left; box-shadow:none; transition:background-color 180ms,border-color 180ms; }
.fsi__pill .fc-ring { --ring-size:54px; --core-size:38px; --icon-size:21px; --ring-line:rgba(26,58,46,.17); --core-bg:#E5EDE5; }
.fsi__pill.is-active { background:#fff; color:var(--feds-green-deep); border-color:rgba(188,79,28,.52); box-shadow:none; }
.fsi__pill.is-active .fc-ring { --ring-line:rgba(188,79,28,.5); --core-bg:var(--fc-action); --core-ink:#fff; }
.fsi__pill:focus-visible { outline:3px solid var(--feds-green); outline-offset:4px; }
@media(hover:hover) { .fsi__pill:not(.is-active):hover { background:rgba(255,255,255,.85); border-color:rgba(26,58,46,.17); } }
.fsi__panels { max-width:1000px; margin-inline:auto; }
.fsi__panel { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.3fr); align-items:center; gap:52px; min-height:356px; padding:32px 52px;
  border-radius:24px; background:rgba(255,255,255,.54); }
.fsi__panel-visual { position:relative; isolation:isolate; width:276px; height:276px; border:1px solid rgba(26,58,46,.22); border-radius:50%; justify-self:center; display:flex; align-items:flex-end; justify-content:center; }
.fsi__panel-visual::before { content:""; position:absolute; inset:15%; border-radius:50%; background:rgba(255,255,255,.94); z-index:-1; }
.fsi__panel-visual img { height:295px; width:auto; max-width:calc(100% + 56px); object-fit:contain; flex:none; }
.fsi__panel[data-panel="uspory"] .fsi__panel-visual img { height:auto; width:320px; }
.fsi__panel-title { font-size:clamp(26px,2.6vw,36px); line-height:1.12; letter-spacing:-.02em; margin-bottom:14px; color:var(--feds-green); }
.fsi__panel-desc { font-size:17px; line-height:1.65; color:var(--feds-body); margin-bottom:24px; }
.fsi__panel:focus-visible { outline-offset:7px; }
/* Service cards, keeping the original mascot scenes and paired colour treatment. */
.fsc2 { padding-block:var(--section-space); }
.fsc2__head { max-width:700px; margin:0 auto 42px; text-align:center; }
.fsc2__title { font-size:clamp(32px,3.3vw,46px); font-weight:800; line-height:1.08; letter-spacing:-.025em; color:var(--feds-green-deep); margin-bottom:16px; }
.fsc2__sub { max-width:550px; margin:auto; font-size:17px; line-height:1.6; color:var(--feds-body); }
.fsc2__blocks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.fsc2__card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,190px); gap:22px; padding:34px; min-height:330px; align-items:center;
  border:1px solid transparent; border-radius:24px; text-decoration:none; background:var(--feds-green-soft); color:var(--feds-green); transition:border-color 180ms; }
.fsc2__card--dark { background:var(--feds-green-deep); color:#fff; }
.fsc2__card-body { display:flex; flex-direction:column; align-items:flex-start; height:100%; }
.fsc2__card-title { font-size:34px; line-height:1.05; font-weight:800; letter-spacing:-.025em; margin-bottom:16px; }
.fsc2__card-desc { font-size:16px; line-height:1.6; color:#3F5147; margin-bottom:24px; }
.fsc2__card--dark .fsc2__card-desc { color:#D0DDD5; }
.fsc2__card-link { margin-top:auto; display:inline-flex; align-items:center; gap:10px; font:600 15px/1.35 var(--feds-font); color:var(--fc-action); }
.fsc2__card-link .fc-ring { --ring-line:rgba(188,79,28,.28); --core-bg:rgba(255,255,255,.72); --core-ink:var(--fc-action); }
.fsc2__card--dark .fsc2__card-link { color:#fff; }
.fsc2__card--dark .fsc2__card-link .fc-ring { --ring-line:rgba(255,255,255,.38); --core-bg:rgba(255,255,255,.12); --core-ink:#fff; }
.fsc2__card-visual { position:relative; isolation:isolate; display:flex; align-items:flex-end; justify-content:center; width:100%; aspect-ratio:1; border:1px solid rgba(26,58,46,.23); border-radius:50%; }
.fsc2__card-visual::before { content:""; position:absolute; inset:15%; background:rgba(255,255,255,.8); border-radius:50%; z-index:-1; }
.fsc2__card--dark .fsc2__card-visual { border-color:rgba(255,255,255,.28); }
.fsc2__card--dark .fsc2__card-visual::before { background:rgba(255,255,255,.1); }
.fsc2__card-char { position:absolute; bottom:0; left:50%; transform:translateX(-50%); height:240px; width:auto; max-width:100%; object-fit:contain; }
@media(hover:hover) {
  .fsc2__card:hover { border-color:rgba(26,58,46,.28); }
  .fsc2__card--dark:hover { border-color:#8CA592; }
  .fsc2__card:hover .fsc2__card-link .fc-ring__core { background:var(--fc-action); color:#fff; }
  .fsc2__card--dark:hover .fsc2__card-link .fc-ring__core { background:#fff; color:var(--fc-green); }
}
/* Six-tile process mosaic: four text steps + two existing brand illustrations.
   Deliberately varied footprints, while reading order stays 01 → 04. */
.fpr__scene { background:var(--feds-green-deep); }
.fpr__inner { padding-block:68px; }
.fpr__head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:34px; }
.fpr__head .feds-eyebrow { color:#BECFC2; }
.fpr__title { max-width:600px; font-size:clamp(32px,3.4vw,46px); font-weight:800; line-height:1.08; letter-spacing:-.028em; color:#fff; }
.fpr__head .fc-textlink { color:#fff; flex:none; margin-bottom:3px; }
.fpr__head .fc-ring { --ring-line:rgba(255,255,255,.38); --core-bg:rgba(255,255,255,.1); --core-ink:#fff; }
.fpr__grid { display:grid; grid-template-columns:repeat(16,minmax(0,1fr)); grid-template-rows:212px 70px 240px; gap:12px; }
.fpr__step,.fpr__art { position:relative; min-width:0; border-radius:16px; overflow:hidden; }
.fpr__step { padding:28px; color:var(--feds-green-deep); background:#F8FAF6; }
.fpr__step--1 { grid-column:1 / 6; grid-row:1 / 3; }
.fpr__step--2 { grid-column:6 / 12; grid-row:1; background:#F5E4D7; }
.fpr__step--3 { grid-column:6 / 12; grid-row:2 / 4; background:#DAE5D9; }
.fpr__step--4 { grid-column:12 / 17; grid-row:3; }
.fpr__step-header { margin-bottom:18px; }
.fpr__num { margin-bottom:18px; font-variant-numeric:tabular-nums; }
.fpr__num .fc-ring { --ring-size:60px; --core-size:42px; --core-bg:rgba(26,58,46,.08); --ring-line:rgba(26,58,46,.24); }
.fpr__num .fc-ring__core { font-size:21px; }
.fpr__step-title { font-size:28px; line-height:1.1; letter-spacing:-.025em; font-weight:700; max-width:310px; }
.fpr__step-desc { font-size:15px; line-height:1.65; max-width:355px; color:#3E5245; }
.fpr__step--2 .fpr__step-header,.fpr__step--4 .fpr__step-header { display:flex; align-items:center; gap:16px; }
.fpr__step--2 .fpr__num,.fpr__step--4 .fpr__num { margin:0; flex:none; }
.fpr__step--2 .fc-ring { --core-bg:rgba(188,79,28,.1); --core-ink:var(--feds-orange-deep); --ring-line:rgba(188,79,28,.28); }
.fpr__step--4 .fpr__step-title { font-size:25px; }
.fpr__step--4 .fpr__num .fc-ring { --ring-size:50px; --core-size:35px; }
.fpr__step--3 .fpr__step-header { margin-top:7px; }
.fpr__art { isolation:isolate; display:flex; align-items:flex-end; justify-content:center; }
.fpr__art--search { grid-column:12 / 17; grid-row:1 / 3; background:#315140; }
.fpr__art--coffee { grid-column:1 / 6; grid-row:3; background:#E5ECE2; }
.fpr__art-orbit { position:absolute; width:86%; aspect-ratio:1; border:1px solid rgba(255,255,255,.3); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); z-index:-1; }
.fpr__art-orbit::after { content:""; position:absolute; inset:15%; border-radius:50%; background:rgba(255,255,255,.09); }
.fpr__art--coffee .fpr__art-orbit { width:72%; border-color:rgba(26,58,46,.2); }
.fpr__art--coffee .fpr__art-orbit::after { background:rgba(255,255,255,.74); }
.fpr__art img { object-fit:contain; height:calc(100% - 22px); width:auto; max-width:80%; }
.fpr__art--coffee img { height:calc(100% - 12px); }
/* Metrics remain the supplied figures, without animated counters. */
.fst2 { padding-block:72px; }
.fst2__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.fst2__cell { text-align:center; padding:8px 16px; border-left:1px solid var(--feds-border); }
.fst2__cell:first-child { border-left:0; }
.fst2__num { color:var(--feds-green-deep); font-size:clamp(38px,4.1vw,60px); font-weight:800; line-height:1; font-variant-numeric:tabular-nums; white-space:nowrap; letter-spacing:-.04em; }
.fst2__num span { color:var(--fc-action); }
.fst2__label { font-size:14px; line-height:1.5; color:var(--feds-body); margin-top:12px; }
/* The familiar orange contact block and the double-circle scene on its right. */
.fcta2__scene { background:var(--feds-orange-solid); }
.fcta2__inner { padding-block:48px; display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:56px; align-items:center; }
.fcta2__title { max-width:660px; font-size:clamp(34px,3.8vw,54px); font-weight:800; letter-spacing:-.025em; line-height:1.05; margin-bottom:18px; color:#fff; }
.fcta2__sub { font-size:17px; line-height:1.6; color:#FFF1E9; max-width:460px; margin-bottom:28px; }
.fcta2__btns { margin-bottom:24px; }
.fcta2__contacts { display:flex; align-items:center; gap:12px 25px; flex-wrap:wrap; }
.fcta2__contact { display:flex; align-items:center; min-height:32px; gap:9px; font-size:14px; font-weight:600; color:#fff; text-decoration:none; }
.fcta2__contact svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.fcta2__contact:hover { text-decoration:underline; text-underline-offset:4px; }
.fcta2__char-wrap { position:relative; isolation:isolate; width:100%; height:335px; display:flex; align-items:flex-end; justify-content:center; }
.fcta2__char-wrap::before { content:""; position:absolute; width:min(100%,310px); aspect-ratio:1; border:1px solid rgba(255,255,255,.44); border-radius:50%; z-index:-1; }
.fcta2__char-wrap::after { content:""; position:absolute; width:min(70%,217px); aspect-ratio:1; border-radius:50%; background:rgba(255,255,255,.13); bottom:46px; z-index:-1; }
.fcta2__char { height:350px; width:auto; object-fit:contain; }
/* Registration ledger. One surface, fine rules; not another row of rounded cards. */

















/* Original footer information, without dead links to removed preview pages. */
.feds-footer { background:var(--feds-green-deep); color:#C6D3C9; padding-top:48px; }
.feds-footer__grid { display:grid; grid-template-columns:1.15fr .9fr .9fr .95fr 1.25fr; gap:28px; padding-bottom:38px; }
.feds-footer .feds-nav__logo-feds,.feds-footer .feds-nav__logo-sub { color:#fff; }
.feds-footer__head { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.12em; margin-bottom:18px; color:#fff; }
.feds-footer__list { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.feds-footer__list a { color:#D2DCD5; font-size:12px; line-height:1.6; text-decoration:none; }
.feds-footer__list a:hover { text-decoration:underline; text-underline-offset:3px; }
.feds-footer__contact { font-size:12px; line-height:1.85; }
.feds-footer__contact a { color:#fff; font-weight:600; text-decoration:none; }
.feds-footer__bottom { border-top:1px solid rgba(255,255,255,.17); padding-block:22px; display:flex; justify-content:space-between; gap:16px; font-size:11px; color:#AEBFB3; }
/* Small on-page service overviews use only the categories already in the homepage footer. */
.feds-dialog { margin:auto; width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 40px); padding:38px; border:1px solid #C9D5CC; border-radius:24px; background:#FCFDFA; color:var(--feds-green-deep); overflow:auto; }
.feds-dialog::backdrop { background:rgba(14,34,24,.52); }
.feds-dialog__close { position:absolute; right:16px; top:16px; width:42px; height:42px; display:grid; place-items:center; border:1px solid #D1DCD3; border-radius:50%; background:transparent; color:var(--feds-green); }
.feds-dialog__close svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.8; fill:none; }
.feds-dialog__title { font-size:36px; font-weight:700; line-height:1.12; margin:6px 50px 16px 0; letter-spacing:-.025em; }
.feds-dialog__desc { font-size:16px; line-height:1.65; margin-bottom:24px; color:var(--feds-body); }
.feds-dialog__list { list-style:none; padding:0; margin-bottom:28px; border-top:1px solid var(--feds-border); }
.feds-dialog__list li { display:flex; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid var(--feds-border); font-size:15px; }
.feds-dialog__list li::before { content:""; height:10px; width:10px; flex:none; border:1px solid #8EAA97; border-radius:50%; background:radial-gradient(circle,#8EAA97 0 2px,transparent 2.5px); }
/* Responsive: keep every text step and the original logical sequence. */
@media(min-width:1700px) { :root { --edge:64px; } }
@media(max-width:1180px) {
  .feds-nav__inner { gap:14px; }
  .feds-nav__link { padding-inline:7px; font-size:13px; }
  .fsc2__card { grid-template-columns:minmax(0,1fr) 150px; padding:28px; gap:16px; }
  .fsc2__card-char { height:215px; }
  .fpr__step { padding:24px; }
  .fpr__step-title { font-size:26px; }
  .fpr__step--4 .fpr__step-title { font-size:23px; }
  .fpr__step-desc { font-size:14px; }
  .fpr__step--2 .fpr__step-header,.fpr__step--4 .fpr__step-header { gap:12px; }
  
  
}
@media(max-width:1020px) {
  .feds-nav__cta { display:none; }
  .feds-nav__burger { display:flex; }
  .feds-nav__menu { display:none; position:absolute; top:var(--nav-height); left:0; right:0; padding:16px var(--edge) 22px; background:#fff; border-bottom:1px solid var(--feds-border); }
  .feds-nav__menu.open { display:flex; flex-direction:column; }
  .feds-nav__link { font-size:16px; min-height:48px; padding-inline:12px; }
  .fh2__inner { gap:30px; padding-block:48px; }
  .fh2__char-wrap { min-height:400px; }
  .fh2__char { max-height:420px; }
  .fp2__set { gap:12px; }
  .fp2__name { font-size:13px; }
  .fsi__panel { gap:28px; padding:32px; }
  .fsi__panel-visual { width:250px; height:250px; }
  .fsi__panel-visual img { height:267px; }
  .fsi__panel[data-panel="uspory"] .fsi__panel-visual img { width:282px; }
  .fpr__grid { grid-template-rows:224px 78px 244px; }
  .fpr__step { padding:22px; }
  .fpr__step--4 .fpr__step-header { display:block; }
  .fpr__step--4 .fpr__num { margin-bottom:12px; }
  .fpr__step--4 .fpr__num .fc-ring { --ring-size:44px; --core-size:31px; }
  .fpr__step--4 .fpr__step-title { font-size:22px; }
  .fpr__step--4 .fpr__step-header { margin-bottom:12px; }
  .fpr__head .fc-textlink { font-size:13px; }
  .fst2__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 0; }
  .fst2__cell:nth-child(3) { border-left:0; }
  .fst2__num { font-size:clamp(32px,5.5vw,50px); }
  .feds-footer__grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
  .feds-footer__grid>div:first-child { grid-column:1 / -1; }
}
@media(max-width:820px) {
  .feds-topbar__note { font-size:10px; }
  .feds-topbar__links { gap:14px; }
  .fh2__title { font-size:44px; }
  .fh2__inner { grid-template-columns:1.15fr 1fr; gap:24px; }
  .fh2__sub { font-size:16px; }
  .fh2__char-wrap { min-height:360px; }
  .fh2__char { max-height:370px; }
  .fc-action--large { min-height:56px; font-size:15px; gap:14px; }
  .fc-action--large .fc-action__end { width:40px; height:40px; }
  .fc-action--large .fc-action__end>span { width:28px; height:28px; }
  .fp2__set { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px 24px; }
  .fsi__pill { font-size:13px; padding:9px 16px 9px 9px; gap:10px; min-height:64px; }
  .fsi__pill .fc-ring { --ring-size:44px; --core-size:31px; --icon-size:18px; }
  .fsi__switch { gap:10px; }
  .fsi__panel { padding:30px; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); }
  .fsi__panel-visual { width:216px; height:216px; }
  .fsi__panel-visual img { height:235px; }
  .fsi__panel[data-panel="uspory"] .fsi__panel-visual img { width:252px; }
  .fsi__panel-desc { font-size:15px; }
  .fsc2__blocks { grid-template-columns:1fr; }
  .fsc2__card { grid-template-columns:minmax(0,1fr) 200px; min-height:285px; padding:32px; }
  .fsc2__card-char { position:absolute; bottom:0; left:50%; transform:translateX(-50%); height:240px; }
  .fpr__head { display:block; }
  .fpr__head .fc-textlink { margin-top:24px; font-size:14px; }
  .fpr__grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto 210px auto; gap:12px; }
  .fpr__step--1 { grid-column:1; grid-row:1; }
  .fpr__step--2 { grid-column:2; grid-row:1; }
  .fpr__art--coffee { grid-column:1; grid-row:2; }
  .fpr__art--search { grid-column:2; grid-row:2; }
  .fpr__step--3 { grid-column:1; grid-row:3; }
  .fpr__step--4 { grid-column:2; grid-row:3; }
  .fpr__step { min-height:276px; padding:26px; }
  .fpr__step--2 .fpr__step-header,.fpr__step--4 .fpr__step-header { display:block; margin-bottom:16px; }
  .fpr__num,.fpr__step--2 .fpr__num,.fpr__step--4 .fpr__num { margin-bottom:16px; }
  .fpr__step--4 .fpr__num .fc-ring { --ring-size:60px; --core-size:42px; }
  .fpr__step-title,.fpr__step--4 .fpr__step-title { font-size:26px; }
  .fpr__step--3 .fpr__step-header { margin-top:0; }
  .fpr__step-desc { font-size:15px; }
  .fcta2__inner { grid-template-columns:1.45fr 1fr; gap:28px; }
  .fcta2__char-wrap { height:280px; }
  .fcta2__char { height:290px; }
  .fcta2__char-wrap::after { bottom:32px; }
  
  
  
  
  
  
  
}
@media(max-width:640px) {
  :root { --edge:24px; --gutter:10px; --radius:22px; --nav-height:70px; --section-space:58px; }
  .feds-topbar__inner { justify-content:center; min-height:32px; }
  .feds-topbar__note { display:none; }
  .feds-topbar__links { gap:20px; font-size:11px; }
  .feds-nav__logo-feds { font-size:24px; }
  .fh2__inner { grid-template-columns:1fr; padding:36px 0 24px; gap:24px; }
  .fh2__title { font-size:clamp(38px,8vw,46px); line-height:1.07; letter-spacing:-.036em; margin-bottom:20px; }
  .fc-eyebrow { font-size:10px; letter-spacing:.09em; margin-bottom:20px; }
  .fh2__sub { font-size:16px; line-height:1.65; margin-bottom:26px; }
  .fh2__char-wrap { justify-self:center; width:min(100%,320px); min-height:0; height:300px; }
  .fh2__char { height:300px; }
  .fh2__ring { width:275px; max-width:100%; }
  .fp2 { padding-block:24px 28px; }
  .fp2__label { font-size:9px; letter-spacing:.09em; margin-bottom:14px; }
  .fp2__set { gap:14px 12px; }
  .fp2__name { font-size:11px; font-weight:600; }
  .fsi__inner { padding-block:38px; }
  .fsi__title { font-size:32px; margin-bottom:24px; }
  .fsi__switch { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; align-items:stretch; margin-bottom:24px; }
  .fsi__pill { flex-direction:column; justify-content:flex-start; padding:10px 5px 12px; gap:9px; border-radius:22px; font-size:12px; text-align:center; min-width:0; }
  .fsi__pill .fc-ring { --ring-size:42px; --core-size:30px; --icon-size:18px; }
  .fsi__pill > span:last-child { max-width:100px; text-wrap:balance; }
  .fsi__panel { min-height:540px; grid-template-columns:1fr; grid-template-rows:250px 1fr; gap:22px; padding:24px 22px; border-radius:20px; }
  .fsi__panel-visual { width:226px; height:226px; align-self:end; max-width:100%; }
  .fsi__panel-visual img { height:246px; }
  .fsi__panel[data-panel="uspory"] .fsi__panel-visual img { width:263px; max-width:calc(100% + 34px); }
  .fsi__panel-body { text-align:center; }
  .fsi__panel-title { font-size:27px; margin-bottom:12px; }
  .fsi__panel-desc { font-size:15px; line-height:1.65; margin-bottom:22px; }
  .fsi__panel .fc-action { min-height:52px; font-size:14px; }
  .fsi__panel .fc-action__end { height:36px; width:36px; }
  .fsi__panel .fc-action__end>span { height:25px; width:25px; }
  .fsc2__head { margin-bottom:28px; }
  .fsc2__title { font-size:32px; }
  .fsc2__sub { font-size:15px; }
  .fsc2__blocks { gap:14px; }
  .fsc2__card { grid-template-columns:minmax(0,1fr) 108px; gap:14px; min-height:268px; padding:24px; border-radius:20px; }
  .fsc2__card-title { font-size:29px; margin-bottom:14px; }
  .fsc2__card-desc { font-size:14px; line-height:1.6; }
  .fsc2__card-link { font-size:13px; gap:9px; }
  .fsc2__card-link .fc-ring { --ring-size:34px; --core-size:24px; --icon-size:14px; }
  .fsc2__card-char { height:170px; max-width:118px; }
  .fpr__inner { padding-block:40px; }
  .fpr__head { margin-bottom:26px; }
  .fpr__title { font-size:33px; max-width:430px; }
  .fpr__grid { grid-template-columns:1fr 1fr; grid-template-rows:auto auto 180px auto auto; gap:10px; }
  .fpr__step--1 { grid-column:1 / -1; grid-row:1; }
  .fpr__step--2 { grid-column:1 / -1; grid-row:2; }
  .fpr__art--coffee { grid-column:1; grid-row:3; }
  .fpr__art--search { grid-column:2; grid-row:3; }
  .fpr__step--3 { grid-column:1 / -1; grid-row:4; }
  .fpr__step--4 { grid-column:1 / -1; grid-row:5; }
  .fpr__step { min-height:0; padding:24px; border-radius:15px; }
  .fpr__step .fpr__step-header { display:flex; gap:16px; align-items:center; margin:0 0 16px; }
  .fpr__step .fpr__num { margin:0; flex:none; }
  .fpr__step .fpr__num .fc-ring { --ring-size:54px; --core-size:38px; }
  .fpr__step .fpr__step-title { font-size:25px; }
  .fpr__step-desc { font-size:15px; }
  .fpr__art { border-radius:15px; }
  .fpr__art img { max-width:92%; }
  .fst2 { padding-block:48px; }
  .fst2__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 0; }
  .fst2__cell { padding:4px 8px; }
  .fst2__cell:nth-child(3) { border-left:0; }
  .fst2__num { font-size:clamp(26px,8vw,36px); letter-spacing:-.04em; }
  .fst2__label { font-size:12px; margin-top:9px; }
  .fcta2__inner { grid-template-columns:1fr; gap:30px; padding:38px 0 24px; }
  .fcta2__title { font-size:36px; }
  .fcta2__sub { font-size:16px; }
  .fcta2__contacts { gap:8px 18px; }
  .fcta2__contact { font-size:13px; }
  .fcta2__char-wrap { width:min(100%,270px); height:260px; justify-self:center; }
  .fcta2__char { height:275px; }
  .fcta2__char-wrap::before { width:248px; max-width:100%; }
  .fcta2__char-wrap::after { width:174px; bottom:37px; }
  
  
  
  
  
  
  
  
  
  
  .feds-footer { padding-top:36px; }
  .feds-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
  .feds-footer__list a { font-size:12px; }
  .feds-footer__contact { font-size:12px; overflow-wrap:anywhere; }
  .feds-footer__bottom { flex-direction:column; padding-block:20px; gap:10px; }
  .feds-dialog { padding:30px 24px; }
}
@media(max-width:360px) {
  :root { --edge:20px; }
  .fsi__pill { font-size:11px; padding-inline:3px; }
  .fsi__panel { padding:22px 16px; min-height:560px; }
  .fsc2__card { padding:22px; gap:10px; grid-template-columns:minmax(0,1fr) 83px; }
  .fsc2__card-char { height:145px; max-width:94px; }
  .fsc2__card-link { font-size:12px; gap:6px; }
  .fsc2__card-link .fc-ring { --ring-size:30px; --core-size:21px; }
  .fpr__step { padding:22px; }
  .fpr__step .fpr__step-title { font-size:23px; }
  .fc-action { font-size:15px; gap:12px; padding-left:18px; }
  .feds-topbar__links { gap:14px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
@media print { .feds-topbar,.feds-nav,.fc-skip,.feds-dialog { display:none!important; } .fh2,.fsi,.fpr,.fcta2 { padding-inline:0; } .feds-home { color-adjust:exact; print-color-adjust:exact; } }

/* One local addition: handwritten invitation in the existing orange contact scene. */
.fcta2__char-wrap { --note-offset:80px; }
.fcta2__char-wrap::before,
.fcta2__char-wrap::after {
  left:calc(50% - var(--note-offset));
  transform:translateX(-50%);
}
.fcta2__char { position:relative; left:calc(-1 * var(--note-offset)); }
.fcta2__note {
  position:absolute; z-index:2; right:-8px; top:58px;
  width:224px; color:#FFF4E8; pointer-events:none;
}
.fcta2__note-svg { display:block; width:100%; height:auto; overflow:visible; }
.fcta2__note-svg--compact { display:none; }
.fcta2__note-text {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
@media (max-width:1180px) and (min-width:641px) {
  .fcta2__char-wrap { --note-offset:64px; }
  .fcta2__note { right:-4px; top:62px; width:158px; }
  .fcta2__note-svg--wide { display:none; }
  .fcta2__note-svg--compact { display:block; }
}
@media (max-width:940px) and (min-width:641px) {
  .fcta2__char-wrap { --note-offset:57px; }
  .fcta2__note { right:-10px; top:68px; width:146px; }
}
@media (max-width:820px) and (min-width:641px) {
  .fcta2__char-wrap { --note-offset:54px; }
  .fcta2__char { height:260px; }
  .fcta2__char-wrap::before { width:206px; }
  .fcta2__char-wrap::after { width:144px; bottom:31px; }
  .fcta2__note { top:50px; width:138px; }
}
@media (max-width:640px) {
  .fcta2__char-wrap { --note-offset:54px; width:min(100%,340px); }
  .fcta2__char { height:255px; }
  .fcta2__char-wrap::before { width:62%; max-width:212px; }
  .fcta2__char-wrap::after { width:43.4%; max-width:148px; bottom:30px; }
  .fcta2__note { right:0; top:58px; width:46%; max-width:158px; }
  .fcta2__note-svg--wide { display:none; }
  .fcta2__note-svg--compact { display:block; }
}

/* Targeted refinement of the approved homepage: continuous partners,
   compact responsive process mosaic, and a quieter registration ledger.
   Existing typography, all mascot assets and the handwritten CTA stay unchanged. */

/* Partners: one editable source list; the homepage script clones it only when
   the decorative marquee needs a second lane. */
.fp2 { padding-block:22px 28px; }
.fp2__inner { position:relative; }
.fp2__heading { position:relative; min-height:34px; display:flex; align-items:center; justify-content:center; margin-bottom:12px; padding-inline:44px; }
.fp2__label { margin:0; }






.fp2__mask { width:100%; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.fp2__track { display:flex; gap:0; width:max-content; will-change:transform; }
.fp2.is-loop-ready .fp2__track { animation:feds-partners-loop var(--partners-duration,38s) linear infinite; }

.fp2__set { --partners-gap:clamp(30px,4vw,56px); display:flex; flex:none; width:max-content; min-width:var(--partners-lane-width,0px); align-items:center; justify-content:space-around; flex-wrap:nowrap; gap:var(--partners-gap); list-style:none; margin:0; padding:0 var(--partners-gap) 0 0; }
.fp2__card { flex:none; min-height:34px; white-space:nowrap; }
.fp2__name { font:600 15px/1.4 var(--feds-font); color:#5B6D61; white-space:nowrap; }
@keyframes feds-partners-loop { to { transform:translateX(-50%); } }
@media(hover:hover) {  }

/* The headline is optically centered, independent of the action on the right. */
.fpr__inner { padding-block:50px; }
.fpr__head { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:20px; margin-bottom:26px; }
.fpr__title { grid-column:2; width:clamp(320px,38vw,550px); max-width:100%; text-align:center; margin:0; }
.fpr__action { grid-column:3; justify-self:end; white-space:nowrap; }
.fpr__action:focus-visible { outline-color:#fff; }

/* Registration styling is defined in the compact always-visible refinement below. */


























@media(hover:hover) {   }

@media(max-width:940px) {
  .fpr__head { grid-template-columns:1fr; gap:12px; margin-bottom:18px; }
  .fpr__title { grid-column:1; width:100%; max-width:560px; justify-self:center; }
  .fpr__action { grid-column:1; justify-self:end; }
  
  
  
  
  
  
}
/* Allow the last desktop tile to grow at the narrow end of the mosaic. */
@media(min-width:821px) and (max-width:1020px) {
  .fpr__grid { grid-template-rows:minmax(224px,auto) 78px minmax(244px,auto); }
}
@media(max-width:820px) {
  .fpr__inner { padding-block:36px; }
  .fpr__step { min-height:240px; padding:22px; }
  .fpr__grid { grid-template-rows:auto 180px auto; }
}
@media(max-width:640px) {
  .fp2 { padding-block:18px 22px; }
  .fp2__heading { margin-bottom:10px; }
  .fp2__label { font-size:9px; line-height:1.5; letter-spacing:.06em; }
  .fp2__set { --partners-gap:32px; }
  .fp2__name { font-size:14px; }
  .fpr__inner { padding-block:30px; }
  .fpr__head { margin-bottom:14px; gap:12px; }
  .fpr__title { max-width:400px; font-size:clamp(28px,7.5vw,33px); }
  .fpr__action { min-height:44px; padding:5px 5px 5px 14px; font-size:12px; gap:10px; }
  .fpr__action .fc-action__end { width:32px; height:32px; }
  /* Four readable steps and two smaller mascot tiles. Rows grow with the copy;
     no scaling transform, clipped text or fixed desktop tile heights on phones. */
  .fpr__grid { grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:repeat(4,auto); gap:8px; }
  .fpr__step--1 { grid-column:1 / 9; grid-row:1; }
  .fpr__art--search { grid-column:9 / 13; grid-row:1; }
  .fpr__step--2 { grid-column:1 / -1; grid-row:2; }
  .fpr__art--coffee { grid-column:1 / 5; grid-row:3; }
  .fpr__step--3 { grid-column:5 / 13; grid-row:3; }
  .fpr__step--4 { grid-column:1 / -1; grid-row:4; }
  .fpr__step { min-height:0; padding:16px; border-radius:14px; }
  .fpr__step .fpr__step-header { display:flex; align-items:center; gap:10px; margin:0 0 10px; }
  .fpr__step .fpr__num { margin:0; flex:none; }
  .fpr__step .fpr__num .fc-ring { --ring-size:40px; --core-size:28px; }
  .fpr__num .fc-ring__core { font-size:16px; }
  .fpr__step .fpr__step-title { font-size:clamp(19px,4.9vw,23px); line-height:1.15; letter-spacing:-.022em; min-width:0; }
  .fpr__step-desc { font-size:14px; line-height:1.55; max-width:100%; }
  .fpr__art { min-height:146px; border-radius:14px; }
  .fpr__art img,.fpr__art--coffee img { position:absolute; height:calc(100% - 12px); max-height:240px; width:calc(100% - 8px); max-width:none; bottom:6px; object-fit:contain; object-position:center bottom; }
  .fpr__art-orbit,.fpr__art--coffee .fpr__art-orbit { width:90%; }
  
  
  
  
  
  
  
  
  
  
  
  
}
@media(max-width:480px) {
  
  
}
@media(max-width:360px) {
  .fpr__step { padding:13px; }
  .fpr__step .fpr__step-header { gap:8px; }
  .fpr__step .fpr__num .fc-ring { --ring-size:36px; --core-size:25px; }
  .fpr__step .fpr__step-title { font-size:18px; }
  .fpr__action { font-size:12px; padding-left:14px; gap:10px; }
  
  
}
/* Respect motion preferences without turning the partners into multiple rows. */
@media(prefers-reduced-motion:reduce) {
  .fp2__track { animation:none!important; transform:none!important; will-change:auto; }
  .fp2__set[aria-hidden="true"] { display:none; }
  .fp2__mask { overflow-x:auto; }
  
}
@media print {
  
  .fp2__track { animation:none!important; transform:none!important; }
  .fp2__set[aria-hidden="true"] { display:none; }
  .fp2__set { flex-wrap:wrap; min-width:0!important; width:100%; }
  
}

/* FINAL HOMEPAGE REFINEMENT — compact, always-visible registration + micro-motion.
   One local visual response per gesture. Glyphs animate inside their rings; cards lift gently on hover. */
.fc-visually-hidden {
  position:absolute!important; width:1px!important; height:1px!important; padding:0!important;
  margin:-1px!important; border:0!important; overflow:hidden!important;
  clip:rect(0,0,0,0)!important; clip-path:inset(50%)!important; white-space:nowrap!important;
}
/* The partner caption no longer needs space for a stop button. */
.fp2__heading { padding-inline:0; min-height:24px; }

/* A single fine-ruled ledger, with all four descriptions visible by default. */
.fkl { padding-block:30px 26px; }
.fkl__title { margin:0 0 14px; color:var(--feds-green); font-size:18px; font-weight:700; line-height:1.3; letter-spacing:-.015em; }
.fkl__licenses {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0; padding-block:16px; border-block:1px solid #CBD5CD;
}
.fkl__license {
  display:grid; grid-template-columns:36px minmax(0,1fr); align-items:start;
  column-gap:11px; min-width:0; padding:0 18px; border-left:1px solid var(--feds-border);
}
.fkl__license:first-child { padding-left:0; border-left:0; }
.fkl__license:last-child { padding-right:0; }
.fkl__license .fc-ring { --ring-size:36px; --core-size:25px; --icon-size:16px; }
.fkl__license-copy { min-width:0; }
.fkl__license-name { display:block; font:600 13px/1.4 var(--feds-font); color:var(--feds-green); }
.fkl__license-desc { margin:5px 0 0; font:400 11.5px/1.5 var(--feds-font); color:#59675E; }
/* Two quiet, two-line notes: verification left; association membership right. */
.fkl__bottom { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px 36px; padding-top:12px; }
.fkl__note-label { display:flex; align-items:center; gap:8px; min-height:24px; font:600 12px/1.5 var(--feds-font); color:var(--feds-green); }
.fkl__note-text { display:block; margin-top:2px; }
.fkl__cnb { margin:0; max-width:100%; justify-self:start; text-align:left; color:#59675E; font:400 11.5px/1.6 var(--feds-font); }
.fkl__cnb a { color:var(--feds-green); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.fkl__casf { display:block; margin:0; max-width:100%; justify-self:end; text-align:right; color:#536659; font:400 11.5px/1.6 var(--feds-font); }
.fkl__casf .fkl__note-label { justify-content:flex-end; }
.fkl__casf .fc-ring { --ring-size:24px; --core-size:17px; --icon-size:11px; }
@media(max-width:940px) {
  .fkl__licenses { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
  .fkl__license,.fkl__license:first-child,.fkl__license:last-child { padding:13px 18px; }
  .fkl__license:nth-child(odd) { padding-left:0; border-left:0; }
  .fkl__license:nth-child(even) { padding-right:0; }
  .fkl__license:nth-child(-n+2) { border-bottom:1px solid var(--feds-border); }
}
@media(max-width:640px) {
  .fkl { padding-block:24px 22px; }
  .fkl__title { font-size:16px; margin-bottom:12px; }
  .fkl__license,.fkl__license:first-child,.fkl__license:last-child {
    grid-template-columns:30px minmax(0,1fr); gap:7px 8px; padding:12px;
  }
  .fkl__license:nth-child(odd) { padding-left:0; }
  .fkl__license:nth-child(even) { padding-right:0; }
  .fkl__license .fc-ring { --ring-size:30px; --core-size:21px; --icon-size:14px; }
  .fkl__license-copy { display:contents; }
  .fkl__license-name { align-self:center; font-size:12px; line-height:1.45; overflow-wrap:normal; }
  .fkl__license-desc { grid-column:1 / -1; margin:0; font-size:11.5px; line-height:1.5; }
  .fkl__bottom { gap:14px; padding-top:12px; }
  .fkl__cnb,.fkl__casf { font-size:11px; line-height:1.5; }
  .fkl__note-label { gap:6px; font-size:11.5px; }
}
@media(max-width:360px) {
  .fkl__license,.fkl__license:first-child,.fkl__license:last-child { grid-template-columns:28px minmax(0,1fr); column-gap:4px; padding-inline:10px; }
  .fkl__license:nth-child(odd) { padding-left:0; }
  .fkl__license:nth-child(even) { padding-right:0; }
  .fkl__license-name { font-size:11.5px; }
  .fkl__license .fc-ring { --ring-size:28px; --core-size:20px; --icon-size:13px; }
}

/* Motion vocabulary: arrow points forward, icon gives a quick nod, number dips.
   Glyphs animate within fixed-size circles. A separate rule adds the requested whole-card hover lift. */
:root { --fc-motion-duration:440ms; --fc-motion-easing:cubic-bezier(.2,.7,.25,1); }
.fc-motion-target { transform-origin:center; transform-box:fill-box; }
.fc-number-glyph { display:inline-block; }
.fc-motion-target.is-micro-active { animation-duration:var(--fc-motion-duration); animation-timing-function:var(--fc-motion-easing); animation-iteration-count:1; }
.fc-motion-arrow.is-micro-active { animation-name:feds-micro-arrow; }
.fc-motion-icon.is-micro-active { animation-name:feds-micro-icon; }
.fc-motion-number.is-micro-active { animation-name:feds-micro-number; }
@keyframes feds-micro-arrow {
  0%,100% { transform:translate(0,0); }
  38% { transform:translate(3px,-3px); }
  68% { transform:translate(-1px,1px); }
  84% { transform:translate(1px,-1px); }
}
@keyframes feds-micro-icon {
  0%,100% { transform:translateY(0) rotate(0deg); }
  24% { transform:translateY(-1px) rotate(-9deg); }
  52% { transform:translateY(0) rotate(7deg); }
  78% { transform:translateY(0) rotate(-3deg); }
}
@keyframes feds-micro-number {
  0%,100% { transform:translateY(0); }
  34% { transform:translateY(2px); }
  66% { transform:translateY(-1px); }
}
/* A restrained press response on real controls, not informational tiles. */
@media(prefers-reduced-motion:no-preference) {
  .fc-action__end > span,.fc-ring__core { transition:background-color 180ms,color 180ms,transform 140ms ease; }
  .fc-action:active .fc-action__end > span,
  .fsi__pill:active .fc-ring__core,
  .fsc2__card:active .fsc2__card-link .fc-ring__core { transform:scale(.94); }
  .feds-nav__burger span { transition:transform 180ms ease,opacity 140ms ease; }
}
@media(prefers-reduced-motion:reduce) {
  .fc-motion-target,.fc-motion-target.is-micro-active { animation:none!important; transform:none!important; }
}
@media print { .fc-motion-target { animation:none!important; transform:none!important; } }

/* Whole-card feedback: a small lift, not a shake or continuous floating.
   Text, artwork, arrows and hit areas move as one stable card; grid dimensions do not change.
   Informational steps keep their normal reading semantics and are not added to the tab order. */
.fpr__step,.fsc2__card {
  transition:transform 240ms cubic-bezier(.2,.7,.25,1),box-shadow 240ms cubic-bezier(.2,.7,.25,1),border-color 180ms ease;
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .fpr__step:hover { transform:translateY(-5px); box-shadow:0 10px 22px rgba(0,0,0,.14); }
  .fsc2__card:hover { transform:translateY(-5px); box-shadow:0 12px 26px rgba(18,45,35,.12); }
}
@media (prefers-reduced-motion:no-preference) {
  .fsc2__card:focus-visible { transform:translateY(-5px); box-shadow:0 12px 26px rgba(18,45,35,.12); }
}
@media (prefers-reduced-motion:reduce) {
  .fpr__step,.fsc2__card { transition:none; }
  .fpr__step:hover,.fsc2__card:hover,.fsc2__card:focus-visible { transform:none; box-shadow:none; }
}
@media print { .fpr__step,.fsc2__card { transform:none!important; box-shadow:none!important; } }

@media(min-width:1021px) and (max-width:1170px){.feds-nav__inner{gap:12px}.feds-nav__link{padding-inline:6px;font-size:12px}.feds-nav__menu{gap:0}.feds-nav__cta{font-size:12px;padding-left:12px;gap:9px}}
