: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:4.675rem;--space-gap:1.7rem;--space-card:1.488rem;--glow:none;--so-gemu-height:2.55rem;--so-levo-pad-block:3.4rem;--so-baba-pad-block:3.4rem;--so-bovuzo-pad-block:4.25rem;--so-dama-pad-block:2.975rem;--so-bira-media-ratio:.45fr .55fr;--so-bira-gap:3.4rem;--so-bira-pad-block:4.675rem;--so-tosu-split-ratio:1fr 1fr;--so-tosu-gap:2.975rem;--so-tosu-pad-block:4.675rem;--so-nifa-pad-block:3.825rem;--bg:#eff0ed;--so-bone-rgb:239,240,237;--fg:#2e2e2f;--muted:#8a8a8a;--surface:#f9f9f8;--border:#d4d5d2;--accent:#71a323;--accent-fg:#ffffff;--display-font:'Oswald', system-ui, sans-serif;--body-font:'Lora', system-ui, sans-serif;--radius:22px;--heading-weight:800;--heading-tracking:.02em;--heading-transform:capitalize;--heading-variant:normal;--heading-scale:1.06;--kicker-transform:none;--kicker-tracking:0;--motion-duration:.2s;--motion-lift:-4px;--card-shadow:0 2px 6px rgba(0,0,0,.20);--so-tosu-media-shadow:0 3px 10px rgba(0,0,0,.26);--so-negaba-console-shadow:0 4px 14px rgba(0,0,0,.32);--so-gunovo-play-shadow:0 2px 6px rgba(0,0,0,.30);--so-gukozu-h:3.4rem;--so-gukozu-h-ft:3.7rem;}

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

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

  .so-gitibi {
    display: inline-flex; align-items: center; gap: .55rem;
    text-decoration: none; white-space: nowrap;
  }
  .so-dera {
    width: var(--so-gemu-logo-size, 1.75rem); height: var(--so-gemu-logo-size, 1.75rem);
    object-fit: contain; display: block;
  }
  .so-lafapu {
    height: var(--so-gukozu-h, 3.0rem); width: auto; max-width: min(64vw, 320px);
    object-fit: contain; display: block;
  }
  .so-dava {
    font-family: var(--display-font);
    font-size: var(--scale-sm); font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
    color: var(--fg);
  }

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

  .so-funu {
    display: none;
    position: absolute; inset-block-start: var(--so-gemu-height, 2.55rem); inset-inline: 0;
    z-index: 100;            
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    padding: 1.5rem var(--so-gemu-pad-x, 0.85rem);
  }
  .so-mudumo {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: .25rem;
  }
  .so-beva {
    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;
  }
  .so-beva:last-child { border-bottom: none; }
  .so-beva:hover { color: var(--fg); }
  .so-beva--active { color: var(--accent); }

  .so-geke[data-open] .so-funu { display: block; }
  .so-geke[data-open] .so-begi:nth-child(1) { transform: rotate(45deg) translate(.35rem, .35rem); }
  .so-geke[data-open] .so-begi:nth-child(2) { opacity: 0; }
  .so-geke[data-open] .so-begi:nth-child(3) { transform: rotate(-45deg) translate(.35rem, -.35rem); }
  .so-geke[data-open] .so-bugo { color: var(--fg); }

  @media (prefers-reduced-motion: reduce) {
    .so-beva, .so-begi { transition: none; }
  }

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

  .so-nalaku {
    background: var(--so-levo-bg, var(--surface));
    border-top: 1px solid var(--border);
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--so-levo-pad-block, 3.4rem);
    padding-inline: var(--so-levo-pad-inline, 1.275rem);
    text-align: center;
  }
  .so-leba {
    max-width: var(--so-levo-max, 680px);
    margin-inline: auto;
    display: flex; flex-direction: column;
    align-items: center; gap: var(--so-levo-stack-gap, 1.275rem);
  }

  .so-suzazu {
    display: inline-flex; align-items: center; gap: .6rem;
    text-decoration: none;
  }
  .so-sado {
    width: var(--so-levo-logo-size, 2.25rem); height: var(--so-levo-logo-size, 2.25rem);
    object-fit: contain;
  }
  .so-dugila {
    height: var(--so-gukozu-h-ft, 3.5rem); width: auto; max-width: min(75vw, 400px);
    object-fit: contain; display: block;
  }
  .so-lebi {
    font-family: var(--display-font);
    font-size: var(--scale-md); font-weight: 700; color: var(--fg);
  }

  .so-nesu {
    margin: 0;
    font-size: var(--scale-sm); color: var(--muted); line-height: 1.55;
    max-width: 38ch;
  }

  .so-rigaza {
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: .5rem var(--so-levo-nav-gap, 1.7rem);
  }
  .so-leda {
    color: var(--muted); text-decoration: none;
    font-size: var(--scale-sm); font-weight: 600;
    letter-spacing: .05em; text-transform: uppercase;
    transition: color var(--motion-duration, .15s) ease;
  }
  .so-leda:hover { color: var(--fg); }
  .so-leda--active { color: var(--accent); }

  .so-diba { text-align: center; }
  .so-kiradi {
    margin: 0 0 .5rem;
    font-size: var(--scale-xs); font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
  }
  .so-bikisa { margin-bottom: .3rem; }
  .so-bikisa:last-child { margin-bottom: 0; }
  .so-lika { font-size: var(--scale-sm); color: var(--fg); }

  .so-nelafu {
    width: var(--so-levo-rule-width, 3rem); height: 1px;
    background: var(--border); border: none; margin: 0;
  }

  .so-bedu {
    display: flex; flex-wrap: wrap; justify-content: center;
    align-items: center; gap: .5rem 1.5rem;
    width: 100%;
  }
  .so-fibenu {
    margin: 0;
    font-size: var(--scale-xs); color: var(--muted);
  }
  .so-reze {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem;
  }
  .so-kefa {
    font-size: var(--scale-xs); color: var(--muted); text-decoration: none;
    transition: color var(--motion-duration, .15s) ease;
  }
  .so-kefa:hover { color: var(--fg); }

  @media (prefers-reduced-motion: reduce) {
    .so-leda, .so-kefa { transition: none; }
  }
  @media (max-width: 480px) {
    .so-rigaza { gap: .5rem 1.25rem; }
  }

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

  #so-gizi {
    position: fixed; inset-inline: 0; bottom: 0; z-index: 9999;
    background: var(--so-mizemi-bg, var(--surface));
    border-top: 1px solid var(--border);
    padding: var(--so-mizemi-pad, 0.85rem clamp(0.85rem,4vw,2.125rem));
    visibility: hidden; pointer-events: none;   
    transform: translateY(100%);
    transition: transform var(--motion-duration, .3s) ease;
  }
  #so-gizi.so-gupu { transform: translateY(0); visibility: visible; pointer-events: auto; }

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

  .so-gizi__actions {
    display: flex; gap: .6rem; flex-shrink: 0; flex-wrap: wrap;
  }
  .so-gizi__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;
  }
  #so-gizi-accept { background: var(--accent); color: var(--accent-fg); }
  #so-gizi-decline {
    background: transparent;
    border: 1px solid var(--border) !important;
    color: var(--muted);
  }
  #so-gizi-decline:hover { color: var(--fg); }

  @media (prefers-reduced-motion: reduce) {
    #so-gizi { transition: none; }
  }
  @media (max-width: 540px) {
    .so-gizi__inner { flex-direction: column; align-items: stretch; }
    .so-gizi__text { flex: 0 0 auto; } 
    .so-gizi__actions { flex-direction: column; gap: .5rem; }
    .so-gizi__actions button { width: 100%; }
  }

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

  .so-poga--terminal {
    background: var(--bg);
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--so-negaba-pad-block, 5.1rem);
    padding-inline: var(--so-negaba-pad-inline, 1.275rem);
  }
  .so-poga--terminal .so-buto {
    max-width: var(--so-rupime-max, 860px);
    margin-inline: auto;
  }

  .so-buru {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius, 10px);
    overflow: hidden;
    box-shadow: var(--so-negaba-console-shadow, 0 30px 60px -20px rgba(0,0,0,.6));
  }
  .so-roda {
    display: flex; align-items: center; gap: .5rem;
    padding: .8rem 1rem;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
  }
  .so-gekife { width: 11px; height: 11px; border-radius: 50%; background: var(--border); }
  .so-gekife--accent { background: var(--accent); }
  .so-dolupo {
    margin-left: .6rem;
    font-family: var(--mono-font, ui-monospace, monospace);
    font-size: .8rem; color: var(--muted);
  }
  .so-lipu {
    padding: var(--so-rupime-body-pad, 2.125rem 1.7rem 2.55rem);
    font-family: var(--mono-font, ui-monospace, monospace);
  }

  .so-zazita { margin: 0 0 .6rem; font-size: .95rem; color: var(--muted); }
  .so-zazita::before { content: var(--so-rupime-prompt, "$ "); color: var(--accent); }
  .so-badapi {
    margin: 0 0 1.5rem;
    font-family: var(--mono-font, ui-monospace, monospace);
    font-size: .85rem; color: var(--muted);
  }
  .so-badapi::before { content: var(--so-rupime-comment, "// "); color: var(--accent); opacity: .7; }
  .so-badeza {
    margin: 0 0 1.25rem;
    font-family: var(--display-font);
    font-size: calc((var(--so-negaba-title-size, clamp(2rem, 4.5vw, 3.4rem))) * var(--heading-scale, 1));
    font-weight: var(--so-negaba-title-weight, var(--heading-weight, 800)); text-transform: var(--heading-transform, none); font-variant: var(--heading-variant, normal);
    line-height: 1.1; letter-spacing: -.01em;
  }
  .so-sade {
    margin: 0 0 2rem;
    font-family: var(--body-font);
    font-size: var(--so-negaba-sub-size, 1.1rem);
    line-height: 1.5; color: var(--muted);
    max-width: 56ch;
  }
  .so-duma {
    display: inline-block; width: .6em; height: 1.1em;
    background: var(--accent); vertical-align: text-bottom;
    animation: termBlink 1.1s step-end infinite;
  }
  @keyframes termBlink { 50% { opacity: 0; } }

  .so-dozira { display: flex; flex-wrap: wrap; gap: 1rem; }
  .so-fusi {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--so-negaba-cta-pad, 0.68rem 1.36rem);
    border-radius: var(--radius, 8px);
    font-family: var(--body-font);
    font-size: 1rem; font-weight: 600;
    text-decoration: none; cursor: pointer;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .so-fusi:hover { transform: translateY(var(--motion-lift, -2px)); }
  .so-fusi--primary { background: var(--accent); color: var(--accent-fg); }
  .so-fusi--ghost { background: transparent; color: var(--fg); border: 1px solid var(--border); }

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

  @media (max-width: 768px) {
    .so-poga--terminal { padding-block: var(--so-negaba-pad-block-mobile, 3.5rem); }
    .so-lipu { padding: 1.75rem 1.25rem 2.25rem; }
    .so-sade { max-width: none; }
  }

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

  .so-vobezu--rows {
    background: var(--so-fude-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--so-fude-pad-block, var(--space-section, 4.675rem));
    padding-inline: var(--so-fude-pad-inline, 1.275rem);
  }
  .so-dosoda { max-width: var(--so-fude-max, 960px); margin-inline: auto; }

  .so-serune {
    max-width: var(--so-fude-head-max, 640px);
    margin-bottom: var(--so-fude-head-gap, 2.125rem);
    text-align: var(--so-fude-head-align, left);
  }
  .so-nale {
    margin: 0 0 1rem; font-family: var(--utility-font, var(--body-font));
    font-size: var(--so-fude-kicker-size, .8rem); letter-spacing: var(--kicker-tracking, .18em);
    text-transform: var(--kicker-transform, uppercase); font-variant: var(--kicker-variant, normal); background: var(--kicker-chip-bg, transparent); padding: var(--kicker-chip-pad, 0); border-radius: var(--kicker-chip-radius, 0); color: var(--accent); font-weight: 600;
  }
  .so-dide {
    margin: 0 0 1rem; font-family: var(--display-font);
    font-size: calc((var(--so-fude-title-size, clamp(1.9rem, 4vw, 2.8rem))) * var(--heading-scale, 1));
    font-weight: var(--heading-weight, 800); line-height: 1.1; letter-spacing: var(--heading-tracking, -.02em); text-transform: var(--heading-transform, none); font-variant: var(--heading-variant, normal);
  }
  .so-rufuga { margin: 0; font-size: 1.1rem; line-height: 1.6; color: var(--muted); }

  .so-pedu { display: flex; flex-direction: column; gap: var(--so-fude-gap, 1.062rem); }
  .so-sudodi {
    display: grid;
    grid-template-columns: var(--so-fude-cover-w, 260px) 1fr;
    gap: var(--so-fude-row-gap, 1.275rem);
    align-items: center;
    background: var(--so-fude-card-bg, var(--surface));
    border: 1px solid var(--border);
    border-radius: var(--radius, 12px);
    overflow: hidden;
    text-decoration: none; color: inherit;
    transition: transform var(--motion-duration, .15s) ease, border-color .15s ease, box-shadow .15s ease;
  }
  .so-sudodi:hover { transform: translateY(var(--motion-lift, -2px)); border-color: var(--accent); box-shadow: var(--card-shadow, 0 6px 24px rgba(0,0,0,.08)); }
  .so-sudodi:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .so-nega {
    aspect-ratio: var(--so-fude-cover-aspect, 16 / 10);
    background: var(--so-fude-cover-bg, color-mix(in srgb, var(--accent) 8%, var(--surface)));
    display: grid; place-items: center;
    color: var(--muted); font-size: .9rem;
    overflow: hidden; height: 100%;
  }
  .so-nega img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .so-vusudi { padding: var(--so-fude-row-pad, 1.062rem 1.275rem 1.062rem 0); display: flex; flex-direction: column; gap: .5rem; }
  .so-gila { margin: 0; font-family: var(--display-font); font-size: 1.3rem; font-weight: 700; line-height: 1.25; }
  .so-dodaba { margin: 0; font-size: 1rem; line-height: 1.55; color: var(--muted); }

  @media (prefers-reduced-motion: reduce) { .so-sudodi { transition: none; } }
  @media (max-width: 640px) {
    .so-vobezu--rows .so-sudodi { grid-template-columns: 1fr; }
    .so-vobezu--rows .so-nega { aspect-ratio: var(--so-fude-cover-aspect-mobile, 16 / 9); }
    .so-vobezu--rows .so-vusudi { padding: var(--so-fude-row-pad-mobile, 0 1.25rem 1.25rem); }
  }

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

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

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

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

  .so-repade {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--so-baba-cta-pad, 0.637rem 1.275rem);
    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;
  }
  .so-repade:hover { transform: translateY(var(--motion-lift, -2px)); }
  .so-repade:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

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

  @media (max-width: 680px) {
    .so-sodobu {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto;
    }
    .so-toro  { grid-column: 1; grid-row: 1; }
    .so-mosolu  { grid-column: 1; grid-row: 2; }
    .so-repade   { grid-column: 1; grid-row: 3; width: 100%; justify-content: center; }
  }

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

  .so-bivora--split {
    background: var(--so-bovuzo-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--so-bovuzo-pad-block, var(--space-section));
    padding-inline: var(--so-bovuzo-pad-inline, 1.275rem);
  }
  .so-nimi {
    max-width: var(--so-bovuzo-max, 1160px);
    margin-inline: auto;
    background: var(--so-bovuzo-card-bg, var(--surface));
    border: 1px solid var(--border);
    border-radius: var(--radius, 16px);
    padding: var(--so-bovuzo-card-pad, var(--space-card));
    display: grid;
    
    grid-template-columns: var(--so-bovuzo-split-ratio, 1fr auto);
    gap: var(--so-bovuzo-gap, var(--space-gap));
    align-items: center;
  }
  .so-zupero {
    display: flex; flex-direction: column; gap: .85rem;
    min-width: 0;   
  }
  .so-zusona {
    margin: 0;
    font-family: var(--display-font);
    font-size: calc((var(--so-bovuzo-title-size, var(--scale-xl))) * var(--heading-scale, 1));
    font-weight: var(--heading-weight, 800); line-height: 1.12; letter-spacing: var(--heading-tracking, -.02em); text-transform: var(--heading-transform, none); font-variant: var(--heading-variant, normal);
  }
  .so-leki {
    margin: 0;
    font-size: var(--so-bovuzo-subtext-size, 1.08rem);
    line-height: 1.55; color: var(--muted);
    max-width: 48ch;
  }
  .so-dufebu {
    display: flex; flex-direction: column; gap: .7rem;
    align-items: center; text-align: center;
    max-width: var(--so-bovuzo-actions-max, 240px);   
  }
  .so-fofabo {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--so-bovuzo-cta-pad, 0.85rem 1.912rem);
    border-radius: var(--radius, 12px);
    background: var(--accent); color: var(--accent-fg);
    font-size: var(--so-bovuzo-cta-size, var(--scale-md)); font-weight: 700;
    text-decoration: none; white-space: nowrap;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .so-fofabo:hover { transform: translateY(var(--motion-lift, -2px)); }
  .so-fofabo:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
  .so-tida {
    margin: 0;
    font-size: var(--so-bovuzo-disclaimer-size, var(--scale-xs));
    color: var(--muted); letter-spacing: .03em;
    max-width: 100%; text-align: center;   
  }

  .so-bezoma { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
  .so-binubu { color: var(--muted); padding-inline-start: 1.5em; position: relative; }
  .so-binubu::before { content: "\2713"; position: absolute; inset-inline-start: 0; color: var(--accent); font-weight: 700; }
  .so-nibu { margin: 0; max-width: 46ch; font-style: italic; color: var(--fg); border-inline-start: 3px solid var(--accent); padding-inline-start: 1rem; }
  @media (prefers-reduced-motion: reduce) { .so-fofabo { transition: none; } }

  @media (max-width: 760px) {
    .so-bivora--split .so-nimi { grid-template-columns: 1fr; gap: 1.75rem; }
    .so-bivora--split .so-dufebu { max-width: none; align-items: stretch; }
    .so-bivora--split .so-fofabo { width: 100%; }
  }

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

  .so-kelana--split {
    background: var(--so-dama-bg, var(--surface));
    border-bottom: 1px solid var(--border);
    color: var(--fg); font-family: var(--body-font);
    padding-block: var(--so-dama-pad-block, 2.975rem);
    padding-inline: var(--so-dama-pad-inline, 1.275rem);
  }
  .so-feno {
    max-width: var(--so-dama-max, 1050px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: var(--so-dama-ratio, 1fr .7fr);
    gap: var(--so-dama-gap, 2.55rem);
    align-items: center;
  }
  .so-lase {
    font-size: var(--scale-xs); color: var(--muted);
    letter-spacing: .06em; text-transform: uppercase;
    font-weight: 600; margin: 0 0 .6rem;
  }
  .so-moda {
    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); font-variant: var(--kicker-variant, normal); background: var(--kicker-chip-bg, transparent); padding: var(--kicker-chip-pad, 0); border-radius: var(--kicker-chip-radius, 0);
    color: var(--accent); margin: 0 0 .75rem;
  }
  .so-kileku {
    margin: 0 0 1rem;
    font-family: var(--display-font);
    font-size: calc((var(--scale-xl)) * var(--heading-scale, 1));
    font-weight: var(--heading-weight, 800); line-height: 1.1; letter-spacing: var(--heading-tracking, -.02em); text-transform: var(--heading-transform, none); font-variant: var(--heading-variant, normal);
  }
  .so-ragu {
    margin: 0;
    font-size: var(--scale-base); line-height: 1.65; color: var(--muted);
  }
  
  .so-tivo {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--so-dama-cta-pad, 0.595rem 1.36rem); border-radius: var(--radius, 8px);
    background: var(--accent); color: var(--accent-fg);
    font-size: var(--scale-sm); font-weight: 600; text-decoration: none; margin-top: .5rem; align-self: start;
  }
  .so-bisi { display: inline-flex; }
  .so-tinize { width: var(--so-dama-accent-size, 2.2rem); height: var(--so-dama-accent-size, 2.2rem); color: var(--accent); }
  .so-loro {
    aspect-ratio: var(--so-dama-media-aspect, 4 / 3);
    border-radius: var(--radius, 10px);
    background: var(--bg);
    border: 1px solid var(--border);
    overflow: hidden;
    display: grid; place-items: center;
    color: var(--muted); font-size: .85rem;
  }

  @media (max-width: 768px) {
    .so-kelana--split .so-feno { grid-template-columns: 1fr; gap: 2rem; }
    .so-vusipi { display: none; } 
  }

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

  .so-semo--tabs {
    background: var(--so-nuto-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--so-nuto-pad-block, 4.675rem);
    padding-inline: var(--so-nuto-pad-inline, 1.275rem);
  }
  .so-semo--tabs .so-nesoru { max-width: var(--so-faba-max, 1000px); margin-inline: auto; }
  .so-zabuga { text-align: center; max-width: 640px; margin: 0 auto var(--so-nuto-head-gap, 2.125rem); }
  .so-pufu {
    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); font-variant: var(--kicker-variant, normal); background: var(--kicker-chip-bg, transparent); padding: var(--kicker-chip-pad, 0); border-radius: var(--kicker-chip-radius, 0);
    color: var(--accent); font-weight: 600;
  }
  .so-vuga {
    margin: 0; font-family: var(--display-font);
    font-size: calc((var(--so-nuto-title-size, clamp(1.9rem, 4vw, 2.8rem))) * var(--heading-scale, 1));
    font-weight: var(--heading-weight, 800); line-height: 1.1; letter-spacing: var(--heading-tracking, -.02em); text-transform: var(--heading-transform, none); font-variant: var(--heading-variant, normal);
  }

  .so-fota { position: relative; }
  .so-sere { position: absolute; opacity: 0; pointer-events: none; }

  .so-fari {
    display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--border);
    padding-bottom: 0;
  }
  .so-divobe {
    padding: .7rem 1.3rem; cursor: pointer;
    font-weight: 600; font-size: 1rem; color: var(--muted);
    border-bottom: 2px solid transparent; margin-bottom: -1px;
    transition: color var(--motion-duration, .15s) ease, border-color .15s ease;
  }
  .so-divobe:hover { color: var(--fg); }

  .so-dilaro { display: none; }
  .so-tapife {
    display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center;
    min-height: var(--so-faba-panel-min, 280px);
  }
  .so-pimeru { margin: 0 0 1rem; font-family: var(--display-font); font-size: 1.5rem; font-weight: 700; }
  .so-bigamu  { margin: 0; font-size: 1.05rem; line-height: 1.6; color: var(--muted); }
  .so-farodo {
    aspect-ratio: 4 / 3; border-radius: var(--radius, 12px);
    background: var(--surface); border: 1px solid var(--border);
    display: grid; place-items: center; color: var(--muted); font-size: .9rem;
  }

  .so-sere:nth-of-type(1):checked ~ .so-fari > .so-divobe:nth-child(1),
  .so-sere:nth-of-type(2):checked ~ .so-fari > .so-divobe:nth-child(2),
  .so-sere:nth-of-type(3):checked ~ .so-fari > .so-divobe:nth-child(3),
  .so-sere:nth-of-type(4):checked ~ .so-fari > .so-divobe:nth-child(4),
  .so-sere:nth-of-type(5):checked ~ .so-fari > .so-divobe:nth-child(5) {
    color: var(--accent); border-bottom-color: var(--accent);
  }
  .so-sere:nth-of-type(1):checked ~ .so-manoda > .so-dilaro:nth-child(1),
  .so-sere:nth-of-type(2):checked ~ .so-manoda > .so-dilaro:nth-child(2),
  .so-sere:nth-of-type(3):checked ~ .so-manoda > .so-dilaro:nth-child(3),
  .so-sere:nth-of-type(4):checked ~ .so-manoda > .so-dilaro:nth-child(4),
  .so-sere:nth-of-type(5):checked ~ .so-manoda > .so-dilaro:nth-child(5) {
    display: block;
  }

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

  @media (max-width: 700px) {
    .so-tapife { grid-template-columns: 1fr; gap: 1.5rem; }
  }

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

  .so-zuke--inline {
    background: var(--so-mefila-bg, var(--surface-bg));
    color: var(--so-mefila-fg, var(--fg));
    font-family: var(--body-font);
    padding-block: var(--so-mefila-pad-block, 2.125rem);
    padding-inline: var(--so-mefila-pad-inline, 1.275rem);
    border-block: 1px solid var(--so-mefila-border, var(--border));
  }
  .so-zuke--inline .so-zata {
    max-width: var(--so-mefila-max, 1100px);
    margin-inline: auto;
    display: flex; flex-wrap: wrap;
    align-items: center;
    justify-content: var(--so-mefila-align, space-between);
    gap: var(--so-mefila-gap, 1.275rem);
  }
  .so-febuda {
    display: flex; align-items: baseline; gap: .6rem;
    flex: var(--so-mefila-item-flex, 1);
    justify-content: center;
    position: relative;
  }
  
  .so-febuda:not(:last-child)::after {
    content: ""; position: absolute; right: calc(var(--so-mefila-gap, 1.275rem) / -2);
    top: 50%; transform: translateY(-50%);
    width: 1px; height: var(--so-mefila-divider-h, 2.2rem);
    background: var(--so-mefila-divider, var(--border));
    display: var(--so-mefila-divider-show, block);
  }
  .so-tusufe {
    font-family: var(--display-font);
    font-size: var(--so-mefila-value-size, 2rem);
    font-weight: var(--so-mefila-value-weight, 800);
    color: var(--so-mefila-value-color, var(--accent));
    line-height: 1;
  }
  .so-mano {
    font-size: var(--so-mefila-label-size, .9rem);
    color: var(--so-mefila-label-color, var(--muted));
    letter-spacing: .02em;
  }
  
  .so-rata {
    max-width: var(--so-mefila-max, 1100px); margin: 0 auto .4rem; text-align: var(--so-mefila-head-align, center);
    font-size: var(--scale-xs, .82rem); letter-spacing: var(--kicker-tracking, .18em);
    text-transform: var(--kicker-transform, uppercase); font-variant: var(--kicker-variant, normal); background: var(--kicker-chip-bg, transparent); padding: var(--kicker-chip-pad, 0); border-radius: var(--kicker-chip-radius, 0); color: var(--so-mefila-label-color, var(--muted));
  }
  .so-kovo {
    max-width: var(--so-mefila-max, 1100px); margin: 0 auto 1.5rem; text-align: var(--so-mefila-head-align, center);
    font-family: var(--display-font); font-size: calc((var(--so-mefila-heading-size, clamp(1.6rem, 3.5vw, 2.2rem))) * var(--heading-scale, 1));
    font-weight: var(--heading-weight, 800); color: var(--so-mefila-fg, var(--fg)); letter-spacing: var(--heading-tracking, -.02em); text-transform: var(--heading-transform, none); font-variant: var(--heading-variant, normal);
  }
  .so-fedema { width: var(--so-mefila-icon-size, 1.4rem); height: var(--so-mefila-icon-size, 1.4rem); align-self: center; color: var(--so-mefila-value-color, var(--accent)); flex: none; }
  .so-makuve {
    font-size: var(--so-mefila-note-size, .8rem); color: var(--so-mefila-note-color, var(--muted)); line-height: 1.3; flex-basis: 100%; text-align: center;
  }

  @media (max-width: 768px) {
    .so-zuke--inline .so-zata { gap: 1rem 1.5rem; }
    .so-febuda { flex: 1 1 40%; }
    .so-febuda:not(:last-child)::after { display: none; }  
    .so-tusufe { font-size: 1.6rem; }
  }

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

  .so-loda {
    background: var(--so-zuze-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--so-zuze-pad-block, var(--space-section, 3.4rem));
    padding-inline: clamp(1rem, 4vw, 3rem);
  }
  .so-mupa { max-width: var(--so-zuze-max, 1000px); margin-inline: auto; text-align: center; }

  .so-duruka { margin-bottom: 2rem; }
  .so-piduli {
    margin: 0 0 .5rem;
    font-family: var(--display-font);
    font-size: calc((var(--scale-lg, 2rem)) * var(--heading-scale, 1));
    font-weight: var(--heading-weight, 800);
    letter-spacing: var(--heading-tracking, -.02em); text-transform: var(--heading-transform, none); font-variant: var(--heading-variant, normal);
    line-height: 1.15; color: var(--fg);
  }
  .so-zori { margin: 0 auto; max-width: 60ch; color: var(--muted); line-height: 1.6; font-size: var(--scale-base, 1rem); }

  .so-rivo {
    list-style: none; margin: 2rem 0 0; padding: 0;
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
    gap: clamp(1rem, 4vw, 2.75rem);
  }
  .so-nesa {
    display: inline-flex; align-items: center; gap: .7rem;
    text-align: left;
  }
  .so-lidazo { width: 1.4rem; height: 1.4rem; flex-shrink: 0; color: var(--accent); }
  .so-lidazo svg { width: 100%; height: 100%; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; }
  .so-baza { display: flex; flex-direction: column; gap: .1rem; }
  .so-sagi {
    font-size: var(--scale-xs, .82rem); font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
  }
  .so-buka { color: var(--fg); line-height: 1.4; word-break: break-word; }
  .so-sabu {
    color: var(--fg); text-decoration: none; line-height: 1.4; word-break: break-word;
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
    transition: border-color var(--motion-duration, .15s) ease;
  }
  .so-sabu:hover { border-bottom-color: var(--accent); }
  .so-sabu:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

  @media (prefers-reduced-motion: reduce) { .so-sabu { transition: none; } }
  @media (max-width: 640px) {
    .so-rivo { flex-direction: column; align-items: stretch; gap: 0; }
    .so-nesa { justify-content: flex-start; padding-block: 1rem; border-top: 1px solid var(--border); }
    .so-nesa:first-child { border-top: 0; }
  }

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

  .so-lipa--stacked {
    background: var(--so-fugira-bg, var(--bg));
    color: var(--fg); font-family: var(--body-font);
    padding-block: var(--so-fugira-pad-block, var(--space-section));
    padding-inline: var(--so-fugira-pad-inline, 1.275rem);
  }
  .so-gudazi {
    max-width: var(--so-fugira-max, 620px); margin-inline: auto;
  }
  .so-veku {
    text-align: var(--so-fugira-head-align, center);
    margin-bottom: 2.5rem;
  }
  .so-noze {
    margin: 0 0 .6rem;
    font-family: var(--display-font);
    font-size: calc((var(--scale-lg)) * var(--heading-scale, 1)); font-weight: var(--heading-weight, 800);
    line-height: 1.1; letter-spacing: var(--heading-tracking, -.02em); text-transform: var(--heading-transform, none); font-variant: var(--heading-variant, normal);
  }
  .so-varago {
    margin: 0; font-size: var(--scale-sm);
    line-height: 1.55; color: var(--muted);
  }
  
  .so-bagota { display: inline-flex; margin-bottom: .6rem; }
  .so-fana { width: var(--so-fugira-accent-size, 2.1rem); height: var(--so-fugira-accent-size, 2.1rem); color: var(--accent); }
  .so-gipude { font-size: var(--scale-xs); color: var(--muted); letter-spacing: .06em; text-transform: uppercase; font-weight: 600; margin: 0 0 .6rem; }
  .so-sobedu { font-size: var(--scale-base); line-height: 1.6; color: var(--muted); margin: .75rem 0 0; }
  
  .so-guri { margin-top: 1.75rem; text-align: left; }
  .so-zeno { margin: 0 0 .6rem; font-family: var(--display-font); font-size: var(--scale-md); font-weight: 700; color: var(--fg); }
  .so-toludu { margin: 0; font-size: var(--scale-sm); line-height: 1.6; color: var(--muted); }
  .so-duno, .so-zotu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
  .so-nobuna { font-size: var(--scale-sm); color: var(--fg); padding-inline-start: 1.2em; position: relative; }
  .so-nobuna::before { content: "\2022"; position: absolute; inset-inline-start: 0; color: var(--accent); }
  .so-lone { font-size: var(--scale-sm); color: var(--muted); line-height: 1.55; }
  .so-lone strong { color: var(--fg); }
  .so-nide { margin: 1.25rem 0 0; font-size: var(--scale-sm); color: var(--muted); }
  .so-lamu { display: inline-flex; margin-top: 1.25rem; padding: .6rem 1.4rem; border-radius: var(--radius, 8px); background: transparent; border: 1px solid var(--accent); color: var(--accent); font-size: var(--scale-sm); font-weight: 600; text-decoration: none; }
  .so-lomo { display: flex; flex-direction: column; gap: 1rem; }
  .so-mosa { display: flex; flex-direction: column; gap: .4rem; }
  .so-bape {
    font-size: var(--scale-xs); font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase; color: var(--muted);
  }
  .so-fifufa,
  .so-loke {
    background: var(--surface); border: var(--so-fugira-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(--so-fugira-input-pad, 0.637rem 0.85rem); width: 100%;
    transition: border-color .15s ease;
  }
  .so-fifufa:focus, .so-loke:focus { outline: none; border-color: var(--accent); }
  .so-loke { min-height: var(--so-fugira-textarea-min-h, 120px); resize: vertical; }
  .so-vumo { display: none; visibility: hidden; position: absolute; }
  .so-bugodo {
    width: 100%; padding: var(--so-fugira-btn-pad, 0.765rem 0.85rem);
    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;
  }
  .so-bugodo:hover { transform: translateY(var(--motion-lift, -2px)); }
  .so-zomobe {
    padding: 1rem 1.25rem; border-radius: var(--radius, 8px);
    font-size: var(--scale-sm); font-weight: 600; margin-bottom: 1rem;
  }
  .so-zomobe--success {
    background: color-mix(in srgb, var(--accent) 12%, transparent);
    border: 1px solid var(--accent); color: var(--fg);
  }
  .so-zomobe--error {
    background: color-mix(in srgb, #e53e3e 12%, transparent);
    border: 1px solid #e53e3e; color: var(--fg);
  }

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

  @media (prefers-reduced-motion: reduce) {
    .so-fifufa, .so-loke, .so-bugodo { transition: none; }
  }

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

  .so-besa--so-pikure-right {
    background: var(--so-bira-bg, var(--surface));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--so-bira-pad-block, var(--space-section));
    padding-inline: var(--so-bira-pad-inline, 1.275rem);
  }
  .so-besa--so-pikure-right .so-vasabi {
    max-width: var(--so-bira-max, 1150px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: var(--so-bira-media-ratio, .45fr .55fr);
    gap: var(--so-bira-gap, 3.4rem);
    align-items: var(--so-bira-align, center);
  }

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

  .so-zikeri {
    margin: 0 0 .9rem;
    font-family: var(--utility-font, var(--body-font));
    font-size: var(--so-bira-kicker-size, var(--scale-xs));
    letter-spacing: var(--so-bira-kicker-spacing, .18em);
    text-transform: uppercase;
    color: var(--accent); font-weight: 600;
  }
  .so-dinaku {
    margin: 0 0 1rem;
    font-family: var(--display-font);
    font-size: var(--so-bira-title-size, var(--scale-lg));
    font-weight: var(--so-bira-title-weight, 800);
    line-height: var(--so-bira-title-leading, 1.08);
    letter-spacing: var(--so-bira-title-spacing, -.02em);
  }
  .so-mole {
    margin: 0 0 .9rem;
    font-size: var(--so-bira-sub-size, var(--scale-md));
    line-height: 1.4; color: var(--fg); font-weight: 500;
  }
  .so-rarita {
    margin: 0 0 1.4rem;
    font-size: var(--so-bira-body-size, var(--scale-base));
    line-height: 1.65; color: var(--muted);
  }
  .so-dogena {
    list-style: none; margin: 0 0 1.75rem; padding: 0;
    display: grid; gap: var(--so-bira-points-gap, 0.468rem);
  }
  .so-dogena li {
    position: relative; padding-inline-start: 1.5rem;
    font-size: var(--so-bira-point-size, var(--scale-base)); line-height: 1.5; color: var(--fg);
  }
  .so-dogena li::before {
    content: ""; position: absolute; inset-inline-start: 0; top: .55em;
    width: .5rem; height: .5rem; border-radius: 50%; background: var(--accent);
  }
  .so-fafu {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--so-bira-cta-pad, 0.722rem 1.488rem);
    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;
  }
  .so-fafu:hover { transform: translateY(var(--motion-lift, -2px)); }
  .so-fafu:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
  
  .so-rapo { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
  .so-fafu--ghost { background: transparent; color: var(--fg); border: 1px solid var(--border); }

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

  @media (max-width: 768px) {
    .so-besa--so-pikure-right .so-vasabi { grid-template-columns: 1fr; gap: 2rem; }
    .so-besa--so-pikure-right .so-tevi { order: 1; }
    .so-besa--so-pikure-right .so-remuba  { order: 2; }
  }

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

  .so-tegidi--classic {
    background: var(--so-tosu-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--so-tosu-pad-block, var(--space-section));
    padding-inline: var(--so-tosu-pad-inline, 1.275rem);
  }
  .so-tegidi--classic .so-giti {
    max-width: var(--so-tosu-max, 1150px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: var(--so-tosu-split-ratio, 1fr 1fr);
    gap: var(--so-tosu-gap, 2.975rem);
    align-items: var(--so-tosu-align, center);
  }
  
  .so-tegidi--classic[data-reverse="true"] .so-mero { order: 2; }
  .so-tegidi--classic[data-reverse="true"] .so-ribumu   { order: 1; }

  .so-vofa {
    margin: 0 0 1rem;
    font-family: var(--utility-font, var(--body-font));
    font-size: var(--so-tosu-kicker-size, var(--scale-xs));
    letter-spacing: var(--so-tosu-kicker-spacing, .18em);
    text-transform: var(--kicker-transform, uppercase); font-variant: var(--kicker-variant, normal); background: var(--kicker-chip-bg, transparent); padding: var(--kicker-chip-pad, 0); border-radius: var(--kicker-chip-radius, 0);
    color: var(--accent);
    font-weight: 600;
  }
  .so-lene {
    margin: 0 0 1.1rem;
    font-family: var(--display-font);
    font-size: var(--so-tosu-title-size, var(--scale-lg));
    font-weight: var(--so-tosu-title-weight, 800);
    line-height: var(--so-tosu-title-leading, 1.1);
    letter-spacing: var(--so-tosu-title-spacing, -.02em);
  }
  .so-dukiza {
    margin: 0 0 1rem;
    font-size: var(--so-tosu-sub-size, var(--scale-md));
    line-height: 1.4;
    color: var(--fg);
    font-weight: 500;
  }
  .so-zepa {
    margin: 0 0 1.5rem;
    font-size: var(--so-tosu-body-size, var(--scale-base));
    line-height: 1.65;
    color: var(--muted);
    max-width: 52ch;
  }
  .so-zafosu {
    list-style: none;
    margin: 0 0 2rem;
    padding: 0;
    display: grid;
    gap: var(--so-tosu-points-gap, 0.552rem);
  }
  .so-zafosu li {
    position: relative;
    padding-inline-start: 1.6rem;
    font-size: var(--so-tosu-point-size, var(--scale-base));
    line-height: 1.5;
    color: var(--fg);
  }
  .so-zafosu li::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: .55em;
    width: .55rem; height: .55rem;
    border-radius: 50%;
    background: var(--accent);
  }
  .so-dakepa { display: flex; flex-wrap: wrap; gap: 1rem; }
  .so-sene {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--so-tosu-cta-pad, 0.68rem 1.275rem);
    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;
  }
  .so-sene:hover { transform: translateY(var(--motion-lift, -2px)); }
  .so-sene--primary { background: var(--accent); color: var(--accent-fg); }
  .so-sene--ghost {
    background: transparent; color: var(--fg);
    border: 1px solid var(--border);
  }

  .so-numavo {
    aspect-ratio: var(--so-tosu-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);
  }

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

  @media (max-width: 768px) {
    .so-tegidi--classic .so-giti { grid-template-columns: 1fr; gap: 2rem; }
    .so-tegidi--classic[data-reverse="true"] .so-mero { order: 1; }
    .so-tegidi--classic[data-reverse="true"] .so-ribumu   { order: 2; }
    .so-zepa { max-width: none; }
  }

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

  .so-pigabu {
    background: var(--so-gabe-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--so-gabe-pad-block, 1.7rem);
    padding-inline: 1.5rem;
  }
  .so-paru {
    max-width: var(--so-gabe-max, 960px);
    margin-inline: auto;
  }
  .so-pigabu--line .so-nefe {
    margin: 0;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
    font-size: var(--so-gabe-size, .95rem);
    line-height: 1.5;
    color: var(--muted);
  }
  .so-defo {
    color: var(--accent);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 40%, transparent);
    transition: border-color var(--motion-duration, .15s) ease;
    word-break: break-word;
  }
  .so-defo:hover { border-bottom-color: var(--accent); }
  .so-defo:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

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

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }
  
  .so-bido { font-size: var(--scale-xs, .82rem); color: var(--muted); letter-spacing: .04em; margin: 0 0 .75rem; }
  .so-dalu { display: inline-flex; margin-bottom: .75rem; }
  .so-pumodi { width: 2rem; height: 2rem; color: var(--accent); }
  .so-dufa { font-size: var(--scale-base, 1rem); line-height: 1.65; color: var(--muted); margin: .75rem 0 1.5rem; max-width: 70ch; }
  .so-bomo { display: inline-flex; margin-top: 1.5rem; padding: .6rem 1.4rem; border-radius: var(--radius, 8px); background: transparent; border: 1px solid var(--accent); color: var(--accent); font-size: var(--scale-sm, .92rem); font-weight: 600; text-decoration: none; }

  .so-dimi--so-pumasi-sidebar {
    background: var(--so-nifa-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--so-nifa-pad-block, 3.825rem);
    padding-inline: var(--so-nifa-pad-inline, 1.275rem);
  }

  .so-ramo {
    width: min(100%, var(--so-nifa-max, 1080px));
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(200px, var(--so-nifa-meta-width, 280px)) minmax(0, 1fr);
    gap: var(--so-nifa-gap, 2.55rem);
    align-items: start;
  }

  .so-rarora {
    background: var(--so-nifa-meta-bg, var(--surface));
    border: 1px solid var(--border);
    border-radius: var(--radius, 8px);
    padding: var(--so-nifa-meta-pad, 1.275rem);
  }

  .so-derona {
    margin: 0 0 .45rem;
    color: var(--muted);
    font-size: var(--so-nifa-meta-label-size, var(--scale-xs));
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .so-besiga {
    margin: 0;
    color: var(--fg);
    font-size: var(--so-nifa-meta-value-size, var(--scale-base));
    line-height: 1.55;
  }

  .so-nanate {
    min-width: 0;
  }

  .so-giloba {
    margin: 0 0 2.75rem;
    font-family: var(--display-font);
    font-size: var(--so-nifa-title-size, var(--scale-lg));
    line-height: 1.15;
    font-weight: var(--heading-weight, 800);
    letter-spacing: var(--heading-tracking, -.02em); text-transform: var(--heading-transform, none); font-variant: var(--heading-variant, normal);
  }

  .so-besubu {
    display: grid;
    gap: var(--so-nifa-section-gap, 1.912rem);
  }

  .so-ladilu {
    padding-top: var(--so-nifa-section-pt, 1.5rem);
    border-top: 1px solid var(--border);
  }

  .so-ladilu:first-child {
    padding-top: 0;
    border-top: 0;
  }

  .so-rudado {
    margin: 0 0 .75rem;
    font-family: var(--display-font);
    font-size: var(--so-nifa-sec-title-size, var(--scale-md));
    line-height: 1.25;
    font-weight: 700;
  }

  .so-pabo {
    margin: 0;
    color: var(--muted);
    font-size: var(--so-nifa-text-size, var(--scale-base));
    line-height: 1.7;
  }

  @media (max-width: 820px) {
    .so-ramo {
      grid-template-columns: 1fr;
      gap: 2rem;
    }

    .so-rarora {
      padding: 1.25rem;
    }
  }

  @media (max-width: 600px) {
    .so-dimi--so-pumasi-sidebar {
      padding-block: var(--so-nifa-pad-block-mobile, 3rem);
    }
  }
.so-geke{position:sticky;inset-block-start:0;}
.so-pufeba{display:flex;align-items:center;justify-content:space-between;}
.so-pufeba{border-block-end:none;box-shadow:0 2px 14px rgba(0,0,0,.16);}
.so-beva:hover{color:inherit;}
.so-beva{text-transform:none;letter-spacing:normal;}
.so-nalaku{border-block-start:none;}
.so-leda:hover{color:inherit;}
.so-leda{letter-spacing:.08em;}
.so-fibenu{color:var(--muted);}
.so-kefa:not(:last-child)::after{content:"|";opacity:.35;margin-inline:.45em;}
.so-poga{--so-negaba-min-h:62vh;}
.so-poga{--so-negaba-title-size:clamp(2.6rem,6vw,4.5rem);}
.so-poga{--so-negaba-pad-block:4rem;--so-negaba-gap:2.75rem;}
.so-poga{--so-negaba-content-max:760px;--so-negaba-max:1200px;}
.so-poga{--so-negaba-align:center;}
.so-mefuku{background:var(--bg);color:var(--fg);font-family:var(--body-font);padding-block:var(--so-nifa-pad-block,3rem);padding-inline:var(--so-nifa-pad-inline,1.5rem);border-top:1px solid var(--border)}.so-putogi{max-width:var(--so-nifa-max,760px);margin-inline:auto}.so-fise{margin:0 0 .75rem;font-family:var(--display-font);font-size:1.4rem;font-weight:var(--heading-weight,700);line-height:1.2;color:var(--fg)}.so-fita{margin:0 0 1rem;color:var(--muted);line-height:1.6}.so-ridade{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.so-sineta{color:var(--fg);line-height:1.5}.so-tetage{color:var(--muted);font-weight:600;margin-right:.35rem}.so-kaze{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.so-kaze:hover{border-bottom-color:var(--accent)}