/* ============================================================
   ALFATH GROUP — Dark Luxury Real Estate Theme
   Design tokens + full UI. Cinematic navy/gold. RTL + LTR.
   ============================================================ */

:root{
  /* Surfaces */
  --bg:        #0a1828;
  --bg-2:      #0c1d31;
  --surface:   #102842;
  --surface-2: #16314d;
  --surface-3: #1c3a5c;

  /* Gold */
  --gold:        #c5a572;
  --gold-light:  #e3cb95;
  --gold-deep:   #a8884f;
  --gold-grad:   linear-gradient(135deg,#e7d09c 0%,#c5a572 48%,#a8884f 100%);

  /* Text */
  --text:   #eef2f8;
  --text-2: #aebccd;
  --text-3: #7d8ea3;

  /* Lines */
  --line:        rgba(197,165,114,.18);
  --line-soft:   rgba(255,255,255,.06);

  /* Layout */
  --container: 1240px;
  --gutter: clamp(20px, 5vw, 64px);
  --radius: 4px;
  --radius-lg: 8px;

  /* Type */
  --f-serif: "Cormorant Garamond", Georgia, serif;
  --f-sans:  "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Motion */
  --ease: cubic-bezier(.22,.61,.36,1);
  --dur: 240ms;

  --header-h: 84px;
}

/* Arabic font switch */
html[lang="ar"], body.afg-ar{
  --f-serif: "El Messiri", "Cormorant Garamond", serif;
  --f-sans:  "Tajawal", "Jost", system-ui, sans-serif;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--f-sans);
  font-size:17px;
  line-height:1.7;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; transition:color var(--dur) var(--ease); }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ font-family:var(--f-serif); font-weight:600; line-height:1.1; margin:0 0 .4em; letter-spacing:.2px; }
p{ margin:0 0 1.1em; color:var(--text-2); }
::selection{ background:var(--gold); color:var(--bg); }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:2px; }

/* Body lock when menu open */
body.afg-lock{ overflow:hidden; }

/* ---------- Layout helpers ---------- */
.afg-container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.afg-section{ padding-block:clamp(72px,9vw,140px); position:relative; }
.afg-section--tight{ padding-block:clamp(48px,6vw,90px); }
.afg-narrow{ max-width:760px; }

/* Eyebrow label */
.afg-eyebrow{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--f-sans); font-size:12.5px; font-weight:500;
  letter-spacing:.32em; text-transform:uppercase; color:var(--gold);
  margin:0 0 22px;
}
.afg-eyebrow::before{ content:""; width:34px; height:1px; background:var(--gold-grad); display:inline-block; }
.afg-ar .afg-eyebrow{ letter-spacing:.12em; }

/* Section title */
.afg-title{ font-size:clamp(2rem,4.4vw,3.7rem); color:var(--text); margin-bottom:.5em; }
.afg-title .accent{ color:transparent; background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; }
.afg-lead{ font-size:clamp(1.05rem,1.6vw,1.2rem); color:var(--text-2); max-width:62ch; }

/* Gold hairline divider */
.afg-rule{ height:1px; width:100%; background:linear-gradient(90deg,transparent,var(--line),transparent); border:0; margin:0; }

/* ---------- Buttons ---------- */
.afg-btn{
  --c:var(--bg);
  display:inline-flex; align-items:center; justify-content:center; gap:11px;
  font-family:var(--f-sans); font-size:13.5px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  padding:17px 34px; border:1px solid transparent; border-radius:var(--radius);
  position:relative; overflow:hidden; white-space:nowrap;
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.afg-ar .afg-btn{ letter-spacing:.04em; font-size:15px; }
.afg-btn svg{ width:17px; height:17px; flex:none; }
.afg-btn--gold{ background:var(--gold-grad); color:var(--bg); font-weight:600; box-shadow:0 10px 30px -12px rgba(197,165,114,.55); }
.afg-btn--gold:hover{ transform:translateY(-2px); box-shadow:0 18px 40px -12px rgba(197,165,114,.7); }
.afg-btn--ghost{ border-color:var(--line); color:var(--text); }
.afg-btn--ghost:hover{ border-color:var(--gold); color:var(--gold); transform:translateY(-2px); }
.afg-btn--block{ width:100%; }

/* Text link with arrow */
.afg-link{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-sans); font-size:13px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase; color:var(--gold);
}
.afg-ar .afg-link{ letter-spacing:.05em; font-size:14.5px; }
.afg-link svg{ width:16px; height:16px; transition:transform var(--dur) var(--ease); }
.afg-link:hover svg{ transform:translateX(6px); }
html[dir="rtl"] .afg-link:hover svg{ transform:translateX(-6px) scaleX(-1); }
html[dir="rtl"] .afg-link svg{ transform:scaleX(-1); }

