/* ─────────────────────────────────────
   RESET & TOKENS
───────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --red:   #E8163A;
  --red-d: #C0102E;
  --navy:  #1A2B8F;
  --nvy-l: #2A4CC8;
  --white: #FFFFFF;
  --off:   #B8BEDD;
  --bg:    #06080F;
}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);color:var(--white);
  font-family:'Barlow',sans-serif;
  overflow-x:hidden;cursor:none;
}

/* ─────────────────────────────────────
   CUSTOM CURSOR
───────────────────────────────────── */
.cur-dot{
  position:fixed;width:7px;height:7px;background:var(--red);
  border-radius:50%;pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .15s,height .15s;
}
.cur-ring{
  position:fixed;width:32px;height:32px;
  border:1.5px solid rgba(232,22,58,.5);
  border-radius:50%;pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);
  transition:width .25s,height .25s,border-color .25s;
}
.cur-aura{
  position:fixed;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,
    rgba(232,22,58,.07) 0%,
    rgba(26,43,143,.05) 40%,
    transparent 72%);
  pointer-events:none;z-index:0;
  transform:translate(-50%,-50%);
  transition:left .6s cubic-bezier(.22,1,.36,1),top .6s cubic-bezier(.22,1,.36,1);
  filter:blur(2px);
}

/* ─────────────────────────────────────
   GLOBAL BACKGROUND
───────────────────────────────────── */
.bg-grid{
  position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(232,22,58,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(232,22,58,.022) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 20%,transparent 100%);
}
.orb{position:fixed;border-radius:50%;pointer-events:none;z-index:0;filter:blur(90px);}
.orb-a{width:600px;height:600px;top:-180px;left:-180px;
  background:radial-gradient(circle,rgba(26,43,143,.35) 0%,transparent 70%);}
.orb-b{width:520px;height:520px;bottom:-140px;right:-140px;
  background:radial-gradient(circle,rgba(232,22,58,.22) 0%,transparent 70%);}
.orb-c{width:380px;height:380px;top:55%;left:58%;
  background:radial-gradient(circle,rgba(26,43,143,.18) 0%,transparent 70%);}
/* Center navy ambient */
.orb-d{width:1000px;height:1000px;top:10vh;left:50%;transform:translateX(-50%);
  filter:blur(120px);
  background:radial-gradient(circle,rgba(15,28,120,.42) 0%,rgba(10,20,80,.18) 50%,transparent 75%);}

/* ─────────────────────────────────────
   LOADER
───────────────────────────────────── */
#loader{
  position:fixed;inset:0;z-index:9000;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;
  background:var(--bg);transition:opacity .6s,visibility .6s;
}
#loader.hide{opacity:0;visibility:hidden;pointer-events:none;}
.ldr-gear{
  width:56px;height:56px;
  animation:gearSpin 1.2s linear infinite;
}
.ldr-gear path{fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
@keyframes gearSpin{to{transform:rotate(360deg);}}
.ldr-label{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;
  letter-spacing:4px;text-transform:uppercase;
  color:rgba(184,190,221,.4);
  opacity:0;animation:fIn .3s ease .3s forwards;
}
@keyframes fIn{to{opacity:1;}}
#curtain{
  position:fixed;inset:0;z-index:8999;background:var(--navy);
  transform-origin:top;transform:scaleY(0);pointer-events:none;
}
.curtain-run{
  animation:cDown .55s cubic-bezier(.22,1,.36,1) forwards,
            cUp   .55s cubic-bezier(.22,1,.36,1) .55s forwards;
}
@keyframes cDown{to{transform:scaleY(1);}}
@keyframes cUp{
  from{transform:scaleY(1);transform-origin:bottom;}
  to{transform:scaleY(0);transform-origin:bottom;}
}

/* ─────────────────────────────────────
   NAVBAR
───────────────────────────────────── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:900;height:64px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(5,7,18,.92);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(255,255,255,.06);
  opacity:0;
}
.nav-inner{
  width:100%;max-width:1200px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,3vw,40px);gap:16px;
}
.nav.in{animation:nSlide .65s cubic-bezier(.22,1,.36,1) forwards;}
@keyframes nSlide{to{opacity:1;}}

.nav-logo{display:flex;align-items:center;text-decoration:none;cursor:pointer;}
.nav-logo-txt{
  font-family:'Oswald',sans-serif;font-weight:700;
  font-size:22px;letter-spacing:5px;text-transform:uppercase;
  color:#fff;transition:opacity .2s,transform .2s;
}
.nav-logo-txt em{color:var(--red);font-style:normal;}
.nav-logo:hover .nav-logo-txt{opacity:.75;transform:scale(.97);}
.nav-logo:active .nav-logo-txt{opacity:.55;}
/* Logo image */
.nav-logo-img-wrap{display:flex;align-items:center;height:36px;}
.nav-logo-img{
  height:34px;width:auto;
  filter:none;
  mix-blend-mode:screen;
  transition:opacity .2s,transform .2s;
  object-fit:contain;
}
.nav-logo:hover .nav-logo-img{opacity:.8;transform:scale(.97);}
.nav-logo:active .nav-logo-img{opacity:.6;}

.nav-links{display:flex;align-items:center;justify-content:center;list-style:none;gap:4px;}
.nav-links a{
  font-family:'Barlow Condensed',sans-serif;font-weight:600;
  font-size:12px;letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(255,255,255,.6);text-decoration:none;
  padding:6px 18px;position:relative;
  transition:color .2s;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:50%;
  transform:translateX(-50%) scaleX(0);
  width:16px;height:2px;background:var(--red);border-radius:2px;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1);
}
.nav-links a:hover{color:#fff;}
.nav-links a:hover::after{transform:translateX(-50%) scaleX(1);}
.nav-links a.active{color:#fff;font-weight:700;}
.nav-links a.active::after{transform:translateX(-50%) scaleX(1);}
.nav-links a:active{color:var(--navy);background:rgba(26,43,143,.2);border-radius:4px;}
.nav-links a.active:hover{color:var(--navy);}

.nav-cta{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 18px;color:#fff;text-decoration:none;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:12px;letter-spacing:2px;text-transform:uppercase;
  border:2px solid var(--red);border-radius:6px;
  background:var(--red);
  position:relative;overflow:hidden;
  box-shadow:0 4px 14px rgba(232,22,58,.4),inset 0 1px 0 rgba(255,255,255,.15);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),
             border-color .2s,background .2s,box-shadow .25s;
  white-space:nowrap;
}
.nav-cta::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);
  transform:translateX(-130%) skewX(-15deg);transition:transform .55s ease;pointer-events:none;
}
.nav-cta:hover{
  background:var(--navy);border-color:var(--navy);color:#fff;
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 10px 28px rgba(26,43,143,.6);
}
.nav-cta:hover::before{transform:translateX(130%) skewX(-15deg);}
.nav-cta:active{
  background:var(--red)!important;border-color:var(--red)!important;
  transform:scale(.93) translateY(1px)!important;transition:transform .08s!important;
}
.wa-icon{width:16px;height:16px;flex-shrink:0;display:block;object-fit:contain;filter:brightness(0) invert(1);}

