/* =========================================================
   CYBSEC · Web UI Kit — Onepager sections
   Extends web/styles.css (atoms) + colors_and_type.css (tokens).
   Manual v1.2: Oxford #122347 · Champagne Gold #D4A017.
   Oxford-dominant ground; cream as the alternative institutional surface.
   ========================================================= */

/* ---------- Section scaffolding ---------- */
.op-section{ position: relative; border-top: 1px solid var(--cs-rule); }
.op-section--ink{ background: var(--cs-ink); }
.op-section--navy{ background: var(--cs-midnight); }
.op-section--light{
  background: var(--cs-cream); color: var(--cs-slate-dark);
  border-top-color: var(--cs-rule-light);
}
.op-wrap{ max-width: var(--cs-content-max); margin: 0 auto; padding: 0 32px; }

.op-head{ max-width: var(--cs-content-max); margin: 0 auto; padding: 88px 32px 8px; }
.op-head--split{ display:flex; align-items:flex-end; justify-content:space-between; gap: 32px; flex-wrap: wrap; }
.op-head--split > div{ flex: 1 1 340px; min-width: 0; }
.op-head--split > .op-head__lede{ flex: 1 1 420px; min-width: 0; }
.op-head__title{
  font-family: var(--cs-font-display); font-weight: 700;
  font-size: 40px; line-height: 1.08; letter-spacing: -0.02em; color: var(--cs-cream);
  max-width: 20ch;
}
.op-head__lede{
  margin-top: 18px; max-width: 62ch; font-size: 16.5px; line-height: 1.6; color: var(--cs-fg-mute);
}
.op-section--light .op-head__title{ color: var(--cs-oxford); }
.op-section--light .op-head__lede{ color: var(--cs-slate-mid); }
.op-body{ padding-top: 40px; padding-bottom: 96px; }

/* Subtle scroll reveal — hidden state gated behind JS class so no-JS/print show content */
.op-ready [data-reveal]{ opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.op-ready [data-reveal].is-in{ opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){ .op-ready [data-reveal]{ opacity: 1 !important; transform: none !important; } }

/* Elementor editor (canvas) — JS timing pre reveal je tam nespoľahlivé,
   obsah nech je pri editovaní vždy hneď viditeľný */
body.elementor-editor-active [data-reveal]{ opacity: 1 !important; transform: none !important; }

/* Sticky-header anchor offset + smooth scroll */
.op-section, .w-hero{ scroll-margin-top: 112px; }
@media (prefers-reduced-motion: no-preference){ html{ scroll-behavior: smooth; } }

/* ---------- Header: onepager anchor nav ---------- */
.w-nav a{ cursor: pointer; white-space: nowrap; }
.cs-btn{ white-space: nowrap; }
.w-subnav .w-meta--tag{ color: var(--cs-fg-mute); }

/* ---------- Problem & Answer (cream) ---------- */
.op-ps{ display:grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.op-col__eyebrow{
  font-family: var(--cs-font-mono); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--cs-slate-light); margin-bottom: 18px;
  display:flex; align-items:center; gap: 10px;
}
.op-col__eyebrow::before{ content:""; width: 22px; height: 1px; background: var(--cs-slate-light); }
.op-problem{ list-style:none; display:flex; flex-direction:column; gap: 2px; }
.op-problem li{ padding: 16px 0; border-top: 1px solid var(--cs-rule-light); }
.op-problem li:first-child{ border-top: none; }
.op-problem h4{ font-family: var(--cs-font-ui); font-weight: 700; font-size: 15px; color: var(--cs-oxford); margin-bottom: 5px; }
.op-problem p{ font-size: 13.5px; line-height: 1.6; color: var(--cs-slate-mid); }

.op-attr-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.op-attr{
  background: var(--cs-white); border: 1px solid var(--cs-rule-light);
  border-top: 3px solid var(--cs-gold); padding: 18px 18px 20px;
}
.op-attr__k{
  font-family: var(--cs-font-mono); font-size: 10.5px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--cs-gold-700); margin-bottom: 10px;
  display:flex; align-items:center; gap: 8px;
}
.op-attr__k i{ font-size: 15px; color: var(--cs-gold-700); }
.op-attr__t{ font-family: var(--cs-font-ui); font-weight: 700; font-size: 15px; color: var(--cs-oxford); margin-bottom: 6px; letter-spacing: 0.02em; }
.op-attr__d{ font-size: 13px; line-height: 1.55; color: var(--cs-slate-mid); }

