/* ============================================================
   TALA GHANEM LEGAL CONSULTANCY — luxury black & gold
   ============================================================ */
:root{
  --ink:        #0a0908;
  --ink-1:      #0e0d0b;
  --ink-2:      #14120f;
  --ink-3:      #1c1813;
  --line:       rgba(201,162,75,.22);
  --line-soft:  rgba(212,196,168,.10);

  --gold:       #C9A24B;
  --gold-soft:  #E2C485;
  --gold-deep:  #9A6E2E;
  --grad-gold:  linear-gradient(135deg,#9A6E2E 0%,#C9A24B 28%,#F0D596 52%,#C9A24B 74%,#8A5F25 100%);
  --grad-line:  linear-gradient(90deg,transparent,#C9A24B 18%,#F0D596 50%,#C9A24B 82%,transparent);

  --cream:      #F4EFE6;
  --text:       #BDB6A8;
  --text-dim:   #8C8474;

  --serif:      'Cormorant Garamond', Georgia, serif;
  --trajan:     'Cinzel', 'Cormorant Garamond', serif;
  --sans:       'Jost', -apple-system, system-ui, sans-serif;

  --maxw: 1280px;
  --pad: clamp(20px, 5vw, 80px);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--sans);
  background:var(--ink);
  color:var(--text);
  font-weight:300;
  line-height:1.75;
  letter-spacing:.01em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:rgba(201,162,75,.28); color:#fff; }

/* ---------- shared text helpers ---------- */
.gold-text{
  background:var(--grad-gold);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.eyebrow{
  font-family:var(--sans);
  font-weight:400;
  font-size:clamp(.66rem,1.1vw,.78rem);
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold);
}
.serif-head{
  font-family:var(--trajan);
  color:var(--cream);
  font-weight:600;
  line-height:1.08;
  letter-spacing:.04em;
}
.body-lg{ font-size:clamp(1rem,1.25vw,1.15rem); color:var(--text); }

/* diamond rule */
.drule{ display:flex; align-items:center; gap:14px; }
.drule::before,.drule::after{ content:''; height:1px; flex:1 1 auto; background:var(--grad-line); opacity:.55; }
.drule i{ width:7px; height:7px; transform:rotate(45deg); background:var(--grad-gold); flex:0 0 auto; box-shadow:0 0 10px rgba(201,162,75,.5); }
.drule.left::before{ display:none; }
.drule.left{ justify-content:flex-start; }
.drule.left::after{ max-width:120px; }

/* reveal */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity 1s cubic-bezier(.16,.7,.3,1), transform 1s cubic-bezier(.16,.7,.3,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.1s; } .reveal.d2{ transition-delay:.2s; }
.reveal.d3{ transition-delay:.3s; } .reveal.d4{ transition-delay:.4s; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } }
@media print{ .reveal{ opacity:1 !important; transform:none !important; } }

/* section frame */
.section{ position:relative; padding:clamp(70px,9vw,140px) 0; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); }

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px var(--pad);
  transition:background .5s ease, padding .5s ease, border-color .5s ease, backdrop-filter .5s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(8,7,6,.82);
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  padding:12px var(--pad);
  border-bottom:1px solid var(--line);
}
.brand{ display:flex; align-items:center; gap:13px; }
.brand img{ height:42px; width:auto; transition:height .5s ease; filter:drop-shadow(0 2px 8px rgba(0,0,0,.6)); }
.nav.scrolled .brand img{ height:34px; }
.brand .bt{ line-height:1.05; }
.brand .bt b{ display:block; font-family:var(--trajan); font-weight:600; font-size:.92rem; letter-spacing:.22em; color:var(--cream); }
.brand .bt span{ display:block; font-size:.56rem; letter-spacing:.36em; color:var(--gold); text-transform:uppercase; margin-top:3px; }