.nav-burger{
  display:none;flex-direction:column;gap:5px;
  cursor:none;padding:6px;border-radius:6px;margin-left:10px;
}
.nav-burger span{display:block;width:22px;height:1.5px;background:#fff;border-radius:2px;transition:all .3s;}
.nav-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.mobile-nav{position:fixed;top:72px;left:16px;right:16px;background:rgba(5,7,18,.97);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:10px;z-index:890;transform:translateY(-8px) scale(.98);opacity:0;pointer-events:none;transition:all .3s;display:flex;flex-direction:column;gap:2px;}
.mobile-nav.open{transform:none;opacity:1;pointer-events:all;}
.mobile-nav a{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:15px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.55);text-decoration:none;padding:13px 16px;border-radius:8px;border-left:2px solid transparent;transition:all .2s;}
.mobile-nav a:hover{color:#fff;background:rgba(255,255,255,.05);border-left-color:var(--red);}

/* ══════════════════════════════════════════
   BACK TO TOP BUTTON
══════════════════════════════════════════ */
.back-to-top{
  position:fixed;bottom:36px;right:36px;z-index:800;
  width:46px;height:46px;border-radius:12px;
  background:rgba(10,14,40,.92);
  border:1px solid rgba(232,22,58,.35);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;text-decoration:none;
  box-shadow:0 4px 24px rgba(0,0,0,.5);
  transition:transform .22s cubic-bezier(.34,1.4,.64,1),
             border-color .2s,box-shadow .2s,background .2s,opacity .35s;
  opacity:0;pointer-events:none;
  backdrop-filter:blur(12px);
}
.back-to-top.visible{opacity:1;pointer-events:all;}
.back-to-top svg{
  width:16px;height:16px;
  stroke:rgba(232,22,58,.8);fill:none;
  stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
  transition:transform .2s,stroke .2s;
}
.back-to-top:hover{
  transform:translateY(-4px) scale(1.08);
  border-color:rgba(232,22,58,.7);
  background:rgba(232,22,58,.12);
  box-shadow:0 8px 32px rgba(0,0,0,.5),0 0 20px rgba(232,22,58,.25);
}
.back-to-top:hover svg{transform:translateY(-2px);stroke:var(--red);}
.back-to-top:active{transform:scale(.92)!important;}

@media(max-width:900px){
  .nav-links,.nav-cta{display:none;}
  .nav-burger{display:flex;}
}

/* ══════════════════════════════════════════
   PRSN HERO — Matching reference design
══════════════════════════════════════════ */
.prsn-hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding-top:80px; /* desktop default */
  overflow:hidden;
  /* Rich deep navy background matching the reference */
  background:
    radial-gradient(ellipse 120% 80% at 50% 0%,
      rgba(15,25,100,.98) 0%,
      rgba(8,14,55,.75) 40%,
      transparent 70%),
    radial-gradient(ellipse 80% 60% at 20% 50%,
      rgba(10,20,80,.55) 0%,
      transparent 60%),
    radial-gradient(ellipse 60% 50% at 80% 80%,
      rgba(232,22,58,.12) 0%,
      transparent 60%),
    var(--bg);
}
/* Top atmospheric glow — subtle, not overwhelming */
.prsn-hero-glow{
  position:absolute;top:0;left:0;right:0;height:55%;
  background:linear-gradient(180deg,
    rgba(10,22,110,.55) 0%,
    rgba(8,16,70,.2) 50%,
    transparent 100%);
  pointer-events:none;z-index:0;
}
/* Bottom fade — clean merge to bg */
.prsn-hero-fade{
  position:absolute;bottom:0;left:0;right:0;height:38%;
  background:linear-gradient(to bottom,
    transparent 0%,
    rgba(6,8,15,.6) 50%,
    var(--bg) 85%,
    var(--bg) 100%);
  pointer-events:none;z-index:2;
}

/* corner brackets */
.brackets{
  position:absolute;
  inset:0;
  padding-top:80px;
  pointer-events:none;z-index:3;
  display:flex;align-items:center;justify-content:center;
}

/* The bracket frame — sized to match the content box */
.bracket-frame{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  padding:36px 48px;
  width:min(860px, 90vw);
  pointer-events:none;
}

/* The four corner pieces rendered as pseudo/children */
.bk{
  position:absolute;width:42px;height:42px;
  transition:width .5s cubic-bezier(.34,1.56,.64,1),height .5s cubic-bezier(.34,1.56,.64,1),filter .35s ease;
  opacity:0;transform:scale(.85);transform-origin:center;
}
.bk path{stroke:var(--red);stroke-width:2;stroke-linecap:square;fill:none;transition:stroke-width .3s;}
.bk.tl{top:0;left:0;}
.bk.tr{top:0;right:0;}
.bk.bl{bottom:0;left:0;}
.bk.br{bottom:0;right:0;}

@keyframes bkPulse{0%,100%{opacity:.75;}50%{opacity:.45;}}
.bk{
  opacity:.45; /* start low */
  transform:scale(.98);
  transition:opacity .7s ease, transform .7s ease, filter .4s ease;
}
.bk.in{
  animation:bracketIn 2.2s ease forwards;
}
.bk.tr{animation-delay:.9s;}
.bk.bl{animation-delay:1.8s;}
.bk.br{animation-delay:2.7s;}
@keyframes bracketIn{0%{opacity:.45;transform:scale(.98);}100%{opacity:1;transform:scale(1);}}

.prsn-hero.hovered .bk{
  animation:none;
  opacity:.9;
  width:64px;
  height:64px;
  filter:drop-shadow(0 0 8px rgba(232,22,58,.6));
  transform:scale(1);
}
.prsn-hero.hovered .bk path{stroke-width:2.5;}


/* hero content — lives inside bracket-frame */
.prsn-hero-content{
  position:relative;z-index:3;
  pointer-events:all;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:16px;padding:0;
  max-width:760px;width:100%;
}

/* pill tag — rectangle box matching CTA/card style */
.hero-tag{
  font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:600;
  letter-spacing:4px;text-transform:uppercase;
  color:var(--red);
  background:rgba(232,22,58,.06);
  border:1px solid rgba(232,22,58,.22);
  padding:4px 12px;
  border-radius:0;
  display:inline-flex;align-items:center;gap:7px;
}
.hero-tag-dot{
  width:5px;height:5px;border-radius:50%;
  background:var(--red);flex-shrink:0;
  box-shadow:0 0 8px rgba(232,22,58,.9);
  animation:pip 2s ease-in-out infinite;
}
.hero-tag-logo{
  width:24px;height:24px;flex-shrink:0;
  object-fit:contain;
  filter:drop-shadow(0 0 4px rgba(0,56,168,0.7)) drop-shadow(0 0 8px rgba(220,20,60,0.5));
  animation:flagGlow 2.8s ease-in-out infinite;
}
@keyframes flagGlow{
  0%,100%{filter:drop-shadow(0 0 3px rgba(0,56,168,.65)) drop-shadow(0 0 7px rgba(220,20,60,.45));}
  50%{filter:drop-shadow(0 0 6px rgba(0,56,168,.95)) drop-shadow(0 0 14px rgba(220,20,60,.75)) drop-shadow(0 0 20px rgba(220,20,60,.25));}
}

/* Main headline */
.hero-h1{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:clamp(58px,9.5vw,116px);line-height:.92;
  text-transform:uppercase;letter-spacing:3px;
  color:#fff;
  text-shadow:0 2px 40px rgba(0,0,0,.4);
  margin-top:4px;
}
/* Red word */
.hero-executed{
  display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:clamp(62px,10.5vw,128px);line-height:.95;
  text-transform:uppercase;letter-spacing:3px;
  color:#E8163A;
  text-shadow:0 0 60px rgba(232,22,58,.3), 0 2px 40px rgba(0,0,0,.3);
}

/* rotating phrases */
.hero-phrases{
  height:18px;overflow:hidden;position:relative;
  width:100%;max-width:560px;margin-top:4px;
}
.phrase{
  position:absolute;inset:0;
  font-family:'Barlow',sans-serif;font-weight:300;font-size:11.5px;
  letter-spacing:3px;text-transform:uppercase;
  color:rgba(184,190,221,.45);text-align:center;
  opacity:0;transform:translateY(8px);visibility:hidden;
  pointer-events:none;
  line-height:18px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:opacity .55s,transform .55s;
}
.phrase.visible{opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto;z-index:2;}
.phrase:not(.visible){z-index:1;}