/* ---------- Regulation (ink) ---------- */
.op-reg-banner{
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 0;
  border: 1px solid var(--cs-rule); margin-bottom: 20px;
}
.op-reg-banner__cell{ padding: 18px 22px; border-right: 1px solid var(--cs-rule); }
.op-reg-banner__cell:last-child{ border-right: none; }
.op-reg-banner__k{ font-family: var(--cs-font-mono); font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cs-gold); margin-bottom: 6px; }
.op-reg-banner__v{ font-size: 13.5px; line-height: 1.5; color: var(--cs-fg-mute); }
.op-reg-banner__v strong{ color: var(--cs-cream); font-weight: 600; }

.op-reg-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.op-reg-card{
  background: var(--cs-navy-700); border: 1px solid var(--cs-rule);
  padding: 24px 26px; transition: border-color .15s ease;
}
.op-reg-card:hover{ border-color: var(--cs-gold); }
.op-reg-card__top{ display:flex; align-items:baseline; justify-content:space-between; gap: 16px; margin-bottom: 14px; }
.op-reg-card__code{ font-family: var(--cs-font-mono); font-size: 11px; letter-spacing: 0.16em; color: var(--cs-gold); text-transform: uppercase; }
.op-reg-card__since{ font-family: var(--cs-font-mono); font-size: 10.5px; letter-spacing: 0.10em; color: var(--cs-fg-faint); text-transform: uppercase; }
.op-reg-card__title{ font-family: var(--cs-font-display); font-weight: 700; font-size: 22px; letter-spacing: -0.01em; color: var(--cs-cream); margin-bottom: 10px; }
.op-reg-card__desc{ font-size: 13.5px; line-height: 1.6; color: var(--cs-fg-mute); }
.op-reg-card__duty{
  margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--cs-rule);
  display:flex; gap: 10px; align-items:flex-start;
  font-size: 12.5px; line-height: 1.5; color: var(--cs-cream);
}
.op-reg-card__duty i{ color: var(--cs-gold); font-size: 15px; margin-top: 1px; flex-shrink: 0; }

/* ---------- Working Groups (cream) ---------- */
.op-rules{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--cs-rule-light); margin-bottom: 28px; background: var(--cs-white); }
.op-rules__cell{ padding: 16px 18px; border-right: 1px solid var(--cs-rule-light); }
.op-rules__cell:last-child{ border-right: none; }
.op-rules__k{ font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cs-gold-700); margin-bottom: 6px; }
.op-rules__v{ font-size: 12.5px; line-height: 1.5; color: var(--cs-slate-mid); }

.op-wg-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.op-wg-card{
  background: var(--cs-white); border: 1px solid var(--cs-rule-light);
  border-top: 3px solid var(--cs-oxford); padding: 18px 20px 20px;
  display:flex; flex-direction:column; transition: box-shadow .15s ease, transform .15s ease;
}
.op-wg-card:hover{ box-shadow: var(--cs-shadow-2); transform: translateY(-2px); }
.op-wg-card.is-phase2{ border-top-color: var(--cs-navy-light); }
.op-wg-card.is-phase3{ border-top-color: var(--cs-gold-700); }
.op-wg-card__code{ font-family: var(--cs-font-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; color: var(--cs-slate-light); margin-bottom: 8px; }
.op-wg-card__name{ font-family: var(--cs-font-ui); font-weight: 700; font-size: 15.5px; color: var(--cs-oxford); line-height: 1.25; margin-bottom: 8px; }
.op-wg-card__topics{ font-size: 12.5px; line-height: 1.55; color: var(--cs-slate-mid); flex: 1; }
.op-wg-card__phase{
  margin-top: 14px; align-self: flex-start;
  font-family: var(--cs-font-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--cs-slate-light); border: 1px solid var(--cs-rule-light); padding: 3px 8px; border-radius: 999px;
}
.op-wg-card.is-phase1 .op-wg-card__phase{ color: var(--cs-gold-700); border-color: rgba(212,160,23,0.4); }

/* ---------- Membership (navy) ---------- */
.op-member-grid{ display:grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.op-member{
  background: var(--cs-navy-700); border: 1px solid var(--cs-rule);
  padding: 22px 20px; display:flex; flex-direction:column;
}
.op-member.is-featured{
  border-color: var(--cs-gold);
  box-shadow: var(--cs-shadow-gold);
  background: linear-gradient(180deg, rgba(212,160,23,0.06) 0%, transparent 34%), var(--cs-navy-700);
}
.op-member__badge{
  font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--cs-gold); margin-bottom: 10px;
}
.op-member__name{ font-family: var(--cs-font-display); font-weight: 700; font-size: 19px; letter-spacing: -0.01em; color: var(--cs-cream); }
.op-member__who{ margin-top: 6px; font-size: 12px; line-height: 1.45; color: var(--cs-fg-mute); min-height: 3.6em; }
.op-member__rule{ border: none; border-top: 1px solid var(--cs-rule); margin: 16px 0; }
.op-member__list{ list-style:none; display:flex; flex-direction:column; gap: 9px; flex: 1; }
.op-member__list li{ display:flex; gap: 9px; align-items:flex-start; font-size: 12.5px; line-height: 1.4; color: var(--cs-cream); }
.op-member__list i{ color: var(--cs-gold); font-size: 13px; margin-top: 2px; flex-shrink: 0; }
.op-member__note{
  margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--cs-rule);
  font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cs-fg-faint);
}

