/*
Theme Name: Denny George Performance Marketing
Theme URI: https://dennygeorge.in/
Author: Denny George
Author URI: https://dennygeorge.in/
Description: Custom single-page portfolio theme for a performance marketing expert — Meta Ads, Google Ads & Shopify growth. Converted from the dennygeorge.in static site.
Version: 1.0.0
Requires at least: 5.9
Requires PHP: 7.4
License: Proprietary
Text Domain: denny-george
*/

/* ═══════════════════════ TOKENS ═══════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --ash:  #1A1200;
  --ash2: #140E00;
  --ash3: #0F0900;
  --ash4: #0A0800;
  --ink:  #FFFBEB;
  --ink2: #E8D5A0;
  --ink3: #A08840;
  --wh:   #111827;
  --red:  #F59E0B;
  --red2: #D97706;
  --red3: #FCD34D;
  --rg:   rgba(245,158,11,.13);
  --bdr:  rgba(255,251,235,.10);
  --bdr2: rgba(255,251,235,.06);
  --f:    'Plus Jakarta Sans',sans-serif;
  --fb:   'DM Sans',sans-serif;
  --m:    'DM Mono',monospace;
  --ease: cubic-bezier(.22,1,.36,1);
}
html{overflow-x:hidden;scroll-behavior:smooth;}
body{font-family:var(--fb);background:#0A0800;color:var(--ink);overflow-x:hidden;cursor:none;-webkit-font-smoothing:antialiased;}

/* CURSOR */
#cur{position:fixed;width:8px;height:8px;background:var(--red);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .15s,height .15s,background .2s;box-shadow:0 0 10px rgba(245,158,11,.8),0 0 20px rgba(245,158,11,.4);}
#cur2{position:fixed;width:36px;height:36px;border:1.5px solid rgba(245,158,11,.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .25s,height .25s,border-color .25s,opacity .25s;}
body.hov #cur{width:14px;height:14px;background:var(--red3);}
body.hov #cur2{width:52px;height:52px;border-color:var(--red);border-width:2px;}
@media(hover:none){#cur,#cur2{display:none;}body{cursor:auto;}}

/* PROGRESS */
#prog{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--red),var(--red2));z-index:9999;width:0;pointer-events:none;transition:width .1s linear;}

/* ═══════════════════════ NAV ═══════════════════════ */
/* ═══ NAV SURPRISE ANIMATION ═══ */
#nav-morph{
  position:fixed;top:0;left:0;right:0;height:68px;
  z-index:499;pointer-events:none;
}
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;height:68px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;background:transparent;border-bottom:1px solid transparent;
  transition:background .4s,border-color .4s,backdrop-filter .4s;
}
nav.up{
  background:rgba(10,8,0,.92);
  border-bottom-color:var(--bdr);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}

/* NAV LINKS — pill slide animation */
.nl{display:flex;gap:.1rem;list-style:none;align-items:center;}
.nl li{position:relative;}
.nl a{
  font-size:.7rem;font-weight:600;color:var(--ink2);
  text-decoration:none;background:none;border:none;
  cursor:pointer;font-family:var(--fb);letter-spacing:.02em;
  padding:6px 13px;display:block;position:relative;
  transition:color .2s;
}
.nl a::before{
  content:'';position:absolute;inset:2px;background:var(--ash3);
  transform:scaleX(0) scaleY(.5);transform-origin:center;
  transition:transform .3s var(--ease);z-index:-1;border-radius:2px;
}
.nl a:hover::before,.nl a.act::before{transform:scaleX(1) scaleY(1);}
.nl a:hover,.nl a.act{color:var(--ink);}
.nl a.act::after{
  content:'';position:absolute;bottom:1px;left:50%;
  transform:translateX(-50%);width:4px;height:4px;
  border-radius:50%;background:var(--red);
  animation:breath 2.5s ease infinite;
}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;cursor:pointer;}
.logo-sq{
  width:36px;height:36px;background:var(--red);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--m);font-size:.74rem;font-weight:700;color:#fff;
  flex-shrink:0;transition:transform .35s var(--ease),box-shadow .35s;
}
.logo:hover .logo-sq{transform:rotate(-9deg) scale(1.08);box-shadow:0 8px 24px rgba(245,158,11,.35);}
.logo-info{display:flex;flex-direction:column;gap:2px;}
.logo-name{font-family:var(--f);font-size:.88rem;font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1;}
.logo-role{font-family:var(--m);font-size:.42rem;color:var(--ink3);letter-spacing:.15em;text-transform:uppercase;}
.nav-social{display:flex;align-items:center;gap:10px;margin-right:4px;}
.nav-soc-link{color:var(--ink3);transition:color .2s;display:flex;align-items:center;}
.nav-soc-link:hover{color:var(--red);}
.mobnav-social{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--bdr);}
.mobnav-soc-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;border:1.5px solid var(--bdr);color:var(--ink2);font-family:var(--fb);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-decoration:none;transition:border-color .2s,color .2s;background:var(--wh);}
.mobnav-soc-btn:hover{border-color:var(--red);color:var(--red);}
.ncta{
  height:38px;padding:0 22px;background:var(--red);color:#fff;
  border:none;font-family:var(--fb);font-size:.7rem;font-weight:700;
  letter-spacing:.04em;cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
  transition:background .25s,box-shadow .25s,transform .15s;
}
.ncta:hover{background:var(--red2);box-shadow:0 8px 28px rgba(245,158,11,.38);transform:translateY(-2px);}
.ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.ham span{display:block;width:22px;height:1.5px;background:var(--ink);transition:.3s;}
.ham.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px);}
.ham.open span:nth-child(2){opacity:0;}
.ham.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px);}