/* mobile phrase safety */
@media(max-width:640px){
  .hero-phrases{height:22px;}
  .phrase{font-size:10px;line-height:22px;}
}

/* body copy */
.hero-desc{
  font-size:15px;font-weight:300;line-height:1.8;
  color:rgba(184,190,221,.55);max-width:400px;
  margin-top:4px;
}

/* button row */
.hero-btns{
  display:flex;gap:14px;flex-wrap:wrap;justify-content:center;
  margin-top:10px;
}

/* scroll indicator */
.scroll-ind{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  z-index:3;opacity:0;
}
.scroll-ind span{
  font-family:'Barlow Condensed',sans-serif;font-size:9px;
  letter-spacing:4px;text-transform:uppercase;color:rgba(184,190,221,.35);
}
.scroll-track{width:1px;height:44px;background:rgba(184,190,221,.1);border-radius:1px;overflow:hidden;position:relative;}
.scroll-fill{
  position:absolute;top:0;left:0;right:0;height:45%;
  background:linear-gradient(to bottom,var(--red),transparent);
  animation:scrollAnim 2s ease-in-out infinite;
}
@keyframes scrollAnim{0%{transform:translateY(-100%);}100%{transform:translateY(280%);}}

/* reveal system */
.reveal{opacity:0;transform:translateY(22px);}
.reveal.in{animation:revealUp .75s cubic-bezier(.22,1,.36,1) forwards;}
@keyframes revealUp{to{opacity:1;transform:translateY(0);}}

/* ── SECTION SEPARATOR — removed ── */
.sep-wrap,.section-bridge{display:none;}

/* ══════════════════════════════════════════
   PERSONAL HERO (from combined)
══════════════════════════════════════════ */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
/* Seamless top fade from bg */
.hero::before{
  content:'';position:absolute;top:0;left:0;right:0;height:180px;
  background:linear-gradient(to bottom,var(--bg) 0%,transparent 100%);
  pointer-events:none;z-index:3;
}
.hero-glow{
  display:none;
}
.hero-fade{
  position:absolute;bottom:0;left:0;right:0;height:320px;
  background:linear-gradient(to bottom,transparent,var(--bg));
  pointer-events:none;z-index:2;
}

.hero-wrap{
  position:relative;z-index:2;
  width:100%;max-width:1200px;
  padding:100px 64px 80px;
  display:grid;
  grid-template-columns:1fr 400px;
  gap:80px;
  align-items:end;
}

/* LEFT */
.hero-left{display:flex;flex-direction:column;gap:0;}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:4px;text-transform:uppercase;color:var(--red);
  background:rgba(232,22,58,.07);border:1px solid rgba(232,22,58,.22);
  padding:5px 18px;border-radius:100px;
  width:fit-content;margin-bottom:18px;
}
.hero-name{
  font-family:'Oswald',sans-serif;font-weight:700;
  font-size:clamp(64px,8vw,110px);line-height:.88;
  text-transform:uppercase;letter-spacing:2px;
  color:#fff;margin-bottom:24px;
}
.hero-name .nm-red{color:var(--red);display:block;}

.hero-role{
  display:flex;align-items:center;gap:10px;
  font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;color:var(--off);
  margin-bottom:32px;
}
.role-pip{
  width:6px;height:6px;background:var(--red);border-radius:50%;flex-shrink:0;
  animation:pip 2s ease-in-out infinite;
}
@keyframes pip{0%,100%{box-shadow:0 0 0 0 rgba(232,22,58,.7);}50%{box-shadow:0 0 0 6px rgba(232,22,58,0);}}

.hero-tagline{
  font-size:15px;font-weight:300;line-height:1.8;
  color:rgba(184,190,221,.55);max-width:480px;
  margin-bottom:28px;
}
.hero-tagline strong{color:rgba(255,255,255,.8);font-weight:400;}

.hero-stats{
  display:flex;gap:40px;align-items:flex-start;
  margin-bottom:28px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.hs{display:flex;flex-direction:column;gap:4px;}
.hs-num{
  font-family:'Oswald',sans-serif;font-weight:700;
  font-size:38px;line-height:1;color:var(--red);letter-spacing:1px;
}
.hs-lbl{
  font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;color:rgba(184,190,221,.3);
}
.hs-divider{width:1px;align-self:stretch;background:rgba(255,255,255,.08);flex-shrink:0;}

.hero-ctas{display:flex;gap:12px;align-items:center;}
.btn-solid{
  padding:13px 32px;background:var(--red);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:13px;
  letter-spacing:1.8px;text-transform:uppercase;text-decoration:none;
  border-radius:8px;
  border:2px solid var(--red);
  display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 4px 22px rgba(232,22,58,.35);
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,background .18s,border-color .18s,color .18s;
}
.btn-solid:hover{
  background:var(--navy);border-color:var(--navy);color:#fff;
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 10px 32px rgba(26,43,143,.55);
}
.btn-solid:active{
  background:var(--red)!important;border-color:var(--red)!important;
  transform:scale(.95) translateY(1px)!important;
  box-shadow:0 2px 8px rgba(232,22,58,.4)!important;
  transition:transform .07s!important;
}

.btn-ghost{
  padding:12px 28px;color:rgba(255,255,255,.7);text-decoration:none;
  font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:13px;
  letter-spacing:1.8px;text-transform:uppercase;
  border:1.5px solid rgba(255,255,255,.2);border-radius:8px;
  background:rgba(255,255,255,.04);
  display:inline-flex;align-items:center;gap:8px;
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),border-color .18s,color .18s,background .18s,box-shadow .22s;
}
.btn-ghost:hover{
  background:var(--red);border-color:var(--red);color:#fff;
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 10px 32px rgba(232,22,58,.5);
}
.btn-ghost:active{
  background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important;
  transform:scale(.95) translateY(1px)!important;
  box-shadow:0 2px 8px rgba(26,43,143,.4)!important;
  transition:transform .07s!important;
}

.btn-outline{
  padding:12px 30px;background:transparent;color:rgba(255,255,255,.7);
  font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:13px;
  letter-spacing:1.6px;text-transform:uppercase;
  text-decoration:none;border-radius:8px;
  border:1.5px solid rgba(255,255,255,.2);
  display:inline-flex;align-items:center;gap:8px;
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),border-color .18s,color .18s,background .18s,box-shadow .22s;
}
.btn-outline:hover{
  background:var(--red);border-color:var(--red);color:#fff;
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 10px 32px rgba(232,22,58,.5);
}
.btn-outline:active{
  background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important;
  transform:scale(.95) translateY(1px)!important;
  box-shadow:0 2px 8px rgba(26,43,143,.4)!important;
  transition:transform .07s!important;
}

.scroll-cue{
  position:absolute;
  bottom:32px;
  left:0;right:0;
  margin:0 auto;
  width:fit-content;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  opacity:0;animation:fIn 1s ease 2s forwards;
  z-index:4;
  pointer-events:none;
}
@media(max-width:820px){
  .scroll-cue{ display:none; }
  .scroll-ind{ display:none; }
}
.scroll-cue span{
  font-family:'Barlow Condensed',sans-serif;font-size:9px;
  letter-spacing:4px;text-transform:uppercase;color:rgba(184,190,221,.3);
}
.scroll-line{width:1px;height:48px;background:rgba(184,190,221,.1);border-radius:1px;overflow:hidden;position:relative;}
.scroll-line::after{
  content:'';position:absolute;top:0;left:0;right:0;height:40%;
  background:linear-gradient(to bottom,var(--red),transparent);
  animation:sScroll 2s ease-in-out infinite;
}
@keyframes sScroll{0%{transform:translateY(-100%);}100%{transform:translateY(280%);}}

