/*
Theme Name: Abhiksha Limited
Theme URI: https://www.abhiksha.co.uk
Author: Abhiksha Limited
Description: Custom one-page corporate theme for Abhiksha Limited — Oil, Gas, Petrochemical & Energy Consulting. Strategy. Expertise. Energizing Tomorrow.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: abhiksha
*/

/* -----------------------------------------------------------
   0. DESIGN TOKENS
----------------------------------------------------------- */
:root{
  --navy-deep:#081633;
  --navy:#0E2A5E;
  --navy-mid:#153a7c;
  --gold:#C9A227;
  --gold-light:#E8C766;
  --gold-soft:#f3e6bd;
  --white:#FFFFFF;
  --offwhite:#F6F4EE;
  --paper:#FBFAF7;
  --ink:#141B2E;
  --muted:#5B6478;
  --line:#E4E0D6;
  --radius:2px;
  --shadow-soft: 0 20px 50px -20px rgba(8,22,51,0.35);
  --font-display: 'Marcellus', 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ease: cubic-bezier(.22,.61,.36,1);
}

@media (prefers-color-scheme: dark){ :root{ } }

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--navy-deep);
  margin:0 0 .5em;
  line-height:1.1;
  font-weight:400;
  letter-spacing:.005em;
}

p{ margin:0 0 1em; color:var(--muted); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }
.container{ max-width:1200px; margin:0 auto; padding:0 28px; }

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-body);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
  margin-bottom:14px;
}
.eyebrow::before{
  content:'';
  width:28px; height:1px;
  background:var(--gold);
  display:inline-block;
}

.section{ padding:100px 0; position:relative; }
.section--tight{ padding:70px 0; }
.section--navy{ background:var(--navy-deep); color:var(--offwhite); }
.section--navy h2, .section--navy h3, .section--navy h4{ color:var(--white); }
.section--navy p{ color:rgba(246,244,238,0.72); }
.section--offwhite{ background:var(--offwhite); }
.section-head{ max-width:680px; margin-bottom:56px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

.h1-hero{
  font-size:clamp(2.4rem, 5vw, 4.4rem);
  color:var(--white);
}
h2{ font-size:clamp(1.9rem, 3vw, 2.7rem); }
h3{ font-size:1.3rem; }

.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:15px 32px;
  border:1px solid var(--gold);
  color:var(--navy-deep);
  background:var(--gold);
  font-weight:600;
  font-size:.85rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  border-radius:var(--radius);
  transition:all .3s var(--ease);
}
.btn:hover{ background:transparent; color:var(--gold-light); }
.btn--ghost{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.4); }
.btn--ghost:hover{ background:rgba(255,255,255,.08); border-color:var(--white); }

/* -----------------------------------------------------------
   1. HEADER / NAV
----------------------------------------------------------- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(8,22,51,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:padding .3s var(--ease);
}
.site-header .container{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:14px; padding-bottom:14px;
}
.brand{ display:flex; align-items:center; gap:12px; }
.brand img{ height:46px; width:auto; }
.brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.brand-text strong{
  font-family:var(--font-display); color:var(--white); font-size:1.15rem; letter-spacing:.03em;
}
.brand-text span{
  font-size:.62rem; letter-spacing:.18em; color:var(--gold-light); text-transform:uppercase; margin-top:3px;
}

.main-nav ul{ display:flex; gap:30px; }
.main-nav a{
  font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,255,255,.82);
  font-weight:500; padding:6px 0; border-bottom:1px solid transparent; transition:.25s var(--ease);
}
.main-nav a:hover{ color:var(--gold-light); border-color:var(--gold-light); }

.nav-toggle{
  display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px;
}
.nav-toggle span{ width:26px; height:2px; background:var(--white); display:block; }

@media (max-width:900px){
  .main-nav{
    position:fixed; top:0; right:0; height:100vh; width:min(320px,80vw);
    background:var(--navy-deep); transform:translateX(100%); transition:transform .35s var(--ease);
    padding:100px 34px 34px; box-shadow:-10px 0 40px rgba(0,0,0,.3);
  }
  .main-nav.is-open{ transform:translateX(0); }
  .main-nav ul{ flex-direction:column; gap:22px; }
  .nav-toggle{ display:flex; }
}

/* -----------------------------------------------------------
   2. HERO — refinery skyline signature
----------------------------------------------------------- */
.hero{
  position:relative; overflow:hidden;
  min-height:100vh; display:flex; align-items:center;
  background:radial-gradient(120% 120% at 15% 10%, #123067 0%, var(--navy-deep) 55%, #050d1f 100%);
  padding-top:140px; padding-bottom:80px;
}
.hero .container{
  position:relative; z-index:3;
  display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center;
}
.hero-copy p.lede{ color:rgba(246,244,238,.78); font-size:1.1rem; max-width:520px; }
.hero-tagline{
  font-family:var(--font-display); color:var(--gold-light); font-size:1.05rem; margin-bottom:22px; letter-spacing:.02em;
}
.hero-cta{ display:flex; gap:18px; margin-top:34px; flex-wrap:wrap; }

.hero-stats{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); margin-top:56px; border-radius:var(--radius);
  overflow:hidden;
}
.hero-stats div{ background:rgba(8,22,51,.55); padding:22px 20px; }
.hero-stats strong{ display:block; font-family:var(--font-display); font-size:1.9rem; color:var(--gold-light); }
.hero-stats span{ font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(246,244,238,.65); }

