/* =========================================================
   Amira Eldabey — Content Strategy & Writing
   Brand: plum purple + warm ivory (from the logo)
   Fonts: IBM Plex Sans Arabic / Aref Ruqaa / Libre Caslon Display
   ========================================================= */

:root{
  /* Color */
  --plum:oklch(30% .145 320);
  --plum-deep:oklch(20% .09 320);
  --plum-soft:oklch(91% .028 320);
  --paper:oklch(96.5% .010 320);
  --paper-2:oklch(92.5% .015 320);
  --ink:oklch(21% .025 320);
  --muted:oklch(48% .028 320);
  --line:oklch(83% .025 320);
  --focus:oklch(66% .14 320);

  /* Motion */
  --ease:cubic-bezier(.16,1,.3,1);

  /* Elevation */
  --shadow:0 18px 60px oklch(20% .06 320 / .12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"IBM Plex Sans Arabic",system-ui,sans-serif;
  font-size:16px;
  line-height:1.75;
  font-optical-sizing:auto;
}
body.en{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
button{font:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
p{text-wrap:pretty}
h1,h2,h3{margin:0;text-wrap:balance}

.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}

/* ---------- Navigation ---------- */
.nav{position:absolute;z-index:5;inset-inline:0;top:0;color:var(--paper)}
.nav-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:600}
.brand-mark{width:42px;height:48px;display:block}
.brand-name{font-family:"Aref Ruqaa",serif;font-size:1.25rem;line-height:1.1}
body.en .brand-name{font-family:"Libre Caslon Display",serif}
.nav-links{display:flex;align-items:center;gap:28px;font-size:.9rem}
.nav-links a{opacity:.82;transition:opacity 160ms var(--ease)}
.nav-links a:hover{opacity:1}
.lang{
  min-width:56px;min-height:44px;border:1px solid oklch(96% .01 320 / .45);
  border-radius:999px;background:transparent;color:inherit;cursor:pointer;
  transition:background 180ms var(--ease),color 180ms var(--ease),transform 100ms var(--ease);
}
.lang:hover{background:var(--paper);color:var(--plum)}
.lang:active{transform:scale(.96)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:820px;display:grid;align-items:center;overflow:hidden;background:var(--plum);color:var(--paper)}
.hero:after{
  content:"A";position:absolute;inset-inline-end:-.06em;bottom:-.36em;
  font-family:"Libre Caslon Display",serif;font-size:clamp(420px,55vw,860px);
  line-height:1;color:oklch(43% .14 320);opacity:.42;pointer-events:none;
}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:8vw;padding:160px 0 96px}
.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 24px;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.eyebrow:before{content:"";width:48px;height:1px;background:currentColor;opacity:.65}
h1{max-width:800px;font-family:"Aref Ruqaa",serif;font-size:clamp(3.6rem,8vw,7.6rem);font-weight:400;line-height:.98;letter-spacing:-.035em}
body.en h1{font-family:"Libre Caslon Display",serif;line-height:.94}
h1 strong{display:block;font-weight:700;color:oklch(88% .06 320)}
body.en h1 strong{font-weight:400}
.hero-copy{align-self:end;padding-bottom:12px}
.hero-copy p{max-width:44ch;margin:0 0 32px;font-size:1.13rem;line-height:1.9;letter-spacing:.01em;color:oklch(91% .015 320)}

/* ---------- Buttons ---------- */
.actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:52px;
  padding:10px 24px;border:1px solid transparent;border-radius:999px;font-weight:600;
  transition:transform 160ms var(--ease),background 180ms var(--ease),color 180ms var(--ease);
}
.btn:hover{transform:translateY(-2px)}
.btn-light{background:var(--paper);color:var(--plum)}
.btn-solid{background:var(--plum);color:var(--paper)}
.btn-solid:hover{background:var(--plum-deep)}
.btn-outline{border-color:oklch(94% .02 320 / .55);color:var(--paper)}
.btn-outline:hover{background:oklch(38% .14 320)}

/* ---------- Sections ---------- */
section{padding:120px 0}
.section-label{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--plum)}
h2{font-family:"Aref Ruqaa",serif;font-size:clamp(2.5rem,5vw,5rem);font-weight:400;line-height:1.1;color:var(--plum-deep)}
body.en h2,body.en .lead,body.en .quote{font-family:"Libre Caslon Display",serif}

/* About */
.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:start}
.lead{margin:0;max-width:26ch;font-family:"Aref Ruqaa",serif;font-size:clamp(2rem,4vw,3.8rem);line-height:1.28;color:var(--plum-deep)}
.intro-copy p{max-width:62ch;margin:0 0 24px;font-size:1.08rem;color:var(--muted)}
.proof{display:flex;gap:48px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}
.proof div{max-width:18ch}
.proof b{display:block;margin-bottom:4px;color:var(--plum);font-size:1.05rem}