/* MOB NAV */
.mobnav{
  position:fixed;inset:0;background:var(--ash);z-index:600;
  display:flex;flex-direction:column;justify-content:center;
  padding:0 44px;transform:translateY(-100%);
  transition:transform .5s var(--ease);
}
.mobnav.open{transform:translateY(0);}
.mobnav a{
  font-family:var(--f);font-size:2.4rem;font-weight:900;
  color:var(--ash4);text-decoration:none;background:none;border:none;
  cursor:pointer;padding:12px 0;border-bottom:1.5px solid var(--bdr);
  display:flex;justify-content:space-between;align-items:center;
  transition:color .2s,padding-left .2s;letter-spacing:-.05em;
}
.mobnav a .mn-arrow{font-size:1.2rem;opacity:0;transition:opacity .2s,transform .2s;color:var(--red);}
.mobnav a:hover{color:var(--ink);padding-left:10px;}
.mobnav a:hover .mn-arrow{opacity:1;}
.mobnav a:last-child{border:none;color:var(--red);}
.mobnav a:last-child .mn-arrow{opacity:1;}
.mobnav-stats{display:flex;gap:2rem;margin-top:28px;border-top:1.5px solid var(--bdr);padding-top:20px;}
.mn-stat-v{font-family:var(--m);font-size:1.2rem;font-weight:700;color:var(--red);display:block;}
.mn-stat-l{font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);font-family:var(--m);}
.mob-x{position:absolute;top:22px;right:22px;background:none;border:1.5px solid var(--bdr);border-radius:50%;cursor:pointer;color:var(--ink3);width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:border-color .2s,color .2s;}
.mob-x:hover{border-color:var(--red);color:var(--red);}

/* PAGES */
main{margin-top:68px;}
.page{display:none;}
.page.active{display:block;}

/* ═══════════════════════ HERO ═══════════════════════ */
/* construction canvas — full bg on mobile, right half on desktop */
#construction-canvas{
  position:absolute;inset:0;
  width:100%;height:100%;z-index:1;pointer-events:none;
  opacity:.18; /* very faint on mobile = background only */
}
@media(min-width:769px){
  #construction-canvas{
    left:45%;right:0;width:55%;
    opacity:1; /* full on desktop */
  }
}
/* hero layout — left content, right canvas */
.hero-inner{position:relative;z-index:3;}
.hero-stats{position:relative;z-index:3;}
.hero-bg-num{display:none;}