/* RIGHT — Who I Am card */
.hero-card{position:relative;align-self:center;}
.hc-frame{position:absolute;inset:0;pointer-events:none;z-index:1;}
.hc-tl,.hc-tr,.hc-bl,.hc-br{position:absolute;width:24px;height:24px;transition:width .4s cubic-bezier(.34,1.56,.64,1),height .4s cubic-bezier(.34,1.56,.64,1),border-color .3s,filter .3s;opacity:.75;}
.hc-tl{top:-9px;left:-9px;border-top:2px solid rgba(232,22,58,.75);border-left:2px solid rgba(232,22,58,.75);}
.hc-tr{top:-9px;right:-9px;border-top:2px solid rgba(232,22,58,.75);border-right:2px solid rgba(232,22,58,.75);}
.hc-bl{bottom:-9px;left:-9px;border-bottom:2px solid rgba(232,22,58,.75);border-left:2px solid rgba(232,22,58,.75);}
.hc-br{bottom:-9px;right:-9px;border-bottom:2px solid rgba(232,22,58,.75);border-right:2px solid rgba(232,22,58,.75);}
@keyframes hcBracketPulse{0%,100%{opacity:.75;}50%{opacity:.4;}}
.hc-tl,.hc-tr,.hc-bl,.hc-br{animation:hcBracketPulse 3.5s ease-in-out infinite;}
.hero-card:hover .hc-tl,.hero-card:hover .hc-tr,
.hero-card:hover .hc-bl,.hero-card:hover .hc-br{width:36px;height:36px;border-color:var(--red);opacity:1;animation:none;filter:drop-shadow(0 0 7px rgba(232,22,58,.6));}

.hc-body{
  background:linear-gradient(135deg,
    rgba(26,43,143,.18) 0%,
    rgba(8,11,22,.92) 45%,
    rgba(232,22,58,.06) 100%);
  border:1px solid rgba(232,22,58,.28);
  border-radius:0;
  padding:36px 36px;
  backdrop-filter:blur(16px);
  position:relative;overflow:hidden;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 8px 40px rgba(0,0,0,.45);
  transition:border-color .3s,box-shadow .3s,background .3s;
}
.hero-card:hover .hc-body{
  border-color:rgba(232,22,58,.55);
  background:linear-gradient(135deg,
    rgba(26,43,143,.26) 0%,
    rgba(8,11,22,.92) 45%,
    rgba(232,22,58,.1) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 60px rgba(26,43,143,.18),
    0 0 30px rgba(232,22,58,.08),
    0 20px 52px rgba(0,0,0,.6);
}
.hc-body::before{
  content:'';position:absolute;top:0;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,22,58,.5),transparent);
  opacity:.35;transition:opacity .4s;
}
.hero-card:hover .hc-body::before{opacity:1;}

.hc-label{
  font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:600;
  letter-spacing:5px;text-transform:uppercase;
  color:rgba(184,190,221,.3);margin-bottom:24px;
}
.hc-avatar{
  width:72px;height:72px;border-radius:12px;
  background:linear-gradient(135deg,rgba(26,43,143,.6),rgba(232,22,58,.3));
  border:1px solid rgba(232,22,58,.2);
  display:flex;align-items:center;justify-content:center;
  font-family:'Oswald',sans-serif;font-weight:700;font-size:22px;letter-spacing:2px;
  color:rgba(255,255,255,.8);margin-bottom:20px;
}
.hc-name{
  font-family:'Oswald',sans-serif;font-weight:700;
  font-size:28px;letter-spacing:1px;text-transform:uppercase;
  color:#fff;margin-bottom:6px;
}
.hc-name em{color:var(--red);font-style:normal;}
.hc-role-tag{
  display:flex;align-items:center;gap:8px;
  font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;color:rgba(184,190,221,.5);
  margin-bottom:24px;
}
.hc-pip{width:5px;height:5px;background:var(--red);border-radius:50%;animation:pip 2s ease-in-out infinite;}
.hc-divider{height:1px;background:linear-gradient(90deg,rgba(232,22,58,.3),transparent);margin-bottom:22px;}

.hc-facts{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
.hc-fact{
  display:flex;align-items:center;gap:12px;
  font-size:13px;font-weight:300;color:rgba(184,190,221,.55);line-height:1.4;
}
.hc-fact-icon{
  width:28px;height:28px;border-radius:6px;flex-shrink:0;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:center;
}
.hc-fact-icon svg{width:13px;height:13px;stroke:rgba(184,190,221,.4);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.hc-fact strong{color:rgba(255,255,255,.7);font-weight:400;}

.hc-badges{display:flex;flex-wrap:wrap;gap:6px;}
.hc-badge{
  padding:4px 12px;
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;
  color:rgba(184,190,221,.5);
  background:rgba(184,190,221,.05);
  border:1px solid rgba(184,190,221,.1);border-radius:100px;
  transition:color .2s,border-color .2s;
}
.hc-badge:hover{color:var(--red);border-color:rgba(232,22,58,.35);}

/* rv reveal */
.rv{opacity:0;transform:translateY(22px);}
.rv.in{animation:revealUp .75s cubic-bezier(.22,1,.36,1) forwards;}

/* ── SECTION BRIDGE — removed ── */

/* ══════════════════════════════════════════
   SERVICES SECTION
══════════════════════════════════════════ */
.services{
  position:relative;z-index:1;
  padding:120px 80px 100px;
  overflow:hidden;
}
.services::before{
  content:'';position:absolute;bottom:-120px;right:-120px;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(26,43,143,.1) 0%,transparent 65%);
  pointer-events:none;filter:blur(20px);
  animation:breathe 8s ease-in-out infinite;
}
.services::after{
  content:'';position:absolute;bottom:-80px;right:-80px;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,22,58,.08) 0%,transparent 65%);
  pointer-events:none;filter:blur(20px);
  animation:breathe 10s ease-in-out infinite reverse;
}
@keyframes breathe{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}

.svc-header{
  max-width:1200px;margin:0 auto 80px;
  display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;
}
.svc-eyebrow{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;
  letter-spacing:5px;text-transform:uppercase;color:var(--red);
  display:flex;align-items:center;gap:14px;
}
.svc-eyebrow::before,.svc-eyebrow::after{content:'';width:28px;height:1.5px;background:var(--red);border-radius:2px;opacity:.5;}
.svc-title{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:clamp(38px,5vw,64px);line-height:.95;
  text-transform:uppercase;letter-spacing:2px;color:#fff;
}
.svc-title em{color:var(--red);font-style:normal;}
.svc-desc{
  max-width:440px;
  font-size:14px;font-weight:300;line-height:1.85;
  color:rgba(184,190,221,.38);margin-top:4px;
}

.svc-grid{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  gap:20px;
}

/* service card */
.svc-card{
  position:relative;
  opacity:0;transform:translateY(32px);
  transition:opacity .7s ease,transform .7s ease;
  cursor:pointer;
  user-select:none;
}
.svc-card.vis{opacity:1;transform:translateY(0);}
.svc-card:nth-child(2){transition-delay:.1s;}
.svc-card:nth-child(3){transition-delay:.2s;}
.svc-card:nth-child(4){transition-delay:.3s;}

.svc-card-body{
  position:relative;
  background:linear-gradient(135deg,
    rgba(26,43,143,.18) 0%,
    rgba(8,11,22,.94) 50%,
    rgba(232,22,58,.05) 100%);
  border:1px solid rgba(255,255,255,.04);
  border-radius:4px;
  padding:44px 48px 40px;
  overflow:hidden;
  transition:border-color .4s,background .4s,box-shadow .4s,transform .25s cubic-bezier(.34,1.2,.64,1);
}
.svc-card-body::after{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,22,58,.35),transparent);
  opacity:0;transition:opacity .4s;
}
.svc-card:hover .svc-card-body::after,
.svc-card.active .svc-card-body::after{opacity:1;}

