/* ── SIFR COLLECTION — SHARED STYLES (Light / Airy system) ── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Instrument+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
  /* Surfaces */
  --paper: #f6f2e9;        /* page background (warm ivory) */
  --surface: #fbf8f1;      /* cards / panels */
  --alt: #efe7d7;          /* alternating section bands */
  /* Legacy aliases kept so existing component CSS still resolves */
  --ink: #f6f2e9;          /* was dark bg; now = paper */
  --midnight: #efe7d7;     /* was dark section; now = alt band */
  --stone: #ece4d3;
  --slate: #d8cdb5;        /* now a light border tone */

  /* Text */
  --text: #1c2b24;         /* primary ink */
  --sand: #1c2b24;         /* legacy: primary text */
  --sand-dim: #46554c;     /* legacy: secondary body text */
  --mist: #5e6d64;         /* legacy: muted captions */

  /* Accents */
  --green: #2e6e50;
  --green-deep: #1f5238;
  --verdigris: #2e6e50;        /* legacy alias */
  --verdigris-bright: #2e6e50; /* legacy alias */
  --clay: #a85f32;
  --copper: #a85f32;
  --gold: #9a7b3e;
  --up: #2e6e50;
  --dn: #a8472e;

  /* Lines */
  --line: #e4dcca;
  --line-strong: #d8cdb5;

  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Instrument Sans', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--text); font-family: var(--sans); font-size: 17px; line-height: 1.65; overflow-x: hidden; -webkit-font-smoothing: antialiased; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  .reveal { opacity:1 !important; transform:none !important; }
}
:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }

/* Decorative geo texture: very subtle on light */
.geo-pattern { position:fixed; inset:0; opacity:0.025; pointer-events:none; z-index:0; background-image:url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%231c2b24' stroke-width='0.5'%3E%3Cpolygon points='32,3 60,18 60,46 32,61 4,46 4,18'/%3E%3C/g%3E%3C/svg%3E"); }

/* ── NAV ── */
nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:18px 56px; transition:background 0.3s, padding 0.3s, box-shadow 0.3s; }
nav.scrolled { background:rgba(246,242,233,0.9); backdrop-filter:blur(14px); padding:12px 56px; border-bottom:1px solid var(--line); }
.nav-logo { display:flex; align-items:center; gap:14px; text-decoration:none; }
.nav-logo-ar { font-family:var(--serif); font-size:22px; font-weight:600; color:var(--text); letter-spacing:0.01em; }
.nav-logo-en { font-family:var(--mono); font-size:9px; letter-spacing:0.22em; color:var(--mist); text-transform:uppercase; margin-top:2px; }
.nav-links { display:flex; gap:30px; list-style:none; }
.nav-links a { font-family:var(--mono); font-size:12px; letter-spacing:0.08em; color:var(--sand-dim); text-decoration:none; transition:color 0.2s; position:relative; }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; right:100%; height:1.5px; background:var(--green); transition:right 0.3s ease; }
.nav-links a:hover { color:var(--green-deep); }
.nav-links a:hover::after, .nav-links a.active::after { right:0; }
.nav-links a.active { color:var(--green-deep); }
.nav-cta { font-family:var(--mono); font-size:12px; letter-spacing:0.08em; color:#fff; background:var(--green); text-decoration:none; padding:9px 20px; border-radius:6px; transition:background 0.2s; }
.nav-cta:hover { background:var(--green-deep); }

/* ── SECTIONS ── */
.section-inner { max-width:1240px; margin:0 auto; padding:0 56px; }
.section-label { font-family:var(--mono); font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--green); display:flex; align-items:center; gap:12px; margin-bottom:22px; font-weight:500; }
.section-label::before { content:''; display:block; width:28px; height:2px; background:var(--green); }
.section-title { font-family:var(--serif); font-size:clamp(34px,4.2vw,58px); font-weight:500; line-height:1.05; letter-spacing:-0.005em; color:var(--text); }
.section-title em { font-style:italic; color:var(--clay); }