/* Full ash-based hero — NO black */
.hero{
  min-height:calc(100svh - 82px);
  background:var(--ash2);
  display:grid;grid-template-rows:1fr auto;
  position:relative;overflow:hidden;
}
#hcanvas{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;}
/* subtle dot grid */
.hgrid{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:radial-gradient(circle,rgba(245,158,11,.08) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:radial-gradient(ellipse 75% 75% at 50% 50%,black 30%,transparent 100%);
}
/* Large kinetic number in bg */
.hero-bg-num{
  position:absolute;right:-2%;bottom:-8%;z-index:1;
  font-family:var(--f);font-size:clamp(18rem,35vw,42rem);
  font-weight:900;letter-spacing:-.08em;line-height:.85;
  color:transparent;
  -webkit-text-stroke:1.5px rgba(245,158,11,.12);
  pointer-events:none;user-select:none;
  animation:floatNum 8s ease-in-out infinite;
}
@keyframes floatNum{0%,100%{transform:translateY(0);}50%{transform:translateY(-18px);}}

.hero-inner{
  position:relative;z-index:2;
  padding:80px 52px 40px;
  max-width:1200px;width:100%;margin:0 auto;
  display:flex;flex-direction:column;justify-content:center;
}

/* STATUS TAG */
.hero-tag{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 16px;background:var(--wh);
  border:1.5px solid var(--bdr);
  font-family:var(--m);font-size:.55rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink2);
  width:fit-content;margin-bottom:36px;
  box-shadow:0 2px 12px rgba(245,158,11,.04);
  opacity:0;animation:su .7s .1s var(--ease) forwards;
}
.hero-tag-dot{width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0;animation:breath 2.5s ease infinite;box-shadow:0 0 0 3px rgba(245,158,11,.2);}
@keyframes breath{0%,100%{box-shadow:0 0 0 3px rgba(245,158,11,.2);}50%{box-shadow:0 0 0 8px rgba(245,158,11,.07);}}
@keyframes su{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

/* HERO TITLE — big clean slide-up lines */
.hero-h{
  font-family:var(--f);
  font-size:clamp(3.6rem,9vw,9.5rem);
  font-weight:900;line-height:.88;
  letter-spacing:-.055em;margin-bottom:28px;
  color:var(--ink);
}
.hero-h .row{display:block;overflow:hidden;}
.hero-h .row .inner{
  display:block;
  transform:translateY(108%);
  transition:transform 1s var(--ease);
}
.hero-h .row .inner.go{transform:translateY(0);}
.hero-h .hi{color:var(--red);}
.hero-h .row:nth-child(1) .inner{transition-delay:.12s;}
.hero-h .row:nth-child(2) .inner{transition-delay:.26s;}
.hero-h .row:nth-child(3) .inner{transition-delay:.40s;}

.hero-sub{
  font-size:clamp(.88rem,1.4vw,1.08rem);
  color:var(--ink2);max-width:500px;line-height:1.82;
  margin-bottom:40px;
  opacity:0;animation:su .8s .72s var(--ease) forwards;
}
.hero-btns{
  display:flex;gap:12px;flex-wrap:wrap;
  opacity:0;animation:su .8s .88s var(--ease) forwards;
}

/* ANIMATED PLATFORM CHIPS */
.hero-chips{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-top:36px;padding-top:24px;
  border-top:1.5px solid var(--bdr);
  opacity:0;animation:su .8s 1.05s var(--ease) forwards;
}
.chip{
  padding:5px 14px;border:1.5px solid var(--bdr);
  background:var(--wh);font-family:var(--m);
  font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink3);cursor:default;
  transition:border-color .25s,color .25s,transform .25s,box-shadow .25s;
}
.chip:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px);box-shadow:0 4px 14px rgba(245,158,11,.15);}

/* HERO STAT BAR */
.hero-stats{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1.5px solid var(--bdr);
  opacity:0;animation:su .8s 1.1s var(--ease) forwards;
}
.hs-cell{padding:26px 52px;border-right:1.5px solid var(--bdr);background:var(--wh);}
.hs-cell:last-child{border-right:none;}
.hs-num{font-family:var(--f);font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:900;display:block;margin-bottom:5px;color:var(--ink);letter-spacing:-.04em;}
.hs-num.red{color:var(--red);}
.hs-lbl{font-family:var(--m);font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);}

/* BUTTONS */
.btn-r{height:50px;padding:0 34px;background:var(--red);color:#fff;border:none;font-family:var(--fb);font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;transition:background .25s,box-shadow .25s,transform .15s;}
.btn-r::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.12);opacity:0;transition:opacity .3s;}
.btn-r:hover{background:var(--red2);box-shadow:0 10px 34px rgba(245,158,11,.38);transform:translateY(-2px);}
.btn-r:hover::before{opacity:1;}
.btn-ash{height:50px;padding:0 34px;background:var(--ash3);color:var(--ink);border:1.5px solid var(--bdr);font-family:var(--fb);font-size:.76rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all .25s var(--ease);}
.btn-ash:hover{background:var(--ash4);border-color:rgba(245,158,11,.2);transform:translateY(-2px);}

