/* =========================================================
   Arime Company — stylesheet
   Brand: blue #476FBF / leaf green #3CB94F (from logo)
   Layout uses CSS logical properties so RTL mirrors itself.
   ========================================================= */

:root{
  --navy:#12294F;
  --navy-700:#1B3A6B;
  --blue:#3560BF;
  --blue-400:#476FBF;
  --blue-100:#E7EDFA;
  --green:#3CB94F;
  --green-100:#E6F6E9;
  --paper:#E9EFF8;
  --shell:#F7FAFF;
  --white:#FFFFFF;
  --tint-green:#F1F8F2;
  --ink:#14181F;
  --muted:#5A6472;
  --line:#E2E7EE;

  --wrap:1180px;
  --gap:clamp(1rem,2.4vw,1.75rem);
  --radius:14px;
  --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(18,41,79,.06),0 4px 14px rgba(18,41,79,.05);
  --shadow-md:0 10px 30px rgba(18,41,79,.10);

  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"IBM Plex Sans","Segoe UI",Arial,sans-serif;
  --tracking:.12em;
}

html[lang="ar"]{
  --font-display:"IBM Plex Sans Arabic","Segoe UI",Tahoma,sans-serif;
  --font-body:"IBM Plex Sans Arabic","Segoe UI",Tahoma,sans-serif;
  --tracking:0;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--shell);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:clamp(1rem,.97rem + .18vw,1.075rem);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit}

:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:4px}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.12;
  margin:0 0 .5em;
  letter-spacing:-.01em;
  font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 40;
}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4{
  line-height:1.35;letter-spacing:0;font-weight:600;
}
h1{font-size:clamp(2.1rem,1.4rem + 3.2vw,3.9rem)}
h2{font-size:clamp(1.65rem,1.2rem + 1.9vw,2.6rem)}
h3{font-size:clamp(1.12rem,1rem + .5vw,1.35rem)}
p{margin:0 0 1rem}

.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.section{padding-block:clamp(3.25rem,7vw,6rem)}
.section--tight{padding-block:clamp(2.25rem,4.5vw,3.5rem)}
.section--paper{background:var(--paper)}
.section--white{background:var(--shell)}
.section--mint{background:var(--tint-green)}
.section--navy{background:var(--navy);color:#EAF0FA}
.section--navy h2,.section--navy h3{color:#fff}

.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-body);
  font-size:.75rem;font-weight:600;text-transform:uppercase;
  letter-spacing:var(--tracking);color:var(--blue);
  margin-block-end:.9rem;
}
html[lang="ar"] .eyebrow{text-transform:none;font-size:.85rem}
.eyebrow::before{content:"";inline-size:26px;block-size:2px;background:var(--green);flex:none}
.section--navy .eyebrow{color:#9DBBF2}

.lede{font-size:clamp(1.05rem,1rem + .4vw,1.25rem);color:var(--muted);max-width:62ch}
.section--navy .lede{color:#C3D3EE}
.section-head{max-width:70ch;margin-block-end:clamp(1.75rem,3vw,2.75rem)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.8rem 1.4rem;border-radius:999px;border:1.5px solid transparent;
  font-weight:600;font-size:.98rem;cursor:pointer;text-decoration:none;
  transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease;
}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn--primary{background:var(--blue);color:#fff}
.btn--primary:hover{background:var(--navy-700)}
.btn--ghost{border-color:rgba(18,41,79,.22);color:var(--navy)}
.btn--ghost:hover{border-color:var(--navy);background:rgba(18,41,79,.04)}
.btn--light{background:#fff;color:var(--navy)}
.btn--outline-light{border-color:rgba(255,255,255,.45);color:#fff}
.btn--outline-light:hover{background:rgba(255,255,255,.1)}
.arw{display:inline-block;transition:transform .18s ease}
html[dir="rtl"] .arw{transform:scaleX(-1)}
html[dir="rtl"] .btn:hover .arw,html[dir="rtl"] .cat-card:hover .arw,html[dir="rtl"] .product:hover .arw{transform:scaleX(-1) translateX(3px)}
.btn:hover .arw{transform:translateX(3px)}


/* ---------- header ---------- */
.site-header{
  position:sticky;inset-block-start:0;z-index:50;
  background:rgba(247,250,255,.90);backdrop-filter:blur(12px);
  border-block-end:1px solid var(--line);
}
.header-bar{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:1rem;min-block-size:78px;
}
.brand{display:flex;align-items:center;gap:.6rem;justify-self:start}
.brand img{block-size:34px;inline-size:auto}
.brand:hover{text-decoration:none}

.nav{display:flex;align-items:center;justify-content:center;gap:.25rem;justify-self:center}
.nav a{
  color:var(--navy);font-weight:500;font-size:.98rem;
  padding:.55rem .85rem;border-radius:999px;
}
.nav a:hover{background:var(--blue-100);text-decoration:none}
.nav a[aria-current="page"]{color:var(--blue);background:var(--blue-100);font-weight:600}

.header-tools{display:flex;align-items:center;gap:.5rem;justify-self:end}
.lang-btn{
  display:inline-flex;align-items:center;gap:.4rem;
  background:transparent;border:1.5px solid var(--line);border-radius:999px;
  padding:.5rem .9rem;color:var(--navy);font-weight:600;font-size:.9rem;cursor:pointer;
}
.lang-btn:hover{border-color:var(--blue);color:var(--blue)}
.lang-btn svg{inline-size:16px;block-size:16px;flex:none}

.menu-btn{
  display:none;background:transparent;border:1.5px solid var(--line);
  border-radius:12px;padding:.5rem .6rem;cursor:pointer;color:var(--navy);
}
.menu-btn svg{inline-size:22px;block-size:22px}

@media (max-width:900px){
  .menu-btn{display:inline-flex}
  .header-bar{grid-template-columns:1fr auto;min-block-size:66px}
  .nav{
    position:absolute;inset-inline:0;inset-block-start:100%;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--shell);border-block-end:1px solid var(--line);
    padding:.5rem 1.25rem 1.1rem;
    box-shadow:var(--shadow-md);
    display:none;
  }
  .nav.is-open{display:flex}
  .nav a{padding:.85rem .5rem;border-radius:10px;border-block-end:1px solid var(--line)}
  .nav a:last-child{border-block-end:0}
}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;border-block-end:1px solid var(--line);
  background:
    radial-gradient(70% 90% at 88% 8%, rgba(60,185,79,.10), transparent 60%),
    radial-gradient(80% 90% at 4% 0%, rgba(71,111,191,.13), transparent 62%),
    linear-gradient(180deg,#F2F7FF 0%,var(--shell) 70%);
}
.hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,3.5rem);
  align-items:center;padding-block:clamp(3rem,6vw,5.5rem);
}
.hero h1{margin-block-end:1rem}
.hero h1 .leaf{color:var(--green)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-block-start:1.75rem}

.hero-collage{
  display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));
  gap:.9rem;align-items:stretch;
}
.hero-collage figure{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);background:var(--paper)}
.hero-collage img{inline-size:100%;block-size:100%;object-fit:cover}
.hero-collage .tall{grid-row:span 2;block-size:100%;min-block-size:0}
.hero-collage .wide{aspect-ratio:4/3}