/* ── BUTTONS ── */
.btn-primary { font-family:var(--mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:#fff; background:var(--green); border:none; padding:15px 32px; border-radius:7px; cursor:pointer; transition:background 0.25s, transform 0.15s; text-decoration:none; display:inline-block; font-weight:500; }
.btn-primary:hover { background:var(--green-deep); transform:translateY(-1px); }
.btn-secondary { font-family:var(--mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--green-deep); background:transparent; border:1.5px solid var(--line-strong); padding:14px 30px; border-radius:7px; cursor:pointer; transition:all 0.25s; text-decoration:none; display:inline-block; font-weight:500; }
.btn-secondary:hover { border-color:var(--green); background:rgba(46,110,80,0.05); }

/* ── REVEAL ── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.08s; }
.reveal-delay-2 { transition-delay:0.16s; }
.reveal-delay-3 { transition-delay:0.24s; }
.reveal-delay-4 { transition-delay:0.32s; }

/* ── FOOTER ── */
footer { background:var(--alt); border-top:1px solid var(--line); padding:64px 0 32px; }
.footer-grid { max-width:1240px; margin:0 auto; padding:0 56px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
.footer-logo-text { font-family:var(--serif); font-size:28px; font-weight:600; color:var(--green-deep); margin-bottom:3px; }
.footer-tagline { font-family:var(--mono); font-size:9px; letter-spacing:0.2em; color:var(--mist); text-transform:uppercase; margin-bottom:18px; }
.footer-desc { font-size:14px; color:var(--sand-dim); line-height:1.7; max-width:300px; }
.footer-col-title { font-family:var(--mono); font-size:10px; letter-spacing:0.16em; color:var(--green-deep); text-transform:uppercase; margin-bottom:14px; font-weight:500; }
.footer-links { list-style:none; }
.footer-links li { margin-bottom:10px; }
.footer-links a { font-size:14px; color:var(--sand-dim); text-decoration:none; transition:color 0.2s; }
.footer-links a:hover { color:var(--green-deep); }
.footer-bottom { max-width:1240px; margin:0 auto; padding:24px 56px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:16px; }
.footer-copy { font-family:var(--mono); font-size:11px; color:var(--mist); letter-spacing:0.02em; }
.footer-cert { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.cert-badge { font-family:var(--mono); font-size:9px; letter-spacing:0.08em; color:var(--green-deep); border:1px solid var(--line-strong); padding:4px 9px; border-radius:4px; text-transform:uppercase; background:var(--surface); }

/* ── Legal / disclaimer ── */
.disclaimer-strip { background:var(--paper); border-top:1px solid var(--line); }
.disclaimer-inner { max-width:1240px; margin:0 auto; padding:18px 56px; font-family:var(--mono); font-size:10px; line-height:1.7; letter-spacing:0.01em; color:var(--mist); }
.source-note { font-family:var(--mono); font-size:11px; letter-spacing:0.02em; color:var(--mist); }

/* ── Scrollbar ── */
::-webkit-scrollbar { width:10px; }
::-webkit-scrollbar-track { background:var(--alt); }
::-webkit-scrollbar-thumb { background:var(--line-strong); border-radius:5px; }
::-webkit-scrollbar-thumb:hover { background:var(--mist); }

/* ── Shared page components (policy, countries, research) ── */
.page-hero2 { padding:150px 0 56px; background:var(--alt); border-bottom:1px solid var(--line); }
.page-hero2 .eyebrow { font-family:var(--mono); font-size:11px; letter-spacing:0.2em; color:var(--green); text-transform:uppercase; margin-bottom:18px; display:flex; align-items:center; gap:12px; font-weight:500; }
.page-hero2 .eyebrow::before { content:''; display:block; width:28px; height:2px; background:var(--green); }
.page-hero2 h1 { font-family:var(--serif); font-size:clamp(40px,5.2vw,68px); font-weight:500; line-height:1.02; color:var(--text); margin-bottom:18px; }
.page-hero2 h1 em { font-style:italic; color:var(--clay); }
.page-hero2 p { font-size:17px; color:var(--sand-dim); max-width:600px; line-height:1.7; }
.page-body { padding:64px 0 96px; }
.sifr-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sifr-card { background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:28px 26px; cursor:pointer; transition:transform 0.25s, box-shadow 0.25s; }
.sifr-card:hover { transform:translateY(-3px); box-shadow:0 18px 38px -24px rgba(28,43,36,0.4); }
.sc-tag { font-family:var(--mono); font-size:9px; letter-spacing:0.1em; text-transform:uppercase; padding:4px 9px; border-radius:5px; background:rgba(46,110,80,0.1); color:var(--green-deep); border:1px solid rgba(46,110,80,0.2); display:inline-block; }
.sc-tag.amber { background:rgba(168,95,50,0.1); color:var(--clay); border-color:rgba(168,95,50,0.25); }
.sc-flag { font-size:30px; line-height:1; margin:14px 0 8px; }
.sc-title { font-family:var(--serif); font-size:24px; font-weight:600; color:var(--text); line-height:1.18; margin-top:12px; }
.sc-sub { font-family:var(--mono); font-size:10px; letter-spacing:0.06em; color:var(--mist); text-transform:uppercase; margin-top:6px; }
.sc-desc { font-size:14px; color:var(--sand-dim); line-height:1.65; margin-top:12px; }
.sc-foot { margin-top:18px; font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--green); }
.sc-stat { display:flex; gap:18px; margin-top:14px; }
.sc-stat div span { display:block; }
.sc-stat .n { font-family:var(--serif); font-size:24px; font-weight:600; color:var(--green-deep); }
.sc-stat .l { font-family:var(--mono); font-size:9px; letter-spacing:0.06em; color:var(--mist); text-transform:uppercase; margin-top:2px; }

.sifr-backdrop { position:fixed; inset:0; background:rgba(28,43,36,0.4); backdrop-filter:blur(2px); z-index:500; opacity:0; pointer-events:none; transition:opacity 0.2s; }
.sifr-backdrop.open { opacity:1; pointer-events:auto; }
.sifr-modal { position:fixed; top:50%; left:50%; transform:translate(-50%,-48%); width:min(580px,92vw); max-height:88vh; overflow-y:auto; background:var(--surface); border:1px solid var(--line-strong); border-radius:16px; box-shadow:0 40px 80px -30px rgba(28,43,36,0.45); z-index:501; opacity:0; pointer-events:none; transition:opacity 0.2s, transform 0.2s; }
.sifr-modal.open { opacity:1; pointer-events:auto; transform:translate(-50%,-50%); }
.sm-head { padding:26px 28px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.sm-eyebrow { font-family:var(--mono); font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:var(--green); margin-bottom:10px; }
.sm-title { font-family:var(--serif); font-size:30px; font-weight:600; line-height:1.08; color:var(--text); }
.sm-close { width:34px; height:34px; border-radius:9px; border:1px solid var(--line-strong); background:var(--paper); color:var(--mist); font-size:20px; cursor:pointer; flex-shrink:0; line-height:1; }
.sm-close:hover { color:var(--dn); border-color:var(--dn); }
.sm-body { padding:24px 28px; }
.sm-desc { font-size:15px; line-height:1.7; color:var(--sand-dim); margin-bottom:22px; }
.sm-row { display:flex; justify-content:space-between; padding:11px 0; border-bottom:1px solid var(--line); font-size:13px; gap:16px; }
.sm-row:last-child { border-bottom:none; }
.sm-row .k { color:var(--mist); font-family:var(--mono); font-size:11px; letter-spacing:0.04em; text-transform:uppercase; flex-shrink:0; }
.sm-row .v { color:var(--text); font-weight:500; text-align:right; }
.sm-block-label { font-family:var(--mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--mist); margin:20px 0 8px; }
.sm-chip { display:inline-block; font-family:var(--mono); font-size:10px; color:var(--green-deep); background:rgba(46,110,80,0.08); border:1px solid rgba(46,110,80,0.18); border-radius:5px; padding:5px 9px; margin:0 6px 6px 0; }
.sm-proj { display:block; padding:10px 0; border-bottom:1px solid var(--line); text-decoration:none; color:var(--text); font-size:13px; }
.sm-proj:last-child { border-bottom:none; }
.sm-proj .pt { color:var(--mist); font-family:var(--mono); font-size:10px; }
.sm-cta { margin-top:22px; display:flex; gap:12px; flex-wrap:wrap; }

/* FAQ (AEO) */
.faq-section { padding:90px 0; background:var(--alt); }
.faq-item { border-bottom:1px solid var(--line); padding:24px 0; }
.faq-q { font-family:var(--serif); font-size:21px; font-weight:600; color:var(--text); margin-bottom:10px; }
.faq-a { font-size:15px; line-height:1.7; color:var(--sand-dim); }

@media (max-width:900px){ .sifr-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .sifr-grid{ grid-template-columns:1fr; } }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .section-inner { padding:0 32px; }
  nav, nav.scrolled { padding:14px 32px; }
  .footer-grid, .footer-bottom, .disclaimer-inner { padding-left:32px; padding-right:32px; }
}
@media (max-width: 760px) {
  body { font-size:16px; }
  .nav-links { display:none; }
  nav, nav.scrolled { padding:12px 20px; }
  .nav-cta { padding:8px 14px; }
  .section-inner { padding:0 20px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px; padding:0 20px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; padding:24px 20px 0; }
  .disclaimer-inner { padding:16px 20px; }
}
@media (max-width: 480px) {
  .footer-grid { grid-template-columns:1fr; }
}
