/* ==========================================================================
   ISHVIK DIGITAL MARKETING — core stylesheet
   Palette: black · charcoal · metallic gold · warm gold · silver · white
   No purple / blue / green / neon. Black = premium, gold = value & growth,
   silver = precision & technology, white = clarity.
   ========================================================================== */

:root{
  --black:        #050505;
  --black-soft:   #0B0B0B;
  --charcoal:     #151515;

  --gold-dark:    #8F6715;
  --gold:         #D4A72C;
  --gold-light:   #F5C84C;
  --gold-bright:  #FFD966;

  --silver-dark:  #777777;
  --silver:       #C9C9C9;
  --silver-light: #F1F1F1;

  --white:        #FFFFFF;
  --text-light:   #E8E8E8;
  --text-muted:   #A8A8A8;

  --gold-gradient:  linear-gradient(135deg,#8F6715 0%,#D4A72C 30%,#F5C84C 55%,#D4A72C 78%,#8F6715 100%);
  --gold-gradient-bright: linear-gradient(135deg,#D4A72C 0%,#FFD966 50%,#D4A72C 100%);
  --silver-gradient: linear-gradient(120deg,#6f6f6f 0%,#dcdcdc 45%,#b9b9b9 70%,#6f6f6f 100%);

  --font-display: "Cinzel","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-body:    "Manrope","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;

  --nav-h: 76px;
  --radius: 18px;
  --radius-sm: 12px;
  --ease: cubic-bezier(.22,.61,.36,1);
  --shadow-card: 0 24px 60px rgba(0,0,0,.55);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 8px); }

body{
  font-family:var(--font-body);
  background:var(--black);
  color:var(--text-light);
  line-height:1.7;
  font-size:1rem;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul,ol{ list-style:none; }
button{ font-family:inherit; cursor:pointer; background:none; border:0; color:inherit; }
input,select,textarea{ font-family:inherit; font-size:1rem; }

::selection{ background:var(--gold); color:var(--black); }

::-webkit-scrollbar{ width:11px; }
::-webkit-scrollbar-track{ background:var(--black); }
::-webkit-scrollbar-thumb{ background:linear-gradient(var(--gold-dark),var(--gold)); border-radius:8px; border:3px solid var(--black); }

body.no-scroll{ overflow:hidden; }

/* ---------- Layout helpers ---------- */
.container{ width:min(1180px,92%); margin-inline:auto; }

.section{ position:relative; padding:clamp(72px,9vw,130px) 0; overflow:hidden; }

.section-head{ max-width:780px; margin-bottom:clamp(44px,6vw,70px); }

.eyebrow{
  display:inline-flex; align-items:center; gap:14px;
  font-family:var(--font-body); font-size:.78rem; font-weight:700;
  letter-spacing:.34em; text-transform:uppercase; color:var(--gold);
  margin-bottom:18px; text-indent:.34em;
}
.eyebrow::before{ content:""; width:34px; height:1px; background:var(--gold-gradient); text-indent:0; }

.section-title{
  font-family:var(--font-display);
  font-size:clamp(1.9rem,4.4vw,3.1rem);
  font-weight:600; line-height:1.15; letter-spacing:.01em;
  color:var(--white);
  text-transform:uppercase;
}

.section-title::after{
  content:""; display:block; width:74px; height:3px; margin-top:22px;
  background:var(--gold-gradient); border-radius:3px;
}

.section-sub{
  margin-top:20px; color:var(--text-muted); font-size:1.06rem; max-width:640px;
}

.gold-text{
  background:var(--gold-gradient-bright);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--gold);
}

/* ---------- Background system ---------- */
.grid-overlay{
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(212,167,44,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212,167,44,.045) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 90% 80% at 50% 30%, #000 30%, transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 30%, #000 30%, transparent 78%);
}
.grid-overlay.faint{ opacity:.55; }

.glow{ position:absolute; border-radius:50%; filter:blur(90px); pointer-events:none; }
.glow-a{ width:640px; height:640px; left:-190px; top:-160px; background:radial-gradient(circle,rgba(143,103,21,.34),transparent 65%); }
.glow-b{ width:560px; height:560px; right:-170px; top:12%; background:radial-gradient(circle,rgba(245,200,76,.16),transparent 65%); }
.glow-c{ width:420px; height:420px; left:38%; bottom:-8%; background:radial-gradient(circle,rgba(201,201,201,.08),transparent 65%); }
.glow-d{ width:520px; height:520px; right:-160px; top:6%; background:radial-gradient(circle,rgba(143,103,21,.22),transparent 65%); }
.glow-e{ width:600px; height:600px; left:-200px; top:10%; background:radial-gradient(circle,rgba(245,200,76,.1),transparent 65%); }
.glow-f{ width:560px; height:560px; right:-190px; top:20%; background:radial-gradient(circle,rgba(143,103,21,.18),transparent 65%); }
.glow-g{ width:640px; height:640px; left:-210px; top:8%; background:radial-gradient(circle,rgba(201,201,201,.07),transparent 65%); }
.glow-h{ width:520px; height:520px; right:-170px; top:12%; background:radial-gradient(circle,rgba(143,103,21,.2),transparent 65%); }
.glow-i{ width:620px; height:620px; left:-200px; top:6%; background:radial-gradient(circle,rgba(245,200,76,.1),transparent 65%); }
.glow-j{ width:700px; height:700px; right:-220px; top:-180px; background:radial-gradient(circle,rgba(143,103,21,.3),transparent 65%); }

/* ---------- Buttons ---------- */
.btn{
  position:relative; display:inline-flex; align-items:center; gap:12px;
  padding:15px 30px; border-radius:999px;
  font-weight:700; font-size:.92rem; letter-spacing:.06em; text-transform:uppercase;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease),
             background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease);
  will-change:transform;
}
.btn .arrow{ transition:transform .35s var(--ease); }
.btn:hover .arrow{ transform:translateX(5px); }

.btn-gold{
  background:var(--gold-gradient);
  color:var(--black);
  box-shadow:0 12px 34px rgba(143,103,21,.35), inset 0 1px 0 rgba(255,255,255,.35);
}
.btn-gold:hover{
  background:var(--gold-gradient-bright);
  box-shadow:0 16px 42px rgba(212,167,44,.5), 0 0 0 1px rgba(245,200,76,.4);
  transform:translateY(-3px);
}

.btn-ghost{
  background:rgba(5,5,5,.42);
  color:var(--white);
  border:1px solid rgba(212,167,44,.65);
  backdrop-filter:blur(6px);
}
.btn-ghost:hover{
  border-color:var(--gold-light);
  box-shadow:0 0 26px rgba(245,200,76,.28), inset 0 0 18px rgba(212,167,44,.12);
  transform:translateY(-3px);
}

.btn-block{ width:100%; justify-content:center; }

.text-link{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--gold); font-weight:700; font-size:.92rem; letter-spacing:.04em;
  transition:color .3s var(--ease);
}
.text-link .arrow{ transition:transform .3s var(--ease); }
.text-link:hover{ color:var(--gold-bright); }
.text-link:hover .arrow{ transform:translateX(5px); }

