/* =========================================================
   Miniberry — Editorial luxury homepage
   Cormorant Garamond (display) + Hanken Grotesk (UI/body)
   ========================================================= */
:root{
  --paper:#f7f1e9;
  --paper-2:#efe6da;
  --paper-3:#e7dccd;
  --ink:#231a1c;
  --ink-soft:#6c5f5e;
  --ink-faint:#9a8d89;
  --wine:#7a0c3a;
  --wine-deep:#5c0a2c;
  --wine-tint:#a83a64;
  --gold:#b18a55;
  --gold-soft:#cdab7e;
  --line:rgba(35,26,28,.14);
  --line-2:rgba(35,26,28,.08);

  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Hanken Grotesk', system-ui, sans-serif;

  --maxw:1280px;
  --gutter:clamp(20px,4.5vw,64px);
  --sec:clamp(72px,10vw,148px);

  --ease:cubic-bezier(.2,.7,.2,1);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* subtle paper grain */
body::before{
  content:""; position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.5; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--wine); color:#fff; }

.container{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }

/* ---------- type ---------- */
h1,h2,h3,h4{ font-family:var(--serif); font-weight:500; margin:0; line-height:1.02; letter-spacing:-.01em; }
.display{ font-size:clamp(48px,7.4vw,104px); line-height:.98; font-weight:500; letter-spacing:-.015em; }
.h2{ font-size:clamp(34px,4.6vw,60px); font-weight:500; }
.h3{ font-size:clamp(22px,2.4vw,30px); }
.serif-it{ font-style:italic; }
.lede{ font-size:clamp(17px,1.45vw,20px); color:var(--ink-soft); max-width:54ch; line-height:1.62; }

.eyebrow{
  font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:var(--wine); display:inline-flex; align-items:center; gap:12px;
}
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--gold); }
.eyebrow.center::after{ content:""; width:26px; height:1px; background:var(--gold); }
.eyebrow.center{ justify-content:center; }

.section{ position:relative; padding-block:var(--sec); z-index:2; }
.rule{ height:1px; background:var(--line); border:0; margin:0; }