.nav-links{ display:flex; align-items:center; gap:34px; }
.nav-links a{
  font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--text);
  position:relative; padding:4px 0; transition:color .35s;
}
.nav-links a::after{ content:''; position:absolute; left:0; bottom:-2px; height:1px; width:0; background:var(--grad-gold); transition:width .4s ease; }
.nav-links a:hover{ color:var(--cream); }
.nav-links a:hover::after{ width:100%; }
.btn-gold{
  font-family:var(--sans); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase;
  color:#1a1206; background:var(--grad-gold);
  padding:13px 26px; border:none; cursor:pointer; border-radius:1px;
  transition:transform .35s ease, box-shadow .35s ease; box-shadow:0 6px 26px rgba(201,162,75,.22);
}
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 10px 34px rgba(201,162,75,.4); }
.btn-ghost{
  font-family:var(--sans); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold-soft); padding:12px 26px; border:1px solid var(--line); cursor:pointer; border-radius:1px;
  background:transparent; transition:border-color .35s, color .35s, background .35s;
}
.btn-ghost:hover{ border-color:var(--gold); color:var(--cream); background:rgba(201,162,75,.06); }

.burger{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; z-index:80; }
.burger span{ width:26px; height:1.5px; background:var(--gold-soft); transition:transform .4s, opacity .3s; }
.burger.open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