/* ---------- Skip link ---------- */
.skip-link{
  position:fixed; left:-999px; top:0; z-index:10000;
  background:var(--gold); color:var(--black); padding:12px 20px; border-radius:0 0 12px 0;
  font-weight:700;
}
.skip-link:focus{ left:0; }

/* ---------- Preloader ---------- */
.preloader{
  position:fixed; inset:0; z-index:1000; background:var(--black);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .7s var(--ease), visibility .7s;
}
.preloader.is-done{ opacity:0; visibility:hidden; }
.preloader-inner{ text-align:center; }
.preloader-logo{ display:flex; justify-content:center; height:92px; animation:loaderLogo 2.2s var(--ease) forwards; }
.preloader-word{
  display:block; margin-top:14px;
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(26px,5vw,34px); letter-spacing:.22em; text-indent:.22em; text-transform:uppercase;
  background:linear-gradient(115deg,#8F6715,#D4A72C 30%,#F5C84C 52%,#FFD966 62%,#D4A72C 82%,#8F6715);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:loaderLogo 2.2s var(--ease) .12s both;
}
.preloader-sub{
  display:block; margin-top:8px;
  font-family:var(--font-body); font-weight:600;
  font-size:clamp(11px,1.8vw,14px); letter-spacing:.3em; text-indent:.3em; text-transform:uppercase;
  color:#C5C5C2;
  animation:loaderLogo 2.2s var(--ease) .22s both;
}
.preloader-line{
  width:180px; height:2px; margin:26px auto 16px; background:rgba(212,167,44,.15);
  border-radius:2px; overflow:hidden; position:relative;
}
.preloader-line span{
  position:absolute; inset:0; transform-origin:left;
  background:var(--gold-gradient); animation:loaderLine 1.5s var(--ease) forwards;
}
.preloader-tag{
  font-size:.7rem; letter-spacing:.42em; text-transform:uppercase;
  color:var(--text-muted); text-indent:.42em;
}

/* ---------- Navbar ---------- */
.navbar{
  position:fixed; top:0; left:0; right:0; z-index:900;
  height:var(--nav-h); display:flex; align-items:center;
  transition:background .45s var(--ease), box-shadow .45s var(--ease),
             border-color .45s var(--ease), height .45s var(--ease);
  border-bottom:1px solid transparent;
}
.navbar.scrolled{
  background:rgba(5,5,5,.68);
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid rgba(212,167,44,.18);
  box-shadow:0 18px 44px rgba(0,0,0,.5);
  height:66px;
}

.nav-inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; }

.brand{ display:inline-flex; align-items:center; gap:13px; }
.brand-lockup{ display:inline-flex; align-items:center; gap:14px; }

.brand-text{ display:inline-flex; flex-direction:column; align-items:flex-start; justify-content:center; line-height:1; }
.brand-sub{
  font-family:var(--font-body);
  font-weight:600;
  font-size:10px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--silver);
  margin-top:4px;
}
.brand-logo-footer ~ .brand-text .brand-word{ font-size:clamp(22px,3vw,30px); }
.brand-logo-footer ~ .brand-text .brand-sub{ font-size:12px; margin-top:6px; }
.brand-word{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(19px,2.6vw,26px);
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
  background:linear-gradient(115deg,#8F6715 0%,#D4A72C 28%,#F5C84C 50%,#FFD966 62%,#D4A72C 80%,#8F6715 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 14px rgba(0,0,0,.55));
}
.brand-logo-footer ~ .brand-text .brand-word{ font-size:clamp(22px,3vw,30px); }

.brand-mobile{ display:inline-flex; align-items:center; gap:12px; }

.brand-logo-slot{ display:inline-flex; align-items:center; }
.brand-logo-nav{ height:60px; }
.brand-logo-mob{ height:52px; }
.brand-logo-footer{ height:64px; }
.brand-logo-slot svg{ height:100%; width:auto; }
.brand-logo-img{ height:100%; width:auto; object-fit:contain; }

.nav-links ul{ display:flex; align-items:center; gap:6px; }
.nav-link{
  position:relative; display:block; padding:10px 13px;
  font-size:.88rem; font-weight:600; letter-spacing:.04em; color:var(--text-light);
  transition:color .3s var(--ease);
}
.nav-link::after{
  content:""; position:absolute; left:13px; right:13px; bottom:5px; height:2px;
  background:var(--gold-gradient); border-radius:2px;
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--ease);
}
.nav-link:hover{ color:var(--gold-light); }
.nav-link.active{ color:var(--gold-bright); }
.nav-link.active::after{ transform:scaleX(1); }

.nav-cta{ padding:11px 22px; font-size:.8rem; }

/* Burger */
.burger{
  display:none; flex-direction:column; justify-content:center; gap:6px;
  width:46px; height:46px; border-radius:10px;
  border:1px solid rgba(212,167,44,.4); background:rgba(5,5,5,.4);
  align-items:center; z-index:1001; transition:border-color .3s;
}
.burger span{
  width:20px; height:2px; background:var(--gold-light); border-radius:2px;
  transition:transform .4s var(--ease), opacity .3s, width .3s;
}
.burger:hover{ border-color:var(--gold); }
.burger.is-open span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.burger.is-open span:nth-child(2){ opacity:0; }
.burger.is-open span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
.burger.is-open{ border-color:rgba(212,167,44,.7); }
.burger.close-x span:nth-child(1){ transform:translateY(4px) rotate(45deg); }
.burger.close-x span:nth-child(2){ transform:translateY(-4px) rotate(-45deg); }

/* Mobile menu */
.mobile-menu{
  position:fixed; inset:0; z-index:950; background:rgba(5,5,5,.96);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .45s var(--ease), visibility .45s;
}
.mobile-menu.is-open{ opacity:1; visibility:visible; }
.mobile-menu-inner{
  width:min(560px,88%); text-align:center;
  transform:translateY(18px); transition:transform .45s var(--ease);
}
.mobile-menu.is-open .mobile-menu-inner{ transform:none; }
.mobile-menu-top{ position:relative; display:flex; justify-content:center; margin-bottom:34px; }
.mobile-menu-top .burger{ position:absolute; right:0; top:0; }

.mobile-links li{ margin:4px 0; }
.mob-link{
  display:block; padding:10px 0;
  font-family:var(--font-display); font-size:clamp(1.5rem,5vw,2rem);
  color:var(--text-light); transition:color .3s, letter-spacing .35s var(--ease);
}
.mob-link:hover{ color:var(--gold); letter-spacing:.12em; }
.mob-cta{ margin-top:26px; }
.mobile-menu-foot{ margin-top:34px; font-size:.95rem; color:var(--text-muted); }
.mobile-menu-foot p{ margin:4px 0; }
.muted-sm{ opacity:.55; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; }

/* ---------- Toast ---------- */
.toast{
  position:fixed; left:50%; bottom:34px; transform:translate(-50%,20px);
  background:var(--charcoal); color:var(--gold-light);
  border:1px solid rgba(212,167,44,.5); border-radius:12px;
  padding:14px 26px; font-weight:600; font-size:.92rem;
  box-shadow:0 18px 44px rgba(0,0,0,.6), 0 0 26px rgba(212,167,44,.12);
  opacity:0; visibility:hidden; z-index:1200;
  transition:opacity .4s var(--ease), transform .4s var(--ease), visibility .4s;
}
.toast.show{ opacity:1; visibility:visible; transform:translate(-50%,0); }