/* ---------- Products (ink) ---------- */
.op-prod-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.op-prod{
  background: var(--cs-navy-700); border: 1px solid var(--cs-rule);
  padding: 22px 20px; display:flex; flex-direction:column; transition: border-color .15s ease, transform .15s ease;
}
.op-prod:hover{ border-color: var(--cs-gold); transform: translateY(-2px); }
.op-prod__icon{ font-size: 24px; color: var(--cs-gold); margin-bottom: 14px; }
.op-prod__name{ font-family: var(--cs-font-ui); font-weight: 700; font-size: 15px; color: var(--cs-cream); line-height: 1.25; margin-bottom: 8px; }
.op-prod__desc{ font-size: 12.5px; line-height: 1.55; color: var(--cs-fg-mute); flex: 1; }
.op-prod__tag{
  margin-top: 14px; align-self: flex-start;
  font-family: var(--cs-font-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase;
  padding: 3px 8px; border: 1px solid var(--cs-rule); color: var(--cs-fg-mute);
}
.op-prod__tag.is-open{ color: var(--cs-gold); border-color: rgba(212,160,23,0.4); }

/* ---------- Founding cohort (navy · gold emphasis) ---------- */
.op-found{
  display:grid; grid-template-columns: 0.9fr 1.1fr; gap: 56px; align-items: start;
  border: 1px solid var(--cs-gold); box-shadow: var(--cs-shadow-gold);
  background: linear-gradient(180deg, rgba(212,160,23,0.05) 0%, transparent 40%), var(--cs-navy-700);
  padding: 44px 44px 48px;
}
.op-found__big{ font-family: var(--cs-font-display); font-weight: 700; font-size: 88px; line-height: 0.95; color: var(--cs-gold); letter-spacing: -0.03em; }
.op-found__biglabel{ margin-top: 10px; font-family: var(--cs-font-ui); font-weight: 600; font-size: 17px; color: var(--cs-cream); }
.op-found__lede{ margin-top: 16px; font-size: 14.5px; line-height: 1.6; color: var(--cs-fg-mute); }
.op-found__cta{ display:flex; gap: 12px; margin-top: 26px; flex-wrap: wrap; }
.op-reasons{ list-style:none; display:flex; flex-direction:column; gap: 0; }
.op-reasons li{ display:flex; gap: 16px; padding: 16px 0; border-top: 1px solid var(--cs-rule); }
.op-reasons li:first-child{ border-top: none; padding-top: 0; }
.op-reasons__n{ font-family: var(--cs-font-mono); font-size: 12px; color: var(--cs-gold); letter-spacing: 0.10em; flex-shrink: 0; margin-top: 2px; }
.op-reasons__t{ font-family: var(--cs-font-ui); font-weight: 700; font-size: 14.5px; color: var(--cs-cream); margin-bottom: 4px; }
.op-reasons__d{ font-size: 13px; line-height: 1.55; color: var(--cs-fg-mute); }

/* ---------- Governance (cream) ---------- */
.op-gov-layers{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 28px; }
.op-gov-layer{ background: var(--cs-white); border: 1px solid var(--cs-rule-light); border-left: 3px solid var(--cs-oxford); padding: 18px 20px; }
.op-gov-layer__n{ font-family: var(--cs-font-mono); font-size: 10.5px; letter-spacing: 0.14em; color: var(--cs-gold-700); margin-bottom: 8px; }
.op-gov-layer__t{ font-family: var(--cs-font-ui); font-weight: 700; font-size: 15px; color: var(--cs-oxford); margin-bottom: 6px; }
.op-gov-layer__d{ font-size: 12.5px; line-height: 1.55; color: var(--cs-slate-mid); }

.op-safeguards{ display:grid; grid-template-columns: repeat(5, 1fr); gap: 0; border: 1px solid var(--cs-rule-light); background: var(--cs-white); margin-bottom: 40px; }
.op-safe{ padding: 16px 16px; border-right: 1px solid var(--cs-rule-light); }
.op-safe:last-child{ border-right: none; }
.op-safe__v{ font-family: var(--cs-font-display); font-weight: 700; font-size: 22px; color: var(--cs-oxford); letter-spacing: -0.01em; margin-bottom: 4px; }
.op-safe__k{ font-size: 11.5px; line-height: 1.4; color: var(--cs-slate-mid); }

.op-founders-head{ font-family: var(--cs-font-ui); font-weight: 700; font-size: 15px; color: var(--cs-oxford); margin-bottom: 14px; letter-spacing: 0.01em; }
.op-founders{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.op-founder{ background: var(--cs-white); border: 1px solid var(--cs-rule-light); padding: 18px 20px; }
.op-founder__name{ font-family: var(--cs-font-display); font-weight: 700; font-size: 17px; color: var(--cs-oxford); }
.op-founder__role{ margin-top: 3px; font-family: var(--cs-font-mono); font-size: 10.5px; letter-spacing: 0.10em; text-transform: uppercase; color: var(--cs-gold-700); }
.op-founder__d{ margin-top: 10px; font-size: 12.5px; line-height: 1.55; color: var(--cs-slate-mid); }

/* ---------- Contact (navy) ---------- */
.op-contact{ display:grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.op-contact__panel{ }
.op-contact__title{ font-family: var(--cs-font-display); font-weight: 700; font-size: 34px; line-height: 1.1; letter-spacing: -0.02em; color: var(--cs-cream); }
.op-contact__lede{ margin-top: 16px; font-size: 15px; line-height: 1.6; color: var(--cs-fg-mute); max-width: 46ch; }
.op-contact__cta{ display:flex; gap: 12px; margin-top: 26px; flex-wrap: wrap; }
.op-contact__seat{ margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--cs-rule); font-family: var(--cs-font-mono); font-size: 11.5px; line-height: 1.7; letter-spacing: 0.04em; color: var(--cs-fg-faint); }
.op-contact__seat strong{ color: var(--cs-cream); font-weight: 600; }
.op-contact-cards{ display:flex; flex-direction:column; gap: 12px; }
.op-contact-card{ background: var(--cs-navy-700); border: 1px solid var(--cs-rule); padding: 20px 22px; transition: border-color .15s ease; }
.op-contact-card:hover{ border-color: var(--cs-gold); }
.op-contact-card__k{ font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cs-gold); margin-bottom: 8px; }
.op-contact-card__mail{ font-family: var(--cs-font-display); font-weight: 600; font-size: 18px; color: var(--cs-cream); }
.op-contact-card__d{ margin-top: 6px; font-size: 12.5px; line-height: 1.5; color: var(--cs-fg-mute); }

/* ---------- Section closing rule ---------- */
.op-golden-rule{ height: 1px; background: linear-gradient(90deg, transparent, var(--cs-gold) 15%, var(--cs-gold) 85%, transparent); opacity: 0.5; }

/* ---------- Print / PDF: always show everything ---------- */
@media print{
  html, body{ width: 1440px; }
  .op-ready [data-reveal]{ opacity: 1 !important; transform: none !important; transition: none !important; }
  .w-header{ position: static !important; }
  *, *::before, *::after{ -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .w-pillar, .op-reg-card, .op-wg-card, .op-member, .op-prod, .op-founder,
  .op-gov-layer, .op-contact-card, .op-attr, .op-problem li, .op-reasons li,
  .op-liability, .op-pillar-lt, .op-logo-slot, .op-anchor, .op-funnel__step,
  .op-nis2, .op-principle{ break-inside: avoid; }
  .op-acc{ border-color: var(--cs-rule); }
  .op-acc summary{ cursor: default; }
  .op-acc__caret{ display: none; }
}

/* ---------- Responsive ---------- */
@media screen and (max-width: 1080px){
  .op-member-grid{ grid-template-columns: repeat(2, 1fr); }
  .op-prod-grid{ grid-template-columns: repeat(2, 1fr); }
  .op-safeguards{ grid-template-columns: repeat(1, 1fr); }
  .op-safe{ border-right: none; border-bottom: 1px solid var(--cs-rule-light); }
  .op-gov-layers{ grid-template-columns: repeat(2, 1fr); }
  .op-reg-banner{ grid-template-columns: 1fr; }
  .op-reg-banner__cell{ border-right: none; border-bottom: 1px solid var(--cs-rule); }
}
@media screen and (max-width: 900px){
  .op-ps, .op-found, .op-contact{ grid-template-columns: 1fr; gap: 32px; }
  .op-wg-grid, .op-reg-grid, .op-attr-grid{ grid-template-columns: 1fr; }
  .op-rules{ grid-template-columns: repeat(2, 1fr); }
  .op-found{ padding: 32px 28px; }
  .op-head__title{ font-size: 32px; }
}

/* ---------- Header degrades before content grids (no page-level horizontal scroll) ---------- */
@media screen and (max-width: 1200px){
  .w-header__inner{ gap: 20px; padding: 14px 24px; }
  .w-nav{ gap: 18px; }
}
@media screen and (max-width: 1080px){
  .w-header__inner{ gap: 14px; padding: 12px 20px; }
  .w-brand__desc{ display: none; }
  .w-nav{ gap: 14px; }
  .w-nav a{ font-size: 11.5px; }
  .w-hero__title{ font-size: 56px; }
}
@media screen and (max-width: 1024px){
  /* hide the nowrap nav before its min-content overflows the header (no horizontal scroll, CTA stays visible) */
  .w-header__inner{ grid-template-columns: auto auto; justify-content: space-between; gap: 12px; }
  .w-nav{ display: none; }
  .w-subnav{ display: none; }
}
@media screen and (max-width: 920px){
  .w-hero__title{ font-size: 44px; }
  .w-hero__strip{ grid-template-columns: repeat(2, 1fr); }
  .w-hero__inner{ padding: 64px 24px 48px; }
}

/* =========================================================
   Audit v2 additions (client feedback, July 2026)
   Hero split + NIS2 check · liability callout · merged mandate
   social-proof seats · price anchor · scarcity counter
   annex accordions · three-step contact funnel · lang switch
   ========================================================= */

/* ---------- Header: language switch ---------- */
.w-lang{ display:inline-flex; border: 1px solid var(--cs-rule); }
.w-lang a{
  font-family: var(--cs-font-ui); font-weight: 600; font-size: 11px;
  letter-spacing: 0.08em; padding: 9px 12px; color: var(--cs-fg-faint);
  transition: color .15s ease, background .15s ease;
}
.w-lang a.is-active{ color: var(--cs-midnight); background: var(--cs-gold); }
.w-lang a:not(.is-active):hover{ color: var(--cs-cream); }
.w-footer__locale a{ color: inherit; }
.w-footer__locale a.is-active{ color: var(--cs-gold); }
.w-footer__locale a:hover{ color: var(--cs-gold); }

/* ---------- Hero: split layout with NIS2 widget ---------- */
.w-hero--split .w-hero__grid{
  display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: start;
}
.w-hero--split .w-hero__title{ font-size: 54px; }
.w-hero--split .w-hero__lede{ max-width: 54ch; }
.w-hero--split .w-hero__cta{ flex-wrap: wrap; }
.w-strip__link{
  display: inline-block; margin-top: 8px;
  font-family: var(--cs-font-ui); font-weight: 600; font-size: 11px;
  letter-spacing: 0.10em; text-transform: uppercase; color: var(--cs-gold);
  border-bottom: 1px solid transparent; transition: border-color .15s ease;
}
.w-strip__link:hover{ border-color: var(--cs-gold); }

/* ---------- NIS2 scope check (hero micro-widget) ---------- */
.op-nis2{
  background: var(--cs-navy-700); border: 1px solid var(--cs-rule);
  border-top: 3px solid var(--cs-gold); padding: 22px 24px 18px;
  scroll-margin-top: 130px; margin-top: 6px;
}
.op-nis2__head{ display:flex; align-items:center; justify-content: space-between; gap: 12px; }
.op-nis2__k{
  font-family: var(--cs-font-mono); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--cs-gold);
  display: inline-flex; align-items: center; gap: 8px;
}
.op-nis2__k i{ font-size: 15px; }
.op-nis2__step{ font-family: var(--cs-font-mono); font-size: 10.5px; letter-spacing: 0.12em; color: var(--cs-fg-faint); text-transform: uppercase; }
.op-nis2__q{ font-family: var(--cs-font-ui); font-weight: 700; font-size: 15.5px; color: var(--cs-cream); margin: 16px 0 12px; }
.op-nis2__opts{ display:flex; flex-wrap: wrap; gap: 8px; }
.op-nis2__opts--rows{ flex-direction: column; align-items: stretch; }
.op-nis2__opt{
  border: 1px solid var(--cs-rule); background: transparent; color: var(--cs-fg-mute);
  font-family: var(--cs-font-ui); font-weight: 500; font-size: 12.5px; line-height: 1.3;
  padding: 9px 12px; cursor: pointer; text-align: left;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.op-nis2__opt:hover{ border-color: var(--cs-gold); color: var(--cs-cream); background: rgba(212,160,23,0.06); }
.op-nis2__result{ margin-top: 16px; }
.op-nis2__verdict{
  display: inline-block; font-family: var(--cs-font-mono); font-size: 10px;
  letter-spacing: 0.14em; text-transform: uppercase; padding: 4px 10px;
  border: 1px solid; margin-bottom: 12px;
}
.op-nis2__verdict.is-yes{ color: var(--cs-gold); border-color: rgba(212,160,23,0.5); background: rgba(212,160,23,0.08); }
.op-nis2__verdict.is-maybe{ color: var(--cs-high); border-color: rgba(224,122,43,0.5); background: rgba(224,122,43,0.08); }
.op-nis2__verdict.is-no{ color: var(--cs-fg-mute); border-color: var(--cs-rule); }
.op-nis2__text{ font-size: 13.5px; line-height: 1.6; color: var(--cs-cream); }
.op-nis2__cta{ margin-top: 14px; }
.op-nis2__link{
  background: none; border: none; cursor: pointer; padding: 0;
  font-family: var(--cs-font-mono); font-size: 10.5px; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--cs-gold); margin-top: 12px;
}
.op-nis2__link:hover{ background: none; color: var(--cs-gold); text-decoration: underline; }
.op-nis2__foot{
  margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--cs-rule);
  display:flex; justify-content: space-between; align-items: baseline; gap: 12px;
  font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: 0.06em; color: var(--cs-fg-faint);
}
.op-nis2__foot .op-nis2__link{ margin-top: 0; }