/* ============================================================
   HEADER
   ============================================================ */
.afg-header{
  position:fixed; inset:0 0 auto; z-index:1000;
  transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
  border-bottom:1px solid transparent;
}
.afg-header__inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; height:var(--header-h); }
.afg-header.is-stuck{
  background:rgba(8,20,34,.82);
  backdrop-filter:saturate(140%) blur(14px);
  -webkit-backdrop-filter:saturate(140%) blur(14px);
  border-bottom-color:var(--line);
}

/* Brand lockup */
.afg-brand{ display:inline-flex; align-items:center; gap:13px; }
.afg-brand__mono{
  font-family:var(--f-serif); font-weight:700; font-size:30px; line-height:1;
  letter-spacing:.06em; color:transparent;
  background:var(--gold-grad); -webkit-background-clip:text; background-clip:text;
}
.afg-brand__word{
  font-family:var(--f-sans); font-weight:600; font-size:12px;
  letter-spacing:.34em; text-transform:uppercase; color:var(--text);
  padding-inline-start:13px; border-inline-start:1px solid var(--line);
}
.afg-brand img.custom-logo{ max-height:52px; width:auto; }

/* Nav */
.afg-nav{ display:flex; align-items:center; gap:38px; }
.afg-nav__menu{ list-style:none; display:flex; gap:34px; margin:0; padding:0; }
.afg-nav__menu a{
  font-family:var(--f-sans); font-size:13.5px; font-weight:400;
  letter-spacing:.13em; text-transform:uppercase; color:var(--text-2);
  position:relative; padding-block:6px;
}
.afg-ar .afg-nav__menu a{ letter-spacing:.02em; font-size:15.5px; }
.afg-nav__menu a::after{
  content:""; position:absolute; inset-inline:0; bottom:0; height:1px;
  background:var(--gold-grad); transform:scaleX(0); transform-origin:inline-start;
  transition:transform var(--dur) var(--ease);
}
.afg-nav__menu a:hover, .afg-nav__menu .current-menu-item > a{ color:var(--text); }
.afg-nav__menu a:hover::after, .afg-nav__menu .current-menu-item > a::after{ transform:scaleX(1); }

.afg-header__actions{ display:flex; align-items:center; gap:18px; }

/* Language toggle */
.afg-lang{ display:inline-flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; }
.afg-lang a{ font-size:12px; font-weight:500; letter-spacing:.08em; padding:7px 13px; color:var(--text-3); }
.afg-lang a.is-active{ background:var(--gold-grad); color:var(--bg); }

/* Burger */
.afg-burger{
  display:none; width:46px; height:46px; border:1px solid var(--line);
  background:transparent; border-radius:var(--radius); position:relative;
}
.afg-burger span{ position:absolute; inset-inline:13px; height:1.5px; background:var(--text); transition:.3s var(--ease); }
.afg-burger span:nth-child(1){ top:17px; } .afg-burger span:nth-child(2){ top:23px; } .afg-burger span:nth-child(3){ top:29px; }
body.afg-lock .afg-burger span:nth-child(1){ top:23px; transform:rotate(45deg); }
body.afg-lock .afg-burger span:nth-child(2){ opacity:0; }
body.afg-lock .afg-burger span:nth-child(3){ top:23px; transform:rotate(-45deg); }

/* ============================================================
   HERO
   ============================================================ */
