/* ═══════════════════════════════════════════════════════
   ISLAM ZAFAR — EDITORIAL DARK LUXURY
   Shared foundation
   ═══════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  /* Palette — Editorial Light Olive
     Contrast rule: --gold (#6C7A3A) = 4.3:1 on --bg. Allowed for headings ≥18px,
     buttons w/ white text, icons, borders, numerals. For text under 18px, use
     --beige (#5F6C30) = 5.2:1 on --bg. Variable names retained for continuity. */
  --bg:#F7F6F1;           /* offwhite page */
  --bg2:#F2F1EA;          /* slightly deeper section fill (Process) */
  --card:#FFFFFF;         /* raised card surface */
  --card2:#FAF9F3;        /* warmer card variant */

  --text:#14140F;         /* body text — 17.1:1 on --bg */
  --text2:#5C5D53;        /* secondary muted — 6.1:1 on --bg */
  --muted:#5C5D53;        /* alias per spec */

  --gold:#6C7A3A;         /* olive accent — use for headings, buttons, borders, icons */
  --beige:#5F6C30;        /* darker olive — safe for text under 18px */
  --gold-soft:rgba(108,122,58,.10);
  --gold-line:rgba(108,122,58,.35);

  --border:#EEF0E4;                     /* subtle divider */
  --border-strong:rgba(92,93,83,.20);   /* stronger definition */

  /* Motion tokens */
  --ease-out-q:cubic-bezier(.165,.84,.44,1);
  --ease-out-quint:cubic-bezier(.22,1,.36,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
  --dur-xs:120ms;
  --dur-sm:220ms;
  --dur-md:360ms;
  --dur-lg:620ms;
  --dur-xl:900ms;
}
html{scroll-behavior:smooth;background:var(--bg);color-scheme:light;}
body{
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
  font-feature-settings:"ss01","cv11";
  background:var(--bg);color:var(--text);line-height:1.55;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--gold);color:#FFF;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}

:where(a,button,summary,input,textarea,[tabindex]):focus-visible{
  outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--gold);border-radius:8px;
}

/* Typography helpers */
.serif{font-family:'Montserrat',sans-serif;font-weight:400;font-style:normal;letter-spacing:-.02em;}
.serif-i{font-family:'Montserrat',sans-serif;font-style:italic;font-weight:400;letter-spacing:-.01em;}

/* ── PRELOADER ── */
#preload{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:32px;transition:opacity .7s var(--ease-out-q),visibility .7s;}
#preload.done{opacity:0;visibility:hidden;pointer-events:none;}
.pre-mark{font-family:'Montserrat',sans-serif;font-weight:400;font-size:clamp(4rem,10vw,7rem);letter-spacing:-.04em;line-height:.9;color:var(--text);display:flex;gap:.04em;overflow:hidden;}
.pre-mark span{display:inline-block;animation:preMark 1s var(--spring) both;}
.pre-mark span:nth-child(2){animation-delay:.12s;font-style:italic;color:var(--beige);}
.pre-count{font-variant-numeric:tabular-nums;font-size:.75rem;color:var(--muted);letter-spacing:.24em;font-weight:500;text-transform:uppercase;}
.pre-bar{width:220px;height:1px;background:var(--border);position:relative;overflow:hidden;}
.pre-bar::after{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-100%);animation:preBar 1.6s var(--ease-out-q) forwards;}
@keyframes preMark{from{transform:translateY(100%);}to{transform:translateY(0);}}
@keyframes preBar{to{transform:translateX(0);}}
#curtain{position:fixed;inset:0;z-index:9998;background:var(--bg);transform-origin:bottom;pointer-events:none;}
#curtain.lift{animation:curtainUp 1.1s var(--ease-out-q) forwards;animation-delay:.15s;}
@keyframes curtainUp{from{transform:scaleY(1);}to{transform:scaleY(0);}}

/* ── NOISE ── */
.noise{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.025;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");}

/* ── CURSOR ── */
.cur-dot,.cur-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9000;border-radius:50%;transform:translate3d(-50%,-50%,0);}
.cur-dot{width:6px;height:6px;background:var(--gold);transition:transform .12s var(--ease-out-q),width .3s,height .3s,background .3s;}
.cur-ring{width:36px;height:36px;border:1px solid var(--text2);transition:transform .3s var(--ease-out-q),width .4s var(--ease-out-q),height .4s var(--ease-out-q),border-color .3s,background .3s;}
.cur-ring.hover{width:72px;height:72px;background:rgba(108,122,58,.08);border-color:var(--beige);}
.cur-dot.hover{width:12px;height:12px;background:var(--text);}
@media(hover:none),(pointer:coarse){.cur-dot,.cur-ring{display:none;}}

/* ── PROGRESS ── */
#prog{position:fixed;top:0;left:0;height:1.5px;background:linear-gradient(90deg,var(--gold),var(--beige));z-index:500;width:0%;box-shadow:0 0 12px rgba(108,122,58,.5);}