/* ---------- Regulation: personal-liability callout ---------- */
.op-liability{
  display:flex; gap: 24px; align-items: center;
  background: var(--cs-navy-700); border: 1px solid var(--cs-rule);
  border-left: 4px solid var(--cs-critical);
  padding: 22px 28px; margin-bottom: 20px;
}
.op-liability__icon{ font-size: 34px; color: var(--cs-critical); flex-shrink: 0; }
.op-liability__main{ flex: 1; }
.op-liability__k{
  font-family: var(--cs-font-mono); font-size: 10.5px; letter-spacing: 0.18em;
  text-transform: uppercase; color: #E39A93; margin-bottom: 8px;
}
.op-liability__fine{ display:flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.op-liability__num{
  font-family: var(--cs-font-display); font-weight: 700; font-size: 32px;
  letter-spacing: -0.01em; color: var(--cs-cream); line-height: 1;
}
.op-liability__rest{ font-size: 13.5px; color: var(--cs-fg-mute); }
.op-liability__note{ margin-top: 8px; font-size: 12.5px; line-height: 1.5; color: var(--cs-fg-mute); }
.op-liability__ref{
  font-family: var(--cs-font-mono); font-size: 10.5px; line-height: 1.6; letter-spacing: 0.06em;
  color: var(--cs-fg-faint); text-align: right; flex-shrink: 0;
  border-left: 1px solid var(--cs-rule); padding-left: 24px; align-self: stretch;
  display:flex; align-items: center;
}

/* ---------- Mandate: pillars restyled for cream + principles chips ---------- */
.op-pillar-stack{ display:flex; flex-direction: column; gap: 12px; }
.op-pillar-lt{
  background: var(--cs-white); border: 1px solid var(--cs-rule-light);
  border-top: 3px solid var(--cs-gold); padding: 20px 22px;
  display:flex; gap: 18px; align-items: flex-start;
}
.op-pillar-lt__side{ display:flex; flex-direction: column; align-items: center; gap: 6px; flex-shrink: 0; }
.op-pillar-lt__side i{ font-size: 24px; color: var(--cs-gold-700); }
.op-pillar-lt__n{ font-family: var(--cs-font-mono); font-size: 10.5px; letter-spacing: 0.14em; color: var(--cs-slate-light); }
.op-pillar-lt__t{ font-family: var(--cs-font-ui); font-weight: 700; font-size: 16px; color: var(--cs-oxford); margin-bottom: 6px; }
.op-pillar-lt__d{ font-size: 13px; line-height: 1.6; color: var(--cs-slate-mid); }
.op-principles{
  display:flex; flex-wrap: wrap; gap: 10px;
  margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--cs-rule-light);
}
.op-principle{
  display:inline-flex; align-items: center; gap: 8px;
  background: var(--cs-white); border: 1px solid var(--cs-rule-light);
  padding: 9px 14px; font-family: var(--cs-font-ui); font-weight: 700; font-size: 12px;
  color: var(--cs-oxford); letter-spacing: 0.02em;
}
.op-principle i{ font-size: 15px; color: var(--cs-gold-700); }
.op-principle span{ font-weight: 500; color: var(--cs-slate-mid); }