.afg-hero{
  position:relative; min-height:100svh; display:flex; align-items:center;
  padding-top:var(--header-h); isolation:isolate; overflow:hidden;
}
.afg-hero__bg{ position:absolute; inset:0; z-index:-2; }
.afg-hero__bg img{ width:100%; height:100%; object-fit:cover; opacity:.42; }
.afg-hero__bg::after{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(120% 90% at 80% 10%, rgba(197,165,114,.10), transparent 55%),
    linear-gradient(180deg, rgba(8,20,34,.55) 0%, rgba(8,20,34,.78) 55%, var(--bg) 100%);
}
/* designed fallback when no hero image */
.afg-hero__bg--gradient{
  background:
    radial-gradient(130% 100% at 78% 6%, rgba(197,165,114,.16), transparent 50%),
    radial-gradient(90% 80% at 8% 100%, rgba(28,58,92,.55), transparent 60%),
    var(--bg);
}
.afg-hero__grain{ position:absolute; inset:0; z-index:-1; opacity:.5; pointer-events:none;
  background-image:linear-gradient(transparent 95%, rgba(197,165,114,.05) 0),
                   linear-gradient(90deg,transparent 95%, rgba(197,165,114,.05) 0);
  background-size:46px 46px; mask-image:radial-gradient(70% 70% at 70% 30%,#000,transparent); }

.afg-hero__content{ max-width:880px; }
.afg-hero__title{
  font-size:clamp(2.8rem,7vw,6rem); line-height:1.02; margin-bottom:.32em;
  letter-spacing:-.5px;
}
.afg-ar .afg-hero__title{ letter-spacing:0; line-height:1.18; }
.afg-hero__title .accent{ color:transparent; background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; font-style:italic; }
.afg-ar .afg-hero__title .accent{ font-style:normal; }
.afg-hero__sub{ font-size:clamp(1.05rem,1.8vw,1.32rem); color:var(--text-2); max-width:60ch; margin-bottom:2.4em; }
.afg-hero__cta{ display:flex; flex-wrap:wrap; gap:16px; }

/* Hero stat strip */
.afg-hero__stats{
  position:absolute; inset-inline:0; bottom:0; z-index:1;
  border-top:1px solid var(--line); background:rgba(8,20,34,.35);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.afg-hero__stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.afg-hstat{ padding:26px var(--gutter); border-inline-start:1px solid var(--line); }
.afg-hstat:first-child{ border-inline-start:0; }
.afg-hstat b{ font-family:var(--f-serif); font-size:2.1rem; font-weight:600; color:var(--gold); display:block; line-height:1; }
.afg-hstat span{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--text-3); }
.afg-ar .afg-hstat span{ letter-spacing:.02em; font-size:14px; }

/* scroll cue */
.afg-scroll-cue{ position:absolute; inset-inline-end:var(--gutter); bottom:120px; writing-mode:vertical-rl;
  font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--text-3); display:flex; align-items:center; gap:14px; }
.afg-scroll-cue::after{ content:""; width:1px; height:56px; background:linear-gradient(var(--gold),transparent); animation:cue 2.2s var(--ease) infinite; }
@keyframes cue{ 0%{transform:scaleY(.2);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} 100%{transform:scaleY(.2);transform-origin:bottom} }

/* ============================================================
   INTRO / ABOUT
   ============================================================ */
.afg-intro{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,6vw,96px); align-items:center; }
.afg-intro__media{ position:relative; }
.afg-intro__media .frame{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/5; }
.afg-intro__media .frame img{ width:100%; height:100%; object-fit:cover; }
.afg-intro__media .frame::after{ content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px var(--line); border-radius:var(--radius-lg); }
.afg-intro__media .badge{
  position:absolute; inset-inline-end:-22px; bottom:38px; background:var(--gold-grad); color:var(--bg);
  padding:22px 26px; border-radius:var(--radius); text-align:center; box-shadow:0 24px 50px -20px rgba(0,0,0,.7);
}
.afg-intro__media .badge b{ font-family:var(--f-serif); font-size:2.4rem; display:block; line-height:1; font-weight:700; }
.afg-intro__media .badge span{ font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; }
.afg-ar .afg-intro__media .badge span{ letter-spacing:0; font-size:13px; }
.afg-intro__body p{ font-size:1.08rem; }
.afg-intro__points{ list-style:none; margin:26px 0 32px; padding:0; display:grid; gap:14px; }
.afg-intro__points li{ display:flex; gap:14px; align-items:flex-start; color:var(--text); }
.afg-intro__points svg{ width:20px; height:20px; color:var(--gold); flex:none; margin-top:3px; }

/* ============================================================
   SERVICES
   ============================================================ */
.afg-services__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; margin-bottom:56px; }
.afg-services__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; }
.afg-service{ background:var(--bg); padding:clamp(30px,3vw,48px); transition:background var(--dur) var(--ease); position:relative; }
.afg-service:hover{ background:var(--surface); }
.afg-service__ico{ width:54px; height:54px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--gold); margin-bottom:26px; transition:.3s var(--ease); }
.afg-service:hover .afg-service__ico{ background:var(--gold-grad); color:var(--bg); border-color:transparent; transform:translateY(-3px); }
.afg-service__ico svg{ width:24px; height:24px; }
.afg-service h3{ font-size:1.5rem; margin-bottom:.5em; }
.afg-service p{ font-size:.98rem; margin:0; }
.afg-service__num{ position:absolute; inset-block-start:26px; inset-inline-end:30px; font-family:var(--f-serif); font-size:1rem; color:var(--gold-deep); opacity:.5; }