.skyline-wrap{ position:relative; height:420px; }
.skyline-wrap svg{ width:100%; height:100%; }
.tower-light{ animation: flicker 3.4s ease-in-out infinite; }
.tower-light:nth-child(3n){ animation-delay:.6s; }
.tower-light:nth-child(4n){ animation-delay:1.3s; }
@keyframes flicker{
  0%,100%{ opacity:.35; }
  50%{ opacity:1; }
}
.hero-star{ animation: twinkle 4.5s ease-in-out infinite; transform-origin:center; }
@keyframes twinkle{ 0%,100%{ opacity:.4; transform:scale(.85);} 50%{ opacity:1; transform:scale(1);} }

.scroll-cue{
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%);
  color:rgba(255,255,255,.5); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase;
  display:flex; flex-direction:column; align-items:center; gap:8px; z-index:3;
}
.scroll-cue .line{ width:1px; height:34px; background:linear-gradient(var(--gold-light), transparent); animation:pulseLine 2.2s infinite; }
@keyframes pulseLine{ 0%,100%{opacity:.3;} 50%{opacity:1;} }

@media (max-width:980px){
  .hero .container{ grid-template-columns:1fr; }
  .skyline-wrap{ height:280px; order:-1; }
}

/* -----------------------------------------------------------
   3. STAT STRIP
----------------------------------------------------------- */
.stat-strip{ background:var(--navy); padding:44px 0; }
.stat-strip .container{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px;
}
.stat-strip .stat{ text-align:center; flex:1 1 140px; }
.stat-strip strong{ display:block; font-family:var(--font-display); font-size:2.1rem; color:var(--gold-light); }
.stat-strip span{ font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(246,244,238,.7); }

/* -----------------------------------------------------------
   4. TWO COL / GRID BLOCKS
----------------------------------------------------------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
@media (max-width:900px){ .split{ grid-template-columns:1fr; gap:40px; } }

.pillars{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); margin-top:40px; }
.pillars div{ background:var(--paper); padding:34px 24px; text-align:center; }
.pillars .ico{ width:44px; height:44px; margin:0 auto 16px; color:var(--gold); }
.pillars h4{ font-size:.85rem; text-transform:uppercase; letter-spacing:.04em; font-family:var(--font-body); font-weight:700; color:var(--navy-deep); }
@media (max-width:820px){ .pillars{ grid-template-columns:repeat(2,1fr);} }

.card-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin-top:20px; }
@media (max-width:820px){ .card-grid{ grid-template-columns:1fr; } }
.card{
  background:var(--white); border:1px solid var(--line); padding:32px; border-radius:var(--radius);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-soft); }
.card .ico{ width:40px; height:40px; color:var(--gold); margin-bottom:18px; }
.card h4{ font-family:var(--font-body); font-weight:700; font-size:1rem; color:var(--navy-deep); text-transform:uppercase; letter-spacing:.02em; margin-bottom:10px; }
.card p{ font-size:.94rem; margin-bottom:0; }

.checklist li{ display:flex; align-items:flex-start; gap:12px; padding:10px 0; border-bottom:1px dashed var(--line); font-weight:500; color:var(--ink); }
.checklist li:last-child{ border-bottom:0; }
.checklist svg{ flex:none; width:18px; height:18px; color:var(--gold); margin-top:3px; }

.dark-panel{
  background:var(--navy-deep); color:var(--white); padding:40px; border-radius:var(--radius); margin-top:10px;
}
.dark-panel h4{ color:var(--gold-light); display:flex; align-items:center; gap:10px; font-family:var(--font-body); text-transform:uppercase; font-size:.85rem; letter-spacing:.08em; }
.dark-panel ul li{ display:flex; gap:10px; padding:9px 0; color:rgba(246,244,238,.85); }
.dark-panel ul li::before{ content:'\203A'; color:var(--gold); font-weight:700; }
.dark-panel blockquote{ margin:22px 0 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.15); font-family:var(--font-display); font-style:italic; color:var(--gold-light); font-size:1.05rem; }

/* -----------------------------------------------------------
   5. GLOBAL PRESENCE / MAP + OFFICES
----------------------------------------------------------- */
.regions{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); margin-top:10px; }
.regions div{ background:var(--navy-deep); color:var(--white); padding:26px 14px; text-align:center; position:relative; overflow:hidden; }
.regions div span{ font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-light); }
@media (max-width:900px){ .regions{ grid-template-columns:repeat(2,1fr);} }

