/*
 * Helvecraft family design system
 * Shared visual contract for helvecraft.com and vidima.ch.
 * Architecture: primitive tokens -> semantic tokens -> component tokens.
 */

/* === 1. Primitive tokens === */
:root {
  --family-neutral-0: #ffffff;
  --family-neutral-25: #fbfaf7;
  --family-neutral-50: #f5f3ed;
  --family-neutral-100: #ece9e1;
  --family-neutral-200: #d9d5cb;
  --family-neutral-400: #8a8983;
  --family-neutral-600: #555954;
  --family-neutral-800: #292d2a;
  --family-neutral-900: #171a18;
  --family-burgundy-500: #9b2146;
  --family-burgundy-600: #831a3b;
  --family-burgundy-700: #6e1532;
  --family-bronze-500: #94763b;
  --family-bronze-600: #735a2c;
  --family-green-600: #2f6b4f;
  --family-red-600: #a52a32;

  --family-space-1: 0.25rem;
  --family-space-2: 0.5rem;
  --family-space-3: 0.75rem;
  --family-space-4: 1rem;
  --family-space-5: 1.25rem;
  --family-space-6: 1.5rem;
  --family-space-8: 2rem;
  --family-space-10: 2.5rem;
  --family-space-12: 3rem;
  --family-space-16: 4rem;
  --family-space-20: 5rem;
  --family-space-24: 6rem;

  --family-radius-sm: 0.375rem;
  --family-radius-md: 0.625rem;
  --family-radius-lg: 0.875rem;
  --family-radius-full: 999px;

  --family-shadow-sm: 0 1px 2px rgb(20 24 21 / 0.04);
  --family-shadow-md: 0 18px 48px rgb(20 24 21 / 0.08);
  --family-duration-fast: 150ms;
  --family-duration-normal: 220ms;
  --family-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* === 2. Semantic tokens === */
body[data-brand="helvecraft"],
body[data-brand="vidima"] {
  --family-page: var(--family-neutral-50);
  --family-surface: var(--family-neutral-0);
  --family-surface-subtle: var(--family-neutral-25);
  --family-text: var(--family-neutral-900);
  --family-text-soft: var(--family-neutral-600);
  --family-text-muted: #74766f;
  --family-border: var(--family-neutral-200);
  --family-border-soft: var(--family-neutral-100);
  --family-action: var(--family-neutral-900);
  --family-action-hover: var(--family-neutral-800);
  --family-action-text: var(--family-neutral-0);
  --family-focus: var(--family-neutral-900);
  --family-positive: var(--family-green-600);
  --family-negative: var(--family-red-600);
  --family-section-space: clamp(4.5rem, 8vw, 7rem);
  --family-container: 73.75rem;
  --family-reading: 45rem;
  --family-font-ui: "Inter", "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --family-font-brand: "Instrument Serif", Georgia, serif;
  --family-font-mono: "JetBrains Mono", "Geist Mono", ui-monospace, monospace;

  /* Compatibility aliases used by the two existing static sites. */
  --bg: var(--family-page);
  --bg-card: var(--family-surface);
  --bg-elev: var(--family-surface);
  --ink: var(--family-text);
  --ink-soft: var(--family-text-soft);
  --ink-mute: var(--family-text-muted);
  --line: var(--family-border);
  --line-soft: var(--family-border-soft);
  --rule: var(--family-border-soft);
  --rule-strong: var(--family-border);
  --font-sans: var(--family-font-ui);
  --f-sans: var(--family-font-ui);
  --font-mono: var(--family-font-mono);
  --f-mono: var(--family-font-mono);

  margin: 0;
  color: var(--family-text);
  background: var(--family-page);
  font-family: var(--family-font-ui);
  font-size: 1rem;
  line-height: 1.62;
  letter-spacing: -0.008em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  color-scheme: light;
}

body[data-brand="helvecraft"] {
  --family-accent: var(--family-bronze-600);
  --family-accent-soft: #eee8da;
  --family-focus: var(--family-bronze-600);
  --accent: var(--family-accent);
  --accent-dim: var(--family-accent-soft);
}

body[data-brand="vidima"] {
  --family-accent: var(--family-burgundy-600);
  --family-accent-soft: #f2e5e9;
  --family-action: var(--family-burgundy-600);
  --family-action-hover: var(--family-burgundy-700);
  --family-focus: var(--family-burgundy-600);
  --brand: var(--family-burgundy-600);
  --brand-soft: var(--family-burgundy-500);
  --accent: var(--family-neutral-900);
}

/* === 3. Component tokens === */
body[data-brand="helvecraft"],
body[data-brand="vidima"] {
  --family-button-height: 3.125rem;
  --family-button-padding: 1.25rem;
  --family-button-radius: var(--family-radius-md);
  --family-card-bg: var(--family-surface);
  --family-card-border: var(--family-border);
  --family-card-radius: var(--family-radius-lg);
  --family-card-padding: clamp(1.5rem, 3vw, 2rem);
  --family-input-height: 3rem;
  --family-input-radius: var(--family-radius-md);
}

/* === Foundation === */
body[data-brand="helvecraft"] *,
body[data-brand="vidima"] * { box-sizing: border-box; }

body[data-brand="helvecraft"] img,
body[data-brand="vidima"] img { max-width: 100%; height: auto; }

body[data-brand="helvecraft"] a,
body[data-brand="vidima"] a { text-underline-offset: 0.2em; }

body[data-brand="helvecraft"] :where(a, button, input, textarea, summary):focus-visible,
body[data-brand="vidima"] :where(a, button, input, textarea, summary):focus-visible {
  outline: 2px solid var(--family-focus);
  outline-offset: 3px;
}

body[data-brand="helvecraft"] :where(a, button, summary),
body[data-brand="vidima"] :where(a, button, summary) { touch-action: manipulation; }

body[data-brand="helvecraft"] .container,
body[data-brand="vidima"] .container {
  width: min(100% - 3rem, var(--family-container));
  max-width: var(--family-container);
  margin-inline: auto;
  padding-inline: 0;
}

body[data-brand="helvecraft"] .container--narrow,
body[data-brand="vidima"] .container--narrow { max-width: var(--family-reading); }

body[data-brand="helvecraft"] section,
body[data-brand="vidima"] section { padding-block: var(--family-section-space); }

body[data-brand="helvecraft"] :where(h1, h2, h3, .h1, .h2, .h3),
body[data-brand="vidima"] :where(h1, h2, h3, .h1, .h2, .h3) {
  margin: 0;
  color: var(--family-text);
  font-family: var(--family-font-ui);
  font-style: normal;
  font-weight: 600;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

body[data-brand="helvecraft"] :where(h1, .h1),
body[data-brand="vidima"] :where(h1, .h1) {
  max-width: 14ch;
  font-size: clamp(2.75rem, 6.2vw, 4.75rem);
  line-height: 0.98;
}

body[data-brand="helvecraft"] :where(h2, .h2),
body[data-brand="vidima"] :where(h2, .h2) {
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.04;
}

body[data-brand="helvecraft"] :where(h3, .h3),
body[data-brand="vidima"] :where(h3, .h3) {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  line-height: 1.18;
  letter-spacing: -0.025em;
}

body[data-brand="helvecraft"] :where(h1, h2, h3) em,
body[data-brand="helvecraft"] :where(.h1, .h2, .h3) .italic,
body[data-brand="vidima"] :where(h1, h2, h3) em,
body[data-brand="vidima"] :where(.h1, .h2, .h3) .italic {
  color: var(--family-accent);
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
}

body[data-brand="helvecraft"] :where(.lede, .text-soft),
body[data-brand="vidima"] :where(.lede, .text-soft) {
  color: var(--family-text-soft);
  font-family: var(--family-font-ui);
  font-size: clamp(1rem, 1.6vw, 1.125rem);
  line-height: 1.65;
}

body[data-brand="helvecraft"] :where(.kicker, .eyebrow),
body[data-brand="vidima"] :where(.kicker, .eyebrow) {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--family-accent);
  font-family: var(--family-font-ui);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

body[data-brand="helvecraft"] .kicker__num { color: var(--family-text-muted); }

/* Buttons and links */
body[data-brand="helvecraft"] :where(.cta, .btn),
body[data-brand="vidima"] :where(.cta, .btn) {
  display: inline-flex;
  min-height: var(--family-button-height);
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  padding: 0.75rem var(--family-button-padding);
  border: 1px solid var(--family-action);
  border-radius: var(--family-button-radius);
  background: var(--family-action);
  color: var(--family-action-text);
  font-family: var(--family-font-ui);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
  transition:
    background-color var(--family-duration-fast) ease,
    border-color var(--family-duration-fast) ease,
    color var(--family-duration-fast) ease,
    transform var(--family-duration-normal) var(--family-ease);
}

body[data-brand="helvecraft"] :where(.cta, .btn):hover,
body[data-brand="vidima"] :where(.cta, .btn):hover {
  border-color: var(--family-action-hover);
  background: var(--family-action-hover);
  color: var(--family-action-text);
  transform: translateY(-1px);
}

body[data-brand="helvecraft"] :where(.cta, .btn):active,
body[data-brand="vidima"] :where(.cta, .btn):active { transform: translateY(0); }

body[data-brand="helvecraft"] :where(.cta--ghost, .btn-secondary),
body[data-brand="vidima"] :where(.cta--ghost, .btn-secondary) {
  border-color: var(--family-border);
  background: transparent;
  color: var(--family-text);
}

body[data-brand="helvecraft"] :where(.cta--ghost, .btn-secondary):hover,
body[data-brand="vidima"] :where(.cta--ghost, .btn-secondary):hover {
  border-color: var(--family-text);
  background: var(--family-surface);
  color: var(--family-text);
}

body[data-brand="helvecraft"] :where(.link-arrow, .hero-support-link, .acct-link),
body[data-brand="vidima"] :where(.link-arrow, .hero-support-link, .acct-link) {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.5rem;
  color: var(--family-text);
  font-family: var(--family-font-ui);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-decoration: underline;
  text-decoration-color: var(--family-border);
  text-transform: none;
}

/* Shared header */
body[data-brand="helvecraft"] :where(.header, .site-header),
body[data-brand="vidima"] :where(.header, .site-header) {
  position: sticky;
  top: 0;
  z-index: 220;
  border-bottom: 1px solid var(--family-border-soft);
  background: color-mix(in srgb, var(--family-page) 92%, transparent) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body[data-brand="helvecraft"] :where(.header__inner, .site-header-inner),
body[data-brand="vidima"] :where(.header__inner, .site-header-inner) {
  width: min(100% - 3rem, var(--family-container));
  max-width: var(--family-container);
  min-height: 4.5rem;
  margin-inline: auto;
  padding: 0;
  gap: 2rem;
}

body[data-brand="helvecraft"] .brand {
  min-height: 2.75rem;
  color: var(--family-text);
  font-family: var(--family-font-ui);
}

body[data-brand="helvecraft"] .brand__mark { width: 1.75rem; height: 1.75rem; color: var(--family-accent); }
body[data-brand="helvecraft"] .brand__word { color: var(--family-text); font-family: var(--family-font-ui); font-size: 1rem; font-style: normal; font-weight: 650; letter-spacing: -0.025em; }

body[data-brand="vidima"] .vidima-brand { min-height: 2.75rem; justify-content: center; }
body[data-brand="vidima"] .vidima-brand-word { font-size: 1.75rem; }
body[data-brand="vidima"] .vidima-brand-word .rest { font-family: var(--family-font-brand); font-style: italic; }
body[data-brand="vidima"] .vidima-brand-sub { font-family: var(--family-font-ui); font-size: 0.45rem; font-weight: 600; letter-spacing: 0.18em; }

body[data-brand="helvecraft"] :where(.nav, .nav-links),
body[data-brand="vidima"] :where(.nav, .nav-links) { gap: 1.5rem; }

body[data-brand="helvecraft"] :where(.nav__link, .nav a),
body[data-brand="vidima"] .nav-links > a,
body[data-brand="vidima"] .guide-dd-btn {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  color: var(--family-text-soft);
  font-family: var(--family-font-ui);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  text-decoration: none;
  text-transform: none;
}

body[data-brand="helvecraft"] :where(.nav__link, .nav a):hover,
body[data-brand="vidima"] .nav-links > a:hover,
body[data-brand="vidima"] .guide-dd-btn:hover { color: var(--family-text); }

body[data-brand="helvecraft"] .nav__link.is-active::after { background: var(--family-accent); }

body[data-brand="vidima"] .nav-buy {
  min-height: 2.75rem;
  padding: 0.55rem 1rem;
  border: 1px solid var(--family-action);
  border-radius: var(--family-button-radius);
  background: var(--family-action);
  color: var(--family-action-text) !important;
  font-weight: 600;
}

body[data-brand="helvecraft"] :where(.lang-current, .lang-menu-item),
body[data-brand="vidima"] :where(.lang-current, .lang-menu-item) {
  color: var(--family-text);
  font-family: var(--family-font-ui);
  font-size: 0.825rem;
  letter-spacing: 0;
  text-transform: none;
}

body[data-brand="helvecraft"] .lang-current,
body[data-brand="vidima"] .lang-current {
  min-height: 2.75rem;
  padding-inline: 0.875rem;
  border: 1px solid var(--family-border);
  border-radius: var(--family-button-radius);
  background: var(--family-surface);
}

body[data-brand="helvecraft"] .lang-menu,
body[data-brand="vidima"] .lang-menu,
body[data-brand="vidima"] .guide-menu {
  border: 1px solid var(--family-border);
  border-radius: var(--family-radius-md);
  background: var(--family-surface);
  box-shadow: var(--family-shadow-md);
}

body[data-brand="helvecraft"] .lang-menu-item[aria-current="true"],
body[data-brand="vidima"] .lang-menu-item[aria-current="true"] {
  background: var(--family-accent-soft) !important;
  color: var(--family-accent) !important;
}

body[data-brand="helvecraft"] :where(.hamburger, .vd-hamburger),
body[data-brand="vidima"] :where(.hamburger, .vd-hamburger) { color: var(--family-text); }

/* Shared card grammar */
body[data-brand="helvecraft"] :where(.card, .tile, .price-card),
body[data-brand="vidima"] :where(.feature-card, .acct-card, .tier-card, .pricing-card, .hero-offer, .assist-strip) {
  border: 1px solid var(--family-card-border);
  border-radius: var(--family-card-radius);
  background: var(--family-card-bg);
  box-shadow: var(--family-shadow-sm);
}

body[data-brand="helvecraft"] :where(.card, .tile),
body[data-brand="vidima"] :where(.feature-card, .acct-card, .tier-card) { padding: var(--family-card-padding); }

body[data-brand="helvecraft"] :where(.card, .tile):hover,
body[data-brand="vidima"] :where(.feature-card, .acct-card, .tier-card):hover {
  border-color: var(--family-border);
  background: var(--family-surface);
  box-shadow: var(--family-shadow-sm);
  transform: none;
}

/* Helvecraft: company first, product second */
body[data-brand="helvecraft"] .hero {
  min-height: 0;
  padding-block: clamp(5rem, 10vw, 8rem);
  border-bottom: 1px solid var(--family-border-soft);
  background: var(--family-page);
}

body[data-brand="helvecraft"] .hero-mark { display: none; }
body[data-brand="helvecraft"].page-home .hero .container--narrow { max-width: 56rem; margin-inline: auto; text-align: center; }
body[data-brand="helvecraft"].page-home .hero h1 { max-width: 14ch; margin: 1rem auto 0; }
body[data-brand="helvecraft"].page-home .hero .lede { max-width: 41rem; margin-inline: auto; }
body[data-brand="helvecraft"] .hero-actions { justify-content: center; gap: 0.75rem; }

body[data-brand="helvecraft"] .stats-line {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 0;
  border-bottom: 1px solid var(--family-border);
  background: transparent;
}

body[data-brand="helvecraft"] .stat {
  min-width: 0;
  padding: 2rem 1.25rem;
  border-right: 1px solid var(--family-border);
  text-align: left;
}

body[data-brand="helvecraft"] .stat:last-child { border-right: 0; }
body[data-brand="helvecraft"] .stat__num { color: var(--family-text); font-family: var(--family-font-ui); font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 600; letter-spacing: -0.045em; }
body[data-brand="helvecraft"] .stat__num em { color: var(--family-accent); font-family: inherit; font-size: 0.55em; font-style: normal; }
body[data-brand="helvecraft"] .stat__lbl { max-width: 16ch; margin-top: 0.5rem; color: var(--family-text-soft); font-family: var(--family-font-ui); font-size: 0.8rem; letter-spacing: 0; line-height: 1.45; text-transform: none; }

body[data-brand="helvecraft"] .section-head { margin-bottom: clamp(2.5rem, 5vw, 4rem); align-items: flex-start; }
body[data-brand="helvecraft"] .section-head__main { max-width: 34rem; }
body[data-brand="helvecraft"] .section-head__aside { max-width: 31rem; }

body[data-brand="helvecraft"] .card { border-radius: var(--family-radius-lg); }
body[data-brand="helvecraft"] .card--link { color: inherit; text-decoration: none; }
body[data-brand="helvecraft"] .card__preview { border-radius: var(--family-radius-md); }
body[data-brand="helvecraft"] .card__name { margin-top: 1.5rem; }
body[data-brand="helvecraft"] .card__desc { max-width: 53rem; color: var(--family-text-soft); }
body[data-brand="helvecraft"] .card__bottom { align-items: center; border-color: var(--family-border-soft); }
body[data-brand="helvecraft"] .card__meta { color: var(--family-text-soft); font-family: var(--family-font-ui); font-size: 0.8rem; letter-spacing: 0; }
body[data-brand="helvecraft"] .card__meta--price { color: var(--family-accent); font-weight: 600; }
body[data-brand="helvecraft"] .status { color: var(--family-positive); font-family: var(--family-font-ui); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.04em; }

body[data-brand="helvecraft"] .grid-2 > div:not(.tile) {
  padding: 1.75rem 0;
  border-top: 1px solid var(--family-border);
}

body[data-brand="helvecraft"] .manifesto { max-width: 29ch; color: var(--family-text); font-family: var(--family-font-ui); font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 500; letter-spacing: -0.04em; line-height: 1.08; }
body[data-brand="helvecraft"] .manifesto em { color: var(--family-accent); font-style: normal; }

/* Vidima: a product page with one obvious next action */
body[data-brand="vidima"] .hero--commerce {
  padding-block: clamp(3.5rem, 7vw, 6.5rem) 2rem;
  background: var(--family-page);
}

body[data-brand="vidima"] .hero-shell {
  grid-template-columns: minmax(0, 1.12fr) minmax(21rem, 0.72fr);
  gap: clamp(2.5rem, 7vw, 6rem);
  align-items: center;
}

body[data-brand="vidima"] .hero--commerce .h1 { max-width: 12ch; margin-top: 1rem; }
body[data-brand="vidima"] .hero--commerce .hero-lede { max-width: 38rem; margin-top: 1.5rem; color: var(--family-text-soft); }
body[data-brand="vidima"] .hero-benefits { margin-top: 2rem; border-color: var(--family-border); }
body[data-brand="vidima"] .hero-benefits li { min-height: 3.75rem; border-color: var(--family-border-soft); color: var(--family-text-soft); font-size: 0.875rem; }
body[data-brand="vidima"] .check-mark { color: var(--family-accent); }
body[data-brand="vidima"] .hero-cta { margin-top: 1.5rem; }
body[data-brand="vidima"] .hero-meta { color: var(--family-text-muted); font-family: var(--family-font-ui); font-size: 0.8rem; letter-spacing: 0; line-height: 1.45; text-transform: none; }
body[data-brand="vidima"] .hero-support-link { margin-top: 0.75rem; }

body[data-brand="vidima"] .hero-offer {
  padding: clamp(1.75rem, 4vw, 2.5rem);
  border-color: var(--family-border);
  box-shadow: var(--family-shadow-md);
}

body[data-brand="vidima"] .hero-offer::before { display: none; }
body[data-brand="vidima"] .offer-top { align-items: center; }
body[data-brand="vidima"] :where(.offer-kicker, .offer-badge) { font-family: var(--family-font-ui); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.05em; }
body[data-brand="vidima"] .offer-badge { padding: 0.35rem 0.55rem; border-radius: var(--family-radius-full); background: var(--family-accent-soft); color: var(--family-accent); }
body[data-brand="vidima"] .offer-price { margin-top: 1.5rem; color: var(--family-text); font-family: var(--family-font-ui); font-size: clamp(3.25rem, 7vw, 4.75rem); font-weight: 650; letter-spacing: -0.06em; }
body[data-brand="vidima"] .offer-price span { color: var(--family-accent); font-family: inherit; font-size: 0.3em; font-weight: 600; letter-spacing: 0; }
body[data-brand="vidima"] .offer-once { color: var(--family-text-soft); }
body[data-brand="vidima"] .offer-list { border-color: var(--family-border-soft); }
body[data-brand="vidima"] .offer-trial { color: var(--family-text); font-weight: 600; }
body[data-brand="vidima"] .offer-secure { color: var(--family-text-muted); font-size: 0.75rem; line-height: 1.45; }

body[data-brand="vidima"] .hero-proof-row { margin-top: 2.5rem; border-block: 1px solid var(--family-border); }
body[data-brand="vidima"] .hero-proof-item { min-height: 3.75rem; border-color: var(--family-border-soft); color: var(--family-text-soft); font-family: var(--family-font-ui); font-size: 0.78rem; letter-spacing: 0; text-transform: none; }

body[data-brand="vidima"] .first-invoice,
body[data-brand="vidima"] .demo-section,
body[data-brand="vidima"] #pricing,
body[data-brand="vidima"] #faq {
  border-color: var(--family-border-soft) !important;
  background: var(--family-surface-subtle) !important;
}

body[data-brand="vidima"] .first-invoice-head { align-items: start; }
body[data-brand="vidima"] .steps-grid { border-color: var(--family-border); }
body[data-brand="vidima"] .step-card { border-color: var(--family-border); }
body[data-brand="vidima"] .step-number { color: var(--family-accent); font-family: var(--family-font-ui); font-weight: 600; }
body[data-brand="vidima"] .step-card h3 { font-family: var(--family-font-ui); font-size: 1.35rem; font-weight: 600; }
body[data-brand="vidima"] .step-card p { color: var(--family-text-soft); }
body[data-brand="vidima"] .assist-strip { border: 0; border-top: 1px solid var(--family-border); border-bottom: 1px solid var(--family-border); border-radius: 0; background: transparent; box-shadow: none; }
body[data-brand="vidima"] .assist-strip strong { font-family: var(--family-font-ui); font-weight: 600; }

body[data-brand="vidima"] :where(.app-preview, #features, #accounting) { background: var(--family-page); }
body[data-brand="vidima"] .mock-caption { color: var(--family-text-muted); font-family: var(--family-font-ui); font-size: 0.78rem; letter-spacing: 0; text-transform: none; }
body[data-brand="vidima"] :where(.app-frame, .pdf-frame) { border-color: var(--family-border); box-shadow: var(--family-shadow-md); }

body[data-brand="vidima"] .features-grid,
body[data-brand="vidima"] .acct-grid { gap: 1rem; }
body[data-brand="vidima"] .feature-card,
body[data-brand="vidima"] .acct-card { min-height: 0; }
body[data-brand="vidima"] .feature-card p,
body[data-brand="vidima"] .acct-card p { color: var(--family-text-soft); }

body[data-brand="vidima"] .pricing-row {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) repeat(2, minmax(0, 0.86fr));
  gap: 1rem;
  align-items: stretch;
  max-width: none;
}

body[data-brand="vidima"] .pricing-row .pricing-card { order: 1; }
body[data-brand="vidima"] .pricing-row .tier-pro { order: 2; }
body[data-brand="vidima"] .pricing-row .tier-studio { order: 3; }
body[data-brand="vidima"] .pricing-card { padding: clamp(1.75rem, 4vw, 2.5rem); border-color: var(--family-accent); box-shadow: var(--family-shadow-sm); }
body[data-brand="vidima"] .pricing-badge { border-radius: var(--family-radius-full); background: var(--family-accent-soft); color: var(--family-accent); font-family: var(--family-font-ui); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.05em; }
body[data-brand="vidima"] :where(.pricing-price, .tier-price) { color: var(--family-text); font-family: var(--family-font-ui); font-weight: 650; letter-spacing: -0.055em; }
body[data-brand="vidima"] :where(.pricing-price, .tier-price) .currency { color: var(--family-accent); font-family: inherit; font-weight: 600; }
body[data-brand="vidima"] :where(.pricing-period, .tier-label) { color: var(--family-text-soft); font-family: var(--family-font-ui); font-weight: 600; letter-spacing: 0.03em; }
body[data-brand="vidima"] :where(.pricing-list, .tier-list) li { color: var(--family-text-soft); }
body[data-brand="vidima"] .pricing-buttons { gap: 0.75rem; }
body[data-brand="vidima"] .dl-split { border-color: var(--family-border-soft); background: transparent; }
body[data-brand="vidima"] .dl-group-label { color: var(--family-text-soft); }
body[data-brand="vidima"] .pricing-stripe-note { color: var(--family-text-soft); }

body[data-brand="vidima"] .faq-group { margin-top: 3rem; }
body[data-brand="vidima"] .faq-item { border-color: var(--family-border); }
body[data-brand="vidima"] .faq-item summary { min-height: 3.5rem; color: var(--family-text); font-family: var(--family-font-ui); font-weight: 600; }
body[data-brand="vidima"] .faq-item p { color: var(--family-text-soft); }

/* Footer — one shared family ending */
body[data-brand="helvecraft"] :where(.footer, .site-footer),
body[data-brand="vidima"] :where(.footer, .site-footer) {
  border-top: 0;
  background: var(--family-neutral-900);
  color: var(--family-neutral-50);
}

body[data-brand="helvecraft"] :where(.footer, .site-footer) .brand,
body[data-brand="helvecraft"] :where(.footer, .site-footer) .brand__word,
body[data-brand="vidima"] :where(.footer, .site-footer) .vidima-brand-word .rest { color: var(--family-neutral-50); }

body[data-brand="helvecraft"] :where(.footer, .site-footer) :where(p, a, span),
body[data-brand="vidima"] :where(.footer, .site-footer) :where(p, a, span) { color: #c7cbc6; }

body[data-brand="helvecraft"] :where(.footer, .site-footer) h4,
body[data-brand="vidima"] :where(.footer, .site-footer) h3 { color: var(--family-neutral-50); font-family: var(--family-font-ui); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.05em; }

/* The company site uses an explicit contact route, not a floating assistant. */
body[data-brand="helvecraft"] :where(.chat-fab, .chat-panel) { display: none !important; }

@media (max-width: 959px) {
  body[data-brand="vidima"] .hero-shell { grid-template-columns: 1fr; }
  body[data-brand="vidima"] .hero-offer { max-width: 40rem; }
  body[data-brand="vidima"] .pricing-row { grid-template-columns: 1fr 1fr; }
  body[data-brand="vidima"] .pricing-row .pricing-card { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  body[data-brand="helvecraft"],
  body[data-brand="vidima"] { --family-section-space: 4.25rem; }

  body[data-brand="helvecraft"] .container,
  body[data-brand="vidima"] .container,
  body[data-brand="helvecraft"] :where(.header__inner, .site-header-inner),
  body[data-brand="vidima"] :where(.header__inner, .site-header-inner) {
    width: min(100% - 2rem, var(--family-container));
  }

  body[data-brand="helvecraft"] :where(.header__inner, .site-header-inner),
  body[data-brand="vidima"] :where(.header__inner, .site-header-inner) {
    min-height: calc(4rem + env(safe-area-inset-top));
    padding-top: env(safe-area-inset-top);
  }

  body[data-brand="helvecraft"] :where(.header, .site-header),
  body[data-brand="vidima"] :where(.header, .site-header) {
    background: color-mix(in srgb, var(--family-page) 98%, transparent) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body[data-brand="helvecraft"] :where(.nav, .nav-links),
  body[data-brand="vidima"] :where(.nav, .nav-links) {
    width: min(88vw, 22rem) !important;
    max-width: 22rem !important;
    padding-top: calc(4.75rem + env(safe-area-inset-top)) !important;
    padding-bottom: calc(1.5rem + env(safe-area-inset-bottom)) !important;
    border-left: 1px solid var(--family-border) !important;
    background: var(--family-surface) !important;
    color: var(--family-text) !important;
    visibility: hidden;
    pointer-events: none;
  }

  body[data-brand="helvecraft"] :where(.nav, .nav-links).is-open,
  body[data-brand="vidima"] :where(.nav, .nav-links).is-open {
    visibility: visible;
    pointer-events: auto;
  }

  body[data-brand="helvecraft"] :where(.nav .nav__link, .nav__link),
  body[data-brand="vidima"] .nav-links > a,
  body[data-brand="vidima"] .nav-links .guide-dd-btn {
    min-height: 3.5rem;
    padding: 0.875rem 1.5rem !important;
    border-bottom: 1px solid var(--family-border-soft) !important;
    color: var(--family-text) !important;
    font-size: 1rem !important;
  }

  body[data-brand="helvecraft"] .nav .lang-switch,
  body[data-brand="vidima"] .nav-links .lang-switch { display: flex !important; flex-direction: column !important; }
  body[data-brand="helvecraft"] .nav .lang-current,
  body[data-brand="vidima"] .nav-links .lang-current { background: var(--family-surface-subtle) !important; color: var(--family-text) !important; }

  body[data-brand="helvecraft"].page-home .hero,
  body[data-brand="vidima"] .hero--commerce { padding-top: 3.5rem; }

  body[data-brand="helvecraft"] .page-home .hero h1,
  body[data-brand="vidima"] .hero--commerce .h1 { font-size: clamp(2.5rem, 12vw, 3.5rem); }

  body[data-brand="helvecraft"] .hero-actions,
  body[data-brand="vidima"] .hero-cta { display: grid; grid-template-columns: 1fr; }

  body[data-brand="helvecraft"] .hero-actions :where(.cta, .btn),
  body[data-brand="vidima"] .hero-cta :where(.cta, .btn) { width: 100%; }

  body[data-brand="helvecraft"] .stats-line { grid-template-columns: 1fr 1fr; }
  body[data-brand="helvecraft"] .stat:nth-child(2) { border-right: 0; }
  body[data-brand="helvecraft"] .stat:nth-child(-n + 2) { border-bottom: 1px solid var(--family-border); }

  body[data-brand="helvecraft"] .section-head { display: grid; gap: 1.5rem; }
  body[data-brand="helvecraft"] .card__bottom { align-items: flex-start; flex-direction: column; }

  body[data-brand="vidima"] .hero-benefits { grid-template-columns: 1fr; }
  body[data-brand="vidima"] .hero-benefits li { border-left: 0; border-top: 1px solid var(--family-border-soft); }
  body[data-brand="vidima"] .hero-benefits li:first-child { border-top: 0; }
  body[data-brand="vidima"] .hero-proof-row { grid-template-columns: 1fr 1fr; }
  body[data-brand="vidima"] .pricing-row { grid-template-columns: 1fr; }
  body[data-brand="vidima"] .pricing-row .pricing-card { grid-column: auto; }
}

@media (max-width: 480px) {
  body[data-brand="helvecraft"] .stats-line { grid-template-columns: 1fr; }
  body[data-brand="helvecraft"] .stat,
  body[data-brand="helvecraft"] .stat:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--family-border); }
  body[data-brand="helvecraft"] .stat:last-child { border-bottom: 0; }
  body[data-brand="helvecraft"] .footer__top { grid-template-columns: 1fr 1fr !important; }
  body[data-brand="helvecraft"] .footer__brand-block,
  body[data-brand="helvecraft"] .footer__top > .footer__col:last-child { grid-column: 1 / -1 !important; }
  body[data-brand="vidima"] .hero-proof-row { grid-template-columns: 1fr; }
  body[data-brand="vidima"] .hero-proof-item { border-left: 0; border-top: 1px solid var(--family-border-soft); }
}

@media (prefers-reduced-motion: reduce) {
  body[data-brand="helvecraft"] *,
  body[data-brand="vidima"] * {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