/* ============================================================
   PROJECTS
   ============================================================ */
.afg-projects{ background:var(--bg-2); }
.afg-filters{ display:flex; gap:10px; flex-wrap:wrap; margin:34px 0 50px; }
.afg-filter{
  background:transparent; border:1px solid var(--line); color:var(--text-2);
  padding:10px 22px; border-radius:999px; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase;
  transition:.25s var(--ease);
}
.afg-ar .afg-filter{ letter-spacing:0; font-size:14.5px; }
.afg-filter:hover{ color:var(--text); border-color:var(--gold-deep); }
.afg-filter.is-active{ background:var(--gold-grad); color:var(--bg); border-color:transparent; font-weight:600; }

.afg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.afg-grid--2{ grid-template-columns:repeat(2,1fr); }

.afg-card{ position:relative; border-radius:var(--radius-lg); overflow:hidden; background:var(--surface); border:1px solid var(--line); transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.afg-card:hover{ transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(0,0,0,.8); }
.afg-card__media{ position:relative; aspect-ratio:3/4; overflow:hidden; }
.afg-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.afg-card:hover .afg-card__media img{ transform:scale(1.06); }
.afg-card__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%, rgba(8,20,34,.45) 70%, rgba(8,20,34,.95) 100%); }
/* placeholder media (no image) */
.afg-card__ph{ width:100%; height:100%; display:grid; place-items:center;
  background:radial-gradient(120% 100% at 50% 0,var(--surface-2),var(--surface)); }
.afg-card__ph span{ font-family:var(--f-serif); font-size:3rem; color:var(--gold-deep); opacity:.4; }

.afg-card__status{ position:absolute; inset-block-start:18px; inset-inline-start:18px; z-index:2;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
  padding:7px 14px; border-radius:999px; background:rgba(8,20,34,.7); border:1px solid var(--line); color:var(--gold-light); backdrop-filter:blur(6px); }
.afg-ar .afg-card__status{ letter-spacing:0; font-size:13px; }
.afg-card__body{ position:absolute; inset-inline:0; bottom:0; z-index:2; padding:26px; }
.afg-card__loc{ display:flex; align-items:center; gap:7px; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-2); margin-bottom:9px; }
.afg-ar .afg-card__loc{ letter-spacing:0; font-size:14px; }
.afg-card__loc svg{ width:14px; height:14px; color:var(--gold); }
.afg-card__title{ font-size:1.5rem; color:#fff; margin:0 0 4px; }
.afg-card__meta{ display:flex; gap:16px; flex-wrap:wrap; font-size:13px; color:var(--text-2); margin-top:10px; }
.afg-card__meta b{ color:var(--gold-light); font-weight:500; }
.afg-card__link{ position:absolute; inset:0; z-index:3; }

/* ============================================================
   STATS COUNTER BAND
   ============================================================ */
.afg-stats{ background:
   linear-gradient(rgba(8,20,34,.92),rgba(8,20,34,.92)),
   radial-gradient(80% 120% at 50% 0,var(--surface-2),var(--bg)); border-block:1px solid var(--line); }
.afg-stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; text-align:center; }
.afg-stat b{ font-family:var(--f-serif); font-size:clamp(2.6rem,5vw,4.2rem); font-weight:700; line-height:1;
  color:transparent; background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; display:block; }
.afg-stat span{ display:block; margin-top:12px; font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--text-2); }
.afg-ar .afg-stat span{ letter-spacing:0; font-size:15px; }

/* ============================================================
   VALUES / WHY US
   ============================================================ */
.afg-values__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; }
.afg-value{ background:var(--bg); padding:clamp(28px,2.6vw,40px); }
.afg-value svg{ width:30px; height:30px; color:var(--gold); margin-bottom:20px; }
.afg-value h4{ font-size:1.32rem; margin-bottom:.45em; }
.afg-value p{ font-size:.95rem; margin:0; }

/* ============================================================
   CTA BAND
   ============================================================ */
.afg-cta{ position:relative; overflow:hidden; isolation:isolate; text-align:center; }
.afg-cta__bg{ position:absolute; inset:0; z-index:-1;
  background:linear-gradient(rgba(8,20,34,.8),rgba(8,20,34,.9)), radial-gradient(80% 140% at 50% 0,rgba(197,165,114,.2),transparent); }