/* ---------- Social proof: founding seats ---------- */
.op-logo-grid{ display:grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.op-logo-slot{
  min-height: 96px; padding: 12px;
  border: 1px solid var(--cs-rule);
  background:
    repeating-linear-gradient(45deg, rgba(250,248,242,0.025) 0 10px, transparent 10px 20px),
    var(--cs-navy-700);
  display:flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  text-align: center;
}
.op-logo-slot i{ font-size: 22px; color: var(--cs-fg-faint); opacity: 0.7; }
.op-logo-slot__k{
  font-family: var(--cs-font-mono); font-size: 9.5px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--cs-fg-faint); line-height: 1.5;
}
.op-logo-slot--open{
  border: 1px dashed rgba(212,160,23,0.55); background: transparent;
  transition: background .15s ease, border-color .15s ease;
}
.op-logo-slot--open i, .op-logo-slot--open .op-logo-slot__k{ color: var(--cs-gold); opacity: 1; }
.op-logo-slot--open:hover{ background: rgba(212,160,23,0.07); border-color: var(--cs-gold); }
.op-logo-slot--filled{
  background: var(--cs-white); border-color: var(--cs-rule-light);
}
.op-logo-slot--filled img{ max-width: 100%; max-height: 44px; object-fit: contain; }
.op-social-caption{
  margin-top: 18px; font-family: var(--cs-font-mono); font-size: 11px;
  letter-spacing: 0.06em; color: var(--cs-fg-faint);
}