/* ---------- To-top ---------- */
.to-top{
  position:fixed; right:26px; bottom:26px; z-index:800;
  width:50px; height:50px; border-radius:50%;
  border:1px solid rgba(212,167,44,.55);
  background:rgba(5,5,5,.72); color:var(--gold);
  font-size:1.15rem; backdrop-filter:blur(8px);
  opacity:0; visibility:hidden; transform:translateY(16px);
  transition:all .4s var(--ease);
}
.to-top.show{ opacity:1; visibility:visible; transform:none; }
.to-top:hover{ background:var(--gold-gradient); color:var(--black); box-shadow:0 0 24px rgba(212,167,44,.5); }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:center;
  padding:calc(var(--nav-h) + 40px) 0 110px; overflow:hidden;
  background:radial-gradient(ellipse 120% 80% at 50% -10%, #0e0c07 0%, var(--black) 55%);
}
#hero-canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:1; }
.hero-bg{ position:absolute; inset:0; z-index:2; pointer-events:none; }

.hero-wave{ position:absolute; left:0; right:0; top:56%; width:100%; height:34vw; min-height:200px; }
.hero-wave-path{
  stroke-dasharray:1600; stroke-dashoffset:1600;
  animation:drawWave 9s var(--ease) infinite alternate;
}

.mouse-glow{
  position:absolute; width:520px; height:520px; left:0; top:0;
  background:radial-gradient(circle, rgba(245,200,76,.09), transparent 62%);
  transform:translate(-50%,-50%); mix-blend-mode:screen; z-index:3;
}

.hero-content{ position:relative; z-index:4; max-width:880px; }

.hero-title{
  font-family:var(--font-display);
  font-size:clamp(2.5rem,7vw,4.6rem);
  font-weight:600; line-height:1.06; letter-spacing:.015em;
  color:var(--white); text-transform:uppercase;
  text-shadow:0 24px 80px rgba(0,0,0,.6);
}
.hero-sub{ margin-top:26px; max-width:640px; font-size:1.1rem; color:var(--text-muted); }
.hero-ctas{ margin-top:40px; display:flex; flex-wrap:wrap; gap:16px; }
.hero-meta{
  margin-top:44px; font-size:.78rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--silver); text-indent:.3em;
}

.scroll-cue{
  position:absolute; left:50%; bottom:30px; transform:translateX(-50%);
  z-index:4; display:flex; flex-direction:column; align-items:center; gap:10px;
  color:var(--text-muted);
}
.scroll-line{ position:relative; width:1px; height:56px; overflow:hidden; background:rgba(201,201,201,.18); }
.scroll-line::after{
  content:""; position:absolute; left:0; top:-100%; width:100%; height:100%;
  background:var(--gold-gradient); animation:scrollLine 2.4s var(--ease) infinite;
}
.scroll-text{ font-size:.62rem; letter-spacing:.4em; text-indent:.4em; }

/* ==========================================================================
   ABOUT
   ========================================================================== */