/* ═══════════════════════ MARQUEE ═══════════════════════ */
.mq-wrap{overflow:hidden;background:var(--red);padding:11px 0;}
.mq-inner{display:flex;width:max-content;animation:mq 30s linear infinite;}
.mq-inner:hover{animation-play-state:paused;}
.mq-item{display:flex;align-items:center;gap:10px;padding:0 28px;font-family:var(--m);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);white-space:nowrap;}
.mq-item b{color:#fff;font-weight:700;}
.mq-sep{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.4);flex-shrink:0;}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ═══════════════════════ SECTIONS ═══════════════════════ */
.sec{padding:112px 52px;position:relative;}
.si{max-width:1200px;margin:0 auto;}
.s-ash{background:var(--ash);}
.s-ash2{background:var(--ash2);}
.s-ash3{background:var(--ash3);}
.s-wh{background:var(--wh);}
/* accent strip section */
.s-accent{background:var(--red);color:#fff;}
.s-accent .sdesc{color:rgba(255,255,255,.65);}
.s-accent .slbl{color:rgba(255,255,255,.7);}
.s-accent .slbl::before{background:rgba(255,255,255,.5);}

/* SECTION LABEL */
.slbl{display:inline-flex;align-items:center;gap:10px;font-family:var(--m);font-size:.5rem;letter-spacing:.26em;text-transform:uppercase;color:var(--red);margin-bottom:14px;}
.slbl::before{content:'';width:28px;height:1.5px;background:var(--red);flex-shrink:0;}

/* BIG HEADINGS — word-by-word scroll reveal */
h2.bh{font-family:var(--f);font-size:clamp(2.6rem,5.5vw,5.2rem);font-weight:900;letter-spacing:-.05em;line-height:.9;margin-bottom:14px;color:var(--ink);word-spacing:-.02em;}
h2.bh em{font-style:normal;color:var(--red);}
h2.bh .bw{display:inline-block;overflow:visible;vertical-align:bottom;}
h2.bh .bw span{display:inline-block;transform:translateY(110%);transition:transform .75s var(--ease);}
h2.bh .bw span.go{transform:translateY(0);}
h2.bh .bw span.go{transform:translateY(0);}
.s-accent h2.bh{color:#fff;}
.s-accent h2.bh em{color:rgba(255,255,255,.7);}
.sdesc{font-size:.92rem;color:var(--ink2);max-width:440px;line-height:1.85;}

/* ═══════════════════════ GRIDS ═══════════════════════ */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--bdr);margin-top:56px;}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bdr);margin-top:56px;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);}

/* ═══════════════════════ SERVICE CARD ═══════════════════════ */
.svc{background:var(--wh);padding:40px;border-top:2px solid transparent;transition:border-color .3s,background .3s,transform .4s var(--ease),box-shadow .4s;transform-style:preserve-3d;}
.svc:hover{border-top-color:var(--red);transform:translateY(-6px);box-shadow:0 24px 56px rgba(245,158,11,.06);}
.svc-n{font-family:var(--m);font-size:.52rem;color:var(--red);letter-spacing:.2em;display:block;margin-bottom:18px;}
.svc h3{font-family:var(--f);font-size:1.3rem;font-weight:800;letter-spacing:-.04em;margin-bottom:11px;color:var(--ink);}
.svc p{font-size:.82rem;color:var(--ink2);line-height:1.75;}
.svc-tag{display:inline-block;margin-top:20px;font-family:var(--m);font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);border:1px solid rgba(245,158,11,.22);padding:4px 10px;background:rgba(245,158,11,.04);}
.feat{list-style:none;margin-top:16px;}
.feat li{padding:7px 0 7px 18px;position:relative;font-size:.79rem;color:var(--ink2);border-bottom:1px solid var(--bdr2);line-height:1.65;}
.feat li:last-child{border-bottom:none;}
.feat li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;background:var(--red);border-radius:50%;}

/* ═══════════════════════ SPLIT BIG STATS ═══════════════════════ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bdr);margin-top:64px;}
.split-c{background:var(--wh);padding:52px 44px;display:flex;flex-direction:column;justify-content:space-between;min-height:280px;transition:background .3s;}
.split-c:hover{background:var(--ash);}
.big-lbl{font-family:var(--m);font-size:.52rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px;}
.big-num{font-family:var(--f);font-size:clamp(4rem,8vw,7rem);font-weight:900;letter-spacing:-.06em;line-height:.85;color:var(--red);}
.big-desc{font-size:.82rem;color:var(--ink2);line-height:1.7;margin-top:16px;max-width:300px;}

/* ═══════════════════════ PROCESS ═══════════════════════ */
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);margin-top:56px;}
.proc{background:var(--wh);padding:36px 28px;border-left:2px solid transparent;transition:border-color .3s,background .3s,transform .35s var(--ease);}
.proc:hover{border-left-color:var(--red);background:var(--ash);transform:translateY(-4px);}
.proc-num{font-family:var(--f);font-size:4rem;font-weight:900;color:rgba(245,158,11,.04);display:block;margin-bottom:16px;line-height:1;letter-spacing:-.04em;}
.proc h4{font-family:var(--f);font-size:1rem;font-weight:700;margin-bottom:8px;color:var(--ink);letter-spacing:-.02em;}
.proc p{font-size:.79rem;color:var(--ink2);line-height:1.7;}

