/* CONVXA homepage — Appendix C "fiche technique".
   Tokens come from cvx-tokens.css; this file must contain ZERO hardcoded hex.
   Logical properties throughout (§4) so one sheet serves LTR and RTL. */

.cvx{
  margin:0;
  background:var(--cvx-ground);
  color:var(--cvx-ink);
  font-family:var(--cvx-font-latin);
  font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.cvx *,.cvx *::before,.cvx *::after{ box-sizing:border-box; }
.cvx img{ max-width:100%; display:block; }
.cvx a{ color:inherit; }
.cvx h1,.cvx h2,.cvx h3,.cvx h4{ margin:0; line-height:1.15; text-wrap:balance; }
.cvx p{ margin:0; }
.cvx ul,.cvx ol,.cvx dl{ margin:0; padding:0; list-style:none; }

.cvx-wrap{ max-width:1200px; margin-inline:auto; padding-inline:var(--cvx-s4); }
@media (min-width:768px){ .cvx-wrap{ padding-inline:var(--cvx-s5); } }

.cvx-num{ font-family:var(--cvx-font-num); font-variant-numeric:tabular-nums; }
.cvx-eyebrow{
  font-size:11px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--cvx-ink-3);
}
.cvx-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.cvx-skip{
  position:absolute; inset-inline-start:-9999px; top:0; z-index:100;
  background:var(--cvx-navy-800); color:var(--cvx-surface); padding:var(--cvx-s3);
}
.cvx-skip:focus{ inset-inline-start:0; }

/* §6: visible focus everywhere, never outline:none without a replacement */
.cvx a:focus-visible,.cvx button:focus-visible,.cvx summary:focus-visible{
  outline:2px solid var(--cvx-navy-600); outline-offset:2px;
}

/* ── Buttons ─────────────────────────────────────────────────────────── */
.cvx-btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:var(--cvx-s2); min-height:44px; padding:var(--cvx-s3) var(--cvx-s4);
  border-radius:var(--cvx-radius); border:1px solid transparent;
  font-size:15px; font-weight:600; text-decoration:none;
  transition:background var(--cvx-transition), border-color var(--cvx-transition);
}
.cvx-btn--lg{ min-height:52px; padding-inline:var(--cvx-s5); font-size:16px; }
/* THE one orange action per screen */
.cvx-btn--action{ background:var(--cvx-action); color:var(--cvx-surface); }
.cvx-btn--action:hover{ background:var(--cvx-action-hi); }
.cvx-btn--ghost{ background:var(--cvx-surface); color:var(--cvx-navy-800); border-color:var(--cvx-line); }
.cvx-btn--ghost:hover{ border-color:var(--cvx-navy-600); }
.cvx-link{ color:var(--cvx-surface); text-decoration:none; font-size:14px; }
.cvx-link:hover{ text-decoration:underline; }

/* ── Utility strip + header (navy administrative band) ───────────────── */
.cvx-utility{ background:var(--cvx-navy-900); color:var(--cvx-surface); font-size:12px; }
.cvx-utility__in{ display:flex; align-items:center; justify-content:space-between; gap:var(--cvx-s3); min-height:34px; }
.cvx-utility__in > span{ opacity:.78; }
.cvx-utility__tel{ font-family:var(--cvx-font-num); font-weight:600; text-decoration:none; }
.cvx-utility__tel:hover{ text-decoration:underline; }
@media (max-width:600px){ .cvx-utility__in > span{ display:none; } .cvx-utility__in{ justify-content:flex-end; } }

.cvx-head{ background:var(--cvx-navy-800); color:var(--cvx-surface); position:sticky; top:0; z-index:60; }
.cvx-head__in{ display:flex; align-items:center; gap:var(--cvx-s5); min-height:64px; }
.cvx-head__brand img{ height:26px; width:auto; }
.cvx-head__nav{ display:none; gap:var(--cvx-s5); font-size:14px; margin-inline-end:auto; }
.cvx-head__nav a{ text-decoration:none; opacity:.85; }
.cvx-head__nav a:hover{ opacity:1; text-decoration:underline; }
.cvx-head__right{ display:flex; align-items:center; gap:var(--cvx-s3); margin-inline-start:auto; }
@media (min-width:1000px){
  .cvx-head__nav{ display:flex; }
  .cvx-head__right{ margin-inline-start:0; }
}
.cvx-burger{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; background:transparent; color:inherit;
  border:1px solid rgba(255,255,255,.25); border-radius:var(--cvx-radius); cursor:pointer;
}
@media (min-width:1000px){ .cvx-burger{ display:none; } }
@media (max-width:999px){ .cvx-head__right .cvx-link{ display:none; } }
@media (max-width:520px){ .cvx-head__right .cvx-btn--action{ display:none; } }