.about{ background:radial-gradient(ellipse 100% 70% at 0% 0%, #0d0b07 0%, var(--black) 55%); }

.about-grid{ display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(36px,5vw,72px); align-items:start; }
.about-copy p{ color:var(--text-muted); margin-bottom:18px; font-size:1.05rem; }
.about-copy p:first-child{ color:var(--text-light); font-size:1.14rem; }
.about-copy .text-link{ margin-top:6px; }

.about-concepts{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }

.concept-card{
  position:relative; padding:28px 20px 26px; border-radius:var(--radius);
  border:1px solid rgba(212,167,44,.18);
  background:linear-gradient(160deg, rgba(21,21,21,.9), rgba(5,5,5,.95));
  text-align:center; transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;
}
.concept-card:hover{
  transform:translateY(-6px); border-color:rgba(212,167,44,.5);
  box-shadow:0 22px 50px rgba(0,0,0,.5), 0 0 30px rgba(212,167,44,.1);
}
.concept-icon{ margin:0 auto 18px; width:64px; height:64px; }
.concept-icon svg{ stroke:var(--gold); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.concept-icon .strategy-node{ opacity:.55; }
.concept-icon .creative-spark{ fill:var(--gold); stroke:none; }
.concept-card h3{ font-family:var(--font-display); font-size:1.05rem; color:var(--white); letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px; }
.concept-card p{ font-size:.86rem; color:var(--text-muted); }

/* ==========================================================================
   SERVICES — FOUR PILLARS
   ========================================================================== */
.services{ background:radial-gradient(ellipse 100% 80% at 50% 100%, #0d0905 0%, var(--black) 60%); }

.pillars{ display:flex; flex-direction:column; gap:22px; }

.service-pillar{
  position:relative; border-radius:var(--radius);
  border:1px solid rgba(212,167,44,.16);
  background:linear-gradient(150deg, rgba(20,18,14,.92), rgba(5,5,5,.96) 60%);
  overflow:hidden;
  transition:border-color .4s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease);
}
.service-pillar::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(60% 90% at 90% 0%, rgba(245,200,76,.07), transparent 60%);
  opacity:0; transition:opacity .5s;
  pointer-events:none;
}
.service-pillar:hover{
  border-color:rgba(212,167,44,.55);
  box-shadow:0 30px 70px rgba(0,0,0,.55), 0 0 40px rgba(212,167,44,.08);
  transform:translateY(-4px);
}
.service-pillar:hover::before{ opacity:1; }
.service-pillar.is-open{ border-color:rgba(212,167,44,.45); }

.pillar-head{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:26px;
  padding:30px 34px; cursor:pointer;
}
.pillar-num{
  font-family:var(--font-display); font-size:clamp(2.4rem,5vw,3.4rem); font-weight:700;
  background:var(--gold-gradient);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--gold);
  line-height:1;
}
.pillar-head-txt h3{
  font-family:var(--font-display); font-size:clamp(1.25rem,2.6vw,1.7rem);
  color:var(--white); text-transform:uppercase; letter-spacing:.02em; line-height:1.2;
}
.pillar-tagline{ margin-top:8px; color:var(--text-muted); font-size:.95rem; }
.pillar-toggle{
  position:relative; width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(212,167,44,.5); flex:none;
  transition:transform .4s var(--ease), background .4s, border-color .4s;
}
.pillar-toggle::before,.pillar-toggle::after{
  content:""; position:absolute; left:50%; top:50%; background:var(--gold);
  transform:translate(-50%,-50%);
}
.pillar-toggle::before{ width:14px; height:2px; }
.pillar-toggle::after{ width:2px; height:14px; transition:transform .4s var(--ease); }
.service-pillar.is-open .pillar-toggle{ transform:rotate(180deg); border-color:var(--gold-light); background:rgba(212,167,44,.12); }
.service-pillar.is-open .pillar-toggle::after{ transform:translate(-50%,-50%) rotate(90deg); }

.pillar-body{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(22px,3.4vw,46px);
  padding:0 34px 36px; align-items:center;
}
.pillar-copy p{ color:var(--text-muted); margin-bottom:20px; }

.chip-list{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.chip-list li{
  padding:8px 16px; border-radius:999px; font-size:.84rem; font-weight:600;
  color:var(--text-light);
  background:rgba(212,167,44,.1);
  border:1px solid rgba(212,167,44,.3);
  transition:border-color .3s, background .3s, transform .3s var(--ease);
}
.chip-list li:hover{ border-color:var(--gold-light); background:rgba(212,167,44,.18); transform:translateY(-2px); }

.pillar-extra{
  border-left:2px solid var(--gold); padding:4px 0 4px 18px; margin-top:6px;
  max-height:0; opacity:0; overflow:hidden;
  transform:translateY(-6px);
  transition:max-height .5s var(--ease), opacity .5s var(--ease), transform .5s var(--ease), padding .5s var(--ease);
}
.service-pillar.is-open .pillar-extra{
  max-height:220px; opacity:1; transform:none; padding-bottom:4px;
}
.pillar-extra-note{
  font-size:.72rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); margin-bottom:6px; text-indent:.22em;
}
.pillar-extra p:last-child{ margin:0; color:var(--text-muted); font-size:.93rem; }

/* Pillar visuals */
.pillar-visual{ position:relative; min-height:240px; display:flex; align-items:center; justify-content:center; }

.mini-panel{
  position:relative; width:100%; max-width:430px; height:250px;
  border:1px solid rgba(212,167,44,.22); border-radius:16px;
  background:
    linear-gradient(rgba(212,167,44,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212,167,44,.05) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(245,200,76,.1), transparent 60%),
    rgba(11,11,11,.9);
  background-size:26px 26px, 26px 26px, auto, auto;
}

/* strategy target */
.target-rings{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:170px; height:170px; }
.tring{
  position:absolute; inset:0; border-radius:50%;
  border:1px solid rgba(212,167,44,.4);
  animation:ringIn 3.4s var(--ease) infinite;
}
.tring.t2{ inset:20px; border-color:rgba(212,167,44,.55); animation-delay:.4s; }
.tring.t3{ inset:40px; border-color:rgba(212,167,44,.7); animation-delay:.8s; }
.tring.t4{ inset:56px; border-color:rgba(245,200,76,.8); animation-delay:1.2s; }
.t-core{
  position:absolute; left:50%; top:50%; width:18px; height:18px; border-radius:50%;
  background:var(--gold-bright); box-shadow:0 0 22px rgba(245,200,76,.9);
  transform:translate(-50%,-50%);
}
.target-paths{ position:absolute; inset:0; width:100%; height:100%; }
.t-path{ stroke:rgba(212,167,44,.5); stroke-width:1.1; stroke-dasharray:6 7; animation:pathMove 6s linear infinite; }
.t-path.d2{ animation-delay:-1.5s; }
.t-path.d3{ animation-delay:-3s; }
.t-path.d4{ animation-delay:-4.5s; }
.t-node{ fill:var(--gold-light); opacity:.9; animation:nodePulse 2.6s var(--ease) infinite; }
.mini-label{
  position:absolute; bottom:12px; left:0; right:0; text-align:center;
  font-size:.64rem; letter-spacing:.3em; text-indent:.3em; text-transform:uppercase; color:var(--silver);
}

/* creative media */
.media-panel{ width:100%; max-width:430px; }
.media-frame{
  border:1px solid rgba(212,167,44,.22); border-radius:16px; padding:18px;
  background:radial-gradient(circle at 50% 0%, rgba(245,200,76,.08), transparent 60%), rgba(11,11,11,.9);
}
.media-thumb{
  position:relative; height:120px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  background:
    linear-gradient(135deg, rgba(143,103,21,.25), rgba(5,5,5,.2) 60%),
    repeating-linear-gradient(-45deg, rgba(212,167,44,.09) 0 1px, transparent 1px 10px);
  overflow:hidden;
}
.play-btn{
  position:relative; z-index:2; width:52px; height:52px; border-radius:50%;
  background:var(--gold-gradient); color:var(--black);
  display:flex; align-items:center; justify-content:center; font-size:.85rem; padding-left:4px;
  box-shadow:0 10px 26px rgba(212,167,44,.5);
}
.play-pulse{ position:absolute; width:52px; height:52px; border-radius:50%; border:1px solid rgba(245,200,76,.7); animation:playPulse 2.4s var(--ease) infinite; }
.timeline{
  margin-top:16px; height:38px; display:flex; align-items:center; gap:8px;
  border-bottom:1px solid rgba(212,167,44,.25); position:relative;
}
.tl-clip{ position:relative; width:34px; height:22px; border-radius:4px; overflow:hidden; background:rgba(212,167,44,.16); flex:none; }
.tl-clip i{ position:absolute; left:-100%; top:0; bottom:0; width:100%; background:var(--gold-gradient); opacity:.85; animation:clipMove 5.5s linear infinite; }
.tl-clip.c2 i{ animation-delay:1.1s; }
.tl-clip.c3 i{ animation-delay:2.2s; }
.tl-clip.c4 i{ animation-delay:3.3s; }
.tl-clip.c5 i{ animation-delay:4.4s; }
.tl-head{ position:absolute; left:0; top:-3px; width:2px; height:8px; background:var(--silver); border-radius:2px; animation:headMove 5.5s linear infinite; }

/* devices */
.devices-panel{ position:relative; width:100%; max-width:470px; height:260px; display:flex; align-items:flex-end; justify-content:center; gap:14px; }
.dev{ position:relative; background:rgba(21,21,21,.95); border:1px solid rgba(201,201,201,.28); border-radius:10px; overflow:hidden; box-shadow:0 18px 40px rgba(0,0,0,.5); }
.dev-bar{
  display:flex; gap:4px; align-items:center; padding:6px 9px; height:16px;
  background:rgba(5,5,5,.55); border-bottom:1px solid rgba(201,201,201,.18);
  position:absolute; left:0; right:0; top:0; z-index:2;
}
.dev-bar i{ width:5px; height:5px; border-radius:50%; background:rgba(201,201,201,.4); }
.dev-screen{ position:absolute; inset:0; padding:26px 12px 12px; display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.dev-desktop{ width:270px; height:190px; }
.dev-desktop .dev-stand{ position:absolute; left:50%; bottom:-14px; transform:translateX(-50%); width:70px; height:14px; background:linear-gradient(var(--charcoal),var(--black)); border-radius:0 0 6px 6px; border:1px solid rgba(201,201,201,.18); border-top:0; }
.dev-tablet{ width:130px; height:172px; border-radius:12px; }
.dev-mobile{ width:78px; height:158px; border-radius:13px; }
.dev-notch{ position:absolute; top:0; left:50%; transform:translateX(-50%); width:34px; height:8px; background:var(--black); border-radius:0 0 7px 7px; z-index:2; }

.ui-hero-line{ display:block; height:7px; width:78%; border-radius:4px; background:linear-gradient(90deg, rgba(245,200,76,.85), rgba(143,103,21,.5)); }
.ui-hero-line.l2{ width:52%; height:5px; background:rgba(201,201,201,.5); }
.ui-btn{ display:block; width:44px; height:9px; border-radius:5px; background:var(--gold-gradient); box-shadow:0 0 12px rgba(212,167,44,.45); animation:uiBtnPulse 3s var(--ease) infinite; }
.ui-row{ display:block; height:5px; width:70%; border-radius:3px; background:rgba(201,201,201,.25); }
.ui-row.r2{ width:56%; }
.ui-row.r3{ width:62%; }
.ui-form{ display:block; height:34px; width:100%; border-radius:5px; background:rgba(201,201,201,.14); border:1px dashed rgba(201,201,201,.3); margin-top:2px; }

.cursor-dot{
  position:absolute; left:8%; top:18%; width:16px; height:16px; border-radius:50%;
  border:1.5px solid var(--gold-bright); box-shadow:0 0 14px rgba(245,200,76,.8);
  animation:cursorPath 8s var(--ease) infinite; z-index:3;
}
.journey-line{ position:absolute; inset:0; width:100%; height:100%; }
.journey-line path{
  stroke:rgba(212,167,44,.4); stroke-width:1.4; stroke-dasharray:4 6;
  animation:pathMove 4.5s linear infinite; filter:drop-shadow(0 0 6px rgba(245,200,76,.35));
}
.conversion-chip{
  position:absolute; top:12px; right:0;
  font-size:.6rem; letter-spacing:.24em; text-indent:.24em; text-transform:uppercase;
  color:var(--gold-light); padding:7px 12px; border-radius:999px;
  border:1px solid rgba(212,167,44,.4); background:rgba(5,5,5,.7);
}

/* mini dashboard */
.mini-dash{
  width:100%; max-width:440px; border:1px solid rgba(212,167,44,.22); border-radius:16px;
  background:linear-gradient(180deg, rgba(18,16,12,.95), rgba(5,5,5,.95));
  overflow:hidden;
}
.dash-title{
  display:flex; justify-content:space-between; padding:14px 18px 12px;
  font-size:.66rem; letter-spacing:.24em; text-indent:.24em; text-transform:uppercase; color:var(--silver);
  border-bottom:1px solid rgba(212,167,44,.2);
}
.dash-title i{ font-style:normal; color:rgba(168,168,168,.6); letter-spacing:.1em; text-indent:0; }
.dash-body{ padding:16px 18px 18px; }
.dash-chart svg{ width:100%; height:74px; overflow:visible; }
.dash-area{ fill:rgba(212,167,44,.16); }
.dash-line{
  stroke:var(--gold); stroke-width:2.4; stroke-linecap:round;
  filter:drop-shadow(0 0 6px rgba(245,200,76,.55));
  stroke-dasharray:600; stroke-dashoffset:600;
}
.dash-pt{ fill:var(--gold-bright); filter:drop-shadow(0 0 5px rgba(245,200,76,.9)); opacity:0; }
.dash-metrics{ display:flex; justify-content:space-between; gap:10px; margin-top:16px; }
.metric{ text-align:center; }
.m-label{ display:block; font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text-muted); }
.m-label em{ font-style:normal; color:rgba(168,168,168,.45); letter-spacing:.06em; }
.m-value{
  display:block; font-family:var(--font-display); font-size:1.5rem; font-weight:600;
  background:var(--gold-gradient-bright); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--gold); margin-top:2px;
}
.dash-bars{ display:flex; align-items:flex-end; gap:8px; height:52px; margin-top:16px; }
.dash-bars .bar{ width:100%; height:var(--b); border-radius:3px 3px 0 0; background:var(--gold-gradient); opacity:0; transform-origin:bottom; }
.mini-dash.is-visible .dash-line{ animation:drawLine 2.4s var(--ease) forwards; }
.mini-dash.is-visible .dash-pt{ animation:ptIn .6s var(--ease) .8s forwards; }
.mini-dash.is-visible .dash-bars .bar{ animation:barUp .9s var(--ease) forwards; }

/* ==========================================================================
   APPROACH
   ========================================================================== */
.approach{ background:radial-gradient(ellipse 100% 80% at 50% 0%, #0d0a05 0%, var(--black) 55%); }
.approach-bg{ position:absolute; inset:0; pointer-events:none; }
.network-svg{ position:absolute; inset:0; width:100%; height:100%; }
.net path{ stroke-dasharray:300; stroke-dashoffset:300; animation:netDrift 14s linear infinite; }
.net path:nth-child(2){ animation-delay:-4.6s; }
.net path:nth-child(3){ animation-delay:-9.2s; }

.approach-journey{ position:relative; max-width:760px; margin:0 auto; }
.journey-track{
  position:absolute; left:27px; top:18px; bottom:18px; width:2px;
  background:rgba(201,201,201,.16); border-radius:2px; overflow:hidden;
}
.journey-fill{
  position:absolute; left:0; top:0; width:100%; height:0;
  background:var(--gold-gradient); box-shadow:0 0 16px rgba(245,200,76,.6);
  transition:height .25s linear;
}
.steps{ position:relative; }
.step{ position:relative; padding:0 0 34px 74px; min-height:96px; }
.step:last-child{ padding-bottom:0; }
.step-node{
  position:absolute; left:14px; top:6px; width:28px; height:28px; border-radius:50%;
  border:1px solid rgba(201,201,201,.5); background:var(--black);
  display:flex; align-items:center; justify-content:center;
  transition:border-color .5s, box-shadow .5s;
}
.sn-inner{ width:8px; height:8px; border-radius:50%; background:var(--silver); transition:background .5s, box-shadow .5s; }
.step.is-reached .step-node{ border-color:var(--gold); box-shadow:0 0 18px rgba(245,200,76,.55); }
.step.is-reached .sn-inner{ background:var(--gold-bright); box-shadow:0 0 10px rgba(245,200,76,.95); }
.step-card{ transition:transform .4s var(--ease); }
.step.is-reached .step-card{ transform:translateX(4px); }
.step-num{
  font-family:var(--font-display); font-size:.9rem; font-weight:700; letter-spacing:.3em;
  background:var(--gold-gradient); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--gold); text-indent:.3em;
}
.step-card h3{
  font-family:var(--font-display); font-size:1.35rem; color:var(--white);
  text-transform:uppercase; letter-spacing:.04em; margin:6px 0;
}
.step-card p{ color:var(--text-muted); font-size:.96rem; max-width:520px; }

/* ==========================================================================
   WHY ISHVIK
   ========================================================================== */
.why{ background:var(--black); }
.why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.why-item{
  padding:30px 26px; border-radius:var(--radius);
  border:1px solid rgba(201,201,201,.14);
  background:linear-gradient(160deg, rgba(21,21,21,.7), rgba(5,5,5,.9));
  transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;
}
.why-item:hover{
  transform:translateY(-5px); border-color:rgba(212,167,44,.45);
  box-shadow:0 22px 50px rgba(0,0,0,.5), 0 0 26px rgba(212,167,44,.08);
}
.why-ico{
  display:flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:12px; margin-bottom:18px;
  font-size:1.25rem; color:var(--gold);
  border:1px solid rgba(212,167,44,.4); background:rgba(212,167,44,.08);
}
.why-item h3{ font-size:1.06rem; font-weight:700; color:var(--white); margin-bottom:8px; letter-spacing:.01em; }
.why-item p{ font-size:.92rem; color:var(--text-muted); }

/* ==========================================================================
   WORK — CLIENT, SHOWCASES
   ========================================================================== */
.work{ background:radial-gradient(ellipse 100% 90% at 100% 0%, #0e0b06 0%, var(--black) 60%); }

/* Featured client */
.client-card{
  border-radius:var(--radius); padding:36px;
  border:1px solid rgba(212,167,44,.26);
  background:linear-gradient(160deg, rgba(24,20,14,.9), rgba(5,5,5,.97));
  box-shadow:var(--shadow-card);
  margin-bottom:44px;
}
.client-card-top{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.client-logo-slot{
  position:relative; display:flex; align-items:center; justify-content:center;
  width:170px; height:110px; border-radius:14px; flex:none;
  border:1.5px dashed rgba(212,167,44,.45); background:rgba(212,167,44,.05);
  text-align:center; color:var(--text-muted); font-weight:700; font-size:.9rem; line-height:1.5;
}
.client-logo-ph em{ font-style:italic; font-weight:500; font-size:.72rem; color:rgba(168,168,168,.75); }
.edit-tag{
  position:absolute; top:-9px; left:12px; padding:2px 10px; border-radius:999px;
  font-size:.6rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
  color:var(--black); background:var(--gold); text-indent:.18em;
}
.client-heading{ flex:1; min-width:220px; }
.client-name{
  font-family:var(--font-display); font-size:clamp(1.4rem,3vw,2rem); color:var(--white);
  text-transform:uppercase; letter-spacing:.02em;
}
.client-role{ margin-top:8px; color:var(--text-muted); }
.client-role strong{ color:var(--gold-light); font-weight:600; }
.client-badge{
  padding:8px 16px; border-radius:999px; font-size:.66rem; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase; color:var(--black);
  background:var(--gold-gradient); text-indent:.2em;
}
.client-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:32px; }
.client-block h4{
  font-size:.72rem; font-weight:800; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold); margin-bottom:12px; text-indent:.24em;
}
.client-block p{ color:var(--text-muted); font-size:.96rem; }

.placeholder-text{
  opacity:.75; font-style:italic;
  border-left:2px dashed rgba(212,167,44,.4); padding-left:14px;
}
.placeholder-badge{
  display:inline-block; padding:7px 14px; border-radius:999px; margin-bottom:10px;
  font-size:.62rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase;
  border:1px solid rgba(201,201,201,.35); color:var(--silver-light);
  background:rgba(201,201,201,.06); text-indent:.2em;
}
.placeholder-badge.gold{ border-color:rgba(212,167,44,.5); color:var(--gold-light); background:rgba(212,167,44,.08); }

/* Selected work */
.selected-work-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.sw-card{
  position:relative; padding:32px 30px; border-radius:var(--radius); overflow:hidden;
  border:1px solid rgba(201,201,201,.16);
  background:linear-gradient(160deg, rgba(21,21,21,.85), rgba(5,5,5,.95));
  transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;
}
.sw-card:hover{ transform:translateY(-5px); border-color:rgba(212,167,44,.5); box-shadow:0 24px 54px rgba(0,0,0,.5); }
.sw-num{
  font-family:var(--font-display); font-size:2.4rem; font-weight:700;
  background:var(--gold-gradient); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--gold);
}
.sw-num.ghost{
  background:linear-gradient(160deg, rgba(201,201,201,.65), rgba(201,201,201,.12));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.sw-card h3{ font-family:var(--font-display); font-size:1.2rem; color:var(--white); text-transform:uppercase; margin:10px 0 8px; }
.sw-card p{ color:var(--text-muted); font-size:.94rem; margin-bottom:16px; }

/* Sub divider */
.sub-divider{
  height:1px; margin:26px 0 60px;
  background:linear-gradient(90deg, transparent, rgba(212,167,44,.4), transparent);
}

/* Creative strip */
.media-strip{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(270px,320px);
  gap:18px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding-bottom:16px; cursor:grab;
}
.media-strip::-webkit-scrollbar{ height:8px; }
.media-strip::-webkit-scrollbar-thumb{ background:rgba(212,167,44,.5); }
.media-tile{ scroll-snap-align:start; }
.tile-media{
  position:relative; height:210px; border-radius:14px; overflow:hidden;
  border:1px solid rgba(212,167,44,.22);
  display:flex; align-items:center; justify-content:center;
  transition:transform .45s var(--ease), border-color .45s, box-shadow .45s;
}
.tile-media:hover{ transform:scale(1.02); border-color:rgba(245,200,76,.7); box-shadow:0 20px 50px rgba(0,0,0,.55), 0 0 30px rgba(212,167,44,.14); }
.ph-video{
  background:
    radial-gradient(circle at 70% 25%, rgba(245,200,76,.16), transparent 55%),
    repeating-linear-gradient(-45deg, rgba(212,167,44,.07) 0 1px, transparent 1px 12px),
    linear-gradient(160deg, rgba(15,15,15,.95), rgba(5,5,5,1));
}
.ph-poster{
  background:
    radial-gradient(circle at 30% 70%, rgba(201,201,201,.1), transparent 55%),
    repeating-linear-gradient(45deg, rgba(201,201,201,.05) 0 1px, transparent 1px 10px),
    linear-gradient(160deg, rgba(18,15,10,.95), rgba(5,5,5,1));
}
.ph-social{
  background:
    radial-gradient(circle at 50% 30%, rgba(143,103,21,.28), transparent 60%),
    linear-gradient(rgba(212,167,44,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212,167,44,.05) 1px, transparent 1px),
    linear-gradient(160deg, rgba(12,12,12,.98), rgba(5,5,5,1));
  background-size:auto, 30px 30px, 30px 30px, auto;
}
.social-link {
    position: relative;
    z-index: 10;
    pointer-events: auto;
    cursor: pointer;
}

.social-link svg {
    pointer-events: none;
}
.play-badge{
  width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--gold-gradient); color:var(--black); font-size:.8rem; padding-left:4px;
  box-shadow:0 12px 30px rgba(212,167,44,.5);
}
.tile-cat{
  position:absolute; left:14px; top:14px; padding:5px 12px; border-radius:999px;
  font-size:.6rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold-light); border:1px solid rgba(212,167,44,.45); background:rgba(5,5,5,.6);
  backdrop-filter:blur(4px); text-indent:.2em;
}
.tile-title{ margin-top:12px; font-size:.92rem; color:var(--text-light); font-weight:600; }
.tile-title em{ display:block; font-style:italic; color:var(--text-muted); font-weight:500; font-size:.8rem; margin-top:3px; }
.strip-note{ margin-top:16px; font-size:.8rem; color:rgba(168,168,168,.7); letter-spacing:.04em; }

/* DX showcase */
.dx-stage{ position:relative; }
.dx-caption{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; }
.dx-item{
  padding:9px 18px; border-radius:999px; cursor:pointer;
  font-size:.82rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--text-muted); border:1px solid rgba(201,201,201,.22);
  transition:all .35s var(--ease);
}
.dx-item:hover{ color:var(--gold-light); border-color:rgba(212,167,44,.5); }
.dx-item.is-active{
  color:var(--black); background:var(--gold-gradient);
  border-color:var(--gold-light); box-shadow:0 8px 24px rgba(212,167,44,.4);
}
.dx-viewport{ overflow:hidden; border-radius:var(--radius); }
.dx-track{ display:flex; transition:transform .6s cubic-bezier(.22,.61,.36,1); }
.dx-slide{
  flex:0 0 100%; display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:40px 24px; min-height:340px; justify-content:center;
  border:1px solid rgba(212,167,44,.16);
  background:radial-gradient(ellipse 80% 90% at 50% 100%, rgba(143,103,21,.14), transparent 60%), rgba(10,9,7,.8);
}
.dx-devices{ display:flex; align-items:flex-end; gap:16px; height:210px; margin-bottom:26px; position:relative; }
.dx-slide h4{ font-family:var(--font-display); font-size:1.3rem; color:var(--white); text-transform:uppercase; letter-spacing:.04em; }
.dx-slide p{ margin:10px 0 14px; color:var(--text-muted); max-width:420px; font-size:.96rem; }
.dx-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:48px; height:48px; border-radius:50%; z-index:5;
  background:rgba(5,5,5,.7); color:var(--gold); font-size:1.5rem;
  border:1px solid rgba(212,167,44,.5); backdrop-filter:blur(6px);
  transition:background .3s, color .3s, box-shadow .3s;
}
.dx-nav:hover{ background:var(--gold-gradient); color:var(--black); box-shadow:0 0 22px rgba(212,167,44,.5); }
.dx-prev{ left:8px; }
.dx-next{ right:8px; }
.ui-count{ display:block; height:26px; width:66%; border-radius:5px; background:rgba(212,167,44,.2); border:1px solid rgba(212,167,44,.3); margin:4px 0; }