/* ── NAV ── */
nav.site-nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:20px 0;transition:padding var(--dur-md) var(--ease-out-q),background var(--dur-md);}
nav.site-nav.scrolled{padding:12px 0;background:rgba(247,246,241,.72);backdrop-filter:saturate(140%) blur(16px);-webkit-backdrop-filter:saturate(140%) blur(16px);border-bottom:1px solid var(--border);}
.nav-inner{max-width:1440px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.nav-logo{font-family:'Montserrat',sans-serif;font-size:1.4rem;letter-spacing:-.02em;color:var(--text);}
.nav-links{display:flex;gap:2px;list-style:none;align-items:center;}
.nav-links a{position:relative;color:var(--text2);font-size:.82rem;font-weight:500;letter-spacing:.02em;padding:10px 16px;border-radius:999px;transition:color var(--dur-sm),background var(--dur-sm);}
.nav-links a::after{content:'';position:absolute;left:16px;right:16px;bottom:6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-md) var(--ease-out-q);}
.nav-links a:hover{color:var(--text);}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}
.nav-links a.active{color:var(--text);}
.nav-cta{position:relative;overflow:hidden;background:var(--gold);color:#FFF;padding:11px 22px;border-radius:999px;font-size:.82rem;font-weight:600;letter-spacing:.02em;transition:transform var(--dur-sm) var(--spring),box-shadow var(--dur-sm);display:inline-flex;align-items:center;gap:10px;white-space:nowrap;}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(20,20,15,.35);}
.nav-cta::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-100%);transition:transform .7s var(--ease-out-q);}
.nav-cta:hover::before{transform:translateX(100%);}
.nav-cta-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;}
.nav-toggle{display:none;background:none;border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:10px;cursor:pointer;font-size:1rem;}

/* Mobile nav */
@media(max-width:960px){
  .nav-links{display:none;}
  .nav-links.open{display:flex;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(247,246,241,.98);backdrop-filter:blur(24px);padding:100px 40px 40px;gap:8px;justify-content:flex-start;align-items:stretch;z-index:150;}
  .nav-links.open a{padding:20px 24px;border-radius:14px;font-family:'Montserrat',sans-serif;font-size:2rem;letter-spacing:-.02em;text-align:left;}
  .nav-links.open a::after{display:none;}
  .nav-toggle{display:inline-flex;position:relative;z-index:210;}
  .nav-cta{display:none;}
}

/* ── LAYOUT ── */
.wrap{max-width:1440px;margin:0 auto;padding:0 40px;}
.wrap-narrow{max-width:1160px;margin:0 auto;padding:0 40px;}
main{position:relative;z-index:2;}

/* ── SECTION HEADER ── */
section{padding:140px 0;position:relative;z-index:2;}
.sec-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--beige);margin-bottom:24px;}
.sec-eyebrow::before{content:'';width:32px;height:1px;background:var(--gold);}
.sec-title{font-family:'Montserrat',sans-serif;font-weight:400;font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.025em;color:var(--text);margin-bottom:20px;}
.sec-title em{color:var(--gold);font-style:normal;}
.sec-sub{font-size:1.05rem;color:var(--text2);max-width:620px;line-height:1.7;margin-bottom:80px;font-weight:300;}

/* ── BUTTONS ── */
.btn-solid,.btn-ghost,.btn-gold{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:12px;font-size:.88rem;font-weight:600;letter-spacing:.02em;padding:16px 32px;border-radius:999px;transition:transform var(--dur-sm) var(--spring),box-shadow var(--dur-md),border-color var(--dur-sm),color var(--dur-sm),background var(--dur-sm);cursor:pointer;border:none;font-family:inherit;}
.btn-solid{background:var(--gold);color:#FFF;}
.btn-solid:hover{transform:translateY(-3px);box-shadow:0 20px 40px -12px rgba(20,20,15,.4);}
.btn-solid::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.5) 50%,transparent 65%);transform:translateX(-100%);transition:transform .8s var(--ease-out-q);}
.btn-solid:hover::before{transform:translateX(100%);}
.btn-gold{background:transparent;color:var(--beige);border:1px solid var(--gold);}
.btn-gold:hover{background:var(--gold);color:#FFF;transform:translateY(-3px);}
.btn-ghost{background:transparent;color:var(--beige);border:1px solid var(--gold);}
.btn-ghost:hover{border-color:var(--beige);color:var(--beige);transform:translateY(-3px);background:var(--gold-soft);}
.btn-arrow{transition:transform var(--dur-sm) var(--ease-out-q);}
.btn-solid:hover .btn-arrow,.btn-ghost:hover .btn-arrow,.btn-gold:hover .btn-arrow{transform:translateX(5px);}

/* ── STATUS PILL ── */
.status-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.6);backdrop-filter:blur(8px);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text2);font-weight:500;}
.status-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 0 rgba(108,122,58,.7);animation:pillPulse 2.4s var(--ease-out-q) infinite;}
@keyframes pillPulse{0%{box-shadow:0 0 0 0 rgba(108,122,58,.55);}70%{box-shadow:0 0 0 12px rgba(108,122,58,0);}100%{box-shadow:0 0 0 0 rgba(108,122,58,0);}}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .85s var(--ease-out-quint),transform .85s var(--ease-out-quint);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-l{opacity:0;transform:translateX(-48px);transition:opacity .85s var(--ease-out-quint),transform .85s var(--ease-out-quint);}
.reveal-l.in{opacity:1;transform:translateX(0);}
.reveal-r{opacity:0;transform:translateX(48px);transition:opacity .85s var(--ease-out-quint),transform .85s var(--ease-out-quint);}
.reveal-r.in{opacity:1;transform:translateX(0);}
.reveal-clip{overflow:hidden;padding:.15em 0;}
.reveal-clip>*{transform:translateY(110%);transition:transform 1s var(--ease-out-quint);}
.reveal-clip.in>*{transform:translateY(0);}