.offices{ display:grid; grid-template-columns:repeat(5,1fr); gap:22px; margin-top:50px; }
@media (max-width:980px){ .offices{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .offices{ grid-template-columns:1fr; } }
.office{ text-align:center; }
.office .flag-bar{ height:6px; width:100%; border-radius:4px; margin-bottom:14px; background:linear-gradient(90deg,var(--gold),var(--gold-light)); }
.office h4{ font-family:var(--font-body); font-weight:700; font-size:.95rem; letter-spacing:.03em; text-transform:uppercase; }
.office span{ font-size:.75rem; color:var(--muted); letter-spacing:.05em; text-transform:uppercase; }

/* -----------------------------------------------------------
   6. LEADERSHIP
----------------------------------------------------------- */
.team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:20px; }
@media (max-width:980px){ .team-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .team-grid{ grid-template-columns:1fr; } }
.team-card{ background:var(--white); border:1px solid var(--line); overflow:hidden; border-radius:var(--radius); }
.team-photo{
  aspect-ratio:4/4.6; background:linear-gradient(160deg,var(--navy),var(--navy-deep));
  display:flex; align-items:center; justify-content:center; position:relative;
}
.team-photo .initials{ font-family:var(--font-display); font-size:3rem; color:var(--gold-light); opacity:.85; }
.team-info{ padding:24px 26px 28px; }
.team-info .role{ color:var(--gold); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; font-weight:700; margin-bottom:10px; display:block; }
.team-info p{ font-size:.88rem; }

/* -----------------------------------------------------------
   7. TIMELINE
----------------------------------------------------------- */
.timeline{ position:relative; margin-top:20px; padding-left:34px; border-left:2px solid var(--line); }
.timeline-item{ position:relative; padding-bottom:34px; }
.timeline-item:last-child{ padding-bottom:0; }
.timeline-item::before{
  content:''; position:absolute; left:-41px; top:4px; width:14px; height:14px; border-radius:50%;
  background:var(--gold); border:3px solid var(--paper); box-shadow:0 0 0 2px var(--gold);
}
.timeline-item strong{ font-family:var(--font-display); font-size:1.4rem; color:var(--navy-deep); display:block; }
.timeline-item h5{ margin:2px 0 4px; font-size:.95rem; font-weight:700; color:var(--ink); }
.timeline-item p{ font-size:.9rem; margin:0; }

.mvv{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:60px; }
.mvv > div{ background:var(--navy-deep); color:var(--white); padding:36px 30px; }
.mvv h4{ color:var(--gold-light); font-family:var(--font-body); text-transform:uppercase; font-size:.85rem; letter-spacing:.08em; }
.mvv p, .mvv li{ color:rgba(246,244,238,.82); font-size:.92rem; }
.mvv ul li{ padding:4px 0; }
.mvv ul li::before{ content:'— '; color:var(--gold); }
@media (max-width:900px){ .mvv{ grid-template-columns:1fr; } }

/* -----------------------------------------------------------
   8. GROUP COMPANIES + AWARDS
----------------------------------------------------------- */
.group-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:20px; }
@media (max-width:980px){ .group-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .group-grid{ grid-template-columns:1fr; } }
.group-card{ border:1px solid var(--line); background:var(--white); padding:26px; border-radius:var(--radius); }
.group-card .country{ font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); font-weight:700; }
.group-card h4{ font-family:var(--font-display); font-size:1.15rem; margin:6px 0 4px; }
.group-card .tag{ font-size:.78rem; color:var(--muted); margin-bottom:14px; display:block; }
.group-card ul li{ font-size:.85rem; padding:4px 0; color:var(--ink); }
.group-card ul li::before{ content:'✓ '; color:var(--gold); font-weight:700; }

.awards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:20px; }
@media (max-width:900px){ .awards{ grid-template-columns:1fr; } }
.award{ background:var(--offwhite); border-left:3px solid var(--gold); padding:24px 26px; }
.award h5{ margin:0 0 6px; font-family:var(--font-display); font-size:1.05rem; color:var(--navy-deep); }
.award span{ font-size:.78rem; color:var(--muted); }

/* -----------------------------------------------------------
   9. CTA + FOOTER
----------------------------------------------------------- */
.cta-band{
  background:linear-gradient(120deg, var(--navy-deep), var(--navy-mid));
  padding:80px 0; text-align:center; position:relative; overflow:hidden;
}
.cta-band h2{ color:var(--white); }
.cta-band p{ color:rgba(246,244,238,.75); max-width:560px; margin:0 auto 30px; }

.site-footer{ background:#060f24; color:rgba(246,244,238,.65); padding:70px 0 30px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.08); }
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-grid h5{ color:var(--gold-light); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:18px; }
.footer-grid ul li{ padding:6px 0; font-size:.88rem; }
.footer-grid ul li a:hover{ color:var(--gold-light); }
.footer-brand img{ height:50px; margin-bottom:16px; }
.footer-brand p{ color:rgba(246,244,238,.55); font-size:.85rem; max-width:280px; }
.footer-bottom{ padding-top:26px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.78rem; color:rgba(246,244,238,.45); }

/* utility */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible{ opacity:1; transform:none; }