.afg-cta .afg-title{ max-width:18ch; margin-inline:auto; }
.afg-cta__cta{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:34px; }

/* ============================================================
   CONTACT
   ============================================================ */
.afg-contact__grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(40px,6vw,80px); }
.afg-contact__info{ display:grid; gap:6px; align-content:start; }
.afg-cinfo{ display:flex; gap:18px; padding:24px 0; border-bottom:1px solid var(--line); }
.afg-cinfo:first-of-type{ border-top:1px solid var(--line); }
.afg-cinfo svg{ width:22px; height:22px; color:var(--gold); flex:none; margin-top:3px; }
.afg-cinfo h5{ font-family:var(--f-sans); font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--text-3); margin:0 0 5px; font-weight:500; }
.afg-ar .afg-cinfo h5{ letter-spacing:0; font-size:14px; }
.afg-cinfo p{ margin:0; color:var(--text); font-size:1.05rem; }
.afg-cinfo a{ color:var(--text); }
.afg-cinfo a:hover{ color:var(--gold); }

.afg-form{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.afg-field{ display:flex; flex-direction:column; gap:8px; }
.afg-field--full{ grid-column:1/-1; }
.afg-field label{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3); }
.afg-ar .afg-field label{ letter-spacing:0; font-size:14px; }
.afg-field input, .afg-field textarea, .afg-field select{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  color:var(--text); font-family:var(--f-sans); font-size:16px; padding:15px 17px; width:100%;
  transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.afg-field textarea{ min-height:140px; resize:vertical; }
.afg-field input:focus, .afg-field textarea:focus, .afg-field select:focus{ outline:none; border-color:var(--gold); background:var(--surface-2); }
.afg-field input::placeholder, .afg-field textarea::placeholder{ color:var(--text-3); }
.afg-form__note{ grid-column:1/-1; font-size:13px; color:var(--text-3); margin:0; }

/* ============================================================
   FOOTER
   ============================================================ */
.afg-footer{ background:var(--bg-2); border-top:1px solid var(--line); padding-top:clamp(60px,7vw,100px); }
.afg-footer__top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:48px; padding-bottom:60px; }
.afg-footer__about p{ font-size:.97rem; max-width:38ch; margin-top:22px; }
.afg-footer h6{ font-family:var(--f-sans); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:0 0 22px; font-weight:500; }
.afg-ar .afg-footer h6{ letter-spacing:.05em; font-size:14px; }
.afg-footer ul{ list-style:none; margin:0; padding:0; display:grid; gap:13px; }
.afg-footer ul a{ color:var(--text-2); font-size:.97rem; }
.afg-footer ul a:hover{ color:var(--gold); padding-inline-start:6px; }
.afg-social{ display:flex; gap:12px; margin-top:24px; }
.afg-social a{ width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--text-2); transition:.25s var(--ease); }
.afg-social a:hover{ background:var(--gold-grad); color:var(--bg); border-color:transparent; transform:translateY(-3px); }
.afg-social svg{ width:17px; height:17px; }
.afg-footer__bottom{ border-top:1px solid var(--line); padding-block:26px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.afg-footer__bottom p{ margin:0; font-size:13px; color:var(--text-3); }
.afg-footer__bottom .afg-brand__mono{ font-size:22px; }

/* ============================================================
   PAGE HEADER (inner pages)
   ============================================================ */
.afg-page-head{ position:relative; padding-top:calc(var(--header-h) + clamp(60px,7vw,110px)); padding-bottom:clamp(50px,6vw,90px); overflow:hidden; isolation:isolate; }
.afg-page-head__bg{ position:absolute; inset:0; z-index:-1;
  background:radial-gradient(90% 140% at 70% 0,rgba(197,165,114,.12),transparent 55%), var(--bg-2); }
.afg-page-head__bg::after{ content:""; position:absolute; inset:0; box-shadow:inset 0 -1px 0 var(--line); }
.afg-breadcrumb{ font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3); margin-top:16px; }
.afg-ar .afg-breadcrumb{ letter-spacing:0; font-size:14px; }
.afg-breadcrumb a:hover{ color:var(--gold); }
.afg-breadcrumb span{ color:var(--gold); }

/* ============================================================
   SINGLE PROJECT
   ============================================================ */
