/* ============================================================
   Halawah Commercial Services — design system
   ============================================================ */

:root{
  /* palette */
  --paper:      #FBFAF7;
  --paper-2:    #F4F2EC;
  --paper-3:    #EDEAE2;
  --ink:        #0F1A16;
  --pine:       #12312A;
  --pine-2:     #1B4A3C;
  --pine-soft:  #4A6A5F;
  --brass:      #A0763A;
  --brass-soft: #C9A46B;
  --muted:      #5C6A64;
  --line:       #DEDACF;
  --line-soft:  #E9E5DC;
  --white:      #FFFFFF;

  /* type */
  --serif: 'Newsreader', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --mono:  ui-monospace, 'SFMono-Regular', Menlo, monospace;

  /* metrics */
  --maxw: 1240px;
  --gutter: clamp(1.25rem, 4vw, 3.5rem);
  --radius: 2px;
  --sec-y: clamp(4.5rem, 9vw, 9rem);

  --ease: cubic-bezier(.22,.61,.36,1);
}

html[lang="ar"]{
  --serif: 'Noto Naskh Arabic', 'IBM Plex Sans Arabic', serif;
  --sans:  'IBM Plex Sans Arabic', 'Inter', sans-serif;
}

/* ---------- reset ---------- */
*,*::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(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:clamp(1rem,.96rem + .2vw,1.0625rem);
  line-height:1.65;
  font-feature-settings:"kern","liga";
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{ max-width:100%; display:block; }
a{ color:inherit; }
button,input,select,textarea{ font:inherit; color:inherit; }
h1,h2,h3,h4{ margin:0; font-weight:500; line-height:1.08; letter-spacing:-.02em; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
:focus-visible{ outline:2px solid var(--brass); outline-offset:3px; border-radius:1px; }

html[lang="ar"] h1,
html[lang="ar"] h2,
html[lang="ar"] h3{ letter-spacing:0; line-height:1.35; font-weight:600; }
html[lang="ar"] body{ line-height:1.9; }

/* ---------- layout ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.sec{ padding-block:var(--sec-y); position:relative; }
.sec--tight{ padding-block:clamp(3rem,6vw,5.5rem); }
.rule{ height:1px; background:var(--line); border:0; margin:0; }

.grid{ display:grid; gap:clamp(1.5rem,3vw,2.75rem); }
.g-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.g-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.g-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:900px){ .g-3,.g-4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px){ .g-2,.g-3,.g-4{ grid-template-columns:1fr; } }

/* section head: number + kicker + h2 */
.shead{ display:grid; grid-template-columns:minmax(0,7rem) minmax(0,1fr); gap:clamp(1rem,3vw,3rem); align-items:start; }
@media (max-width:760px){ .shead{ grid-template-columns:1fr; gap:1rem; } }
.snum{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.16em;
  color:var(--brass); padding-top:.55rem;
  border-top:1px solid var(--brass);
  display:inline-block; min-width:2.75rem; justify-self:start;
}
.kicker{
  font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--muted); margin-bottom:1.1rem; display:block;
}
html[lang="ar"] .kicker{ letter-spacing:.04em; }
html[lang="ar"] .snum{ letter-spacing:0; }

.h1{ font-family:var(--serif); font-size:clamp(2.3rem,1.2rem + 4.6vw,5rem); font-weight:400; letter-spacing:-.032em; }
.h2{ font-family:var(--serif); font-size:clamp(1.85rem,1.15rem + 2.4vw,3.1rem); font-weight:400; letter-spacing:-.025em; }
.h3{ font-family:var(--serif); font-size:clamp(1.25rem,1.05rem + .7vw,1.6rem); font-weight:400; letter-spacing:-.015em; }
html[lang="ar"] .h1{ font-size:clamp(2.1rem,1.2rem + 3.4vw,3.9rem); font-weight:600; }
html[lang="ar"] .h2{ font-size:clamp(1.6rem,1.1rem + 1.9vw,2.6rem); font-weight:600; }

.lede{ font-size:clamp(1.075rem,1rem + .45vw,1.3rem); line-height:1.6; color:var(--pine-soft); max-width:56ch; }
html[lang="ar"] .lede{ line-height:1.95; }
.body-copy p{ margin-top:1.15em; max-width:64ch; color:#33413B; }
.body-copy p:first-child{ margin-top:0; }
.measure{ max-width:62ch; }
.dim{ color:var(--muted); }
.small{ font-size:.85rem; line-height:1.6; }
.xsmall{ font-size:.75rem; line-height:1.55; letter-spacing:.01em; }

/* ---------- header ---------- */
.hdr{
  position:sticky; top:0; z-index:60;
  background:color-mix(in srgb, var(--paper) 86%, transparent);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.hdr.is-stuck{ border-bottom-color:var(--line); }
.hdr__in{ display:flex; align-items:center; gap:1.5rem; height:76px; }
.brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; flex:0 0 auto; }
.brand__mark{ width:30px; height:34px; flex:0 0 auto; }
.brand__txt{ display:flex; flex-direction:column; line-height:1.1; }
.brand__name{ font-family:var(--serif); font-size:1.02rem; letter-spacing:-.01em; white-space:nowrap; }
html[lang="ar"] .brand__name{ font-weight:600; font-size:1.05rem; }
.brand__sub{ font-size:.6rem; letter-spacing:.17em; text-transform:uppercase; color:var(--muted); white-space:nowrap; margin-top:.18rem; }
html[lang="ar"] .brand__sub{ letter-spacing:.02em; font-size:.66rem; }

.nav{ display:flex; align-items:center; gap:clamp(.9rem,1.8vw,1.9rem); margin-inline-start:auto; }
.nav a{
  text-decoration:none; font-size:.875rem; color:var(--pine-soft);
  padding-block:.4rem; position:relative; white-space:nowrap;
  transition:color .2s var(--ease);
}
.nav a::after{
  content:''; position:absolute; inset-inline-start:0; bottom:.05rem; height:1px; width:0;
  background:var(--brass); transition:width .3s var(--ease);
}
.nav a:hover{ color:var(--ink); }
.nav a:hover::after{ width:100%; }
.nav a[aria-current="page"]{ color:var(--ink); }
.nav a[aria-current="page"]::after{ width:100%; background:var(--ink); }

.nav a.btn{ color:#F7F5F0; }
.nav a.btn::after{ display:none; }
.nav a.btn:hover{ color:#F7F5F0; }

.hdr__tools{ display:flex; align-items:center; gap:.65rem; margin-inline-start:clamp(.6rem,1.5vw,1.4rem); }
.langswap{
  text-decoration:none; font-size:.78rem; letter-spacing:.02em;
  border:1px solid var(--line); border-radius:999px; padding:.4rem .85rem;
  color:var(--pine); background:var(--white);
  transition:border-color .2s var(--ease), background .2s var(--ease);
  white-space:nowrap;
}
.langswap:hover{ border-color:var(--pine); }

.burger{ display:none; width:42px; height:42px; border:1px solid var(--line); background:var(--white); border-radius:999px; cursor:pointer; align-items:center; justify-content:center; }
.burger span{ display:block; width:16px; height:1.5px; background:var(--ink); position:relative; transition:.25s var(--ease); }
.burger span::before,.burger span::after{ content:''; position:absolute; left:0; width:16px; height:1.5px; background:var(--ink); transition:.25s var(--ease); }
.burger span::before{ top:-5px; } .burger span::after{ top:5px; }
.burger[aria-expanded="true"] span{ background:transparent; }
.burger[aria-expanded="true"] span::before{ top:0; transform:rotate(45deg); }
.burger[aria-expanded="true"] span::after{ top:0; transform:rotate(-45deg); }

@media (max-width:1024px){
  .nav{
    position:fixed; inset:76px 0 auto 0; flex-direction:column; align-items:stretch;
    background:var(--paper); border-bottom:1px solid var(--line);
    padding:1rem var(--gutter) 2rem; gap:0; margin:0;
    transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:opacity .25s var(--ease), transform .25s var(--ease);
    max-height:calc(100dvh - 76px); overflow:auto;
  }
  .nav.is-open{ opacity:1; transform:none; pointer-events:auto; }
  .nav a{ padding-block:.95rem; border-bottom:1px solid var(--line-soft); font-size:1.05rem; }
  .nav a::after{ display:none; }
  .burger{ display:flex; margin-inline-start:auto; order:3; }
  .hdr__tools{ margin-inline-start:auto; order:2; }
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.85rem 1.5rem; border-radius:999px; text-decoration:none;
  font-size:.9rem; letter-spacing:.005em; border:1px solid transparent;
  transition:transform .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
  cursor:pointer; white-space:nowrap;
}
.btn:hover{ transform:translateY(-1px); }
.btn--pri{ background:var(--pine); color:#F7F5F0; }
.btn--pri:hover{ background:var(--ink); }
.btn--ghost{ border-color:var(--line); color:var(--pine); background:transparent; }
.btn--ghost:hover{ border-color:var(--pine); background:var(--white); }
.btn--light{ background:#F7F5F0; color:var(--pine); }
.btn--outline-light{ border-color:rgba(247,245,240,.32); color:#F7F5F0; }
.btn--outline-light:hover{ border-color:#F7F5F0; background:rgba(247,245,240,.08); }
.btn .arw{ transition:transform .25s var(--ease); }
.btn:hover .arw{ transform:translateX(3px); }
html[dir="rtl"] .btn .arw{ transform:scaleX(-1); }
html[dir="rtl"] .btn:hover .arw{ transform:scaleX(-1) translateX(3px); }
.btnrow{ display:flex; flex-wrap:wrap; gap:.75rem; }

.tlink{
  display:inline-flex; align-items:center; gap:.5rem; text-decoration:none;
  font-size:.9rem; color:var(--pine); border-bottom:1px solid var(--line);
  padding-bottom:.25rem; transition:border-color .25s var(--ease), gap .25s var(--ease);
}
.tlink:hover{ border-color:var(--pine); gap:.8rem; }

/* ---------- hero ---------- */
.hero{ position:relative; padding-block:clamp(3.5rem,9vw,7.5rem) clamp(3rem,7vw,6rem); overflow:hidden; }
.hero__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.72fr); gap:clamp(2rem,5vw,5rem); align-items:end; }
.hero__grid > :first-child{ align-self:start; }
@media (max-width:960px){ .hero__grid{ grid-template-columns:1fr; align-items:start; } }
.hero h1{ margin-block:.6rem 0; }
.hero h1 .ln{ display:block; }
.hero h1 .ln--2{ color:var(--pine-soft); }
.hero__lede{ margin-top:clamp(1.5rem,3vw,2.25rem); }
.hero__note{
  margin-top:2rem; font-size:.78rem; letter-spacing:.05em; color:var(--muted);
  border-top:1px solid var(--line); padding-top:1rem;
}
html[lang="ar"] .hero__note{ letter-spacing:0; font-size:.85rem; }

/* decorative arch */
.arch{
  position:absolute; inset-block-start:-4%; inset-inline-end:-6%;
  width:min(46vw,560px); aspect-ratio:.72; opacity:.55; pointer-events:none; z-index:0;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 46%, transparent 92%);
  mask-image:linear-gradient(to bottom, #000 0%, #000 46%, transparent 92%);
}
.arch path,.arch line{ fill:none; stroke:var(--line); stroke-width:1; }
.arch .a2{ stroke:var(--brass-soft); opacity:.55; }
@media (max-width:960px){ .arch{ opacity:.28; width:70vw; inset-inline-end:-18%; } }
.hero .wrap{ position:relative; z-index:1; }

/* marquee strip */
.strip{ border-block:1px solid var(--line); background:var(--paper-2); overflow:hidden; }
.strip__t{ display:flex; gap:0; width:max-content; animation:slide 46s linear infinite; }
html[dir="rtl"] .strip__t{ animation-name:slide-rtl; }
.strip__t span{
  display:flex; align-items:center; gap:2.5rem; padding-block:.95rem;
  font-size:.74rem; letter-spacing:.19em; text-transform:uppercase; color:var(--muted); white-space:nowrap;
}
html[lang="ar"] .strip__t span{ letter-spacing:.03em; font-size:.82rem; text-transform:none; }
.strip__t span::after{ content:''; width:4px; height:4px; border-radius:50%; background:var(--brass-soft); }
.strip__t span{ padding-inline-end:2.5rem; }
@keyframes slide{ to{ transform:translateX(-50%); } }
@keyframes slide-rtl{ to{ transform:translateX(50%); } }
@media (prefers-reduced-motion: reduce){ .strip__t{ animation:none; } }

/* ---------- cards ---------- */
.card{
  background:var(--white); border:1px solid var(--line-soft); border-radius:var(--radius);
  padding:clamp(1.4rem,2.4vw,2rem);
  transition:border-color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
  display:flex; flex-direction:column; gap:.7rem; height:100%;
}
a.card{ text-decoration:none; }
.card:hover{ border-color:var(--line); transform:translateY(-3px); box-shadow:0 14px 40px -28px rgba(15,26,22,.5); }
.card__n{ font-family:var(--mono); font-size:.68rem; letter-spacing:.14em; color:var(--brass); }
.card__t{ font-family:var(--serif); font-size:clamp(1.15rem,1.05rem + .35vw,1.35rem); }
html[lang="ar"] .card__t{ font-weight:600; }
.card__sub{ font-size:.82rem; color:var(--brass); margin-top:-.35rem; }
.card__d{ font-size:.94rem; color:var(--muted); line-height:1.65; }
html[lang="ar"] .card__d{ line-height:1.9; }
.card ul.ticks{ margin-top:.4rem; display:grid; gap:.5rem; }
.ticks li{ position:relative; padding-inline-start:1.15rem; font-size:.88rem; color:#3B4842; line-height:1.55; }
.ticks li::before{
  content:''; position:absolute; inset-inline-start:0; top:.62em;
  width:5px; height:5px; border-radius:50%; background:var(--brass-soft);
}
html[lang="ar"] .ticks li{ line-height:1.85; }

/* numbered service blocks */
.svc{ display:grid; grid-template-columns:minmax(0,4rem) minmax(0,1fr) minmax(0,1fr); gap:clamp(1.25rem,3vw,3rem); padding-block:clamp(2rem,4vw,3.25rem); border-top:1px solid var(--line); align-items:start; }
.svc:last-of-type{ border-bottom:1px solid var(--line); }
@media (max-width:860px){ .svc{ grid-template-columns:1fr; gap:1.1rem; } }
.svc__n{ font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; color:var(--brass); padding-top:.5rem; }
.svc__t{ font-family:var(--serif); font-size:clamp(1.4rem,1.15rem + .9vw,2rem); }
html[lang="ar"] .svc__t{ font-weight:600; }
.svc__sub{ color:var(--brass); font-size:.9rem; margin-top:.5rem; }
.svc__note{ margin-top:1rem; font-size:.8rem; color:var(--muted); border-inline-start:2px solid var(--line); padding-inline-start:.85rem; }

/* ---------- pull quote ---------- */
.pull{
  font-family:var(--serif); font-size:clamp(1.5rem,1.1rem + 1.8vw,2.4rem);
  line-height:1.25; letter-spacing:-.02em; color:var(--pine);
  border-inline-start:2px solid var(--brass); padding-inline-start:clamp(1rem,2.5vw,1.9rem);
  max-width:24ch;
}
html[lang="ar"] .pull{ line-height:1.5; font-weight:600; }

/* ---------- steps ---------- */
.steps{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--line); }
@media (max-width:860px){ .steps{ grid-template-columns:1fr; } }
.step{ padding:clamp(1.6rem,3vw,2.4rem) clamp(1.1rem,2.2vw,2rem); border-inline-end:1px solid var(--line); border-bottom:1px solid var(--line); }
.steps .step:last-child{ border-inline-end:0; }
@media (max-width:860px){ .step{ border-inline-end:0; } }
.step__n{ font-family:var(--mono); font-size:.68rem; letter-spacing:.16em; color:var(--brass); }
.step__t{ font-family:var(--serif); font-size:1.4rem; margin-top:.9rem; }
html[lang="ar"] .step__t{ font-weight:600; }
.step__d{ margin-top:.7rem; font-size:.92rem; color:var(--muted); line-height:1.7; }
html[lang="ar"] .step__d{ line-height:1.9; }

/* ---------- stats ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--line); }
@media (max-width:900px){ .stats{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px){ .stats{ grid-template-columns:1fr; } }
.stat{ padding:clamp(1.5rem,3vw,2.2rem) clamp(1rem,2vw,1.8rem); border-inline-end:1px solid var(--line); border-bottom:1px solid var(--line); }
.stats .stat:last-child{ border-inline-end:0; }
@media (max-width:900px){ .stats .stat:nth-child(2n){ border-inline-end:0; } .stat{ border-inline-end:1px solid var(--line); } }
@media (max-width:520px){ .stat{ border-inline-end:0; } }
.stat__v{ font-family:var(--serif); font-size:clamp(2.1rem,1.5rem + 2vw,3.2rem); letter-spacing:-.03em; color:var(--pine); line-height:1; }
html[lang="ar"] .stat__v{ font-weight:600; letter-spacing:0; }
.stat__l{ margin-top:.85rem; font-size:.9rem; color:#3B4842; line-height:1.5; }
.stat__s{ margin-top:.6rem; font-size:.72rem; color:var(--muted); letter-spacing:.02em; }

/* ---------- table ---------- */
.tbl-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
table.tbl{ width:100%; border-collapse:collapse; min-width:820px; }
.tbl th,.tbl td{ text-align:start; vertical-align:top; padding:1.05rem clamp(.9rem,1.6vw,1.4rem); border-bottom:1px solid var(--line-soft); font-size:.9rem; line-height:1.6; }
html[lang="ar"] .tbl th,html[lang="ar"] .tbl td{ line-height:1.85; }
.tbl thead th{ background:var(--paper-2); font-weight:500; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid var(--line); }
html[lang="ar"] .tbl thead th{ letter-spacing:.02em; font-size:.82rem; text-transform:none; }
.tbl tbody tr:last-child td{ border-bottom:0; }
.tbl tbody tr:hover{ background:var(--paper); }
.tbl td:first-child{ font-family:var(--serif); font-size:1.02rem; color:var(--pine); width:15%; }
html[lang="ar"] .tbl td:first-child{ font-weight:600; }
.tbl td:nth-child(4){ color:var(--muted); }

/* definition rows */
.deflist{ border-top:1px solid var(--line); }
.defrow{ display:grid; grid-template-columns:minmax(0,.32fr) minmax(0,1fr); gap:clamp(1rem,3vw,2.5rem); padding-block:1.35rem; border-bottom:1px solid var(--line-soft); align-items:baseline; }
@media (max-width:700px){ .defrow{ grid-template-columns:1fr; gap:.35rem; } }
.defrow dt{ font-family:var(--serif); font-size:1.08rem; color:var(--pine); }
html[lang="ar"] .defrow dt{ font-weight:600; }
.defrow dd{ margin:0; font-size:.93rem; color:var(--muted); line-height:1.7; }
html[lang="ar"] .defrow dd{ line-height:1.9; }

/* ---------- dark band ---------- */
.dark{ background:var(--pine); color:#EDEBE4; }
.dark .h2,.dark .h1{ color:#F7F5F0; }
.dark .lede{ color:#B9C6BF; }
.dark .kicker{ color:#8FA79C; }
.dark .snum{ color:var(--brass-soft); border-color:var(--brass-soft); }
.dark .rule{ background:rgba(247,245,240,.16); }
.dark .body-copy p{ color:#C4CFC9; }

/* ---------- CTA ---------- */
.cta__in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.7fr); gap:clamp(1.5rem,4vw,4rem); align-items:end; }
@media (max-width:860px){ .cta__in{ grid-template-columns:1fr; align-items:start; } }

/* ---------- footer ---------- */
.ftr{ background:var(--ink); color:#B9C2BD; padding-block:clamp(3rem,6vw,5rem) 2rem; }
.ftr a{ color:#DCE3DF; text-decoration:none; transition:color .2s var(--ease); }
.ftr a:hover{ color:#fff; }
.ftr__top{ display:grid; grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.7fr)); gap:clamp(1.75rem,3.5vw,3rem); }
@media (max-width:900px){ .ftr__top{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .ftr__top{ grid-template-columns:1fr; } }
.ftr__brand{ display:flex; align-items:center; gap:.75rem; margin-bottom:1.25rem; }
.ftr__brand .brand__name{ color:#F7F5F0; }
.ftr__brand .brand__sub{ color:#8B948F; }
.ftr h4{ font-size:.7rem; letter-spacing:.19em; text-transform:uppercase; color:#79837E; font-weight:400; margin-bottom:1rem; }
html[lang="ar"] .ftr h4{ letter-spacing:.03em; font-size:.8rem; text-transform:none; }
.ftr__list{ display:grid; gap:.6rem; font-size:.9rem; }
.ftr__blurb{ font-size:.9rem; line-height:1.7; max-width:42ch; color:#9EA9A3; }
html[lang="ar"] .ftr__blurb{ line-height:1.95; }
.ftr__group{ margin-top:1.1rem; font-size:.8rem; line-height:1.65; color:#79837E; border-top:1px solid rgba(247,245,240,.12); padding-top:1.1rem; max-width:44ch; }
.ftr__bottom{ margin-top:clamp(2.5rem,5vw,4rem); border-top:1px solid rgba(247,245,240,.12); padding-top:1.5rem; display:flex; flex-wrap:wrap; gap:1rem 2rem; justify-content:space-between; align-items:flex-start; }
.ftr__legal{ display:grid; gap:.65rem; max-width:74ch; font-size:.72rem; line-height:1.65; color:#6E7975; }
html[lang="ar"] .ftr__legal{ font-size:.78rem; line-height:1.85; }
.ftr__meta{ font-size:.72rem; color:#6E7975; display:grid; gap:.4rem; text-align:end; }

/* ---------- forms ---------- */
.form{ display:grid; gap:1.15rem; }
.field{ display:grid; gap:.45rem; }
.field label{ font-size:.78rem; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); }
html[lang="ar"] .field label{ letter-spacing:.01em; font-size:.85rem; text-transform:none; }
.field input,.field select,.field textarea{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:.85rem 1rem; font-size:.95rem; width:100%;
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.field textarea{ min-height:140px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--pine); box-shadow:0 0 0 3px rgba(27,74,60,.09);
}
.field-2{ display:grid; grid-template-columns:1fr 1fr; gap:1.15rem; }
@media (max-width:620px){ .field-2{ grid-template-columns:1fr; } }
.formnote{ font-size:.78rem; color:var(--muted); line-height:1.6; }

.contact__grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr); gap:clamp(2rem,5vw,4.5rem); align-items:start; }
@media (max-width:900px){ .contact__grid{ grid-template-columns:1fr; } }
.detail{ border-top:1px solid var(--line); padding-block:1.05rem; display:grid; grid-template-columns:minmax(0,8rem) minmax(0,1fr); gap:1rem; align-items:baseline; }
.detail dt{ font-size:.74rem; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); }
html[lang="ar"] .detail dt{ letter-spacing:.01em; font-size:.83rem; text-transform:none; }
.detail dd{ margin:0; font-size:.96rem; }
.detail a{ text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:2px; }
.detail a:hover{ border-color:var(--pine); }
@media (max-width:480px){ .detail{ grid-template-columns:1fr; gap:.2rem; } }

/* ---------- misc ---------- */
.badge{
  display:inline-flex; align-items:center; gap:.45rem; font-size:.7rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--muted); border:1px solid var(--line);
  border-radius:999px; padding:.35rem .8rem; background:var(--white);
}
html[lang="ar"] .badge{ letter-spacing:.01em; font-size:.78rem; text-transform:none; }
.badge .dot{ width:5px; height:5px; border-radius:50%; background:var(--brass); }

.note{
  background:var(--paper-2); border:1px solid var(--line-soft);
  border-inline-start:2px solid var(--brass); border-radius:var(--radius);
  padding:1.1rem 1.35rem; font-size:.86rem; color:var(--muted); line-height:1.7;
}
html[lang="ar"] .note{ line-height:1.9; }

.skip{ position:absolute; inset-inline-start:-9999px; }
.skip:focus{ inset-inline-start:1rem; top:1rem; z-index:200; background:var(--white); padding:.7rem 1rem; border:1px solid var(--pine); border-radius:var(--radius); }

/* reveal */
.rv{ opacity:0; transform:translateY(14px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.rv.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .rv{ opacity:1 !important; transform:none !important; transition:none; } }

/* print */
@media print{
  .hdr,.strip,.ftr__legal,.btn{ display:none !important; }
  body{ background:#fff; }
}