/* ═══════════════════════ PLATFORM BARS ═══════════════════════ */
.bar-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px;}
.bar-card{background:var(--wh);border:1.5px solid var(--bdr);padding:28px;transition:transform .3s var(--ease),box-shadow .3s;}
.bar-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(245,158,11,.05);}
.bar-top{display:flex;justify-content:space-between;margin-bottom:14px;}
.bar-name{font-size:.82rem;font-weight:600;color:var(--ink);}
.bar-pct{font-family:var(--m);font-size:.72rem;font-weight:700;color:var(--red);}
.bar-track{height:2.5px;background:var(--bdr);overflow:hidden;}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--red),var(--red2));transform:scaleX(0);transform-origin:left;transition:transform 1.5s var(--ease);}
.bar-fill.go{transform:scaleX(1);}
.bar-sub{font-size:.73rem;color:var(--ink3);margin-top:10px;line-height:1.65;}

/* ═══════════════════════ METRICS ═══════════════════════ */
.met-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);margin-top:56px;}
.met{background:var(--ash);padding:32px 24px;text-align:center;transition:background .3s,transform .3s var(--ease);}
.met:hover{background:var(--wh);transform:translateY(-4px);}
.met-v{font-family:var(--f);font-size:2.4rem;font-weight:900;letter-spacing:-.04em;color:var(--red);display:block;margin-bottom:6px;}
.met-l{font-family:var(--m);font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);}

/* ═══════════════════════ STAT BANNER ═══════════════════════ */
.sbann{display:grid;gap:1px;background:var(--bdr);margin-bottom:48px;}
.sbann.s4{grid-template-columns:repeat(4,1fr);}
.sb-c{background:var(--ash2);padding:28px 20px;text-align:center;}
.sb-v{font-family:var(--f);font-size:2rem;font-weight:900;letter-spacing:-.04em;color:var(--red);display:block;margin-bottom:6px;}
.sb-v.plain{color:var(--ink);}
.sb-l{font-family:var(--m);font-size:.48rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);}

/* ═══════════════════════ RESULT STRIP ═══════════════════════ */
.rstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bdr);margin-top:56px;}
.rs{background:var(--wh);padding:36px;transition:background .3s,transform .3s var(--ease);}
.rs:hover{background:var(--ash);transform:translateY(-4px);}
.rs-ico{font-size:2rem;margin-bottom:16px;display:block;}
.rs-v{font-family:var(--f);font-size:2rem;font-weight:900;letter-spacing:-.04em;color:var(--red);display:block;margin-bottom:4px;}
.rs-l{font-family:var(--m);font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);margin-bottom:10px;display:block;}
.rs-t{font-size:.8rem;color:var(--ink2);line-height:1.72;}

/* ═══════════════════════ CASE STUDIES ═══════════════════════ */
.cases{display:flex;flex-direction:column;gap:1px;background:var(--bdr);margin-top:56px;}
.cc{background:var(--wh);padding:44px;border-left:3px solid transparent;transition:border-color .3s,background .3s;}
.cc:hover{background:var(--ash);border-left-color:var(--red);}
.cc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:16px;flex-wrap:wrap;}
.cc-head h3{font-family:var(--f);font-size:1.15rem;font-weight:800;letter-spacing:-.04em;color:var(--ink);}
.cc-meta{font-family:var(--m);font-size:.48rem;letter-spacing:.12em;color:var(--ink3);margin-top:5px;text-transform:uppercase;}
.cc-badge{padding:5px 14px;background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.22);font-family:var(--m);font-size:.48rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red);white-space:nowrap;flex-shrink:0;}
.cc-badge.live{background:rgba(22,163,74,.07);border-color:rgba(22,163,74,.3);color:#16a34a;}
.cc-desc{font-size:.83rem;color:var(--ink2);line-height:1.82;margin-bottom:24px;}
.mr{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);}
.mr-c{background:var(--ash2);padding:16px;text-align:center;}
.mr-v{font-family:var(--f);font-size:1.5rem;font-weight:900;color:var(--red);display:block;margin-bottom:3px;letter-spacing:-.03em;}
.mr-l{font-family:var(--m);font-size:.46rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);}
.ctags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.ctag{font-size:.52rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--bdr);color:var(--ink3);font-family:var(--m);transition:border-color .2s,color .2s;}
.ctag:hover{border-color:var(--red);color:var(--red);}