.cvx-mnav{ display:none; flex-direction:column; border-top:1px solid rgba(255,255,255,.14); }
.cvx-mnav.is-open{ display:flex; }
.cvx-mnav a{
  padding:var(--cvx-s4) var(--cvx-s4); text-decoration:none; font-size:15px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
@media (min-width:1000px){ .cvx-mnav{ display:none !important; } }

/* ── Hero: no photo, no gradient — a datasheet header ────────────────── */
.cvx-hero{ background:var(--cvx-surface); border-bottom:1px solid var(--cvx-line); }
.cvx-hero__in{ display:grid; gap:var(--cvx-s6); padding-block:var(--cvx-s7); }
@media (min-width:992px){
  .cvx-hero__in{ grid-template-columns:1.35fr 1fr; align-items:center; padding-block:var(--cvx-s8); }
}
.cvx-hero h1{ font-size:24px; font-weight:700; margin-block:var(--cvx-s3) var(--cvx-s4); }
@media (min-width:768px){ .cvx-hero h1{ font-size:32px; } }
.cvx-lead{ color:var(--cvx-ink-2); max-width:62ch; }
.cvx-hero__cta{ display:flex; flex-wrap:wrap; gap:var(--cvx-s3); margin-top:var(--cvx-s5); }
.cvx-hero__tel{ margin-top:var(--cvx-s3); font-size:14px; color:var(--cvx-ink-3); }
.cvx-hero__tel a{ font-family:var(--cvx-font-num); font-weight:600; color:var(--cvx-navy-600); }

.cvx-facts{ display:grid; grid-template-columns:repeat(2,1fr); border:1px solid var(--cvx-line); border-radius:var(--cvx-radius); }
.cvx-facts > div{ padding:var(--cvx-s4); border-inline-end:1px solid var(--cvx-line); border-bottom:1px solid var(--cvx-line); }
.cvx-facts > div:nth-child(2n){ border-inline-end:0; }
.cvx-facts > div:nth-last-child(-n+2){ border-bottom:0; }
.cvx-facts dt{ font-size:12px; color:var(--cvx-ink-3); margin-bottom:var(--cvx-s1); }
.cvx-facts dd{ margin:0; font-size:22px; font-weight:600; color:var(--cvx-navy-800); }

/* ── Sections ────────────────────────────────────────────────────────── */
.cvx-sec{ padding-block:var(--cvx-s7); border-bottom:1px solid var(--cvx-line); }
.cvx-sec--alt{ background:var(--cvx-surface); }
.cvx-sec__head{ margin-bottom:var(--cvx-s6); }
.cvx-sec__head h2{ font-size:19px; font-weight:700; }
@media (min-width:768px){ .cvx-sec__head h2{ font-size:22px; } }
.cvx-sec__lead{ color:var(--cvx-ink-2); max-width:68ch; margin-top:var(--cvx-s3); }
.cvx-note{ margin-top:var(--cvx-s4); font-size:13px; color:var(--cvx-ink-3); }

/* Categories — dense rows, not photo cards */
.cvx-cats{ display:grid; gap:var(--cvx-s3); grid-template-columns:1fr; }
@media (min-width:640px){ .cvx-cats{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .cvx-cats{ grid-template-columns:repeat(3,1fr); } }
.cvx-cat{
  display:grid; gap:var(--cvx-s1);
  background:var(--cvx-surface); border:1px solid var(--cvx-line);
  border-radius:var(--cvx-radius); padding:var(--cvx-s4);
  text-decoration:none;
  transition:border-color var(--cvx-transition), background var(--cvx-transition);
}
.cvx-cat:hover{ border-color:var(--cvx-navy-600); background:var(--cvx-navy-100); }
.cvx-cat__q{ font-size:13px; font-weight:600; color:var(--cvx-navy-600); } /* data, not the action (§2.1) */
.cvx-cat__n{ font-size:16px; font-weight:600; color:var(--cvx-ink); }
.cvx-cat__s{ font-size:13px; color:var(--cvx-ink-3); }

/* Steps */
.cvx-steps{ display:grid; gap:var(--cvx-s4); grid-template-columns:1fr; counter-reset:none; }
@media (min-width:768px){ .cvx-steps{ grid-template-columns:repeat(4,1fr); } }
.cvx-steps li{ border-top:2px solid var(--cvx-navy-800); padding-top:var(--cvx-s3); }
.cvx-step__n{ font-size:12px; font-weight:600; color:var(--cvx-ink-3); }
.cvx-steps h3{ font-size:16px; font-weight:600; margin-block:var(--cvx-s2) var(--cvx-s1); }
.cvx-steps p{ font-size:14px; color:var(--cvx-ink-2); }

/* Credit */
.cvx-credit{ display:grid; gap:var(--cvx-s6); }
@media (min-width:992px){ .cvx-credit{ grid-template-columns:1fr 1fr; align-items:start; } }
.cvx-credit h2{ font-size:22px; font-weight:700; margin-top:var(--cvx-s2); }
.cvx-ticks{ display:grid; gap:var(--cvx-s3); }
.cvx-ticks li{
  position:relative; padding-inline-start:var(--cvx-s5);
  font-size:15px; color:var(--cvx-ink-2);
}
.cvx-ticks li::before{
  content:''; position:absolute; inset-inline-start:0; top:.55em;
  width:8px; height:8px; background:var(--cvx-navy-600); border-radius:var(--cvx-radius);
}

/* Table (§3.3 pattern) */
.cvx-table{ width:100%; border-collapse:collapse; background:var(--cvx-surface); border:1px solid var(--cvx-line); font-size:14px; }
.cvx-table th,.cvx-table td{ padding:var(--cvx-s3); text-align:start; border-bottom:1px solid var(--cvx-line-soft); }
.cvx-table thead th{ background:var(--cvx-navy-100); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--cvx-ink-2); }
.cvx-table tbody th{ font-weight:600; }
.cvx-table tbody tr:last-child th,.cvx-table tbody tr:last-child td{ border-bottom:0; }

/* FAQ — native details, zero JS */
.cvx-faq__title{ font-size:19px; font-weight:700; margin-block:var(--cvx-s7) var(--cvx-s4); }
.cvx-faq{ background:var(--cvx-surface); border:1px solid var(--cvx-line); border-radius:var(--cvx-radius); }
.cvx-faq details{ border-bottom:1px solid var(--cvx-line-soft); }
.cvx-faq details:last-child{ border-bottom:0; }
.cvx-faq summary{
  cursor:pointer; padding:var(--cvx-s4); font-weight:600; font-size:15px;
  list-style:none; display:flex; justify-content:space-between; gap:var(--cvx-s3);
}
.cvx-faq summary::-webkit-details-marker{ display:none; }
.cvx-faq summary::after{ content:'+'; color:var(--cvx-ink-3); font-weight:400; }
.cvx-faq details[open] summary::after{ content:'−'; }
.cvx-faq__a{ padding:0 var(--cvx-s4) var(--cvx-s4); }
.cvx-faq__a p{ font-size:14px; color:var(--cvx-ink-2); max-width:68ch; }

/* Final CTA */
.cvx-cta{ background:var(--cvx-navy-800); color:var(--cvx-surface); padding-block:var(--cvx-s7); }
.cvx-cta__in{ display:grid; gap:var(--cvx-s5); }
@media (min-width:768px){ .cvx-cta__in{ grid-template-columns:1fr auto; align-items:center; } }
.cvx-cta h2{ font-size:22px; font-weight:700; }
.cvx-cta p{ margin-top:var(--cvx-s2); font-size:15px; opacity:.8; }
.cvx-cta__actions{ display:flex; align-items:center; gap:var(--cvx-s4); flex-wrap:wrap; }
.cvx-cta__tel{ font-size:20px; font-weight:600; color:var(--cvx-surface); text-decoration:none; }
.cvx-cta__tel:hover{ text-decoration:underline; }

/* Footer */
.cvx-foot{ background:var(--cvx-navy-900); color:var(--cvx-surface); padding-block:var(--cvx-s7) var(--cvx-s4); font-size:14px; }
.cvx-foot__grid{ display:grid; gap:var(--cvx-s6); }
@media (min-width:768px){ .cvx-foot__grid{ grid-template-columns:2fr 1fr 1fr 1fr; } }
.cvx-foot img{ height:26px; width:auto; margin-bottom:var(--cvx-s3); }
.cvx-foot p{ opacity:.72; max-width:38ch; }
.cvx-foot h4{ font-size:12px; text-transform:uppercase; letter-spacing:.08em; opacity:.6; margin-bottom:var(--cvx-s3); }
.cvx-foot ul{ display:grid; gap:var(--cvx-s2); }
.cvx-foot a{ text-decoration:none; opacity:.85; }
.cvx-foot a:hover{ opacity:1; text-decoration:underline; }
.cvx-foot__legal{
  display:flex; flex-wrap:wrap; gap:var(--cvx-s3); justify-content:space-between;
  margin-top:var(--cvx-s6); padding-top:var(--cvx-s4);
  border-top:1px solid rgba(255,255,255,.14); font-size:13px; opacity:.7;
}

@media (prefers-reduced-motion: reduce){ .cvx *{ transition:none !important; } }