.svc-card:hover .svc-card-body{
  border-color:rgba(26,43,143,.12);
  background:linear-gradient(135deg,
    rgba(26,43,143,.26) 0%,
    rgba(10,13,26,.96) 50%,
    rgba(232,22,58,.09) 100%);
  box-shadow:
    0 0 80px rgba(26,43,143,.18),
    0 0 40px rgba(232,22,58,.06),
    0 24px 60px rgba(0,0,0,.55);
}
.svc-card.active .svc-card-body{
  border-color:rgba(232,22,58,.3);
  background:linear-gradient(135deg,
    rgba(26,43,143,.3) 0%,
    rgba(10,13,26,.97) 50%,
    rgba(232,22,58,.1) 100%);
  box-shadow:
    0 0 100px rgba(26,43,143,.25),
    0 0 50px rgba(232,22,58,.12),
    0 28px 70px rgba(0,0,0,.6),
    inset 0 0 40px rgba(26,43,143,.06);
}

/* corner system */
.svc-corners{position:absolute;inset:0;pointer-events:none;z-index:3;}
.svc-pip{
  position:absolute;
  width:7px;height:7px;
  background:var(--red);
  transition:opacity .35s,transform .35s,width .4s cubic-bezier(.34,1.56,.64,1),height .4s cubic-bezier(.34,1.56,.64,1);
  opacity:.55;
}
.svc-pip.tl{top:-1px;left:-1px;}
.svc-pip.tr{top:-1px;right:-1px;}
.svc-pip.bl{bottom:-1px;left:-1px;}
.svc-pip.br{bottom:-1px;right:-1px;}

.svc-arm-h{position:absolute;height:1.5px;background:var(--red);width:0;transition:width .4s cubic-bezier(.22,1,.36,1),opacity .3s;opacity:0;}
.svc-arm-v{position:absolute;width:1.5px;background:var(--red);height:0;transition:height .4s cubic-bezier(.22,1,.36,1),opacity .3s;opacity:0;}
.svc-arm-h.tl{top:-1px;left:7px;} .svc-arm-v.tl{top:7px;left:-1px;}
.svc-arm-h.tr{top:-1px;right:7px;transform-origin:right;} .svc-arm-v.tr{top:7px;right:-1px;}
.svc-arm-h.bl{bottom:-1px;left:7px;} .svc-arm-v.bl{bottom:7px;left:-1px;top:auto;transform-origin:bottom;}
.svc-arm-h.br{bottom:-1px;right:7px;transform-origin:right;} .svc-arm-v.br{bottom:7px;right:-1px;top:auto;transform-origin:bottom;}

.svc-card:hover .svc-arm-h{width:36px;height:1.5px;opacity:.85;}
.svc-card:hover .svc-arm-v{width:1.5px;height:36px;opacity:.85;}
.svc-card:hover .svc-pip{width:9px;height:9px;opacity:.9;box-shadow:0 0 8px rgba(232,22,58,.6);}
.svc-card.active .svc-arm-h{height:1.5px;width:56px;opacity:1;}
.svc-card.active .svc-arm-v{width:1.5px;height:56px;opacity:1;}
.svc-card.active .svc-pip{width:8px;height:8px;opacity:1;box-shadow:0 0 12px rgba(232,22,58,.8),0 0 24px rgba(232,22,58,.4);}
.svc-card.active .svc-corners::before{
  content:'';position:absolute;inset:0;
  border:1px solid rgba(232,22,58,.18);border-radius:4px;
  box-shadow:inset 0 0 0 1px rgba(26,43,143,.15);pointer-events:none;
}

.svc-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;}
.svc-num-badge{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:10px;letter-spacing:4px;
  color:rgba(232,22,58,.38);transition:color .3s;
}
.svc-card:hover .svc-num-badge,.svc-card.active .svc-num-badge{color:rgba(232,22,58,.7);}

.svc-icon-wrap{
  width:48px;height:48px;border-radius:10px;
  background:rgba(26,43,143,.18);
  border:1px solid rgba(26,43,143,.28);
  display:flex;align-items:center;justify-content:center;
  transition:background .35s,border-color .35s,box-shadow .35s;
}
.svc-icon-wrap svg{width:24px;height:24px;color:rgba(184,190,221,.5);transition:color .35s;}
.svc-card:hover .svc-icon-wrap{background:rgba(232,22,58,.1);border-color:rgba(232,22,58,.28);box-shadow:0 0 20px rgba(232,22,58,.18);}
.svc-card:hover .svc-icon-wrap svg{color:rgba(232,22,58,.85);}
.svc-card.active .svc-icon-wrap{background:rgba(232,22,58,.15);border-color:rgba(232,22,58,.4);box-shadow:0 0 28px rgba(232,22,58,.25);}
.svc-card.active .svc-icon-wrap svg{color:var(--red);}

.svc-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(24px,2.4vw,32px);letter-spacing:.5px;color:#fff;line-height:1;margin-bottom:12px;}
.svc-name em{color:var(--red);font-style:normal;}
.svc-tagline{font-size:13.5px;font-weight:300;line-height:1.75;color:rgba(184,190,221,.42);margin-bottom:22px;}
.svc-tags{display:flex;flex-wrap:wrap;gap:7px;}
.svc-tags span{
  padding:4px 12px;
  font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(184,190,221,.38);background:rgba(184,190,221,.03);
  border:1px solid rgba(184,190,221,.07);border-radius:100px;
  transition:color .3s,border-color .3s,background .3s;
}
.svc-card:hover .svc-tags span{color:rgba(232,22,58,.65);border-color:rgba(232,22,58,.18);background:rgba(232,22,58,.04);}
.svc-card.active .svc-tags span{color:rgba(232,22,58,.85);border-color:rgba(232,22,58,.28);background:rgba(232,22,58,.06);}

.svc-explore{
  display:inline-flex;align-items:center;gap:8px;margin-top:26px;
  font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(184,190,221,.28);text-decoration:none;
  transition:color .3s,gap .3s;
}
.svc-explore svg{transition:transform .3s;}
.svc-card:hover .svc-explore{color:rgba(232,22,58,.7);gap:12px;}
.svc-card:hover .svc-explore svg{transform:translate(3px,-3px);}
.svc-card.active .svc-explore{color:var(--red);}

.svc-cta-row{
  max-width:1200px;margin:56px auto 0;
  display:flex;align-items:center;justify-content:center;gap:28px;
}
.svc-cta{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 32px;
  background:transparent;color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:12px;letter-spacing:2px;text-transform:uppercase;
  text-decoration:none;border-radius:100px;
  border:1px solid rgba(255,255,255,.15);
  position:relative;overflow:hidden;
  transition:border-color .3s,color .3s,transform .2s;
}
.svc-cta::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--red),var(--navy));
  opacity:0;transition:opacity .3s;
}
.svc-cta:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px);box-shadow:0 8px 32px rgba(232,22,58,.5);}
.svc-cta:hover::before{opacity:0;}
.svc-cta>*{position:relative;z-index:1;}
.svc-cta-note{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;
  color:rgba(184,190,221,.2);
}

@media(max-width:1024px){
  .services{padding:80px 40px 80px;}
  .svc-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .services{padding:60px 20px 60px;}
  .svc-card-body{padding:28px 24px;}
  .svc-name{font-size:22px;}
}

/* ══════════════════════════════════════════
   ABOUT SECTION — compact, fits one viewport
══════════════════════════════════════════ */
.about{
  position:relative;z-index:1;
  padding:80px 80px 100px;
  overflow:hidden;
}
.about::before{
  content:'';position:absolute;bottom:-80px;left:-80px;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(26,43,143,.12) 0%,rgba(26,43,143,.04) 45%,transparent 70%);
  pointer-events:none;animation:breathe 7s ease-in-out infinite;
}
.about::after{
  content:'';position:absolute;bottom:-60px;left:-60px;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(26,43,143,.18) 0%,transparent 70%);
  pointer-events:none;animation:breathe 9s ease-in-out infinite reverse;
}