@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;padding-block:2.5rem 3rem}
  .hero-collage{grid-template-rows:auto auto}
  .hero-collage .tall{aspect-ratio:4/3;grid-row:auto;block-size:auto}
  .hero-collage figure:last-child{grid-column:1 / -1;aspect-ratio:16/9}
}

/* ---------- corridor (signature element) ---------- */
.corridor{
  --dot:12px;
  margin-block-start:clamp(2rem,4vw,3rem);
  padding-block-start:1.5rem;border-block-start:1px solid var(--line);
}
.corridor-label{
  font-size:.72rem;font-weight:600;letter-spacing:var(--tracking);
  text-transform:uppercase;color:var(--muted);margin-block-end:1.1rem;
}
html[lang="ar"] .corridor-label{text-transform:none;font-size:.85rem}
.corridor-track{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.corridor-track::before{
  content:"";position:absolute;inset-block-start:calc(var(--dot)/2 - 1px);
  inset-inline:8%;block-size:2px;
  background:linear-gradient(90deg,var(--blue-400),var(--green));
  opacity:.45;
}
.corridor-stop{position:relative;text-align:center}
.corridor-stop .dot{
  inline-size:var(--dot);block-size:var(--dot);border-radius:50%;
  background:var(--white);border:3px solid var(--blue-400);
  margin:0 auto .6rem;position:relative;z-index:1;
}
.corridor-stop:last-child .dot{border-color:var(--green)}
.corridor-stop b{display:block;font-size:.98rem;color:var(--navy)}
.corridor-stop span{display:block;font-size:.82rem;color:var(--muted)}

/* ---------- generic grids ---------- */
.grid{display:grid;gap:var(--gap)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* ---------- pillar cards (what we do) ---------- */
.pillar{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.5rem;box-shadow:var(--shadow-sm)}
.pillar .num{
  font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:var(--tracking);
  color:var(--green);display:block;margin-block-end:.7rem;
}
.pillar p{color:var(--muted);margin:0}

/* ---------- category cards ---------- */
.cat-card{
  display:block;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;color:inherit;
}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--blue-400);text-decoration:none}
.cat-card .thumb{aspect-ratio:4/3;overflow:hidden;background:var(--paper)}
.cat-card .thumb img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform .5s ease}
.cat-card:hover .thumb img{transform:scale(1.04)}
.cat-card .body{padding:1.1rem 1.25rem 1.35rem}
.cat-card h3{margin-block-end:.35rem}
.cat-card .count{font-size:.85rem;color:var(--muted)}
.cat-card .go{display:inline-flex;align-items:center;gap:.4rem;margin-block-start:.75rem;font-weight:600;color:var(--blue);font-size:.92rem}
.cat-card:hover .arw{transform:translateX(3px)}