/* ---------- Membership: price anchoring ---------- */
.op-anchor{
  margin-top: 22px; display:flex; gap: 20px; align-items: center;
  border: 1px solid var(--cs-rule);
  background: linear-gradient(90deg, rgba(212,160,23,0.08), transparent 45%), var(--cs-navy-700);
  padding: 20px 26px;
}
.op-anchor > i{ font-size: 26px; color: var(--cs-gold); flex-shrink: 0; }
.op-anchor__t{ font-family: var(--cs-font-ui); font-weight: 600; font-size: 15px; color: var(--cs-cream); line-height: 1.45; }
.op-anchor__d{ margin-top: 4px; font-size: 12.5px; color: var(--cs-fg-mute); }

/* ---------- Annex accordions (WG · governance) ---------- */
.op-acc{ margin-top: 28px; border: 1px solid var(--cs-rule); background: var(--cs-navy-700); scroll-margin-top: 120px; }
.op-acc summary{
  list-style: none; cursor: pointer; user-select: none;
  display:flex; align-items: center; gap: 14px; padding: 18px 24px;
  font-family: var(--cs-font-ui); font-weight: 600; font-size: 14px; color: var(--cs-cream);
  transition: background .15s ease;
}
.op-acc summary:hover{ background: rgba(212,160,23,0.05); }
.op-acc summary::-webkit-details-marker{ display: none; }
.op-acc__tag{
  font-family: var(--cs-font-mono); font-size: 9.5px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--cs-gold);
  border: 1px solid rgba(212,160,23,0.4); padding: 3px 8px; flex-shrink: 0;
}
.op-acc__caret{ margin-left: auto; font-size: 16px; color: var(--cs-gold); transition: transform .2s ease; }
.op-acc[open] .op-acc__caret{ transform: rotate(180deg); }
.op-acc__panel{
  background: var(--cs-cream); border-top: 1px solid var(--cs-rule);
  padding: 32px 28px;
}
.op-acc__panel .op-wg-grid{ margin-top: 0; }
.op-acc__panel .op-safeguards{ margin-bottom: 32px; }