/* Section header */
.about-header{
  max-width:1200px;margin:0 auto 48px;
  display:flex;flex-direction:column;
  align-items:center;gap:14px;text-align:center;
}
.about-eyebrow{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;
  letter-spacing:5px;text-transform:uppercase;color:var(--red);
  display:inline-flex;align-items:center;gap:14px;
}
.about-eyebrow::before,.about-eyebrow::after{
  content:'';width:28px;height:1.5px;background:var(--red);border-radius:2px;opacity:.55;
}
.about-eyebrow-dot{ display:none; }
.about-header-bottom{ display:none; }
.about-title{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:clamp(36px,5vw,64px);line-height:.95;
  text-transform:uppercase;letter-spacing:2px;color:#fff;
  text-align:center;
}
.about-title em{color:var(--red);font-style:normal;}

.about-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:18px;}

.card{
  background:linear-gradient(135deg,
    rgba(26,43,143,.18) 0%,
    rgba(8,11,22,.92) 45%,
    rgba(232,22,58,.06) 100%);
  /* Main rectangle border — full perimeter line */
  border:1px solid rgba(232,22,58,.28);
  border-radius:0;
  padding:36px 48px;
  position:relative;overflow:visible;
  backdrop-filter:blur(16px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 8px 40px rgba(0,0,0,.45);
  opacity:0;transform:translateY(34px);
  transition:opacity .7s ease,transform .7s ease,border-color .3s,box-shadow .3s;
}
.card.vis{opacity:1;transform:translateY(0);}
.card:hover{
  border-color:rgba(232,22,58,.55);
  background:linear-gradient(135deg,rgba(26,43,143,.26) 0%,rgba(8,11,22,.92) 45%,rgba(232,22,58,.1) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 60px rgba(26,43,143,.18),
    0 0 30px rgba(232,22,58,.08),
    0 20px 52px rgba(0,0,0,.6);
}
.card::before{
  content:'';position:absolute;top:0;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,22,58,.5),transparent);
  opacity:.3;transition:opacity .4s;
}
.card:hover::before{opacity:.7;}

/* ── Corner bracket frame
   The card-frame sits outside the card border (margin: -10px).
   Each corner piece is an L-bracket that sits at the very corner,
   creating the "rectangle border → gap → bracket" look from the reference. ── */
.card-frame{
  position:absolute;
  inset:-10px;          /* gap between rectangle border and brackets */
  pointer-events:none;z-index:2;
}
.cf-tl,.cf-tr,.cf-bl,.cf-br{
  position:absolute;
  width:22px;height:22px;
  transition:
    width  .4s cubic-bezier(.34,1.56,.64,1),
    height .4s cubic-bezier(.34,1.56,.64,1),
    border-color .3s,
    opacity .3s;
  opacity:.7;
}
/* L-bracket — no border-radius, sharp corners like the reference */
.cf-tl{top:0;left:0;
  border-top:2px solid rgba(232,22,58,.75);
  border-left:2px solid rgba(232,22,58,.75);}
.cf-tr{top:0;right:0;
  border-top:2px solid rgba(232,22,58,.75);
  border-right:2px solid rgba(232,22,58,.75);}
.cf-bl{bottom:0;left:0;
  border-bottom:2px solid rgba(232,22,58,.75);
  border-left:2px solid rgba(232,22,58,.75);}
.cf-br{bottom:0;right:0;
  border-bottom:2px solid rgba(232,22,58,.75);
  border-right:2px solid rgba(232,22,58,.75);}

/* Pulse brackets in on card reveal */
@keyframes bracketPulseCard{0%,100%{opacity:.7;}50%{opacity:.4;}}
.card.vis .cf-tl,.card.vis .cf-tr,
.card.vis .cf-bl,.card.vis .cf-br{
  animation:bracketPulseCard 3.5s ease-in-out 0.8s infinite;
}

/* Hover — brackets grow, brighten, glow */
.card:hover .cf-tl,.card:hover .cf-tr,
.card:hover .cf-bl,.card:hover .cf-br{
  width:34px;height:34px;
  border-color:var(--red);
  opacity:1;
  animation:none;
  filter:drop-shadow(0 0 6px rgba(232,22,58,.6));
}

.card-corner-idx{
  position:absolute;top:16px;right:20px;
  font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;
  color:rgba(232,22,58,.25);pointer-events:none;z-index:2;
}

.card-ms{transition-delay:.05s;}
.ms-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;position:relative;z-index:1;}
.ms-tag{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--red);margin-bottom:10px;}
.ms-heading{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:18px;letter-spacing:.5px;color:#fff;margin-bottom:8px;}
.ms-text{font-size:13px;font-weight:300;line-height:1.7;color:rgba(184,190,221,.45);}
.ms-text strong{color:rgba(255,255,255,.65);font-weight:400;}

/* Mobile-first ms-block — no padding, stacked */
.ms-block{padding:0;opacity:0;transform:translateY(16px);transition:opacity .55s,transform .55s;}
.ms-block+.ms-block{padding-top:20px;border-top:1px solid rgba(232,22,58,.1);}
.ms-block:first-child{border-top:none;padding-top:0;}

.card-ms.vis .ms-block:nth-child(1){opacity:1;transform:none;transition-delay:.08s;}
.card-ms.vis .ms-block:nth-child(2){opacity:1;transform:none;transition-delay:.22s;}
.card-ms.vis .ms-block:nth-child(3){opacity:1;transform:none;transition-delay:.36s;}

/* Desktop — side-by-side with dividers */
@media(min-width:641px){
  .ms-block{padding:0 40px 0 0;}
  .ms-block+.ms-block{padding:0 40px;border-left:1px solid rgba(232,22,58,.1);border-top:none;padding-top:0;}
  .ms-block:last-child{padding-right:0;}
}

@media(max-width:1024px){
  .about{padding:60px 40px 80px;}
  .ms-inner{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .about{padding:50px 20px 60px;}
  .card{padding:28px 24px;}
}

/* ══════════════════════════════════════════
   SERVICES — See More Button
══════════════════════════════════════════ */
.svc-see-more{
  max-width:1200px;margin:52px auto 0;
  display:flex;align-items:center;justify-content:center;gap:32px;
}
.svc-see-more-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 36px;
  background:var(--red);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:13px;letter-spacing:2.5px;text-transform:uppercase;
  text-decoration:none;border-radius:6px;
  border:2px solid var(--red);
  box-shadow:0 6px 24px rgba(232,22,58,.45),inset 0 1px 0 rgba(255,255,255,.15);
  position:relative;overflow:hidden;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,background .2s,border-color .2s;
}
.svc-see-more-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);
  transform:translateX(-130%) skewX(-15deg);transition:transform .55s ease;pointer-events:none;
}
.svc-see-more-btn:hover{
  background:var(--navy);border-color:var(--navy);
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 14px 40px rgba(26,43,143,.6);
}
.svc-see-more-btn:hover::before{transform:translateX(130%) skewX(-15deg);}
.svc-see-more-btn:active{
  background:var(--red)!important;border-color:var(--red)!important;
  transform:scale(.93) translateY(2px)!important;transition:transform .08s!important;
}
.svc-see-more-note{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;
  color:rgba(184,190,221,.22);
}

/* ══════════════════════════════════════════
   CTA SECTION — ABOUT-CARD STYLE
══════════════════════════════════════════ */
.cta-section{position:relative;z-index:1;padding:40px 80px 100px;overflow:hidden;}