/* ---------- product filters + cards ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-end:clamp(1.5rem,3vw,2.25rem)}
.filter{
  background:var(--white);border:1.5px solid var(--line);border-radius:999px;
  padding:.55rem 1.05rem;color:var(--navy);font-weight:600;font-size:.92rem;cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.filter:hover{border-color:var(--blue-400);color:var(--blue)}
.filter[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}

.product{
  display:flex;flex-direction:column;background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;
}
.product:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.product .thumb{aspect-ratio:4/3;background:var(--paper);overflow:hidden}
.product .thumb img{inline-size:100%;block-size:100%;object-fit:cover}
.product[data-fit="contain"] .thumb{background:#fff}
.product[data-fit="contain"] .thumb img{object-fit:contain;padding:1rem}
.product .body{padding:1.15rem 1.25rem 1.35rem;display:flex;flex-direction:column;flex:1}
.product .tag{
  align-self:flex-start;font-size:.72rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--blue);background:var(--blue-100);
  padding:.2rem .6rem;border-radius:999px;margin-block-end:.65rem;
}
html[lang="ar"] .product .tag{text-transform:none;letter-spacing:0;font-size:.8rem}
.product h3{margin-block-end:.4rem}
.product p{color:var(--muted);font-size:.95rem;margin:0 0 1rem}
.product .more{
  margin-block-start:auto;background:none;border:0;padding:0;cursor:pointer;
  color:var(--blue);font-weight:600;font-size:.92rem;display:inline-flex;align-items:center;gap:.4rem;
}
.product .more:hover{text-decoration:underline}
.empty{padding:3rem 0;text-align:center;color:var(--muted)}

/* ---------- product dialog ---------- */
.dialog-backdrop{
  position:fixed;inset:0;z-index:100;background:rgba(18,41,79,.55);
  display:none;align-items:center;justify-content:center;padding:1.25rem;
}
.dialog-backdrop.is-open{display:flex}
.dialog{
  background:#fff;border-radius:var(--radius-lg);max-inline-size:900px;inline-size:100%;
  max-block-size:88vh;overflow:auto;box-shadow:var(--shadow-md);position:relative;
}
.dialog-grid{display:grid;grid-template-columns:1fr 1fr}
.dialog-media{background:var(--paper);min-block-size:280px}
.dialog-media img{inline-size:100%;block-size:100%;object-fit:cover;max-block-size:70vh}
.dialog[data-fit="contain"] .dialog-media img{object-fit:contain;padding:1.5rem}
.dialog-body{padding:clamp(1.5rem,3vw,2.25rem)}
.dialog-body .tag{
  display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--blue);background:var(--blue-100);padding:.2rem .6rem;border-radius:999px;margin-block-end:.8rem;
}
html[lang="ar"] .dialog-body .tag{text-transform:none;letter-spacing:0;font-size:.8rem}
.spec-list{list-style:none;margin:1.25rem 0 0;padding:0;border-block-start:1px solid var(--line)}
.spec-list li{display:flex;gap:1rem;padding:.65rem 0;border-block-end:1px solid var(--line);font-size:.94rem}
.spec-list li b{min-inline-size:38%;color:var(--navy);font-weight:600}
.spec-list li span{color:var(--muted)}
.dialog-close{
  position:absolute;inset-block-start:.75rem;inset-inline-end:.75rem;
  inline-size:40px;block-size:40px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.92);color:var(--navy);font-size:1.4rem;line-height:1;
  box-shadow:var(--shadow-sm);
}
.dialog-close:hover{background:#fff;color:var(--blue)}
@media (max-width:760px){.dialog-grid{grid-template-columns:1fr}.dialog-media{max-block-size:42vh}}

/* ---------- split feature ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:center}
.split img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);inline-size:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:860px){.split{grid-template-columns:1fr}}

.ticks{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:.7rem}
.ticks li{display:flex;gap:.7rem;align-items:flex-start;color:var(--muted)}
.ticks li::before{
  content:"";flex:none;inline-size:20px;block-size:20px;border-radius:50%;
  background:var(--green-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233CB94F' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/13px no-repeat;
  margin-block-start:.22rem;
}

/* ---------- locations ---------- */
.loc-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
}
.loc-card iframe{inline-size:100%;block-size:230px;border:0;display:block;filter:saturate(.92)}
.loc-card .body{padding:1.25rem 1.35rem 1.5rem;display:flex;flex-direction:column;flex:1}
.loc-card .role{
  font-size:.72rem;font-weight:700;letter-spacing:var(--tracking);text-transform:uppercase;
  color:var(--green);margin-block-end:.5rem;
}
html[lang="ar"] .loc-card .role{text-transform:none;letter-spacing:0;font-size:.82rem}
.loc-card p{color:var(--muted);font-size:.95rem}
.loc-card .btn{margin-block-start:auto;align-self:flex-start}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,4vw,3.25rem);align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.info-list{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.info-list li{background:var(--white);display:flex;gap:1rem;padding:1.1rem 1.25rem;align-items:flex-start}
.info-list .ico{
  flex:none;inline-size:38px;block-size:38px;border-radius:10px;background:var(--blue-100);
  display:grid;place-items:center;color:var(--blue);
}
.info-list .ico svg{inline-size:19px;block-size:19px}
.info-list b{display:block;font-size:.78rem;font-weight:600;letter-spacing:var(--tracking);text-transform:uppercase;color:var(--muted);margin-block-end:.15rem}
html[lang="ar"] .info-list b{text-transform:none;letter-spacing:0;font-size:.85rem}
.info-list a,.info-list span{color:var(--navy);font-weight:500}
.info-list .ltr{direction:ltr;display:inline-block;unicode-bidi:isolate}

.form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.35rem,3vw,2rem);box-shadow:var(--shadow-sm)}
.field{margin-block-end:1.1rem}
.field label{display:block;font-size:.85rem;font-weight:600;color:var(--navy);margin-block-end:.4rem}
.field input,.field select,.field textarea{
  inline-size:100%;padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:10px;
  font:inherit;color:var(--ink);background:var(--white);
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px var(--blue-100)}
.field textarea{min-block-size:130px;resize:vertical}
.form-note{font-size:.85rem;color:var(--muted);margin-block-start:.9rem}