/* Measurement */
.measure-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.measure-card{
  padding:28px 26px; border-radius:var(--radius);
  border:1px solid rgba(201,201,201,.16);
  background:linear-gradient(170deg, rgba(21,21,21,.9), rgba(5,5,5,.96));
  transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;
}
.measure-card:hover{ transform:translateY(-5px); border-color:rgba(212,167,44,.5); box-shadow:0 24px 54px rgba(0,0,0,.5); }
.m-head{ display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.m-logo{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:10px; font-size:1.1rem;
  color:var(--gold); border:1px solid rgba(212,167,44,.4); background:rgba(212,167,44,.08);
}
.m-head h3{ font-size:1rem; font-weight:700; color:var(--white); }
.measure-card > p{ font-size:.9rem; color:var(--text-muted); margin-bottom:16px; }
.m-chart{ height:96px; position:relative; }
.m-chart svg{ width:100%; height:64px; }
.m-bar{ stroke:var(--gold-bright); stroke-width:6; stroke-linecap:round; filter:drop-shadow(0 0 5px rgba(245,200,76,.5)); stroke-dasharray:400; stroke-dashoffset:400; }
.m-area{ fill:rgba(212,167,44,.16); }
.m-line{ stroke:var(--gold); stroke-width:2.2; stroke-linecap:round; filter:drop-shadow(0 0 6px rgba(245,200,76,.55)); stroke-dasharray:600; stroke-dashoffset:600; }
.m-caption{ position:absolute; right:0; bottom:0; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(168,168,168,.7); }
.m-bars{ display:flex; align-items:flex-end; gap:8px; height:64px; }
.m-bars .bar{ width:100%; height:var(--b); border-radius:3px 3px 0 0; background:var(--gold-gradient); opacity:0; transform-origin:bottom; }
.measure-card.is-visible .m-bar{ animation:drawLine 2.2s var(--ease) forwards; }
.measure-card.is-visible .m-line{ animation:drawLine 2.2s var(--ease) forwards; }
.measure-card.is-visible .m-bars .bar{ animation:barUp .8s var(--ease) forwards; }
.fine-print{ margin-top:26px; font-size:.72rem; line-height:1.8; color:rgba(168,168,168,.65); max-width:820px; }

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.testimonials{ background:var(--black); padding-top:0; }
.t-coming{
  max-width:640px; margin:0 auto; text-align:center;
  padding:46px 36px; border-radius:var(--radius);
  border:1px dashed rgba(212,167,44,.35); background:rgba(212,167,44,.04);
}
.t-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:60px; height:60px; border-radius:50%; font-family:var(--font-display);
  font-size:2rem; color:var(--gold); border:1px solid rgba(212,167,44,.5);
  background:rgba(212,167,44,.08); margin-bottom:16px;
}
.t-coming h3{ font-family:var(--font-display); font-size:1.3rem; color:var(--white); text-transform:uppercase; }
.t-coming p{ margin:10px 0 20px; color:var(--text-muted); font-size:.96rem; }