/* ═══════════════════════ PROC LIST ═══════════════════════ */
.plist{display:flex;flex-direction:column;gap:1px;background:var(--bdr);margin-top:36px;}
.pli{background:var(--wh);padding:24px 28px;display:flex;align-items:flex-start;gap:22px;transition:background .2s;}
.pli:hover{background:var(--ash);}
.pli-n{font-family:var(--f);font-size:1.5rem;font-weight:900;color:var(--red);flex-shrink:0;line-height:1.1;letter-spacing:-.03em;}
.pli strong{font-family:var(--f);font-size:.95rem;font-weight:700;display:block;margin-bottom:4px;color:var(--ink);}
.pli p{font-size:.8rem;color:var(--ink2);line-height:1.65;margin:0;}

/* ═══════════════════════ ABOUT ═══════════════════════ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bdr);margin-top:56px;}
.about-main{background:var(--wh);padding:52px;}
.about-side{background:var(--ash2);padding:52px;display:flex;flex-direction:column;gap:28px;}
.about-p{font-size:.9rem;color:var(--ink2);line-height:1.9;margin-bottom:16px;}
.about-highlight{background:var(--ash);border-left:3px solid var(--red);padding:20px 24px;margin-top:20px;}
.about-highlight p{font-family:var(--f);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.5;}
.about-stat{padding:20px 0;border-bottom:1.5px solid var(--bdr);}
.about-stat:last-child{border-bottom:none;}
.about-stat-num{font-family:var(--f);font-size:2.4rem;font-weight:900;letter-spacing:-.05em;color:var(--red);display:block;margin-bottom:4px;}
.about-stat-lbl{font-family:var(--m);font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);}
.timeline{display:flex;flex-direction:column;gap:1px;background:var(--bdr);margin-top:40px;}
.tl-item{background:var(--wh);padding:22px 28px;display:flex;gap:20px;align-items:flex-start;transition:background .2s;}
.tl-item:hover{background:var(--ash);}
.tl-year{font-family:var(--m);font-size:.62rem;font-weight:700;color:var(--red);flex-shrink:0;width:48px;letter-spacing:.04em;padding-top:2px;}
.tl-content strong{font-size:.88rem;font-weight:700;color:var(--ink);display:block;margin-bottom:3px;}
.tl-content p{font-size:.78rem;color:var(--ink2);line-height:1.65;}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bdr);margin-top:40px;}
.val-card{background:var(--wh);padding:28px;transition:background .3s;}
.val-card:hover{background:var(--ash);}
.val-ico{font-size:1.6rem;display:block;margin-bottom:10px;}
.val-name{font-family:var(--f);font-size:.9rem;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:-.02em;}
.val-desc{font-size:.78rem;color:var(--ink2);line-height:1.7;}

/* ═══════════════════════ CONTACT ═══════════════════════ */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-top:64px;}
.cl{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1.5px solid var(--bdr);text-decoration:none;color:var(--ink);transition:padding-left .25s var(--ease);cursor:pointer;}
.cl:hover{padding-left:8px;}
.cl:hover .cl-arr{color:var(--red);transform:translateX(6px);}
.cl-ico{width:22px;height:22px;flex-shrink:0;}
.cl-lbl{font-family:var(--m);font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);width:66px;flex-shrink:0;}
.cl-val{font-size:.82rem;font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cl-arr{margin-left:auto;color:var(--ink3);transition:color .2s,transform .25s var(--ease);}
.fg{margin-bottom:18px;}
.fg label{display:block;font-family:var(--m);font-size:.46rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px;}
.fg input,.fg textarea,.fg select{width:100%;padding:13px 16px;background:var(--wh);border:1.5px solid var(--bdr);font-family:var(--fb);font-size:.85rem;color:var(--ink);transition:border-color .25s,box-shadow .25s;resize:vertical;-webkit-appearance:none;}
.fg input:focus,.fg textarea:focus,.fg select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(245,158,11,.08);}
.fg select option{background:var(--wh);}
.loc-box{margin-top:28px;padding:28px;background:var(--ash2);border:1.5px solid var(--bdr);border-left:3px solid var(--red);}
.loc-l{font-family:var(--m);font-size:.46rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:8px;}
.loc-c{font-family:var(--f);font-size:1.1rem;font-weight:800;margin-bottom:4px;color:var(--ink);}
.loc-n{font-size:.78rem;color:var(--ink3);}