/* ---------- CTA band ---------- */
.cta-band{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}
.cta-band .btn-row{display:flex;flex-wrap:wrap;gap:.75rem}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:#C3D3EE;padding-block:clamp(2.75rem,5vw,4rem) 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}
.site-footer img.mark{block-size:32px;inline-size:auto;filter:brightness(0) invert(1);margin-block-end:1rem}
.site-footer h4{color:#fff;font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:var(--tracking);text-transform:uppercase;margin-block-end:1rem}
html[lang="ar"] .site-footer h4{text-transform:none;letter-spacing:0;font-size:.95rem}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.site-footer a{color:#C3D3EE}
.site-footer a:hover{color:#fff}
.site-footer p{color:#A9BEE3;font-size:.95rem}
.footer-bottom{
  margin-block-start:clamp(2rem,4vw,3rem);padding-block:1.35rem;
  border-block-start:1px solid rgba(255,255,255,.14);
  display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;align-items:center;
  font-size:.9rem;
}
.footer-bottom a{font-weight:600;color:#fff}
.footer-bottom .iwt{display:inline-flex;align-items:center;gap:.45rem}
.footer-bottom .iwt::before{content:"";inline-size:8px;block-size:8px;border-radius:50%;background:var(--green)}

/* ---------- page hero (inner pages) ---------- */
.page-hero{
  border-block-end:1px solid var(--line);padding-block:clamp(2.5rem,5vw,4rem);
  background:
    radial-gradient(60% 120% at 92% 0%, rgba(60,185,79,.09), transparent 60%),
    linear-gradient(180deg,#F2F7FF 0%,var(--shell) 100%);
}
.page-hero h1{margin-block-end:.75rem}
.crumb{font-size:.85rem;color:var(--muted);margin-block-end:1rem}
.crumb a{color:var(--muted)}

/* ---------- reveal animation ---------- */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .btn:hover,.product:hover,.cat-card:hover{transform:none}
}

.skip-link{
  position:absolute;inset-inline-start:-9999px;inset-block-start:0;background:var(--navy);color:#fff;
  padding:.75rem 1.1rem;border-radius:0 0 10px 0;z-index:200;
}
.skip-link:focus{inset-inline-start:0}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