.mobile-menu{
  position:fixed; inset:0; z-index:70;
  background:linear-gradient(160deg,#0c0a08,#070605);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  opacity:0; pointer-events:none; transform:translateY(-12px); transition:opacity .5s, transform .5s;
}
.mobile-menu.open{ opacity:1; pointer-events:auto; transform:none; }
.mobile-menu a{ font-family:var(--trajan); font-size:1.6rem; letter-spacing:.14em; color:var(--cream); padding:10px; }
.mobile-menu a span{ color:var(--gold); }
.mobile-menu .mm-deco{ width:50px; height:50px; margin-bottom:18px; }
.mobile-menu .btn-gold{ margin-top:22px; }

/* ============================================================
   HERO — centered cinematic
   ============================================================ */
.hero{
  position:relative; min-height:100svh;
  display:flex; align-items:center; justify-content:center; text-align:center;
  background:var(--ink); overflow:hidden; isolation:isolate;
}
.hero__bg{
  position:absolute; inset:0; z-index:-2;
  background:
    radial-gradient(58% 50% at 50% 34%, rgba(201,162,75,.15), transparent 62%),
    radial-gradient(120% 80% at 50% 120%, rgba(154,110,46,.12), transparent 58%),
    linear-gradient(180deg,#130f0a 0%,#0a0908 50%,#060504 100%);
}
.hero__bg::after{
  content:''; position:absolute; inset:0;
  box-shadow:inset 0 0 220px 70px rgba(0,0,0,.62);
}
/* CSS art-deco gold column motif (brand) — no raster */
.hero__beams{
  position:absolute; left:0; top:0; bottom:0; width:min(44%,580px); z-index:-1; pointer-events:none;
  background:repeating-linear-gradient(90deg, transparent 0 46px, rgba(201,162,75,.20) 46px 47px);
  -webkit-mask:linear-gradient(90deg,#000 0%, rgba(0,0,0,.55) 36%, transparent 90%);
  mask:linear-gradient(90deg,#000 0%, rgba(0,0,0,.55) 36%, transparent 90%);
}
.hero__beams::after{
  content:''; position:absolute; inset:0;
  background:radial-gradient(46% 60% at 8% 50%, rgba(201,162,75,.18), transparent 70%);
  -webkit-mask:linear-gradient(180deg, transparent, #000 28%, #000 72%, transparent);
  mask:linear-gradient(180deg, transparent, #000 28%, #000 72%, transparent);
}
/* refined inset frame + corner ornaments */
.hero__frame{ position:absolute; top:clamp(106px,13vh,134px); left:clamp(16px,2.4vw,34px); right:clamp(16px,2.4vw,34px); bottom:clamp(16px,2.4vw,34px); border:1px solid var(--line); z-index:1; pointer-events:none; }
.hero__frame::before,.hero__frame::after{ content:''; position:absolute; width:9px; height:9px; transform:rotate(45deg); background:var(--grad-gold); box-shadow:0 0 12px rgba(201,162,75,.5); }
.hero__frame::before{ top:-5px; left:-5px; }
.hero__frame::after{ bottom:-5px; right:-5px; }
.hero__inner{ position:relative; z-index:2; padding:140px var(--pad) 120px; max-width:920px; }
.hero .eyebrow{ display:block; }
.hero h1{
  font-family:var(--trajan); font-weight:600; color:var(--cream);
  font-size:clamp(3rem,8.5vw,6.6rem); line-height:1.0; letter-spacing:.06em; margin-top:0;
  text-wrap:balance;
}
.hero h1 .sub{
  display:block; font-size:clamp(.92rem,2.4vw,1.7rem); letter-spacing:.5em; font-weight:500;
  margin-top:22px; padding-left:.5em;
}
.hero .hdiv{ max-width:300px; margin:34px auto 30px; }
.hero .tagline{
  font-family:var(--serif); font-style:italic; font-size:clamp(1.2rem,2.4vw,1.85rem);
  color:var(--text); margin:0 auto; max-width:30ch; line-height:1.5;
}
.hero .tagline em{ color:var(--gold-soft); font-style:italic; }
.hero .hero-meta{ display:flex; flex-wrap:wrap; gap:16px; margin-top:42px; justify-content:center; }
.scroll-cue{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:5;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  font-size:.6rem; letter-spacing:.34em; text-transform:uppercase; color:var(--text-dim);
}
.scroll-cue .ln{ width:1px; height:46px; background:linear-gradient(var(--gold),transparent); animation:cue 2.4s ease-in-out infinite; transform-origin:top; }
@keyframes cue{ 0%,100%{ transform:scaleY(.4); opacity:.4; } 50%{ transform:scaleY(1); opacity:1; } }

/* ============================================================
   SPLIT (about / values / why)  image + text
   ============================================================ */
.split{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.split.rev{ direction:rtl; }
.split.rev > *{ direction:ltr; }
.split__media{ position:relative; min-height:560px; overflow:hidden; }
.split__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.04); transition:transform 1.4s ease; }
.split:hover .split__media img{ transform:scale(1); }
.split__media::after{ content:''; position:absolute; inset:0; background:linear-gradient(120deg,transparent 55%,rgba(10,9,8,.72)); }
.split__media::before{ content:''; position:absolute; inset:clamp(16px,2.2vw,30px); border:1px solid rgba(212,196,168,.32); z-index:3; pointer-events:none; }
.split__media .crn{ position:absolute; width:30px; height:30px; border:1.5px solid var(--gold); z-index:4; }
.split__media .crn.tl{ top:clamp(10px,1.6vw,22px); left:clamp(10px,1.6vw,22px); border-right:0; border-bottom:0; }
.split__media .crn.br{ bottom:clamp(10px,1.6vw,22px); right:clamp(10px,1.6vw,22px); border-left:0; border-top:0; }
.split__body{ padding:clamp(48px,7vw,110px) var(--pad); display:flex; flex-direction:column; justify-content:center; background:var(--ink-1); }
.split__body.marble{ background:var(--ink); position:relative; }

.about h2{ font-size:clamp(2.6rem,5.5vw,4.6rem); }
.about p{ margin-top:24px; max-width:42ch; }
.about p strong{ color:var(--gold-soft); font-weight:400; }
.portrait-media{ min-height:600px; }
.portrait-media img{ object-position:55% 10%; }
.portrait-media::after{ background:linear-gradient(0deg,rgba(8,7,6,.97) 4%,rgba(8,7,6,.55) 28%,transparent 58%); }
.founder-tag{ position:absolute; left:0; right:0; bottom:0; z-index:4; text-align:center; padding:0 20px 34px; }
.founder-tag .ln{ width:44px; height:1px; background:var(--grad-gold); margin:0 auto 14px; }
.founder-tag b{ display:block; font-family:var(--trajan); font-weight:600; color:var(--cream); font-size:clamp(1.15rem,2vw,1.5rem); letter-spacing:.14em; text-shadow:0 2px 14px rgba(0,0,0,.7); }
.founder-tag span:last-child{ display:block; margin-top:8px; font-size:.66rem; letter-spacing:.34em; text-transform:uppercase; color:var(--gold-soft); text-shadow:0 2px 10px rgba(0,0,0,.7); }

/* ============================================================
   ACHIEVEMENTS
   ============================================================ */
.ach{ background:linear-gradient(180deg,#0c0a08,#0a0908 60%,#070605); position:relative; }
.ach::before{ content:''; position:absolute; inset:0; background:radial-gradient(60% 46% at 50% -4%, rgba(201,162,75,.10), transparent 60%), radial-gradient(50% 40% at 50% 104%, rgba(154,110,46,.07), transparent 62%); }
.ach .wrap{ position:relative; z-index:2; }
.ach__head{ text-align:center; margin-bottom:clamp(48px,7vw,80px); }
.ach__head h2{ font-size:clamp(2.2rem,5.5vw,4.4rem); }
.ach__head .drule{ max-width:340px; margin:22px auto 0; }
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.stat{ background:var(--ink-1); padding:clamp(30px,4vw,56px) 24px; text-align:center; transition:background .5s; }
.stat:hover{ background:var(--ink-2); }
.stat .num{ font-family:var(--serif); font-weight:600; line-height:1; font-size:clamp(2.8rem,5.5vw,4.6rem); letter-spacing:.01em; }
.stat .num .pre{ font-size:.46em; vertical-align:.55em; letter-spacing:.04em; margin-right:.12em; }
.stat .num .suf{ font-size:.5em; vertical-align:.35em; }
.stat .lbl{ margin-top:14px; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text-dim); line-height:1.6; }
.ach__foot{ margin-top:clamp(34px,4vw,52px); text-align:center; font-family:var(--serif); font-style:italic; font-size:clamp(1.05rem,1.8vw,1.4rem); color:var(--text); max-width:60ch; margin-inline:auto; }

/* ============================================================
   SERVICES
   ============================================================ */
.services{ background:var(--ink-1); }
.services .wrap{ display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(40px,6vw,90px); align-items:start; }
.svc-aside{ position:sticky; top:110px; }
.svc-aside .pic{ position:relative; overflow:hidden; border:1px solid var(--line); }
.svc-aside .pic img{ width:100%; aspect-ratio:3/4; object-fit:cover; }
.svc-aside .pic::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,9,8,.85),transparent 55%); }
.svc-aside .cap{ position:absolute; left:24px; right:24px; bottom:24px; z-index:2; }
.svc-aside .cap p{ font-family:var(--serif); font-style:italic; font-size:1.25rem; color:var(--cream); }
.svc-head{ margin-bottom:30px; }
.svc-head h2{ font-size:clamp(2.2rem,5vw,4rem); }
.svc-head p{ margin-top:18px; max-width:46ch; }
.svc-list{ list-style:none; }
.svc{
  display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:start;
  padding:26px 0; border-bottom:1px solid var(--line-soft); cursor:default;
  transition:padding-left .4s ease;
}
.svc:hover{ padding-left:12px; }
.svc .mk{ width:9px; height:9px; transform:rotate(45deg); background:var(--grad-gold); margin-top:12px; box-shadow:0 0 12px rgba(201,162,75,.4); transition:transform .5s; }
.svc:hover .mk{ transform:rotate(135deg) scale(1.15); }
.svc h3{ font-family:var(--trajan); font-weight:600; color:var(--gold-soft); font-size:clamp(1.02rem,1.7vw,1.34rem); letter-spacing:.06em; transition:color .4s; }
.svc:hover h3{ color:var(--cream); }
.svc p{ margin-top:9px; font-size:.96rem; max-width:54ch; }

/* values timeline */
.values .vlist{ list-style:none; position:relative; margin-top:8px; }
.values .vlist::before{ content:''; position:absolute; left:4px; top:8px; bottom:8px; width:1px; background:linear-gradient(var(--gold),rgba(201,162,75,.05)); }
.vrow{ position:relative; padding:0 0 34px 38px; }
.vrow:last-child{ padding-bottom:0; }
.vrow::before{ content:''; position:absolute; left:0; top:7px; width:9px; height:9px; transform:rotate(45deg); background:var(--grad-gold); box-shadow:0 0 12px rgba(201,162,75,.5); }
.vrow h3{ font-family:var(--trajan); font-weight:600; color:var(--gold-soft); font-size:clamp(1.1rem,1.9vw,1.5rem); letter-spacing:.05em; }
.vrow p{ margin-top:6px; max-width:40ch; }

/* why choose */
.why .wlist{ list-style:none; counter-reset:w; }
.wrow{ display:grid; grid-template-columns:auto 1fr; gap:26px; padding:28px 0; border-bottom:1px solid var(--line-soft); align-items:start; }
.wrow:last-child{ border-bottom:none; }
.wrow .no{ font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,4vw,3.3rem); line-height:.9; }
.wrow h3{ font-family:var(--trajan); font-weight:600; color:var(--gold-soft); font-size:clamp(1rem,1.6vw,1.28rem); letter-spacing:.07em; }
.wrow p{ margin-top:8px; max-width:48ch; }
.why .stamp{ margin-top:38px; text-align:center; font-family:var(--trajan); font-size:clamp(.7rem,1.3vw,.92rem); letter-spacing:.28em; color:var(--gold-soft); padding:18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

/* ============================================================
   CONTACT
   ============================================================ */
.contact{ background:linear-gradient(180deg,#0a0908,#0d0a07); position:relative; overflow:hidden; }
.contact::before{ content:''; position:absolute; inset:0; background:repeating-linear-gradient(90deg, transparent 0 58px, rgba(201,162,75,.05) 58px 59px); -webkit-mask:linear-gradient(90deg, transparent, #000 60%, transparent); mask:linear-gradient(90deg, transparent, #000 60%, transparent); }
.contact::after{ content:''; position:absolute; left:-12%; top:-34%; width:60%; height:92%; background:radial-gradient(circle, rgba(201,162,75,.12), transparent 68%); }
.contact .wrap{ position:relative; z-index:2; max-width:1180px; text-align:center; }
.contact-head{ max-width:660px; margin:0 auto; }
.contact h2{ font-size:clamp(2.4rem,5.5vw,4.4rem); }
.contact .lead{ margin:22px auto 0; font-family:var(--serif); font-style:italic; font-size:clamp(1.1rem,1.9vw,1.45rem); color:var(--text); max-width:42ch; }
.contact-cta{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin-top:38px; }
.contact .clist{ list-style:none; margin:clamp(50px,6vw,76px) auto 0; display:inline-grid; grid-template-columns:repeat(2,auto); justify-content:center; gap:30px clamp(44px,6vw,84px); text-align:left; }
.contact .clist li{ display:flex; align-items:center; gap:15px; }
.contact .clist .ic{ width:46px; height:46px; flex:0 0 auto; display:grid; place-items:center; border:1px solid var(--line); color:var(--gold); }
.contact .clist .ic svg{ width:19px; height:19px; }
.contact .clist .v small{ display:block; font-size:.64rem; letter-spacing:.3em; text-transform:uppercase; color:var(--text-dim); margin-bottom:3px; }
.contact .clist .v a,.contact .clist .v span{ font-size:1.04rem; color:var(--cream); letter-spacing:.02em; transition:color .35s; }
.contact .clist .v a:hover{ color:var(--gold-soft); }
.btn-wa{ display:inline-flex; align-items:center; justify-content:center; gap:11px; }
.btn-wa svg{ width:18px; height:18px; flex:0 0 auto; }

.form{ background:linear-gradient(160deg,rgba(28,24,19,.7),rgba(14,13,11,.85)); border:1px solid var(--line); padding:clamp(30px,4vw,46px); backdrop-filter:blur(4px); }
.form .fh{ font-family:var(--trajan); font-weight:600; color:var(--cream); font-size:1.3rem; letter-spacing:.06em; margin-bottom:6px; }
.form .fs{ font-size:.86rem; color:var(--text-dim); margin-bottom:26px; }
.field{ position:relative; margin-bottom:22px; }
.field input,.field textarea,.field select{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--line);
  color:var(--cream); font-family:var(--sans); font-size:.96rem; font-weight:300; padding:12px 2px; letter-spacing:.02em;
  transition:border-color .4s;
}
.field textarea{ resize:none; min-height:84px; }
.field select{ cursor:pointer; }
.field select option{ background:#14120f; color:var(--cream); }
.field input:focus,.field textarea:focus,.field select:focus{ outline:none; border-bottom-color:var(--gold); }
.field label{
  position:absolute; left:2px; top:12px; color:var(--text-dim); font-size:.96rem; pointer-events:none; white-space:nowrap;
  transition:transform .35s ease, color .35s, font-size .35s; transform-origin:left;
}
.field input:focus + label,.field input.has + label,
.field textarea:focus + label,.field textarea.has + label{
  transform:translateY(-22px) scale(.78); color:var(--gold); letter-spacing:.12em; text-transform:uppercase;
}
.form .btn-gold{ width:100%; padding:16px; margin-top:6px; }
.form .btn-wa{ display:inline-flex; align-items:center; justify-content:center; gap:11px; }
.form .btn-wa svg{ width:19px; height:19px; flex:0 0 auto; }
.form .ok a{ color:var(--gold-soft); border-bottom:1px solid var(--line); }
.form .ok a:hover{ color:var(--cream); }
.form .ok{ display:none; text-align:center; padding:30px 10px; }
.form .ok.show{ display:block; }
.form .ok .d{ width:14px; height:14px; transform:rotate(45deg); background:var(--grad-gold); margin:0 auto 18px; }
.form .ok h4{ font-family:var(--trajan); color:var(--cream); font-size:1.3rem; letter-spacing:.05em; margin-bottom:8px; }

/* ============================================================
   FOOTER
   ============================================================ */
.footer{ background:var(--ink-1); border-top:1px solid var(--line); padding:clamp(56px,7vw,84px) 0 30px; }
.footer .wrap{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; }
.footer .fbrand img{ height:74px; margin-bottom:18px; }
.footer .fbrand p{ font-family:var(--serif); font-style:italic; color:var(--text-dim); max-width:30ch; }
.footer h5{ font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.footer ul{ list-style:none; display:flex; flex-direction:column; gap:11px; }
.footer ul a,.footer ul li{ font-size:.92rem; color:var(--text); transition:color .35s; }
.footer ul a:hover{ color:var(--gold-soft); }
.footer .fcontact li{ display:flex; align-items:center; gap:13px; }
.footer .fcontact .fic{ width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border:1px solid var(--line); color:var(--gold); transition:border-color .35s, color .35s; }
.footer .fcontact .fic svg{ width:15px; height:15px; }
.footer .fcontact li:hover .fic{ border-color:var(--gold); color:var(--gold-soft); }
.footer .fbot{ max-width:var(--maxw); margin:clamp(40px,5vw,64px) auto 0; padding:24px var(--pad) 0; border-top:1px solid var(--line-soft); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.74rem; letter-spacing:.14em; color:var(--text-dim); text-transform:uppercase; }

/* ============================================================
   WHATSAPP FLOAT
   ============================================================ */
.wa-float{
  position:fixed; right:clamp(16px,3vw,32px); bottom:clamp(16px,3vw,32px); z-index:55;
  width:58px; height:58px; border-radius:50%; display:grid; place-items:center;
  background:var(--grad-gold); color:#0c0a06; box-shadow:0 12px 34px rgba(201,162,75,.34);
  transition:transform .35s ease, box-shadow .35s ease;
}
.wa-float::after{ content:''; position:absolute; inset:0; border-radius:50%; border:1px solid rgba(244,239,230,.35); }
.wa-float:hover{ transform:translateY(-3px) scale(1.05); box-shadow:0 18px 44px rgba(201,162,75,.5); }
.wa-float svg{ width:31px; height:31px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .services .wrap{ grid-template-columns:1fr; }
  .svc-aside{ position:static; max-width:420px; }
  .footer .wrap{ grid-template-columns:1fr 1fr; }
  .footer .fbrand{ grid-column:1/-1; }
}
@media (max-width:880px){
  .nav-links,.nav .btn-gold.navcta{ display:none; }
  .burger{ display:flex; }

  .hero{ grid-template-columns:1fr; min-height:auto; }
  .hero__inner{ padding:130px var(--pad) 100px; }
  .hero__city{ width:60%; opacity:.5; }
  .hero__text{ padding:40px var(--pad) 60px; text-align:left; }
  .hero__text .mono{ margin-bottom:22px; }
  .scroll-cue{ display:none; }

  .split{ grid-template-columns:1fr; }
  .split.rev{ direction:ltr; }
  .split__media{ min-height:42vh; }
  .about .split__media{ order:-1; }

  .contact .wrap{ grid-template-columns:1fr; }
  .contact .clist{ grid-template-columns:1fr; justify-items:start; max-width:340px; }
  .stats{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .stats{ grid-template-columns:1fr 1fr; }
  .footer .wrap{ grid-template-columns:1fr; gap:34px; }
  .hero .hero-meta .btn-ghost{ display:none; }
}
