/* RoughCut — Arabic (RTL) layer, loaded after style.css on /ar/ pages only.
   Latin brand words keep the Latin brand fonts; Arabic falls through to
   Cairo (display) and IBM Plex Sans Arabic (body) via font-stack order. */

@font-face {
  font-family: "Cairo";
  src: url("/assets/fonts/cairo-arabic-var.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("/assets/fonts/ibm-plex-sans-arabic-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("/assets/fonts/ibm-plex-sans-arabic-500.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("/assets/fonts/ibm-plex-sans-arabic-600.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("/assets/fonts/ibm-plex-sans-arabic-700.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --font-display: "Bricolage Grotesque", "Cairo", "Avenir Next", sans-serif;
  --font-body: "Spline Sans", "IBM Plex Sans Arabic", "Helvetica Neue", sans-serif;
  --font-mono: "Spline Sans Mono", "IBM Plex Sans Arabic", "SF Mono", Menlo, monospace;
}

/* Arabic is a connected script: tracking breaks letter joins, and taller
   glyph stacks need more leading than the Latin design allows. */
body { line-height: 1.85; }
h1, h2, h3, .not-found h1 { letter-spacing: 0; }
.hero .kicker, .sec-label, .story-index, .proof-item span,
.fit-mark, .plan-name { letter-spacing: 0; }
.hero .kicker { text-transform: none; }
.nowrap { white-space: nowrap; }
h1 { font-size: clamp(2.3rem, 5.6vw, 3.9rem); line-height: 1.28; }
h2 { line-height: 1.35; }
.hero .sub { line-height: 1.9; }
.step h3 { line-height: 1.45; }
.story-copy h3 { line-height: 1.4; }
.faq summary { line-height: 1.5; }

/* Technical strings never mirror. */
code, .technical, .timecode-ruler {
  direction: ltr;
  unicode-bidi: isolate;
}

/* Mirror the physical (left/right) properties of the base stylesheet. */
.skip-link { left: auto; right: 12px; }
.brand { margin-right: 0; margin-left: auto; }
.mobile-nav-panel { right: auto; left: 0; }
.btn-store .two-line { text-align: start; }
.hero-spec { text-align: right; }
.hero .kicker::before { transform: scaleX(-1); }
.hero .kicker::after { transform: none; }

.step { padding: 24px 0 0 22px; }
.step::before { left: auto; right: 0; }

.story-proof {
  padding-left: 0;
  border-left: 0;
  padding-right: 16px;
  border-right: 2px solid var(--amber);
}

.proof-item { padding: 26px 0 28px 26px; }
.proof-item + .proof-item {
  padding-left: 0;
  border-left: 0;
  padding-right: 26px;
  border-right: 1px solid var(--line);
}

.fit-columns > div {
  padding-left: 0;
  border-left: 0;
  padding-right: 18px;
  border-right: 2px solid var(--line-strong);
}
.fit-columns > div:first-child { border-right-color: var(--keep); }

.card ul { padding-left: 0; padding-right: 20px; }
.card ol { padding-left: 0; padding-right: 24px; }
.page-head h1 { text-align: right; }
.foot-inner .tagline { margin-right: 0; margin-left: auto; }

/* Mirror "the cut" motif so the slash sweeps with the reading direction. */
.backdrop::after {
  background: linear-gradient(245deg, transparent 49.65%, rgba(253, 178, 51, 0.045) 49.9%, rgba(253, 178, 51, 0.045) 50.1%, transparent 50.35%);
}
.price-core::after { right: auto; left: 11%; transform: rotate(-19deg); }

.not-found h1 { max-width: 16ch; line-height: 1.2; }

@media (max-width: 760px) {
  .proof-item { padding: 22px 0; }
  .proof-item + .proof-item { padding-right: 0; border-right: 0; }
}