/* ═══════════════════════ POLICY PAGES ═══════════════════════ */
.policy-wrap{max-width:780px;margin:0 auto;padding:80px 0;}
.policy-wrap h2{font-family:var(--f);font-size:2.6rem;font-weight:900;letter-spacing:-.05em;margin-bottom:6px;color:var(--ink);}
.policy-wrap .p-date{font-family:var(--m);font-size:.52rem;letter-spacing:.14em;color:var(--ink3);text-transform:uppercase;margin-bottom:36px;display:block;}
.policy-wrap h3{font-family:var(--f);font-size:1.1rem;font-weight:700;letter-spacing:-.03em;color:var(--ink);margin:36px 0 12px;}
.policy-wrap p{font-size:.87rem;color:var(--ink2);line-height:1.88;margin-bottom:14px;}
.policy-wrap ul{list-style:none;margin-bottom:14px;}
.policy-wrap ul li{font-size:.87rem;color:var(--ink2);line-height:1.8;padding:5px 0 5px 18px;position:relative;border-bottom:1px solid var(--bdr2);}
.policy-wrap ul li:last-child{border-bottom:none;}
.policy-wrap ul li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;background:var(--red);border-radius:50%;}
.policy-wrap a{color:var(--red);text-decoration:none;}
.policy-wrap a:hover{text-decoration:underline;}
.p-divider{height:1.5px;background:var(--bdr);margin:32px 0;}
.p-box{background:var(--ash2);border:1.5px solid var(--bdr);border-left:3px solid var(--red);padding:22px 24px;margin:20px 0;}
.p-box p{margin:0;font-size:.84rem;color:var(--ink2);line-height:1.8;}

/* ═══════════════════════ FOOTER ═══════════════════════ */
footer{background:var(--ash3);border-top:1.5px solid var(--bdr);padding:80px 52px 36px;}
.fi{max-width:1200px;margin:0 auto;}
.fgrid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:60px;}
.fdesc{font-size:.78rem;line-height:1.82;color:var(--ink3);max-width:220px;margin-top:14px;}
.fsoc{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap;}
.fsoc a{display:flex;align-items:center;gap:7px;padding:7px 14px;border:1.5px solid var(--bdr);text-decoration:none;color:var(--ink3);font-size:.62rem;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:all .25s;font-family:var(--fb);text-transform:uppercase;background:var(--wh);}
.fsoc a:hover{border-color:var(--red);color:var(--red);}
footer h4{font-family:var(--m);font-size:.46rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink3);margin-bottom:18px;}
footer ul{list-style:none;}
footer ul li{margin-bottom:10px;}
footer ul a{font-size:.78rem;color:var(--ink2);text-decoration:none;cursor:pointer;transition:color .2s;}
footer ul a:hover{color:var(--red);}
.fbot{border-top:1.5px solid var(--bdr);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;} .fbot{flex-wrap:nowrap;}
.fbot p{font-size:.6rem;color:var(--ink3);}
/* ── AVAILABLE BADGE — solar system orbit ── */
.fav{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  width:200px;height:200px;
  cursor:pointer;flex-shrink:0;
}
/* Sun core — pulsing circle */
.fav-sun{
  position:absolute;
  width:82px;height:82px;border-radius:50%;
  background:var(--red);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 0 rgba(245,158,11,.5);
  animation:sunPulse 2.5s ease-in-out infinite;
  z-index:2;
}
.fav-sun-label{
  font-family:var(--m);font-size:.52rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  color:#fff;text-align:center;line-height:1.5;
  padding:0 4px;
}
@keyframes sunPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.5),0 0 18px rgba(245,158,11,.35);}
  50%{box-shadow:0 0 0 14px rgba(245,158,11,0),0 0 32px rgba(245,158,11,.6);}
}
/* Orbit ring 1 */
.fav-orbit1{
  position:absolute;
  width:120px;height:120px;border-radius:50%;
  border:1px dashed rgba(245,158,11,.25);
  animation:orbitSpin 5s linear infinite;
}
/* Orbit ring 2 */
.fav-orbit2{
  position:absolute;
  width:178px;height:178px;border-radius:50%;
  border:1px dashed rgba(245,158,11,.15);
  animation:orbitSpin 9s linear infinite reverse;
}
@keyframes orbitSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
/* Planet on orbit 1 */
.fav-planet1{
  position:absolute;top:-7px;left:50%;transform:translateX(-50%);
  width:14px;height:14px;border-radius:50%;
  background:var(--ink);
  display:flex;align-items:center;justify-content:center;
}
/* Planet on orbit 2 */
.fav-planet2{
  position:absolute;top:-6px;left:50%;transform:translateX(-50%);
  width:12px;height:12px;border-radius:50%;
  background:var(--red2);
}
.fav-planet3{
  position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);
  width:8px;height:8px;border-radius:50%;
  background:var(--ash4);
}
/* Labels floating around */
.fav-label{
  position:absolute;
  font-family:var(--m);font-size:.38rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink3);white-space:nowrap;
  pointer-events:none;
}

