: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;--vu-pibe-height:3.5rem;--vu-guvo-pad-block:4rem;--vu-guvo-gap:3rem;--vu-lasame-offset-y:2.5rem;--vu-lasame-gap:3rem;--vu-lasame-pad-block:6.5rem;--vu-bevi-pad-block:2.5rem;--vu-digiva-pad-block:5.5rem;--vu-dela-media-ratio:.55fr .45fr;--vu-dela-gap:4rem;--vu-dela-pad-block:5.5rem;--vu-nuro-pad-block:5rem;--vu-pusa-pad-block:4rem;--vu-ditu-pad-block:6rem;--vu-dita-pad-block:5.5rem;--vu-moba-pad-block:3.5rem;--vu-takafu-pad-block:4.5rem;--bg:#f1ecf2;--vu-givago-rgb:241,236,242;--fg:#2e2d30;--muted:#8b888c;--surface:#f9f7fa;--border:#d6d1d7;--accent:#c77fd3;--accent-fg:#ffffff;--display-font:'Playfair Display', system-ui, sans-serif;--body-font:'Source Sans 3', system-ui, sans-serif;--radius:6px;--heading-weight:700;--heading-tracking:.01em;--kicker-transform:uppercase;--kicker-tracking:.18em;--motion-duration:.1s;--motion-lift:-2px;--card-shadow:none;--vu-lasame-media-shadow:none;--vu-kakila-console-shadow:none;--vu-zema-play-shadow:0 1px 2px rgba(0,0,0,.18);--vu-lumo-h:3.8rem;--vu-lumo-h-ft:4.1rem;}

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

  .vu-gipe {
    position: fixed; inset-block-start: 0; inset-inline: 0;
    z-index: 100; font-family: var(--body-font);
  }
  .vu-tenobu {
    background: var(--vu-pibe-nav-bg, var(--surface));
    border-bottom: 1px solid var(--border);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    height: var(--vu-pibe-height, 3.5rem);
    padding-inline: var(--vu-pibe-pad-x, clamp(1rem, 4vw, 3rem));
    gap: var(--vu-pibe-gap, 1rem);
    position: relative;
  }

  .vu-tezomu {
    display: inline-flex; align-items: center; gap: .6rem;
    text-decoration: none; white-space: nowrap; justify-self: start;
  }
  .vu-kose {
    width: var(--vu-pibe-logo-size, 2rem); height: var(--vu-pibe-logo-size, 2rem);
    object-fit: contain; display: block;
  }
  .vu-gopa {
    height: var(--vu-lumo-h, 3.2rem); width: auto; max-width: min(68vw, 340px);
    object-fit: contain; display: block;
  }
  .vu-bipa {
    font-family: var(--display-font);
    font-size: var(--scale-md); font-weight: 700; color: var(--fg);
  }

  .vu-midiku {
    display: flex; align-items: center; gap: var(--vu-pibe-nav-gap, 2.5rem);
    list-style: none; margin: 0; padding: 0;
    justify-self: center;
  }
  .vu-lurasi {
    color: var(--muted); text-decoration: none;
    font-size: var(--scale-sm); font-weight: 600;
    letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
    transition: color var(--motion-duration, .15s) ease;
  }
  .vu-lurasi:hover { color: var(--fg); }
  .vu-lurasi--active { color: var(--accent); }
  .vu-lurasi:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px; }

  .vu-bebo { justify-self: end; }
  .vu-rube {
    display: inline-flex; align-items: center; justify-content: center;
    padding: .5rem 1.25rem;
    border-radius: var(--radius, 8px);
    background: var(--accent); color: var(--accent-fg);
    font-size: var(--scale-sm); font-weight: 600;
    text-decoration: none; white-space: nowrap;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .vu-rube:hover { transform: translateY(-1px); }
  .vu-rube:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

  .vu-rebe {
    display: none;
    background: none; border: 1px solid var(--border);
    border-radius: var(--radius, 6px); cursor: pointer; color: var(--fg);
    width: 2.25rem; height: 2.25rem;
    align-items: center; justify-content: center;
  }
  .vu-viru { display: block; width: 1.1rem; height: 2px; background: currentColor; position: relative; }
  .vu-viru::before,
  .vu-viru::after {
    content: ""; position: absolute; left: 0; width: 100%; height: 2px;
    background: currentColor; transition: transform var(--motion-duration, .2s) ease;
  }
  .vu-viru::before { top: -.42rem; }
  .vu-viru::after  { top:  .42rem; }

  .vu-gipe[data-open] .vu-midiku {
    display: flex; flex-direction: column; align-items: stretch;
    position: absolute; inset-block-start: var(--vu-pibe-height, 3.5rem); inset-inline: 0;
    z-index: 100;            
    background: var(--surface); border-bottom: 1px solid var(--border);
    padding: 1rem var(--vu-pibe-pad-x, 1rem); gap: .5rem;
  }
  .vu-gipe[data-open] .vu-lurasi { padding: .6rem 0; border-bottom: 1px solid var(--border); }
  .vu-gipe[data-open] .vu-lurasi:last-child { border-bottom: none; }
  .vu-gipe[data-open] .vu-viru { background: transparent; }
  .vu-gipe[data-open] .vu-viru::before { transform: rotate(45deg) translate(.3rem, .3rem); }
  .vu-gipe[data-open] .vu-viru::after  { transform: rotate(-45deg) translate(.3rem, -.3rem); }

  @media (prefers-reduced-motion: reduce) {
    .vu-lurasi, .vu-rube, .vu-viru::before, .vu-viru::after { transition: none; }
  }
  @media (max-width: 768px) {
    .vu-tenobu { grid-template-columns: 1fr auto; }
    .vu-midiku { display: none; }
    .vu-bebo { display: none; }
    .vu-rebe { display: inline-flex; }
  }

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

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

  .vu-nafu {
    max-width: var(--vu-guvo-max, 1150px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: var(--vu-guvo-cols, 1.4fr 1fr);
    gap: var(--vu-guvo-gap, var(--space-gap));
    margin-bottom: 3rem;
  }

  .vu-gava {
    display: flex; align-items: center; gap: .6rem;
    text-decoration: none; margin-bottom: 1rem;
  }
  .vu-save {
    width: var(--vu-guvo-logo-size, 2rem); height: var(--vu-guvo-logo-size, 2rem);
    object-fit: contain; display: block; flex-shrink: 0;
  }
  .vu-seba {
    height: var(--vu-lumo-h-ft, 3.5rem); width: auto; max-width: min(75vw, 400px);
    object-fit: contain; display: block;
  }
  .vu-debole {
    font-family: var(--display-font);
    font-size: var(--scale-md); font-weight: 700;
    color: var(--fg);
  }
  .vu-bepani {
    margin: 0 0 1.5rem;
    font-size: var(--scale-sm); line-height: 1.55; color: var(--muted);
    max-width: 28ch;
  }
  .vu-divugi {
    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;
  }
  .vu-divugi:hover { transform: translateY(var(--motion-lift, -2px)); }
  .vu-divugi:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

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

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

  .vu-denugi {
    max-width: var(--vu-guvo-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;
  }
  .vu-zazama {
    margin: 0;
    font-size: var(--scale-xs); color: var(--muted);
  }
  .vu-solado {
    display: flex; flex-wrap: wrap; gap: 1rem;
  }
  .vu-dosagu {
    font-size: var(--scale-xs); color: var(--muted);
    text-decoration: none;
  }
  .vu-dosagu:hover { color: var(--fg); }

  @media (prefers-reduced-motion: reduce) {
    .vu-divugi, .vu-vemuba { transition: none; }
  }

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

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

  #vu-libo {
    position: fixed;
    inset-inline: 0;
    top: var(--vu-lulado-top, var(--vu-pibe-height, 3.5rem)); 
    z-index: 99; 
    background: var(--vu-lulado-bg, var(--surface));
    border-bottom: 1px solid var(--border);
    padding: var(--vu-lulado-pad, .65rem clamp(1rem,4vw,2.5rem));
    
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-100%);
    transition: transform var(--motion-duration, .3s) ease;
  }
  #vu-libo.vu-zubedo { transform: translateY(0); visibility: visible; pointer-events: auto; }

  .vu-libo__inner {
    max-width: var(--vu-lulado-max, 1100px); margin-inline: auto;
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--vu-lulado-gap, 1rem); flex-wrap: wrap;
  }
  .vu-libo__text {
    margin: 0;
    font-size: var(--scale-xs); line-height: 1.4; color: var(--muted);
    flex: 1 1 260px; min-width: 0;
  }
  .vu-libo__link { color: var(--accent); text-decoration: underline; }
  .vu-libo__link:hover { text-decoration: none; }

  .vu-libo__actions {
    display: flex; gap: .5rem; flex-shrink: 0;
  }
  .vu-libo__actions button {
    padding: .4rem 1rem;
    border-radius: var(--radius, 6px);
    font-size: var(--scale-xs); font-weight: 700;
    letter-spacing: .04em; text-transform: uppercase;
    cursor: pointer; border: none; white-space: nowrap;
  }
  #vu-libo-accept { background: var(--accent); color: var(--accent-fg); }
  #vu-libo-decline {
    background: transparent;
    border: 1px solid var(--border) !important;
    color: var(--muted);
  }

  @media (prefers-reduced-motion: reduce) { #vu-libo { transition: none; } }
  @media (max-width: 540px) {
    .vu-libo__inner { flex-direction: column; align-items: stretch; }
    .vu-libo__text { flex: 0 0 auto; }
    .vu-libo__actions { gap: .4rem; }
    .vu-libo__actions button { flex: 1; }
  }

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

  .vu-sinuba--terminal {
    background: var(--bg);
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--vu-kakila-pad-block, 6rem);
    padding-inline: var(--vu-kakila-pad-inline, 1.5rem);
  }
  .vu-sinuba--terminal .vu-kuva {
    max-width: var(--vu-biva-max, 860px);
    margin-inline: auto;
  }

  .vu-naso {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius, 10px);
    overflow: hidden;
    box-shadow: var(--vu-kakila-console-shadow, 0 30px 60px -20px rgba(0,0,0,.6));
  }
  .vu-fisibe {
    display: flex; align-items: center; gap: .5rem;
    padding: .8rem 1rem;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
  }
  .vu-sevu { width: 11px; height: 11px; border-radius: 50%; background: var(--border); }
  .vu-sevu--accent { background: var(--accent); }
  .vu-sade {
    margin-left: .6rem;
    font-family: var(--mono-font, ui-monospace, monospace);
    font-size: .8rem; color: var(--muted);
  }
  .vu-naba {
    padding: var(--vu-biva-body-pad, 2.5rem 2rem 3rem);
    font-family: var(--mono-font, ui-monospace, monospace);
  }

  .vu-kufiti { margin: 0 0 .6rem; font-size: .95rem; color: var(--muted); }
  .vu-kufiti::before { content: var(--vu-biva-prompt, "$ "); color: var(--accent); }
  .vu-masi {
    margin: 0 0 1.5rem;
    font-family: var(--mono-font, ui-monospace, monospace);
    font-size: .85rem; color: var(--muted);
  }
  .vu-masi::before { content: var(--vu-biva-comment, "// "); color: var(--accent); opacity: .7; }
  .vu-kupuna {
    margin: 0 0 1.25rem;
    font-family: var(--display-font);
    font-size: var(--vu-kakila-title-size, clamp(2rem, 4.5vw, 3.4rem));
    font-weight: var(--vu-kakila-title-weight, 800);
    line-height: 1.1; letter-spacing: -.01em;
  }
  .vu-dusa {
    margin: 0 0 2rem;
    font-family: var(--body-font);
    font-size: var(--vu-kakila-sub-size, 1.1rem);
    line-height: 1.5; color: var(--muted);
    max-width: 56ch;
  }
  .vu-bovibu {
    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; } }

  .vu-zepobi { display: flex; flex-wrap: wrap; gap: 1rem; }
  .vu-fore {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--vu-kakila-cta-pad, .8rem 1.6rem);
    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;
  }
  .vu-fore:hover { transform: translateY(var(--motion-lift, -2px)); }
  .vu-fore--primary { background: var(--accent); color: var(--accent-fg); }
  .vu-fore--ghost { background: transparent; color: var(--fg); border: 1px solid var(--border); }

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

  @media (max-width: 768px) {
    .vu-sinuba--terminal { padding-block: var(--vu-kakila-pad-block-mobile, 3.5rem); }
    .vu-naba { padding: 1.75rem 1.25rem 2.25rem; }
    .vu-dusa { max-width: none; }
  }

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

  .vu-sukosu--offset {
    background: var(--vu-lasame-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--vu-lasame-pad-block, var(--space-section));
    padding-inline: var(--vu-lasame-pad-inline, 1.5rem);
  }
  .vu-sukosu--offset .vu-ledodu {
    max-width: var(--vu-lasame-max, 1180px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--vu-lasame-gap, 3rem);
    align-items: start;
  }

  .vu-zuni {
    grid-column: var(--vu-lasame-text-col, 1 / span 5);
  }
  .vu-pakelu {
    grid-column: var(--vu-lasame-media-col, 6 / span 7);
    
    transform: translateY(var(--vu-lasame-offset-y, 2.5rem));
  }
  
  .vu-sukosu--offset[data-reverse="true"] .vu-zuni { grid-column: var(--vu-lasame-text-col-rev, 8 / span 5); }
  .vu-sukosu--offset[data-reverse="true"] .vu-pakelu   { grid-column: var(--vu-lasame-media-col-rev, 1 / span 7); }

  .vu-duda {
    margin: 0 0 1rem;
    font-family: var(--utility-font, var(--body-font));
    font-size: var(--vu-lasame-kicker-size, var(--scale-xs));
    letter-spacing: var(--vu-lasame-kicker-spacing, .18em);
    text-transform: var(--vu-lasame-kicker-transform, uppercase);
    color: var(--accent); font-weight: 600;
  }
  .vu-bubati {
    margin: 0 0 1.1rem;
    font-family: var(--display-font);
    font-size: var(--vu-lasame-title-size, var(--scale-lg));
    font-weight: var(--vu-lasame-title-weight, 800);
    line-height: var(--vu-lasame-title-leading, 1.08);
    letter-spacing: var(--vu-lasame-title-spacing, -.02em);
  }
  .vu-mozivu {
    margin: 0 0 1rem;
    font-size: var(--vu-lasame-sub-size, var(--scale-md));
    line-height: 1.4; color: var(--fg); font-weight: 500;
  }
  .vu-pudota {
    margin: 0 0 1.5rem;
    font-size: var(--vu-lasame-body-size, var(--scale-base));
    line-height: 1.65; color: var(--muted);
  }
  .vu-feta {
    list-style: none; margin: 0 0 1.75rem; padding: 0;
    display: grid; gap: var(--vu-lasame-points-gap, .6rem);
  }
  .vu-feta li {
    position: relative; padding-inline-start: 1.6rem;
    font-size: var(--vu-lasame-point-size, var(--scale-base)); line-height: 1.5; color: var(--fg);
  }
  .vu-feta li::before {
    content: ""; position: absolute; inset-inline-start: 0; top: .55em;
    width: .55rem; height: .55rem; border-radius: 50%; background: var(--accent);
  }
  .vu-bumame { display: flex; flex-wrap: wrap; gap: 1rem; }
  .vu-dubopu {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--vu-lasame-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;
  }
  .vu-dubopu:hover { transform: translateY(var(--motion-lift, -2px)); }
  .vu-dubopu--primary { background: var(--accent); color: var(--accent-fg); }
  .vu-dubopu--ghost {
    background: transparent; color: var(--fg); border: 1px solid var(--border);
  }

  .vu-kasi {
    aspect-ratio: var(--vu-lasame-media-aspect, 16 / 10);
    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);
  }

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

  @media (max-width: 768px) {
    .vu-sukosu--offset .vu-ledodu { grid-template-columns: 1fr; row-gap: 2rem; }
    .vu-sukosu--offset .vu-zuni,
    .vu-sukosu--offset[data-reverse="true"] .vu-zuni { grid-column: 1 / -1; }
    .vu-sukosu--offset .vu-pakelu,
    .vu-sukosu--offset[data-reverse="true"] .vu-pakelu {
      grid-column: 1 / -1; transform: none;
    }
  }

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

  .vu-nanodu--ornament {
    background: var(--vu-bevi-bg, var(--bg));
    padding-block: var(--vu-bevi-pad-block, 2.5rem);
    padding-inline: var(--vu-bevi-pad-inline, 1.5rem);
  }
  .vu-zila {
    max-width: var(--vu-bevi-line-max, 600px);
    margin-inline: auto;
    display: flex; align-items: center; gap: var(--vu-bevi-gap, 1.25rem);
  }
  
  .vu-vudufi {
    flex: 1;
    height: 1px;
    background: linear-gradient(
      var(--vu-bevi-line-dir, to right),
      transparent,
      var(--border) 50%,
      transparent
    );
  }
  
  .vu-lani {
    flex-shrink: 0;
    font-size: var(--vu-bevi-symbol-size, 1.1rem);
    line-height: 1;
    color: var(--accent);
    display: grid; place-items: center;
  }
  
  .vu-lani:empty::before {
    content: "";
    width: var(--vu-bevi-diamond, .7rem);
    height: var(--vu-bevi-diamond, .7rem);
    background: var(--accent);
    transform: rotate(45deg);
    display: block;
  }

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

  .vu-vaza--tabs {
    background: var(--vu-beki-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--vu-beki-pad-block, 5.5rem);
    padding-inline: var(--vu-beki-pad-inline, 1.5rem);
  }
  .vu-vaza--tabs .vu-badage { max-width: var(--vu-kite-max, 1000px); margin-inline: auto; }
  .vu-mesa { text-align: center; max-width: 640px; margin: 0 auto var(--vu-beki-head-gap, 2.5rem); }
  .vu-gebo {
    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;
  }
  .vu-bisadu {
    margin: 0; font-family: var(--display-font);
    font-size: var(--vu-beki-title-size, clamp(1.9rem, 4vw, 2.8rem));
    font-weight: var(--heading-weight, 800); line-height: 1.1; letter-spacing: var(--heading-tracking, -.02em);
  }

  .vu-kove { position: relative; }
  .vu-nabevi { position: absolute; opacity: 0; pointer-events: none; }

  .vu-dake {
    display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--border);
    padding-bottom: 0;
  }
  .vu-bipara {
    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;
  }
  .vu-bipara:hover { color: var(--fg); }

  .vu-baku { display: none; }
  .vu-gokomi {
    display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center;
    min-height: var(--vu-kite-panel-min, 280px);
  }
  .vu-dozane { margin: 0 0 1rem; font-family: var(--display-font); font-size: 1.5rem; font-weight: 700; }
  .vu-zonure  { margin: 0; font-size: 1.05rem; line-height: 1.6; color: var(--muted); }
  .vu-suto {
    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;
  }

  .vu-nabevi:nth-of-type(1):checked ~ .vu-dake > .vu-bipara:nth-child(1),
  .vu-nabevi:nth-of-type(2):checked ~ .vu-dake > .vu-bipara:nth-child(2),
  .vu-nabevi:nth-of-type(3):checked ~ .vu-dake > .vu-bipara:nth-child(3),
  .vu-nabevi:nth-of-type(4):checked ~ .vu-dake > .vu-bipara:nth-child(4),
  .vu-nabevi:nth-of-type(5):checked ~ .vu-dake > .vu-bipara:nth-child(5) {
    color: var(--accent); border-bottom-color: var(--accent);
  }
  .vu-nabevi:nth-of-type(1):checked ~ .vu-dibo > .vu-baku:nth-child(1),
  .vu-nabevi:nth-of-type(2):checked ~ .vu-dibo > .vu-baku:nth-child(2),
  .vu-nabevi:nth-of-type(3):checked ~ .vu-dibo > .vu-baku:nth-child(3),
  .vu-nabevi:nth-of-type(4):checked ~ .vu-dibo > .vu-baku:nth-child(4),
  .vu-nabevi:nth-of-type(5):checked ~ .vu-dibo > .vu-baku:nth-child(5) {
    display: block;
  }

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

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

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

  .vu-lufa--vertical {
    background: var(--vu-digiva-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--vu-digiva-pad-block, var(--space-section));
    padding-inline: var(--vu-digiva-pad-inline, 1.5rem);
  }
  .vu-vevari {
    max-width: var(--vu-digiva-max, 720px);
    margin-inline: auto;
  }
  .vu-teso {
    text-align: var(--vu-digiva-head-align, center);
    margin-bottom: 3rem;
  }
  .vu-gedu {
    margin: 0 0 .9rem;
    font-family: var(--utility-font, var(--body-font));
    font-size: var(--vu-digiva-kicker-size, var(--scale-xs));
    letter-spacing: var(--kicker-tracking, .18em); text-transform: var(--kicker-transform, uppercase);
    color: var(--accent); font-weight: 600;
  }
  .vu-lase {
    margin: 0;
    font-family: var(--display-font);
    font-size: var(--vu-digiva-title-size, var(--scale-lg));
    font-weight: var(--heading-weight, 800); line-height: 1.1; letter-spacing: var(--heading-tracking, -.02em);
  }

  .vu-duna {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column;
    gap: var(--vu-digiva-gap, var(--space-gap));
  }
  .vu-dako {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--vu-digiva-row-gap, 1.5rem);
    position: relative;
  }
  
  .vu-dako:not(:last-child) .vu-bake::after {
    content: "";
    position: absolute;
    top: var(--vu-digiva-badge-size, 3rem);
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: calc(100% + var(--vu-digiva-gap, var(--space-gap)) - var(--vu-digiva-badge-size, 3rem));
    background: var(--border);
  }
  .vu-bake {
    position: relative;
    width: var(--vu-digiva-badge-size, 3rem);
    height: var(--vu-digiva-badge-size, 3rem);
    border-radius: var(--vu-digiva-badge-radius, 50%);
    background: var(--accent);
    color: var(--accent-fg);
    display: grid; place-items: center;
    font-family: var(--display-font);
    font-size: var(--vu-digiva-badge-font, 1.25rem);
    font-weight: var(--heading-weight, 800);
    flex-shrink: 0;
  }
  
  .vu-gurada { width: 55%; height: 55%; }
  .vu-repape { padding-top: var(--vu-digiva-content-pad, .35rem); }
  .vu-sifa {
    margin: 0 0 .5rem;
    font-family: var(--display-font);
    font-size: var(--vu-digiva-step-title-size, var(--scale-md));
    font-weight: 700; line-height: 1.2;
  }
  .vu-semema {
    margin: 0;
    font-size: var(--vu-digiva-step-text-size, var(--scale-base));
    line-height: 1.6; color: var(--muted);
  }

  @media (max-width: 600px) {
    .vu-dako { gap: 1rem; }
    .vu-bake {
      width: var(--vu-digiva-badge-size-mobile, 2.5rem);
      height: var(--vu-digiva-badge-size-mobile, 2.5rem);
      font-size: 1.05rem;
    }
    .vu-dako:not(:last-child) .vu-bake::after {
      top: var(--vu-digiva-badge-size-mobile, 2.5rem);
      height: calc(100% + var(--vu-digiva-gap, var(--space-gap)) - var(--vu-digiva-badge-size-mobile, 2.5rem));
    }
  }

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

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

  .vu-binafi {
    aspect-ratio: var(--vu-dela-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);
  }

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

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

  @media (max-width: 768px) {
    .vu-moke--vu-dugo-left .vu-depe { grid-template-columns: 1fr; gap: 2rem; }
  }

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

  .vu-kenove--split {
    background: var(--vu-nuro-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--vu-nuro-pad-block, var(--space-section));
    padding-inline: var(--vu-nuro-pad-inline, 1.5rem);
  }
  .vu-pane {
    max-width: var(--vu-nuro-max, 1100px);
    margin-inline: auto;
    background: var(--vu-nuro-card-bg, var(--surface));
    border: 1px solid var(--border);
    border-radius: var(--radius, 16px);
    padding: var(--vu-nuro-card-pad, var(--space-card));
    display: grid;
    grid-template-columns: var(--vu-nuro-split-ratio, 1fr auto);
    gap: var(--vu-nuro-gap, var(--space-gap));
    align-items: center;
  }
  .vu-pado {
    display: flex; flex-direction: column; gap: .85rem;
  }
  .vu-dozeki {
    margin: 0;
    font-family: var(--display-font);
    font-size: var(--vu-nuro-title-size, var(--scale-xl));
    font-weight: var(--heading-weight, 800); line-height: 1.12; letter-spacing: var(--heading-tracking, -.02em);
  }
  .vu-lemu {
    margin: 0;
    font-size: var(--vu-nuro-subtext-size, 1.08rem);
    line-height: 1.55; color: var(--muted);
    max-width: 48ch;
  }
  .vu-tika {
    display: flex; flex-direction: column; gap: .85rem;
    align-items: var(--vu-nuro-actions-align, flex-start);
  }
  .vu-busasa {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--vu-nuro-cta-pad, 1rem 2.25rem);
    border-radius: var(--radius, 12px);
    background: var(--accent); color: var(--accent-fg);
    font-size: var(--vu-nuro-cta-size, var(--scale-md)); font-weight: 700;
    text-decoration: none; white-space: nowrap;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .vu-busasa:hover { transform: translateY(var(--motion-lift, -2px)); }
  .vu-busasa:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
  .vu-kiro {
    margin: 0;
    font-size: var(--vu-nuro-disclaimer-size, var(--scale-xs));
    color: var(--muted); letter-spacing: .03em;
  }

  .vu-bonifo { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
  .vu-rodagu { color: var(--muted); padding-inline-start: 1.5em; position: relative; }
  .vu-rodagu::before { content: "\2713"; position: absolute; inset-inline-start: 0; color: var(--accent); font-weight: 700; }
  .vu-pamoda { 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) { .vu-busasa { transition: none; } }

  @media (max-width: 760px) {
    .vu-kenove--split .vu-pane { grid-template-columns: 1fr; gap: 1.75rem; }
    .vu-tika { align-items: stretch; }
    .vu-busasa { width: 100%; }
  }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }
  .vu-vapo {
    background: var(--vu-tabino-bg, var(--surface));
    border-bottom: 1px solid var(--border);
    color: var(--fg); font-family: var(--body-font);
    padding-block: var(--vu-tabino-pad-block, 4rem);
    padding-inline: var(--vu-tabino-pad-inline, 1.5rem);
    text-align: center;
  }
  .vu-fevume { max-width: var(--vu-tabino-max, 720px); margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--vu-tabino-gap, 1.1rem); }
  .vu-gomude {
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .3rem .8rem; border-radius: 999px;
    background: var(--vu-tabino-badge-bg, color-mix(in srgb, var(--accent) 16%, transparent));
    color: var(--accent); font-family: var(--utility-font, var(--body-font));
    font-size: var(--scale-xs); font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  }
  .vu-butoro { margin: 0; font-family: var(--display-font); font-size: var(--scale-xl); font-weight: var(--heading-weight, 800); line-height: 1.1; letter-spacing: var(--heading-tracking, -.02em); }
  .vu-lubise { margin: 0; font-size: var(--scale-base); line-height: 1.65; color: var(--muted); max-width: 56ch; }
  .vu-nizake {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--vu-tabino-cta-pad, .75rem 1.7rem); 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: .4rem;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .vu-nizake:hover { transform: translateY(var(--motion-lift, -2px)); }

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

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

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

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

  .vu-konuvo {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--vu-pusa-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;
  }
  .vu-konuvo:hover { transform: translateY(var(--motion-lift, -2px)); }
  .vu-konuvo:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

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

  @media (max-width: 680px) {
    .vu-nutava {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto;
    }
    .vu-dazo  { grid-column: 1; grid-row: 1; }
    .vu-fubovu  { grid-column: 1; grid-row: 2; }
    .vu-konuvo   { grid-column: 1; grid-row: 3; width: 100%; justify-content: center; }
  }

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

  .vu-lugi--inline {
    background: var(--vu-vusifu-bg, var(--surface-bg));
    color: var(--vu-vusifu-fg, var(--fg));
    font-family: var(--body-font);
    padding-block: var(--vu-vusifu-pad-block, 2.5rem);
    padding-inline: var(--vu-vusifu-pad-inline, 1.5rem);
    border-block: 1px solid var(--vu-vusifu-border, var(--border));
  }
  .vu-lugi--inline .vu-ride {
    max-width: var(--vu-vusifu-max, 1100px);
    margin-inline: auto;
    display: flex; flex-wrap: wrap;
    align-items: center;
    justify-content: var(--vu-vusifu-align, space-between);
    gap: var(--vu-vusifu-gap, 1.5rem);
  }
  .vu-zemupu {
    display: flex; align-items: baseline; gap: .6rem;
    flex: var(--vu-vusifu-item-flex, 1);
    justify-content: center;
    position: relative;
  }
  
  .vu-zemupu:not(:last-child)::after {
    content: ""; position: absolute; right: calc(var(--vu-vusifu-gap, 1.5rem) / -2);
    top: 50%; transform: translateY(-50%);
    width: 1px; height: var(--vu-vusifu-divider-h, 2.2rem);
    background: var(--vu-vusifu-divider, var(--border));
    display: var(--vu-vusifu-divider-show, block);
  }
  .vu-garomi {
    font-family: var(--display-font);
    font-size: var(--vu-vusifu-value-size, 2rem);
    font-weight: var(--vu-vusifu-value-weight, 800);
    color: var(--vu-vusifu-value-color, var(--accent));
    line-height: 1;
  }
  .vu-bebu {
    font-size: var(--vu-vusifu-label-size, .9rem);
    color: var(--vu-vusifu-label-color, var(--muted));
    letter-spacing: .02em;
  }
  
  .vu-pukaze {
    max-width: var(--vu-vusifu-max, 1100px); margin: 0 auto .4rem; text-align: var(--vu-vusifu-head-align, center);
    font-size: var(--scale-xs, .82rem); letter-spacing: var(--kicker-tracking, .18em);
    text-transform: var(--kicker-transform, uppercase); color: var(--vu-vusifu-label-color, var(--muted));
  }
  .vu-tovazu {
    max-width: var(--vu-vusifu-max, 1100px); margin: 0 auto 1.5rem; text-align: var(--vu-vusifu-head-align, center);
    font-family: var(--display-font); font-size: var(--vu-vusifu-heading-size, clamp(1.6rem, 3.5vw, 2.2rem));
    font-weight: var(--heading-weight, 800); color: var(--vu-vusifu-fg, var(--fg)); letter-spacing: var(--heading-tracking, -.02em);
  }
  .vu-gara { width: var(--vu-vusifu-icon-size, 1.4rem); height: var(--vu-vusifu-icon-size, 1.4rem); align-self: center; color: var(--vu-vusifu-value-color, var(--accent)); flex: none; }
  .vu-fovu {
    font-size: var(--vu-vusifu-note-size, .8rem); color: var(--vu-vusifu-note-color, var(--muted)); line-height: 1.3; flex-basis: 100%; text-align: center;
  }

  @media (max-width: 768px) {
    .vu-lugi--inline .vu-ride { gap: 1rem 1.5rem; }
    .vu-zemupu { flex: 1 1 40%; }
    .vu-zemupu:not(:last-child)::after { display: none; }  
    .vu-garomi { font-size: 1.6rem; }
  }

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

  .vu-bafu--split {
    background: var(--vu-tulibu-bg, var(--bg));
    color: var(--fg); font-family: var(--body-font);
    padding-block: var(--vu-tulibu-pad-block, var(--space-section));
    padding-inline: var(--vu-tulibu-pad-inline, 1.5rem);
  }
  .vu-vesale {
    max-width: var(--vu-tulibu-max, 1000px); margin-inline: auto;
    display: grid;
    grid-template-columns: var(--vu-tulibu-ratio, 1.2fr 1fr);
    gap: var(--vu-tulibu-gap, var(--space-gap));
    align-items: start;
  }

  .vu-dudubo { margin-bottom: 1.75rem; }
  .vu-fubinu {
    margin: 0 0 .5rem;
    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);
  }
  .vu-kova {
    margin: 0; font-size: var(--scale-sm);
    line-height: 1.55; color: var(--muted);
  }
  
  .vu-dike { display: inline-flex; margin-bottom: .6rem; }
  .vu-giluka { width: var(--vu-tulibu-accent-size, 2.1rem); height: var(--vu-tulibu-accent-size, 2.1rem); color: var(--accent); }
  .vu-faboge { font-size: var(--scale-xs); color: var(--muted); letter-spacing: .06em; text-transform: uppercase; font-weight: 600; margin: 0 0 .6rem; }
  .vu-diga { font-size: var(--scale-base); line-height: 1.6; color: var(--muted); margin: .75rem 0 0; }
  
  .vu-deso { margin-top: 1.75rem; text-align: left; }
  .vu-rana { margin: 0 0 .6rem; font-family: var(--display-font); font-size: var(--scale-md); font-weight: 700; color: var(--fg); }
  .vu-zunu { margin: 0; font-size: var(--scale-sm); line-height: 1.6; color: var(--muted); }
  .vu-tideni, .vu-refase { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
  .vu-tufoba { font-size: var(--scale-sm); color: var(--fg); padding-inline-start: 1.2em; position: relative; }
  .vu-tufoba::before { content: "\2022"; position: absolute; inset-inline-start: 0; color: var(--accent); }
  .vu-muzuba { font-size: var(--scale-sm); color: var(--muted); line-height: 1.55; }
  .vu-muzuba strong { color: var(--fg); }
  .vu-gozi { margin: 1.25rem 0 0; font-size: var(--scale-sm); color: var(--muted); }
  .vu-zusevi { 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; }

  .vu-reba { display: flex; flex-direction: column; gap: 1rem; }
  .vu-mubotu { display: flex; flex-direction: column; gap: .4rem; }
  .vu-ranemi {
    font-size: var(--scale-xs); font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase; color: var(--muted);
  }
  .vu-benu,
  .vu-sude {
    background: var(--vu-tulibu-input-bg, var(--surface));
    border: var(--vu-tulibu-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(--vu-tulibu-input-pad, .75rem 1rem);
    width: 100%;
    transition: border-color .15s ease;
  }
  .vu-benu:focus,
  .vu-sude:focus {
    outline: none; border-color: var(--accent);
  }
  .vu-sude { min-height: var(--vu-tulibu-textarea-min-h, 130px); resize: vertical; }
  
  .vu-nonaku { display: none; visibility: hidden; position: absolute; }

  .vu-tadogi {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--vu-tulibu-btn-pad, .85rem 2rem);
    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; align-self: flex-start;
    transition: transform var(--motion-duration, .15s) ease;
  }
  .vu-tadogi:hover { transform: translateY(var(--motion-lift, -2px)); }

  .vu-fadego {
    padding: 1rem 1.25rem;
    border-radius: var(--radius, 8px);
    font-size: var(--scale-sm); font-weight: 600;
  }
  .vu-fadego--success {
    background: var(--vu-tulibu-success-bg, color-mix(in srgb, var(--accent) 12%, transparent));
    border: 1px solid var(--accent); color: var(--fg);
  }
  .vu-fadego--error {
    background: var(--vu-tulibu-error-bg, color-mix(in srgb, #e53e3e 12%, transparent));
    border: 1px solid #e53e3e; color: var(--fg);
  }

  .vu-bepefi {
    background: var(--surface); border: var(--vu-tulibu-input-border, 1px solid var(--border));
    border-radius: var(--radius, 12px);
    padding: var(--space-card, 1.75rem);
    box-shadow: var(--card-shadow);
    display: flex; flex-direction: column; gap: 1.5rem;
    position: sticky; top: 5rem;
  }
  .vu-pilo { display: flex; flex-direction: column; gap: .3rem; }
  .vu-gomu {
    font-size: var(--scale-xs); font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase; color: var(--muted);
  }
  .vu-vosu {
    font-size: var(--scale-sm); color: var(--fg);
    text-decoration: none;
  }
  .vu-vosu:hover { color: var(--accent); }

  @media (prefers-reduced-motion: reduce) {
    .vu-benu, .vu-sude, .vu-tadogi { transition: none; }
  }
  @media (max-width: 768px) {
    .vu-bafu--split .vu-vesale { grid-template-columns: 1fr; }
    .vu-bepefi { position: static; }
  }

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

  .vu-febuki--large {
    background: var(--vu-ditu-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--vu-ditu-pad-block, var(--space-section));
    padding-inline: var(--vu-ditu-pad-inline, 1.5rem);
  }
  .vu-giti {
    max-width: var(--vu-ditu-max, 1200px);
    margin-inline: auto;
    text-align: var(--vu-ditu-align, left);
  }
  .vu-zodomo {
    margin: 0 0 1.5rem;
    font-family: var(--display-font);
    font-size: var(--vu-ditu-quote-size, var(--scale-2xl));
    font-weight: var(--vu-ditu-quote-weight, 800);
    line-height: var(--vu-ditu-quote-leading, 1.02);
    letter-spacing: var(--vu-ditu-quote-spacing, -.03em);
    text-wrap: balance;
  }
  
  .vu-budo {
    display: inline-flex; align-items: center; gap: .75rem;
    margin: 0;
    font-size: var(--vu-ditu-source-size, var(--scale-sm));
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 600;
  }
  .vu-budo::before {
    content: "";
    width: var(--vu-ditu-source-line, 2rem);
    height: 2px;
    background: var(--accent);
  }

  @media (max-width: 600px) {
    .vu-febuki--large { padding-block: var(--vu-ditu-pad-block-mobile, 4rem); }
  }

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

  .vu-kado--accordion {
    background: var(--vu-dita-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--vu-dita-pad-block, var(--space-section));
    padding-inline: var(--vu-dita-pad-inline, 1.5rem);
  }
  .vu-belago {
    max-width: var(--vu-dita-max, 760px);
    margin-inline: auto;
  }
  .vu-gabegu {
    text-align: var(--vu-dita-head-align, center);
    margin-bottom: 2.5rem;
  }
  .vu-samuta {
    margin: 0 0 .9rem;
    font-family: var(--utility-font, var(--body-font));
    font-size: var(--vu-dita-kicker-size, var(--scale-xs));
    letter-spacing: var(--kicker-tracking, .18em); text-transform: var(--kicker-transform, uppercase);
    color: var(--accent); font-weight: 600;
  }
  .vu-zedi {
    margin: 0;
    font-family: var(--display-font);
    font-size: var(--vu-dita-title-size, var(--scale-lg));
    font-weight: var(--heading-weight, 800); line-height: 1.1; letter-spacing: var(--heading-tracking, -.02em);
  }

  .vu-gudodi {
    display: flex; flex-direction: column;
    gap: var(--vu-dita-gap, .75rem);
  }
  .vu-sinepa {
    background: var(--vu-dita-item-bg, var(--surface));
    border: 1px solid var(--border);
    border-radius: var(--radius, 10px);
    overflow: hidden;
  }
  .vu-bodi {
    list-style: none;
    cursor: pointer;
    padding: var(--vu-dita-item-pad, 1.15rem 1.4rem);
    display: flex; align-items: center; justify-content: space-between;
    gap: 1rem;
    font-family: var(--display-font);
    font-size: var(--vu-dita-q-size, var(--scale-base));
    font-weight: 600; line-height: 1.3;
    color: var(--fg);
  }
  .vu-bodi::-webkit-details-marker { display: none; }
  
  .vu-bodi::after {
    content: "";
    flex-shrink: 0;
    width: 1rem; height: 1rem;
    position: relative;
    background:
      linear-gradient(var(--accent), var(--accent)) center/100% 2px no-repeat,
      linear-gradient(var(--accent), var(--accent)) center/2px 100% no-repeat;
    transition: transform var(--motion-duration, .2s) ease;
  }
  .vu-sinepa[open] .vu-bodi::after {
    transform: rotate(90deg);
    background: linear-gradient(var(--accent), var(--accent)) center/100% 2px no-repeat;
  }
  .vu-mufe {
    padding: 0 var(--vu-dita-answer-pad-x, 1.4rem) var(--vu-dita-answer-pad-b, 1.25rem);
    margin: 0;
    font-size: var(--vu-dita-a-size, var(--scale-base));
    line-height: 1.6; color: var(--muted);
  }

  @media (prefers-reduced-motion: reduce) {
    .vu-bodi::after { transition: none; }
  }

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

  .vu-diboto--center {
    background: var(--vu-moba-bg, var(--surface));
    border-bottom: 1px solid var(--border);
    color: var(--fg); font-family: var(--body-font);
    padding-block: var(--vu-moba-pad-block, 3.5rem);
    padding-inline: var(--vu-moba-pad-inline, 1.5rem);
    text-align: center;
  }
  .vu-dava {
    max-width: var(--vu-moba-max, 680px);
    margin-inline: auto;
    display: flex; flex-direction: column;
    align-items: center; gap: var(--vu-moba-gap, 1rem);
  }
  .vu-vokama {
    font-size: var(--scale-xs); color: var(--muted);
    letter-spacing: .06em; text-transform: uppercase; font-weight: 600;
  }
  .vu-kigubo {
    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;
  }
  .vu-mufido {
    margin: 0;
    font-family: var(--display-font);
    font-size: var(--scale-xl);
    font-weight: var(--heading-weight, 800); line-height: 1.1; letter-spacing: var(--heading-tracking, -.02em);
  }
  .vu-taliga {
    margin: 0;
    font-size: var(--scale-base); line-height: 1.65; color: var(--muted);
    max-width: 52ch;
  }
  
  .vu-ririke {
    display: inline-flex; align-items: center; justify-content: center;
    padding: var(--vu-moba-cta-pad, .7rem 1.6rem); 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: .35rem;
  }
  .vu-sane { display: inline-flex; }
  .vu-zarevo { width: var(--vu-moba-accent-size, 2.2rem); height: var(--vu-moba-accent-size, 2.2rem); color: var(--accent); }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }
  
  .vu-fozati { font-size: var(--scale-xs, .82rem); color: var(--muted); letter-spacing: .04em; margin: 0 0 .75rem; }
  .vu-bumusu { display: inline-flex; margin-bottom: .75rem; }
  .vu-voze { width: 2rem; height: 2rem; color: var(--accent); }
  .vu-funisa { font-size: var(--scale-base, 1rem); line-height: 1.65; color: var(--muted); margin: .75rem 0 1.5rem; max-width: 70ch; }
  .vu-nezupi { 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; }

  .vu-tesa--toc {
    background: var(--vu-takafu-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--vu-takafu-pad-block, 4.5rem);
    padding-inline: var(--vu-takafu-pad-inline, 1.5rem);
  }
  .vu-lelari {
    max-width: var(--vu-takafu-max, 760px);
    margin-inline: auto;
  }

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

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

  .vu-lago {
    display: flex; flex-direction: column;
    gap: var(--vu-takafu-section-gap, 2.5rem);
  }
  .vu-tikale { scroll-margin-top: var(--vu-takafu-scroll-margin, 2rem); }
  .vu-dadoka {
    margin: 0 0 .85rem;
    font-family: var(--display-font);
    font-size: var(--vu-takafu-sec-title-size, var(--scale-md));
    font-weight: 700; line-height: 1.25;
  }
  .vu-kamu {
    margin: 0;
    font-size: var(--vu-takafu-text-size, var(--scale-base));
    line-height: 1.7; color: var(--muted);
  }

  @media (max-width: 600px) {
    .vu-tesa--toc { padding-block: var(--vu-takafu-pad-block-mobile, 3rem); }
  }

*, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; }
  
  .vu-fozati { font-size: var(--scale-xs, .82rem); color: var(--muted); letter-spacing: .04em; margin: 0 0 .75rem; }
  .vu-bumusu { display: inline-flex; margin-bottom: .75rem; }
  .vu-voze { width: 2rem; height: 2rem; color: var(--accent); }
  .vu-funisa { font-size: var(--scale-base, 1rem); line-height: 1.65; color: var(--muted); margin: .75rem 0 1.5rem; max-width: 70ch; }
  .vu-nezupi { 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; }

  .vu-tesa--accordion {
    background: var(--vu-takafu-bg, var(--bg));
    color: var(--fg);
    font-family: var(--body-font);
    padding-block: var(--vu-takafu-pad-block, 4.5rem);
    padding-inline: var(--vu-takafu-pad-inline, 1.5rem);
  }

  .vu-lelari {
    width: min(100%, var(--vu-takafu-max, 820px));
    margin-inline: auto;
  }

  .vu-rurala {
    margin: 0 0 .5rem;
    font-family: var(--display-font);
    font-size: var(--vu-takafu-title-size, var(--scale-lg));
    line-height: 1.15;
    font-weight: var(--heading-weight, 800);
    letter-spacing: var(--heading-tracking, -.02em);
  }

  .vu-zufedu {
    margin: 0 0 2.5rem;
    color: var(--muted);
    font-size: var(--vu-takafu-meta-size, var(--scale-xs));
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .vu-lago {
    display: grid;
    gap: var(--vu-takafu-section-gap, .85rem);
  }

  .vu-tikale {
    background: var(--vu-takafu-card-bg, var(--surface));
    border: 1px solid var(--border);
    border-radius: var(--radius, 8px);
  }

  .vu-veti {
    cursor: pointer;
    list-style: none;
    padding: var(--vu-takafu-summary-pad, 1.15rem 1.25rem);
  }

  .vu-veti::-webkit-details-marker { display: none; }

  .vu-ribi {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
  }

  .vu-dadoka {
    margin: 0;
    font-family: var(--display-font);
    font-size: var(--vu-takafu-sec-title-size, var(--scale-md));
    line-height: 1.25;
    font-weight: 700;
  }

  .vu-vava {
    color: var(--accent);
    font-size: var(--vu-takafu-marker-size, var(--scale-md));
    line-height: 1;
    flex-shrink: 0;
  }

  .vu-tikale[open] .vu-vava {
    transform: rotate(45deg);
  }

  .vu-rizoku {
    border-top: 1px solid var(--border);
    padding: var(--vu-takafu-panel-pad, 1.15rem 1.25rem 1.35rem);
  }

  .vu-kamu {
    margin: 0;
    color: var(--muted);
    font-size: var(--vu-takafu-text-size, var(--scale-base));
    line-height: 1.7;
  }

  @media (max-width: 600px) {
    .vu-tesa--accordion {
      padding-block: var(--vu-takafu-pad-block-mobile, 3rem);
    }

    .vu-veti {
      padding: var(--vu-takafu-summary-pad-mobile, 1rem);
    }

    .vu-rizoku {
      padding: var(--vu-takafu-panel-pad-mobile, 1rem 1rem 1.15rem);
    }
  }
.vu-gipe{position:fixed;transition:transform .25s ease;}
.vu-gipe[data-hidden]{transform:translateY(-100%);}
.vu-tenobu{display:flex;align-items:center;}.vu-tezomu{order:2;margin-inline:auto;}.vu-midiku{order:1;}
.vu-tenobu{border-block-end:1px solid;border-image:linear-gradient(90deg,transparent,var(--border) 30%,var(--border) 70%,transparent) 1;}
.vu-lurasi:hover{background:var(--accent);color:var(--accent-fg);border-radius:var(--radius,6px);padding:.15em .5em;}
.vu-midiku{counter-reset:tbnav;}
.vu-lurasi::before{counter-increment:tbnav;content:counter(tbnav)". ";opacity:.5;margin-inline-end:.35em;}
.vu-lurasi{text-transform:uppercase;letter-spacing:.14em;}
.vu-midiku li:not(:last-child)::after{content:"|";opacity:.35;margin-inline:.4em;}
.vu-rube{background:transparent;border:1.5px solid var(--accent);color:var(--accent);}
.vu-kele{border-block-start:1px solid;border-image:linear-gradient(90deg,transparent,var(--border) 30%,var(--border) 70%,transparent) 1;}
.vu-vemuba{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size var(--motion-duration,.2s) ease;}
.vu-vemuba:hover{background-size:100% 1px;}
.vu-vemuba{text-transform:uppercase;letter-spacing:.06em;}
.vu-zazama{font-weight:700;color:var(--fg);}
.vu-dosagu:not(:last-child)::after{content:"\00B7";opacity:.5;margin-inline:.45em;}
.vu-bake{border-radius:50%;}
.vu-bake{background:transparent;color:var(--accent);border:none;}
.vu-sifa{letter-spacing:.06em;}
.vu-dako:not(:last-child) .vu-bake::after,.vu-dako:not(:last-child)::after{background:var(--accent);}
.vu-sinuba{--vu-kakila-min-h:80vh;}
.vu-sinuba{--vu-kakila-title-size:clamp(3.2rem,11vw,8rem);}
.vu-sinuba{--vu-kakila-pad-block:6rem;--vu-kakila-gap:3.5rem;}
.vu-sinuba{--vu-kakila-content-max:560px;--vu-kakila-max:980px;}
.vu-sinuba{--vu-kakila-align:start;}