.cta-panel{
  position:relative;max-width:1200px;margin:0 auto;
  border-radius:0;overflow:visible;
  background:linear-gradient(135deg,rgba(26,43,143,.18) 0%,rgba(8,11,22,.92) 45%,rgba(232,22,58,.06) 100%);
  /* Sharp full-perimeter rectangle border */
  border:1px solid rgba(232,22,58,.28);
  backdrop-filter:blur(16px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 40px rgba(0,0,0,.45);
  transition:border-color .3s,box-shadow .3s,background .3s;
}
.cta-panel::before{
  content:'';position:absolute;top:0;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,22,58,.5),transparent);
  opacity:.35;transition:opacity .4s;
}
.cta-panel:hover{
  border-color:rgba(232,22,58,.55);
  background:linear-gradient(135deg,rgba(26,43,143,.26) 0%,rgba(8,11,22,.92) 45%,rgba(232,22,58,.1) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 60px rgba(26,43,143,.18),0 0 30px rgba(232,22,58,.08),0 20px 52px rgba(0,0,0,.6);
}
.cta-panel:hover::before{opacity:.8;}

/* L-bracket corners — sit outside the border with a gap */
.cta-corner{
  position:absolute;
  width:24px;height:24px;
  pointer-events:none;z-index:3;
  transition:
    width  .4s cubic-bezier(.34,1.56,.64,1),
    height .4s cubic-bezier(.34,1.56,.64,1),
    border-color .3s,
    filter .3s;
  opacity:.75;
}
.cta-corner.tl{top:-9px;left:-9px;  border-top:2px solid rgba(232,22,58,.75); border-left:2px solid rgba(232,22,58,.75);}
.cta-corner.tr{top:-9px;right:-9px; border-top:2px solid rgba(232,22,58,.75); border-right:2px solid rgba(232,22,58,.75);}
.cta-corner.bl{bottom:-9px;left:-9px;  border-bottom:2px solid rgba(232,22,58,.75); border-left:2px solid rgba(232,22,58,.75);}
.cta-corner.br{bottom:-9px;right:-9px; border-bottom:2px solid rgba(232,22,58,.75); border-right:2px solid rgba(232,22,58,.75);}

/* Pulse animation when in view */
@keyframes ctaBracketPulse{0%,100%{opacity:.75;}50%{opacity:.4;}}
.cta-corner{animation:ctaBracketPulse 3.5s ease-in-out infinite;}

.cta-panel:hover .cta-corner{
  width:36px;height:36px;
  border-color:var(--red);
  opacity:1;
  animation:none;
  filter:drop-shadow(0 0 7px rgba(232,22,58,.6));
}

.cta-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px;padding:52px 56px;position:relative;z-index:2;}


.cta-tag{display:inline-flex;align-items:center;gap:10px;font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;letter-spacing:5px;text-transform:uppercase;color:var(--red);margin-bottom:20px;}
.cta-tag-dot{width:5px;height:5px;border-radius:50%;background:var(--red);box-shadow:0 0 8px rgba(232,22,58,.9);animation:pip 2s ease-in-out infinite;}

.cta-headline{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(38px,5vw,68px);line-height:.9;text-transform:uppercase;letter-spacing:1px;color:#fff;margin-bottom:0;}
.cta-headline .ch-dim{display:block;color:rgba(255,255,255,.15);font-size:.6em;letter-spacing:5px;margin-bottom:4px;}
.cta-headline .ch-red{display:block;color:var(--red);text-shadow:0 0 60px rgba(232,22,58,.3);}

.cta-body{margin-top:24px;font-size:14px;font-weight:300;line-height:1.85;color:rgba(184,190,221,.42);max-width:520px;}
.cta-body strong{color:rgba(255,255,255,.7);font-weight:400;}

.cta-right{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:240px;}

.cta-avail-pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:6px 18px;border-radius:0;background:rgba(34,197,94,.05);border:1px solid rgba(34,197,94,.28);font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;letter-spacing:5px;text-transform:uppercase;color:rgba(34,197,94,.85);margin-bottom:4px;}
.cta-avail-dot{width:5px;height:5px;border-radius:50%;background:#22c55e;flex-shrink:0;box-shadow:0 0 8px rgba(34,197,94,.9);animation:pip 2s ease-in-out infinite;}

.cta-btn-main{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 28px;background:var(--red);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:13px;
  letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;
  border-radius:8px;position:relative;overflow:hidden;
  border:2px solid var(--red);
  box-shadow:0 6px 28px rgba(232,22,58,.5),inset 0 1px 0 rgba(255,255,255,.15);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,background .2s,border-color .2s;
}
.cta-btn-main::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);
  transform:translateX(-130%) skewX(-15deg);transition:transform .55s ease;pointer-events:none;
}
.cta-btn-main:hover{
  background:var(--navy);border-color:var(--navy);
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 14px 44px rgba(26,43,143,.65);
}
.cta-btn-main:hover::before{transform:translateX(130%) skewX(-15deg);}
.cta-btn-main:active{
  background:var(--red)!important;border-color:var(--red)!important;
  transform:scale(.93) translateY(2px)!important;transition:transform .08s!important;
}

.cta-btn-alt{
  display:flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 28px;background:var(--navy);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:13px;
  letter-spacing:2px;text-transform:uppercase;text-decoration:none;
  border-radius:8px;border:2px solid var(--navy);
  position:relative;overflow:hidden;
  box-shadow:0 4px 18px rgba(26,43,143,.4),inset 0 1px 0 rgba(255,255,255,.1);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),border-color .2s,color .2s,background .2s,box-shadow .25s;
}
.cta-btn-alt::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.15) 50%,transparent 65%);
  transform:translateX(-130%) skewX(-15deg);transition:transform .55s ease;pointer-events:none;
}
.cta-btn-alt:hover{
  background:var(--red);color:#fff;border-color:var(--red);
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 14px 40px rgba(232,22,58,.6);
}
.cta-btn-alt:hover::before{transform:translateX(130%) skewX(-15deg);}
.cta-btn-alt:active{
  background:var(--navy)!important;border-color:var(--navy)!important;
  transform:scale(.93) translateY(2px)!important;transition:transform .08s!important;
}

.cta-or{text-align:center;font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(184,190,221,.18);}

.cta-bottom-bar{display:flex;align-items:center;justify-content:center;gap:32px;padding:18px 56px 22px;border-top:1px solid rgba(255,255,255,.04);position:relative;z-index:2;flex-wrap:wrap;}
.cta-bottom-item{display:flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(184,190,221,.2);}
.cta-bottom-item svg{opacity:.3;flex-shrink:0;}
.cta-bottom-sep{width:1px;height:16px;background:rgba(255,255,255,.06);}

@media(max-width:900px){.cta-section{padding:40px 24px 80px;}.cta-grid{grid-template-columns:1fr;gap:40px;padding:40px 32px;}.cta-right{min-width:auto;}.cta-bottom-bar{padding:16px 32px 20px;gap:20px;}}
@media(max-width:640px){.cta-grid{padding:32px 24px;}.cta-bottom-bar{padding:14px 24px 18px;}}

/* ══════════════════════════════════════════
   BOLD SCROLL REVEAL ANIMATIONS
══════════════════════════════════════════ */
[data-sr]{opacity:0;will-change:transform,opacity;}
[data-sr="fade-up"]{transform:translateY(60px);}
[data-sr="fade-left"]{transform:translateX(-70px);}
[data-sr="fade-right"]{transform:translateX(70px);}
[data-sr="scale-up"]{transform:scale(.88) translateY(30px);}
[data-sr].sr-visible{
  opacity:1;transform:none;
  transition:opacity .78s cubic-bezier(.22,1,.36,1),transform .78s cubic-bezier(.22,1,.36,1);
}
[data-sr-group] > *{opacity:0;transform:translateY(44px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);}
[data-sr-group].sr-visible > *:nth-child(1){opacity:1;transform:none;transition-delay:.05s;}
[data-sr-group].sr-visible > *:nth-child(2){opacity:1;transform:none;transition-delay:.18s;}
[data-sr-group].sr-visible > *:nth-child(3){opacity:1;transform:none;transition-delay:.31s;}
[data-sr-group].sr-visible > *:nth-child(4){opacity:1;transform:none;transition-delay:.44s;}