/* ── MARQUEE ── */
.marquee{position:relative;padding:36px 0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#F7F6F1 8%,#F7F6F1 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#F7F6F1 8%,#F7F6F1 92%,transparent);}
.marquee-track{display:flex;gap:64px;white-space:nowrap;animation:marquee 44s linear infinite;width:max-content;align-items:center;}
.marquee-track:hover{animation-play-state:paused;}
@keyframes marquee{to{transform:translateX(-50%);}}

/* ── TAGS ── */
.tag{font-size:.72rem;font-weight:500;color:var(--text2);background:transparent;border:1px solid var(--border);padding:6px 14px;border-radius:999px;transition:transform var(--dur-sm) var(--spring),border-color var(--dur-sm),color var(--dur-sm),background var(--dur-sm);display:inline-block;letter-spacing:.02em;}
.tag:hover{border-color:var(--beige);color:var(--beige);transform:translateY(-2px);}

/* ── FOOTER ── */
footer.site-footer{padding:0;border-top:1px solid var(--border);background:var(--bg);overflow:hidden;position:relative;z-index:2;}
.foot-hero{padding:120px 40px 80px;text-align:center;max-width:1440px;margin:0 auto;}
.foot-hero-headline{font-family:'Montserrat',sans-serif;font-size:clamp(3rem,8vw,7rem);line-height:.95;letter-spacing:-.03em;color:var(--text);}
.foot-hero-headline em{color:var(--gold);font-style:normal;}
.foot-hero-arrow{margin-top:32px;display:inline-flex;align-items:center;gap:10px;color:var(--text2);font-size:.85rem;font-weight:500;letter-spacing:.06em;transition:color var(--dur-sm),transform var(--dur-sm) var(--ease-out-q);}
.foot-hero-arrow:hover{color:var(--beige);transform:translateY(-3px);}

.foot-grid{border-top:1px solid var(--border);padding:60px 0 40px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:64px;}
.foot-brand{max-width:360px;}
.foot-brand-name{font-family:'Montserrat',sans-serif;font-size:1.6rem;letter-spacing:-.02em;margin-bottom:14px;}
.foot-brand-desc{color:var(--muted);font-size:.9rem;line-height:1.7;}
.foot-col h4{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--beige);margin-bottom:20px;}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:14px;}
.foot-col a{color:var(--text2);font-size:.9rem;transition:color var(--dur-sm),transform var(--dur-sm) var(--ease-out-q);display:inline-flex;align-items:center;gap:6px;}
.foot-col a:hover{color:var(--beige);transform:translateX(4px);}

.foot-bottom{border-top:1px solid var(--border);padding:28px 0;}
.foot-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.78rem;color:var(--muted);letter-spacing:.02em;}
.foot-clock{display:inline-flex;align-items:center;gap:8px;}
.foot-clock-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:pillPulse 2.4s var(--ease-out-q) infinite;}
.foot-to-top{display:inline-flex;align-items:center;gap:8px;color:var(--text2);font-weight:500;transition:color var(--dur-sm),transform var(--dur-sm) var(--ease-out-q);}
.foot-to-top:hover{color:var(--beige);transform:translateY(-3px);}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:48px;}
}
@media(max-width:768px){
  section{padding:96px 0;}
  .wrap,.wrap-narrow,.nav-inner{padding-left:24px;padding-right:24px;}
  .foot-hero{padding:80px 24px 60px;}
  .foot-grid{grid-template-columns:1fr;gap:40px;padding:48px 0 32px;}
  .foot-bottom-inner{justify-content:center;text-align:center;}
}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
  .reveal,.reveal-l,.reveal-r{opacity:1 !important;transform:none !important;}
  .reveal-clip>*{transform:none !important;}
  .marquee-track{animation:none !important;}
  .cur-dot,.cur-ring,#preload,#curtain{display:none !important;}
}
