/* ── SHARED PAGE STYLES ───────────────────────────────────────────────────
   Design tokens and components common to the public site's inner pages
   (index.html, insights.html, work-with-us.html). Extracted from what was
   previously three separately pasted copies of the same rules — edit here,
   not per-page, for anything that's genuinely shared across all of them.

   Deliberately NOT included here: any rule found to differ in actual value
   between pages (e.g. a page's own footer top-padding, or a hero title's
   font-size clamp) — those stay as small page-specific overrides in each
   page's own <style> block rather than being merged/guessed into one
   "close enough" shared value. See the CSS de-duplication batch notes.
*/

:root {
  --black:        #0E2826;
  --gold:         #C3A15D;
  --gold-light:   #D4B97C;
  --gold-pale:    #EDE5D4;
  --gold-dark:    #9A7A3A;
  --text:         #31363A;
  --text-light:   #5D6570;
  --border:       #D7D2CA;
  --bg:           #FFFFFF;
  --bg-warm:      #F8F6F2;
  --bg-section:   #ECEBE2;
  --radius:       8px;
  --shadow:       0 2px 12px rgba(14,40,38,0.07);
  --shadow-hover: 0 12px 40px rgba(14,40,38,0.12);
  --transition:   0.3s cubic-bezier(0.4,0,0.2,1);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Noto Serif', 'Noto Naskh Arabic', Georgia, serif;
  color:var(--text); line-height:1.65;
  background:var(--bg); -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
body::after {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:99999; opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── TRILINGUAL VISIBILITY ── */
[lang="en"] .ar-only, [lang="en"] .zh-only { display:none !important; }
[lang="ar"] .en-only, [lang="ar"] .zh-only { display:none !important; }
[lang="zh"] .en-only, [lang="zh"] .ar-only { display:none !important; }
[dir="rtl"] body { font-family:'Noto Naskh Arabic','Noto Serif', serif; }
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] .page-hero-title { font-family:'Noto Naskh Arabic','Noto Serif', serif; }

/* ── PAGE HERO ── */
.page-hero { background:var(--black); padding:80px 40px 68px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background-image:repeating-linear-gradient(45deg,transparent,transparent 32px,rgba(195,161,93,0.04) 32px,rgba(195,161,93,0.04) 33px); }
.page-hero-inner { max-width:1160px; margin:0 auto; position:relative; }
.hero-label { font-size:11px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.hero-label::before { content:''; width:28px; height:1px; background:var(--gold); }
.page-hero-title em { font-style:italic; color:var(--gold); }
.page-hero-desc { font-size:16px; color:rgba(255,255,255,0.48); line-height:1.75; max-width:560px; }

/* ── FOOTER ── */
.footer-inner { max-width:1160px; margin:0 auto; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.footer-copy { font-size:13px; color:rgba(255,255,255,0.22); }
.footer-social { display:flex; gap:10px; }
.social-btn { width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.38); text-decoration:none; font-size:13px; font-weight:600; transition:border-color var(--transition),color var(--transition); }
.social-btn:hover { border-color:var(--gold); color:var(--gold); }
.social-btn[href="#"] { pointer-events:none; cursor:default; opacity:0.3; }

/* ── BACK BAR ── */
.back-bar { text-align:center; padding-top:32px; border-top:1px solid var(--border); }
.back-link { display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:500; color:var(--text-light); text-decoration:none; transition:color var(--transition),gap var(--transition); }
.back-link:hover { color:var(--gold-dark); gap:12px; }

/* ── REVEAL ── */
.reveal { transition:opacity 0.65s ease,transform 0.65s ease; }
.js-ready .reveal { opacity:0; transform:translateY(22px); }
.reveal.visible { opacity:1 !important; transform:none !important; }
.d1 { transition-delay:0.08s; } .d2 { transition-delay:0.16s; }
.d3 { transition-delay:0.24s; } .d4 { transition-delay:0.08s; }
.d5 { transition-delay:0.16s; } .d6 { transition-delay:0.24s; }