/* ---------- Contact: three-step funnel ---------- */
.op-col__eyebrow--dark{ color: var(--cs-fg-faint); }
.op-col__eyebrow--dark::before{ background: var(--cs-gold); }
.op-funnel{ display:flex; flex-direction: column; gap: 12px; }
.op-funnel__step{
  display:flex; gap: 18px; align-items: flex-start;
  background: var(--cs-navy-700); border: 1px solid var(--cs-rule); padding: 20px 22px;
  transition: border-color .15s ease;
}
.op-funnel__step:hover{ border-color: var(--cs-gold); }
.op-funnel__n{
  font-family: var(--cs-font-mono); font-size: 12px; color: var(--cs-gold);
  border: 1px solid rgba(212,160,23,0.4); width: 34px; height: 34px; border-radius: 50%;
  display:flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px;
}
.op-funnel__body{ flex: 1; }
.op-funnel__stage{
  font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--cs-fg-faint); margin-bottom: 5px;
}
.op-funnel__t{ font-family: var(--cs-font-ui); font-weight: 700; font-size: 15px; color: var(--cs-cream); line-height: 1.35; }
.op-funnel__d{ margin-top: 5px; font-size: 12.5px; line-height: 1.55; color: var(--cs-fg-mute); }
.op-funnel__cta{ margin-top: 12px; }