/* Services */
.services{background:var(--paper-2)}
.services-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:64px}
.services-note{max-width:38ch;margin:0;color:var(--muted)}
.service-list{border-top:1px solid var(--line)}
.service{
  display:grid;grid-template-columns:88px 1fr .7fr;gap:28px;align-items:center;
  padding:32px 0;border-bottom:1px solid var(--line);
  transition:padding 250ms var(--ease),color 180ms var(--ease);
}
.service:hover{padding-inline:18px;color:var(--plum)}
.service-num{font-family:"Libre Caslon Display",serif;font-size:1.4rem;font-variant-numeric:tabular-nums;color:var(--plum)}
.service h3{font-size:1.35rem;font-weight:600}
.service p{margin:0;color:var(--muted);font-size:.95rem}

/* Process */
.process-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}
.process-sticky{position:sticky;top:48px;align-self:start}
.process-steps{display:grid;gap:0}
.step{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:0 0 48px;position:relative}
.step:not(:last-child):before{content:"";position:absolute;top:44px;bottom:4px;inset-inline-start:21px;width:1px;background:var(--line)}
.step-index{width:44px;height:44px;border:1px solid var(--plum);border-radius:50%;display:grid;place-items:center;color:var(--plum);font-family:"Libre Caslon Display",serif}
.step h3{margin-bottom:8px;font-size:1.25rem;color:var(--plum-deep)}
.step p{max-width:52ch;margin:0;color:var(--muted)}

/* Quote */
.quote-section{padding-block:0 120px}
.quote-panel{position:relative;overflow:hidden;background:var(--plum-deep);color:var(--paper);padding:88px clamp(28px,7vw,92px)}
.quote-panel:after{content:"";position:absolute;width:220px;height:220px;border:1px solid oklch(82% .09 320);border-radius:50%;inset-inline-end:-80px;top:-90px}
.quote{max-width:21ch;margin:0;font-family:"Aref Ruqaa",serif;font-size:clamp(2.2rem,5vw,4.7rem);line-height:1.25}
.quote-meta{margin-top:32px;color:oklch(78% .025 320)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start}
.contact h2{max-width:10ch}
.contact-copy{padding-top:20px}
.contact-copy>p{max-width:48ch;margin:0 0 32px;color:var(--muted);font-size:1.08rem}
.contact-links{margin-top:48px;border-top:1px solid var(--line)}
.contact-links a{display:flex;align-items:center;justify-content:space-between;min-height:64px;border-bottom:1px solid var(--line);transition:color 160ms var(--ease),padding 220ms var(--ease)}
.contact-links a:hover{color:var(--plum);padding-inline:10px}

/* Footer + floating WhatsApp */
footer{padding:32px 0 40px;background:var(--plum-deep);color:oklch(82% .015 320)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.85rem}
.wa{
  position:fixed;z-index:8;inset-inline-end:22px;bottom:22px;
  display:flex;align-items:center;justify-content:center;min-width:58px;height:58px;padding-inline:18px;
  border-radius:999px;background:var(--paper);color:var(--plum);box-shadow:var(--shadow);
  font-size:.88rem;font-weight:700;transition:transform 180ms var(--ease);
}
.wa:hover{transform:translateY(-3px)}

/* ---------- Bilingual switching (Arabic is default) ---------- */
[data-en]{display:none}
body.en [data-ar]{display:none}
body.en [data-en]{display:revert}
body.en{direction:ltr}

/* ---------- Responsive ---------- */
@media (max-width:820px){
  .nav-links a{display:none}
  .hero{min-height:760px}
  .hero-grid,.intro-grid,.process-grid,.contact-grid{grid-template-columns:1fr}
  .hero-grid{align-items:center;gap:48px;padding-top:138px}
  .hero-copy{max-width:560px}
  section{padding:88px 0}
  .services-head{display:grid;margin-bottom:40px}
  .service{grid-template-columns:52px 1fr}
  .service p{grid-column:2}
  .proof{gap:28px;flex-wrap:wrap}
  .process-sticky{position:static}
  .quote-section{padding-bottom:88px}
  .footer-inner{align-items:flex-start;flex-direction:column}
}
@media (max-width:520px){
  .shell{width:min(100% - 28px,1180px)}
  .brand-name{font-size:1.05rem}
  h1{font-size:3.25rem}
  .hero{min-height:720px}
  .hero-grid{padding-bottom:72px}
  .actions{display:grid}
  .btn{width:100%}
  .service{padding:26px 0;gap:14px}
  .service-num{font-size:1.1rem}
  .service h3{font-size:1.12rem}
  .quote-panel{padding-block:64px}
  .contact-links a{font-size:.88rem}
  .wa{min-width:54px;height:54px;bottom:14px;inset-inline-end:14px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
}
