/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: VMS Equestrian – Child-Theme. Design-System & Komponenten für die Elementor-V4-Atomic-Seiten.
Author: Marketing Thom
Template: hello-elementor
Version: 3.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* ==========================================================================
   AUFBAU
   1. Tokens (Farben & Schriften kommen aus Elementor → Variablen)
   2. Elementor-Atomic-Basis neutralisieren
   3. Design-System & Komponenten (aus dem Entwurf übernommen)
   4. Elementor-Adapter (Struktur-Anpassungen)
   Alle Komponenten-Selektoren beginnen mit .vms (Body-Klasse).
   ========================================================================== */

/* ---------- Schriften (Dateien in der Mediathek, auch als Elementor-Custom-Fonts registriert) ---------- */
@font-face { font-family: 'Manrope'; src: url('/wp-content/uploads/vms/manrope.woff2') format('woff2'); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'Geffroy Eleonora'; src: url('/wp-content/uploads/vms/geffroy-eleonora.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Hanifah Salamah'; src: url('/wp-content/uploads/vms/hanifah-salamah.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }

/* ---------- 2. Elementor-Atomic-Basis neutralisieren ---------- */
.vms .e-div-block-base, .vms .e-flexbox-base { padding: 0; min-width: 0; }
.vms .e-heading-base, .vms .e-paragraph-base { margin: 0; }
.vms .e-button-base, .vms .e-form-submit-button-base { padding: 0; border-radius: 0; background: none; text-align: inherit; display: revert; color: inherit; font: inherit; border: 0; }
.vms .e-form-base { padding: 0; gap: 0; }
.vms :is(.e-form-input-base, .e-form-textarea-base, .e-form-select-base) { height: auto; font: inherit; color: inherit; border-radius: 0; border-color: currentColor; }
.vms .e-form-label-base { font-size: inherit; color: inherit; }
.vms :is(.e-form-checkbox-base, .e-form-radio-button-base) { appearance: auto; width: auto; height: auto; border: 0; border-radius: 0; background: none; display: inline-block; color: inherit; }
.vms :is(.e-form-checkbox-base, .e-form-radio-button-base)::before { content: none; }
.vms .e-accordion-base, .vms .e-accordion-item-base, .vms .e-accordion-item-title-base { padding: 0; }
.vms .e-accordion-item-header-base { padding: 0; gap: 0; cursor: pointer; }
.vms .e-accordion-item-icon-base { width: auto; height: auto; padding: 0; }
.vms .e-accordion-item-content-base { padding: 0; min-width: 0; }
.vms .e-svg-base { width: auto; height: auto; display: block; }
.vms .e-image-base { max-width: 100%; height: auto; }
.vms .e-divider-base { background-color: var(--hair); }
.vms [hidden] { display: none !important; }
.vms :where(.t-ul, .t-ol, .t-dl, .t-li, .t-dt, .t-dd, .t-figure, .t-figcaption, .t-blockquote, .t-fieldset, .t-legend) { display: block; }
.vms .e-con.e-atomic-element { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; --width: auto; --position: static; --row-gap: 0; --column-gap: 0; }

/* ===== 00-tokens.css ===== */
:where(:root) { --plum: #24091A; --wine: #7A1C55; --pink: #B03278; --pink-lt: #E37AB4; --rose: #F2C4DC; --white: #FFFFFF; --line: #E9DDE3; --ink: #050708; --muted: #6E6469; --f-sans: 'Manrope', sans-serif; --f-serif: 'Geffroy Eleonora', serif; --f-script: 'Hanifah Salamah', cursive; }
:root { --fs-display: clamp(3rem, 1.15rem + 7.2vw, 9.25rem); --fs-h1: clamp(2.6rem, 1.2rem + 5vw, 6.5rem); --fs-h2: clamp(2.1rem, 1.25rem + 3.3vw, 4.75rem); --fs-h3: clamp(1.35rem, 1.1rem + .9vw, 1.95rem); --fs-lead: clamp(1.12rem, 1rem + .5vw, 1.45rem); --fs-body: clamp(1rem, .97rem + .15vw, 1.075rem); --fs-small: .875rem; --fs-label: .72rem; --max: 1520px; --gutter: clamp(20px, 4.2vw, 72px); --edge: max(var(--gutter), calc((100vw - var(--max)) / 2)); --sec: clamp(110px, 12.5vw, 210px); --hdr: 76px; --ease: cubic-bezier(.22, 1, .36, 1); --ease-io: cubic-bezier(.76, 0, .24, 1); --ease-draw: cubic-bezier(.45, 0, .2, 1); --bg: var(--white); --bg-soft: rgba(5, 7, 8, .028); --fg: var(--ink); --fg-2: var(--muted); --accent: var(--pink); --accent-2: var(--wine); --hair: rgba(5, 7, 8, .12); --hair-strong: rgba(5, 7, 8, .28); --btn-bg: var(--ink); --btn-fg: var(--white); --btn-fill: var(--pink); --btn-fill-fg: var(--white); --logo-ink: var(--ink); --rib-a: var(--pink); --rib-b: var(--pink); --rib-c: var(--pink); --focus: var(--pink); --sel-bg: var(--rose); --sel-fg: var(--ink); --img-filter: none; --haze-a: transparent; --haze-b: transparent; color-scheme: light; }
@media (min-width: 1024px) {
:root { --hdr: 88px; }
}
html[data-mode="dark"] {
  --bg: var(--ink);
  --bg-soft: rgba(122, 28, 85, .16);
  --fg: var(--white);
  --fg-2: rgba(255, 255, 255, .66);
  --accent: var(--pink-lt);
  --accent-2: var(--rose);
  --hair: rgba(255, 255, 255, .14);
  --hair-strong: rgba(255, 255, 255, .32);
  --btn-bg: var(--white); --btn-fg: var(--ink); --btn-fill: var(--pink-lt); --btn-fill-fg: var(--ink);
  --logo-ink: var(--white);
  --rib-a: var(--pink); --rib-b: var(--pink-lt); --rib-c: var(--rose);
  --focus: var(--pink-lt);
  --sel-bg: var(--wine); --sel-fg: var(--white);
  --img-filter: brightness(.9) contrast(1.04);
  --haze-a: rgba(122, 28, 85, .5); --haze-b: rgba(176, 50, 120, .22);
  color-scheme: dark;
}
.vms [data-surface="noir"] {
  --bg: var(--plum); --fg: var(--white); --fg-2: rgba(255, 255, 255, .66); --accent: var(--pink-lt); --accent-2: var(--rose);
  --hair: rgba(255, 255, 255, .14); --hair-strong: rgba(255, 255, 255, .32);
  --btn-bg: var(--white); --btn-fg: var(--ink); --btn-fill: var(--pink-lt); --btn-fill-fg: var(--ink);
  --logo-ink: var(--white); --rib-a: var(--pink-lt); --rib-b: var(--pink-lt); --rib-c: var(--pink-lt); --focus: var(--pink-lt);
  background-color: var(--bg); color: var(--fg);
}
html[data-mode="dark"] .vms [data-surface="noir"] { --bg: color-mix(in srgb, var(--plum) 82%, var(--wine)); }
.vms [data-surface="soft"] { background-color: var(--bg-soft); }
.vms [data-surface="blush"] { background: rgba(5, 7, 8, .028); }
html[data-mode="dark"] .vms [data-surface="blush"] { background: var(--plum); }
html[data-mode="dark"] .vms [data-surface="noir"] { --rib-a: var(--pink); --rib-b: var(--pink-lt); --rib-c: var(--rose); }
html[data-mode="dark"] .vms .kick, html[data-mode="dark"] .vms .dcard__k { background: linear-gradient(100deg, var(--wine), var(--pink)); color: var(--white); }
html[data-mode="dark"] .vms .tl__mark { background: linear-gradient(135deg, var(--pink), var(--pink-lt)); }
html:not([data-mode="dark"]) .vms .eyebrow:not([data-surface="noir"] *), html:not([data-mode="dark"]) .vms .phero__t > span:first-child:not([data-surface="noir"] *) { color: var(--fg); }
html:not([data-mode="dark"]) .vms .kick, html:not([data-mode="dark"]) .vms .dcard__k { background: var(--ink); color: var(--white); }
html:not([data-mode="dark"]) .vms .tl__y { -webkit-text-fill-color: var(--accent); }
html:not([data-mode="dark"]) .vms .tl__mark { background: var(--accent); }
html:not([data-mode="dark"]) .vms .sw__k, html:not([data-mode="dark"]) .vms .pf__role, html:not([data-mode="dark"]) .vms .horse__role, html:not([data-mode="dark"]) .vms .person__r, html:not([data-mode="dark"]) .vms .kv :is(dt, .t-dt) { color: var(--fg-2); }
/* ===== 10-base.css ===== */
.vms *, .vms *::before, .vms *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--hdr) + 16px); font-synthesis: none; background: var(--bg); }
body.vms {
  margin: 0; min-height: 100vh; overflow-x: clip;
  font-family: var(--f-sans); font-size: var(--fs-body); font-weight: 450; line-height: 1.65; letter-spacing: -.003em;
  color: var(--fg); background: var(--bg);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
  transition: background-color .45s var(--ease), color .45s var(--ease);
}
.vms img, .vms svg, .vms video, .vms picture { display: block; max-width: 100%; }
.vms img { height: auto; filter: var(--img-filter); }
.vms h1, .vms h2, .vms h3, .vms h4, .vms p, .vms :is(figure, .t-figure), .vms :is(blockquote, .t-blockquote), .vms :is(ul, .t-ul), .vms :is(ol, .t-ol), .vms :is(dl, .t-dl), .vms :is(dd, .t-dd) { margin: 0; }
.vms :is(ul, .t-ul)[role="list"], .vms :is(ol, .t-ol)[role="list"] { list-style: none; padding: 0; }
.vms a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.vms button, .vms input, .vms select, .vms textarea { font: inherit; color: inherit; }
.vms button { cursor: pointer; background: none; border: 0; padding: 0; }
.vms em, .vms i { font-style: normal; }
.vms [hidden] { display: none !important; }
.vms ::selection { background: var(--sel-bg); color: var(--sel-fg); }
.vms :focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.vms [tabindex="-1"]:focus { outline: none; }
.vms .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.vms .skip { position: fixed; left: 1rem; top: -5rem; z-index: 1000; padding: .8rem 1.2rem; background: var(--ink); color: var(--white); text-decoration: none; font-weight: 600; transition: top .3s var(--ease); }
.vms .skip:focus { top: 1rem; }
.vms .display, .vms .h1, .vms .h2, .vms .h3 { font-family: var(--f-sans); font-weight: 620; color: var(--fg); text-wrap: balance; }
.vms .display { font-size: var(--fs-display); line-height: .9; letter-spacing: -.055em; font-weight: 600; }
.vms .h1 { font-size: var(--fs-h1); line-height: .94; letter-spacing: -.048em; }
.vms .h2 { font-size: var(--fs-h2); line-height: .98; letter-spacing: -.04em; }
.vms .h3 { font-size: var(--fs-h3); line-height: 1.12; letter-spacing: -.022em; font-weight: 640; }
.vms .ac, .vms em, .vms :is(.hcard__n, .hnext__t, .dcard__n) > span { font-family: var(--f-script); font-weight: 400; font-style: normal; letter-spacing: 0; color: var(--accent); font-size: 1.72em; line-height: .5; padding: 0 .12em 0 .04em; margin-left: .1em; vertical-align: -.04em; }
.vms .ac--rib, .vms .hero4__t em { background: linear-gradient(100deg, var(--rib-a), var(--rib-b) 55%, var(--rib-c)); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .16em; }
.vms .sig { font-family: var(--f-script); font-weight: 400; line-height: 1; color: var(--accent); font-size: clamp(2.6rem, 1.6rem + 3vw, 4.6rem); letter-spacing: 0; }
.vms .lead { font-size: var(--fs-lead); line-height: 1.5; letter-spacing: -.012em; font-weight: 480; color: var(--fg); max-width: 38ch; }
.vms .muted { color: var(--fg-2); }
.vms .prose { max-width: 64ch; color: var(--fg-2); }
.vms .prose p + p { margin-top: 1.1em; }
.vms .prose strong { color: var(--fg); font-weight: 650; }
.vms .eyebrow, .vms .phero__t > span:first-child { display: inline-flex; align-items: center; gap: .75rem; font-family: var(--f-sans); font-size: var(--fs-label); font-weight: 700; letter-spacing: .2em; line-height: 1.4; text-transform: uppercase; color: var(--accent); }
.vms .eyebrow::before, .vms .phero__t > span:first-child::before { content: none; }
.vms .eyebrow--plain::before { display: none; }
.vms .label { font-size: var(--fs-label); font-weight: 680; letter-spacing: .18em; text-transform: uppercase; color: var(--fg-2); }
.vms .num { font-variant-numeric: tabular-nums lining-nums; }
/* ===== 20-layout.css ===== */
.vms .wrap { width: 100%; max-width: calc(var(--max) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.vms .sec { padding-block: var(--sec); position: relative; }
.vms .sec--tight { padding-block: calc(var(--sec) * .6); }
.vms .sec + .sec:not([data-surface]) { padding-top: calc(var(--sec) * .55); }
.vms .grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2vw, 32px); }
.vms .stack > * + * { margin-top: var(--gap, 1.4rem); }
.vms .hair { height: 1px; background: var(--hair); border: 0; margin: 0; }
.vms .sec-head { display: grid; gap: 1.4rem; margin-bottom: clamp(40px, 5.5vw, 88px); }
@media (min-width: 900px) {
.vms .sec-head { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2vw, 32px); align-items: end; }
.vms .sec-head > .sec-head__t { grid-column: 1 / span 7; }
.vms .sec-head > .sec-head__aside { grid-column: 9 / span 4; padding-bottom: .5rem; }
}
.vms .sec-head__t > * + * { margin-top: 1.2rem; }
.vms .sec-head__aside { color: var(--fg-2); max-width: 44ch; }
.vms .sec-head__aside > * + * { margin-top: 1.2rem; }
/* ===== 30-components.css ===== */
.vms .arcline { --arc: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'><path d='M1 8.6C26 1.8 66 .6 99 5.6' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'/></svg>"); }
.vms .u-arc { position: relative; text-decoration: none; }
.vms .u-arc::after {
  content: ""; position: absolute; left: -2%; right: -2%; bottom: -.42em; height: .5em;
  background: linear-gradient(90deg, var(--rib-a), var(--rib-b) 55%, var(--rib-c));
  -webkit-mask: var(--arc) center / 100% 100% no-repeat; mask: var(--arc) center / 100% 100% no-repeat;
  clip-path: inset(0 100% 0 0); transition: clip-path .7s var(--ease-draw);
}
.vms .u-arc:hover::after, .vms .u-arc:focus-visible::after, .vms .u-arc[aria-current]::after, .vms .u-arc.is-drawn::after { clip-path: inset(0 0 0 0); }
.vms .hdr { position: fixed; inset: 0 0 auto 0; z-index: 90; height: var(--hdr); transition: transform .5s var(--ease), background-color .4s var(--ease), box-shadow .4s var(--ease); }
.vms .hdr__in { height: 100%; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: clamp(12px, 2vw, 32px); }
.vms .hdr__right { grid-column: 3; justify-self: end; display: flex; align-items: center; gap: clamp(10px, 1.6vw, 26px); }
.vms .hdr.is-scrolled { background: color-mix(in srgb, var(--bg) 90%, transparent); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); box-shadow: 0 1px 0 var(--hair); }
.vms .hdr.is-hidden { transform: translateY(-100%); }
html.menu-open .vms .hdr { transform: none; background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.vms .brand { grid-column: 2; display: inline-flex; align-items: center; gap: .9rem; text-decoration: none; color: var(--logo-ink); flex: none; }
@media (max-width: 1179px) {
.vms .hdr__in { grid-template-columns: auto 1fr; }
.vms .brand { grid-column: 1; }
.vms .hdr__right { grid-column: 2; }
}
.vms .brand svg { height: clamp(34px, 3vw, 44px); width: auto; }
.vms .brand svg .logo-ink { fill: var(--logo-ink); }
.vms .brand__name { font-size: .66rem; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: var(--fg); padding-left: .9rem; border-left: 1px solid var(--hair-strong); line-height: 1.5; }
@media (max-width: 520px) {
.vms .brand__name { display: none; }
}
html.menu-open .vms .brand, html.menu-open .vms .hdr .mode, html.menu-open .vms .menu-btn { color: var(--white); --logo-ink: var(--white); --fg: var(--white); --hair-strong: rgba(255,255,255,.3); }
.vms .nav { grid-column: 1; display: none; gap: clamp(14px, 1.6vw, 28px); }
@media (min-width: 1180px) {
.vms .nav { display: flex; }
}
.vms .nav__link { position: relative; font-size: .9rem; font-weight: 560; letter-spacing: -.005em; text-decoration: none; color: var(--fg); padding-block: .6rem; }
.vms .nav__link span { position: relative; }
.vms .nav__link::after { content: ""; position: absolute; left: -4%; right: -4%; bottom: .15rem; height: .42em; background: linear-gradient(90deg, var(--rib-a), var(--rib-b) 55%, var(--rib-c)); -webkit-mask: var(--arc) center / 100% 100% no-repeat; mask: var(--arc) center / 100% 100% no-repeat; clip-path: inset(0 100% 0 0); transition: clip-path .6s var(--ease-draw); }
.vms .nav__link:hover::after, .vms .nav__link:focus-visible::after, .vms .nav__link[aria-current]::after { clip-path: inset(0 0 0 0); }
.vms .nav__link[aria-current] { color: var(--fg); }
.vms .hdr .hdr__cta { display: none; }
@media (min-width: 760px) {
.vms .hdr .hdr__cta { display: inline-flex; }
}
.vms .mode { position: relative; display: inline-flex; align-items: center; gap: .7rem; height: 44px; padding-inline: .2rem; font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fg); }
.vms .mode__w { position: relative; opacity: .45; transition: opacity .4s var(--ease); }
.vms .mode__sep { width: 1px; height: 12px; background: var(--hair-strong); }
html:not([data-mode="dark"]) .vms .mode__w--l, html[data-mode="dark"] .vms .mode__w--d { opacity: 1; }
.vms .mode__arc { position: absolute; left: 0; bottom: 6px; height: 7px; width: var(--mw, 30px); transform: translateX(var(--mx0, 0)); background: linear-gradient(90deg, var(--rib-a), var(--rib-b) 55%, var(--rib-c)); -webkit-mask: var(--arc) center / 100% 100% no-repeat; mask: var(--arc) center / 100% 100% no-repeat; transition: transform .6s var(--ease), width .6s var(--ease); pointer-events: none; }
@media (max-width: 420px) {
.vms .mode__w--txt { display: none; }
}
.vms .menu-btn { display: inline-flex; align-items: center; gap: .75rem; height: 44px; font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fg); }
.vms .menu-btn__lines { position: relative; width: 26px; height: 10px; }
.vms .menu-btn__lines::before, .vms .menu-btn__lines::after { content: ""; position: absolute; left: 0; right: 0; height: 1.5px; background: currentColor; transition: transform .55s var(--ease), top .55s var(--ease), width .55s var(--ease); }
.vms .menu-btn__lines::before { top: 0; }
.vms .menu-btn__lines::after { top: 8.5px; width: 70%; left: auto; }
html.menu-open .vms .menu-btn__lines::before { top: 4.25px; transform: rotate(32deg); }
html.menu-open .vms .menu-btn__lines::after { top: 4.25px; width: 100%; transform: rotate(-32deg); }
@media (min-width: 1180px) {
.vms .menu-btn { display: none; }
}
.vms .menu { position: fixed; inset: 0; z-index: 80; color: var(--white); background: var(--ink); clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path .75s var(--ease-io), visibility 0s linear .75s; overflow-y: auto; }
html.menu-open .vms .menu { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path .75s var(--ease-io); }
.vms .menu__in { min-height: 100%; display: grid; align-content: center; gap: 2.4rem; padding-block: calc(var(--hdr) + 32px) 48px; position: relative; z-index: 1; }
.vms .menu__nav { display: grid; }
.vms .menu__link { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-block: .45rem; text-decoration: none; font-size: clamp(2.2rem, 1.2rem + 5vw, 4.4rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.02; border-bottom: 1px solid rgba(255,255,255,.12); opacity: 0; transform: translateY(24px); transition: opacity .6s var(--ease), transform .7s var(--ease), color .3s; }
html.menu-open .vms .menu__link { opacity: 1; transform: none; transition-delay: calc(.18s + var(--i, 0) * 55ms); }
.vms .menu__link:hover, .vms .menu__link[aria-current] { color: var(--pink-lt); }
.vms .menu__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem; font-size: .9rem; color: rgba(255,255,255,.66); }
.vms .menu__foot a { color: var(--white); }
.vms .btn {
  --mx: 50%; --my: 50%;
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: .9rem;
  min-height: 54px; padding: 0 1.7rem; border-radius: 2px; border: 1px solid var(--btn-bg);
  background: var(--btn-bg); color: var(--btn-fg); text-decoration: none; white-space: nowrap;
  font-size: .74rem; font-weight: 720; letter-spacing: .15em; text-transform: uppercase; line-height: 1;
  transition: color .45s var(--ease), border-color .45s var(--ease), transform .3s var(--ease);
}
.vms .btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--btn-fill); clip-path: circle(0% at var(--mx) var(--my)); transition: clip-path .7s var(--ease); }
.vms .btn:hover::before, .vms .btn:focus-visible::before { clip-path: circle(150% at var(--mx) var(--my)); }
.vms .btn:hover, .vms .btn:focus-visible { color: var(--btn-fill-fg); border-color: var(--btn-fill); }
.vms .btn:active { transform: scale(.98); }
.vms .has-arr::after { width: 20px; height: 10px; flex: none; transition: transform .6s var(--ease); }
.vms .btn:hover::after { transform: translateX(5px); }
.vms .btn--ghost { background: transparent; color: var(--fg); border-color: var(--hair-strong); }
.vms .btn--sm { min-height: 44px; padding: 0 1.15rem; font-size: .68rem; }
.vms .btn-row { display: flex; flex-wrap: wrap; gap: .8rem 1rem; align-items: center; }
.vms .tlink { display: inline-flex; align-items: center; gap: .7rem; min-height: 44px; font-size: .74rem; font-weight: 720; letter-spacing: .15em; text-transform: uppercase; text-decoration: none; color: var(--fg); }
.vms .tlink::after { transition: transform .6s var(--ease); }
.vms .tlink:hover::after { transform: translateX(5px); }
.vms .chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.vms .chip { display: inline-flex; align-items: center; min-height: 34px; padding: 0 .9rem; border: 1px solid var(--hair-strong); border-radius: 2px; font-size: .78rem; font-weight: 580; color: var(--fg); background: color-mix(in srgb, var(--bg) 70%, transparent); }
.vms .frame { position: relative; overflow: hidden; background: var(--bg-soft); }
.vms .frame img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.vms .frame--45 { aspect-ratio: 4 / 5; }
.vms .frame--34 { aspect-ratio: 3 / 4; }
.vms .frame--32 { aspect-ratio: 3 / 2; }
.vms .frame--11 { aspect-ratio: 1; }
.vms .frame--169 { aspect-ratio: 16 / 9; }
.vms .frame--43 { aspect-ratio: 4 / 3; }
.vms .frame__veil { position: absolute; inset: 0; background: rgba(36, 9, 26, .18); opacity: 0; transition: opacity .7s var(--ease); pointer-events: none; }
.vms .hov:hover .frame img, .vms .hov:focus-visible .frame img { transform: scale(1.045); }
.vms .hov:hover .frame__veil, .vms .hov:focus-visible .frame__veil { opacity: 1; }
.vms .cap { display: flex; gap: .7rem; margin-top: .85rem; font-size: .7rem; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; color: var(--fg-2); }
.vms .svc { display: grid; gap: clamp(28px, 3vw, 40px); }
@media (min-width: 900px) {
.vms .svc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vms .svc > :nth-child(2) { margin-top: clamp(40px, 6vw, 96px); }
}
.vms .svc__card { display: grid; gap: 1.3rem; text-decoration: none; color: inherit; }
.vms .svc__title { font-size: var(--fs-h3); font-weight: 640; letter-spacing: -.025em; line-height: 1.1; }
.vms .svc__text { color: var(--fg-2); max-width: 40ch; }
.vms .svc__more { margin-top: .2rem; }
.vms .facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--hair); }
@media (min-width: 900px) {
.vms .facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.vms .fact { padding: clamp(22px, 2.6vw, 40px) clamp(14px, 1.6vw, 28px) clamp(22px, 2.6vw, 36px) 0; border-bottom: 1px solid var(--hair); display: grid; gap: .7rem; align-content: start; }
.vms .fact + .fact { padding-left: clamp(14px, 1.6vw, 28px); border-left: 1px solid var(--hair); }
@media (max-width: 899px) {
.vms .fact:nth-child(3) { padding-left: 0; border-left: 0; }
}
.vms .fact__n { font-family: var(--f-serif); font-weight: 400; font-size: clamp(3rem, 1.6rem + 4.6vw, 6.4rem); line-height: .9; letter-spacing: -.02em; background: linear-gradient(100deg, var(--rib-a), var(--rib-b) 60%, var(--rib-c)); -webkit-background-clip: text; background-clip: text; color: var(--accent); -webkit-text-fill-color: transparent; }
.vms .fact__t { font-size: .92rem; line-height: 1.45; color: var(--fg-2); max-width: 26ch; }
.vms .fact__t strong { display: block; color: var(--fg); font-weight: 650; }
.vms .route { position: relative; }
.vms .route__svg { position: absolute; left: 0; top: -46px; width: 100%; height: 56px; pointer-events: none; overflow: visible; }
@media (max-width: 899px) {
.vms .route__svg { display: none; }
}
.vms .route__svg path { fill: none; stroke: url(#rib-h); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
html.js .vms .route__svg { clip-path: inset(-20% 100% -20% 0); transition: clip-path 2.2s var(--ease-draw) .2s; }
html.js .vms .route.is-in .route__svg { clip-path: inset(-20% 0 -20% 0); }
.vms .route__list { position: relative; display: grid; gap: clamp(28px, 3vw, 44px); counter-reset: step; }
@media (min-width: 900px) {
.vms .route__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.vms .step { display: grid; gap: .8rem; align-content: start; padding-top: 1.4rem; border-top: 1px solid var(--hair); background: var(--bg); }
.vms [data-surface="soft"] .step { background: transparent; }
.vms .step__n { font-family: var(--f-serif); font-size: 2.6rem; line-height: 1; color: var(--accent); }
.vms .step__t { font-size: 1.15rem; font-weight: 650; letter-spacing: -.02em; }
.vms .step__d { color: var(--fg-2); font-size: .95rem; }
.vms .horses { display: grid; gap: clamp(28px, 3vw, 40px); }
@media (min-width: 900px) {
.vms .horses { grid-template-columns: 1.25fr 1fr 1fr; align-items: end; }
}
@media (max-width: 899px) {
.vms .horses { grid-auto-flow: column; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1rem; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scrollbar-width: none; }
.vms .horses > * { scroll-snap-align: start; }
}
.vms .horse { display: grid; gap: 1.1rem; text-decoration: none; color: inherit; }
.vms .horse__meta { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.vms .horse__name { font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.3rem); font-weight: 640; letter-spacing: -.035em; line-height: 1; }
.vms .horse__name .ac, .vms .horse__name em, .vms .horse__name :is(.hcard__n, .hnext__t, .dcard__n) > span { font-size: 1.62em; }
.vms .horse__role { font-size: var(--fs-label); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); white-space: nowrap; }
.vms .horse__txt { color: var(--fg-2); font-size: .95rem; max-width: 42ch; }
.vms .board { border-top: 1px solid var(--hair-strong); }
.vms .board__row { position: relative; display: grid; grid-template-columns: 5.5rem 1fr auto; gap: .4rem 1.4rem; align-items: baseline; padding: 1.25rem 0; border-bottom: 1px solid var(--hair); text-decoration: none; color: inherit; isolation: isolate; }
.vms .board__row::before { content: ""; position: absolute; inset: 0 calc(-1 * clamp(8px, 1vw, 16px)); z-index: -1; background: var(--bg-soft); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease); }
.vms .board__row:hover::before { transform: scaleX(1); }
.vms .board__y { font-family: var(--f-serif); font-size: 1.6rem; line-height: 1; color: var(--accent); }
.vms .board__t { font-size: clamp(1.05rem, .95rem + .5vw, 1.4rem); font-weight: 620; letter-spacing: -.02em; line-height: 1.25; }
.vms .board__t span { display: block; margin-top: .3rem; font-size: .88rem; font-weight: 480; letter-spacing: 0; color: var(--fg-2); }
.vms .board__p { font-size: var(--fs-label); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fg-2); text-align: right; }
@media (max-width: 640px) {
.vms .board__row { grid-template-columns: 4rem 1fr; }
.vms .board__p { grid-column: 2; text-align: left; }
}
.vms .team { display: grid; gap: clamp(28px, 3vw, 40px); }
@media (min-width: 760px) {
.vms .team { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.vms .person { display: grid; gap: 1rem; }
.vms .person__n { font-size: 1.3rem; font-weight: 650; letter-spacing: -.025em; }
.vms .person__r { font-size: var(--fs-label); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); }
.vms .faq { border-top: 1px solid var(--hair-strong); }
.vms .faq details { border-bottom: 1px solid var(--hair); }
.vms .faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1.35rem 0; font-size: clamp(1.05rem, .98rem + .4vw, 1.3rem); font-weight: 620; letter-spacing: -.02em; }
.vms .faq summary::-webkit-details-marker { display: none; }
.vms .faq__x { position: relative; flex: none; width: 18px; height: 18px; }
.vms .faq__x::before, .vms .faq__x::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; background: var(--accent); transition: transform .5s var(--ease); }
.vms .faq__x::after { transform: rotate(90deg); }
.vms .faq details[open] .faq__x::after { transform: rotate(0deg); }
.vms .faq__a { padding: 0 0 1.5rem; color: var(--fg-2); max-width: 70ch; }
.vms .faq details[open] .faq__a { animation: faqIn .6s var(--ease); }
@keyframes faqIn { from { opacity: 0; transform: translateY(-6px); } }
.vms .cta { position: relative; overflow: hidden; isolation: isolate; padding-block: clamp(96px, 12vw, 200px); }
.vms .ambient { position: absolute; inset: -30%; z-index: -1; pointer-events: none; background:
  radial-gradient(38% 46% at 72% 30%, rgba(176, 50, 120, .55), transparent 70%),
  radial-gradient(42% 50% at 22% 78%, rgba(122, 28, 85, .7), transparent 72%),
  radial-gradient(30% 36% at 90% 90%, rgba(227, 122, 180, .22), transparent 70%);
  filter: blur(30px); animation: drift 26s var(--ease-io) infinite alternate; animation-play-state: paused; }