/* ---------- buttons ---------- */
.btn{
  font-family:var(--sans); font-size:15px; font-weight:600; letter-spacing:.01em;
  display:inline-flex; align-items:center; gap:10px; cursor:pointer;
  padding:15px 26px; border-radius:2px; border:1px solid transparent;
  transition:transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease);
}
.btn .ar{ transition:transform .35s var(--ease); }
.btn:hover .ar{ transform:translateX(4px); }
.btn--wine{ background:var(--wine); color:#fff; box-shadow:0 1px 0 rgba(0,0,0,.04); }
.btn--wine:hover{ background:var(--wine-deep); transform:translateY(-2px); box-shadow:0 12px 30px -12px rgba(92,10,44,.6); }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn--ghost:hover{ border-color:var(--ink); transform:translateY(-2px); }
.btn--ivory{ background:var(--paper); color:var(--wine); }
.btn--ivory:hover{ background:#fff; transform:translateY(-2px); }
.btn--block{ width:100%; justify-content:center; }

.btn-row{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- NAV ---------- */
.nav{
  position:fixed; inset-block-start:0; inset-inline:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:18px var(--gutter); transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;
  border-block-end:1px solid transparent;
}
.nav.scrolled{ background:color-mix(in srgb,var(--paper) 88%,transparent); backdrop-filter:blur(12px); padding-block:12px; border-block-end-color:var(--line); }
.nav__brand{ display:flex; align-items:center; gap:11px; }
.nav__brand img{ height:38px; width:auto; transition:height .4s var(--ease); }
.nav.scrolled .nav__brand img{ height:32px; }
.nav__brand .wm{ font-family:var(--serif); font-size:24px; font-weight:600; letter-spacing:.16em; color:var(--wine); }
.nav__links{ display:flex; gap:30px; align-items:center; }
.nav__links a{ font-size:14px; font-weight:500; color:var(--ink); position:relative; padding-block:4px; }
.nav__links a::after{ content:""; position:absolute; inset-inline-start:0; inset-block-end:0; width:0; height:1px; background:var(--wine); transition:width .3s var(--ease); }
.nav__links a:hover::after{ width:100%; }
.nav__right{ display:flex; align-items:center; gap:18px; }
.nav__lang{ font-size:13px; font-weight:600; letter-spacing:.08em; color:var(--ink-soft); }
.nav__lang b{ color:var(--ink); }
/* language toggle buttons */
.nav__lang{ display:inline-flex; align-items:center; gap:8px; }
.lang-btn{ background:none; border:0; padding:8px 5px; margin:-8px -3px; cursor:pointer; font-family:inherit; font-size:inherit; font-weight:600; letter-spacing:inherit; color:var(--ink-faint); transition:color .2s var(--ease); }
.lang-btn:hover{ color:var(--ink-soft); }
.lang-btn.is-active{ color:var(--ink); font-weight:700; }
.lang-sep{ color:var(--ink-faint); opacity:.6; }
.footer__lang{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.lang-btn--dark{ color:#9b918c; }
.lang-btn--dark:hover{ color:#cfc6c1; }
.lang-btn--dark.is-active{ color:#fff; }
.nav__burger{ display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:2px; background:transparent; cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:5px; }
.nav__burger span{ width:18px; height:1.5px; background:var(--ink); display:block; }

/* ---------- HERO ---------- */
.hero{ position:relative; min-height:min(92vh,900px); display:flex; align-items:center; overflow:hidden; }
.hero__bg{ position:absolute; inset:0; z-index:0; }
.hero__bg img{ width:100%; height:100%; object-fit:cover; object-position:left center; }
.hero__bg::after{ content:""; position:absolute; inset:0; background:
  linear-gradient(100deg, rgba(248,244,240,.96) 0%, rgba(248,244,240,.9) 30%, rgba(248,244,240,.6) 46%, rgba(248,244,240,.15) 60%, rgba(248,244,240,0) 72%); }
.hero__bg .cap{ position:absolute; inset-block-end:18px; inset-inline-end:18px; z-index:2; font-family:var(--sans); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#fff; background:rgba(35,26,28,.42); backdrop-filter:blur(6px); padding:7px 12px; border-radius:2px; }
.hero__grid{ position:relative; z-index:1; width:100%; padding-block:clamp(120px,16vh,180px) clamp(40px,8vw,90px); }
.hero__text{ max-width:min(760px,62vw); padding-inline-start:max(var(--gutter), calc((100vw - var(--maxw))/2 + var(--gutter))); padding-inline-end:var(--gutter); }
.hero h1.display{ font-size:clamp(34px,4.2vw,64px); line-height:1.32; }

.hero h1{ margin-block:18px 0; }
.hero .lede{ margin-block-start:26px; }
.hero .btn-row{ margin-block-start:34px; }
.hero__trust{ display:flex; gap:26px; margin-block-start:30px; flex-wrap:wrap; }
.hero__trust .t{ display:flex; align-items:baseline; gap:9px; }
.hero__trust .t b{ font-family:var(--serif); font-size:23px; color:var(--wine); font-weight:600; }
.hero__trust .t span{ font-size:13px; color:var(--ink-soft); letter-spacing:.02em; }
.hero__trust .sep{ width:1px; background:var(--line); align-self:stretch; }

/* ---------- placeholders (premium) ---------- */
.slot{
  position:relative; overflow:hidden; background:
    linear-gradient(135deg, color-mix(in srgb,var(--tint,var(--paper-2)) 70%,#fff), var(--tint,var(--paper-2)));
  border:1px solid var(--line); display:flex; align-items:flex-end; justify-content:flex-start;
}
.slot::before{
  content:""; position:absolute; inset:0; opacity:.10;
  background:url("../assets/miniberry-mark.png") no-repeat center/contain;
  mix-blend-mode:multiply;
}
.slot::after{
  content:attr(data-cap); position:absolute; inset-block-start:14px; inset-inline-start:14px;
  font-family:var(--sans); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint);
}
.slot .swatch{ position:absolute; inset-block-end:14px; inset-inline-start:14px; display:flex; align-items:center; gap:9px; }
.slot .swatch i{ width:16px; height:16px; border-radius:50%; background:var(--chip,var(--wine)); border:1px solid rgba(0,0,0,.12); }
.slot .name{ font-family:var(--serif); font-size:21px; color:var(--ink); }
.slot--photo::before{ display:none; }
.slot--photo .slot__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* ---------- differentiator ---------- */
.diff{ text-align:center; }
.diff .big{ font-family:var(--serif); font-size:clamp(38px,5.6vw,76px); line-height:1.02; max-width:16ch; margin-inline:auto; font-weight:500; }
.diff .big em{ color:var(--wine); }
.diff .sub{ font-size:clamp(17px,1.5vw,21px); color:var(--ink-soft); max-width:44ch; margin:24px auto 0; }
.diff .mark{ width:54px; height:54px; margin:0 auto 30px; opacity:.85; background:url("../assets/miniberry-mark.png") no-repeat center/contain; }

/* ---------- how it works ---------- */
.steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-block-start:56px; border-block-start:1px solid var(--line); }
.step{ padding:34px 26px 0 0; position:relative; }
.step:not(:last-child){ border-inline-end:1px solid var(--line-2); padding-inline-end:26px; }
.step::before{ content:""; position:absolute; inset-block-start:-1px; inset-inline-start:0; width:46px; height:2px; background:var(--wine); }
.step .n{ font-family:var(--serif); font-size:40px; color:var(--wine); font-weight:600; line-height:1; }
.step h3{ font-size:23px; margin-block:18px 8px; }
.step p{ font-size:14.5px; color:var(--ink-soft); line-height:1.55; }
.how__foot{ margin-block-start:48px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }

/* ---------- capabilities ---------- */
.caps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-block-start:50px; }
.cap{ background:var(--paper); padding:36px 28px; transition:background .35s var(--ease); }
.cap:hover{ background:var(--paper-2); }
.cap .n{ font-family:var(--serif); font-style:italic; font-size:18px; color:var(--gold); }
.cap h3{ font-size:24px; margin-block:20px 12px; }
.cap p{ font-size:14.5px; color:var(--ink-soft); }

/* ---------- fabrics ---------- */
.fab-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; margin-block-end:44px; }
.fab-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.4vw,20px); }
.fab{ display:block; }
.fab .slot{ aspect-ratio:3/4; align-items:center; justify-content:center; transition:transform .45s var(--ease), box-shadow .45s var(--ease); }
.fab:hover .slot{ transform:translateY(-6px); box-shadow:0 24px 40px -26px rgba(35,26,28,.5); }
.fab .meta{ display:flex; justify-content:space-between; align-items:center; padding-block-start:14px; border-block-start:1px solid var(--line); margin-block-start:14px; }
.fab .meta .label{ font-family:var(--serif); font-size:21px; }
.fab .meta .go{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); transition:color .3s; }
.fab:hover .meta .go{ color:var(--wine); }

/* ---------- patterns band (real fabric, full bleed) ---------- */
.patterns{ position:relative; padding:0; z-index:2; overflow:hidden; }
.patterns__media{ position:absolute; inset:0; overflow:hidden; }
.patterns__media img{ position:absolute; inset:-40px; width:calc(100% + 80px); height:calc(100% + 80px); object-fit:cover; object-position:30% center; filter:blur(3px) saturate(1.02); transform:scale(1.04); }
.patterns__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(105deg, rgba(35,26,28,.72) 0%, rgba(35,26,28,.42) 44%, rgba(35,26,28,.14) 72%, rgba(35,26,28,.06) 100%); }
.patterns__panel{ position:relative; z-index:2; max-width:var(--maxw); margin-inline:auto; padding:var(--gutter); min-height:clamp(520px,70vh,720px); display:flex; align-items:center; }
.patterns__card{ max-width:520px; color:#fbf5ee; }
.patterns__card .eyebrow{ color:var(--gold-soft); }
.patterns__card .eyebrow::before{ background:var(--gold-soft); }
.patterns__card h2{ color:#fff; margin-block:18px 18px; }
.patterns__card p{ color:rgba(251,245,238,.86); font-size:17px; line-height:1.66; }
.patterns__card .btn-row{ margin-block-start:30px; }

/* ---------- who we serve ---------- */
.aud-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(12px,1.4vw,20px); margin-block-start:46px; }
.aud{ padding-block-start:20px; border-block-start:1px solid var(--line); }
.aud h3{ font-size:20px; margin-block:0 7px; }
.aud p{ font-size:14px; color:var(--ink-soft); }

/* ---------- why miniberry ---------- */
.why{ background:var(--paper-2); }
.why__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,6vw,90px); align-items:center; }
.stats{ display:flex; gap:24px; margin-block-end:40px; flex-wrap:wrap; }
.stat{ flex:1 1 200px; }
.stat .big{ font-family:var(--serif); font-size:clamp(52px,6vw,84px); color:var(--wine); font-weight:600; line-height:.9; letter-spacing:-.02em; }
.stat .lab{ font-size:14.5px; color:var(--ink-soft); margin-block-start:12px; max-width:26ch; }
.why-points__head{ font-family:var(--serif); font-size:clamp(28px,3vw,40px); color:var(--ink); font-weight:600; letter-spacing:-.01em; padding-block-start:34px; border-block-start:1px solid var(--line); margin-block-end:24px; }
.why-points{ display:grid; gap:26px; }
.why-point h3{ font-size:22px; margin-block-end:8px; }
.why-point p{ font-size:15px; color:var(--ink-soft); }
.why__samples{ margin-block-start:30px; font-size:14px; color:var(--ink-soft); display:flex; gap:12px; align-items:flex-start; padding:16px 18px; border:1px solid var(--line); border-radius:2px; background:color-mix(in srgb,var(--wine) 5%,transparent); }
.why__samples b{ color:var(--wine); }
.mosaic{ display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:clamp(120px,15vw,180px); gap:14px; }
.mosaic .slot:nth-child(1){ grid-row:span 2; }
.mosaic .slot:nth-child(4){ grid-column:span 2; }

/* ---------- final CTA + form ---------- */
.cta{ background:var(--wine); color:#fbf5ee; position:relative; overflow:hidden; }
.cta::before{ content:""; position:absolute; inset-block-start:-10%; inset-inline-end:-6%; width:440px; height:440px; opacity:.06;
  background:url("../assets/miniberry-mark.png") no-repeat center/contain; }
.cta__grid{ display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(40px,6vw,88px); align-items:start; position:relative; z-index:2; }
.cta .eyebrow{ color:var(--gold-soft); }
.cta .eyebrow::before{ background:var(--gold-soft); }
.cta h2{ color:#fff; margin-block:18px 18px; }
.cta__lede{ color:rgba(251,245,238,.84); font-size:18px; line-height:1.66; max-width:42ch; }
.cta__contact{ margin-block-start:34px; padding-block-start:30px; border-block-start:1px solid rgba(251,245,238,.2); }
.cta__contact .row{ display:flex; align-items:center; gap:14px; margin-block-end:12px; }
.cta__wa{ font-family:var(--serif); font-size:30px; color:#fff; }
.cta__contact .em{ color:rgba(251,245,238,.8); font-size:15px; }

.form{ background:var(--paper); color:var(--ink); padding:clamp(28px,3vw,40px); border-radius:3px; box-shadow:0 40px 80px -50px rgba(0,0,0,.6); }
.form .row2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field{ margin-block-end:18px; }
.field label{ display:block; font-size:13px; font-weight:600; letter-spacing:.04em; margin-block-end:8px; }
.field label .req{ color:var(--wine); }
.field label .opt{ color:var(--ink-faint); font-weight:500; text-transform:uppercase; font-size:10px; letter-spacing:.1em; }
.field input, .field textarea{
  width:100%; font-family:var(--sans); font-size:15px; color:var(--ink);
  background:#fff; border:1px solid var(--line); border-radius:2px; padding:13px 14px; transition:border-color .25s, box-shadow .25s;
}
.field textarea{ min-height:104px; resize:vertical; }
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--wine); box-shadow:0 0 0 3px color-mix(in srgb,var(--wine) 14%,transparent); }
.field .upload{ border:1px dashed var(--line); border-radius:2px; padding:18px; text-align:center; font-size:13px; color:var(--ink-faint); cursor:pointer; transition:border-color .25s, color .25s; }
.field .upload:hover{ border-color:var(--wine); color:var(--wine); }
.form__hint{ font-size:12.5px; color:var(--ink-faint); margin-block-start:14px; text-align:center; }
.form__note{ display:flex; align-items:center; justify-content:center; gap:7px; font-size:12.5px; color:var(--ink-faint); margin-block-start:14px; margin-block-end:0; text-align:center; }
.form__note::before{ content:""; width:7px; height:7px; border-radius:50%; background:#25d366; flex:none; }

/* ---------- footer ---------- */
.footer{ background:var(--ink); color:#d9cfca; position:relative; z-index:2; }
.footer__top{ display:grid; grid-template-columns:1.6fr 1fr 1.2fr; gap:40px; padding-block:clamp(56px,7vw,84px); }
.footer__brand img{ height:74px; width:auto; margin-block-end:16px; filter:saturate(1.1); }
.footer__brand .pos{ font-size:13px; letter-spacing:.04em; color:#a99e99; max-width:24ch; }
.footer h5{ font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#a99e99; margin:0 0 18px; }
.footer nav{ display:grid; gap:11px; }
.footer nav a{ font-size:15px; color:#d9cfca; transition:color .25s; }
.footer nav a:hover{ color:#fff; }
.footer__wa{ font-family:var(--serif); font-size:24px; color:#fff; }
.footer__c{ font-size:14px; color:#a99e99; margin-block-start:8px; line-height:1.7; }
.footer__lang{ margin-block-start:14px; font-size:13px; letter-spacing:.06em; }
.footer__lang b{ color:#fff; }
.footer__bottom{ display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:22px; border-block-start:1px solid rgba(255,255,255,.1); font-size:12.5px; color:#8d8480; flex-wrap:wrap; }
.footer__soc{ display:flex; gap:10px; }
.footer__soc a{ width:36px; height:36px; border:1px solid rgba(255,255,255,.18); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; letter-spacing:.04em; color:#cfc6c1; transition:all .25s; }
.footer__soc a:hover{ background:#fff; color:var(--ink); border-color:#fff; }

/* ---------- sticky whatsapp ---------- */
.wa-fab{
  position:fixed; inset-inline-end:24px; inset-block-end:24px; z-index:60;
  display:flex; align-items:center; gap:11px; padding:13px 20px 13px 14px;
  background:var(--wine); color:#fff; border-radius:100px; font-size:14.5px; font-weight:600;
  box-shadow:0 16px 36px -14px rgba(92,10,44,.7); transition:transform .3s var(--ease), background .3s;
}
.wa-fab:hover{ transform:translateY(-3px); background:var(--wine-deep); }
.wa-fab .ic{ width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; }
.wa-fab svg{ width:17px; height:17px; fill:#fff; }

/* ---------- reveal (opacity flips instantly so it can never get stuck hidden;
   only the slide transitions) ---------- */
.reveal{ opacity:0; transform:translateY(22px); transition:transform .85s var(--ease); }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal[data-d="1"]{ transition-delay:.07s; }
.reveal[data-d="2"]{ transition-delay:.14s; }
.reveal[data-d="3"]{ transition-delay:.21s; }
.reveal[data-d="4"]{ transition-delay:.28s; }

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav__links{ display:none; }
  .nav__burger{ display:flex; }
  .hero__text{ max-width:none; padding-inline:var(--gutter); }
  .steps{ grid-template-columns:1fr 1fr; }
  .step{ border-inline-end:0 !important; padding-inline-end:0; padding-block:34px; border-block-end:1px solid var(--line-2); }
  .caps{ grid-template-columns:1fr 1fr; }
  .aud-grid{ grid-template-columns:1fr 1fr 1fr; }
  .why__grid, .cta__grid{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  body{ font-size:16px; }
  /* narrow phones: top-bar can't fit brand + lang + CTA + burger,
     which pushed the hamburger off-screen. Drop the redundant CTA
     (hero + WhatsApp FAB already cover it); keep lang + burger. */
  .nav__right .btn--wine{ display:none; }
  .fab-grid{ grid-template-columns:1fr 1fr; }
  .caps{ grid-template-columns:1fr; }
  .aud-grid{ grid-template-columns:1fr 1fr; }
  .form .row2{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr; }
  .hero__trust .sep{ display:none; }
}

/* =========================================================
   RTL / Arabic  (Amiri body + Aref Ruqaa display)
   ========================================================= */
html[dir="rtl"]{ --serif:'Amiri', 'Times New Roman', serif; --sans:'Amiri', system-ui, sans-serif; }
[dir="rtl"] body{ font-size:18.5px; line-height:1.85; letter-spacing:0; }
[dir="rtl"] .display{ font-family:'Aref Ruqaa','Amiri',serif; line-height:1.5; letter-spacing:0; font-weight:700; }
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] h4{ line-height:1.45; letter-spacing:0; }
[dir="rtl"] .h2{ line-height:1.35; }
[dir="rtl"] .serif-it{ font-style:normal; }
/* eyebrows: arabic has no caps; drop uppercasing + heavy tracking */
[dir="rtl"] .eyebrow{ text-transform:none; letter-spacing:0; font-weight:700; }
/* numeric/UI labels keep readable */
[dir="rtl"] .lede{ line-height:1.85; }
[dir="rtl"] .step p,[dir="rtl"] .cap p,[dir="rtl"] .aud p,[dir="rtl"] .why-point p,[dir="rtl"] .stat .lab,[dir="rtl"] .patterns__card p,[dir="rtl"] .cta__lede{ line-height:1.85; }

/* mirror inline arrows (→ becomes ←) */
[dir="rtl"] .ar{ display:inline-block; transform:scaleX(-1); }

/* mirror hero fog to the right (text sits on the right in RTL) */
[dir="rtl"] .hero__bg img{ transform:scaleX(-1); object-position:left center; }
[dir="rtl"] .hero__bg::after{ background:
  linear-gradient(260deg, rgba(248,244,240,.96) 0%, rgba(248,244,240,.9) 30%, rgba(248,244,240,.6) 46%, rgba(248,244,240,.15) 60%, rgba(248,244,240,0) 72%); }

/* mirror the patterns scrim */
[dir="rtl"] .patterns__media img{ object-position:70% center; }
[dir="rtl"] .patterns__media::after{ background:
  linear-gradient(255deg, rgba(35,26,28,.72) 0%, rgba(35,26,28,.42) 44%, rgba(35,26,28,.14) 72%, rgba(35,26,28,.06) 100%); }

/* email/brand stay LTR inside RTL flow */
[dir="rtl"] .footer__wa,[dir="rtl"] .cta__wa,[dir="rtl"] .footer__brand .pos{ direction:ltr; unicode-bidi:isolate; }
[dir="rtl"] .em,[dir="rtl"] .footer__c{ unicode-bidi:plaintext; }