/* ==========================================================================
   INSIGHTS
   ========================================================================== */
.insights{ background:var(--black); }
.filter-bar{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px; }
.filter-btn{
  padding:9px 18px; border-radius:999px; font-size:.82rem; font-weight:600;
  letter-spacing:.03em; color:var(--text-muted); border:1px solid rgba(201,201,201,.22);
  transition:all .35s var(--ease);
}
.filter-btn:hover{ color:var(--gold-light); border-color:rgba(212,167,44,.5); }
.filter-btn.is-active{
  color:var(--black); background:var(--gold-gradient);
  border-color:var(--gold-light); box-shadow:0 8px 22px rgba(212,167,44,.35);
}
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.blog-card{
  position:relative; padding:30px 26px; border-radius:var(--radius);
  border:1px solid rgba(201,201,201,.14);
  background:linear-gradient(160deg, rgba(21,21,21,.85), rgba(5,5,5,.95));
  display:flex; flex-direction:column;
  transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;
}
.blog-card:hover{ transform:translateY(-5px); border-color:rgba(212,167,44,.5); box-shadow:0 24px 54px rgba(0,0,0,.5); }
.blog-cat{
  align-self:flex-start; padding:6px 12px; border-radius:999px; margin-bottom:16px;
  font-size:.62rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold-light); border:1px solid rgba(212,167,44,.4); background:rgba(212,167,44,.07); text-indent:.18em;
}
.blog-card h3{ font-size:1.06rem; font-weight:700; line-height:1.45; color:var(--white); margin-bottom:10px; }
.blog-card p{ font-size:.92rem; color:var(--text-muted); margin-bottom:18px; flex:1; }
.blog-more{ align-self:flex-start; font-size:.86rem; font-weight:700; color:var(--gold); letter-spacing:.05em; transition:color .3s; }
.blog-more .arrow{ display:inline-block; transition:transform .3s var(--ease); margin-left:6px; }
.blog-more:hover{ color:var(--gold-bright); }
.blog-more:hover .arrow{ transform:translateX(5px); }
.blog-card.is-hidden{ display:none; }

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{ background:var(--black); }
.faq-list{ max-width:820px; margin:0 auto; }
.faq-item{
  border:1px solid rgba(201,201,201,.16); border-radius:14px; margin-bottom:14px;
  background:linear-gradient(160deg, rgba(21,21,21,.75), rgba(5,5,5,.92));
  overflow:hidden; transition:border-color .4s, box-shadow .4s;
}
.faq-item[open]{ border-color:rgba(212,167,44,.5); box-shadow:0 18px 44px rgba(0,0,0,.4); }
.faq-item summary{
  list-style:none; cursor:pointer; padding:22px 26px;
  font-weight:700; font-size:1.02rem; color:var(--text-light);
  display:flex; align-items:center; gap:18px;
  transition:color .3s;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+"; margin-left:auto; flex:none;
  width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; color:var(--gold);
  border:1px solid rgba(212,167,44,.5);
  transition:transform .4s var(--ease), background .4s, color .4s;
}
.faq-item[open] summary{ color:var(--gold-light); }
.faq-item[open] summary::after{ transform:rotate(45deg); background:var(--gold-gradient); color:var(--black); border-color:transparent; }
.faq-item p{
  margin:0; padding:0 26px; max-height:0; overflow:hidden;
  color:var(--text-muted); font-size:.96rem; max-width:640px;
  transition:max-height .5s var(--ease), padding .5s var(--ease);
}
.faq-item[open] p{
  padding:0 26px 24px; max-height:400px;
}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.contact{ background:radial-gradient(ellipse 100% 90% at 0% 100%, #0d0a05 0%, var(--black) 60%); }
.contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(30px,5vw,60px); align-items:start; }
.contact-info{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.info-card{
  padding:24px 22px; border-radius:var(--radius);
  border:1px solid rgba(201,201,201,.15);
  background:linear-gradient(160deg, rgba(21,21,21,.8), rgba(5,5,5,.94));
  transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;
}
.info-card:hover{ transform:translateY(-4px); border-color:rgba(212,167,44,.45); box-shadow:0 20px 46px rgba(0,0,0,.5); }
.info-ico{
  display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:11px; margin-bottom:14px;
  font-size:1.05rem; color:var(--gold);
  border:1px solid rgba(212,167,44,.4); background:rgba(212,167,44,.08);
}
.info-card h3{ font-size:.78rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-light); margin-bottom:8px; text-indent:.2em; }
.info-card p{ font-size:.92rem; color:var(--text-light); line-height:1.7; }
.info-card a{ color:var(--text-light); transition:color .3s; }
.info-card a:hover{ color:var(--gold); }
.info-card .text-link{ margin-top:10px; }

.contact-form{
  padding:34px; border-radius:var(--radius);
  border:1px solid rgba(212,167,44,.24);
  background:linear-gradient(160deg, rgba(22,19,14,.92), rgba(5,5,5,.97));
  box-shadow:var(--shadow-card);
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field{ margin-bottom:18px; position:relative; }
.field label{
  display:block; font-size:.74rem; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--silver); margin-bottom:8px;
}
.field input,.field select,.field textarea{
  width:100%; padding:13px 16px; border-radius:12px;
  background:rgba(5,5,5,.7); color:var(--text-light);
  border:1px solid rgba(201,201,201,.22);
  transition:border-color .3s, box-shadow .3s, background .3s;
  resize:vertical;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:rgba(212,167,44,.7);
  box-shadow:0 0 0 3px rgba(212,167,44,.14), 0 0 20px rgba(212,167,44,.1);
  background:rgba(8,8,8,.9);
}
.field select{ appearance:none; background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23D4A72C' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; cursor:pointer; }
.field select option{ background:var(--charcoal); color:var(--text-light); }
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{ border-color:rgba(245,200,76,.85); box-shadow:0 0 0 3px rgba(245,200,76,.12); }
.field-err{
  display:none; margin-top:7px; font-size:.78rem; color:var(--gold-bright);
}
.field.is-invalid .field-err{ display:block; }
.form-note{ margin-top:14px; font-size:.78rem; color:rgba(168,168,168,.75); text-align:center; }

/* ==========================================================================
   FINAL CTA
   ========================================================================== */
.final-cta{ background:var(--black); padding:clamp(96px,12vw,160px) 0; }
.cta-bg{ position:absolute; inset:0; pointer-events:none; }
.cta-trail{ position:absolute; inset:0; width:100%; height:100%; }
.trail-path{
  stroke-dasharray:1800; stroke-dashoffset:1800;
  animation:drawWave 11s var(--ease) infinite alternate;
  filter:drop-shadow(0 0 10px rgba(245,200,76,.35));
}
.cta-content{ position:relative; z-index:2; text-align:center; max-width:820px; }
.cta-title{
  font-family:var(--font-display);
  font-size:clamp(2.1rem,6vw,3.9rem); font-weight:600; line-height:1.12;
  color:var(--white); text-transform:uppercase;
}
.cta-sub{ margin:24px auto 40px; max-width:600px; color:var(--text-muted); font-size:1.08rem; }
.cta-content .hero-ctas{ justify-content:center; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{
  border-top:1px solid rgba(212,167,44,.2);
  background:linear-gradient(180deg, var(--black-soft), var(--black));
  padding:72px 0 0;
}
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:52px; }
.footer-tag{ margin:18px 0 22px; color:var(--text-muted); font-size:.95rem; font-style:italic; max-width:300px; }
.footer-socials{ display:flex; gap:12px; }
.footer-socials a{
  display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:11px;
  border:1px solid rgba(201,201,201,.25); color:var(--text-muted);
  transition:all .35s var(--ease);
}
.footer-socials a svg{ width:18px; height:18px; }
.footer-socials a:hover{ color:var(--black); background:var(--gold-gradient); border-color:var(--gold-light); transform:translateY(-3px); box-shadow:0 10px 24px rgba(212,167,44,.35); }
.footer-col h4{
  font-size:.74rem; font-weight:800; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold); margin-bottom:18px; text-indent:.24em;
}
.footer-col ul li{ margin-bottom:10px; line-height:1.6; }
.footer-col a{ color:var(--text-muted); font-size:.94rem; transition:color .3s; }
.footer-col a:hover{ color:var(--gold-light); }
.footer-bottom{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  padding:20px 0; border-top:1px solid rgba(201,201,201,.12);
  font-size:.82rem; color:var(--text-muted);
}
.footer-domain{ letter-spacing:.14em; text-transform:uppercase; }

/* ==========================================================================
   MEDIA QUERIES (base-level; see responsive.css for the rest)
   ========================================================================== */
@media (max-width:1024px){
  .about-concepts{ grid-template-columns:1fr; max-width:430px; }
  .about-grid{ grid-template-columns:1fr; }
  .measure-grid{ grid-template-columns:1fr 1fr; }
  .blog-grid{ grid-template-columns:1fr 1fr; }
  .pillar-body{ grid-template-columns:1fr; }
}

@media (max-width:920px){
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .why-grid{ grid-template-columns:1fr 1fr; }
}