/* BTT */
#btt{position:fixed;bottom:32px;right:32px;width:44px;height:44px;background:var(--red);color:#fff;border:none;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px);transition:all .3s var(--ease);z-index:200;}
#btt.show{opacity:1;transform:translateY(0);}
#btt:hover{background:var(--red2);box-shadow:0 8px 28px rgba(245,158,11,.4);}

/* MOB CTA */
.mcbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:400;background:rgba(10,8,0,.96);backdrop-filter:blur(16px);padding:10px 16px 18px;gap:10px;border-top:1.5px solid var(--bdr);align-items:center;}
.mcbar-soc{display:flex;gap:8px;align-items:center;flex-shrink:0;}
.mcbar-ico{width:46px;height:50px;display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:6px;transition:opacity .2s;}
.mcbar-ico:hover{opacity:.8;}
.mcwa-ico{background:#25D366;color:#fff;}
.mcfb-ico{background:#1877F2;color:#fff;}
.mcig-ico{background:linear-gradient(135deg,#E1306C,#833AB4,#F77737);color:#fff;}
.mcc{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:50px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-decoration:none;font-family:var(--fb);cursor:pointer;text-transform:uppercase;background:var(--red);color:#fff;}

/* ANIMATED FLOATING SHAPES */
.shape{position:absolute;pointer-events:none;z-index:1;}
.shape-ring{border-radius:50%;border:1.5px solid rgba(245,158,11,.12);animation:ringF 8s ease-in-out infinite;}
@keyframes ringF{0%,100%{transform:scale(1) rotate(0deg);}50%{transform:scale(1.04) rotate(180deg);}}

/* SCROLL ANIMATIONS */
[data-a].in{will-change:opacity,transform;}
[data-a="up"]{opacity:0;transform:translateY(44px);transition:opacity .85s var(--ease),transform .85s var(--ease);}
[data-a="up"].in{opacity:1;transform:translateY(0);}
[data-a="left"]{opacity:0;transform:translateX(-44px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
[data-a="left"].in{opacity:1;transform:translateX(0);}
[data-a="right"]{opacity:0;transform:translateX(44px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
[data-a="right"].in{opacity:1;transform:translateX(0);}
[data-a="scale"]{opacity:0;transform:scale(.88);transition:opacity .8s var(--ease),transform .8s var(--ease);}
[data-a="scale"].in{opacity:1;transform:scale(1);}
[data-d="1"]{transition-delay:.08s;}[data-d="2"]{transition-delay:.16s;}
[data-d="3"]{transition-delay:.24s;}[data-d="4"]{transition-delay:.32s;}
[data-d="5"]{transition-delay:.4s;}[data-d="6"]{transition-delay:.48s;}
.rv{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease);}
.rv.vis{opacity:1;transform:translateY(0);}

/* RESPONSIVE */
@media(max-width:1024px){.proc-grid,.g3{grid-template-columns:1fr 1fr;}.fgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){
  nav{padding:0 22px;}.nl,.ncta,.nav-social{display:none;}.ham{display:flex;}
  .sec{padding:80px 22px;}.hero-inner{padding:60px 22px 32px;}
  .hero-h{font-size:3.2rem;}.hs-cell{padding:22px;}
  .hero-stats{grid-template-columns:1fr 1fr;}
  .hs-cell:nth-child(3){grid-column:1/-1;border-top:1.5px solid var(--bdr);border-right:none;}
  .split,.g2,.g3,.rstrip,.about-grid,.values-grid{grid-template-columns:1fr;}
  .proc-grid{grid-template-columns:1fr 1fr;}.cgrid{grid-template-columns:1fr;gap:48px;}
  .sbann.s4{grid-template-columns:1fr 1fr;}.mr{grid-template-columns:1fr 1fr;}
  .fgrid{grid-template-columns:1fr;gap:2rem;}.fbot{flex-direction:column;text-align:center;}
  .cc{padding:28px 20px;}.cc-head{flex-direction:column;}
  .mcbar{display:flex;}main{padding-bottom:82px;}footer{padding-bottom:100px;}
  #btt{bottom:92px;right:16px;}.bar-grid{grid-template-columns:1fr;}
  .met-grid{grid-template-columns:1fr 1fr;}.hero-bg-num{display:none;}
  .about-main,.about-side{padding:36px 28px;}
}
@media(max-width:480px){
  .hero-btns{flex-direction:column;}.btn-r,.btn-ash{width:100%;text-align:center;}
  .proc-grid{grid-template-columns:1fr;}.sbann.s4{grid-template-columns:1fr 1fr;}
  h2.bh{font-size:2.4rem;}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important;}}
