:root{--scale-xs:.82rem;--scale-sm:.92rem;--scale-base:1rem;--scale-md:1.2rem;--scale-lg:clamp(1.9rem,4vw,2.8rem);--scale-xl:clamp(2.4rem,5vw,3.5rem);--scale-2xl:clamp(3rem,7vw,5rem);--space-section:5.5rem;--space-gap:2rem;--space-card:1.75rem;--glow:none;--fi-fapa-height:3rem;--fi-sito-pad-block:4rem;--fi-sito-gap:3rem;--fi-vokuge-pad-block:4rem;--fi-kelobe-pad-block:3rem;--fi-rodu-media-ratio:.55fr .45fr;--fi-rodu-gap:4rem;--fi-rodu-pad-block:5.5rem;--fi-famebi-pad-block:6rem;--fi-kuno-split-ratio:1fr 1fr;--fi-kuno-gap:3.5rem;--fi-kuno-pad-block:5.5rem;--fi-dagozi-pad-block:4rem;--fi-kidusa-pad-block:4.5rem;--bg:#131e16;--fg:#e7e9e8;--muted:#8e938f;--surface:#242e26;--border:#39423b;--accent:#2bf455;--accent-fg:#16110b;--display-font:'Archivo', system-ui, sans-serif;--body-font:'Archivo Narrow', system-ui, sans-serif;--radius:6px;--heading-weight:900;--heading-tracking:-.04em;--kicker-transform:none;--kicker-tracking:.04em;--motion-duration:.1s;--motion-lift:-2px;--card-shadow:0 8px 24px rgba(0,0,0,.10);--fi-kuno-media-shadow:0 14px 36px rgba(0,0,0,.14);--fi-zazila-console-shadow:0 18px 50px rgba(0,0,0,.22);--fi-zeto-play-shadow:0 6px 18px rgba(0,0,0,.20);}

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-tolugi {
    position: fixed; inset-block-start: 0; inset-inline: 0;
    z-index: 100; font-family: var(--body-font);
  }
  .fi-fokuta {
    background: var(--fi-fapa-nav-bg, var(--bg));
    border-bottom: 1px solid var(--border);
    display: flex; align-items: center; justify-content: space-between;
    height: var(--fi-fapa-height, 3rem);
    padding-inline: var(--fi-fapa-pad-x, clamp(1rem, 4vw, 3rem));
  }

  .fi-kelo {
    display: inline-flex; align-items: center; gap: .55rem;
    text-decoration: none; white-space: nowrap;
  }
  .fi-lifizi {
    width: var(--fi-fapa-logo-size, 1.75rem); height: var(--fi-fapa-logo-size, 1.75rem);
    object-fit: contain; display: block;
  }
  .fi-raza {
    font-family: var(--display-font);
    font-size: var(--scale-sm); font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
    color: var(--fg);
  }

  .fi-tabopu {
    display: inline-flex;
    background: none; border: none; cursor: pointer;
    color: var(--muted); padding: .4rem;
    flex-direction: column; gap: .32rem;
    align-items: flex-end;
  }
  .fi-tabopu:hover { color: var(--fg); }
  
  .fi-pazato {
    display: block; height: 2px; background: currentColor;
    transition: transform var(--motion-duration, .2s) ease, opacity var(--motion-duration, .15s) ease;
  }
  .fi-pazato:nth-child(1) { width: 1.4rem; }
  .fi-pazato:nth-child(2) { width: 1rem; }
  .fi-pazato:nth-child(3) { width: 1.4rem; }

  .fi-tepule {
    display: none;
    position: absolute; inset-block-start: var(--fi-fapa-height, 3rem); inset-inline: 0;
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    padding: 1.5rem var(--fi-fapa-pad-x, 1rem);
  }
  .fi-dineva {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: .25rem;
  }
  .fi-dodivo {
    display: block; padding: .75rem 0;
    color: var(--muted); text-decoration: none;
    font-size: var(--scale-base); font-weight: 600;
    letter-spacing: .04em; text-transform: uppercase;
    border-bottom: 1px solid var(--border);
    transition: color var(--motion-duration, .15s) ease;
  }
  .fi-dodivo:last-child { border-bottom: none; }
  .fi-dodivo:hover { color: var(--fg); }
  .fi-dodivo--active { color: var(--accent); }

  .fi-tolugi[data-open] .fi-tepule { display: block; }
  .fi-tolugi[data-open] .fi-pazato:nth-child(1) { transform: rotate(45deg) translate(.35rem, .35rem); }
  .fi-tolugi[data-open] .fi-pazato:nth-child(2) { opacity: 0; }
  .fi-tolugi[data-open] .fi-pazato:nth-child(3) { transform: rotate(-45deg) translate(.35rem, -.35rem); }
  .fi-tolugi[data-open] .fi-tabopu { color: var(--fg); }

  @media (prefers-reduced-motion: reduce) {
    .fi-dodivo, .fi-pazato { transition: none; }
  }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-deniza {
    background: var(--fi-sito-bg, var(--surface));
    border-top: 1px solid var(--border);
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--fi-sito-pad-block, var(--space-section));
    padding-inline: var(--fi-sito-pad-inline, clamp(1rem, 4vw, 3rem));
  }

  .fi-mema {
    max-width: var(--fi-sito-max, 1150px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: var(--fi-sito-cols, 1.2fr 1fr 1fr);
    gap: var(--fi-sito-gap, var(--space-gap));
    margin-bottom: 3rem;
  }

  .fi-dana {
    display: flex; align-items: center; gap: .6rem;
    text-decoration: none; margin-bottom: 1rem;
  }
  .fi-tabu {
    width: var(--fi-sito-logo-size, 2rem); height: var(--fi-sito-logo-size, 2rem);
    object-fit: contain; display: block; flex-shrink: 0;
  }
  .fi-kubuza {
    font-family: var(--display-font);
    font-size: var(--scale-md); font-weight: 700;
    color: var(--fg);
  }
  .fi-mobobo {
    margin: 0 0 1.5rem;
    font-size: var(--scale-sm); line-height: 1.55; color: var(--muted);
    max-width: 28ch;
  }
  .fi-duboka {
    display: inline-flex; align-items: center; justify-content: center;
    padding: .7rem 1.5rem;
    border-radius: var(--radius, 8px);
    background: var(--accent); color: var(--accent-fg);
    font-size: var(--scale-sm); font-weight: 600;
    text-decoration: none;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .fi-duboka:hover { transform: translateY(var(--motion-lift, -2px)); }
  .fi-duboka:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

  .fi-masuza {
    margin: 0 0 1rem;
    font-size: var(--scale-xs); font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--muted);
  }
  .fi-dopumu {
    display: flex; flex-direction: column; gap: .6rem;
  }
  .fi-zavoga {
    color: var(--muted); text-decoration: none;
    font-size: var(--scale-sm); line-height: 1.4;
    transition: color var(--motion-duration, .15s) ease;
  }
  .fi-zavoga:hover { color: var(--fg); }
  .fi-zavoga:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 6px; }

  .fi-veneda {
    display: flex; flex-direction: column; gap: .2rem;
    margin-bottom: .85rem;
  }
  .fi-veneda:last-child { margin-bottom: 0; }
  .fi-dose {
    font-size: var(--scale-xs); font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase; color: var(--muted);
  }
  .fi-menube {
    font-size: var(--scale-sm); color: var(--fg);
  }

  .fi-baka {
    max-width: var(--fi-sito-max, 1150px);
    margin-inline: auto;
    border-top: 1px solid var(--border);
    padding-top: 1.5rem;
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: .75rem;
  }
  .fi-bulugi {
    margin: 0;
    font-size: var(--scale-xs); color: var(--muted);
  }
  .fi-bilobo {
    display: flex; flex-wrap: wrap; gap: 1rem;
  }
  .fi-mabi {
    font-size: var(--scale-xs); color: var(--muted);
    text-decoration: none;
  }
  .fi-mabi:hover { color: var(--fg); }

  @media (prefers-reduced-motion: reduce) {
    .fi-duboka, .fi-zavoga { transition: none; }
  }

  @media (max-width: 860px) {
    .fi-mema { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 560px) {
    .fi-mema { grid-template-columns: 1fr; gap: 2.5rem; }
    .fi-baka { flex-direction: column; align-items: flex-start; }
  }

*, *::before, *::after { box-sizing: border-box; }

  #fi-lase {
    position: fixed; inset-inline: 0; bottom: 0; z-index: 9999;
    background: var(--fi-sesu-bg, var(--surface));
    border-top: 1px solid var(--border);
    padding: var(--fi-sesu-pad, 1rem clamp(1rem,4vw,2.5rem));
    transform: translateY(100%);
    transition: transform var(--motion-duration, .3s) ease;
  }
  #fi-lase.fi-rova { transform: translateY(0); }

  .fi-lase__inner {
    max-width: var(--fi-sesu-max, 1100px); margin-inline: auto;
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--fi-sesu-gap, 1.25rem); flex-wrap: wrap;
  }
  .fi-lase__text {
    margin: 0;
    font-size: var(--scale-sm); line-height: 1.5; color: var(--muted);
    flex: 1 1 320px; min-width: 0;
  }
  .fi-lase__link { color: var(--accent); text-decoration: underline; }
  .fi-lase__link:hover { text-decoration: none; }

  .fi-lase__actions {
    display: flex; gap: .6rem; flex-shrink: 0; flex-wrap: wrap;
  }
  .fi-lase__actions button {
    padding: .55rem 1.3rem;
    border-radius: var(--radius, 8px);
    font-size: var(--scale-xs); font-weight: 700;
    letter-spacing: .04em; text-transform: uppercase;
    cursor: pointer; border: none; white-space: nowrap;
    display: inline-flex; align-items: center; justify-content: center;
  }
  #fi-lase-accept { background: var(--accent); color: var(--accent-fg); }
  #fi-lase-decline {
    background: transparent;
    border: 1px solid var(--border) !important;
    color: var(--muted);
  }
  #fi-lase-decline:hover { color: var(--fg); }

  @media (prefers-reduced-motion: reduce) {
    #fi-lase { transition: none; }
  }
  @media (max-width: 540px) {
    .fi-lase__inner { flex-direction: column; align-items: stretch; }
    .fi-lase__text { flex: 0 0 auto; } 
    .fi-lase__actions { flex-direction: column; gap: .5rem; }
    .fi-lase__actions button { width: 100%; }
  }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-lene--center {
    position: relative;
    background: var(--bg);
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--fi-zazila-pad-block, 7rem);
    padding-inline: var(--fi-zazila-pad-inline, 1.5rem);
    overflow: hidden;
    isolation: isolate;
  }
  
  .fi-lene--center .fi-sofa {
    position: absolute; inset: 0; z-index: -2;
    background: linear-gradient(135deg, var(--surface), var(--bg));
    background-size: cover; background-position: center;
  }
  
  .fi-lene--center .fi-sofa::after {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: var(--bg);
    opacity: var(--fi-zazila-overlay-opacity, .3);
  }
  
  .fi-lene--center .fi-ravo {
    position: relative; z-index: 1;
    max-width: var(--fi-zazila-content-max, 760px);
    margin-inline: auto;
    text-align: center;
    display: flex; flex-direction: column; align-items: center;
    background: var(--surface);
    padding: var(--fi-zazila-card-pad, clamp(2rem, 5vw, 3.5rem));
    border-radius: var(--radius, 12px);
    border: 1px solid var(--border);
    box-shadow: var(--card-shadow, 0 8px 30px rgba(0,0,0,.18));
  }

  .fi-vume {
    margin: 0 0 1.25rem;
    font-family: var(--utility-font, var(--body-font));
    font-size: var(--fi-zazila-kicker-size, .8rem);
    letter-spacing: var(--fi-zazila-kicker-spacing, .2em);
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 600;
  }
  .fi-vare {
    margin: 0 0 1.5rem;
    font-family: var(--display-font);
    font-size: var(--fi-zazila-title-size, clamp(2.6rem, 6vw, 5rem));
    font-weight: var(--fi-zazila-title-weight, 800);
    line-height: var(--fi-zazila-title-leading, 1.04);
    letter-spacing: var(--fi-zazila-title-spacing, -.02em);
  }
  .fi-zebubu {
    margin: 0 0 2.25rem;
    font-size: var(--fi-zazila-sub-size, 1.3rem);
    line-height: 1.5;
    color: var(--muted);
    max-width: 52ch;
  }
  .fi-sigavi { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
  .fi-doma {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--fi-zazila-cta-pad, .9rem 1.8rem);
    border-radius: var(--radius, 8px);
    font-size: 1.05rem; font-weight: 600;
    text-decoration: none; cursor: pointer;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .fi-doma:hover { transform: translateY(var(--motion-lift, -2px)); }
  .fi-doma--primary { background: var(--accent); color: var(--accent-fg); }
  .fi-doma--ghost {
    background: transparent; color: var(--fg);
    border: 1px solid var(--border);
  }

  .fi-doma:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
  @media (prefers-reduced-motion: reduce) { .fi-doma { transition: none; } }

  @media (max-width: 768px) {
    .fi-lene--center { padding-block: var(--fi-zazila-pad-block-mobile, 4.5rem); }
    .fi-zebubu { max-width: none; }
  }

*, *::before, *::after { box-sizing: border-box; }

  .fi-kebu--grid {
    background: var(--fi-fefuda-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--fi-fefuda-pad-block, 5.5rem);
    padding-inline: var(--fi-fefuda-pad-inline, 1.5rem);
  }
  .fi-kebu--grid .fi-kume { max-width: var(--fi-fefuda-max, 1150px); margin-inline: auto; }

  .fi-dame {
    max-width: var(--fi-fefuda-head-max, 640px);
    margin-bottom: var(--fi-fefuda-head-gap, 3rem);
    text-align: var(--fi-fefuda-head-align, left);
  }
  .fi-nuvite {
    margin: 0 0 1rem; font-family: var(--utility-font, var(--body-font));
    font-size: .8rem; letter-spacing: var(--kicker-tracking, .18em); text-transform: var(--kicker-transform, uppercase);
    color: var(--accent); font-weight: 600;
  }
  .fi-kedomo {
    margin: 0 0 1rem; font-family: var(--display-font);
    font-size: var(--fi-fefuda-title-size, clamp(1.9rem, 4vw, 2.8rem));
    font-weight: var(--heading-weight, 800); line-height: 1.1; letter-spacing: var(--heading-tracking, -.02em);
  }
  .fi-gevo { margin: 0; font-size: 1.1rem; line-height: 1.6; color: var(--muted); }

  .fi-nebo {
    display: grid;
    grid-template-columns: repeat(var(--fi-fefuda-cols, 3), 1fr);
    gap: var(--fi-fefuda-gap, 1.5rem);
  }
  .fi-vafega {
    background: var(--fi-fefuda-card-bg, var(--surface));
    border: 1px solid var(--border);
    border-radius: var(--radius, 12px);
    padding: var(--fi-fefuda-card-pad, 1.75rem);
    text-align: var(--fi-fefuda-card-align, left);
    display: flex; flex-direction: column; gap: .75rem;
    transition: transform var(--motion-duration, .15s) ease, border-color .15s ease;
  }
  .fi-vafega:hover { transform: translateY(var(--motion-lift, -3px)); border-color: var(--accent); }
  .fi-kabo {
    width: var(--fi-fefuda-icon-size, 44px); height: var(--fi-fefuda-icon-size, 44px);
    display: grid; place-items: center;
    border-radius: var(--fi-fefuda-icon-radius, 10px);
    background: var(--fi-fefuda-icon-bg, color-mix(in srgb, var(--accent) 15%, transparent));
    color: var(--accent);
  }
  .fi-kabo svg { width: 22px; height: 22px; }
  .fi-zefa { margin: 0; font-family: var(--display-font); font-size: 1.2rem; font-weight: 700; }
  .fi-nefo { margin: 0; font-size: .98rem; line-height: 1.55; color: var(--muted); }

  @media (prefers-reduced-motion: reduce) { .fi-vafega { transition: none; } }
  @media (max-width: 860px) { .fi-kebu--grid .fi-nebo { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 520px) { .fi-kebu--grid .fi-nebo { grid-template-columns: 1fr; } }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-dubi--band {
    background: var(--fi-vokuge-bg, var(--surface));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--fi-vokuge-pad-block, var(--space-section));
    padding-inline: var(--fi-vokuge-pad-inline, 1.5rem);
  }
  .fi-forora {
    max-width: var(--fi-vokuge-max, 860px);
    margin-inline: auto;
    background: var(--fi-vokuge-card-bg, var(--bg));
    border: 1px solid var(--border);
    border-radius: var(--radius, 10px);
    padding: var(--fi-vokuge-card-pad, var(--space-card));
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    column-gap: var(--fi-vokuge-gap, var(--space-gap));
    row-gap: var(--fi-vokuge-row-gap, .75rem);
    align-items: center;
  }

  .fi-ketevo {
    display: flex;
    align-items: center;
    gap: .75rem;
    grid-column: 1; grid-row: 1;
  }
  .fi-tova {
    font-size: var(--fi-vokuge-icon-size, 2rem);
    line-height: 1;
    flex-shrink: 0;
  }
  .fi-lodi {
    margin: 0;
    font-family: var(--display-font);
    font-size: var(--fi-vokuge-title-size, clamp(1.3rem, 3vw, 1.9rem));
    font-weight: var(--fi-vokuge-title-weight, 800);
    line-height: 1.15;
    letter-spacing: -.01em;
  }

  .fi-dedutu {
    margin: 0;
    font-size: var(--fi-vokuge-body-size, var(--scale-base));
    line-height: 1.6;
    color: var(--muted);
    grid-column: 1; grid-row: 2;
  }

  .fi-poti {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--fi-vokuge-cta-pad, .75rem 1.5rem);
    border-radius: var(--radius, 10px);
    background: var(--accent); color: var(--accent-fg);
    font-size: var(--scale-sm); font-weight: 600;
    text-decoration: none; white-space: nowrap;
    grid-column: 2; grid-row: 1 / 3;
    align-self: center;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .fi-poti:hover { transform: translateY(var(--motion-lift, -2px)); }
  .fi-poti:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

  @media (prefers-reduced-motion: reduce) { .fi-poti { transition: none; } }

  @media (max-width: 680px) {
    .fi-forora {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto;
    }
    .fi-ketevo  { grid-column: 1; grid-row: 1; }
    .fi-dedutu  { grid-column: 1; grid-row: 2; }
    .fi-poti   { grid-column: 1; grid-row: 3; width: 100%; justify-content: center; }
  }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-fema--icon {
    background: var(--fi-kelobe-bg, var(--bg));
    padding-block: var(--fi-kelobe-pad-block, 3rem);
    padding-inline: var(--fi-kelobe-pad-inline, 1.5rem);
  }
  .fi-mesugi {
    max-width: var(--fi-kelobe-line-max, 680px);
    margin-inline: auto;
    display: flex; align-items: center; gap: var(--fi-kelobe-gap, 1.5rem);
  }
  .fi-sazo {
    flex: 1; height: 1px;
    background: linear-gradient(to right, transparent, var(--border) 50%, transparent);
  }
  .fi-teti {
    flex-shrink: 0;
    width: var(--fi-kelobe-badge-size, 3rem);
    height: var(--fi-kelobe-badge-size, 3rem);
    border-radius: var(--fi-kelobe-badge-radius, 50%);
    background: var(--fi-kelobe-badge-bg, var(--surface));
    border: 1px solid var(--border);
    display: grid; place-items: center;
    font-size: var(--fi-kelobe-icon-size, 1.3rem);
    line-height: 1;
    color: var(--accent);
  }
  
  .fi-teti:empty::before {
    content: "";
    width: .6rem; height: .6rem;
    border-radius: 50%;
    background: var(--accent);
    display: block;
  }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-migiru--fi-vasebe-left {
    background: var(--fi-rodu-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--fi-rodu-pad-block, var(--space-section));
    padding-inline: var(--fi-rodu-pad-inline, 1.5rem);
  }
  .fi-migiru--fi-vasebe-left .fi-bonali {
    max-width: var(--fi-rodu-max, 1150px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: var(--fi-rodu-media-ratio, .55fr .45fr);
    gap: var(--fi-rodu-gap, 4rem);
    align-items: var(--fi-rodu-align, center);
  }

  .fi-bisubu {
    aspect-ratio: var(--fi-rodu-media-aspect, 4 / 3);
    border-radius: var(--radius, 8px);
    background: var(--surface);
    border: 1px solid var(--border);
    overflow: hidden;
    display: grid; place-items: center;
    color: var(--muted); font-size: var(--scale-sm);
  }

  .fi-pigapu {
    margin: 0 0 .9rem;
    font-family: var(--utility-font, var(--body-font));
    font-size: var(--fi-rodu-kicker-size, var(--scale-xs));
    letter-spacing: var(--fi-rodu-kicker-spacing, .18em);
    text-transform: uppercase;
    color: var(--accent); font-weight: 600;
  }
  .fi-tapi {
    margin: 0 0 1rem;
    font-family: var(--display-font);
    font-size: var(--fi-rodu-title-size, var(--scale-lg));
    font-weight: var(--fi-rodu-title-weight, 800);
    line-height: var(--fi-rodu-title-leading, 1.08);
    letter-spacing: var(--fi-rodu-title-spacing, -.02em);
  }
  .fi-dodame {
    margin: 0 0 .9rem;
    font-size: var(--fi-rodu-sub-size, var(--scale-md));
    line-height: 1.4; color: var(--fg); font-weight: 500;
  }
  .fi-rilibe {
    margin: 0 0 1.4rem;
    font-size: var(--fi-rodu-body-size, var(--scale-base));
    line-height: 1.65; color: var(--muted);
  }
  .fi-zami {
    list-style: none; margin: 0 0 1.75rem; padding: 0;
    display: grid; gap: var(--fi-rodu-points-gap, .55rem);
  }
  .fi-zami li {
    position: relative; padding-inline-start: 1.5rem;
    font-size: var(--fi-rodu-point-size, var(--scale-base)); line-height: 1.5; color: var(--fg);
  }
  .fi-zami li::before {
    content: ""; position: absolute; inset-inline-start: 0; top: .55em;
    width: .5rem; height: .5rem; border-radius: 50%; background: var(--accent);
  }
  .fi-pesu {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--fi-rodu-cta-pad, .85rem 1.75rem);
    border-radius: var(--radius, 8px);
    background: var(--accent); color: var(--accent-fg);
    font-size: var(--scale-base); font-weight: 600;
    text-decoration: none; cursor: pointer;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .fi-pesu:hover { transform: translateY(var(--motion-lift, -2px)); }
  .fi-pesu:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

  @media (prefers-reduced-motion: reduce) { .fi-pesu { transition: none; } }

  @media (max-width: 768px) {
    .fi-migiru--fi-vasebe-left .fi-bonali { grid-template-columns: 1fr; gap: 2rem; }
  }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-gukemu--fullbleed {
    
    background: var(--fi-famebi-bg, var(--accent));
    color: var(--fi-famebi-fg, var(--accent-fg));
    font-family: var(--body-font);
    padding-block: var(--fi-famebi-pad-block, var(--space-section));
    padding-inline: var(--fi-famebi-pad-inline, 1.5rem);
  }
  .fi-rila {
    max-width: var(--fi-famebi-max, 760px);
    margin-inline: auto;
    text-align: center;
    display: flex; flex-direction: column;
    align-items: center; gap: var(--fi-famebi-gap, 1.5rem);
  }
  .fi-kiduza {
    margin: 0;
    font-family: var(--display-font);
    font-size: var(--fi-famebi-title-size, var(--scale-xl));
    font-weight: var(--heading-weight, 800); line-height: 1.05; letter-spacing: var(--heading-tracking, -.03em);
    color: var(--fi-famebi-fg, var(--accent-fg));
  }
  .fi-teku {
    margin: 0;
    font-size: var(--fi-famebi-subtext-size, var(--scale-md));
    line-height: 1.5;
    color: var(--fi-famebi-fg, var(--accent-fg));
    opacity: var(--fi-famebi-subtext-opacity, .82);
    max-width: 50ch;
  }
  
  .fi-vabubi {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--fi-famebi-cta-pad, 1rem 2.75rem);
    border-radius: var(--radius, 12px);
    background: var(--fi-famebi-cta-bg, var(--bg));
    color: var(--fi-famebi-cta-fg, var(--fg));
    font-size: var(--fi-famebi-cta-size, var(--scale-md)); font-weight: 700;
    text-decoration: none; margin-top: .5rem;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .fi-vabubi:hover { transform: translateY(var(--motion-lift, -2px)); }
  .fi-vabubi:focus-visible { outline: 2px solid var(--fi-famebi-fg, var(--accent-fg)); outline-offset: 3px; }
  .fi-sokare {
    margin: 0;
    font-size: var(--fi-famebi-disclaimer-size, var(--scale-xs));
    color: var(--fi-famebi-fg, var(--accent-fg));
    opacity: .7; letter-spacing: .03em;
  }

  @media (prefers-reduced-motion: reduce) { .fi-vabubi { transition: none; } }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-guta--classic {
    background: var(--fi-kuno-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--fi-kuno-pad-block, var(--space-section));
    padding-inline: var(--fi-kuno-pad-inline, 1.5rem);
  }
  .fi-guta--classic .fi-nokaba {
    max-width: var(--fi-kuno-max, 1150px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: var(--fi-kuno-split-ratio, 1fr 1fr);
    gap: var(--fi-kuno-gap, 3.5rem);
    align-items: var(--fi-kuno-align, center);
  }
  
  .fi-guta--classic[data-reverse="true"] .fi-zobe { order: 2; }
  .fi-guta--classic[data-reverse="true"] .fi-rigori   { order: 1; }

  .fi-vepo {
    margin: 0 0 1rem;
    font-family: var(--utility-font, var(--body-font));
    font-size: var(--fi-kuno-kicker-size, var(--scale-xs));
    letter-spacing: var(--fi-kuno-kicker-spacing, .18em);
    text-transform: var(--fi-kuno-kicker-transform, uppercase);
    color: var(--accent);
    font-weight: 600;
  }
  .fi-punefi {
    margin: 0 0 1.1rem;
    font-family: var(--display-font);
    font-size: var(--fi-kuno-title-size, var(--scale-lg));
    font-weight: var(--fi-kuno-title-weight, 800);
    line-height: var(--fi-kuno-title-leading, 1.1);
    letter-spacing: var(--fi-kuno-title-spacing, -.02em);
  }
  .fi-raru {
    margin: 0 0 1rem;
    font-size: var(--fi-kuno-sub-size, var(--scale-md));
    line-height: 1.4;
    color: var(--fg);
    font-weight: 500;
  }
  .fi-gito {
    margin: 0 0 1.5rem;
    font-size: var(--fi-kuno-body-size, var(--scale-base));
    line-height: 1.65;
    color: var(--muted);
    max-width: 52ch;
  }
  .fi-mebo {
    list-style: none;
    margin: 0 0 2rem;
    padding: 0;
    display: grid;
    gap: var(--fi-kuno-points-gap, .65rem);
  }
  .fi-mebo li {
    position: relative;
    padding-inline-start: 1.6rem;
    font-size: var(--fi-kuno-point-size, var(--scale-base));
    line-height: 1.5;
    color: var(--fg);
  }
  .fi-mebo li::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: .55em;
    width: .55rem; height: .55rem;
    border-radius: 50%;
    background: var(--accent);
  }
  .fi-fube { display: flex; flex-wrap: wrap; gap: 1rem; }
  .fi-gefivu {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--fi-kuno-cta-pad, .8rem 1.5rem);
    border-radius: var(--radius, 8px);
    font-size: var(--scale-base); font-weight: 600;
    text-decoration: none; cursor: pointer;
    transition: transform var(--motion-duration, .15s) ease, opacity var(--motion-duration, .15s) ease;
  }
  .fi-gefivu:hover { transform: translateY(var(--motion-lift, -2px)); }
  .fi-gefivu--primary { background: var(--accent); color: var(--accent-fg); }
  .fi-gefivu--ghost {
    background: transparent; color: var(--fg);
    border: 1px solid var(--border);
  }

  .fi-fini {
    aspect-ratio: var(--fi-kuno-media-aspect, 4 / 3);
    border-radius: var(--radius, 8px);
    background: var(--surface);
    border: 1px solid var(--border);
    overflow: hidden;
    display: grid; place-items: center;
    color: var(--muted); font-size: var(--scale-sm);
  }

  .fi-gefivu:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
  @media (prefers-reduced-motion: reduce) { .fi-gefivu { transition: none; } }

  @media (max-width: 768px) {
    .fi-guta--classic .fi-nokaba { grid-template-columns: 1fr; gap: 2rem; }
    .fi-guta--classic[data-reverse="true"] .fi-zobe { order: 1; }
    .fi-guta--classic[data-reverse="true"] .fi-rigori   { order: 2; }
    .fi-gito { max-width: none; }
  }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-ratido--cards {
    background: var(--fi-delosa-bg, var(--bg));
    color: var(--fi-delosa-fg, var(--fg));
    font-family: var(--body-font);
    padding-block: var(--fi-delosa-pad-block, 4rem);
    padding-inline: var(--fi-delosa-pad-inline, 1.5rem);
  }
  .fi-ratido--cards .fi-tovuve {
    max-width: var(--fi-delosa-max, 1100px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(var(--fi-delosa-cols, 4), 1fr);
    gap: var(--fi-delosa-gap, 1.25rem);
  }
  .fi-lada {
    background: var(--fi-delosa-card-bg, var(--surface-bg));
    border: 1px solid var(--fi-delosa-border, var(--border));
    border-radius: var(--fi-delosa-radius, 12px);
    padding: var(--fi-delosa-card-pad, 1.75rem 1.5rem);
    display: flex; flex-direction: column; gap: .4rem;
    text-align: var(--fi-delosa-card-align, left);
  }
  .fi-romu {
    font-family: var(--display-font);
    font-size: var(--fi-delosa-value-size, 2.6rem);
    font-weight: var(--fi-delosa-value-weight, 800);
    color: var(--fi-delosa-value-color, var(--accent));
    line-height: 1;
  }
  .fi-netazo {
    font-size: var(--fi-delosa-label-size, 1rem);
    font-weight: 600;
    color: var(--fi-delosa-label-color, var(--fg));
  }
  .fi-gagura {
    font-size: var(--fi-delosa-note-size, .85rem);
    color: var(--fi-delosa-note-color, var(--muted));
    line-height: 1.4;
  }

  @media (max-width: 768px) {
    .fi-ratido--cards .fi-tovuve { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
    .fi-romu { font-size: 2.1rem; }
  }
  @media (max-width: 420px) {
    .fi-ratido--cards .fi-tovuve { grid-template-columns: 1fr 1fr; }
  }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-rumuzi--oversized {
    background: var(--fi-dagozi-bg, var(--bg));
    border-bottom: 1px solid var(--border);
    color: var(--fg); font-family: var(--body-font);
    padding-block: var(--fi-dagozi-pad-block, 4rem);
    padding-inline: var(--fi-dagozi-pad-inline, 1.5rem);
  }
  .fi-dubefe {
    max-width: var(--fi-dagozi-max, 1100px);
    margin-inline: auto;
  }
  .fi-vina {
    font-family: var(--utility-font, var(--body-font));
    font-size: var(--scale-xs); font-weight: 600;
    letter-spacing: var(--kicker-tracking, .18em); text-transform: var(--kicker-transform, uppercase);
    color: var(--accent); margin: 0 0 1rem;
  }
  .fi-bemu {
    margin: 0 0 1.25rem;
    font-family: var(--display-font);
    font-size: var(--scale-2xl);
    font-weight: var(--heading-weight, 800); line-height: 1.0; letter-spacing: var(--heading-tracking, -.03em);
    text-wrap: balance;
  }
  
  .fi-dula {
    width: 3.5rem; height: 3px;
    background: var(--accent); border: none; margin: 0 0 1.25rem;
  }
  .fi-padora {
    margin: 0;
    font-size: var(--scale-base); line-height: 1.65; color: var(--muted);
    max-width: 60ch;
  }

  @media (max-width: 600px) {
    .fi-rumuzi--oversized { padding-block: 3rem; }
  }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-dozo--stacked {
    background: var(--fi-gepo-bg, var(--bg));
    color: var(--fg); font-family: var(--body-font);
    padding-block: var(--fi-gepo-pad-block, var(--space-section));
    padding-inline: var(--fi-gepo-pad-inline, 1.5rem);
  }
  .fi-pozega {
    max-width: var(--fi-gepo-max, 620px); margin-inline: auto;
  }
  .fi-kefe {
    text-align: var(--fi-gepo-head-align, center);
    margin-bottom: 2.5rem;
  }
  .fi-satufi {
    margin: 0 0 .6rem;
    font-family: var(--display-font);
    font-size: var(--scale-lg); font-weight: var(--heading-weight, 800);
    line-height: 1.1; letter-spacing: var(--heading-tracking, -.02em);
  }
  .fi-bimaka {
    margin: 0; font-size: var(--scale-sm);
    line-height: 1.55; color: var(--muted);
  }
  .fi-tivi { display: flex; flex-direction: column; gap: 1rem; }
  .fi-soba { display: flex; flex-direction: column; gap: .4rem; }
  .fi-poruvi {
    font-size: var(--scale-xs); font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase; color: var(--muted);
  }
  .fi-kipo,
  .fi-romiba {
    background: var(--surface); border: var(--fi-gepo-input-border, 1px solid var(--border));
    border-radius: var(--radius, 8px);
    color: var(--fg); font-family: var(--body-font);
    font-size: var(--scale-base); padding: var(--fi-gepo-input-pad, .75rem 1rem); width: 100%;
    transition: border-color .15s ease;
  }
  .fi-kipo:focus, .fi-romiba:focus { outline: none; border-color: var(--accent); }
  .fi-romiba { min-height: var(--fi-gepo-textarea-min-h, 120px); resize: vertical; }
  .fi-modivu { display: none; visibility: hidden; position: absolute; }
  .fi-bibo {
    width: 100%; padding: var(--fi-gepo-btn-pad, .9rem 1rem);
    border-radius: var(--radius, 8px);
    background: var(--accent); color: var(--accent-fg);
    font-size: var(--scale-sm); font-weight: 700;
    letter-spacing: .04em; text-transform: uppercase;
    border: none; cursor: pointer;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .fi-bibo:hover { transform: translateY(var(--motion-lift, -2px)); }
  .fi-kapoku {
    padding: 1rem 1.25rem; border-radius: var(--radius, 8px);
    font-size: var(--scale-sm); font-weight: 600; margin-bottom: 1rem;
  }
  .fi-kapoku--success {
    background: color-mix(in srgb, var(--accent) 12%, transparent);
    border: 1px solid var(--accent); color: var(--fg);
  }
  .fi-kapoku--error {
    background: color-mix(in srgb, #e53e3e 12%, transparent);
    border: 1px solid #e53e3e; color: var(--fg);
  }

  .fi-bosuva {
    margin-top: 2.5rem; text-align: center;
    padding-top: 2rem; border-top: 1px solid var(--border);
  }
  .fi-rolalo {
    display: block; margin-bottom: .5rem;
    font-size: var(--scale-xs); color: var(--muted);
    letter-spacing: .06em; text-transform: uppercase; font-weight: 600;
  }
  .fi-vazeto {
    font-size: var(--scale-md); font-weight: 700;
    color: var(--accent); text-decoration: none;
  }
  .fi-vazeto:hover { text-decoration: underline; }

  @media (prefers-reduced-motion: reduce) {
    .fi-kipo, .fi-romiba, .fi-bibo { transition: none; }
  }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }

  .fi-tufuku--toc {
    background: var(--fi-kidusa-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--fi-kidusa-pad-block, 4.5rem);
    padding-inline: var(--fi-kidusa-pad-inline, 1.5rem);
  }
  .fi-lodupo {
    max-width: var(--fi-kidusa-max, 760px);
    margin-inline: auto;
  }

  .fi-bonizi {
    margin: 0 0 .5rem;
    font-family: var(--display-font);
    font-size: var(--fi-kidusa-title-size, var(--scale-lg));
    font-weight: var(--heading-weight, 800); line-height: 1.15; letter-spacing: var(--heading-tracking, -.02em);
  }
  .fi-dabi {
    margin: 0 0 2.5rem;
    font-size: var(--fi-kidusa-meta-size, var(--scale-xs));
    color: var(--muted);
    letter-spacing: .05em; text-transform: uppercase; font-weight: 600;
  }

  .fi-favu {
    background: var(--fi-kidusa-toc-bg, var(--surface));
    border: 1px solid var(--border);
    border-radius: var(--radius, 8px);
    padding: var(--fi-kidusa-toc-pad, 1.25rem 1.5rem);
    margin-bottom: var(--fi-kidusa-section-gap, 3rem);
    min-width: var(--fi-kidusa-toc-min, 0);
  }
  .fi-pado {
    margin: 0 0 .85rem;
    font-size: var(--fi-kidusa-toc-title-size, var(--scale-xs));
    font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
    color: var(--muted);
  }
  .fi-nabara {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: .4rem;
    counter-reset: toc;
  }
  .fi-nabara li { counter-increment: toc; }
  .fi-nabara a {
    display: inline-flex; align-items: baseline; gap: .6rem;
    font-size: var(--fi-kidusa-toc-link-size, var(--scale-sm));
    color: var(--accent); text-decoration: none;
    line-height: 1.4;
  }
  .fi-nabara a::before {
    content: counter(toc) ".";
    font-variant-numeric: tabular-nums;
    color: var(--muted); font-size: var(--scale-sm); flex-shrink: 0;
  }
  .fi-nabara a:hover { text-decoration: underline; }

  .fi-leda {
    display: flex; flex-direction: column;
    gap: var(--fi-kidusa-section-gap, 2.5rem);
  }
  .fi-ledebu { scroll-margin-top: var(--fi-kidusa-scroll-margin, 2rem); }
  .fi-toni {
    margin: 0 0 .85rem;
    font-family: var(--display-font);
    font-size: var(--fi-kidusa-sec-title-size, var(--scale-md));
    font-weight: 700; line-height: 1.25;
  }
  .fi-funomo {
    margin: 0;
    font-size: var(--fi-kidusa-text-size, var(--scale-base));
    line-height: 1.7; color: var(--muted);
  }

  @media (max-width: 600px) {
    .fi-tufuku--toc { padding-block: var(--fi-kidusa-pad-block-mobile, 3rem); }
  }