/* ══════════════════════════════════════════
   FOOTER — Creative Nepal Marquee
══════════════════════════════════════════ */
.footer{
  position:relative;z-index:1;
  background:rgba(3,4,10,.98);
  border-top:1px solid rgba(255,255,255,.045);
  overflow:hidden;
}
/* Nepal/Chitwan animated marquee strip */
.footer-marquee-wrap{
  width:100%;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.04);
  padding:16px 0;
  background:rgba(6,8,15,.6);
  position:relative;
}
.footer-marquee-wrap::before,.footer-marquee-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;
}
.footer-marquee-wrap::before{left:0;background:linear-gradient(to right,rgba(3,4,10,.98),transparent);}
.footer-marquee-wrap::after{right:0;background:linear-gradient(to left,rgba(3,4,10,.98),transparent);}
.footer-marquee{
  display:flex;gap:0;width:max-content;
  animation:marqueeScroll 28s linear infinite;
}
.footer-marquee:hover{animation-play-state:paused;}
@keyframes marqueeScroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.footer-marquee-item{
  display:inline-flex;align-items:center;gap:14px;
  padding:0 32px;white-space:nowrap;
  font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;
  color:rgba(184,190,221,.22);
}
.footer-marquee-item .mq-icon{
  font-size:16px;opacity:.4;
  display:inline-flex;align-items:center;
}
.footer-marquee-item .mq-dot{
  width:3px;height:3px;border-radius:50%;
  background:rgba(232,22,58,.45);margin:0 2px;
}

/* main footer body */
.footer-body{
  max-width:1200px;margin:0 auto;
  padding:64px 80px 40px;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:60px;
}
.footer-logo-txt{
  margin-bottom:16px;display:block;text-decoration:none;
}
.footer-logo-txt img{height:34px;width:auto;filter:none;mix-blend-mode:screen;object-fit:contain;display:block;}
.footer-logo-txt em{color:var(--red);font-style:normal;}
.footer-brand-desc{
  font-size:13px;font-weight:300;line-height:1.8;
  color:rgba(184,190,221,.35);max-width:240px;margin-bottom:24px;
}
.footer-socials{display:flex;gap:10px;flex-wrap:wrap;}
.footer-socials a{
  width:36px;height:36px;border-radius:8px;
  border:1px solid rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:center;
  color:rgba(184,190,221,.35);text-decoration:none;
  transition:border-color .2s,color .2s,background .2s,transform .2s;
}
.footer-socials a:hover{
  background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px);box-shadow:0 8px 32px rgba(232,22,58,.5);
}

.footer-socials a img{
  width:16px;height:16px;object-fit:contain;
  filter:grayscale(1) brightness(0) invert(1);
  opacity:.5;
  transition:opacity .2s,transform .2s;
  display:block;
}
.footer-socials a:hover img{
  opacity:1;
}
.footer-col h4{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;
  letter-spacing:4px;text-transform:uppercase;
  color:rgba(255,255,255,.35);margin-bottom:20px;
  padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.05);
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col ul li a{
  font-size:13px;font-weight:300;
  color:rgba(184,190,221,.4);text-decoration:none;
  transition:color .2s,padding-left .2s;display:inline-block;
}
.footer-col ul li a:hover{color:#fff;padding-left:4px;}

/* bottom bar */
.footer-bottom{
  max-width:1200px;margin:0 auto;
  padding:24px 80px 32px;
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.04);
  gap:20px;flex-wrap:wrap;
}
.footer-copy{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:300;
  letter-spacing:2px;text-transform:uppercase;color:rgba(184,190,221,.2);
  line-height:1;
}
.footer-copy em{color:var(--red);font-style:normal;}
.footer-nepal{
  display:flex;align-items:center;gap:8px;
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;color:rgba(184,190,221,.18);
  line-height:1;
}
.footer-nepal-flag{font-size:10px;line-height:1;display:flex;align-items:center;}

/* ══════════════════════════════════════════
   MOBILE FIXES
══════════════════════════════════════════ */
@media(max-width:1024px){
  .hero-wrap{grid-template-columns:1fr;gap:40px;padding:100px 40px 80px;}
  .hero-card{max-width:100%;}
  .cta-section{padding:80px 40px;}
  .footer-body{grid-template-columns:1fr 1fr;gap:40px;padding:48px 40px 32px;}
  .footer-bottom{padding:20px 40px 28px;}
  .services{padding:80px 40px 80px;}
  .about{padding:60px 40px 80px;}
  .cta-grid{grid-template-columns:1fr;gap:32px;padding:40px 32px;}
  .cta-right{min-width:auto;}
}
@media(max-width:640px){
  /* hero */
  .hero-wrap{padding:96px 20px 60px;gap:32px;}
  .hero-name{font-size:clamp(48px,14vw,80px);}
  .hero-stats{gap:16px;flex-wrap:wrap;}
  .hero-ctas{flex-direction:column;align-items:flex-start;gap:10px;}
  .hero-ctas .btn-solid,.hero-ctas .btn-ghost{width:100%;justify-content:center;}
  /* services */
  .services{padding:50px 20px 50px;}
  .svc-card-body{padding:28px 22px;}
  .svc-name{font-size:22px;}
  .svc-see-more{flex-direction:column;gap:16px;text-align:center;}
  /* about */
  .about{padding:50px 20px 50px;}
  .card{padding:28px 20px;}
  .ms-inner{grid-template-columns:1fr;}
  /* cta */
  .cta-section{padding:40px 16px 60px;}
  .cta-grid{padding:28px 20px;gap:28px;}
  .cta-headline{font-size:clamp(32px,9vw,48px);}
  .cta-bottom-bar{padding:14px 20px;gap:14px;}
  /* footer */
  .footer-body{grid-template-columns:1fr;gap:28px;padding:36px 20px 20px;}
  .footer-bottom{padding:16px 20px 24px;flex-direction:column;text-align:center;gap:12px;}
  /* prevent horizontal scroll */
  .prsn-hero,.hero,.services,.about,.cta-section{overflow-x:hidden;}
  /* hero content buttons */
  .hero-btns{flex-direction:column;align-items:center;gap:10px;width:100%;}
  .hero-btns .btn-solid,.hero-btns .btn-outline{width:100%;justify-content:center;padding:14px 20px;}

  /* mobile brackets: avoid top/bottom clipping on tiny viewports */
  .prsn-hero{overflow:visible;min-height:100svh;padding-top:130px !important;}
  .brackets{padding-top:18px;padding-bottom:6px;}
  .bracket-frame{padding:12px 14px 8px;width:calc(100vw - 32px);}
  .bk{width:42px;height:42px;}
  /* remove hover animation on mobile */
  .prsn-hero.hovered .bk{animation:none;}
  /* safe-area footer */
  .footer-bottom{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));}
  /* back-to-top notch safe */
  .back-to-top{bottom:calc(20px + env(safe-area-inset-bottom,0px));right:20px;}
  /* hide custom cursor on touch */
  .cur-dot,.cur-ring,.cur-aura{display:none;}
  body{cursor:auto;}
}
@media(max-width:480px){
  .prsn-hero{padding-top:110px !important;}
  .bracket-frame{padding:12px 14px;width:calc(100vw - 20px);}
  .bk{width:38px;height:38px;}
  .hero-phrases{height:22px;}
  .phrase{font-size:9px;line-height:22px;}
  /* remove hover animation on mobile */
  .prsn-hero.hovered .bk{animation:none;}
}