.vms .is-visible > .ambient, .vms .ambient.is-visible { animation-play-state: running; }
@keyframes drift { 0% { transform: translate3d(-4%, -2%, 0) rotate(0deg) scale(1); } 50% { transform: translate3d(5%, 3%, 0) rotate(8deg) scale(1.06); } 100% { transform: translate3d(-2%, 5%, 0) rotate(-6deg) scale(1.02); } }
.vms .cta__t { max-width: 15ch; }
.vms .cta__row { display: grid; gap: 2rem; margin-top: clamp(32px, 4vw, 56px); align-items: end; }
@media (min-width: 900px) {
.vms .cta__row { grid-template-columns: 1fr auto; }
}
.vms .mail { font-size: clamp(1.3rem, 1rem + 1.6vw, 2.4rem); font-weight: 600; letter-spacing: -.03em; color: var(--fg); }
.vms .ftr { position: relative; overflow: hidden; isolation: isolate; border-top: 1px solid var(--hair); padding-top: clamp(72px, 8vw, 128px); padding-bottom: 28px; }
.vms .ftr__grid { display: grid; gap: 2.4rem; }
@media (min-width: 900px) {
.vms .ftr__grid { grid-template-columns: 1.3fr 1fr 1fr 1fr; }
}
.vms .ftr__logo { display: block; width: clamp(150px, 14vw, 210px); }
.vms .ftr__logo .logo-ink { fill: var(--logo-ink); }
.vms .ftr__logo .logo-arc { fill: url(#rib-d); }
.vms .ftr h2 { font-size: var(--fs-label); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); margin-bottom: 1rem; }
.vms .ftr :is(ul, .t-ul) { list-style: none; padding: 0; display: grid; gap: .45rem; }
.vms .ftr a { text-decoration: none; color: var(--fg); }
.vms .ftr a:hover { color: var(--accent); }
.vms .ftr__small { color: var(--fg-2); font-size: .92rem; }
.vms .ftr__bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem; margin-top: clamp(48px, 6vw, 96px); padding-top: 22px; border-top: 1px solid var(--hair); font-size: .8rem; color: var(--fg-2); }
.vms .ftr__bar a { color: var(--fg-2); }
.vms .mbar { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 60; display: flex; transform: translateY(140%); transition: transform .6s var(--ease); }
.vms .mbar .btn { flex: 1; box-shadow: 0 10px 30px rgba(5, 7, 8, .25); }
.vms .mbar.is-on { transform: none; }
@media (min-width: 760px) {
.vms .mbar { display: none; }
}
html.menu-open .vms .mbar { transform: translateY(140%); }
.vms .form { display: grid; gap: 1.1rem 1.4rem; }
@media (min-width: 760px) {
.vms .form { grid-template-columns: 1fr 1fr; }
.vms .form .f--full { grid-column: 1 / -1; }
}
.vms .f { position: relative; display: grid; gap: .45rem; }
.vms .f label, .vms .f :is(legend, .t-legend) { font-size: var(--fs-label); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fg-2); }
.vms .f input, .vms .f select, .vms .f textarea { width: 100%; min-height: 52px; padding: .9rem 1rem; border: 1px solid var(--hair-strong); border-radius: 2px; background: var(--bg); color: var(--fg); font-size: 1rem; transition: border-color .3s var(--ease), box-shadow .3s var(--ease); }
.vms .f textarea { min-height: 150px; resize: vertical; }
.vms .f input:focus, .vms .f select:focus, .vms .f textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.vms .f select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--fg) 50%), linear-gradient(135deg, var(--fg) 50%, transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 2.6rem; }
.vms .f__err { font-size: .85rem; color: var(--accent); min-height: 1.2em; }
.vms .f--check { display: flex; gap: .8rem; align-items: flex-start; font-size: .92rem; color: var(--fg-2); }
.vms .f--check input { width: 20px; height: 20px; min-height: 0; margin-top: .15rem; accent-color: var(--pink); flex: none; }
.vms .f--hp { position: absolute !important; left: -9999px; }
.vms .form__status { font-weight: 600; }
.vms .seg { display: flex; flex-wrap: wrap; gap: .5rem; border: 0; padding: 0; margin: 0; }
.vms .seg :is(legend, .t-legend) { margin-bottom: .6rem; }
.vms .seg input { position: absolute; opacity: 0; pointer-events: none; }
.vms .seg label { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border: 1px solid var(--hair-strong); border-radius: 2px; cursor: pointer; font-size: .9rem; font-weight: 580; letter-spacing: 0; text-transform: none; color: var(--fg); transition: background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.vms .seg input:checked + label { background: var(--btn-bg); color: var(--btn-fg); border-color: var(--btn-bg); }
.vms .seg input:focus-visible + label { outline: 2px solid var(--focus); outline-offset: 3px; }
/* ===== 40-motion.css ===== */
html.js .vms [data-r] { transition: opacity .8s var(--ease), transform .9s var(--ease), clip-path 1s var(--ease); transition-delay: var(--d, 0s); }
html.js .vms [data-r="up"]:not(.is-in) { opacity: 0; transform: translate3d(0, 28px, 0); }
html.js .vms [data-r="fade"]:not(.is-in) { opacity: 0; }
html.js .vms [data-r="clip"] > .frame { transition: clip-path 1.1s var(--ease); transition-delay: var(--d, 0s); }
html.js .vms [data-r="clip"]:not(.is-in) > .frame { clip-path: inset(100% 0 0 0); }
html.js .vms [data-r="clip"] img { transition: transform 1.6s var(--ease); transition-delay: var(--d, 0s); }
html.js .vms [data-r="clip"]:not(.is-in) img { transform: scale(1.12); }
html.js .vms [data-r="stagger"] > * { transition: opacity .8s var(--ease), transform .9s var(--ease); transition-delay: calc(var(--d, 0s) + var(--i, 0) * 90ms); }
html.js .vms [data-r="stagger"]:not(.is-in) > * { opacity: 0; transform: translate3d(0, 24px, 0); }
.vms .ln { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.vms .ln:has(.ac), .vms .ln:has(em), .vms .ln:has(:is(.hcard__n, .hnext__t, .dcard__n) > span), .vms .ln:has(em) { padding: .4em .2em .34em; margin: -.4em -.2em -.34em; }
.vms .ln__i { display: inline-block; transition: transform 1s var(--ease); transition-delay: calc(var(--d, 0s) + var(--i, 0) * 80ms); }
html.js .vms [data-r="lines"]:not(.is-in) .ln__i { transform: translate3d(0, 108%, 0); }
html.js .vms [data-r="draw"] .draw { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.6s var(--ease-draw); transition-delay: var(--d, 0s); }
html.js .vms [data-r="draw"].is-in .draw { stroke-dashoffset: 0; }
@view-transition { navigation: auto; }
.vms .hdr { view-transition-name: site-header; }
.vms ::view-transition-old(root) { animation: vtOut .32s var(--ease) both; }
.vms ::view-transition-new(root) { animation: vtIn .6s var(--ease) both; }
@keyframes vtOut { to { opacity: 0; transform: translateY(-1.5%); } }
@keyframes vtIn { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 0 0 0); } }
html.mode-switch::view-transition-old(root) { animation: none; }
html.mode-switch::view-transition-new(root) { animation: modeWipe .75s var(--ease-io) both; }
@keyframes modeWipe { from { clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0); } to { clip-path: polygon(-60% 0, 100% 0, 100% 100%, -120% 160%); } }
@media (prefers-reduced-motion: reduce) {
@view-transition { navigation: none; }
.vms *, .vms *::before, .vms *::after { animation-duration: .001ms !important; animation-delay: 0s !important; transition-duration: .001ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
html.js .vms [data-r] { opacity: 1 !important; transform: none !important; clip-path: none !important; }
.vms .ln__i { transform: none !important; }
}
/* ===== 45-page.css ===== */
.vms .phero { position: relative; overflow: hidden; isolation: isolate; padding: calc(var(--hdr) + clamp(36px, 6vw, 88px)) 0 clamp(64px, 8vw, 120px);
  background: var(--white); }
html[data-mode="dark"] .vms .phero { background: linear-gradient(180deg, var(--ink) 0%, var(--ink) 30%, var(--plum) 75%, var(--ink) 100%); }
.vms .phero__grid { display: grid; gap: clamp(36px, 5vw, 80px); align-items: center; }
@media (min-width: 980px) {
.vms .phero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
}
.vms .phero__txt > * + * { margin-top: clamp(16px, 1.8vw, 24px); }
.vms .phero__t { font-size: clamp(2.8rem, 1.3rem + 4.6vw, 6.6rem); line-height: .94; letter-spacing: -.05em; font-weight: 600; max-width: 13ch; }
.vms .phero .lead { color: var(--fg-2); max-width: 44ch; }
.vms .phero--center { text-align: center; }
.vms .phero--center .phero__txt { display: grid; justify-items: center; }
.vms .phero--center .phero__t, .vms .phero--center .lead { margin-inline: auto; }
.vms .phero [data-rise] { opacity: 0; transform: translate3d(0, 20px, 0); animation: rise .9s var(--ease) forwards; animation-delay: var(--t, 0s); }
.vms .phero::after { content: ""; position: absolute; z-index: -1; right: -6vw; top: 8%; width: min(52vw, 660px); aspect-ratio: 172 / 190; pointer-events: none; background: rgba(5, 7, 8, .045);
  -webkit-mask: url(assets/svg/mark-mask.svg) center / contain no-repeat; mask: url(assets/svg/mark-mask.svg) center / contain no-repeat; clip-path: inset(0 100% 0 0); animation: markDraw 2.2s cubic-bezier(.55, .1, .35, 1) .2s forwards; }
html[data-mode="dark"] .vms .phero::after { background: rgba(227, 122, 180, .09); }
.vms .phero--center::after { right: 50%; transform: translateX(50%); }
@keyframes markDraw { to { clip-path: inset(0 -5% 0 0); } }
@media (prefers-reduced-motion: reduce) {
.vms .phero::after { animation: none; clip-path: none; }
}
.vms .pstack { position: relative; aspect-ratio: 1 / 1.05; width: min(100%, 560px); justify-self: center; }
.vms .pstack__c { position: absolute; width: 64%; aspect-ratio: 4 / 5; border-radius: var(--r-card); overflow: hidden; background: var(--plum); box-shadow: var(--card-sh); transition: transform .8s var(--ease); }
.vms .pstack__c img { width: 100%; height: 100%; object-fit: cover; }
.vms .pstack__c:nth-child(1) { left: 0; top: 8%; transform: rotate(-7deg); animation: pstackIn 1.2s var(--ease) .15s both; --r: -7deg; }
.vms .pstack__c:nth-child(2) { right: 0; top: 0; transform: rotate(5deg); animation: pstackIn 1.2s var(--ease) .3s both; --r: 5deg; z-index: 2; }
.vms .pstack__c:nth-child(3) { left: 22%; bottom: 0; width: 48%; transform: rotate(-2deg); animation: pstackIn 1.2s var(--ease) .45s both; --r: -2deg; z-index: 3; }
.vms .pstack:hover .pstack__c:nth-child(1) { transform: rotate(-10deg) translateX(-12px); }
.vms .pstack:hover .pstack__c:nth-child(2) { transform: rotate(8deg) translateX(12px); }
@keyframes pstackIn { from { opacity: 0; transform: translate3d(0, 80px, 0) rotate(0deg) scale(.92); } to { opacity: 1; transform: rotate(var(--r)); } }
.vms .chap { display: grid; gap: clamp(28px, 4vw, 72px); align-items: center; scroll-margin-top: calc(var(--hdr) + 24px); }
@media (min-width: 980px) {
.vms .chap { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.vms .chap--rev .chap__media { order: 2; }
}
.vms .chap + .chap { margin-top: clamp(80px, 10vw, 160px); }
.vms .chap__media { position: relative; border-radius: var(--r-card); overflow: hidden; box-shadow: var(--card-sh); aspect-ratio: 4 / 4.6; background: var(--plum); }
.vms .chap__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.vms .chap__media:hover img { transform: scale(1.04); }
.vms .chap__badge { position: absolute; left: 16px; top: 16px; z-index: 1; }
.vms .chap__txt > * + * { margin-top: clamp(16px, 1.6vw, 22px); }
.vms .chap__txt .h2 { max-width: 14ch; }
.vms .kick { display: inline-flex; padding: .42rem .85rem; border-radius: 999px; font-size: .7rem; font-weight: 720; letter-spacing: .14em; text-transform: uppercase; color: var(--white); background: var(--accent); }
.vms .pills { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; padding: 0; }
.vms .pills :is(li, .t-li) { padding: .5rem .9rem; border-radius: 999px; font-size: .8rem; font-weight: 620; border: 1px solid var(--card-bd); background: var(--card-bg); color: var(--fg); }
.vms .ticks { list-style: none; padding: 0; display: grid; gap: .7rem; }
.vms .ticks :is(li, .t-li) { position: relative; padding-left: 1.7rem; color: var(--fg-2); }
.vms .ticks :is(li, .t-li)::before { content: ""; position: absolute; left: 0; top: .78em; width: 1rem; height: 1.5px; background: linear-gradient(90deg, var(--rib-a), var(--rib-c)); }
.vms .cards { display: grid; gap: clamp(14px, 1.8vw, 24px); }
@media (min-width: 760px) {
.vms .cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vms .cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
.vms .cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 760px) and (max-width: 1099px) {
.vms .cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.vms .pcard { position: relative; display: grid; align-content: start; gap: .9rem; padding: clamp(20px, 2.2vw, 30px); border-radius: var(--r-card); background: var(--card-bg); border: 1px solid var(--card-bd); box-shadow: var(--card-sh); overflow: hidden; text-decoration: none; color: inherit; transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
html[data-mode="dark"] .vms a.pcard:hover, .vms .pcard--lift:hover { transform: translateY(-6px); }
.vms .pcard > * { position: relative; }
.vms .pcard__img { margin: calc(-1 * clamp(20px, 2.2vw, 30px)) calc(-1 * clamp(20px, 2.2vw, 30px)) .4rem; aspect-ratio: 4 / 3.4; overflow: hidden; }
.vms .pcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.vms .pcard:hover .pcard__img img { transform: scale(1.05); }
.vms .pcard__t { font-size: clamp(1.25rem, 1rem + .8vw, 1.7rem); font-weight: 640; letter-spacing: -.03em; line-height: 1.1; }
.vms .pcard__d { color: var(--fg-2); font-size: .95rem; }
.vms .pcard__n { font-family: var(--f-serif); font-size: 2.2rem; line-height: 1; color: var(--accent); }
.vms .kv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 16px); }
@media (min-width: 900px) {
.vms .kv { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.vms .kv > div { padding: 1.1rem 1.2rem; border-radius: 16px; background: var(--card-bg); border: 1px solid var(--card-bd); }
.vms .kv :is(dt, .t-dt) { font-size: var(--fs-label); font-weight: 720; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.vms .kv :is(dd, .t-dd) { margin: .35rem 0 0; font-size: 1.08rem; font-weight: 600; letter-spacing: -.015em; color: var(--fg); }
.vms .kv :is(dd, .t-dd).is-open { color: var(--fg-2); font-weight: 500; }
.vms .tl, .vms :is(ol, .t-ol).tl[role="list"] { position: relative; display: grid; gap: clamp(12px, 2.4vw, 32px); padding-left: 0; margin: 0; }
.vms .tl::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: linear-gradient(180deg, transparent, var(--card-bd) 6%, var(--card-bd) 94%, transparent); }
.vms .tl--compact .tl__i + .tl__i { margin-top: calc(-1 * clamp(44px, 8vw, 120px)); }
.vms .tl__i { --tlg: clamp(22px, 6vw, 96px); --pad: clamp(20px, 2.2vw, 30px); --yfs: clamp(2.2rem, 1.6rem + 1.8vw, 3.4rem); --my: calc(var(--pad) + 1px + var(--yfs) / 2);
  position: relative; display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--tlg); }
.vms .tl__i:has(.tl__y--word) { --yfs: clamp(1.7rem, 1.3rem + 1.2vw, 2.4rem); }
.vms .tl__i::before { content: ""; position: absolute; top: var(--my); left: calc(50% - var(--tlg) / 2); width: calc(var(--tlg) / 2); height: 1px; background: linear-gradient(90deg, var(--hair-strong), var(--accent)); opacity: .55; }
.vms .tl__i:nth-child(even)::before { left: 50%; background: linear-gradient(90deg, var(--accent), var(--hair-strong)); }
.vms .tl__i > .tl__c { grid-column: 1; justify-self: end; }
.vms .tl__i:nth-child(even) > .tl__c { grid-column: 2; justify-self: start; }
.vms .tl__mark { position: absolute; z-index: 1; top: calc(var(--my) - 5px); left: calc(50% - 5px); width: 11px; height: 11px; transform: rotate(45deg); border-radius: 2px; background: var(--accent); box-shadow: 0 0 0 5px var(--bg); }
.vms .tl__c { width: min(100%, 520px); display: grid; gap: .7rem; padding: var(--pad); border-radius: var(--r-card); background: var(--card-bg); border: 1px solid var(--card-bd); box-shadow: var(--card-sh); }
.vms .tl__y { font-family: var(--f-serif); font-size: var(--yfs); line-height: 1; background: linear-gradient(100deg, var(--rib-a), var(--rib-b) 60%, var(--rib-c)); -webkit-background-clip: text; background-clip: text; color: var(--accent); -webkit-text-fill-color: transparent; }
.vms .tl__t { font-size: clamp(1.15rem, 1rem + .5vw, 1.45rem); font-weight: 640; letter-spacing: -.025em; line-height: 1.15; }
.vms .tl__d { color: var(--fg-2); font-size: .95rem; }
@media (max-width: 699px) {
.vms .tl__i { --pad: 13px; --yfs: 1.7rem; }
.vms .tl__i:has(.tl__y--word) { --yfs: 1.05rem; }
.vms .tl__mark { width: 9px; height: 9px; top: calc(var(--my) - 4px); left: calc(50% - 4px); box-shadow: 0 0 0 4px var(--bg); }
.vms .tl__c { gap: .35rem; padding: var(--pad) var(--pad) calc(var(--pad) + 2px); border-radius: 12px; }
.vms .tl__t { font-size: .9rem; line-height: 1.2; letter-spacing: -.015em; hyphens: auto; }
.vms .tl__d { font-size: .76rem; line-height: 1.45; hyphens: auto; }
.vms .tl__c .pills { gap: .3rem; }
.vms .tl__c .pills :is(li, .t-li) { font-size: .66rem; padding: .25rem .55rem; }
}
.vms .gal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 18px); }
@media (min-width: 900px) {
.vms .gal { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: clamp(120px, 11vw, 190px); }
.vms .gal > :nth-child(6n+1) { grid-column: span 5; grid-row: span 3; }
.vms .gal > :nth-child(6n+2) { grid-column: span 4; grid-row: span 2; }
.vms .gal > :nth-child(6n+3) { grid-column: span 3; grid-row: span 2; }
.vms .gal > :nth-child(6n+4) { grid-column: span 3; grid-row: span 3; }
.vms .gal > :nth-child(6n+5) { grid-column: span 4; grid-row: span 3; }
.vms .gal > :nth-child(6n) { grid-column: span 5; grid-row: span 2; }
}
.vms .gal__i { position: relative; display: block; overflow: hidden; border-radius: 18px; background: var(--plum); aspect-ratio: 4 / 5; cursor: zoom-in; }
@media (min-width: 900px) {
.vms .gal__i { aspect-ratio: auto; }
}
.vms .gal__i img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease), filter .6s var(--ease); }
.vms .gal__i:hover img, .vms .gal__i:focus-visible img { transform: scale(1.05); }
.vms .gal__i::after { content: attr(data-caption); position: absolute; left: 12px; right: 12px; bottom: 12px; padding: .5rem .75rem; border-radius: 12px; background: rgba(255, 255, 255, .2); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--white); font-size: .74rem; font-weight: 650; opacity: 0; transform: translateY(8px); transition: opacity .45s var(--ease), transform .45s var(--ease); }
.vms .gal__i[data-caption=""]::after { display: none; }
.vms .gal__i:hover::after, .vms .gal__i:focus-visible::after { opacity: 1; transform: none; }
.vms .lb { width: min(1100px, 94vw); max-height: 92vh; padding: 0; border: 0; border-radius: var(--r-card); background: var(--plum); color: var(--white); overflow: hidden; box-shadow: 0 40px 120px rgba(36, 9, 26, .6); }
.vms .lb::backdrop { background: rgba(36, 9, 26, .78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.vms .lb[open] { animation: lbIn .5s var(--ease); }
@keyframes lbIn { from { opacity: 0; transform: translateY(18px) scale(.98); } }
.vms .lb :is(figure, .t-figure) { margin: 0; display: grid; }
.vms .lb img { width: 100%; max-height: 78vh; object-fit: contain; background: var(--plum); filter: none; }
.vms .lb :is(figcaption, .t-figcaption) { padding: 1rem 1.4rem 0; font-size: .9rem; color: rgba(255, 255, 255, .8); }
.vms .lb__bar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.4rem 1.2rem; }
.vms .lb__nav { display: flex; gap: .6rem; }
.vms .lb .rbtn { --card-bg: rgba(255, 255, 255, .08); --card-bd: rgba(255, 255, 255, .2); color: var(--white); box-shadow: none; }
.vms .lb__close { display: inline-flex; align-items: center; gap: .7rem; min-height: 44px; font-size: .72rem; font-weight: 720; letter-spacing: .16em; text-transform: uppercase; color: var(--white); }
.vms .lb__close::before { content: ""; width: 26px; height: 1.5px; background: var(--pink-lt); transition: width .4s var(--ease); }
.vms .lb__close:hover::before { width: 40px; }
.vms [data-filter-list] > [data-cat] { transition: opacity .45s var(--ease), transform .55s var(--ease); }
.vms [data-filter-list] > [data-cat].is-off { display: none; }
.vms [data-filter-list] > [data-cat].is-fading { opacity: 0; transform: translateY(12px) scale(.98); }
.vms .sec-head--center { text-align: center; justify-items: center; }
@media (min-width: 900px) {
.vms .sec-head--center { grid-template-columns: 1fr; }
.vms .sec-head--center > .sec-head__t, .vms .sec-head--center > .sec-head__aside { grid-column: 1; }
}
.vms .sec-head--center .h2 { margin-inline: auto; }
.vms .legal { max-width: 72ch; }
.vms .legal h2 { font-size: clamp(1.3rem, 1.1rem + .6vw, 1.7rem); font-weight: 640; letter-spacing: -.02em; margin: 2.4rem 0 .8rem; }
.vms .legal p, .vms .legal :is(li, .t-li) { color: var(--fg-2); }
.vms .legal p + p { margin-top: .9rem; }
.vms .legal a { color: var(--accent); }
.vms .phero__kw, .vms .phero__t > span:first-child { display: flex; margin-bottom: clamp(16px, 1.8vw, 24px); }
.vms .phero--center .phero__kw, .vms .phero--center .phero__t > span:first-child { justify-content: center; }
.vms .strips { position: absolute; inset: 0; z-index: 3; display: grid; grid-template-columns: repeat(5, 1fr); pointer-events: none; }
.vms .strips i { background: var(--bg); transition: transform 1.3s cubic-bezier(.7, 0, .2, 1); }
.vms .strips i:nth-child(2) { transition-delay: .12s; }
.vms .strips i:nth-child(3) { transition-delay: .24s; }
.vms .strips i:nth-child(4) { transition-delay: .36s; }
.vms .strips i:nth-child(5) { transition-delay: .48s; }
.vms [data-surface="soft"] .strips i, .vms [data-surface="blush"] .strips i { background: color-mix(in srgb, var(--fg) 2.8%, var(--bg)); }
.vms [data-strips].is-in .strips i:nth-child(odd) { transform: translateY(-101%); }
.vms [data-strips].is-in .strips i:nth-child(even) { transform: translateY(101%); }
.vms [data-strips] img { transform: scale(1.08); transition: transform 2s var(--ease) .3s; }
.vms [data-strips].is-in img { transform: none; }
html:not(.js) .vms .strips { display: none; }
@media (prefers-reduced-motion: reduce) {
.vms .strips { display: none; }
.vms [data-strips] img { transform: none; }
}
.vms .dmask { position: relative; aspect-ratio: 4 / 4.4; border-radius: var(--r-card); overflow: hidden; background: var(--card-bg); border: 1px solid var(--card-bd); }
.vms .chap__media.dmask { background: var(--card-bg); }
.vms .dmask__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.vms .dm__p { fill: none; stroke: #fff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0; stroke-dasharray: 1 1; stroke-dashoffset: 1; }
.vms .dmask.is-in .dm__p { animation: dmDraw 1.6s cubic-bezier(.45, 0, .25, 1) forwards, dmGrow 1.8s cubic-bezier(.7, 0, .2, 1) 1.9s forwards; animation-delay: calc(var(--k) * .2s), 1.9s; }
@keyframes dmDraw { from { stroke-width: 7; stroke-dashoffset: 1; } to { stroke-width: 7; stroke-dashoffset: 0; } }
@keyframes dmGrow { from { stroke-width: 7; stroke-dashoffset: 0; } to { stroke-width: 260; stroke-dashoffset: 0; } }
html:not(.js) .vms .dm__p { stroke-width: 400; stroke-dashoffset: 0; }
@media (prefers-reduced-motion: reduce) {
.vms .dm__p { stroke-width: 400 !important; stroke-dashoffset: 0 !important; animation: none !important; }
}
/* ===== 50-home.css ===== */
.vms .hero4 { position: relative; overflow: hidden; isolation: isolate; min-height: max(760px, 100svh); padding-top: calc(var(--hdr) + 4px); display: grid; grid-template-rows: auto 1fr; justify-items: center; text-align: center;
  background: var(--white); }
html[data-mode="dark"] .vms .hero4 { background: linear-gradient(180deg, var(--ink) 0%, var(--ink) 34%, var(--plum) 72%, var(--ink) 100%); }
.vms .hero4__top { position: relative; z-index: 2; display: grid; justify-items: center; gap: clamp(12px, 1.4vw, 18px); padding-inline: var(--gutter); }
.vms .hero4__logo { position: relative; width: min(64vw, 31vh, 400px); aspect-ratio: 236 / 190; }
@media (max-width: 700px) {
.vms .hero4__logo { width: min(66vw, 300px); }
}
.vms .hero4__t { font-size: clamp(2rem, 1.1rem + 2.6vw, 4rem); line-height: 1.02; letter-spacing: -.045em; font-weight: 600; max-width: none; }
.vms .hero4__l, .vms .hero4__t > span:not(:first-child) { display: block; }
.vms .hero4__kw, .vms .hero4__t > span:first-child { display: block; text-wrap: balance; margin: 0 auto clamp(12px, 1.4vw, 18px); font-size: var(--fs-label); font-weight: 720; letter-spacing: .22em; line-height: 1.4; text-transform: uppercase; color: var(--accent); }
.vms .hero4 .lead { color: var(--fg-2); max-width: 52ch; font-size: clamp(1rem, .95rem + .3vw, 1.2rem); }
.vms .hero4 .btn-row { justify-content: center; }
.vms .hero4 [data-rise] { opacity: 0; transform: translate3d(0, 18px, 0); animation: rise .9s var(--ease) forwards; animation-delay: calc(var(--t, 0s) * var(--spd, 1)); }
@keyframes rise { to { opacity: 1; transform: none; } }
.vms .hero4::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; height: clamp(44px, 7vh, 80px); pointer-events: none; background: linear-gradient(180deg, color-mix(in srgb, var(--bg) 0%, transparent), color-mix(in srgb, var(--bg) 35%, transparent) 50%, var(--bg)); }
.vms .fan { --spread: clamp(150px, 15.5vw, 262px); --cw: clamp(190px, 19vw, 310px); --drag: 0px; position: relative; z-index: 1; width: 100%; min-height: clamp(400px, 52vh, 580px); margin-top: clamp(8px, 2vh, 24px); touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.vms .fan__c { --o: 0; --ao: 0; --dl: 0s;
  --x: calc(var(--o) * var(--spread) + var(--drag)); --y: calc(var(--ao) * var(--ao) * 13px + var(--ao) * 8px - 10px); --r: calc(var(--o) * 9deg); --s: calc(1 - var(--ao) * .05);
  position: absolute; left: 50%; bottom: calc(-1 * clamp(30px, 5vh, 70px)); width: var(--cw); aspect-ratio: 4 / 5.6; margin-left: calc(var(--cw) / -2);
  border-radius: 18px; overflow: hidden; text-decoration: none; color: var(--white); background: var(--plum); box-shadow: 0 30px 50px -26px rgba(5, 7, 8, .45), 0 0 0 1px rgba(255, 255, 255, .6) inset;
  transform-origin: 50% 120%; transform: translate3d(var(--x), var(--y), 0) rotate(var(--r)) scale(var(--s)); transition: transform .9s var(--ease), box-shadow .5s var(--ease), opacity .6s var(--ease), filter .6s var(--ease); -webkit-user-drag: none; }
.vms .fan.is-dragging .fan__c { transition: box-shadow .5s var(--ease), opacity .6s var(--ease); }
.vms .fan__c.is-jump { transition: none !important; opacity: 0; }
.vms .fan__c:nth-child(1) { --o: -2; --ao: 2; z-index: 1; }
.vms .fan__c:nth-child(2) { --o: -1; --ao: 1; z-index: 2; }
.vms .fan__c:nth-child(3) { --o: 0; --ao: 0; z-index: 3; }
.vms .fan__c:nth-child(4) { --o: 1; --ao: 1; z-index: 2; }
.vms .fan__c:nth-child(5) { --o: 2; --ao: 2; z-index: 1; }
.vms .fan__c img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); pointer-events: none; }
.vms .fan__c::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(36, 9, 26, .45), transparent 38%); }
.vms .fan__l { position: absolute; z-index: 1; left: 12px; right: 12px; top: 12px; display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .6rem .75rem; border-radius: 12px; background: rgba(255, 255, 255, .2); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-align: left; transition: background-color .5s var(--ease), color .5s var(--ease); }
.vms .fan__l::after { width: 16px; height: 8px; flex: none; transition: transform .5s var(--ease); }
.vms .fan__c.is-active { --y: -26px; box-shadow: 0 46px 70px -28px rgba(5, 7, 8, .55), 0 0 0 1px rgba(255, 255, 255, .7) inset; }
.vms .fan__c.is-active .fan__l { background: rgba(255, 255, 255, .86); color: var(--pink); }
.vms .fan__c.is-active img { transform: scale(1.04); }
@media (hover: hover) and (pointer: fine) {
.vms .fan__c:not(.is-active):hover { --y: calc(var(--ao) * var(--ao) * 13px + var(--ao) * 8px - 34px); }
.vms .fan__c:hover img { transform: scale(1.08); }
.vms .fan__c:hover .fan__l::after { transform: translateX(4px); }
}
html.js .vms .fan:not(.is-live) .fan__c { animation: fanIn 1.25s var(--ease) both; animation-delay: calc((.55s + var(--dl)) * var(--spd, 1)); }
@keyframes fanIn { from { transform: translate3d(0, 60vh, 0) rotate(0deg) scale(.9); } to { transform: translate3d(var(--x), var(--y), 0) rotate(var(--r)) scale(var(--s)); } }
.vms .fan__c:nth-child(3) { --dl: 0s; }
.vms .fan__c:nth-child(2), .vms .fan__c:nth-child(4) { --dl: .12s; }
.vms .fan__c:nth-child(1), .vms .fan__c:nth-child(5) { --dl: .24s; }
@media (max-width: 700px) {
.vms .hero4 { min-height: auto; }
.vms .fan { --spread: 36vw; --cw: 58vw; min-height: 430px; }
.vms .fan__c.is-far, html:not(.js) .vms .fan__c:is(:nth-child(1), :nth-child(5)) { opacity: 0; pointer-events: none; }
.vms .fan__c.is-active { --y: -18px; }
}
.vms .logo-hero { width: 100%; height: 100%; overflow: visible; }
.vms .logo-hero [data-part] { fill: var(--logo-ink); }
.vms .logo-hero [data-part="arc"] { fill: url(#rib-d); }
.vms .logo-hero .pen { fill: none; stroke: var(--white); stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1 1; stroke-dashoffset: 0; }
html.js .vms .logo-hero .pen { stroke-dashoffset: 1; animation: penDraw var(--pd, 1s) var(--ease-draw) forwards; animation-delay: calc(var(--pt, 0s) * var(--spd, 1)); animation-duration: calc(var(--pd, 1s) * var(--spd, 1)); }
@keyframes penDraw { to { stroke-dashoffset: 0; } }
.vms #lp12 .pen { --pt: .15s; --pd: 1.15s; }
.vms #lp13 .pen { --pt: .3s; --pd: 1.15s; }
.vms #lp0 .pen { --pt: .6s; --pd: .95s; }
.vms #lp1 .pen { --pt: 1.1s; --pd: .38s; }
.vms #lp2 .pen { --pt: 1.42s; --pd: .48s; }
.vms #lp3 .pen { --pt: 1.8s; --pd: .42s; }
.vms #lp3 .pen[style*="--k:1"] { --pt: 2.12s; --pd: .22s; }
.vms #lp14 .pen { --pt: 2s; --pd: .55s; }
html.js .vms .logo-hero [data-part="letter"] { opacity: 0; animation: letterIn .8s var(--ease) forwards; animation-delay: calc((2.1s + var(--l) * 60ms) * var(--spd, 1)); }
@keyframes letterIn { from { opacity: 0; } to { opacity: 1; } }
.vms .hero3__shine { position: absolute; inset: 0; pointer-events: none; -webkit-mask: url(assets/svg/logo-mask.svg) center / 100% 100% no-repeat; mask: url(assets/svg/logo-mask.svg) center / 100% 100% no-repeat;
  background: linear-gradient(105deg, transparent 36%, rgba(242, 196, 220, .75) 44%, rgba(255, 255, 255, 1) 50%, rgba(242, 196, 220, .85) 56%, transparent 64%) 140% 0 / 300% 100% no-repeat;
  filter: drop-shadow(0 0 6px rgba(242, 196, 220, .95)) drop-shadow(0 0 16px rgba(227, 122, 180, .5));
  animation: shineOnce 1.1s cubic-bezier(.45, 0, .25, 1) calc(2.55s * var(--spd, 1)) both, shineLoop 9s cubic-bezier(.45, 0, .25, 1) 8s infinite; }
@keyframes shineOnce { from { background-position: 140% 0; } to { background-position: -40% 0; } }
@keyframes shineLoop { 0% { background-position: 140% 0; } 12%, 100% { background-position: -40% 0; } }
html.intro-fast { --spd: .45; }
.vms.p-home .hdr:not(.is-scrolled) .brand { opacity: 0; pointer-events: none; }
.vms.p-home .brand { transition: opacity .5s var(--ease); }
.vms .state { font-size: clamp(1.9rem, .9rem + 3.9vw, 5.2rem); line-height: 1.1; letter-spacing: -.045em; font-weight: 560; text-wrap: balance; max-width: 25ch; }
.vms .state .ac, .vms .state em, .vms .state :is(.hcard__n, .hnext__t, .dcard__n) > span { font-size: 1.62em; }
.vms .state-foot { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1.5rem 3rem; margin-top: clamp(32px, 4vw, 56px); }
.vms .state-foot .sig { transform: rotate(-4deg); }
.vms .marq { overflow: hidden; padding-block: clamp(14px, 1.6vw, 20px); border-block: 1px solid var(--hair); }
.vms .marq__track { display: flex; width: max-content; animation: marq 46s linear infinite; }
.vms .marq:hover .marq__track { animation-play-state: paused; }
.vms .marq__item { display: inline-flex; align-items: center; gap: clamp(16px, 1.8vw, 28px); padding-right: clamp(16px, 1.8vw, 28px); font-family: var(--f-serif); font-size: clamp(1.25rem, 1rem + .9vw, 1.9rem); line-height: 1.1; letter-spacing: -.02em; white-space: nowrap; color: var(--fg); }
.vms .marq__item:nth-child(even) { color: var(--accent); }
.vms .marq__sep { width: clamp(20px, 1.8vw, 30px); height: auto; flex: none; }
.vms .marq__sep path { fill: none; stroke: var(--accent); stroke-width: 2.4; stroke-linecap: round; }
@keyframes marq { to { transform: translate3d(-50%, 0, 0); } }
.vms .idx { border-top: 1px solid var(--hair-strong); }
.vms .idx__row { --i: 0; position: relative; display: grid; gap: .6rem 2rem; padding: clamp(22px, 2.8vw, 40px) 0; border-bottom: 1px solid var(--hair); text-decoration: none; color: inherit; isolation: isolate; }
@media (min-width: 900px) {
.vms .idx__row { grid-template-columns: clamp(140px, 13vw, 210px) minmax(0, 1fr) minmax(0, 30ch) 72px; align-items: center; }
}
.vms .idx__row::after { content: ""; position: absolute; inset: 0 calc(-1 * clamp(10px, 1.4vw, 24px)); z-index: -1; background: rgba(5, 7, 8, .03); transform: scaleX(0); transform-origin: left; transition: transform .8s var(--ease); }
html[data-mode="dark"] .vms .idx__row::after { background: rgba(122, 28, 85, .3); }
.vms .idx__row:hover::after, .vms .idx__row:focus-visible::after { transform: scaleX(1); }
.vms .idx__row::before { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: linear-gradient(90deg, var(--rib-a), var(--rib-b) 55%, var(--rib-c)); transform: scaleX(0); transform-origin: left; transition: transform .9s var(--ease); }
.vms .idx__row:hover::before, .vms .idx__row:focus-visible::before { transform: scaleX(1); }
.vms .idx__m { display: block; overflow: hidden; }
.vms .idx__m img { transition: transform 1.2s var(--ease); }
.vms .idx__row:hover .idx__m img { transform: scale(1.07); }
.vms .idx__t { display: block; overflow: hidden; padding-bottom: .06em; font-size: clamp(2rem, 1rem + 3.4vw, 5rem); font-weight: 600; letter-spacing: -.05em; line-height: 1; }
.vms .idx__t > span { display: inline-block; transition: transform .8s var(--ease), color .45s var(--ease); }
.vms .idx__row:hover .idx__t > span, .vms .idx__row:focus-visible .idx__t > span { transform: translateX(clamp(10px, 1.4vw, 22px)); }
.vms .idx__t .ac, .vms .idx__t em, .vms .idx__t :is(.hcard__n, .hnext__t, .dcard__n) > span { font-size: 1.62em; }
.vms .idx__d { color: var(--fg-2); font-size: .98rem; }
.vms .idx__go { position: relative; justify-self: end; width: 72px; height: 16px; color: var(--fg); }
.vms .idx__go::before { content: ""; position: absolute; left: 22px; right: 2px; top: 50%; height: 1.5px; margin-top: -.75px; background: currentColor; transform-origin: right; transition: transform .7s var(--ease), background-color .4s var(--ease); }
.vms .idx__go::after { content: ""; position: absolute; right: 2px; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .7s var(--ease); }
.vms .idx__row:hover .idx__go, .vms .idx__row:focus-visible .idx__go { color: var(--accent); }
.vms .idx__row:hover .idx__go::before, .vms .idx__row:focus-visible .idx__go::before { transform: scaleX(1.55); }
.vms .idx__row:hover .idx__go::after, .vms .idx__row:focus-visible .idx__go::after { transform: translateX(6px) rotate(45deg); }
@media (max-width: 899px) {
.vms .idx__m { margin-bottom: .6rem; }
.vms .idx__go { display: none; }
}
html.js .vms .idx__m { transition: clip-path 1.1s var(--ease); transition-delay: calc(var(--i) * 140ms); }
html.js .vms .idx__t > span { transition: transform 1s var(--ease), color .45s var(--ease); transition-delay: calc(.12s + var(--i) * 140ms); }
html.js .vms .idx__d { transition: opacity .9s var(--ease), transform .9s var(--ease); transition-delay: calc(.25s + var(--i) * 140ms); }
html.js .vms .idx__go::before { transition: transform .7s var(--ease), background-color .4s var(--ease); }
html.js .vms .idx:not(.is-in) .idx__m { clip-path: inset(100% 0 0 0); }
html.js .vms .idx:not(.is-in) .idx__t > span { transform: translate3d(0, 105%, 0); }
html.js .vms .idx:not(.is-in) .idx__d { opacity: 0; transform: translate3d(0, 16px, 0); }
html.js .vms .idx:not(.is-in) .idx__go::before { transform: scaleX(0); }
html.js .vms .idx:not(.is-in) .idx__go::after { opacity: 0; }
.vms .idx.is-in .idx__row:not(:hover) .idx__t > span { transition-delay: 0s, 0s; }
@media (prefers-reduced-motion: reduce) {
html.js .vms .idx .idx__m, html.js .vms .idx .idx__t > span, html.js .vms .idx .idx__d { clip-path: none !important; transform: none !important; opacity: 1 !important; }
}
.vms .score { position: relative; overflow: hidden; isolation: isolate; }
.vms .score__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 56px) clamp(16px, 2vw, 32px); }
@media (min-width: 900px) {
.vms .score__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.vms .score__n { display: block; font-family: var(--f-serif); font-size: clamp(3.6rem, 1.6rem + 6vw, 8.6rem); line-height: .9; letter-spacing: -.02em; background: linear-gradient(100deg, var(--rib-a), var(--rib-b) 60%, var(--rib-c)); -webkit-background-clip: text; background-clip: text; color: var(--accent); -webkit-text-fill-color: transparent; }
.vms .score__t { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--hair); color: var(--fg-2); font-size: .95rem; max-width: 26ch; }
.vms .score__t strong { display: block; color: var(--fg); font-weight: 650; }
.vms .col { display: grid; gap: clamp(28px, 3vw, 40px); }
@media (min-width: 900px) {
.vms .col { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2vw, 32px); align-items: start; }
.vms .col__a { grid-column: 1 / span 5; }
.vms .col__b { grid-column: 6 / span 4; margin-top: clamp(80px, 11vw, 190px); }
.vms .col__c { grid-column: 10 / span 3; margin-top: clamp(30px, 4vw, 64px); }
.vms .col__c .pf__name { font-size: clamp(1.5rem, .9rem + 1.6vw, 2.4rem); }
.vms .col__b .pf__name { font-size: clamp(1.6rem, .9rem + 2vw, 2.9rem); }
}
.vms .pf { display: grid; gap: 1rem; text-decoration: none; color: inherit; }
.vms .pf__img { position: relative; overflow: hidden; background: var(--bg-soft); }
.vms .pf__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.3s var(--ease); }
.vms .pf:hover .pf__img img, .vms .pf:focus-visible .pf__img img { transform: scale(1.05); }
.vms .pf__name { font-size: clamp(1.8rem, 1rem + 2.6vw, 3.6rem); font-weight: 600; letter-spacing: -.045em; line-height: .95; }
.vms .pf__name .ac, .vms .pf__name em, .vms .pf__name :is(.hcard__n, .hnext__t, .dcard__n) > span { font-size: 1.62em; }
.vms .pf__meta { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.vms .pf__role { font-size: var(--fs-label); font-weight: 720; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); white-space: nowrap; }
.vms .pf__txt { color: var(--fg-2); max-width: 44ch; }
.vms .pf__name { transition: color .5s var(--ease); }
.vms .pf:hover .pf__name, .vms .pf:focus-visible .pf__name { color: var(--accent); }
.vms .vic { display: grid; align-items: stretch; }
@media (min-width: 980px) {
.vms .vic { grid-template-columns: 1fr 1fr; min-height: 92vh; }
}
.vms .vic__img { position: relative; overflow: hidden; min-height: 70vh; }
.vms .vic__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 2s var(--ease); }
.vms .vic__img.is-in img { transform: scale(1); }
.vms .vic__txt { display: grid; align-content: center; gap: clamp(20px, 2.4vw, 32px); padding: clamp(48px, 7vw, 120px) var(--gutter); }
.vms .vic__q { font-size: clamp(1.8rem, 1rem + 2.4vw, 3.4rem); line-height: 1.08; letter-spacing: -.04em; font-weight: 560; max-width: 18ch; }
.vms .vic .sig { transform: rotate(-4deg); transform-origin: left; }
.vms .steps { display: grid; gap: clamp(20px, 2.4vw, 32px); }
@media (min-width: 900px) {
.vms .steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.vms .end { position: relative; overflow: hidden; isolation: isolate; padding-block: clamp(110px, 13vw, 200px); }
.vms .end__sig { position: absolute; z-index: -1; right: 4vw; top: 6%; margin: 0; font-family: var(--f-script); font-weight: 400; font-size: clamp(8rem, 3rem + 17vw, 22rem); line-height: 1; letter-spacing: 0; color: rgba(227, 122, 180, .32); transform: rotate(-7deg); pointer-events: none; user-select: none; white-space: nowrap; padding: .1em .25em .25em .1em;
  clip-path: inset(-20% 100% -20% -5%); transition: clip-path 2.4s cubic-bezier(.55, .1, .35, 1) .2s; }
.vms .end.is-in .end__sig, html:not(.js) .vms .end__sig { clip-path: inset(-20% -5% -20% -5%); }
@media (max-width: 700px) {
.vms .end__sig { font-size: 7rem; right: -4vw; top: auto; bottom: 2vw; }
}
@media (prefers-reduced-motion: reduce) {
.vms .end__sig { clip-path: none; transition: none; }
}
.vms .end__t { font-size: clamp(2.8rem, 1rem + 6.2vw, 8rem); line-height: .92; letter-spacing: -.055em; font-weight: 600; max-width: 13ch; }
@media (prefers-reduced-motion: reduce) {
.vms .hero4 [data-rise], .vms .logo-hero [data-part] { opacity: 1 !important; transform: none !important; animation: none !important; }
.vms .fan__c { animation: none !important; transition: none !important; }
.vms .logo-hero .pen { stroke-dashoffset: 0 !important; animation: none !important; }
.vms .hero3__shine { animation: none !important; }
.vms .marq__track { animation: none !important; }
}
.vms .pre { display: none; }
html.has-intro .vms .pre { display: block; position: fixed; inset: 0; z-index: 400; color: var(--ink); }
.vms .pre__c { position: absolute; inset: 0; transition: transform 1s var(--ease-io); }
.vms .pre__c--plum { z-index: 2; display: grid; place-items: center; background: var(--white); }
.vms .pre__c--wine { z-index: 1; background: var(--rose); transition-delay: .16s; }
html[data-mode="dark"] .vms .pre { color: var(--white); }
html[data-mode="dark"] .vms .pre__c--plum { background: var(--plum); }
html[data-mode="dark"] .vms .pre__c--wine { background: var(--wine); }
html.intro-out .vms .pre__c { transform: translateY(-100%); }
.vms .pre__center { display: grid; justify-items: center; transition: opacity .45s, transform .9s var(--ease); }
html.intro-out .vms .pre__center { opacity: 0; transform: translateY(-3rem) scale(.96); }
.vms .pre__mark { position: relative; width: clamp(11rem, 7rem + 9vw, 17rem); aspect-ratio: 236 / 190; animation: preMark 1.5s var(--ease) both .05s; }
.vms .pre__mark svg { width: 100%; height: 100%; }
.vms .pre__mark .logo-ink { fill: var(--ink); }
.vms .pre__mark .logo-arc { fill: url(#rib-d); }
html[data-mode="dark"] .vms .pre__mark .logo-ink { fill: var(--white); }
html[data-mode="dark"] .vms .pre__mark .logo-arc { fill: url(#rib-intro); }
@keyframes preMark { from { opacity: 0; filter: blur(18px); transform: scale(1.12); } to { opacity: 1; filter: blur(0); transform: none; } }
.vms .pre__shine { position: absolute; inset: 0; pointer-events: none; -webkit-mask: url(assets/svg/logo-mask.svg) center / 100% 100% no-repeat; mask: url(assets/svg/logo-mask.svg) center / 100% 100% no-repeat;
  background: linear-gradient(105deg, transparent 36%, rgba(227, 122, 180, .8) 45%, rgba(242, 196, 220, 1) 50%, rgba(227, 122, 180, .8) 55%, transparent 64%) 140% 0 / 300% 100% no-repeat;
  filter: drop-shadow(0 0 8px rgba(227, 122, 180, .7)); animation: shineOnce .9s cubic-bezier(.45, 0, .25, 1) 1s both; }
.vms .pre__sig { margin-top: .4rem; font-family: var(--f-script); font-size: clamp(2.6rem, 2rem + 2vw, 3.8rem); line-height: 1.3; color: var(--pink); padding-inline: .2em; animation: writeIn 1.25s cubic-bezier(.55, .1, .35, 1) both .45s; }
@keyframes writeIn { from { clip-path: inset(-30% 100% -30% -5%); } to { clip-path: inset(-30% -5% -30% -5%); } }
.vms .pre__line { position: relative; width: 11rem; height: 1px; margin-top: 1.4rem; background: rgba(5, 7, 8, .1); overflow: hidden; }
.vms .pre__line i { position: absolute; inset: 0; background: var(--pink); transform: scaleX(0); transform-origin: 0 50%; animation: introBar 1.6s var(--ease-io) .1s forwards; }
@keyframes introBar { to { transform: scaleX(1); } }
.vms .pre__skip { position: absolute; right: var(--gutter); bottom: clamp(1.25rem, 4vh, 2.5rem); min-height: 44px; font-size: .66rem; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--muted); }
.vms .pre__skip:hover { color: var(--pink); }
html[data-mode="dark"] .vms .pre__sig { color: var(--pink-lt); }
html[data-mode="dark"] .vms .pre__line { background: rgba(255, 255, 255, .14); }
html[data-mode="dark"] .vms .pre__skip { color: rgba(255, 255, 255, .74); }
html.intro-gone .vms .pre { display: none !important; }
html.has-intro { --spd: 1; }
html.has-intro .vms .logo-hero .pen { animation: none; stroke-dashoffset: 0; }
html.has-intro .vms .logo-hero [data-part="letter"] { animation: none; opacity: 1; }
html.has-intro .vms .hero4 [data-rise] { animation-delay: calc(var(--t, 0s) + .55s); }
html.has-intro .vms .fan:not(.is-live) .fan__c { animation-delay: calc(2.15s + var(--dl)); }
html.has-intro .vms .hero3__shine { animation: shineOnce 1.1s cubic-bezier(.45, 0, .25, 1) 2.6s both, shineLoop 9s cubic-bezier(.45, 0, .25, 1) 8s infinite; }
@media (prefers-reduced-motion: reduce) {
.vms .pre { display: none !important; }
}
.vms [data-glow] .gw { --v: 0; color: color-mix(in srgb, var(--accent) calc(var(--v) * 100%), rgba(5, 7, 8, .12)); text-shadow: 0 0 calc(var(--v) * 22px) rgba(227, 122, 180, calc(var(--v) * .38)); transition: color .5s linear, text-shadow .5s linear; }
html[data-mode="dark"] .vms [data-glow] .gw { color: color-mix(in srgb, var(--accent) calc(var(--v) * 100%), rgba(255, 255, 255, .14)); text-shadow: 0 0 calc(var(--v) * 24px) rgba(227, 122, 180, calc(var(--v) * .45)); }
@media (prefers-reduced-motion: reduce) {
.vms [data-glow] .gw { --v: 1 !important; }
}
.vms .hero4__t .ac, .vms .hero4__t em, .vms .hero4__t :is(.hcard__n, .hnext__t, .dcard__n) > span { position: relative; z-index: 1; font-size: 2.35em; margin-left: .02em; vertical-align: -.12em; -webkit-text-stroke: .011em var(--accent); paint-order: stroke fill; }
@media (max-width: 700px) {
.vms .hero4__t .ac, .vms .hero4__t em, .vms .hero4__t :is(.hcard__n, .hnext__t, .dcard__n) > span { font-size: 2.1em; }
.vms .hero4__l:last-child, .vms .hero4__t > span:not(:first-child):last-child { white-space: nowrap; }
.vms .hero4 .lead { margin-top: .9rem; }
}
/* ===== 55-modules.css ===== */
:root { --r-card: 20px; --r-pill: 2px; --card-bg: var(--white); --card-bd: rgba(5, 7, 8, .08); --card-sh: 0 24px 50px -30px rgba(5, 7, 8, .22), 0 1px 3px rgba(5, 7, 8, .05); --glass: rgba(255, 255, 255, .78); }
html[data-mode="dark"] { --card-bg: var(--plum); --card-bd: rgba(227, 122, 180, .18); --card-sh: 0 30px 70px -30px rgba(0, 0, 0, .8); --glass: rgba(5, 7, 8, .62); }
.vms .seg2 { position: relative; display: inline-flex; max-width: 100%; overflow-x: auto; scrollbar-width: none; padding: 5px; gap: 2px; border-radius: 999px; background: var(--bg-soft); border: 1px solid var(--card-bd); isolation: isolate; }
.vms .seg2__b { position: relative; z-index: 1; min-height: 42px; padding: 0 1.15rem; border-radius: 999px; font-size: .78rem; font-weight: 680; letter-spacing: .04em; color: var(--fg-2); transition: color .45s var(--ease); white-space: nowrap; }
.vms .seg2__b[aria-pressed="true"], .vms .seg2__b[aria-selected="true"] { color: var(--btn-fg); }
.vms .seg2__ind { position: absolute; z-index: 0; top: 5px; bottom: 5px; left: 0; width: var(--w, 80px); transform: translateX(var(--x, 5px)); border-radius: 999px; background: var(--btn-bg); box-shadow: 0 6px 16px -8px rgba(5, 7, 8, .45); transition: transform .6s var(--ease), width .6s var(--ease); }
html[data-mode="dark"] .vms .seg2__ind { background: var(--pink-lt); }
.vms .sw { display: grid; gap: clamp(20px, 3vw, 48px); }
@media (min-width: 1000px) {
.vms .sw { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: stretch; }
}
.vms .sw__tabs { display: grid; align-content: start; gap: 6px; }
@media (max-width: 999px) {
.vms .sw__tabs { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); overflow-x: auto; scrollbar-width: none; }
}
.vms .sw__tab { position: relative; display: grid; gap: .35rem; text-align: left; padding: clamp(14px, 1.6vw, 22px) clamp(16px, 1.6vw, 24px); border-radius: 16px; border: 1px solid transparent; transition: background-color .5s var(--ease), border-color .5s var(--ease), transform .5s var(--ease); }
.vms .sw__tab:hover { background: var(--bg-soft); }
.vms .sw__tab[aria-selected="true"] { background: var(--card-bg); border-color: var(--card-bd); box-shadow: var(--card-sh); }
.vms .sw__k { font-size: var(--fs-label); font-weight: 720; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); }
.vms .sw__tt { font-size: clamp(1.35rem, 1rem + 1.4vw, 2.3rem); font-weight: 620; letter-spacing: -.035em; line-height: 1.05; color: var(--fg-2); transition: color .45s var(--ease); }
.vms .sw__tab[aria-selected="true"] .sw__tt { color: var(--fg); }
.vms .sw__bar { height: 2px; margin-top: .55rem; border-radius: 2px; background: var(--hair); overflow: hidden; opacity: 0; transition: opacity .4s; }
.vms .sw__tab[aria-selected="true"] .sw__bar { opacity: 1; }
.vms .sw__bar i { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, var(--rib-a), var(--rib-b), var(--rib-c)); transform: scaleX(0); transform-origin: left; }
.vms .sw__tab[aria-selected="true"] .sw__bar i { animation: swProg var(--dur, 7s) linear forwards; }
.vms .sw.is-paused .sw__bar i, .vms .sw.is-manual .sw__bar i { animation-play-state: paused; }
.vms .sw.is-manual .sw__tab[aria-selected="true"] .sw__bar i { animation: none; transform: scaleX(1); }
@keyframes swProg { to { transform: scaleX(1); } }
@media (max-width: 999px) {
.vms .sw__tt { font-size: 1.05rem; }
.vms .sw__tab { padding: 12px 14px; }
}
.vms .sw__stage { position: relative; min-height: clamp(440px, 46vw, 620px); border-radius: var(--r-card); overflow: hidden; background: var(--plum); box-shadow: var(--card-sh); isolation: isolate; }
.vms .sw__panel { position: absolute; inset: 0; visibility: hidden; }
.vms .sw__panel.is-active { visibility: visible; z-index: 1; }
.vms .sw__panel.is-leaving { visibility: visible; z-index: 0; }
.vms .sw__img { position: absolute; inset: 0; clip-path: inset(0 0 0 100%); transition: clip-path 1.05s var(--ease-io); }
.vms .sw__img img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); transition: transform 1.6s var(--ease); }
.vms .sw__panel.is-active .sw__img, .vms .sw__panel.is-leaving .sw__img { clip-path: inset(0 0 0 0); }
.vms .sw__panel.is-active .sw__img img { transform: scale(1.02); }
.vms .sw__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(36, 9, 26, .55)); }
.vms .sw__card { position: absolute; left: clamp(14px, 2vw, 28px); right: clamp(14px, 2vw, 28px); bottom: clamp(14px, 2vw, 28px); max-width: 520px; display: grid; gap: .9rem; padding: clamp(20px, 2.2vw, 32px); border-radius: 18px; background: var(--glass); -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3); border: 1px solid rgba(255, 255, 255, .5); opacity: 0; transform: translate3d(0, 30px, 0); transition: opacity .6s var(--ease), transform .8s var(--ease); }
html[data-mode="dark"] .vms .sw__card { border-color: rgba(227, 122, 180, .2); }
.vms .sw__panel.is-active .sw__card { opacity: 1; transform: none; transition-delay: .35s; }
.vms .sw__card h3 { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.4rem); font-weight: 640; letter-spacing: -.035em; line-height: 1.04; }
.vms .sw__card p { color: var(--fg-2); font-size: .98rem; }
.vms .sw__facts { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; padding: 0; margin: 0; }
.vms .sw__facts :is(li, .t-li) { padding: .45rem .8rem; border-radius: 999px; font-size: .76rem; font-weight: 620; background: rgba(242, 196, 220, .45); color: var(--ink); }
html[data-mode="dark"] .vms .sw__facts :is(li, .t-li) { background: rgba(227, 122, 180, .18); color: var(--white); }
.vms .sw__card .btn-row { margin-top: .3rem; }
.vms .deck { display: grid; gap: clamp(22px, 3vw, 40px); }
.vms .deck__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; min-width: 0; }
.vms .deck__bar .seg2 { flex: 1 1 auto; max-width: 100%; }
@media (min-width: 700px) {
.vms .deck__bar .seg2 { flex: 0 1 auto; }
}
.vms .deck__nav { display: flex; align-items: center; gap: .9rem; }
.vms .deck__count { font-family: var(--f-serif); font-size: 1.5rem; min-width: 4.6ch; text-align: center; color: var(--fg); }
.vms .deck__count span { color: var(--accent); }
.vms .rbtn { position: relative; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 999px; border: 1px solid var(--card-bd); background: var(--card-bg); color: var(--fg); box-shadow: var(--card-sh); transition: transform .5s var(--ease), background-color .4s var(--ease), color .4s var(--ease); }
.vms .rbtn::after { width: 18px; height: 10px; }
.vms .rbtn:hover { background: var(--btn-bg); color: var(--btn-fg); transform: translateY(-2px); }
.vms .rbtn--prev::after { transform: scaleX(-1); }
.vms .deck__stack { position: relative; height: clamp(520px, 52vw, 640px); perspective: 1600px; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.vms .dcard, .vms .dcard img { -webkit-user-drag: none; }
.vms .dcard[data-pos="0"] { cursor: grab; }
.vms .dcard { --pos: 0; position: absolute; inset: 0 0 auto 0; height: calc(100% - 40px); display: grid; border-radius: var(--r-card); overflow: hidden; text-decoration: none; color: var(--fg); background: var(--card-bg); border: 1px solid var(--card-bd); box-shadow: var(--card-sh);
  transform: translate3d(0, calc(var(--pos) * 20px), 0) scale(calc(1 - var(--pos) * .045)); transform-origin: 50% 100%; z-index: calc(10 - var(--pos)); opacity: calc(1 - var(--pos) * .22);
  transition: transform .8s var(--ease), opacity .6s var(--ease), filter .6s var(--ease); }
.vms .dcard[data-pos="hidden"] { opacity: 0; pointer-events: none; transform: translate3d(0, 60px, 0) scale(.86); }
.vms .dcard:not([data-pos="0"]) { pointer-events: none; filter: saturate(.7); }
.vms .dcard.is-out { z-index: 20 !important; transform: translate3d(-125%, -3%, 0) rotate(-8deg) !important; opacity: 0 !important; filter: none !important; transition: transform .75s var(--ease-io), opacity .3s linear .42s; }
.vms .dcard.is-in-back { z-index: 20 !important; transform: translate3d(-125%, -3%, 0) rotate(-8deg) !important; opacity: 0 !important; }
@media (min-width: 900px) {
.vms .dcard { grid-template-columns: 1.1fr .9fr; }
}
.vms .dcard__img { position: relative; overflow: hidden; min-height: 240px; }
.vms .dcard__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.vms .dcard[data-pos="0"]:hover .dcard__img img { transform: scale(1.05); }
.vms .dcard__body { display: grid; align-content: center; gap: 1rem; padding: clamp(22px, 3vw, 48px); }
.vms .dcard__k { justify-self: start; padding: .4rem .8rem; border-radius: 999px; font-size: .7rem; font-weight: 720; letter-spacing: .14em; text-transform: uppercase; color: var(--white); background: var(--accent); }
.vms .dcard__n { font-size: clamp(2rem, 1.1rem + 2.8vw, 3.8rem); font-weight: 620; letter-spacing: -.045em; line-height: .98; }
.vms .dcard__n .ac, .vms .dcard__n em, .vms .dcard__n :is(.hcard__n, .hnext__t, .dcard__n) > span { font-size: 1.62em; }
.vms .dcard__t { color: var(--fg-2); max-width: 42ch; }
.vms .dcard__facts { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; padding: 0; margin: 0; }
.vms .dcard__facts :is(li, .t-li) { padding: .42rem .78rem; border-radius: 999px; font-size: .76rem; font-weight: 620; border: 1px solid var(--card-bd); color: var(--fg); }
.vms .dcard__go { display: inline-flex; align-items: center; gap: .7rem; font-size: .74rem; font-weight: 720; letter-spacing: .15em; text-transform: uppercase; color: var(--accent); }
.vms .dcard__go::after { width: 20px; height: 10px; transition: transform .5s var(--ease); }
.vms .dcard:hover .dcard__go::after { transform: translateX(6px); }
@media (max-width: 899px) {
.vms .deck__stack { height: 640px; }
.vms .dcard { grid-template-rows: 46% 1fr; }
.vms .dcard__body { align-content: start; }
}
.vms .stats { display: grid; gap: clamp(20px, 2.4vw, 32px); }
.vms .stats__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1.2rem 2rem; }
.vms .stats__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 22px); perspective: 1200px; }
@media (min-width: 900px) {
.vms .stats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.vms .scard { position: relative; display: grid; align-content: space-between; gap: 1.6rem; min-height: clamp(200px, 18vw, 260px); padding: clamp(18px, 2vw, 28px); border-radius: var(--r-card); background: var(--card-bg); border: 1px solid var(--card-bd); box-shadow: var(--card-sh); overflow: hidden; transform-style: preserve-3d; transition: transform .7s var(--ease-io); transition-delay: calc(var(--i, 0) * 80ms); }
html[data-mode="dark"] .vms .stats.is-flip .scard { transform: rotateY(90deg); }
.vms .scard__n { position: relative; font-family: var(--f-serif); font-size: clamp(3rem, 1.6rem + 3.6vw, 5.6rem); line-height: .9; letter-spacing: -.02em; background: linear-gradient(100deg, var(--rib-a), var(--rib-b) 60%, var(--rib-c)); -webkit-background-clip: text; background-clip: text; color: var(--accent); -webkit-text-fill-color: transparent; }
.vms .scard__t { position: relative; font-size: .92rem; color: var(--fg-2); }
.vms .scard__t strong { display: block; color: var(--fg); font-weight: 650; margin-bottom: .2rem; }
@media (prefers-reduced-motion: reduce) {
.vms .sw__img, .vms .sw__card, .vms .dcard, .vms .scard { transition: none !important; }
.vms .sw__bar i { animation: none !important; transform: scaleX(1); }
}
.vms .pcard, .vms .dcard, .vms .tl__c, .vms .kv > div { --sx: 50%; --sy: 50%; }
.vms .tl__c, .vms .kv > div { position: relative; }
.vms .pcard::after, .vms .dcard::after, .vms .tl__c::after, .vms .kv > div::after {
  content: ""; position: absolute; inset: 0; z-index: 5; pointer-events: none; border-radius: inherit; padding: 1px; opacity: 0; transition: opacity .6s var(--ease);
  background: radial-gradient(150px circle at var(--sx) var(--sy), rgba(227, 122, 180, .95), rgba(227, 122, 180, .2) 55%, transparent 85%); padding: 1.5px;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
html[data-mode="dark"] .vms .pcard::after, html[data-mode="dark"] .vms .dcard::after, html[data-mode="dark"] .vms .tl__c::after, html[data-mode="dark"] .vms .kv > div::after {
  background: radial-gradient(150px circle at var(--sx) var(--sy), rgba(227, 122, 180, .7), rgba(227, 122, 180, .12) 55%, transparent 85%); }
.vms .pcard:hover::after, .vms .dcard:hover::after, .vms .tl__c:hover::after, .vms .kv > div:hover::after { opacity: 1; }
@media (hover: none), (prefers-reduced-motion: reduce) {
.vms .pcard::after, .vms .dcard::after, .vms .tl__c::after, .vms .kv > div::after { display: none; }
}
.vms .pcard, .vms .dcard, .vms .tl__c, .vms .kv > div { transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
.vms .pcard:hover, .vms .dcard[data-pos="0"]:hover, .vms .tl__c:hover, .vms .kv > div:hover { box-shadow: var(--card-sh), 0 0 0 1px rgba(227, 122, 180, .22), 0 0 22px -6px rgba(227, 122, 180, .45); }
/* ===== 57-showcase.css ===== */
.vms .hbadges { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; z-index: 3; pointer-events: none; display: none; }
@media (min-width: 1100px) {
.vms .hbadges { display: block; }
}
.vms .hb { --hbd: 1.05s; position: absolute; display: grid; gap: .2rem; padding: .8rem 1.15rem .85rem; border-radius: 16px; pointer-events: auto;
  background: rgba(255, 255, 255, .86); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  border: 1px solid rgba(5, 7, 8, .08); box-shadow: 0 22px 44px -26px rgba(5, 7, 8, .35), 0 1px 3px rgba(5, 7, 8, .05);
  opacity: 0; transform: translate3d(0, 18px, 0) scale(.96); animation: hbIn 1s var(--ease) forwards, hbFloat 7.5s ease-in-out infinite;
  animation-delay: calc(var(--hbd) + var(--o, 0s)), calc(var(--hbd) + 1s + var(--o, 0s)); transition: box-shadow .5s var(--ease); }
html.has-intro .vms .hb { --hbd: 2.6s; }
.vms .hb__k { font-size: .64rem; font-weight: 720; letter-spacing: .14em; text-transform: uppercase; color: var(--fg-2); }
.vms .hb__v { font-size: 1rem; font-weight: 650; letter-spacing: -.015em; color: var(--fg); white-space: nowrap; }
.vms .hb:hover { box-shadow: 0 22px 44px -26px rgba(5, 7, 8, .35), 0 0 0 1px rgba(227, 122, 180, .3), 0 0 20px -6px rgba(227, 122, 180, .5); }
.vms .hb--b1 { left: 5%; top: 24%; --o: 0s; }
.vms .hb--b2 { right: 5%; top: 20%; --o: .15s; }
.vms .hb--b3 { left: 9%; top: 47%; --o: .3s; }
.vms .hb--b4 { right: 8%; top: 44%; --o: .45s; }
.vms .hb--b2, .vms .hb--b3 { animation-duration: 1s, 8.5s; }
html[data-mode="dark"] .vms .hb { background: rgba(36, 9, 26, .72); border-color: rgba(227, 122, 180, .18); box-shadow: 0 22px 44px -26px rgba(0, 0, 0, .7); }
@keyframes hbIn { to { opacity: 1; transform: none; } }
@keyframes hbFloat { 0%, 100% { translate: 0 0; } 50% { translate: 0 -7px; } }
.vms .state-sec { position: relative; overflow: hidden; isolation: isolate; }
.vms .state-sec::after { content: ""; position: absolute; z-index: -1; right: -3vw; top: 6%; width: min(38vw, 520px); aspect-ratio: 172 / 190; pointer-events: none; background: rgba(5, 7, 8, .05);
  -webkit-mask: url(assets/svg/mark-mask.svg) center / contain no-repeat; mask: url(assets/svg/mark-mask.svg) center / contain no-repeat; clip-path: inset(0 100% 0 0); transition: clip-path 2.6s cubic-bezier(.55, .1, .35, 1) .2s; }
html[data-mode="dark"] .vms .state-sec::after { background: rgba(227, 122, 180, .08); }
.vms .state-sec.is-in::after { clip-path: inset(0 -5% 0 0); }
@media (max-width: 899px) {
.vms .state-sec::after { opacity: .6; width: 70vw; top: auto; bottom: -6%; }
}
.vms .cr { --cols: 8; --gapS: 4px; --nameW: clamp(150px, 15vw, 210px); --rngW: 7.5rem; padding: clamp(18px, 2.2vw, 32px) clamp(18px, 2.4vw, 36px); border-radius: var(--r-card); background: var(--card-bg); border: 1px solid var(--card-bd); box-shadow: var(--card-sh); }
.vms .cr__head, .vms .cr__row { display: grid; grid-template-columns: var(--nameW) 1fr var(--rngW); align-items: center; column-gap: clamp(14px, 2vw, 28px); }
.vms .cr__head { padding-bottom: 10px; border-bottom: 1px solid var(--hair); }
.vms .cr__scale { display: grid; grid-template-columns: repeat(var(--cols), 1fr); }
.vms .cr__scale span { padding-right: var(--gapS); font-size: .6rem; font-weight: 720; letter-spacing: .1em; text-transform: uppercase; color: var(--fg-2); white-space: nowrap; }
.vms .cr__scale span:last-child { color: var(--accent); }
.vms .cr__rows { display: grid; }
.vms .cr__row { position: relative; width: 100%; padding: 11px 0; border-bottom: 1px solid var(--hair); text-align: left; cursor: pointer; border-radius: 0; transition: opacity .4s var(--ease); }
.vms .cr__row:last-child { border-bottom: 0; }
.vms .cr__row::before { content: ""; position: absolute; inset: 0 calc(-1 * clamp(8px, 1vw, 14px)); z-index: -1; border-radius: 10px; background: rgba(5, 7, 8, .03); opacity: 0; transition: opacity .35s var(--ease); }
html[data-mode="dark"] .vms .cr__row::before { background: rgba(255, 255, 255, .04); }
.vms .cr__row:hover::before, .vms .cr__row.is-on::before, .vms .cr__row:focus-visible::before { opacity: 1; }
.vms .cr.has-pick .cr__row:not(.is-on) { opacity: .45; }
.vms .cr__name { font-size: clamp(.95rem, .9rem + .2vw, 1.05rem); font-weight: 650; letter-spacing: -.015em; color: var(--fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: 0; transform: translateX(-8px); transition: opacity .6s var(--ease), transform .7s var(--ease); transition-delay: calc(.2s + var(--i, 0) * .09s); }
.vms .cr__head .cr__name { opacity: 1; transform: none; }
.vms .cr.is-in .cr__name { opacity: 1; transform: none; }
.vms .cr__track { position: relative; height: 6px; background: linear-gradient(90deg, var(--hair-strong) calc(100% - var(--gapS)), transparent 0) 0 0 / calc(100% / var(--cols)) 100% repeat-x; }
.vms .cr__bar { position: absolute; inset: 0 auto 0 calc(var(--s) / var(--cols) * 100%); width: calc((var(--e) - var(--s) + 1) / var(--cols) * 100%); background: var(--fg);
  -webkit-mask: linear-gradient(90deg, #000 calc(100% - var(--gapS)), transparent 0) 0 0 / calc(100% / (var(--e) - var(--s) + 1)) 100% repeat-x;
          mask: linear-gradient(90deg, #000 calc(100% - var(--gapS)), transparent 0) 0 0 / calc(100% / (var(--e) - var(--s) + 1)) 100% repeat-x;
  transform: scaleX(0); transform-origin: left; transition: transform .9s cubic-bezier(.65, 0, .25, 1), background-color .35s var(--ease); transition-delay: calc(.35s + var(--i, 0) * .09s), 0s; }
.vms .cr.is-in .cr__bar { transform: scaleX(1); }
.vms .cr__row:hover .cr__bar, .vms .cr__row.is-on .cr__bar, .vms .cr__row:focus-visible .cr__bar { background: var(--accent); }
.vms .cr__row--young .cr__bar { background: color-mix(in srgb, var(--fg) 55%, transparent); }
.vms .cr__rng { justify-self: end; font-size: .68rem; font-weight: 720; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-2); white-space: nowrap; transition: color .35s var(--ease); }
.vms .cr__row:hover .cr__rng, .vms .cr__row.is-on .cr__rng { color: var(--accent); }
.vms .cr__detail { margin-top: clamp(16px, 1.8vw, 24px); }
.vms .cr__card { display: grid; grid-template-columns: auto 1fr; gap: clamp(14px, 1.8vw, 24px); align-items: center; opacity: 0; transform: translateY(8px); transition: opacity .5s var(--ease), transform .6s var(--ease); }
.vms .cr__card.is-show, .vms .cr__card--intro { opacity: 1; transform: none; }
.vms .cr.has-pick .cr__card--intro { display: none; }
.vms .cr__card--intro { grid-template-columns: 1fr; }
.vms .cr__img { width: clamp(96px, 11vw, 160px); aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; }
.vms .cr__img img { width: 100%; height: 100%; object-fit: cover; }
.vms .cr__txt { display: grid; gap: .35rem; justify-items: start; max-width: 62ch; }
.vms .cr__lvl { font-size: var(--fs-label); font-weight: 720; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); }
.vms .cr__txt h3 { font-size: clamp(1.1rem, 1rem + .45vw, 1.35rem); font-weight: 640; letter-spacing: -.03em; line-height: 1.1; }
.vms .cr__txt p { color: var(--fg-2); font-size: .95rem; }
@media (max-width: 760px) {
.vms .cr { --gapS: 3px; padding: 16px 18px; }
.vms .cr__head, .vms .cr__row { grid-template-columns: 1fr auto; grid-template-areas: "name rng" "track track"; row-gap: 8px; }
.vms .cr__head { grid-template-areas: "track track"; padding-bottom: 8px; }
.vms .cr__head .cr__name, .vms .cr__head .cr__rng { display: none; }
.vms .cr__name { grid-area: name; }
.vms .cr__rng { grid-area: rng; font-size: .62rem; }
.vms .cr__track, .vms .cr__scale { grid-area: track; }
.vms .cr__scale span { font-size: .56rem; letter-spacing: .06em; }
.vms .cr__scale span:not(:first-child):not(:last-child) { visibility: hidden; }
.vms .cr__scale span:last-child { text-align: right; padding-right: 0; overflow: visible; direction: rtl; }
.vms .cr__row { padding: 12px 0; }
.vms .cr__card { grid-template-columns: 84px 1fr; align-items: start; }
.vms .cr__card--intro { grid-template-columns: 1fr; }
.vms .cr__img { width: 84px; }
}
@media (prefers-reduced-motion: reduce) {
.vms .cr__bar, .vms .cr__name { transition: none !important; transform: none !important; opacity: 1 !important; }
}
/* ===== 60-erfolge.css ===== */
.vms .e-hi__k { justify-self: start; font-size: var(--fs-label); font-weight: 720; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.vms .e-res { display: grid; gap: clamp(22px, 3vw, 40px); }
.vms .e-res__bar { display: flex; max-width: 100%; min-width: 0; }
.vms .e-res__bar > .seg2 { min-width: 0; flex: 0 1 auto; }
.vms.p-erfolge .e-res .seg2 { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.vms.p-erfolge .e-res .seg2::-webkit-scrollbar { display: none; }
.vms .e-board .board__row::before { border-radius: 14px; }
.vms .e-board .board__y { font-size: 1.45rem; }
.vms .e-note { display: grid; gap: .6rem; justify-items: start; padding: clamp(22px, 2.6vw, 34px); border-radius: var(--r-card); border: 1px dashed var(--card-bd); background: var(--bg-soft); }
.vms .e-note__t { font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem); font-weight: 640; letter-spacing: -.02em; }
.vms .e-note__d { color: var(--fg-2); max-width: 62ch; font-size: .95rem; }
.vms .e-board .board__y--open { color: var(--fg-2); opacity: .5; }
.vms .e-board .board__row::before { display: none; }
/* ===== 60-kontakt.css ===== */
.vms .kt-hero { padding-bottom: clamp(28px, 4vw, 56px); }
.vms .kt-hero .phero__t { max-width: 14ch; }
.vms .kt-sec { padding-top: clamp(24px, 3vw, 48px); }
.vms .kt-grid { display: grid; gap: clamp(40px, 5vw, 80px); align-items: start; }
@media (min-width: 980px) {
.vms .kt-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}
.vms .kt-form > .h3 + .kt-note { margin-top: .5rem; font-size: .92rem; }
.vms .kt-form .form { margin-top: clamp(24px, 3vw, 36px); }
.vms .kt-form .seg { gap: .5rem; }
.vms .kt-form .f--check label { font-size: .92rem; font-weight: 480; letter-spacing: 0; text-transform: none; color: var(--fg-2); line-height: 1.55; }
.vms .kt-form .f--check a { color: var(--accent); }
.vms .kt-form input::placeholder, .vms .kt-form textarea::placeholder { color: var(--fg-2); opacity: .7; }
.vms .kt-form [aria-invalid="true"] { border-color: var(--accent); }
.vms .kt-submit { display: grid; gap: 1rem; justify-items: start; margin-top: .4rem; }
.vms .kt-submit .form__status:empty { display: none; }
.vms .kt-submit .form__status { max-width: 52ch; padding: 1rem 1.2rem; border-radius: 16px; background: var(--bg-soft); border: 1px solid var(--card-bd); color: var(--fg); }
.vms .kt-side { display: grid; gap: clamp(14px, 1.8vw, 24px); }
.vms .kt-card { gap: 1.2rem; padding: clamp(24px, 2.8vw, 40px); }
.vms .kt-mail { justify-self: start; font-size: clamp(1.35rem, 1rem + 1.3vw, 2.15rem); font-weight: 620; letter-spacing: -.035em; line-height: 1.15; color: var(--fg); overflow-wrap: anywhere; }
.vms .kt-dl { display: grid; gap: 0; margin: .4rem 0 0; border-top: 1px solid var(--hair); }
.vms .kt-dl > div { display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--hair); }
.vms .kt-dl :is(dt, .t-dt) { font-size: var(--fs-label); font-weight: 720; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); padding-top: .25rem; }
.vms .kt-dl :is(dd, .t-dd) { margin: 0; color: var(--fg); font-size: .98rem; }
.vms .kt-dl a { text-decoration: none; }
.vms .kt-img { border-radius: var(--r-card); overflow: hidden; aspect-ratio: 4 / 3; background: var(--plum); box-shadow: var(--card-sh); }
.vms .kt-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.vms .kt-img:hover img { transform: scale(1.04); }
.vms.p-kontakt .mbar { display: none; }
/* ===== 60-leistungen.css ===== */
.vms .lst-jump { margin-top: clamp(22px, 2.4vw, 32px) !important; }
.vms .lst-jump a { text-decoration: none; color: inherit; }
.vms .lst-jump :is(li, .t-li) { padding: 0; transition: border-color .4s var(--ease), background-color .4s var(--ease); }
.vms .lst-jump :is(li, .t-li) a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 1rem; }
.vms .lst-jump :is(li, .t-li):hover { border-color: var(--accent); }
.vms .lst-ref { max-width: 52ch; padding-left: 1.1rem; border-left: 2px solid var(--card-bd); color: var(--fg-2); font-size: .95rem; }
.vms .lst-ref a { color: var(--fg); font-weight: 650; text-decoration-color: var(--accent); }
.vms .lst-ref a:hover { color: var(--accent); }
.vms.p-leistungen .chap__txt .label { margin-top: clamp(22px, 2.2vw, 30px); }
.vms.p-leistungen .chap__txt .label + .ticks { margin-top: .8rem; }
.vms .lst-after { margin-top: clamp(36px, 4vw, 56px); }
@media (min-width: 980px) {
.vms .lst-faq { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(40px, 6vw, 110px); align-items: start; }
.vms .lst-faq > .sec-head { grid-template-columns: 1fr; margin-bottom: 0; }
.vms .lst-faq > .sec-head > .sec-head__t, .vms .lst-faq > .sec-head > .sec-head__aside { grid-column: 1; }
}
.vms.p-leistungen .chap__txt .pills { margin-top: clamp(20px, 2vw, 28px); }
.vms.p-leistungen .phero + .sec { padding-top: clamp(36px, 5vw, 80px); }
/* ===== 60-pferde.css ===== */
.vms .crumb { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; font-size: var(--fs-label); font-weight: 680; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-2); }
.vms .crumb a { color: var(--accent); text-decoration: none; }
.vms .crumb a:hover { text-decoration: underline; }
.vms .hbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: clamp(22px, 3vw, 40px); }
.vms .hbar .seg2 { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.vms .hgrid { --g: clamp(14px, 1.8vw, 24px); display: flex; flex-wrap: wrap; justify-content: center; gap: var(--g); }
.vms .hgrid > * { flex: 1 1 100%; min-width: 0; }
@media (min-width: 760px) {
.vms .hgrid > .hcard--md, .vms .hgrid > .hcard--sm { flex: 0 1 calc((100% - var(--g)) / 2); }
}
@media (min-width: 1100px) {
.vms .hgrid > .hcard--sm { flex-basis: calc((100% - 3 * var(--g)) / 4); }
}
.vms .hcard { padding: 0; gap: 0; grid-template-rows: auto 1fr; }
.vms .hcard .pcard__img { margin: 0; aspect-ratio: 16 / 11; }
.vms .hcard--sm .pcard__img { aspect-ratio: 4 / 4.4; }
.vms .hcard__body { display: flex; flex-direction: column; align-items: flex-start; gap: .9rem; padding: clamp(20px, 2.2vw, 30px); }
.vms .hcard__n { font-size: clamp(1.7rem, 1.15rem + 1.5vw, 2.6rem); font-weight: 620; letter-spacing: -.042em; line-height: 1; color: var(--fg); text-wrap: balance; }
.vms .hcard--sm .hcard__n { font-size: clamp(1.5rem, 1.1rem + 1vw, 2rem); }
.vms .hcard__n .ac, .vms .hcard__n em, .vms .hcard__n :is(.hcard__n, .hnext__t, .dcard__n) > span { font-size: 1.62em; }
.vms .hcard .pcard__d { max-width: 46ch; }
.vms .hcard__go { margin-top: auto; min-height: 36px; color: var(--accent); }
.vms a.hcard:hover .hcard__go::after { transform: translateX(5px); }
@media (min-width: 900px) {
.vms .hcard--xl { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); grid-template-rows: none; }
.vms .hcard--xl .pcard__img { aspect-ratio: auto; min-height: clamp(440px, 38vw, 560px); }
.vms .hcard--xl .hcard__body { justify-content: center; gap: 1.1rem; padding: clamp(28px, 3.4vw, 56px); }
.vms .hcard--xl .hcard__n { font-size: clamp(2.4rem, 1.2rem + 2.8vw, 4.2rem); }
}
.vms .hsame__row { margin-top: clamp(28px, 3.6vw, 48px); }
.vms .hnext { align-items: stretch; }
.vms .hask { gap: 1.1rem; padding: clamp(26px, 3.4vw, 52px); align-content: center; }
.vms .hask__t, .vms .hnext__t { font-size: clamp(1.9rem, 1.2rem + 2vw, 3.2rem); font-weight: 620; letter-spacing: -.042em; line-height: 1; text-wrap: balance; }
.vms .hnext__t .ac, .vms .hnext__t em, .vms .hnext__t :is(.hcard__n, .hnext__t, .dcard__n) > span { font-size: 1.62em; }
.vms .hask .pcard__d { max-width: 44ch; font-size: 1rem; }
.vms .hask .btn-row { margin-top: .4rem; }
.vms .hnext__c { padding: 0; gap: 0; grid-template-rows: 1fr auto; }
.vms .hnext__img { position: relative; overflow: hidden; min-height: 240px; aspect-ratio: 16 / 10; }
.vms .hnext__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.vms .hnext__c:hover .hnext__img img { transform: scale(1.05); }
.vms .hnext__body { display: grid; justify-items: start; gap: .8rem; padding: clamp(22px, 2.6vw, 36px); }
.vms .hnext__body .tlink { color: var(--accent); min-height: 32px; }
.vms .hnext__c:hover .tlink::after { transform: translateX(5px); }
.vms .phero__txt > .pills { margin-top: clamp(16px, 1.8vw, 24px); }
@media (min-width: 900px) {
.vms .hcard--xl .hcard__go { margin-top: .6rem; }
}
@media (max-width: 520px) {
.vms .hbar .seg2 { display: flex; width: 100%; }
.vms .hbar .seg2__b { flex: 1 1 auto; padding: 0 .55rem; letter-spacing: .01em; }
}
@media (max-width: 759px) {
.vms .hcard--sm .pcard__img { aspect-ratio: 16 / 11; }
}
.vms.p-pferde .chap__txt > .pills { margin-top: clamp(18px, 1.8vw, 24px); }
.vms.p-pferd .kv :is(dd, .t-dd) { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
/* ===== 60-team.css ===== */
.vms.p-team .phero + .sec { padding-top: clamp(36px, 5vw, 80px); }
/* ===== 60-victoria.css ===== */
.vms .vq { display: grid; justify-items: center; gap: clamp(22px, 2.6vw, 36px); text-align: center; margin: 0; }
.vms .vq__t { margin: 0; font-size: clamp(1.9rem, .95rem + 3.4vw, 4.6rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 560; max-width: 21ch; text-wrap: balance; color: var(--fg); }
.vms .vq__by { font-size: var(--fs-label); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--fg-2); }
.vms.p-victoria .v-sig { font-size: clamp(2.4rem, 1.6rem + 2.2vw, 3.8rem); transform: rotate(-4deg); transform-origin: left; padding-top: .4rem; }
.vms.p-victoria .pcard .tlink { margin-top: .2rem; color: var(--accent); }
.vms.p-victoria .prose p { text-wrap: pretty; }
.vms.p-victoria .chap__txt .pills { margin-top: clamp(22px, 2.2vw, 32px); }
/* Verzögerungen über data-Attribute (statt Inline-Styles) */
.vms [data-t=".05"] { --t: .05s; } .vms [data-t=".1"] { --t: .1s; } .vms [data-t=".12"] { --t: .12s; } .vms [data-t=".15"] { --t: .15s; } .vms [data-t=".2"] { --t: .2s; } .vms [data-t=".25"] { --t: .25s; } .vms [data-t=".28"] { --t: .28s; } .vms [data-t=".3"] { --t: .3s; } .vms [data-t=".32"] { --t: .32s; } .vms [data-t=".35"] { --t: .35s; } .vms [data-t=".4"] { --t: .4s; } .vms [data-t=".45"] { --t: .45s; } .vms [data-t=".48"] { --t: .48s; } .vms [data-t=".5"] { --t: .5s; } .vms [data-t=".55"] { --t: .55s; } .vms [data-t=".6"] { --t: .6s; } .vms [data-t=".65"] { --t: .65s; } .vms [data-t=".7"] { --t: .7s; } .vms [data-t=".8"] { --t: .8s; } .vms [data-t=".9"] { --t: .9s; } .vms [data-t="1"] { --t: 1s; } .vms [data-t="1.2"] { --t: 1.2s; } .vms [data-t="1.35"] { --t: 1.35s; } .vms [data-t="1.5"] { --t: 1.5s; } .vms [data-t="1.65"] { --t: 1.65s; } .vms [data-t="1.8"] { --t: 1.8s; }
.vms [data-d=".05"] { --d: .05s; } .vms [data-d=".1"] { --d: .1s; } .vms [data-d=".12"] { --d: .12s; } .vms [data-d=".15"] { --d: .15s; } .vms [data-d=".2"] { --d: .2s; } .vms [data-d=".25"] { --d: .25s; } .vms [data-d=".3"] { --d: .3s; } .vms [data-d=".35"] { --d: .35s; } .vms [data-d=".4"] { --d: .4s; } .vms [data-d=".45"] { --d: .45s; } .vms [data-d=".5"] { --d: .5s; } .vms [data-d=".55"] { --d: .55s; } .vms [data-d=".6"] { --d: .6s; } .vms [data-d=".65"] { --d: .65s; } .vms [data-d=".7"] { --d: .7s; } .vms [data-d=".8"] { --d: .8s; } .vms [data-d=".9"] { --d: .9s; } .vms [data-d="1"] { --d: 1s; } .vms [data-d="1.2"] { --d: 1.2s; } .vms [data-d="1.35"] { --d: 1.35s; } .vms [data-d="1.5"] { --d: 1.5s; } .vms [data-d="1.65"] { --d: 1.65s; } .vms [data-d="1.8"] { --d: 1.8s; }
.vms [data-i="0"] { --i: 0; } .vms [data-i="1"] { --i: 1; } .vms [data-i="2"] { --i: 2; } .vms [data-i="3"] { --i: 3; } .vms [data-i="4"] { --i: 4; } .vms [data-i="5"] { --i: 5; } .vms [data-i="6"] { --i: 6; } .vms [data-i="7"] { --i: 7; } .vms [data-i="8"] { --i: 8; } .vms [data-i="9"] { --i: 9; } .vms [data-i="10"] { --i: 10; } .vms [data-i="11"] { --i: 11; }

/* ===== 4. Elementor-Adapter ===== */
.vms .brand__logo { height: clamp(34px, 3vw, 44px); aspect-ratio: 160 / 96; color: var(--logo-ink); }
.vms .ftr__logo { display: block; width: clamp(150px, 14vw, 210px); text-decoration: none; }
.vms .ftr__logo-svg { width: 100%; aspect-ratio: 236 / 190; color: var(--logo-ink); }
.vms .logo-ink { fill: currentColor; }
.vms .logo-arc { fill: var(--accent); }
.vms .e-svg-base svg { display: block; }
.vms .has-arr::after, .vms .btn--arrow::after { content: ""; flex: none; width: 20px; height: 10px; background: currentColor; transition: transform .6s var(--ease);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 10'%3E%3Cpath d='M0 5h18M14 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 10'%3E%3Cpath d='M0 5h18M14 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat; }
.vms .btn--arrow:hover::after { transform: translateX(5px); }
.vms .btn { gap: .9rem; }
.vms .hdr__in > .nav { grid-column: 1; }
.vms .mode { cursor: pointer; }
.vms .menu-btn { cursor: pointer; }
.vms .menu-btn[aria-expanded="true"] { color: var(--white); }
.vms .menu__nav { display: grid; }
.vms .menu__link { width: 100%; }
.vms .menu__foot p { color: rgba(255, 255, 255, .66); }
.vms .menu__foot a { color: var(--white); }
.vms .ftr__list { display: grid; gap: .45rem; justify-items: start; }
.vms .ftr__link { color: var(--fg); text-decoration: none; transition: color .3s var(--ease); }
.vms .ftr__link:hover { color: var(--accent); }
.vms .ftr__addr { color: var(--fg-2); }
.vms .ftr__legal { display: flex; gap: .5rem; align-items: center; }
.vms .ftr__legal .ftr__link, .vms .ftr__copy { font-size: .8rem; color: var(--fg-2); }
.vms .ftr__dot { color: var(--fg-2); }
.vms .end__t { margin-top: 1.4rem; }
body.vms.p-kontakt .end { display: none; }
.vms .legal__p a { color: var(--accent); }
body.vms.elementor-editor-active [data-r], body.vms.elementor-editor-active [data-rise], body.vms.elementor-editor-active .ln__i { opacity: 1 !important; transform: none !important; clip-path: none !important; animation: none !important; }
body.vms.elementor-editor-active .menu { position: relative; clip-path: none; visibility: visible; min-height: 0; }
body.vms.elementor-editor-active .hdr { position: relative; }
.vms .form__ok, .vms .form__fail { grid-column: 1 / -1; margin-top: 1rem; padding: 1rem 1.2rem; font-size: .95rem; text-align: left; border-radius: 2px; }
.vms .form__ok { background: var(--bg-2, #F7F1F4); color: var(--fg); border-left: 2px solid var(--accent); }
.vms .form__fail { background: var(--bg-2, #F7F1F4); color: var(--fg); border-left: 2px solid var(--wine); }
body.vms.error404 .end { display: none; }
.vms .elementor-widget-html { display: contents; }
.vms .seg > .t-legend { flex: 0 0 100%; width: 100%; }
.vms .f--check label a { text-decoration: underline; text-underline-offset: .2em; }