/* ---------- Contact: direct e-mails (left panel) ---------- */
.op-contact__emails{ margin-top: 30px; border-top: 1px solid var(--cs-rule); padding-top: 20px; }
.op-contact__emails-k{
  font-family: var(--cs-font-mono); font-size: 10px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--cs-gold); margin-bottom: 10px;
}
.op-contact__email{
  display:flex; justify-content: space-between; align-items: baseline; gap: 16px;
  padding: 7px 0; border-bottom: 1px solid var(--cs-rule); font-size: 13px;
}
.op-contact__email:last-child{ border-bottom: none; }
.op-contact__email span{ color: var(--cs-fg-mute); }
.op-contact__email a{ font-family: var(--cs-font-mono); font-size: 12.5px; color: var(--cs-cream); }
.op-contact__email a:hover{ color: var(--cs-gold); }

/* ---------- Founding: scarcity counter ---------- */
.op-progress{ margin-top: 22px; max-width: 360px; }
.op-progress__cells{ display:grid; grid-template-columns: repeat(12, 1fr); gap: 5px; height: 14px; }
.op-progress__cell{ border: 1px solid var(--cs-rule); }
.op-progress__cell.is-filled{ background: var(--cs-gold); border-color: var(--cs-gold); }
.op-progress__row{
  display:flex; justify-content: space-between; gap: 16px; margin-top: 9px;
  font-family: var(--cs-font-mono); font-size: 10.5px; letter-spacing: 0.06em;
}
.op-progress__taken{ color: var(--cs-gold); }
.op-progress__close{ color: var(--cs-fg-faint); }

/* ---------- Audit v2 responsive ---------- */
@media screen and (max-width: 1180px){
  .w-hero--split .w-hero__title{ font-size: 46px; }
}
@media screen and (max-width: 1080px){
  .op-logo-grid{ grid-template-columns: repeat(4, 1fr); }
  .w-hero--split .w-hero__grid{ grid-template-columns: 1fr; gap: 40px; }
}
@media screen and (max-width: 900px){
  .op-pillar-lt{ flex-direction: column; gap: 10px; }
  .op-pillar-lt__side{ flex-direction: row; }
  .op-logo-grid{ grid-template-columns: repeat(3, 1fr); }
  .op-liability{ flex-wrap: wrap; }
  .op-liability__ref{ border-left: none; padding-left: 0; text-align: left; flex: 1 1 100%; }
  .op-progress{ max-width: none; }
}

/* ---------- Mobile (≤480px) — dodané CSS malo najmenší breakpoint 900px,
   pre telefóny chýbalo zalomenie .cs-btn (white-space:nowrap pri dlhých SK
   textoch tlačidiel spôsobovalo horizontálne pretečenie celej stránky) ---------- */
@media screen and (max-width: 480px){
  .cs-btn{ white-space: normal; text-align: center; }
  .w-hero__cta{ flex-direction: column; align-items: stretch; }
  .w-hero__br1{ display: none; }
  .op-wrap{ padding-left: 20px; padding-right: 20px; }
  .op-head{ padding: 56px 20px 8px; }
  .op-head__title{ font-size: 28px; }
  .op-liability{ padding: 18px 20px; gap: 16px; }
  .op-principle{ width: 100%; flex-wrap: wrap; row-gap: 4px; padding: 12px 14px; }
  .op-principle span{ flex-basis: 100%; margin-left: 23px; }
  .op-logo-grid{ grid-template-columns: repeat(2, 1fr); }
  .op-member-grid{ grid-template-columns: 1fr; }
  .op-prod-grid{ grid-template-columns: 1fr; }
  .op-rules{ grid-template-columns: 1fr; }
  .op-rules__cell{ border-right: none; border-bottom: 1px solid var(--cs-rule-light); }
  .op-rules__cell:last-child{ border-bottom: none; }
  .op-head--split{ gap: 8px; }
  .op-head--split .op-head__lede{ margin-top: 4px; }
  .op-found{ padding: 24px 20px; }
  .op-gov-layers{ grid-template-columns: 1fr; }
  .op-founders{ grid-template-columns: 1fr; }
}