.afg-proj-hero{ position:relative; height:72svh; min-height:480px; isolation:isolate; display:flex; align-items:flex-end; padding-bottom:clamp(40px,5vw,72px); padding-top:var(--header-h); overflow:hidden; }
.afg-proj-hero__bg{ position:absolute; inset:0; z-index:-1; }
.afg-proj-hero__bg img{ width:100%; height:100%; object-fit:cover; }
.afg-proj-hero__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,20,34,.4),rgba(8,20,34,.92)); }
.afg-proj-hero h1{ font-size:clamp(2.4rem,5vw,4.2rem); }
.afg-proj-layout{ display:grid; grid-template-columns:1fr 360px; gap:clamp(40px,5vw,72px); align-items:start; }
.afg-proj-specs{ position:sticky; top:calc(var(--header-h) + 24px); background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); padding:34px; }
.afg-proj-specs h3{ font-size:1.4rem; margin-bottom:22px; }
.afg-spec{ display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); font-size:.97rem; }
.afg-spec:last-of-type{ border-bottom:0; }
.afg-spec span{ color:var(--text-3); } .afg-spec b{ color:var(--gold-light); font-weight:500; }
.afg-gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:40px; }
.afg-gallery img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius); border:1px solid var(--line); }

/* ============================================================
   POSTS / GENERIC CONTENT
   ============================================================ */
.afg-content{ max-width:760px; }
.afg-content h2{ font-size:2rem; margin-top:1.6em; }
.afg-content h3{ font-size:1.5rem; margin-top:1.4em; }
.afg-content img{ border-radius:var(--radius); margin-block:1.5em; }
.afg-content blockquote{ border-inline-start:2px solid var(--gold); margin:1.5em 0; padding-inline-start:26px; font-family:var(--f-serif); font-size:1.4rem; color:var(--text); font-style:italic; }
.afg-content a{ color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.afg-content ul, .afg-content ol{ color:var(--text-2); padding-inline-start:22px; }
.afg-content li{ margin-bottom:.6em; }

/* ============================================================
   REVEAL ANIMATIONS
   ============================================================ */
.afg-reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.afg-reveal.is-in{ opacity:1; transform:none; }
.afg-reveal[data-delay="1"]{ transition-delay:.08s; }
.afg-reveal[data-delay="2"]{ transition-delay:.16s; }
.afg-reveal[data-delay="3"]{ transition-delay:.24s; }
@media (prefers-reduced-motion: reduce){ .afg-reveal{ opacity:1; transform:none; transition:none; } }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .afg-services__grid{ grid-template-columns:repeat(2,1fr); }
  .afg-values__grid{ grid-template-columns:repeat(2,1fr); }
  .afg-grid{ grid-template-columns:repeat(2,1fr); }
  .afg-stats__grid{ grid-template-columns:repeat(2,1fr); gap:48px 30px; }
  .afg-hero__stats-grid{ grid-template-columns:repeat(2,1fr); }
  .afg-hstat:nth-child(-n+2){ border-block-end:1px solid var(--line); }
  .afg-hstat:nth-child(3){ border-inline-start:0; }
  .afg-proj-layout{ grid-template-columns:1fr; }
  .afg-proj-specs{ position:static; }
  .afg-footer__top{ grid-template-columns:1fr 1fr; gap:40px; }
}
@media (max-width:860px){
  :root{ --header-h:72px; }
  .afg-nav{ position:fixed; inset:0; z-index:999; flex-direction:column; justify-content:center; gap:30px;
    background:rgba(8,20,34,.97); backdrop-filter:blur(16px); transform:translateX(100%);
    transition:transform .4s var(--ease); }
  html[dir="rtl"] .afg-nav{ transform:translateX(-100%); }
  body.afg-lock .afg-nav{ transform:none; }
  .afg-nav__menu{ flex-direction:column; text-align:center; gap:8px; }
  .afg-nav__menu a{ font-size:1.4rem; }
  .afg-burger{ display:block; z-index:1001; }
  .afg-header__actions .afg-lang{ z-index:1001; }
  .afg-intro{ grid-template-columns:1fr; }
  .afg-intro__media{ max-width:440px; }
  .afg-contact__grid{ grid-template-columns:1fr; }
  .afg-scroll-cue{ display:none; }
}
@media (max-width:600px){
  body{ font-size:16px; }
  .afg-services__grid, .afg-values__grid, .afg-grid{ grid-template-columns:1fr; }
  .afg-stats__grid{ grid-template-columns:1fr 1fr; }
  .afg-form{ grid-template-columns:1fr; }
  .afg-footer__top{ grid-template-columns:1fr; }
  .afg-intro__media .badge{ inset-inline-end:14px; }
  .afg-hero__cta .afg-btn{ flex:1 1 auto; }
}
